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

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
Как сделать функу отображения игроков которые только что подключились?
ну там как в собейтах слева пишется "подключился Nick_name[228]"

Хук RPC_SERVERJOIN, куда нибудь сохраняешь строку типа Nick[123](все данные хранятся в BitStream'e) и рендеришь её.
 
  • Нравится
Реакции: Избранный

Избранный

Новичок
198
30
Хук RPC_SERVERJOIN, куда нибудь сохраняешь строку типа Nick[123](все данные хранятся в BitStream'e) и рендеришь её.

я нашел где-то твой пример с хуком
Код:
{$CLEO}
{$INCLUDE SF}
 
0000:
 
while not SAMP.Available()
    wait 400
end
 
0BE3: raknet setup_incoming_rpc_hook @hook_in_rpc
 
0BDE: pause_thread 0
 
:hook_in_rpc
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
if 0@ == RPC_SCRCLIENTMESSAGE
then
    0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM
 
    0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_INT // color
    0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT // message len
 
    0AC8: 4@ = allocate_memory_size 145       
    0BE8: raknet bit_stream 1@ read_array 4@ size 3@
    0C1E: array 4@ element 3@ el_size 1 = 0x0
 
    if 0C14: strcmp string1 4@ string2 "Добро пожаловать"
    then
        0BEA: raknet bit_stream 1@ reset_write_pointer // safe
        0BEB: raknet bit_stream 1@ ignore_bits 32 // ignore color
 
        0C11: memset destination 4@ value 0x0 size 145 // clear mem
 
        0AD3: 4@ = format "Горите в аду!"
        0C17: 5@ = strlen 4@
        0B40: raknet bit_stream 1@ write 5@ type BS_TYPE_INT size 4 // message len
        0B40: raknet bit_stream 1@ write 4@ type BS_TYPE_ARRAY size 5@
        0BF6: raknet emul_rpc_receive RPC_SCRCLIENTMESSAGE bit_stream 1@
 
        free 4@
        0BE0: raknet hook_ret false
    end
 
    0AC9: free_allocated_memory 4@
end
0BE0: raknet hook_ret true
попытался переделать, но не компилируется даже(
и почему в твоем примере вот тут
0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_INT // color
0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT // message len
в 2@ и 3@ пишутся разные значения, а не одно и тоже
Код:
{$CLEO}
{$INCLUDE SF}
 
0000:
 
while not SAMP.Available()
    wait 400
end
 
0BE3: raknet setup_incoming_rpc_hook @hook_in_rpc
 
0BDE: pause_thread 0
 
:hook_in_rpc
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
if 0@ == RPC_SERVERJOIN
then
0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM
 
0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_INT // color
0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT // message len
0AF8: samp add_message_to_chat "%s" color 0xFFF000 2@
0AF8: samp add_message_to_chat "%s" color 0xFFF000 3@
end
0BE0: raknet hook_ret true
 

PoccoJI

Новичок
135
10
я даже если одну строчку оставлю if 0@ == RPC_SERVERJOIN он все равно не компилируется, типо неизвестные переменные

RPC_SERVERJOINE = 137

Код:
{$CLEO}
{$INCLUDE SF}
 
0000:
 
while not SAMP.Available()
    wait 400
end
 
0BE3: raknet setup_incoming_rpc_hook @hook_in_rpc
 
0BDE: pause_thread 0
 
:hook_in_rpc
0BE5: raknet 10@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 11@ = get_hook_param PARAM_PACKETID
if 
11@ == 137 // RPC_ServerJoin
then
0BE7: raknet 15@ = bit_stream_read 10@ type BS_TYPE_SHORT
20@ = Samp.GetPlayerNickname(15@)
0AF8: "%s[%d]" -1 20@ 15@                                     
end
0BE0: raknet hook_ret true
 
  • Нравится
Реакции: Избранный

SPARTA

Новичок
53
2
RPC_SERVERJOINE = 137

Код:
{$CLEO}
{$INCLUDE SF}
 
0000:
 
while not SAMP.Available()
    wait 400
end
 
0BE3: raknet setup_incoming_rpc_hook @hook_in_rpc
 
0BDE: pause_thread 0
 
:hook_in_rpc
0BE5: raknet 10@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 11@ = get_hook_param PARAM_PACKETID
if 
11@ == 137 // RPC_ServerJoin
then
0BE7: raknet 15@ = bit_stream_read 10@ type BS_TYPE_SHORT
20@ = Samp.GetPlayerNickname(15@)
0AF8: "%s[%d]" -1 20@ 15@                                     
end
0BE0: raknet hook_ret true
Сам написал? А то у меня такой же код меов, а все вижу..


Избранный смысл тебе его делать? Есть норм пиздатыф даже с настройкамм у кого здесь на форусе, дарк кнайта вроде
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
Код:
{$CLEO}
{$INCLUDE SF}
 
0001: wait 0 ms
0662: "by legend2360"
0662: "BlastHack - cheating is art"
 
while not SAMP.Available()
    wait 400
end
 
alloc 0@ 48 // buffer
 
5@ = Render.CreateFont("Tahoma", 12, 0xC)
 
0BE3: raknet setup_incoming_rpc_hook @hook_rpc_in
 
while true
    wait 0
    Render.DrawText(5@, 0@, 5, 5, -1)
end
 
:hook_rpc_in
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
if 1@ == RPC_SCRSERVERJOIN
then
    0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM
 
    0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_SHORT // id
    0BEB: raknet bit_stream 1@ ignore_bits 40 // 5 bytes // color + npc
    0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_BYTE // nickname len
 
    alloc 4@ 24
    0BE8: raknet bit_stream 1@ read_array 4@ size 3@
    0C0D: struct 4@ offset 3@ size 1 = 0x0
    format 0@ = "%s[%d]" 4@ 2@
 
    free 4@
end
0BE0: raknet hook_ret true
 
  • Нравится
Реакции: XyJluraH_J

fonarik

Известный
206
3
Код:
0AC8: 0@ = allocate_memory_size 96                   
0C11: memset destination 0@ value 0x0 size 96
 
0213: 1@ = create_pickup #INFO type 3 at 2027.77 -1420.52 16.49
0C0F: array 0@ element 0 = 1@
 
0213: 1@ = create_pickup #INFO type 3 at 2027.77 -1420.52 17.49
0C0F: array 0@ element 1 = 1@
 
0213: 1@ = create_pickup #INFO type 3 at 2027.77 -1420.52 18.49
0C0F: array 0@ element 2 = 1@
 
0213: 1@ = create_pickup #INFO type 3 at 2027.77 -1420.52 19.49
0C0F: array 0@ element 3 = 1@
 
0213: 1@ = create_pickup #INFO type 3 at 2027.77 -1420.52 20.49
0C0F: array 0@ element 4 = 1@
 
for 2@ = 0 to 20 step 1
    0C0E: 3@ = array 0@ element 2@
    if 3@ > 0
    jf continue
 
    0215: destroy_pickup 3@
    0C0F: array 0@ element 2@ = 0x0000
end
 
0AC9: free_allocated_memory 0@
Такой тупой пример.

я уже тупо твой пример скопировал и меня все равно крашит ;\
 

stocker

Новичок
5
0
Мужики, как сделать, если в чате появилось слово "принёс" то автоматически пишется команда /animoff

Подскажите, парни :)