Вопросы по CLEO-скриптингу

PaHaNjkee

Новичок
13
0
Хз, но уверен, что эти пакты тебе не пригодятся.
PACKET_DISCONNECTION_NOTIFICATION = 32
PACKET_CONNECTION_LOST = 33
PACKET_CONNECTION_BANNED = 36
32, 33 то что нужно. Спасибо.
Конечно данной тематики не касается, но ещё вопрос про движок RakNet.
Какие пакеты необходимо отправить для подключения к серверу? Пакеты до ID_AUTH_KEY
 
Последнее редактирование:

san0

Известный
Друг
411
268
32, 33 то что нужно. Спасибо.
Конечно данной тематики не касается, но ещё вопрос про движок RakNet.
Какие пакеты необходимо отправить для подключения к серверу? Пакеты до ID_AUTH_KEY
чекни сурсы raksamp'a https://github.com/P3ti/RakSAMP/blob/master/client/src/netgame.cpp
А насчет сообщение мол сервер закрыл соединение что?
Код:
{$CLEO}
0000:

WHILE TRUE
0001: 0
    IF 0AB0: 105
    THEN
    0AF8: samp add_message_to_chat " Вы были кикнуты по подозрению в читерстве! (#0111)" 0xFF6347
    0B28: samp disconnect_with_reason 0
    wait 500
    END
END
 
  • Нравится
Реакции: BugHunter

Сэнд

Известный
Проверенный
436
213
Воможно ли сканировать предпоследнюю строку чата (или n-ую с конца) ?
 

PaHaNjkee

Новичок
13
0
Смотрел полный исходник. Пересматривал около 3-х раз. Даже сам RakNet пытался понять. Там конструкция такая, что один файл вызывает другой, другой вызывает третий и т.п. Путаешься. Логику подключения так и не понял. Поэтому и обращаюсь к профессионалам:)
 

BugHunter

Известный
91
13
чекни сурсы raksamp'a https://github.com/P3ti/RakSAMP/blob/master/client/src/netgame.cpp

Код:
{$CLEO}
0000:

WHILE TRUE
0001: 0
    IF 0AB0: 105
    THEN
    0AF8: samp add_message_to_chat " Вы были кикнуты по подозрению в читерстве! (#0111)" 0xFF6347
    0B28: samp disconnect_with_reason 0
    wait 500
    END
END
Начинается рестарт в таком случае, а надо именно Server closed connection
 

RedBoxWhite

Известный
337
27
Что не так? :c Работа скрипта такова: если в чате показывает "Выиграл: Batya Проиграл: Lox [323]", затем он в чат пишет кто, кого победил, после проверяет выдало ли в чат слово "Ошибка", если да - зажимает пробел на секунду, а если ничего не выдало - зажимает пробел на секунду и пишет в чат "Y".
CLEO:
{$CLEO}
0000:
wait 2000

alloc 2@ 256
alloc 10@ 125
alloc 11@ 125

:1
while true
wait 0
0B75: samp get_chat_string 99 text_to 2@ prefix_to 0 color_to 0 prefix_color_to 0
if and
0C18: 0 = strstr string1 2@ string2 "Выиграл"
0C18: 0 = strstr string1 2@ string2 "Проиграл"
then
0AA5: call 0x8220AD num_params 5 pop 5 params 12@v 11@ 10@ "Выиграл: %s Проиграл: %s [%d]" 2@
0AF8: "%s победил %s" -1 10@ 11@
if 0C18: 0 = strstr string1 2@ string2 "Ошибка"
jf @2
0C72: set_virtual_key 32 down true
wait 1000
0C72: set_virtual_key 32 down false
end
wait 0
end

:2
wait 0
0C72: set_virtual_key 32 down true
wait 1000
0C72: set_virtual_key 32 down false
0AF8: "Y" -1
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
Для префикса тоже нужно выделить память.
После прыжка на :2 будет краш, т.к. метка не завершена.
Насчет функции _sscanf(0x8200AD) - перечитывай гайд. В 10@ возвращается ID, а не ник. В следующей строке ты уже пытаешься вывести id как строку, что может привести к крашу.
 

RedBoxWhite

Известный
337
27
Для префикса тоже нужно выделить память.
После прыжка на :2 будет краш, т.к. метка не завершена.
Насчет функции _sscanf(0x8200AD) - перечитывай гайд. В 10@ возвращается ID, а не ник. В следующей строке ты уже пытаешься вывести id как строку, что может привести к крашу.
С прыжком разобрался, теперь не крашит. И переменные все правильно стоят, всё как надо выдаёт. Но в скрипте что-то не так с проверкой на сообщение "ошибка", хоть в чат и выдало это сообщение, он всё равно прыгает на 2, и соответственно выполняет все действия в этом лабеле.