Как сделать чтобы проверка сервера была после подключения к серверу, а не на пляже (ЛУА)

Yakov Inc.

Участник
Автор темы
89
6
Версия MoonLoader
.026-beta
Имеем данный код:
Lua:
    print("Проверка сервера...")
        if sampGetCurrentServerAddress() == "IP" then
            gameServer = "Ruby"
            srv = 1
        else
            print("У вас другой сервер, скрипт оффнут")
            sampAddChatMessage("{32CD32} У вас другой сервер, скрипт оффнут", 0xFFFF0000)
            thisScript():unload()
            return
        end
        print("Вы зашли на нужный сервер!")
Так вот, проверка скрипта начинается еще на пляже и скрипт крашит, чтобы он работал надо перезагрузить скрипт уже на самом сервере и после чего все работает. Как сделать чтобы скрипт начинал проверку только после коннекта к серверу?

Если что это не код скрипта, а строки функции проверки сервера
 
Решение
Хм, поставил этот код (в другое место скрипта перед этим) (раньше были тоже такие краши скрипта, забыл прикрепить тогда лог)

[ML] (error) FuckingSlaves.lua: opcode '0B39' call caused an unhandled exception
stack traceback:
[C]: in function 'sampGetCurrentServerAddress'
C:\Games\GTA BY YAKOVwt\moonloader\FuckingSlaves.lua:420: in main chunk
[ML] (error) FuckingSlaves.lua: Script died due to an error. (09B60A04)

Lua:
(419)    print("Проверка сервера...")
(420)        if sampGetCurrentServerAddress() == "IP" then
(421)            gameServer = "Ruby"
(422)            srv = 1
(423)        else
(424)            print("У вас другой сервер, скрипт оффнут")
(425)            sampAddChatMessage("{32CD32} У вас другой сервер, скрипт оффнут"...

Rice.

https://t.me/riceoff
Модератор
1,673
1,360
Имеем данный код:
Lua:
    print("Проверка сервера...")
        if sampGetCurrentServerAddress() == "IP" then
            gameServer = "Ruby"
            srv = 1
        else
            print("У вас другой сервер, скрипт оффнут")
            sampAddChatMessage("{32CD32} У вас другой сервер, скрипт оффнут", 0xFFFF0000)
            thisScript():unload()
            return
        end
        print("Вы зашли на нужный сервер!")
Так вот, проверка скрипта начинается еще на пляже и скрипт крашит, чтобы он работал надо перезагрузить скрипт уже на самом сервере и после чего все работает. Как сделать чтобы скрипт начинал проверку только после коннекта к серверу?

Если что это не код скрипта, а строки функции проверки сервера
Lua:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(200) end
    sampAddChatMessage('Сообщение после запуска скрипт', -1)
    while not sampIsLocalPlayerSpawned() do wait(0) end -- Запустит код, когда персонаж заспавнится
    sampAddChatMessage('О, вы заспавнились', -1)
    wait(-1)
end
 
  • Нравится
Реакции: qdIbp и Slppp

Yakov Inc.

Участник
Автор темы
89
6
Lua:
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(200) end
    sampAddChatMessage('Сообщение после запуска скрипт', -1)
    while not sampIsLocalPlayerSpawned() do wait(0) end -- Запустит код, когда персонаж заспавнится
    sampAddChatMessage('О, вы заспавнились', -1)
    wait(-1)
end
Хм, поставил этот код (в другое место скрипта перед этим) (раньше были тоже такие краши скрипта, забыл прикрепить тогда лог)

[ML] (error) FuckingSlaves.lua: opcode '0B39' call caused an unhandled exception
stack traceback:
[C]: in function 'sampGetCurrentServerAddress'
C:\Games\GTA BY YAKOVwt\moonloader\FuckingSlaves.lua:420: in main chunk
[ML] (error) FuckingSlaves.lua: Script died due to an error. (09B60A04)

Lua:
(419)    print("Проверка сервера...")
(420)        if sampGetCurrentServerAddress() == "IP" then
(421)            gameServer = "Ruby"
(422)            srv = 1
(423)        else
(424)            print("У вас другой сервер, скрипт оффнут")
(425)            sampAddChatMessage("{32CD32} У вас другой сервер, скрипт оффнут", 0xFFFF0000)
(426)            thisScript():unload()
(427)            return
(428)        end
(429)        print("Вы зашли на нужный сервер!")
 

Rice.

https://t.me/riceoff
Модератор
1,673
1,360
Хм, поставил этот код (в другое место скрипта перед этим) (раньше были тоже такие краши скрипта, забыл прикрепить тогда лог)

[ML] (error) FuckingSlaves.lua: opcode '0B39' call caused an unhandled exception
stack traceback:
[C]: in function 'sampGetCurrentServerAddress'
C:\Games\GTA BY YAKOVwt\moonloader\FuckingSlaves.lua:420: in main chunk
[ML] (error) FuckingSlaves.lua: Script died due to an error. (09B60A04)

Lua:
(419)    print("Проверка сервера...")
(420)        if sampGetCurrentServerAddress() == "IP" then
(421)            gameServer = "Ruby"
(422)            srv = 1
(423)        else
(424)            print("У вас другой сервер, скрипт оффнут")
(425)            sampAddChatMessage("{32CD32} У вас другой сервер, скрипт оффнут", 0xFFFF0000)
(426)            thisScript():unload()
(427)            return
(428)        end
(429)        print("Вы зашли на нужный сервер!")
А что ты проверяешь у sampGetCurrentServerAddress?
Эта функция вообще другое делает:
Lua:
local ip, port = sampGetCurrentServerAddress()
print(ip) -- выведет Айпи сервера
print(port) -- выведет порт сервера
 
  • Нравится
Реакции: ARMOR