Работа с диалогами сервера

Lo_Smite

Участник
Автор темы
56
9
Версия MoonLoader
.026-beta
Здравствуйте, у меня появился вот такой вопрос. Возможно он довольно банален и легко ответить, но я недавно только начал изучать lua и я не нашел информацию по данному вопросу.
Суть вопроса: Как изменить что-то в диалоге сервера? Например текст хотя бы или добавить свою строку.
В структуре локального своего диалога я разобрался и понимаю что там и как, там полная свобода по сути, главное чтобы ид диалога не совпадал с серверным. А вот с диалогами сервера я не понимаю, информацию диалога я получил, изменить не получается. Внизу код моего легкого скрипта, который мне нужен и я делаю. Знаю что есть скрипт на имгуи который может сохранять, но хочу понять самому как это работает.

Код скрипта:
require "lib.moonloader" 
local sampev = require "lib.samp.events"
local samprak = require 'lib.samp.raknet'

----Для диалога----
SFMC =  "[1] - San Fierro Medical Center  (SFMC)"
CGH =    "[2] - County General Hospital (CGH)"
ASGH =  "[3] - All Saints General Hospital (ASGH)"
CMH =     "[4] - Crippen Memorial Hospital (CMH)"
LVH    =    "[5] - Las Venturas Hospital (LVH)"
FCMC =    "[6] - Fort Carson Medical Center (FCMC)"
EQMC =   "[7] - El Quebrados Medical Center (EQMC)"
----Закончилось------

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
        while true do
            wait(0)
    end
end

    function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
        if dialogId == 22 and style == 2 and title == "Выбор спавна" then -- Тут я убедился в том что именно тот диалог открылся
        
-- Вот здесь я хочу вводить изменения в диалоге которое у меня появится

        end
    end
 
Решение
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
 if text:find("какой-то текст") then
  text = text:gsub("какой-то текст", "другой текст") -- "какой-то текст" заменится на "другой текст"
  return {dialogId, style, title, button1, button2, text}
 end
end

Lo_Smite

Участник
Автор темы
56
9

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,920
1,292
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
 if text:find("какой-то текст") then
  text = text:gsub("какой-то текст", "другой текст") -- "какой-то текст" заменится на "другой текст"
  return {dialogId, style, title, button1, button2, text}
 end
end
 
  • Нравится
Реакции: Lo_Smite