call id

Kegwineye.

Участник
Автор темы
478
20
Форматирование кода.
Версия MoonLoader
.026-beta
как сделать звонок по ID?
1665493768076.png

Lua:
_, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
function getnumber(id)
    sampSendChat("/number " .. id)
end
function sampev.onServerMessage(color, msg)
    if msg:match("^{......}%a+_%a+%[%d+%]:    {......}%d+$") then
        local number = msg:match("^{......}%a+_%a+%[%d+%]:    {......}(%d+)$")
        lua_thread.create(function()
            sampAddChatMessage(localscripttag.. 'Звоним по номеру: {aa0000}'..number, -1)
            wait(500)
            sampSendChat("/call " .. number)
        end)
        return false
    end
end
 
Последнее редактирование модератором:
Решение
видимо.


ачо я могу сделать по твоему. если и в правду выдает лишь серверное сообщение, и на этом всё.
Ставить проверки и узнать на каком этапе появляется ошибка:
Lua:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'

local number = ''
local calling = false

function main()
    if not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('fcall', function(arg)
        arg = tonumber(arg)
        if arg ~= nil and sampIsPlayerConnected(arg) then
            sampSendChat('/number '..arg)
            calling = true
        else
            sampAddChatMessage("Введите корректный ID игрока", -1)
        end
    end)
 
    while true do...

Loocking

Известный
1,372
468
та а че, лови строку по очереди, типа

Lua:
if text:find('%* Номер игрока .+') then
    sampAddChatMessage(text,-1)
end
Потом добавляй к поиску ник, и т.д
Я надеюсь, ты в хук onServerMessage это вставляешь?

кста, вместо text:find поменяй на msg:find
В моем примере и выше, который тебе кидал чапо
 

Kegwineye.

Участник
Автор темы
478
20
та а че, лови строку по очереди, типа

Lua:
if text:find('%* Номер игрока .+') then
    sampAddChatMessage(text,-1)
end
Потом добавляй к поиску ник, и т.д
Я надеюсь, ты в хук onServerMessage это вставляешь?

кста, вместо text:find поменяй на msg:find
В моем примере и выше, который тебе кидал чапо
Lua:
function sampev.onServerMessage(color, msg)
    if msg:find('%* Номер игрока .+') then
        local name, id, number = msg:match('%* {FFFFFF}Номер игрока {63BD4E}(.+)%[(%d+)%]{FFFFFF}: {63BD4E}(%d+)')
        
    end
end
типо такого?
 

Kegwineye.

Участник
Автор темы
478
20
Lua:
function sampev.onServerMessage(color, msg)
    if msg:find('%* Номер игрока .+') then
        --local name, id, number = msg:match('%* {FFFFFF}Номер игрока {63BD4E}(.+)%[(%d+)%]{FFFFFF}: {63BD4E}(%d+)')
        sampAddChatMessage(msg,-1)
    end
end
тоже не работает
Lua:
function sampev.onServerMessage(color, msg)
        if msg:find('%* Номер игрока .+') then
            local name, id, number = msg:match('%* {FFFFFF}Номер игрока {63BD4E}(.+)%[(%d+)%]{FFFFFF}: {63BD4E}(%d+)')
            sampAddChatMessage(msg,-1)
        end
    end

@Vespan э, помог бы. Ржёт он
 
Последнее редактирование:
  • Ха-ха
Реакции: Vespan

Vespan

loneliness
Проверенный
2,101
1,633
тоже не работает
Lua:
function sampev.onServerMessage(color, msg)
        if msg:find('%* Номер игрока .+') then
            local name, id, number = msg:match('%* {FFFFFF}Номер игрока {63BD4E}(.+)%[(%d+)%]{FFFFFF}: {63BD4E}(%d+)')
            sampAddChatMessage(msg,-1)
        end
    end

@Vespan э, помог бы. Ржёт он
должно работать,лан я давно делал для аризоны такую звонилку
Lua:
-- {FFFFFF}Andrei_Markul[2]:    {33CCFF}5383580
callingNumber = false

--
    sampRegisterChatCommand('cc',function(arg)
        if #arg ~= 0 then
            callingNumber = true
            sampSendChat('/number '..arg)
        else
            sampAddChatMessage('nil',-1)
        end
    end)

--
function sampev.onServerMessage(color, text)

    if callingNumber and text:find('%{FFFFFF%}%S+%[%d+%]%:%s+%{33CCFF%}%d+') and color == -1 then
        lua_thread.create(function()
            wait(500)
            callingNumber = false
            local n = text:match('%:%s+%{33CCFF%}(%d+)')
            -- sampAddChatMessage(n,-1)
            sampSendChat('/CALL '..n)

        end)
        return false
    end
end
не знаю зачем тебе это,типо как исходник.На удивление работает,у тебя не крашит никак скрипт?чекай moonloader.log когда юзаешь свой скрипт
 

Kegwineye.

Участник
Автор темы
478
20
должно работать,лан я давно делал для аризоны такую звонилку
Lua:
-- {FFFFFF}Andrei_Markul[2]:    {33CCFF}5383580
callingNumber = false

--
    sampRegisterChatCommand('cc',function(arg)
        if #arg ~= 0 then
            callingNumber = true
            sampSendChat('/number '..arg)
        else
            sampAddChatMessage('nil',-1)
        end
    end)

--
function sampev.onServerMessage(color, text)

    if callingNumber and text:find('%{FFFFFF%}%S+%[%d+%]%:%s+%{33CCFF%}%d+') and color == -1 then
        lua_thread.create(function()
            wait(500)
            callingNumber = false
            local n = text:match('%:%s+%{33CCFF%}(%d+)')
            -- sampAddChatMessage(n,-1)
            sampSendChat('/CALL '..n)

        end)
        return false
    end
end
не знаю зачем тебе это,типо как исходник.На удивление работает,у тебя не крашит никак скрипт?чекай moonloader.log когда юзаешь свой скрипт
не крашит, а он только выводит в чат сообщение после /number, но не звонит

сейчас так же, выводит Сообщение после /number, но не звонит
 

Vespan

loneliness
Проверенный
2,101
1,633
не крашит, а он только выводит в чат сообщение после /number, но не звонит
как будто нихуя не видит сообщение,может в коде у тебя два хука onServerMessage(ну а хули),
Lua:
if ((msg):gsub('%{......%}','')):find("Номер игрока%s+%S+%[%d+%]%:%s+d+") then
-- калхоз,но попробуй. %s+ - символ пробел от 1 до беск.
 

Kegwineye.

Участник
Автор темы
478
20
подожди бля, че у тебя не работает? Хук или звонилка?
хз, все как вы говорите вставляю в код, все до /number работает,а уже дальше не звонит.

Забавный вопрос конечно, но существует ли вообще команда /call номер на этом сервере?
ну да, я бы тогда в коде изначально не писал /call
 

shawtyglock.

Активный
186
57
а как я по твоему это узнаю? если сообщение отправляеться после ввода /number {id} в чат сервера.
Тут вероятнее всего имеется ввиду не сообщение ли это от скрипта какого-нибудь, а не серверное сообщение.