Lua [ARZ] Exitvice | Быстрый переход с Vice City на ваш сервер и перезаход на "Vice City"

Kaban Bunya

Известный
Автор темы
791
281
Версия SA-MP
  1. 0.3.7 (R1)
  2. 0.3.7-R4
Доброго времени суток.

Простенький, но весьма полезный скрипт для перехода с "Vice City" на ваш сервер. С данным скриптом, вам не нужно ждать самолёт или кд в 5 минут. Работает он просто: пишите команду "/viceexit", выбираете ваш сервер, вводите NickName и через 2 минуты вы вернётесь на выбранный сервер за 300.000$ игровой валюты.
Теперь можно еще и перезайти на "Vice City"! Для этого, введите "/vcrecon", выберите ваш сервер, введите NickName и вуаля, вы перезашли на сервер и не нужно полностью выходить из игры.

fjKFzDJ.jpg

gBodOtM.jpg
1. Добавлен сервер "Holiday".
2. Добавлена команда "/vcrecon" - перезаход на сервер "Vice City", не выходя из игры.
Автор: Bunya
Группа в VK, где автор отвечает на вопросы: https://vk.com/mono_tools
Беседа в Telegram: https://t.me/monotools3
Отблагодарить автора за труд, вы сможете следующими способами:
1. Поддержать материально (все донатеры вписываются в "Mono Tools" и в группу) -
https://donate.qiwi.com/payin/Bunya
2. Оформить подписку "VK Donut" в группе VK (оформив подписку, вы можете получить следующее: первыми узнавать все новости по разработке скрипта, ваши предложения будут рассматриваться раньше остальных, вам будет доступна эксклюзивная беседа в VK и вы будете получать ранние версий скрипта, ещё до официального выхода обновления. (разработка и поддержка скрипта дело не простое и требует времени, поэтому, оформляя подписку, вы знаете, что оформляете её для поддержки автора, а автор, по возможности, радует вас тем, что описано выше) - https://vk.com/donut/mono_tools
3. Вступить в группу VK, вступить в беседу в Telegram, сообщать о найденных багах, недочетах и оставлять отзывы в теме.
Функционал скрипта взят у
Mono Tools
Команды скрипта:
1. /viceexit - перейти с сервера "Vice City" на ваш основной сервер.
2.
/vcreсon -
перезайти на сервер "Vice City", не выходя из игры.
Требования: moonloader 0.26, cleo, sampfuncs, lib.moonloader, lib.sampfuncs, lib.samp.events, encoding.
Установка: скачать "exitvice.lua" и закинуть в папку moonloader. В случае, если не работает скрипт, скорее всего не установлены нужные библиотеки. Скачать их можете по ссылке: https://github.com/KabanBunya/Tools/blob/main/lib.rar (папку "lib" переместить в папку "moonloader", желательно, с заменой файлов)

Внимание! Eсли вы берёте данный функционал в свой скрипт, то укажите авторство или ссылку на тему.
В случае обнаружения багов и недоработок, просьба, отписывать в данной теме или в группу
VK.
 

Вложения

  • exitvice.lua
    46.9 KB · Просмотры: 173
Последнее редактирование:

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,747
11,157
1. вставлять в тему ссылку на либы с твоего гитхаба запрещено
2. Какой же кринж, вместо того что бы развиваться ты продолжаешь клипать дичайший говнокод, например ты 21 раз вставил в код одну и ту же функцию, и в каждой менял только текст, хотя можно было создать 1 массив и 1 функцию. (даже смешно что ты пишешь скрипты на заказ)
3. не обязательно выпрашивать в теме донаты (ну или закинь это хотя бы под спойлер)
4. указывать тебя как автора при sampDisconnectWithReawon, onSedClientJoin и sendConntct?
 

askfmaskfaosflas

Потрачен
1,089
512
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1. вставлять в тему ссылку на либы с твоего гитхаба запрещено
2. Какой же кринж, вместо того что бы развиваться ты продолжаешь клипать дичайший говнокод, например ты 21 раз вставил в код одну и ту же функцию, и в каждой менял только текст, хотя можно было создать 1 массив и 1 функцию. (даже смешно что ты пишешь скрипты на заказ)
3. не обязательно выпрашивать в теме донаты (ну или закинь это хотя бы под спойлер)
4. указывать тебя как автора при sampDisconnectWithReawon, onSedClientJoin и sendConntct?
для полноты картины не хватает скомпилированного кода
 

Kaban Bunya

Известный
Автор темы
791
281
1. вставлять в тему ссылку на либы с твоего гитхаба запрещено
2. Какой же кринж, вместо того что бы развиваться ты продолжаешь клипать дичайший говнокод, например ты 21 раз вставил в код одну и ту же функцию, и в каждой менял только текст, хотя можно было создать 1 массив и 1 функцию. (даже смешно что ты пишешь скрипты на заказ)
3. не обязательно выпрашивать в теме донаты (ну или закинь это хотя бы под спойлер)
4. указывать тебя как автора при sampDisconnectWithReawon, onSedClientJoin и sendConntct?
1. Так могли убрать на модерации, не?)
2. Я не пишу скрипты на заказ, у меня многие просят написать им скрипты или вырезать функционал из Моно Тулса, на что получают отказ. Ну извини, как научился так и клепаю, учился по скриптам с форума, что тут уже сделаешь? Вы сами одобряете такой код, а переучиваться - это трата времени. Со временем может я начну грамотно переделывать скрипты. У вас нет правила на запрет "говнокода". Мы тут не в красивый код играем, а в функционал. То что я разместил объявление о написании семейного скрипта - это уже развитие интересного проекта, каждый может таким заняться, это больше для показа, как разнообразить игру в фамах, оргах и т.д.
3. Я пишу за донаты ибо люди спрашивают как меня поддержать, мне надоело отвечать на один и тот же вопрос. Скрипты - это хобби, я вполне обеспечиваю себя сам.
4. Все свои проекты помечают авторством, хотя используют готовые технологии, скажи еще это не так? Смотрел одобряли темы с простым авто-альт, хотя всё, что там используется - это vkeys.

так эта функция же не работает
Всё работает)
 
  • Нравится
Реакции: ToruHonda

Savchik Blazer

Но я, мечту свою лелея...
Проверенный
672
292
1. Так могли убрать на модерации, не?)
2. Я не пишу скрипты на заказ, у меня многие просят написать им скрипты или вырезать функционал из Моно Тулса, на что получают отказ. Ну извини, как научился так и клепаю, учился по скриптам с форума, что тут уже сделаешь? У вас нет правила на запрет "говнокода". Мы тут не в красивый код играем, а в функционал. То что я разместил объявление о написании семейного скрипта - это уже развитие интересного проекта, каждый может таким заняться, это больше для показа, как разнообразить игру в фамах, оргах и т.д.
3. Я пишу за донаты ибо люди спрашивают как меня поддержать, мне надоело отвечать на один и тот же вопрос. Скрипты - это хобби, я вполне обеспечиваю себя сам.
4. Все свои проекты помечают авторством, хотя используют готовые технологии, скажи еще это не так? Смотрел одобряли темы с простым авто-альт, хотя всё, что там используется - это vkeys.


Всё работает)
Снимок экрана 2022-10-07 150459.jpg

ты издеваешься, скрипт будет работать только на R3 (лаунчер аризоны), но ни как не на версиях, которые ты указал
 

Kaban Bunya

Известный
Автор темы
791
281

Abdulla228

Участник
56
6
Я эту инфу не уточнял, если это важно для тех, кто использует (если использует) эти версии сампа, то я уберу потом.
ку верни пж старые функции монотулса автобег автоеда авто рыбалка и тд либо скинь в группу вк
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,747
11,157
1. Так могли убрать на модерации, не?)
Модераторы проверяют на вредонос, в этот раз либы видимо тоже проверили
2. Я не пишу скрипты на заказ
А как же https://www.blast.hk/threads/152078/?
Ну извини, как научился так и клепаю, учился по скриптам с форума, что тут уже сделаешь? У вас нет правила на запрет "говнокода". Мы тут не в красивый код играем, а в функционал.
А что мешает переучится и писать более качественный и легкий код? Тебе же самому будет гораздо проще. Возьмем к примеру тот же Mono Tools, это редкостное дерьмо, алгоритм работы которого наебнется если сервер залагает на пару секунд в неудачный момент.
3. Я пишу за донаты ибо люди спрашивают как меня поддержать, мне надоело отвечать на один и тот же вопрос. Скрипты - это хобби, я вполне обеспечиваю себя
Оставлять ссылки на донаты нормально, но ненормально когда текст про донат занимает примерно 1/3 текста всей темы, почему нельзя было просто сделать пару кликабельных ссылок?
4. Все свои проекты помечают авторством, хотя используют готовые технологии, скажи еще это не так? Смотрел одобряли темы с простым авто-альт, хотя всё, что там используется - это vkeys.
Требовать указывать тебя как автора в скрипте который по сути использует только 4 функции - бред. Если бы ты написал что при использовании твоего "метода" (реконнект с подменой clientver что бы сервер "думал" что ты не с лаунчера, а потом наоборот) то претензий к тебе бы не было, но ты же просишь указывать тебя как автора по сути в обычном реконнекте.

Нормальный вариант кода: (осталось добавить подмену клиентвер, которая кста у тебя в коде тоже сделано просто ужасно)
Lua:
local inicfg = require 'inicfg'
local directIni = 'filename.ini'
local ini = inicfg.load(inicfg.load({
    main = {
        name = '' -- нахуя тут вообще ник?
    },
}, directIni))
inicfg.save(ini, directIni)

-- это тоже говнокод, но даже такой вариант лучше твоего
local SelectedServer, Name = '__none__', 'NAME'
local ServersNames = {'Phoenix','Tucson','Scottdale''Chandler','Brainburg','Saint Rose''Mesa','Red Rock','Yuma','Surprise','Prescott','Glendale','Kingman','Winslow','Payson','Gilbert','Show Low','Casa Grande', 'PAGE','SUN CITY','QUEEN CREEK'}
local IPS = {
    ['Phoenix'] = '185.169.134.3',
    ['Tucson'] = '185.169.134.4',
    ['Scottdale'] = '185.169.134.43',
    ['Chandler'] = '185.169.134.44',
    ['Brainburg'] = '185.169.134.45',
    ['Saint Rose'] = '185.169.134.5',
    ['Mesa'] = '185.169.134.59',
    ['Red Rock'] = '185.169.134.61',
    ['Yuma'] = '185.169.134.107',
    ['Surprise'] = '185.169.134.109',
    ['Prescott'] = '185.169.134.166',
    ['Glendale'] = '185.169.134.171',
    ['Kingman'] = '185.169.134.172',
    ['Winslow'] = '185.169.134.173',
    ['Payson'] = '185.169.134.174',
    ['Gilbert'] = '80.66.82.191',
    ['Show Low'] = '80.66.82.190',
    ['Casa Grande'] = '80.66.82.188',
    ['PAGE'] = '80.66.82.168',
    ['SUN CITY'] = '80.66.82.159',
    ['QUEEN CREEK'] = '80.66.82.200',
}

local DialogId = { -- если после нажатия на диалог ничего не происходит - поменяй цифры на любые другие
    ServerList = 9173,
    Name = 9174
}

function main()
    while not isSampAvailable() do wait(0) end
    Name = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
    sampRegisterChatCommand('vcquit', function()
        sampShowDialog(DialogId.ServerList, 'Choose server', table.concat(ServersNames, '\n'), 'Далее', 'Закрыть', 2)
    end)
    while true do
        wait(0)
        local result, button, list, input = sampHasDialogRespond(DialogId.ServerList)
        if result and button == 1 then
            SelectedServer = ServersNames[list-1]
            sampShowDialog(DialogId.Name, 'Your name', 'Введи ник', 'Ок', 'Закрыть')
            sampSetCurrentDialogEditboxText(sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))))
        end

        -->> check name dialog
        local result, button, list, input = sampHasDialogRespond(DialogId.ServerList)
        if result and button == 1 then
            Name = input
            if IPS[SelectedServer] == nil then
                sampAddChatMessage('Ошбка, айпи сервера не найден :(', -1)
            else
                sampAddChatMessage('Выход из Vice-City на '..SelectedServer..' с ником '..Name, -1)
                sampDisconnectWithReason(0)
                sampSetLocalPlayerName(Name)
                sampConnectToServer(IPS[SelectedServer], 7777)
            end
        end
    end
end
 

purpleee

Активный
180
80
Я единственный не понимаю... зачем?

При заходе на обычный сервер arz, ты проходишь авторизацию и тебе предлагают выбор: 1 - вернутся в vice city, 2 - "полететь" на тот сервер, на который ты заходишь за 300к. Как я понял, то единственная суть скрипта - ускорить возвращения на vice city без перезахода в игру? Но, что мешает потратить максимум 60 секунд на обычный перезаход в игру? Наверное, что то не понимаю...
 

Rice.

https://t.me/riceoff
Модератор
1,673
1,360
Я единственный не понимаю... зачем?

При заходе на обычный сервер arz, ты проходишь авторизацию и тебе предлагают выбор: 1 - вернутся в vice city, 2 - "полететь" на тот сервер, на который ты заходишь за 300к. Как я понял, то единственная суть скрипта - ускорить возвращения на vice city без перезахода в игру? Но, что мешает потратить максимум 60 секунд на обычный перезаход в игру? Наверное, что то не понимаю...
да этот скрипт ничего и не ускоряет, а просто перезаходит на сервер и оплачивает 300к для возвращения на мэйн сервер.
выйдет новый сервер от аризоны, скрипт будет неактуальный, потому что автор добавил бесполезное сообщение о перезаходе, которое настраивается от айпи сервера. да, мы же нихуя не понимаем, что происходит перед нами.
сомневаюсь, что эта залупа будет поддерживаться.

upd: ах да, нам же нужно выебнуться и добавить сохранение в json вместо стабильного inicfg. да и оно не нужно здесь.
 

Kaban Bunya

Известный
Автор темы
791
281
Модераторы проверяют на вредонос, в этот раз либы видимо тоже проверили

А как же https://www.blast.hk/threads/152078/?

А что мешает переучится и писать более качественный и легкий код? Тебе же самому будет гораздо проще. Возьмем к примеру тот же Mono Tools, это редкостное дерьмо, алгоритм работы которого наебнется если сервер залагает на пару секунд в неудачный момент.

Оставлять ссылки на донаты нормально, но ненормально когда текст про донат занимает примерно 1/3 текста всей темы, почему нельзя было просто сделать пару кликабельных ссылок?

Требовать указывать тебя как автора в скрипте который по сути использует только 4 функции - бред. Если бы ты написал что при использовании твоего "метода" (реконнект с подменой clientver что бы сервер "думал" что ты не с лаунчера, а потом наоборот) то претензий к тебе бы не было, но ты же просишь указывать тебя как автора по сути в обычном реконнекте.

Нормальный вариант кода: (осталось добавить подмену клиентвер, которая кста у тебя в коде тоже сделано просто ужасно)
Lua:
local inicfg = require 'inicfg'
local directIni = 'filename.ini'
local ini = inicfg.load(inicfg.load({
    main = {
        name = '' -- нахуя тут вообще ник?
    },
}, directIni))
inicfg.save(ini, directIni)

-- это тоже говнокод, но даже такой вариант лучше твоего
local SelectedServer, Name = '__none__', 'NAME'
local ServersNames = {'Phoenix','Tucson','Scottdale''Chandler','Brainburg','Saint Rose''Mesa','Red Rock','Yuma','Surprise','Prescott','Glendale','Kingman','Winslow','Payson','Gilbert','Show Low','Casa Grande', 'PAGE','SUN CITY','QUEEN CREEK'}
local IPS = {
    ['Phoenix'] = '185.169.134.3',
    ['Tucson'] = '185.169.134.4',
    ['Scottdale'] = '185.169.134.43',
    ['Chandler'] = '185.169.134.44',
    ['Brainburg'] = '185.169.134.45',
    ['Saint Rose'] = '185.169.134.5',
    ['Mesa'] = '185.169.134.59',
    ['Red Rock'] = '185.169.134.61',
    ['Yuma'] = '185.169.134.107',
    ['Surprise'] = '185.169.134.109',
    ['Prescott'] = '185.169.134.166',
    ['Glendale'] = '185.169.134.171',
    ['Kingman'] = '185.169.134.172',
    ['Winslow'] = '185.169.134.173',
    ['Payson'] = '185.169.134.174',
    ['Gilbert'] = '80.66.82.191',
    ['Show Low'] = '80.66.82.190',
    ['Casa Grande'] = '80.66.82.188',
    ['PAGE'] = '80.66.82.168',
    ['SUN CITY'] = '80.66.82.159',
    ['QUEEN CREEK'] = '80.66.82.200',
}

local DialogId = { -- если после нажатия на диалог ничего не происходит - поменяй цифры на любые другие
    ServerList = 9173,
    Name = 9174
}

function main()
    while not isSampAvailable() do wait(0) end
    Name = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
    sampRegisterChatCommand('vcquit', function()
        sampShowDialog(DialogId.ServerList, 'Choose server', table.concat(ServersNames, '\n'), 'Далее', 'Закрыть', 2)
    end)
    while true do
        wait(0)
        local result, button, list, input = sampHasDialogRespond(DialogId.ServerList)
        if result and button == 1 then
            SelectedServer = ServersNames[list-1]
            sampShowDialog(DialogId.Name, 'Your name', 'Введи ник', 'Ок', 'Закрыть')
            sampSetCurrentDialogEditboxText(sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))))
        end

        -->> check name dialog
        local result, button, list, input = sampHasDialogRespond(DialogId.ServerList)
        if result and button == 1 then
            Name = input
            if IPS[SelectedServer] == nil then
                sampAddChatMessage('Ошбка, айпи сервера не найден :(', -1)
            else
                sampAddChatMessage('Выход из Vice-City на '..SelectedServer..' с ником '..Name, -1)
                sampDisconnectWithReason(0)
                sampSetLocalPlayerName(Name)
                sampConnectToServer(IPS[SelectedServer], 7777)
            end
        end
    end
end
Насчет объявления о том, что напишу скрипт, я же написал, что это работает скорее как показатель, я шарю, что никто его не закажет, просто захотелось показать, что такое существует. А если закажут и я возьмусь за работу, то я применю все знания и умения, которые есть, чтобы в дальнейшем в коде можно было легко ориентироваться. Насчет указания автора может и так, но подмена клиентсервера тоже не уникальная какая то вещь, для меня указание автора скрипта - это просто то, кто этот код написал (в моем случае накалякал получается). Насчет Моно Тулса - там мешанина кода, как других авторов, так и моих идей, но я не уверен, что если я сделаю всё идеально, что он станет работать как-то лучше или это вообще кто-то заметит. Он останется таким же, просто ориентироваться в нем станет легче. Переучиться мешает время, как с рыбалкой в прошлый раз, ты сказал - я переделал, но я потратил на это много времени, чтобы понять суть, у меня до сих пор проблемы с табличными значениями.

Я единственный не понимаю... зачем?

При заходе на обычный сервер arz, ты проходишь авторизацию и тебе предлагают выбор: 1 - вернутся в vice city, 2 - "полететь" на тот сервер, на который ты заходишь за 300к. Как я понял, то единственная суть скрипта - ускорить возвращения на vice city без перезахода в игру? Но, что мешает потратить максимум 60 секунд на обычный перезаход в игру? Наверное, что то не понимаю...
Чтобы улететь по быстрому за 300к, нужно зайти со сборки, с лаунчера тебе напишет, что нужно купить билет. В этом и суть. Не надо ждать самолет или кд в 5 минут, не нужно иметь другую сборку, только скрипт и все.