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

Kaban Bunya

Известный
Автор темы
791
283
Версия 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.

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

Вложения

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

chapo

чопа сребдс // @moujeek
Модератор
8,868
11,572
1. вставлять в тему ссылку на либы с твоего гитхаба запрещено
2. Какой же кринж, вместо того что бы развиваться ты продолжаешь клипать дичайший говнокод, например ты 21 раз вставил в код одну и ту же функцию, и в каждой менял только текст, хотя можно было создать 1 массив и 1 функцию. (даже смешно что ты пишешь скрипты на заказ)
3. не обязательно выпрашивать в теме донаты (ну или закинь это хотя бы под спойлер)
4. указывать тебя как автора при sampDisconnectWithReawon, onSedClientJoin и sendConntct?
 

влад динозавр

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

Kaban Bunya

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

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

Savchik Blazer

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


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

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

Kaban Bunya

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

Abdulla228

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

chapo

чопа сребдс // @moujeek
Модератор
8,868
11,572
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

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

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

Rice.

Известный
Модератор
1,756
1,623
Я единственный не понимаю... зачем?

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

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

Kaban Bunya

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

А как же 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 минут, не нужно иметь другую сборку, только скрипт и все.