SA:MP Взять информацию с диалога

Qlliman

Участник
Автор темы
62
1
Мне надо с диалога взять номер телефона и переместить его "сюда". Сделать надо это так, чтобы при заходе на сервер скрипт сам взял информацию с /stats, и уже при вводе команды racia выдало нужный номер. Как делать?

Lua:
                sampRegisterChatCommand("racia", function(id6)
            lua_thread.create(function()
    racia = sampGetPlayerNickname(id6)
    racia = racia:gsub('_', ' ')
    mynick = mynick:gsub('_', ' ')
    sampSendChat ("/do Украденная рация в кармане " ..mynick, -1)
        wait(3000)
    sampSendChat ("/me достал рацию и сказал пару слов", -1)
        wait(3000)
    sampSendChat ("/r Я тут у вас человечка украл. На звонок даю 5 минут. Номер: " .."сюда", -1)
    end)
    end)
 

fsrxvdd

Активный
291
73
не рабочий код. не получит номер даже.
в main'е надо так сделать
Lua:
local sampev = require 'samp.events'
local phoneNumber = "неизвестен" -- глобальная переменная для хранения номера

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not sampIsLocalPLayerSpawned() do wait(0) end
    sampSendChat("/stats")

    sampRegisterChatCommand("racia", function(id6)
        lua_thread.create(function()
            racia = sampGetPlayerNickname(id6)
            racia = racia:gsub('_', ' ')
            mynick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
            mynick = mynick:gsub('_', ' ')
            sampSendChat("/do Украденная рация в кармане " ..mynick, -1)
            wait(3000)
            sampSendChat("/me достал рацию и сказал пару слов", -1)
            wait(3000)
            sampSendChat("/r Я тут у вас человечка украл. На звонок даю 5 минут. Номер: " ..phoneNumber, -1)
        end)
    end)
    while true do
        wait(0)
    end
end

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if title:find("Основная статистика") or title:find("Статистика") then
        local _, _, phone = string.find(text, "Номер телефона:.-(%d+)")
        if phone then
            phoneNumber = phone
            sampAddChatMessage("[INFO] Номер телефона сохранен: " .. phoneNumber, -1)
        end
    end
end
 

GGramm

Известный
43
10
Lua:
local sampev = require 'samp.events'
local phoneNumber = "неизвестен"

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
  
    while not sampIsLocalPlayerSpawned() do wait(0) end
    wait(1000)  -- Дополнительная задержка
    sampSendChat("/stats")

    sampRegisterChatCommand("racia", function(id6)
        lua_thread.create(function()
            local targetId = tonumber(id6)  -- ДОБАВЛЕНО: Проверка ID
            if not targetId then
                sampAddChatMessage("[ERROR] Укажите корректный ID игрока", -1)
                return
            end
          
            racia = sampGetPlayerNickname(targetId)  
            racia = racia:gsub('_', ' ')
            mynick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
            mynick = mynick:gsub('_', ' ')
          
            sampSendChat("/do Украденная рация в кармане " ..mynick)
            wait(3000)
            sampSendChat("/me достал рацию и сказал пару слов")
            wait(3000)
            sampSendChat("/r Я тут у вас человечка украл. На звонок даю 5 минут. Номер: " ..phoneNumber)  
        end)
    end)
  
    while true do
        wait(0)
    end
end

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if title:find("Основная статистика") or title:find("Статистика") then
        local _, _, phone = string.find(text, "Номер телефона:.-(%d+)")
        if phone then
            phoneNumber = phone
            sampAddChatMessage("[INFO] Номер телефона сохранен: " .. phoneNumber, -1)
        end
    end
end
Спасибо
 
  • Bug
Реакции: Willy4ka

Willy4ka

вилличка
Модератор
753
1,116
Lua:
local sampev = require('lib.samp.events')
local phoneNumber = "неизвестен"
local checkNumber = false
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand("racia", function ()
        lua_thread.create(function()
            local mynick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))):gsub('_', ' ')
            phoneNumber = "неизвестен"
            checkNumber = true
            sampSendChat("/stats")
            wait(500)
            sampSendChat("/do Украденная рация в кармане " ..mynick)
            wait(3000)
            sampSendChat("/me достал рацию и сказал пару слов")
            wait(3000)
            sampSendChat("/r Я тут у вас человечка украл. На звонок даю 5 минут. Номер: " ..phoneNumber)
        end)
    end)
    wait(-1)
end

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if checkNumber then
        if title:find("Основная статистика") then
            phoneNumber = text:match("%{FFFFFF%}Номер телефона: %{B83434%}%[(%d-)%]")
            checkNumber = false
            sampSendDialogResponse(dialogId, 0, 0, "")
            return false
        end
    end
end