Вопрос

Статус
В этой теме нельзя размещать новые ответы.

_Vine_

Активный
Автор темы
154
57
Здравствуйте. Начал учить воспроизведение анимаций в клео. Сделал клео который воспроизводит анимацию BBALL_def_loop из IFP файла BSKTBALL.
Есть нельсколько вопросов по этому коду.


Первый: в опкоде 0605 после actor идет $3, эту глобальную переменную я взял из скрипта ромело распальцовка.
Если вместо $3 вставить $PLAYER_ACTOR, то скрипт работать не будет, а точнее игра крашнеться(лично у меня).

У кое какого человека спросил, он ответил что $3 это и есть $PLAYER_ACTOR.
Почему крашиться игра при использовании скрипта, где вместо $3 - $PLAYER_ACTOR?



Второй: скрипт работает, но не так как пологаеться. Я много тестировал опкод 0605:, и понял вот что: если в параметре time поставить любое неотрицательное чисто - анимация будет визуальной, коротко говоря не будет видна другим игрокам на сервере.
А как раз это и предназначаеться скрипту.
Так же, если поставить
неотрицательное чисто в time, и в предпоследнем параметре lockF поставить 1, то анимация визуальной не будет, но будет длиться столько, сколько идет анимация и будет повторяться всего лишь один раз.
В моем случае анимация длиться
1.2-1.5 секунды, а мне нужно как минимум 3.

Если кратко говоря, то неотрицательное число в параметре time делает анимацию визуальной, а параметр lockF, можно сказать, просто изменяет время обратно на
-1, при этом опять делая анимацию видной для игроков. Как исправить это, скажите пожалуйста?


Код ниже:

Код:
{$CLEO .cs}
0000:

:AAA
wait 0
04ED: load_animation  "BSKTBALL"

:cmd
wait 0
0b34: "qq" @qq
0BDE: pause_thread 0



:qq
wait 0
if
04EE:   animation "BSKTBALL" loaded
jf @qq2
0B35: samp 0@ = get_last_command_params
0605: actor $3 perform_animation "BBALL_def_loop" IFP "BSKTBALL" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time 3000
say "/b 1"
04EF: release_animation "BSKTBALL"
samp.CmdRet()

P.S.: в выше приведенном скрипте анимация визуальная.
 

_Vine_

Активный
Автор темы
154
57
Вот полный код моего клео
Код:
{$CLEO .cs}
0000:

:AAA
wait 0
04ED: load_animation  "GHANDS"
04ED: load_animation  "BSKTBALL"

:cmd
wait 0
0b34: "qq" @qq
0b34: "qq2" @qq2

:sbiv
wait 0
if and
key_down 71
key_down 72
then
jf @sbiv
0792: disembark_instantly_actor $3
end





:qq
wait 0
if
04EE:   animation "GHANDS" loaded
jf @qq
0B35: samp 0@ = get_last_command_params
0605: actor $3 perform_animation "gsign1LH" IFP "GHANDS" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time -1
say "/me ïîêàçàë(à) ðàñïàëüöîâêó %s" 0@
04EF: release_animation "GHANDS"
samp.CmdRet()

:qq2
wait 0
if
04EE:   animation "BSKTBALL" loaded
jf @qq2
0B35: samp 0@ = get_last_command_params
0605: actor $3 perform_animation "BBALL_def_loop" IFP "BSKTBALL" framedelta 4.0 loop 1 lockX 1 lockY 1 lockF 0 time -1
say "/me ðàññòåãíóâ ðóáàøêó, ïîêàçàë íàêîëêó íà ãðóäè "%s"" 0@
04EF: release_animation "BSKTBALL"
samp.CmdRet()
Но первая функция работает. Первую функцию вырезал, что бы не мозолила глаза. jf @qq2 есть, читаю параметры для say "...%s" 0@, в том коде тестировал, визуальная анимация, или нет, спрашивал у игроков.
 

jenekbueno

Известный
157
69
че за хуйня у тебя братик, в конечных циклах ваит 0 не используй, так незя, где метка qq2 ? зачем тебе получать параметры команды в лабеле qq ?
вот переделал малех, работает

Код:
{$CLEO .cs}
0000:

:SampAv
wait 0
0AFA:  is_samp_available
jf @SampAv

:AAA
wait 0
04ED: load_animation  "BSKTBALL"

:cmd
0B34: samp register_client_command "qq" to_label @qq
0BDE: pause_thread 0

:qq
0605: actor $PLAYER_ACTOR perform_animation "BBALL_def_loop" IFP "BSKTBALL" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time 3000
04EF: release_animation "BSKTBALL"
samp.CmdRet()
 

_Vine_

Активный
Автор темы
154
57
че за хуйня у тебя братик, в конечных циклах ваит 0 не используй, так незя, где метка qq2 ? зачем тебе получать параметры команды в лабеле qq ?
вот переделал малех, работает

Код:
{$CLEO .cs}
0000:

:SampAv
wait 0
0AFA:  is_samp_available
jf @SampAv

:AAA
wait 0
04ED: load_animation  "BSKTBALL"

:cmd
0B34: samp register_client_command "qq" to_label @qq
0BDE: pause_thread 0

:qq
0605: actor $PLAYER_ACTOR perform_animation "BBALL_def_loop" IFP "BSKTBALL" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time 3000
04EF: release_animation "BSKTBALL"
samp.CmdRet()
Ну, знаешь, не сказал бы что работает как надо. Лично у меня, анимка у меня видна, но она визуальная, спрашивал у игроково на сервере, сказали что ее не видно. В моем клео точно так же, если time любое число кроме -1 - то анимка визуальная. А еще, в твоем клео так же есть та же проблема, тестил твой клео без изменений - краш при вводе команды, изменил $PLAYER_ACTOR на $3, крашиться перестало. Оно то не мешает, но все же интерестно почему так. Вообщем я уже по другому клео написал, можете закрывать тему, уже не нужно.
 
Статус
В этой теме нельзя размещать новые ответы.