на этот участок памяти нужно выделять 3 байта, а не 2.Не фурычит
на этот участок памяти нужно выделять 3 байта, а не 2.Не фурычит
Все равно не работаетна этот участок памяти нужно выделять 3 байта, а не 2.
0AF7: samp 0@ = get_base
0@ += 0x5D8A5
0C11: memset destination 0@ value 0x90 size 0x5
0AC6: 1@ = label @restore offset
0C10: memcpy destination 0@ source 1@ size 0x5
:restore
hex
E8 36 7F 00 00
end
А можно без этого "hex" кода?Код::restore hex E8 36 7F 00 00 end
Точно ответ не смогу дать, лично у меня проблемы были, висла игра. Мне сказали сделать вот так и так. После проблема ушла.А можно без этого "hex" кода?
Проверка - 051AКак сделать проверку на получение урона? Чтоб после получения урона прыгало на нужный лабел
{$CLEO}
0000:
0AC6: 0@ = label @Buffer offset
0BE3: raknet setup_incoming_rpc_hook @iRPC
0BDE: pause_thread 0
:iRPC // 0@ 1@ 2@
0BE5: raknet 1@ = get_hook_param {PARAM_PACKETID}1
IF 0039: 1@ == {RPC_ClientMessage}93
THEN 0AB1: call_scm_func @doHookFunc params 3 | {Type1}{BS_TYPE_INT}3 {Type2}{BS_TYPE_INT}3 {Array}0@ | {dwColor}1@ {dwStrLen}2@ |
END
IF 0039: 1@ == {RPC_Chat}101
THEN 0AB1: call_scm_func @doHookFunc params 3 | {Type1}{BS_TYPE_SHORT}2 {Type2}{BS_TYPE_BYTE}0 {Array}0@ | {PlayerID}1@ {byteTextLen}2@ |
END
0BE0: raknet hook_ret TRUE
:doHookFunc
0BE5: raknet 25@ = get_hook_param {PARAM_BITSTREAM}0
0BF2: raknet 26@ = bit_stream 25@ get_read_offset
0BE9: raknet bit_stream 25@ reset_read_pointer
0BE7: raknet 27@ = bit_stream_read 25@ type 0@ // 1
0BE7: raknet 28@ = bit_stream_read 25@ type 1@ // 2
0BE8: raknet bit_stream 25@ read_array 2@ size 28@ // 3
0C1E: array 2@ element 28@ el_size 1 = 0x0
if
0C18: 0 = strstr string1 2@ string2 "[РАЗДАЧА ДОНАТ-РУБЛИ]: Напишите первым"
then
// ставится таймер на 2 секунды
if
0C18: 0 = strstr string1 2@ string2 "[РАЗДАЧА ДОНАТ-РУБЛИ]: Игрок Vasia_Pupkin" // если в период 2-х секунд появился сообщение что какой либо игрок поймал то его банит
then
// тут получаю его id
wait 1
say "/ban %d 30 ahk" 3@
end
0BED: raknet bit_stream 25@ set_read_offset 26@
0AB2: _ret 2 | {Param1}27@ {Param2}28@ |
:Buffer // 256 + 1
HEX
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00
END
// By DarkP1xel
<
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
0662: printstring "bladee"
:Noname_12
0001: wait 100 ms
0AFA: is_samp_available
004D: jump_if_false @Noname_12
0006: 20@ = 0
0B34: samp register_client_command "evotp" to_label @Noname_805
0006: 20@ = 0
:Noname_53
0001: wait 0 ms
00D6: if
0039: 20@ == 1
004D: jump_if_false @Noname_191
04ED: load_animation "FALL_FALL"
0208: 13@ = random_float_in_ranges 15.0 23.0
0605: actor $PLAYER_ACTOR perform_animation "FALL_FALL" IFP "PED" framedelta 5.0 loop 1 lockX 1 lockY 1 lockF 1 time 3000
04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 13@ 0.0
0001: wait 40 ms
0AB1: call_scm_func @Noname_744 3 0@ 1@ 2@
:Noname_191
00A0: store_actor $PLAYER_ACTOR position_to 3@ 4@ 5@
0AB6: store_target_marker_coords_to 7@ 8@ 9@ // IF and SET
0509: 6@ = distance_between_XY 3@ 4@ and_XY 7@ 8@
00D6: if and
8031: not 6@ >= 15.0
0039: 20@ == 1
004D: jump_if_false @Noname_340
02CE: 10@ = ground_z_at 7@ 8@ 999.0
00A0: store_actor $PLAYER_ACTOR position_to 27@ 28@ 29@
0063: 23@ -= 10@ // (float)
0ACF: show_formatted_styled_text "%f" time 2000 style 1 23@
0AB1: call_scm_func @Noname_744 3 7@ 8@ 23@
0006: 20@ = 2
:Noname_340
00D6: if
0B35: samp 14@ = get_last_command_params
00D6: if
0AD4: 12@ = scan_string 14@ format "%s" 14@v
00D6: if and
0AF2: 7@ = get_float_from_ini_file "cleo\xyz.ini" section 14@v key "X"
0AF2: 8@ = get_float_from_ini_file "cleo\xyz.ini" section 14@v key "Y"
0AF2: 9@ = get_float_from_ini_file "cleo\xyz.ini" section 14@v key "Z"
0002: jump @Noname_628
/*:Noname_502
0AF3: write_float 0.0 to_ini_file "cleo\xyz.ini" section "Settings" key "X"
0AF3: write_float 0.0 to_ini_file "cleo\xyz.ini" section "Settings" key "Y"
0AF3: write_float 0.0 to_ini_file "cleo\xyz.ini" section "Settings" key "Z" */
:Noname_628
00D6: if and
801C: not 23@ > 10@ // (int)
0039: 20@ == 2
004D: jump_if_false @Noname_682
000B: 29@ += 0.5
00A1: put_actor $PLAYER_ACTOR at 27@ 28@ 29@
0001: wait 50 ms
:Noname_682
00D6: if and
001C: 29@ > 10@ // (int)
0039: 20@ == 2
004D: jump_if_false @Noname_737
0007: 10@ = 0.0
0968: actor $PLAYER_ACTOR stop_mouth
04D7: set_actor $PLAYER_ACTOR locked 0
0006: 20@ = 0
:Noname_737
0002: jump @Noname_53
:Noname_744
0A96: 25@ = actor $PLAYER_ACTOR struct
0C0C: 26@ = struct 25@ offset 20 size 4
0C0D: struct 26@ offset 48 size 4 = 0@
0C0D: struct 26@ offset 52 size 4 = 1@
0C0D: struct 26@ offset 56 size 4 = 2@
0AB2: ret 0
:Noname_805
0001: wait 0 ms
0B12: 20@ = 20@ XOR 1
00D6: if
0039: 20@ == 1
004D: jump_if_false @Noname_1090
04D7: set_actor $PLAYER_ACTOR locked 1
0AF8: samp add_message_to_chat "[START] TELEPORT..." color -1
00A0: store_actor $PLAYER_ACTOR position_to 15@ 16@ 17@
000F: 17@ -= 3.0
0AB1: call_scm_func @Noname_744 3 15@ 16@ 17@
000F: 17@ -= 3.0
0AB1: call_scm_func @Noname_744 3 15@ 16@ 17@
000F: 17@ -= 3.0
0AB1: call_scm_func @Noname_744 3 15@ 16@ 17@
000F: 17@ -= 3.0
0AB1: call_scm_func @Noname_744 3 15@ 16@ 17@
000F: 17@ -= 3.0
0AB1: call_scm_func @Noname_744 3 15@ 16@ 17@
0007: 17@ = 0.0
0063: 7@ -= 3@ // (float)
0063: 8@ -= 4@ // (float)
0604: get_Z_angle_for_point 7@ 8@ store_to 11@
0173: set_actor $PLAYER_ACTOR Z_angle_to 11@
0173: set_actor $PLAYER_ACTOR Z_angle_to 11@
02EB: restore_camera_with_jumpcut
0002: jump @Noname_1113
:Noname_1090
0AF8: samp add_message_to_chat "[OFF] TELEPORT..." color -1
:Noname_1113
0B43: samp cmd_ret
>
В каких случаях нужно использовать end_thread, а в каких end_custom_thread?
Как мне поставить таймер? на 31 строкеCLEO:{$CLEO} 0000: 0AC6: 0@ = label @Buffer offset 0BE3: raknet setup_incoming_rpc_hook @iRPC 0BDE: pause_thread 0 :iRPC // 0@ 1@ 2@ 0BE5: raknet 1@ = get_hook_param {PARAM_PACKETID}1 IF 0039: 1@ == {RPC_ClientMessage}93 THEN 0AB1: call_scm_func @doHookFunc params 3 | {Type1}{BS_TYPE_INT}3 {Type2}{BS_TYPE_INT}3 {Array}0@ | {dwColor}1@ {dwStrLen}2@ | END IF 0039: 1@ == {RPC_Chat}101 THEN 0AB1: call_scm_func @doHookFunc params 3 | {Type1}{BS_TYPE_SHORT}2 {Type2}{BS_TYPE_BYTE}0 {Array}0@ | {PlayerID}1@ {byteTextLen}2@ | END 0BE0: raknet hook_ret TRUE :doHookFunc 0BE5: raknet 25@ = get_hook_param {PARAM_BITSTREAM}0 0BF2: raknet 26@ = bit_stream 25@ get_read_offset 0BE9: raknet bit_stream 25@ reset_read_pointer 0BE7: raknet 27@ = bit_stream_read 25@ type 0@ // 1 0BE7: raknet 28@ = bit_stream_read 25@ type 1@ // 2 0BE8: raknet bit_stream 25@ read_array 2@ size 28@ // 3 0C1E: array 2@ element 28@ el_size 1 = 0x0 if 0C18: 0 = strstr string1 2@ string2 "[РАЗДАЧА ДОНАТ-РУБЛИ]: Напишите первым" then // ставится таймер на 2 секунды if 0C18: 0 = strstr string1 2@ string2 "[РАЗДАЧА ДОНАТ-РУБЛИ]: Игрок Vasia_Pupkin" // если в период 2-х секунд появился сообщение что какой либо игрок поймал то его банит then // тут получаю его id wait 1 say "/ban %d 30 ahk" 3@ end 0BED: raknet bit_stream 25@ set_read_offset 26@ 0AB2: _ret 2 | {Param1}27@ {Param2}28@ | :Buffer // 256 + 1 HEX 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 END // By DarkP1xel
Как получить ник из 33 строки?
Заранее спасибо кто ответит
0C18: 0 = strstr string1 2@ string2 "[РАЗДАЧА ДОНАТ-РУБЛИ]: Игрок %s" 29@ // под 29 переменную ввидели память.
//насчёт ника в id хз смотрел поиск не находил
{$CLEO .cs}
0000:
repeat
wait 111
until samp.Available()
0B34: samp register_client_command "mycmd" to_label @1
repeat
wait 0
if 13@ == true
then
repeat
wait 0
CALL @CharGoto 4 1768.8 -1934.9 16.6 true
CALL @CharGoto 4 1760.6 -1934.9 16.6 true
until false
end
until false
:1
0B12: 13@ = 13@ XOR 1
if 13@ == true
then
0AF8: samp add_message_to_chat "1" color -1
else
0AF8: samp add_message_to_chat "0" color -1
end
samp.CmdRet()
:CharGoto
repeat
wait 0
00A0: store_actor $PLAYER_ACTOR position_to 4@ 5@ 2@
0063: 0@ -= 4@
0063: 1@ -= 5@
0604: get_Z_angle_for_point 0@ 1@ store_to 2@
005B: 0@ += 4@
005B: 1@ += 5@
2@ *= 0.01745
0A96: 4@ = actor $PLAYER_ACTOR struct
4@ += 0x558
0A8C: write_memory 4@ size 4 value 2@ virtual_protect 0
0373: set_camera_directly_behind_player
if
3@ == false
then
4@ = 0xB73458
4@ += 0x20
0A8C: write_memory 4@ size 1 value 0 virtual_protect 0
4@ = 0xB73458
4@ += 0x3
0A8C: write_memory 4@ size 1 value 255 virtual_protect 0
else
4@ = 0xB73458
4@ += 0x20
0A8C: write_memory 4@ size 1 value 255 virtual_protect 0
4@ = 0xB73458
4@ += 0x3
0A8C: write_memory 4@ size 1 value 255 virtual_protect 0
end
until 00ED: actor $PLAYER_ACTOR 0 near_point 0@ 1@ radius 0.4 0.4 on_foot
0AB2: ret 0