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

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
У тебя 20@ всегда равен нулю. Нужно сначала получить id оружия, а потом получать его название.
 
  • Нравится
Реакции: Сэнд

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
Как отключить хук в цикле?
Вот код. Мне нужно чтобы хук сработал и выключился.

CLEO:
{$CLEO}
0000:

repeat
wait 0
until samp.Available()

while true
wait 0
    if 0ADC:   test_cheat "up"
    then
        if actor.Driving($PLAYER_ACTOR)
        then
        0@ = actor.CurrentCar($PLAYER_ACTOR)
        0BE2: raknet setup_outcoming_packet_hook @Hook
        0407: store_coords_to 1@ 2@ 3@ from_car 0@ with_offset 0.0 0.0 78.0
        0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 1.5
        0AB1: call_scm_func @TPVeh 4 0@ 1@ 2@ 3@
        0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 4@ 5@ 6@
        0BE0: raknet hook_ret 1
        end
    end
end

:Hook
0BE5: raknet 7@ = get_hook_param 1
if 7@ == 200
jf @Hook_RET
0BE0: raknet hook_ret 0

:Hook_RET
0BE0: raknet hook_ret 1

:TPVeh
0A97: 25@ = car 0@ struct
0C0C: 26@ = struct 25@ offset 0x14 size 4
0C0D: struct 26@ offset 0x30 size 4 = 1@ // X
0C0D: struct 26@ offset 0x34 size 4 = 2@ // Y
0C0D: struct 26@ offset 0x38 size 4 = 3@ // Z
ret 0
Хук нельзя выгрузить. Записывай в переменную статус работы хука и проверяй её в нем же.
 

SR_team

like pancake
BH Team
4,809
6,492
Хук нельзя выгрузить. Записывай в переменную статус работы хука и проверяй её в нем же.
можно костылем - вешаем на цикл еще 1 поток и завершаем текущий. В результате хуки и команды выгрузятся, а код текущего скрипта продолжит выполняться
 

Сэнд

Известный
Проверенный
436
213
Тебе уже помогли.
Сделал всё как подсказали, ID оружия верно показывает. А название нет.

Хук нельзя выгрузить. Записывай в переменную статус работы хука и проверяй её в нем же.
легендыч, хелпани, пожалуйста
 
Последнее редактирование модератором:

Сэнд

Известный
Проверенный
436
213
дай код, который есть сейчас
CLEO:
{$CLEO}
0AC8: 0@ = allocate_memory_size 256
0B6D: render 1@ = create_font "Comic Sans MS" height 13 flags 5

while true
wait 0
if and
0118: NOT actor $PLAYER_CHAR dead
0AD2: 32@ = player $PLAYER_CHAR targeted_actor
then
if 0B2B: samp 2@ = get_player_id_by_actor_handle 32@
then
0470: 20@ = actor 32@ current_weapon
call @get_weapon_name_by_id 1 id 20@ to 21@
0AD3: 0@ = format "%s" 21@
0B6F: render font 1@ draw_text 0@ pos 960 410 color 0xFFFFFFFF
end
end
end

///////////////////////////////////////////////////////////////////////

:get_weapon_name_by_id
0AC6: 21@ = label @weapons offset
20@ *= 19
005A: 21@ += 20@ // (int)
ret 1 21@

:weapons
hex
"Duke" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 0 }
"Brass Knuckles" 00 00 00 00 00 { 1 }
"Golf Club" 00 00 00 00 00 00 00 00 00 00 { 2 }
"Nite Stick" 00 00 00 00 00 00 00 00 00 { 3 }
"Knife" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 4 }
"Baseball" 00 00 00 00 00 00 00 00 00 00 00 { 5 }
"Shovel" 00 00 00 00 00 00 00 00 00 00 00 00 00 { 6 }
"Pool Cue" 00 00 00 00 00 00 00 00 00 00 00 { 7 }
"Katana" 00 00 00 00 00 00 00 00 00 00 00 00 00 { 8 }
"Chainsaw" 00 00 00 00 00 00 00 00 00 00 00 { 9 }
"Dildo" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 10 }
"Dildo" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 11 }
"Dildo" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 12 }
"Dildo" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 13 }
"Flowers" 00 00 00 00 00 00 00 00 00 00 00 00 { 14 }
"Cane" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 15 }
"Grenade" 00 00 00 00 00 00 00 00 00 00 00 00 { 16 }
"Tear Gas" 00 00 00 00 00 00 00 00 00 00 00 { 17 }
"Molotov" 00 00 00 00 00 00 00 00 00 00 00 00 { 18 }
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 19 }
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 20 }
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 21 }
"Pistol" 00 00 00 00 00 00 00 00 00 00 00 00 00 { 22 }
"Silencer" 00 00 00 00 00 00 00 00 00 00 00 { 23 }
"Deagle" 00 00 00 00 00 00 00 00 00 00 00 00 00 { 24 }
"Shotgun" 00 00 00 00 00 00 00 00 00 00 00 00 { 25 }
"SawnOff" 00 00 00 00 00 00 00 00 00 00 00 00 { 26 }
"Spas12" 00 00 00 00 00 00 00 00 00 00 00 00 00 { 27 }
"Tec9" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 28 }
"MP5" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 29 }
"AK47" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 30 }
"M4" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 31 }
"Mac10" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 32 }
"Rifle" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 33 }
"Sniper" 00 00 00 00 00 00 00 00 00 00 00 00 00 { 34 }
"Rocket Launcher" 00 00 00 00 { 35 }
"HS Rocket Launcher" 00 { 36 }
"Flamethrower" 00 00 00 00 00 00 00 { 37 }
"Minigun" 00 00 00 00 00 00 00 00 00 00 00 00 { 38 }
"C4" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 39 }
"Detonator" 00 00 00 00 00 00 00 00 00 00 { 40 }
"Spray" 00 00 00 00 00 00 00 00 00 00 00 00 00 00 { 41 }
"Fire Extinguisher" 00 00 { 42 }
"Camera" 00 00 00 00 00 00 00 00 00 00 00 00 00 { 43 }
"Nightvision" 00 00 00 00 00 00 00 00 { 44 }
"Infrared Vision" 00 00 00 00 { 45 }
"Parachute" 00 00 00 00 00 00 00 00 00 00 { 46 }
end
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,989
Ошибка собственно у тебя в get_weapon_name_by_id . 20@ поменяй на 0@ . В 20@ у тебя 0, ибо параметров всего 1.
 
  • Нравится
Реакции: Сэнд