Как хукануть название фракции на аризоне?

MrCH

Участник
Автор темы
109
17
Версия MoonLoader
.026-beta
Пока получилось хукануть только ник и ид, осталось название фракции и номер телефона. В чатлоге выглядит так:
[15:56:59] {FFFFFF}Konor_Ferraro[860] - {FF7E7E}Больница СФ{FFFFFF} | Номер: 4727676

[15:56:59] {FFFFFF}Nikita_Kazansky[888] - {6666FF}The Rifa{FFFFFF} | Номер: 620

[15:56:59] {FFFFFF}Hirano_Defender[896] - {A87878}Night Wolves{FFFFFF} | Номер: 9199994

[15:56:59] {FFFFFF}Nazar_Myers[916] - {993366}La Cosa Nostra{FFFFFF} | Номер: 475

[15:56:59] {FFFFFF}Shaque_Suicide[937] - {CCFF00}Правительство LS{FFFFFF} | Номер: 4702525

[15:56:59] {FFFFFF}Alan_Mortal[957] - {FF8000}TV студия SF{FFFFFF} | Номер: 3330926
lua:
function samp.onServerMessage(color, text)
    if text:find('{FFFFFF}(%w+_%w+)%[(%d+)%] - ') then
        local nick, id = text:match('{FFFFFF}(%w+_%w+)%[(%d+)%] -')
        sampAddChatMessage(nick..' ['..id..'] ')
    end
end
 
Решение
и не выводит лидеров в афкПосмотреть вложение 212997


Код:
local samp = require 'lib.samp.events'

function samp.onServerMessage(color, text)
    if text:find("%{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)$") then
        nick, id, org, number = text:match("%{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)$")
        sampAddChatMessage(nick, id, org, number)
    end
end
nick, id, org, number = text:match("%{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)")
убрал "$" в конце и sampAddChatMessage(nick .. ""..id..""..org..""..number) либо так
sampAddChatMessage(string.format("%s %d %s %d", nick, id, org, number), 0xFFFFFF)

Kenshi.

Известный
277
123
nick, id, org, number = %{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)$

 
  • Нравится
Реакции: MrCH

MrCH

Участник
Автор темы
109
17
nick, id, org, number = %{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)$

можешь туда добавить номер и пояснить как по переменным раскинуть ник, id, название фракции, номер
 

Kenshi.

Известный
277
123
можешь туда добавить номер и пояснить как по переменным раскинуть ник, id, название фракции, номер
nick, id, org, number = text:match("%{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)$")
print(nick, id, org, number)

вывод: Nikita_Kazansky 888 The Rifa 620
 

MrCH

Участник
Автор темы
109
17
и не выводит лидеров в афк
Снимок экрана (4).png


Код:
local samp = require 'lib.samp.events'

function samp.onServerMessage(color, text)
    if text:find("%{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)$") then
        nick, id, org, number = text:match("%{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)$")
        sampAddChatMessage(nick, id, org, number)
    end
end
 

bulba$h

Активный
331
91
цвет в скобках всегда разный, по этому FFFFFF замени на ......
Lua:
if text:find('%{......%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{......%} %| Номер: (%d+)$') then
nick, id, org, number = text:match("%{......%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{......%} %| Номер: (%d+)$")

попробуй так

и не выводит лидеров в афк
ну а как ты хочешь, что бы их тебе выводило, когда ты даже не хукаешь лидеров с афк 0_о
 

Kenshi.

Известный
277
123
и не выводит лидеров в афкПосмотреть вложение 212997


Код:
local samp = require 'lib.samp.events'

function samp.onServerMessage(color, text)
    if text:find("%{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)$") then
        nick, id, org, number = text:match("%{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)$")
        sampAddChatMessage(nick, id, org, number)
    end
end
nick, id, org, number = text:match("%{FFFFFF%}(%w+_%w+)%[(%d+)%] %- %{.+%}(.+)%{FFFFFF%} %| Номер: (%d+)")
убрал "$" в конце и sampAddChatMessage(nick .. ""..id..""..org..""..number) либо так
sampAddChatMessage(string.format("%s %d %s %d", nick, id, org, number), 0xFFFFFF)
 
  • Нравится
Реакции: MrCH