Lua Connection Repeat Counter

chapo

чопа сребдс // @moujeek
Автор темы
Модератор
8,931
11,695
Версия SA-MP
  1. 0.3.7 (R1)
  2. 0.3.7-R3

Скрипт добавляет счетчик повторов подключения
159863
Требования: hooks (если у вас не установлена либа и вы спросите меня в лс в чем проблема, то я пошлю вас нахуй)
Активация: автоматическая
Автор: @chapo, идею взял отсюда, @RTD - автор исходника с хуком сообщения
Внимание, скрипт работает только на SA:MP R1 и R3
 

Вложения

  • Connection Repeat Counter.lua
    1.8 KB · Просмотры: 106
Последнее редактирование:

Я Санёк

Потрачен
206
68
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
для чего он?типа крутой?или тип прикольно да
 

ARMOR

011110000111100101101001
Модератор
4,965
6,879
R2 не брошу! Для R3 кстати 0x67460
C++:
------------------R2----------R4_2---
-EntryPoint -| 0x3195DD -| 0xCBCB0 -|
-AddEntryFc -| 0x640E0  -| 0x67BA0 -|
-------------------------------------
Тоже достал адреса, но только для всех версий:
Lua:
R2 - 0x640E0
R3 - 0x67460
R4 - 0x67BE0
DL - 0x67650

@chapo поддержку под лаунчер сделай. Ибо он вроде должен конфликтовать с переводом подключения от лаунчера
 

Musaigen

abobusnik
Проверенный
1,614
1,372

Скрипт добавляет счетчик повторов подключения
159863
Требования: hooks (если у вас не установлена либа и вы спросите меня в лс в чем проблема, то я пошлю вас нахуй)
Активация: автоматическая
Автор: @chapo, идею взял отсюда, @RTD - автор исходника с хуком сообщения
Внимание, скрипт работает только на SA:MP R1 и R3
Использовать такие хуки (особенно, достаточно часто хукаемых функций вроде CChat::AddEntry) в луа скриптах так себе затея.
И будет рофельно если текст заменён у пользователя.
 
  • Нравится
Реакции: imring и ARMOR

imring

Ride the Lightning
Всефорумный модератор
2,363
2,550
Lua:
function sampChatHook(this, type, text, prefix, color, pcolor)
    local text = ffi.string(text)
    if text:find('^The server is full%. Retrying%.%.%.') then
        Count.Full = Count.Full + 1
        return sampChatHook(this, type, ffi.cast('char*', text..' (x'..tostring(Count.Full)..')'), prefix, color, pcolor)
    elseif text:find('^The server didn\'t respond%. Retrying%.%.') then
        Count.Respond = Count.Respond + 1
        return sampChatHook(this, type, ffi.cast('char*', text..' (x'..tostring(Count.Respond)..')'), prefix, color, pcolor)
    end
    sampChatHook(this, type, text, prefix, color, pcolor)
end
можно же было просто поменять текст и обрабатывал бы один sampChatHook..
Lua:
function sampChatHook(this, type, text, prefix, color, pcolor)
    local text = ffi.string(text)
    if text:find('^The server is full%. Retrying%.%.%.') then
        Count.Full = Count.Full + 1
        text = ('%s (x%d)'):format(text, Count.Full)
    elseif text:find('^The server didn\'t respond%. Retrying%.%.') then
        Count.Respond = Count.Respond + 1
        text = ('%s (x%d)'):format(text, Count.Respond)
    end
    sampChatHook(this, type, text, prefix, color, pcolor)
end

1659100258441.png
 
  • Нравится
Реакции: chapo