Lua Connection Repeat Counter

chapo

tg/inst: @moujeek
Автор темы
Модератор
9,073
12,037
Версия 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

Я будто попал в другое измерение
Модератор
5,018
7,093
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,659
1,476

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

imring

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