RedBoxWhite
Известный
- 337
- 27
Какой опкод проверяет анимацию по хэндлу, но он не само название анимации проверяет, а именно название файла (в моё случае - ped)?
{$CLEO}
0000:
0B34: "cmd" to_label @Test
while true
wait 0
end
:Test
for 0@ = 0 to 999
if 0B23: samp is_player_connected 0@
jf continue
0B37: samp 1@ = get_player_color 0@
0AF8: "ID: %d || Clr: %08X" -1 0@ 1@
end
Как сделать чтоб не флудило?
WhileTrueКод:{$CLEO} Thread"Lesson" [code=cleo]{$CLEO} 0000: While True wait 0 1@ = Actor.Health($Player_Actor). if 1@ <= 90 then 0af9: "/usedrugs 3" wait 2000 while 1@ <= 90 wait 0 end end end
wait0
1@ = Actor.Health($Player_Actor).
if1@ <= 90
then
0af9: "/usedrugs 15"
wait2000
end
end[/code]
{$CLEO}
0000:
While True
wait 0
1@ = Actor.Health($Player_Actor).
if 1@ <= 90
then
0af9: "/usedrugs 3"
wait 2000
while 1@ <= 90
wait 0
end
end
end
У команды нет конца.Почему крашит? :sad_frog:
CLEO:{$CLEO} 0000: 0B34: "cmd" to_label @Test while true wait 0 end :Test for 0@ = 0 to 999 if 0B23: samp is_player_connected 0@ jf continue 0B37: samp 1@ = get_player_color 0@ 0AF8: "ID: %d || Clr: %08X" -1 0@ 1@ end
Ну бля, спасибо, а конкретнее можно? Не шарюБуфер.
У тебя переменных не хватает чтобы хранить handle на mp3?Ну бля, спасибо, а конкретнее можно? Не шарю
{$CLEO}
0000:
While True
wait 0
1@ = Actor.Health($Player_Actor).
if 1@ <= 90
then
0af9: "/usedrugs 3"
wait 2000
while 1@ <= 90
wait 0
end
end
end
Да, я одну оригинальную херню придумал, бестолковую, правда. Типа пианино на клавиатуре, звуки все есть, всё работает. Но переменных для них не хватает.У тебя переменных не хватает чтобы хранить handle на mp3?
Да, я одну оригинальную херню придумал, бестолковую, правда. Типа пианино на клавиатуре, звуки все есть, всё работает. Но переменных для них не хватает.
0AC8: 0@ = allocate_memory_size 512
0C11: memset destination 0@ value 0x0 size 512
0AB1: call_scm_func @CallBuffer Params 4 {ID Ячейки}0 {Указатель на Buffer}0@ {Тип функции}1 {Число}420 || {Result}1@
:CallBuffer
// 0@ - ID Ячейки.
// 1@ - Указатель на Buffer .
// 2@ - Тип функции {1 - Write, Other - Read}.
// 3@ - Число для записи.
0012: 0@ *= 4 // Получаем смещение на указанную ячейку.
005A: 0@ += 1@ // Получаем указатель на ячейку.
IF 0039: 2@ == 1 // Проверяем тип вызова.
THEN 0A8C: write_memory 0@ size 4 value 3@ virtual_protect TRUE // Запись данных в ячейку.
ELSE 0A8D: 25@ = read_memory 0@ size 4 virtual_protect TRUE // Считывание данных.
END
0AB2: RET_ 1 {Result}25@
А массив и структуру не проще ли заюзать?CLEO:0AC8: 0@ = allocate_memory_size 512 0C11: memset destination 0@ value 0x0 size 512 0AB1: call_scm_func @CallBuffer Params 4 {ID Ячейки}0 {Указатель на Buffer}0@ {Тип функции}1 {Число}420 || {Result}1@ :CallBuffer // 0@ - ID Ячейки. // 1@ - Указатель на Buffer . // 2@ - Тип функции {1 - Write, Other - Read}. // 3@ - Число для записи. 0012: 0@ *= 4 // Получаем смещение на указанную ячейку. 005A: 0@ += 1@ // Получаем указатель на ячейку. IF 0039: 2@ == 1 // Проверяем тип вызова. THEN 0A8C: write_memory 0@ size 4 value 3@ virtual_protect TRUE // Запись данных в ячейку. ELSE 0A8D: 25@ = read_memory 0@ size 4 virtual_protect TRUE // Считывание данных. END 0AB2: RET_ 1 {Result}25@
Попробуй. Функция позволит хранить неограниченное (sizeof(Buffer)) количество переменных в ячейках памяти.
Всё равно крашит...
{$CLEO}
0B34: "CMD" to_label @CMD
0BDE: pause_thread 0
:CMD
FOR 0@ = 0 TO 1000 [STEP = 1]
IF 0B23: samp is_player_connected 0@
THEN
0B37: samp 1@ = get_player_color 0@
0AF8: samp add_message_to_chat "ID: %d | Color:{%X} |||" color 0xFFFFFF {ID}0@ {Color}1@
END
END
0B43: samp cmd_ret
Не ищу легких путей :prankster:А массив и структуру не проще ли заюзать?
бл, помогите у меня либо флудит, либо выполняется но 1 разВыполняет только один раз, как сделать что бы после того как хп снова было <=90 он запустился?
CLEO:{$CLEO} 0000: While True wait 0 1@ = Actor.Health($Player_Actor). if 1@ <= 90 then 0af9: "/usedrugs 3" wait 2000 while 1@ <= 90 wait 0 end end end