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

ma_za_xa_ka

Известный
42
0
Код:
while true
wait 0
0AB4: 10@ = var 145
if 10@ == 1
then
Camera.SetBehindPlayer()
05D3: AS_actor $PLAYER_ACTOR goto_point X Y Z mode 6 time 3000 ms // versionA
if 00ED: actor $PLAYER_ACTOR sphere 0 near_point X Y radius 3.0 3.0 on_foot
then
10@ = 2
end
end
end
 
while true
wait 0
if 10@ == 2
then
Camera.SetBehindPlayer()
05D3: AS_actor $PLAYER_ACTOR goto_point X1 Y1 Z1 mode 6 time 3000 ms // versionA 
if 00ED: actor $PLAYER_ACTOR sphere 0 near_point X1 Y1 radius 0.6 0.6 on_foot 
then
10@ = 0
end
end
end
Добегает до координат и начинает кружиться по кругу. Почему так происходит?
 

Dark_Knight

Me, me and me.
Друг
4,064
2,078
Потому что работает только это
Код:
[FONT=Consolas]while true[/FONT]
[FONT=Consolas]wait 0
0AB4: 10@ = var 145
if 10@ == 1
then
Camera.SetBehindPlayer()
05D3: AS_actor $PLAYER_ACTOR goto_point X Y Z mode 6 time 3000 ms // versionA
if 00ED: actor $PLAYER_ACTOR sphere 0 near_point X Y radius 3.0 3.0 on_foot
then
10@ = 2
end
end [/FONT]
[FONT=Consolas]end[/FONT]
 

PoccoJI

Новичок
135
10
Код:
while true
wait 0
0AB4: 10@ = var 145
if 10@ == 1
then
Camera.SetBehindPlayer()
05D3: AS_actor $PLAYER_ACTOR goto_point X Y Z mode 6 time 3000 ms // versionA
if 00ED: actor $PLAYER_ACTOR sphere 0 near_point X Y radius 3.0 3.0 on_foot
then
10@ = 2
end
end
end
 
while true
wait 0
if 10@ == 2
then
Camera.SetBehindPlayer()
05D3: AS_actor $PLAYER_ACTOR goto_point X1 Y1 Z1 mode 6 time 3000 ms // versionA
if 00ED: actor $PLAYER_ACTOR sphere 0 near_point X1 Y1 radius 0.6 0.6 on_foot
then
10@ = 0
end
end
end
Добегает до координат и начинает кружиться по кругу. Почему так происходит?




0DBA: 1@ = new_cleo_thread from_label @start

:start
while true
<code>
end
так попробуй
 

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
если добавляю после 10@ = 2 break то крашит

быдлокод какой-то.
:goto_0
goto point_0
:goto_0_check
wait 0
if player in point 0
jf @goto_0_check
:goto_1
goto point_1
:goto_1_check
wait 0
if player in point 1
jf @goto_1_check
jump @goto_0
вот пример кода, который будет ходить от точке к точке бесконечно, а краш это результат хуевых опкодов, несовпадения типов параметров итд
 

SR_team

like pancake
BH Team
4,720
6,370
быдлокод какой-то.
:goto_0
goto point_0
:goto_0_check
wait 0
if player in point 0
jf @goto_0_check
:goto_1
goto point_1
:goto_1_check
wait 0
if player in point 1
jf @goto_1_check
jump @goto_0
вот пример кода, который будет ходить от точке к точке бесконечно, а краш это результат хуевых опкодов, несовпадения типов параметров итд

Что делает "if player in point 0" И что к чему вообще в коде, тут или меток не хватает или названы иначе
 

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Что делает "if player in point 0" И что к чему вообще в коде, тут или меток не хватает или названы иначе

Это вообще не будет работать.

это условность никто же тут не подумал блеать что я пойду опкоды расписывать и делать готовый код я накидал шаблон а опкоды вставлят ну нахрен, тем более человек не глупый раз знает хотя бы в каком месте нужно break ставить, ведь он правильно говорит где его ставить, хз почему у него краш я просто привел аналогию его же кода только на метках они белее стабильны, все равно ваш исходник будет метками забит, да и если декомпилить исходник то половину конструкций можно выкинуть поэтому если выбор между while true wait 0 end и :label wait 0 jump @label то второе более предпочтительнее
и репы мне репы бля умаляю прошу репы
 

TheMonstercat

Известный
75
11
Hey i try to edit a Server Textdraw but i get a crash...
Hope someone can fix it :)

Код:
{$CLEO .cs}
0000:
 
 
REPEAT
    WAIT 0
UNTIL 0AFA:  SAMP_IS_READY
 
 
 
WHILE TRUE
    WAIT 0
    IF
    0AB0: 88
    THEN
    0AF7: samp 0@ = get_base
    0AD3: 1@ = format "ugbase"
    0AB1: call @writeTextDraw 3 0@ 4 1@
    END
END
 
 
:writeTextDraw
0085: 2@ = 0@
2@ += 0x212A80
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
2@ += 0x3D9
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
2@ += 0x2400
1@ *= 4
005A: 2@ += 1@
0A8C: write_memory 2@ size 4 value 3@ virtual_protect 0
0AB2: ret 0