Настройка (%w+_%w+)

boy next door

Участник
Автор темы
263
24
Версия MoonLoader
.026-beta
Короче, здорова.
Не могу понять.. Скрипт загружается, а действия не работают.
Если человек пишет /iznas на Ваш айди, то в чат вылазит сообщение "nick_name[id] изнасиловал my_name"
Когда скрипт это видит, он берёт айди этого человек и пишет на него /iznas.
Не могу понять, почему не работает.

Lua:
event = require 'lib.samp.events'

izid = 0

function main()
    while not isSampAvailable() do wait(100) end
end


function event.onServerMessage(color, text)
    if text:match("^%w+_%w+ изнасиловал (%w+_%w+)%[%d+]") == nick then
        local _, idd = sampGetPlayerIdByCharHandle(PLAYER_PED)
        nick = sampGetPlayerNickname(idd)
        for i=0, 300 do
            if sampIsPlayerConnected(i) then
                if sampGetPlayerNickname(i) == text:match("^(%w+_%w+)%[%d+] изнасиловал %w+_%w+") then
                    izid = i
                    return true
                end
            end
        end
    elseif text:match('^%w+_%w+ изнасиловал (%w+_%w+)%[%d+]') ~= nil then
        izid = 1000
        return true
    end
end


function event.onApplyPlayerAnimation(playerId, animLib, animName, frameDelta, loop, lockX, lockY, freeze, time)
    if animLib == 'BIKES' and animName == 'BIKES_BACK' then
        if playerId == izid then
            sampSendChat('/iznas '..tostring(izid))
        end
    end
end
 

chromiusj

fullstack eblan
Модератор
5,755
4,056
используй лучше эту регулярку
('[A-z0-9_]+')
Lua:
local nick = 'Artur_Dildobarov is greatest man in the world'
local a = nick:match('[A-z0-9_]+')
print(a)
1700761615850.png