[Lua] Диалоги.

Delphi.luac

Новичок
Автор темы
4
0
Версия MoonLoader
.026-beta
Здравствуйте, уважаемые читатели этой темы!

Что же мне надо? Я хотел уточнить/узнать/попросить помощи в диалогах,
мне нужно сделать так, чтобы получалось значение ранга, и, если оно не соответствует нужному выводилось сообщение в чат.
тобишь, чтобы игрок прописывал команлу /gov и ему писало: "Маленький ранг", при этом читал ранг в /stats и не показывал.. ..диалог игроку.
Возможно ли это осуществить?

За ранее спасибо <3
 

wulfandr

Известный
637
260
Здравствуйте, уважаемые читатели этой темы!

Что же мне надо? Я хотел уточнить/узнать/попросить помощи в диалогах,
мне нужно сделать так, чтобы получалось значение ранга, и, если оно не соответствует нужному выводилось сообщение в чат.
тобишь, чтобы игрок прописывал команлу /gov и ему писало: "Маленький ранг", при этом читал ранг в /stats и не показывал.. ..диалог игроку.
Возможно ли это осуществить?

За ранее спасибо <3
да, можешь предоставить диалог статистики скрин + sampAddChatMessage(text) диалога, и закинуть всю инфу с вопросом в специальную тему, помогут
 

Fott

Простреленный
3,431
2,270
Lua:
function ev.onShowDialog(dialogId,s,t,b1,b2,text)
    for line in text:gmatch("[^\n]+") do -- разбиваем диалог на строки
        if line:find('Ранг: (%d+)') then -- если находит строку "Ранг: любое число" (Пример Ранг: 7)
            rang = line:match('Ранг: (%d+)') -- переменная ранг равна той цифре
        end
    end
end
 

Dmitriy Makarov

25.05.2021
Проверенный
2,478
1,113
Как пример сделал для Advance, ибо ты не давал текст своего диалогового окна.
Lua:
local sampev = require 'lib.samp.events'

function sampev.onShowDialog(id, style, title, button1, button0, text)
    if title:find("Статистика игрока") then -- Заголовок окна статистики
        lua_thread.create(function() wait(10)
            local rang = text:match("Ранг:(.*)\nПроживание") -- Достаём циферку ранга
            if tonumber(rang) ~= 3 then -- Если ранг из диалога не равен "3"
                sampAddChatMessage("Ошибка. У Вас маленький ранг", -1) -- Пишем, что ранг маленький
                sampCloseCurrentDialogWithButton(0) -- И закрываем диалог
            end
        end)
    end
end