Lua Connection Repeat Counter

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,778
11,223
Версия 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 · Просмотры: 96
Последнее редактирование:

Я Санёк

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

askfmaskfaosflas

Потрачен
1,089
512
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
в чём проблема?
 

ARMOR

kjor32 is legend
Модератор
4,852
6,085
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,583
1,302

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

imring

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