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

Enjoy

Новичок
Проверенный
164
11
Посаны подкиньте опкод для проверки маркера в заданных координатах.
Этот не ок работает:
Код:
00C2: is_point_on_screen X Y Z radius 10.0
 

Enjoy

Новичок
Проверенный
164
11
Про получение координат в курсе, просто хотел опкодом в радиусе X Y Z проверить маркер.
Вот короче есть один опкод, только при отсутствии маркера в радиусе 100.0, начинает дико лагать. В чем дело может быть?
Код:
alloc 3@ 64

while true
    wait 0
   
    if 0ab0: 75
    then
        repeat
        wait 0
        until 8ab0: 75
        Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)
        if 0DB4: 3@ = nearset marker to position x 0@ y 1@ radius 100.0
        then
            0af8: "+" -1
        end
    end
end
 
Последнее редактирование:

Niko

Известный
Проверенный
230
268
Про получение координат в курсе, просто хотел опкодом в радиусе X Y Z проверить маркер.
Вот короче есть один опкод, только при отсутствии маркера в радиусе 100.0, начинает дико лагать. В чем дело может быть?
Код:
alloc 3@ 64

while true
    wait 0

    if 0ab0: 75
    then
        repeat
        wait 0
        until 8ab0: 75
        Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)
        if 0DB4: 3@ = nearset marker to position x 0@ y 1@ radius 100.0
        then
            0af8: "+" -1
        end
    end
end
Так попробуй, если "-" пишется, а игра лагает, то проблема где-то в другом месте.
Код:
alloc 3@ 64
while true
    wait 0

    if 0ab0: 75
    then
        repeat
        wait 0
        until 8ab0: 75
        Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)
        if 0DB4: 3@ = nearset marker to position x 0@ y 1@ radius 100.0
        then
            0af8: "+" -1
        else
            0af8: "-" -1
        end
    end
end
 

Enjoy

Новичок
Проверенный
164
11
Так попробуй, если "-" пишется, а игра лагает, то проблема где-то в другом месте.
Код:
alloc 3@ 64
while true
    wait 0

    if 0ab0: 75
    then
        repeat
        wait 0
        until 8ab0: 75
        Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)
        if 0DB4: 3@ = nearset marker to position x 0@ y 1@ radius 100.0
        then
            0af8: "+" -1
        else
            0af8: "-" -1
        end
    end
end
да лол, в том то и дело, что в этом проблема.
Минус пишется, но идет фриз. Я хз, мб нельзя этот опкод в условии использовать.
Хотя комментарий стоит IF & Set.
 

Niko

Известный
Проверенный
230
268
да лол, в том то и дело, что в этом проблема.
Минус пишется, но идет фриз. Я хз, мб нельзя этот опкод в условии использовать.
Хотя комментарий стоит IF & Set.
Этот опкод можно использовать в проверке. Только вот я не пойму зачем занимать память?
Ну я бы сделал так.

Код:
{$CLEO}
0000:

while not Samp.Available()
    wait 400
end

while true
wait 0
    if 0ab0: 75
    then
    wait 150 
    Actor.StorePos($player_actor, 0@ 1@ 2@)
        if 0DB4: 3@ = nearset marker to position x 0@ y 1@ radius 100.0
        then
        0af8: "+" -1
        else
        0af8: "-" -1 
        end
    end
end
 

Enjoy

Новичок
Проверенный
164
11
Этот опкод можно использовать в проверке. Только вот я не пойму зачем занимать память?
Ну я бы сделал так.

Код:
{$CLEO}
0000:

while not Samp.Available()
    wait 400
end

while true
wait 0
    if 0ab0: 75
    then
    wait 150
    Actor.StorePos($player_actor, 0@ 1@ 2@)
        if 0DB4: 3@ = nearset marker to position x 0@ y 1@ radius 100.0
        then
        0af8: "+" -1
        else
        0af8: "-" -1
        end
    end
end
Хз, вчера чето без выделения памяти вылетал.
Энивей при ELSE он лагает и если зациклить то он вовсе вылетит.
 

Dark_Knight

Me, me and me.
Друг
4,062
2,077
Юзай это
Код:
 if 00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 1256.46 241.89 19.33 radius 1.0 1.0 1.0
 

Logan4ik

Новичок
139
216
Как сделать,чтобы игрок уходил в афк,по вводу команды или нажатия клавиш?
 

Niko

Известный
Проверенный
230
268
Тут ведь актера в радиусе проверяет (или в сфере).
А я хотел маркер в X Y Z radius N проверить. Или с ним ^ можно чето покрутить?
Может быть так?
Код:
{$CLEO}
0000:
while not Samp.Available()
  wait 400
end
while true
wait 0
  if 0ab0: 75
  then
  wait 150
  Actor.StorePos($player_actor, 0@ 1@ 2@)
  0DB4: 3@ = nearset marker to position x 1@ y 2@ radius 100.0 
  if 0DB3:  marker 3@ position to x 1@ y 2@ z 3@ 
  then
  0af8: "+" -1
  else
  0af8: "-" -1 
  end  
  end
end