Как сделать правильную проверку на спавн?

shawtyglock.

Активный
Автор темы
188
63
Версия MoonLoader
.026-beta
Сейчас, на Arizona RP у игроков с ADD VIP появляется диалог с выбором спавна при входе / просто висит на окне входа и это мешает работе скрипта, определённым действиям при входе скриптом. Такая проверка не спасает:
Lua:
if sampGetGamestate() == 3 and sampIsLocalPlayerSpawned()
 

whyega52

Гений, миллионер, плейбой, долбаеб
Модератор
2,798
2,659
Сейчас, на Arizona RP у игроков с ADD VIP появляется диалог с выбором спавна при входе / просто висит на окне входа и это мешает работе скрипта, определённым действиям при входе скриптом. Такая проверка не спасает:
Lua:
if sampGetGamestate() == 3 and sampIsLocalPlayerSpawned()
Получить координаты спавнов и проверять находиться пед на них или нет
 

shawtyglock.

Активный
Автор темы
188
63
Получить координаты спавнов и проверять находиться пед на них или нет
Lua:
local sampev = require("samp.events")

function sampev.OnSendSpawn()
    --code
end
Интересный вариант, но мой код должен выполнять действия только 1 раз при загрузке скрипта, т.е:
Lua:
local connect = true

-- main
lua_thread.create(function()
while true do
    wait(7000)
    if sampGetGamestate() == 3 and sampIsLocalPlayerSpawned() and connect then
        sampAddChatMessage('пук', -1)
        connect = false
    end
end)

А если я сделаю так, то при перезагрузке скрипта ничего происходить не будет. А так-же я не проверял, работает ли метод с OnSendSpawn
Lua:
local connect = false

function sampev.onSendSpawn()
    connect = true
end

Получить координаты спавнов и проверять находиться пед на них или нет
Что насчёт спавна в доме?
 

whyega52

Гений, миллионер, плейбой, долбаеб
Модератор
2,798
2,659
Интересный вариант, но мой код должен выполнять действия только 1 раз при загрузке скрипта, т.е:
Lua:
local connect = true

-- main
lua_thread.create(function()
while true do
    wait(7000)
    if sampGetGamestate() == 3 and sampIsLocalPlayerSpawned() and connect then
        sampAddChatMessage('пук', -1)
        connect = false
    end
end)

А если я сделаю так, то при перезагрузке скрипта ничего происходить не будет. А так-же я не проверял, работает ли метод с OnSendSpawn
Lua:
local connect = false

function sampev.onSendSpawn()
    connect = true
end


Что насчёт спавна в доме?
В начале main() добавь проверку на координаты и пока они не равны нужным, не выполняй код

Интересный вариант, но мой код должен выполнять действия только 1 раз при загрузке скрипта, т.е:
Lua:
local connect = true

-- main
lua_thread.create(function()
while true do
    wait(7000)
    if sampGetGamestate() == 3 and sampIsLocalPlayerSpawned() and connect then
        sampAddChatMessage('пук', -1)
        connect = false
    end
end)

А если я сделаю так, то при перезагрузке скрипта ничего происходить не будет. А так-же я не проверял, работает ли метод с OnSendSpawn
Lua:
local connect = false

function sampev.onSendSpawn()
    connect = true
end


Что насчёт спавна в доме?
Проверяй id интерьера или если там спавн всегда в одном месте, то опять же проверка на коорды
 

zTechnology

Известный
1,101
486
Сейчас, на Arizona RP у игроков с ADD VIP появляется диалог с выбором спавна при входе / просто висит на окне входа и это мешает работе скрипта, определённым действиям при входе скриптом. Такая проверка не спасает:
Lua:
if sampGetGamestate() == 3 and sampIsLocalPlayerSpawned()
Ну так скипни окно через onShowDialog евент и всё, хули ты мозги себе ебёшь

И выполнит он дальше твои действия, в чём проблема?
 

shawtyglock.

Активный
Автор темы
188
63
Ну так скипни окно через onShowDialog евент и всё, хули ты мозги себе ебёшь

И выполнит он дальше твои действия, в чём проблема?
Скрипт взаимодействует с телефоном, аризона же блокирует действия с телефоном, пока не заспавнишься, раз скрипт не выполняет действия во время висения в меню авторизации / во время диалога

Интересный вариант, но мой код должен выполнять действия только 1 раз при загрузке скрипта, т.е:
Lua:
local connect = true

-- main
lua_thread.create(function()
while true do
    wait(7000)
    if sampGetGamestate() == 3 and sampIsLocalPlayerSpawned() and connect then
        sampAddChatMessage('пук', -1)
        connect = false
    end
end)

А если я сделаю так, то при перезагрузке скрипта ничего происходить не будет. А так-же я не проверял, работает ли метод с OnSendSpawn
Lua:
local connect = false

function sampev.onSendSpawn()
    connect = true
end


Что насчёт спавна в доме?
Метод с onSendSpawn работает, но как я и говорил, при перезагрузке скрипта код выполняться уже не будет, потому что при перезагрузке скрипта, как не странно, человек не спавнится))) Пока что без понятия, как фиксить
 
Последнее редактирование:

AugustTN

Известный
1,369
470
Скрипт взаимодействует с телефоном, аризона же блокирует действия с телефоном, пока не заспавнишься, раз скрипт не выполняет действия во время висения в меню авторизации / во время диалога


Метод с onSendSpawn работает, но как я и говорил, при перезагрузке скрипта код выполняться уже не будет, потому что при перезагрузке скрипта, как не странно, человек не спавнится))) Пока что без понятия, как фиксить
проверку на диалог делать, если нету диалога с адд вип - давай переменной true, если есть то false.
 
Последнее редактирование: