Lua Connection Repeat Counter

chapo

чопа сребдс // TG/IG: @moujeek
Автор темы
Модератор
9,035
11,879
Версия 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 · Просмотры: 109
Последнее редактирование:

Я Санёк

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

ARMOR

Say my name
Модератор
5,014
7,057
R2 не брошу! Для R3 кстати 0x67460
C++:
------------------R2----------R4_2---
-EntryPoint -| 0x3195DD -| 0xCBCB0 -|
-AddEntryFc -| 0x640E0  -| 0x67BA0 -|
-------------------------------------
Тоже достал адреса, но только для всех версий:
Lua:
R2 - 0x640E0
R3 - 0x67460
R4 - 0x67BE0
DL - 0x67650

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

Musaigen

shitposter
Проверенный
1,654
1,471

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

imring

Ride the Lightning
Всефорумный модератор
2,366
2,557
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