ShadowBroker
Известный
- 110
- 27
Бля.. Говорю же, учусь писать не на метках и мне интересно как получить тот или иной код после компиляции.
открою тебе секрет, код всегда один, только ты никому не говори, это будет наш с тобой секрет :buba::spiteful:;)Бля.. Говорю же, учусь писать не на метках и мне интересно как получить тот или иной код после компиляции.
Может после ДЕкомпиляции?Бля.. Говорю же, учусь писать не на метках и мне интересно как получить тот или иной код после компиляции.
{$CLEO}
{$INCLUDE SF}
0001: WAIT 0 MS
WHILE NOT SAMP.AVAILABLE()
WAIT 400
END
0BE3: RAKNET SETUP_INCOMING_RPC_HOOK @IN_RPC
0BDE: PAUSE_THREAD 0
:IN_RPC
0BE5: RAKNET 0@ = GET_HOOK_PARAM PARAM_PACKETID
IF OR
0@ == RPC_SCRSERVERJOIN
0@ == RPC_SCRSERVERQUIT
THEN
0BE5: RAKNET 1@ = GET_HOOK_PARAM PARAM_BITSTREAM
IF 0@ == RPC_SCRSERVERJOIN
THEN
0BE7: RAKNET 2@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_SHORT
0BE7: RAKNET 3@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_INT
0BE7: RAKNET 4@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_BYTE
0BE7: RAKNET 5@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_BYTE
0AC8: 6@ = ALLOCATE_MEMORY_SIZE 25
0BE8: RAKNET BIT_STREAM 1@ READ_ARRAY 6@ SIZE 5@
0C1E: ARRAY 6@ ELEMENT 5@ EL_SIZE 1 = 0
0AF8: SAMP ADD_MESSAGE_TO_CHAT "%s[%d] подкл" COLOR -1 PARAMS 6@ 2@
0AC9: FREE_ALLOCATED_MEMORY 6@
ELSE
0BE7: RAKNET 2@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_SHORT
0BE7: RAKNET 3@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_BYTE
0AF8: SAMP ADD_MESSAGE_TO_CHAT "%s %d откл" COLOR -1 PARAMS 2@ 3@
END
END
0BE0: RAKNET HOOK_RET TRUE
0AF8: SAMP ADD_MESSAGE_TO_CHAT "%d %d откл" COLOR -1 PARAMS 2@3@Поч крашит?CLEO:{$CLEO} {$INCLUDE SF} 0001: WAIT 0 MS WHILE NOT SAMP.AVAILABLE() WAIT 400 END 0BE3: RAKNET SETUP_INCOMING_RPC_HOOK @IN_RPC 0BDE: PAUSE_THREAD 0 :IN_RPC 0BE5: RAKNET 0@ = GET_HOOK_PARAM PARAM_PACKETID IF OR 0@ == RPC_SCRSERVERJOIN 0@ == RPC_SCRSERVERQUIT THEN 0BE5: RAKNET 1@ = GET_HOOK_PARAM PARAM_BITSTREAM IF 0@ == RPC_SCRSERVERJOIN THEN 0BE7: RAKNET 2@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_SHORT 0BE7: RAKNET 3@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_INT 0BE7: RAKNET 4@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_BYTE 0BE7: RAKNET 5@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_BYTE 0AC8: 6@ = ALLOCATE_MEMORY_SIZE 25 0BE8: RAKNET BIT_STREAM 1@ READ_ARRAY 6@ SIZE 5@ 0C1E: ARRAY 6@ ELEMENT 5@ EL_SIZE 1 = 0 0AF8: SAMP ADD_MESSAGE_TO_CHAT "%s[%d] подкл" COLOR -1 PARAMS 6@ 2@ 0AC9: FREE_ALLOCATED_MEMORY 6@ ELSE 0BE7: RAKNET 2@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_SHORT 0BE7: RAKNET 3@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_BYTE 0AF8: SAMP ADD_MESSAGE_TO_CHAT "%s %d откл" COLOR -1 PARAMS 2@ 3@ END END 0BE0: RAKNET HOOK_RET TRUE
Можно, например, рендер-опкодамиПодскажите пожалуйста, можно как-нибудь создать хелф-бар над созданным актером?
Пробую, не получается:Можно, например, рендер-опкодами
код красного цветa 0xffff0000 а не 0xff0000ffПробую, не получается:
0B6A: render draw_box_with_border_pos 5@ 6@ size 40 10 color 0xff0000ff border_size 1 border_color 0x000000ff
должен выводить красный прямоугольник с черной обводкой, а на деле синий прямоугольник...
0xARGBПробую, не получается:
0B6A: render draw_box_with_border_pos 5@ 6@ size 40 10 color 0xff0000ff border_size 1 border_color 0x000000ff
должен выводить красный прямоугольник с черной обводкой, а на деле синий прямоугольник...
Я бы сделал такПоч крашит?
IF 0@ == RPC_SCRSERVERJOIN
THEN
0BE7: RAKNET 2@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_SHORT
0BED: RAKNET BIT_STREAM 1@ SET_READ_OFFSET 0x38
0BE7: RAKNET 3@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_BYTE
0AC8: 4@ = ALLOCATE_MEMORY_SIZE 25
0BE8: RAKNET BIT_STREAM 1@ READ_ARRAY 4@ SIZE 3@
0C1E: ARRAY 4@ ELEMENT 3@ EL_SIZE 1 = 0
0AF8: SAMP ADD_MESSAGE_TO_CHAT "%s [%d] was connected" COLOR -1 PARAMS 4@ 2@
0AC9: FREE_ALLOCATED_MEMORY 4@
ELSE
0BE7: RAKNET 2@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_SHORT
0BE7: RAKNET 3@ = BIT_STREAM_READ 1@ TYPE BS_TYPE_BYTE
0AF8: SAMP ADD_MESSAGE_TO_CHAT "ID %d disconnected : reason %d" COLOR -1 PARAMS 2@ 3@
END
0B6A: render draw_box_with_border_pos 400 400 size 40 10 color 0xFFFF0000 border_size 1 border_color 0xFF000000Пробую, не получается:
0B6A: render draw_box_with_border_pos 5@ 6@ size 40 10 color 0xff0000ff border_size 1 border_color 0x000000ff
должен выводить красный прямоугольник с черной обводкой, а на деле синий прямоугольник...
Таки помогло. СпасибоЕсли это не сработает, то жди уже других.
CLEO:alloc 1@ 256 while true wait 0 if SAMP.IsDialogActive(353) then 0BD7: samp get_dialog_text 1@ if 0C18: 2@ = strstr string1 1@ string2 "Цена объявления:" then 0AA5: call 0x8220AD num_params 3 pop 3 params 23@v "Цена объявления: {цвет}$%s." 2@ 0AF8: "%s" -1 23@ free 1@ end SAMP.CloseDialog(0) end end
0B34: samp register_client_command "1" to_label @CMD
0C6A: 0 = create_custom_thread_at_label @1
while true
wait 0
if 7@ == true
then
0af8: "1" -1
end
end
:1
while true
wait 0
if 7@ == false
then
0af8: "2" -1
end
end
:CMD
0B12: 7@ = 7@ XOR 1
0B43: samp cmd_ret
2 потока это как 2 скрипта. Когда ты вызываешь функцию, то она относится к тому потоку из которого была вызвана. В данном случае, команду ты регистрируешь в 1 потокеКак правильно использовать тут 2 потока? Туплю чёт, ибо там же всё обнуляется((
CLEO:0B34: samp register_client_command "1" to_label @CMD 0C6A: 0 = create_custom_thread_at_label @1 while true wait 0 if 7@ == true then 0af8: "1" -1 end end :1 while true wait 0 if 7@ == false then 0af8: "2" -1 end end :CMD 0B12: 7@ = 7@ XOR 1 0B43: samp cmd_ret
Это понятно, я это показал так, чтобы было понятно что я хочу. Как мне сделать, чтобы 1 команда работала под 2 потока?2 потока это как 2 скрипта. Когда ты вызываешь функцию, то она относится к тому потоку из которого была вызвана. В данном случае, команду ты регистрируешь в 1 потоке