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

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.

Известный
Модератор
1,697
1,461
Имеем данный код:
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.

Известный
Модератор
1,697
1,461
Хм, поставил этот код (в другое место скрипта перед этим) (раньше были тоже такие краши скрипта, забыл прикрепить тогда лог)

[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