Lua Connection Repeat Counter

chapo

tg/inst: @moujeek
Автор темы
Всефорумный модератор
9,127
12,230
Версия 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 · Просмотры: 112
Последнее редактирование:

Я Санёк

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

ARMOR

Waitin' on another black summer to end
Модератор
5,045
7,236
R2 не брошу! Для R3 кстати 0x67460
C++:
------------------R2----------R4_2---
-EntryPoint -| 0x3195DD -| 0xCBCB0 -|
-AddEntryFc -| 0x640E0  -| 0x67BA0 -|
-------------------------------------
Тоже достал адреса, но только для всех версий:
Lua:
R2 - 0x640E0
R3 - 0x67460
R4 - 0x67BE0
DL - 0x67650

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

Musaigen

dead eyes
Проверенный
1,675
1,502

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

imring

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