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

Vovich

HOT
Проверенный
717
197
Как в hex запихнуть данные из переменной?
Вот пример:
Код:
{$CLEO .cs}
{$INCLUDE SF}
0000:

0B34: samp register_client_command "test" to_label @help_1

while true
wait 0
end

:help_1
0AC6: 3@ = label @help_2 offset
0209: 17@ = random_int_in_ranges 1 59
0B3B: samp show_dialog id 2193 caption "Random" text 3@ button_1 "Закрыть" button_2 "" style 0
SAMP.CmdRet()  

:help_2
hex
7B "FFFFFF" 7D "{FFFFFF}Random1: %d" A
7B "FFFFFF" 7D "{FFFFFF}Random2: %d" A
7B "FFFFFF" 7D "{FFFFFF}Random3: %d" A
7B "FFFFFF" 7D "{FFFFFF}Random4: %d" A
7B "FFFFFF" 7D "{FFFFFF}Random5: %d" A
Мне нужно данные из переменной 17@ запихнуть в hex...
 

yxTbl

Фуфел
339
249
Выдаёт ошибку(Неизвестая команда alloc 28@ 256), что делать?
PHP:
{$CLEO .cs}
0000:
33@ = 0

:Noname_3
wait 0
33@ > 2500
else_jump @Noname_3
alloc 28@ 256
format 28@ "<> Prison-Bot by {FF0000}[c]SeRGey*. {FFFFFF}Активация {FF0000}'PRO' {FFFFFF}Деактивация {FF0000}R"
call @Noname_91 1 28@
free 28@

:1
wait 0
if
0ADC: test_cheat "PRO"
jf @1
format 28@ "[Prison Bot]: {FFFFFF}Включен/McdanielЛОХ."
call @Noname_91 1 28@
jump @2

:2
wait 0
8ADC: not test_cheat "R"
jf @3
if
00ED: actor $PLAYER_ACTOR sphere 0 near_point 2799.44 -2876.58 radius 100.7 100.7 on_foot
else_jump @1
09BC: put_actor $PLAYER_ACTOR at 2799.44 -2876.58 1510.89 no_offset_and_dont_warp_gangs
wait 47960
09BC: put_actor $PLAYER_ACTOR at 2818.83 -2874.38 1510.90 no_offset_and_dont_warp_gangs
wait 10
jump @2

:3
wait 0
format 28@ "[Prison Bot]: {FFFFFF}Выключен/Ебал я в рот Brain'a"
call @Noname_91 1 28@
wait 100
jump @1

:12
wait 0
format 28@ "[Prison Bot]: {FFFFFF}Вы не в алькатрсе"
call @Noname_91 1 28@
wait 100
jump @1


:Noname_83
0AA2: 0@ = load_library "kernel32.dll" // IF and SET
0AA4: 1@ = get_proc_address "GetModuleHandleA" library 0@ // IF and SET
0AA7: call_function 1@ num_params 1 pop 0 "samp.dll" 2@
0AA3: free_library 0@
ret 1 2@

:Noname_91
call @Noname_83 0 3@
0A8E: 2@ = 3@ + 2173548 // int
0A8D: 1@ = read_memory 2@ size 4 virtual_protect 1
0A8E: 2@ = 3@ + 500976 // int
0AA6: call_method 2@ struct 1@ num_params 5 pop 0 0 -11216897 0 0@ 8
ret 0
 

Griphin_Coder

Новичок
37
21
Подкиньте пожалуйста опкод, отвечающий за прицеливание на игрока. Например когда я целюсь в игрока, и у него зеленый треугольник над головой, и опкод выводит ID этого игрока... Нужно для нового клео)
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,964
Подкиньте пожалуйста опкод, отвечающий за прицеливание на игрока. Например когда я целюсь в игрока, и у него зеленый треугольник над головой, и опкод выводит ID этого игрока... Нужно для нового клео)
0AD2: $actor = player $PLAYER_CHAR targeted_actor //IF and SET

Выдаёт ошибку(Неизвестая команда alloc 28@ 256), что делать?

Юзай опкод
0AC8: 0@ = allocate_memory_size 260
 
  • Нравится
Реакции: Griphin_Coder

Griphin_Coder

Новичок
37
21
Как в опкоде 0AD2 получить в локальную переменную не хэндл, а ID игрока? Буду благодарен.
 

iGO[R]

Новичок
42
1
Я хочу, чтобы при нажатии на правую кнопку если у меня в руках с4 тек. оружие переключалось на снайперку и сразу же открывался прицел снайперки, без повторного нажатия.

Я пробовал так:

04B8: get_weapon_data_from_actor $PLAYER_ACTOR weapon_group 9 weapon 2@ ammo 4@ model 5@
04B8: get_weapon_data_from_actor $PLAYER_ACTOR weapon_group 7 weapon 1@ ammo 4@ model 5@

If 02D8: actor $PLAYER_ACTOR current_weapon == 2@
Then
01B9: set_actor $PLAYER_ACTOR armed_weapon_to 1@
0812: AS_actor $PLAYER_ACTOR perform_animation "" IFP "" framedelta 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1
End

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

Но тут одна проблемка - я писал чит тестируя его на своем сервере, там все работает отлично, а вот на других серверах с первого нажатия не открывается прицел. В чем проблема?

Или если есть способ открытия прицела через какой-либо опкод или через память, то скажите как пожалуйста.)
 

Vovich

HOT
Проверенный
717
197
Как в hex запихнуть данные из переменной?
Вот пример:
Код:
{$CLEO .cs}
{$INCLUDE SF}
0000:

0B34: samp register_client_command "test" to_label @help_1

while true
wait 0
end

:help_1
0AC6: 3@ = label @help_2 offset
0209: 17@ = random_int_in_ranges 1 59
0B3B: samp show_dialog id 2193 caption "Random" text 3@ button_1 "Закрыть" button_2 "" style 0
SAMP.CmdRet() 

:help_2
hex
7B "FFFFFF" 7D "{FFFFFF}Random1: %d" A
7B "FFFFFF" 7D "{FFFFFF}Random2: %d" A
7B "FFFFFF" 7D "{FFFFFF}Random3: %d" A
7B "FFFFFF" 7D "{FFFFFF}Random4: %d" A
7B "FFFFFF" 7D "{FFFFFF}Random5: %d" A
Мне нужно данные из переменной 17@ запихнуть в hex...
Или каким другим образом сделать диалог с большим кол-вом символов.
 

Dark_Knight

Me, me and me.
Друг
4,067
2,081
В данном случаи никак. Кстати, ты хекс не правильно формируешь.
Последнуюю А замени на 00 и добавь енд.
 

Vovich

HOT
Проверенный
717
197
0ad3 и временная переменная.
Можно хоть какой то пример? Я уже по разному пытался использовать этот опкод, и в итоге у меня все время одни краши, ну я понимаю что не так использую его. По-этому прошу, если можно пример вывода маленького диалога данным способом ;3
 

Griphin_Coder

Новичок
37
21
Дайте нормальный опкод который может наносить реальный урон игроку по его ID или хэндлу. 0BCB не предлагать. Он просто отправлять RPC о том что я наношу урон, но не наносит...
 

Niko

Известный
Проверенный
230
268
Дайте нормальный опкод который может наносить реальный урон игроку по его ID или хэндлу. 0BCB не предлагать. Он просто отправлять RPC о том что я наношу урон, но не наносит...
Для отправки урона - отправляй Bullet синхру. А опкод: 0BCB только для серверов с AntiGM, то есть она вызывает OnPlayerGiveDamage
 
  • Нравится
Реакции: Griphin_Coder