Lua закрытие диалога

GAuditore

Активный
Автор темы
131
29
Lua:
local vkeys = require('vkeys')
local sampev = require 'lib.samp.events'
local housestate
function main()
    while true do wait(0)
        if isKeyDown(0xA2) and isKeyJustPressed(0x02) then --VK_LCONTROL + VK_RBUTTON
           sampSendChat('/house')
            housestate = true
        end
        if housestate == true then
            function sampev.onShowDialog(dialogId, dialogStyle, dialogTitle, okButtonText, cancelButtonText, dialogText)
            if dialogId == 174 then
                sampSendDialogResponse(174,1,0)
                sampCloseCurrentDialogWithButton(0)
                housestate = false
                return false
             end
            end
        end
    end
end
При нажатии л.кртл + пкм скрипт начинает дико флудить закрытием и открытием дома, как сделать так, чтобы после открытия/закрытия скрывался диалог? на аризоне после открытия/закрытия дома диалог не закрывается (номер диалога 174, строка 0)
 

CaJlaT

07.11.2024 14:55
Модератор
2,833
2,668
Lua:
local vkeys = require('vkeys')
local sampev = require 'lib.samp.events'
local housestate
function main()
    while true do wait(0)
        if isKeyDown(0xA2) and isKeyJustPressed(0x02) then --VK_LCONTROL + VK_RBUTTON
           sampSendChat('/house')
            housestate = true
        end
        if housestate == true then
            function sampev.onShowDialog(dialogId, dialogStyle, dialogTitle, okButtonText, cancelButtonText, dialogText)
            if dialogId == 174 then
                sampSendDialogResponse(174,1,0)
                sampCloseCurrentDialogWithButton(0)
                housestate = false
                return false
             end
            end
        end
    end
end
При нажатии л.кртл + пкм скрипт начинает дико флудить закрытием и открытием дома, как сделать так, чтобы после открытия/закрытия скрывался диалог? на аризоне после открытия/закрытия дома диалог не закрывается (номер диалога 174, строка 0)
нельзя так делать, вот правильное использование функции... нельзя создавать функцию в беск.цикле
Lua:
local vkeys = require('vkeys')
local sampev = require 'lib.samp.events'
local housestate
function main()
    while true do wait(0)
        if isKeyDown(0xA2) and isKeyJustPressed(0x02) then --VK_LCONTROL + VK_RBUTTON
           sampSendChat('/house')
            housestate = true
        end
    end
end
function sampev.onShowDialog(dialogId, dialogStyle, dialogTitle, okButtonText, cancelButtonText, dialogText)
    if dialogId == 174 and housestate then
        sampSendDialogResponse(174,1,0)
        sampCloseCurrentDialogWithButton(0)
        housestate = false
        return false
    end
end
 
  • Нравится
Реакции: GAuditore

GAuditore

Активный
Автор темы
131
29
А можно как-то после открытия/закрытия закрывать этот диалог автоматически?
 

Вложения

  • фывфывфывфывфывфв.png
    фывфывфывфывфывфв.png
    17.3 KB · Просмотры: 349

Bredd Lane

Известный
423
349
Допустил ошибку, вот так надо.
Не закрывается, после открытия/закрытия диалог можно закрыть ESC или кнопкой Отмены(0)
Lua:
function sampev.onShowDialog(dialogId, dialogStyle, dialogTitle, okButtonText, cancelButtonText, dialogText)
    if housestate then
        if dialogId == 174 then
            sampSendDialogResponse(174,1,0)
            return false
        end
        housestate = false
    end
end
 

GAuditore

Активный
Автор темы
131
29
Lua:
local vkeys = require 'vkeys'
local sampev = require 'samp.events'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
        wait(0)
        if isKeyDown(VK_RCONTROL) and isKeyJustPressed(VK_RBUTTON) then
            sampSendChat('/house')
            housestate = true
        end
    end
end

function sampev.onShowDialog(dialogId, dialogStyle, dialogTitle, okButtonText, cancelButtonText, dialogText)
    if housestate then
        if dialogId == 174 and housestate then
            sampSendDialogResponse(174,1,0)
            closedialog = true
            housestate = false
            return false
        end
        if dialogId == 174 and closedialog then
        sampCloseCurrentDialogWithButton(0)
        closedialog = false
        return false
        end
end
Решено.
 
  • Ха-ха
  • Вау
Реакции: tyukapa и qdIbp