[Lua] кое-что

GAuditore

Активный
Автор темы
131
29
Версия MoonLoader
.026-beta
все норм работает, но когда вручную /cars ввожу то автоматом переключает абс (аризона). вроде после выполнения должно выключаться absstate = false , но чет не работает...

Lua:
local sampev = require 'lib.samp.events'
local absstate= false
local carabsid
function main()
    if not isSampLoaded() then return end
    while not isSampAvailable() do wait(1000) end
    sampRegisterChatCommand('abs',abs)
    while true do wait(0)
    if absstate == true then
        function sampev.onShowDialog(dialogId, dialogStyle, dialogTitle, okButtonText, cancelButtonText, dialogText)
            if dialogId == 162 then
                sampSendDialogResponse(162,1,carabsid)
            elseif dialogId == 163 then
                sampSendDialogResponse(163,1,8)
                closedialog()
                absstate = false
            end
        end
    end
end
end
function abs(arg)
    absstate = true
    local arg2 = tonumber(arg)
    if arg2 < 0 then arg2 = 0 sampAddChatMessage('Неверное значение!',0x73b461) absstate = false end
    if arg2 > 5 then arg2 = 0 sampAddChatMessage('Неверное значение!',0x73b461) absstate = false end
    if arg2 == 1 then arg2 = 0 end
    if arg2 == 2 then arg2 = 1 end
    if arg2 == 3 then arg2 = 2 end
    if arg2 == 4 then arg2 = 3 end
    if arg2 == 5 then arg2 = 4 end
    if absstate == true then carabsid = arg2 sampSendChat('/cars') end
end
function closedialog()
    sampCloseCurrentDialogWithButton(0)
end
 

Kolbasa241

Известный
213
57
Lua:
local sampev = require 'lib.samp.events'
local absstate = false
local carabsid

function main()
    if not isSampLoaded() then return end
    while not isSampAvailable() do wait(1000) end
    sampRegisterChatCommand('abs', abs)
    while true do
        wait(-1)

    end
end

function sampev.onShowDialog(dialogId, dialogStyle, dialogTitle, okButtonText, cancelButtonText, dialogText)
    if dialogId == 162 and absstate then
        sampSendDialogResponse(162, 1, carabsid)
    elseif dialogId == 163 and absstate then
        sampSendDialogResponse(163, 1, 8)
        closedialog()
        absstate = false
    end
end

function abs(arg)
    absstate = true
    local arg2 = tonumber(arg)
    if arg2 < 0 then arg2 = 0 sampAddChatMessage('Неверное значение!',0x73b461) absstate = false end
    if arg2 > 5 then arg2 = 0 sampAddChatMessage('Неверное значение!',0x73b461) absstate = false end
    if arg2 == 1 then arg2 = 0 end
    if arg2 == 2 then arg2 = 1 end
    if arg2 == 3 then arg2 = 2 end
    if arg2 == 4 then arg2 = 3 end
    if arg2 == 5 then arg2 = 4 end
    carabsid = arg2
    sampSendChat('/cars')
end

function closedialog()
    sampCloseCurrentDialogWithButton(0)
end
на аризоне не играю, хз что там да и как, переменные arg2 решил вообще не трогать, вдруг окажусь сам не прав
 
  • Нравится
Реакции: GAuditore