[LUA] Нажатие пунка в диалоге

nopa_nopa

Новичок
Автор темы
15
0
Версия SA-MP
  1. 0.3.7 (R1)
  2. 0.3.7-R2
  3. 0.3.7-R3
  4. 0.3.7-R4
Всем привет друзья, нужна очень ваша помощь. Помогите пожалуйста сделать код который будет автоматически выберать первый пункт в диалоговом окне.

Вот сам диалог:

Screenshot_78.png



Вот некоторая инфа об диалоге:
Current dialog info:
Dialog ID: 2155
Dialog Type: 2
Dialog Caption:
Выберите операцию

Помогите пожалуйста, буду очень признателен!
 

Вложения

  • 1616787876539.png
    1616787876539.png
    45 KB · Просмотры: 59

DeagleC+

Известный
48
3
Такая же проблема, когда взаимодействуешь с диалог сервер закрывает соединение :(
Lua:
require "lib.moonloader"
local sampev = require "lib.samp.events"

function main()
    repeat wait(0) until isSampAvailable()
    while true do
        wait(0)
    end
end

function sampev.onShowDialog(id, style, title, b1, b2, text)
    if id == 2155 then
        lua_thread.create(function()
        wait(50)
        sampSendDialogResponse(2155, 1, 1, nil)
        end)
    end
end
 

YarikVL

Известный
Проверенный
4,798
1,814
Lua:
require "lib.moonloader"
local sampev = require "lib.samp.events"

function main()
    repeat wait(0) until isSampAvailable()
    while true do
        wait(0)
    end
end

function sampev.onShowDialog(id, style, title, b1, b2, text)
    if id == 2155 then
        lua_thread.create(function()
        wait(50)
        sampSendDialogResponse(2155, 1, 1, nil)
        end)
    end
end
Думаю лучше использовать:
Lua:
sampCloseCurrentDialogWithButton(1)
И вроде бага с неактивным инвентарем не должно быть
 

ARMOR

kjor32 is legend
Модератор
4,852
6,083
Думаю лучше использовать:
Lua:
sampCloseCurrentDialogWithButton(1)
И вроде бага с неактивным инвентарем не должно быть
Бага с неактивным инвентарем с его кодом не будет. Инвентарь багается когда ты отклоняешь RPC показания диалога через
А если отправлять sampSendDialogResponse() то окно просто останется висеть у тебя на экране, так что лучше всего использовать и sampSendDialogResponse() и после него sampCloseCurrentDialogWithButton(). Так и сервер получает данные о том что ты закрыл диалог, и диалог закроется тоже.
 
  • Влюблен
Реакции: YarikVL

DeagleC+

Известный
48
3
Бага с неактивным инвентарем с его кодом не будет. Инвентарь багается когда ты отклоняешь RPC показания диалога через

А если отправлять sampSendDialogResponse() то окно просто останется висеть у тебя на экране, так что лучше всего использовать и sampSendDialogResponse() и после него sampCloseCurrentDialogWithButton(). Так и сервер получает данные о том что ты закрыл диалог, и диалог закроется тоже.
Спасибо, не знал в чём причина бага с инвом. Просто до этого был скрипт с такой штукой.

Бага с неактивным инвентарем с его кодом не будет. Инвентарь багается когда ты отклоняешь RPC показания диалога через

А если отправлять sampSendDialogResponse() то окно просто останется висеть у тебя на экране, так что лучше всего использовать и sampSendDialogResponse() и после него sampCloseCurrentDialogWithButton(). Так и сервер получает данные о том что ты закрыл диалог, и диалог закроется тоже.
Вот проблема, в игре есть диалоги с одним выбором ответа в виде крестика (их id 45). А когда я через функцию sampSendDialogResponse() или sampCloseCurrentDialogWithButton() пытаюсь их закрыть, то нифига не происходит. Пробовал подбирать кнопки от 0 до 2.

Вот к примеру:
Lua:
if text:find('к месту стоянки') then
            sampSendDialogResponse(45, 1, 0, nil)
            return false
        end

Из этого будет работать только return false, а позже происходи и баг с инвентарем. С диалогами, где есть выбор ответа такого не происходит.

А если я оттуда уберу return false и нажму на этот крестик, то кикнет с серва. Есть догадки?

Спасибо, не знал в чём причина бага с инвом. Просто до этого был скрипт с такой штукой.


Вот проблема, в игре есть диалоги с одним выбором ответа в виде крестика (их id 45). А когда я через функцию sampSendDialogResponse() или sampCloseCurrentDialogWithButton() пытаюсь их закрыть, то нифига не происходит. Пробовал подбирать кнопки от 0 до 2.

Вот к примеру:
Lua:
if text:find('к месту стоянки') then
            sampSendDialogResponse(45, 1, 0, nil)
            return false
        end

Из этого будет работать только return false, а позже происходи и баг с инвентарем. С диалогами, где есть выбор ответа такого не происходит.

А если я оттуда уберу return false и нажму на этот крестик, то кикнет с серва. Есть догадки?
Также, когда я жму Esc, тоже кикает с серва.

1652013158346.png
 
Последнее редактирование:
  • Нравится
Реакции: ARMOR

YarikVL

Известный
Проверенный
4,798
1,814
Спасибо, не знал в чём причина бага с инвом. Просто до этого был скрипт с такой штукой.


Вот проблема, в игре есть диалоги с одним выбором ответа в виде крестика (их id 45). А когда я через функцию sampSendDialogResponse() или sampCloseCurrentDialogWithButton() пытаюсь их закрыть, то нифига не происходит. Пробовал подбирать кнопки от 0 до 2.

Вот к примеру:
Lua:
if text:find('к месту стоянки') then
            sampSendDialogResponse(45, 1, 0, nil)
            return false
        end

Из этого будет работать только return false, а позже происходи и баг с инвентарем. С диалогами, где есть выбор ответа такого не происходит.

А если я оттуда уберу return false и нажму на этот крестик, то кикнет с серва. Есть догадки?


Также, когда я жму Esc, тоже кикает с серва.

Посмотреть вложение 147051
В таком диалоге можно использовать sampSendDialogResponse(45, 1, nil, nil ) и sampCloseCurrentDialogWithButton(1)
 

RoflHaHaWF

Известный
1,093
458
Всем привет друзья, нужна очень ваша помощь. Помогите пожалуйста сделать код который будет автоматически выберать первый пункт в диалоговом окне.

Вот сам диалог:

Посмотреть вложение 90816


Вот некоторая инфа об диалоге:
Current dialog info:
Dialog ID: 2155
Dialog Type: 2
Dialog Caption:
Выберите операцию

Помогите пожалуйста, буду очень признателен!
 

Вложения

  • dsadsa (2).lua
    169 байт · Просмотры: 72