Помогите сделать автодокладчика на CLEO

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

Rapt0r6113

Известный
Автор темы
103
11
Привет, хотел сделать автодоклад в рацию для СРП
В мыслях было так: если игрок стоит у поста сетка, и написал команду к примеру /autoreport, то писал бы в рацию, ждал бы какое-то время и опять проверял бы позицию игрока.
Что-то написал, но при активации зависает ГТА, посмотрите, поругайте, если нужно :)
Код:
CLEO:
{$CLEO}
0000:

:samp
wait 60
if
0AFA:  is_samp_available
jf @samp
0B34: samp register_client_command "autoreport" to_label @activation

:activation
wait 60
  jump @next
Samp.CmdRet()

:GC
0AF9: samp say_msg "/f [Ó×] Ïîñò: ÃÑ | Ñîñòàâ 1| Ñîñòîÿíèå: ñïîêîéíî"
jump @repeat

:next
If
  00ED:   actor $PLAYER_ACTOR sphere 0 near_point 345.7285 1799.2732 18.4425 radius 100.0 100.0 on_foot
  then
  jump @Setka
  else
  if
    00ED:   actor $PLAYER_ACTOR sphere 0 near_point 99.2447 1922.5419 18.2262 radius 100.0 100.0 on_foot
    then
    jump @KPP
    else
      if
      00ED:   actor $PLAYER_ACTOR sphere 0 near_point 338.5143 1933.1534 21.4146 radius 100.0 100.0 on_foot
      then
      jump @GC
    end
  end
end

:Setka
0AF9: samp say_msg "/f [Ó×] Ïîñò: Ñåòêà | Ñîñòàâ: 1 | Ñîñòîÿíèå: ñïîêîéíî"
jump @repeat

:KPP
0AF9: samp say_msg "/f [ÓÊ] Ïîñò: ÊÏÏ | Ñîñòàâ:1 | Ñîñòîÿíèå:ñïîêîéíî"
jump @repeat

:repeat
wait 120000
jump @next
P.S хз, но почему-то руский язык не показывает
 

Сэнд

Известный
Проверенный
436
213
CLEO:
{$CLEO .cs}
0000:
repeat
     wait 0
until SAMP.Available()

0B34: samp register_client_command "autoreport" to_label @cmd
0@ = 0

while true
wait 0
     if 0@ == 1
     then
          if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 345.7285 {Y} 1799.2732 {Z} 18.4425 radius 100.0 100.0
          then
               // Действие 1
          end
          else if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 99.2447 {Y} 1922.5419 {Z} 18.2262 radius 100.0 100.0
          then
               // Действие 2
          end
          else if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 338.5143 {Y} 1933.1534 {Z} 21.4146 radius 100.0 100.0
          then
               // Действие 3
          end
     end
end

:cmd
if 0@ == 1
     then
     0@ = 0
     else
     0@ = 1
end
Samp.CmdRet()
 

Rapt0r6113

Известный
Автор темы
103
11
CLEO:
{$CLEO .cs}
0000:
repeat
     wait 0
until SAMP.Available()

0B34: samp register_client_command "autoreport" to_label @cmd
0@ = 0

while true
wait 0
     if 0@ == 1
     then
          if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 345.7285 {Y} 1799.2732 {Z} 18.4425 radius 100.0 100.0
          then
               // Действие 1
          end
          else if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 99.2447 {Y} 1922.5419 {Z} 18.2262 radius 100.0 100.0
          then
               // Действие 2
          end
          else if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 338.5143 {Y} 1933.1534 {Z} 21.4146 radius 100.0 100.0
          then
               // Действие 3
          end
     end
end

:cmd
if 0@ == 1
     then
     0@ = 0
     else
     0@ = 1
end
Samp.CmdRet()
ща чекну, заранее спс, что потрудился
 

Rapt0r6113

Известный
Автор темы
103
11
хз, ввожу команду, стою чётко на координатах, ничего
 

Rapt0r6113

Известный
Автор темы
103
11
ты дописал свой текст?
да
CLEO:
{$CLEO .cs}
0000:
repeat
     wait 0
until SAMP.Available()

0B34: samp register_client_command "autoreport" to_label @cmd
0@ = 0

while true
wait 0
     if 0@ == 1
     then
          if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 345.7285 {Y} 1799.2732 {Z} 18.4425 radius 100.0 100.0
          then
             0AF9: samp say_msg "/f [Ó×] Ïîñò: Ñåòêà | Ñîñòàâ: 1 | Ñîñòîÿíèå: ñïîêîéíî"
          end
          else if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 99.2447 {Y} 1922.5419 {Z} 18.2262 radius 100.0 100.0
          then
             0AF9: samp say_msg "/f [ÓÊ] Ïîñò: ÊÏÏ | Ñîñòàâ:1 | Ñîñòîÿíèå:ñïîêîéíî"   // Äåéñòâèå 2
          end
          else if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 338.5143 {Y} 1933.1534 {Z} 21.4146 radius 100.0 100.0
          then
             0AF9: samp say_msg "/f [Ó×] Ïîñò: ÃÑ | Ñîñòàâ 1| Ñîñòîÿíèå: ñïîêîéíî"  // Äåéñòâèå 3
          end
     end
end

:cmd
if 0@ == 1
     then
     0@ = 0
     else
     0@ = 1
end
Samp.CmdRet()
 

Сэнд

Известный
Проверенный
436
213
Попробуй закомментировать проверку на ввод команды и протестировать. Если будет всё работать, то это в ней проблема. И поставь вейты возле действий, а то флуд будет адский

Я понял, выполняется только первое условие.


CLEO:
{$CLEO .cs}
0000:
repeat
     wait 0
until SAMP.Available()

0B34: samp register_client_command "autoreport" to_label @cmd
0@ = 0

while true
wait 0
     if 0@ == 1
     then
          if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 345.7285 {Y} 1799.2732 {Z} 18.4425 radius 100.0 100.0
          then    
               // Действие 1
               // Задержка
          end
          if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 99.2447 {Y} 1922.5419 {Z} 18.2262 radius 100.0 100.0
          then
               // Действие 2
               // Задержка
          end
          if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 338.5143 {Y} 1933.1534 {Z} 21.4146 radius 100.0 100.0
          then
               // Действие 3
               // Задержка
          end
     end
end

:cmd
if 0@ == 1
     then
     0@ = 0
     else
     0@ = 1
end
Samp.CmdRet()

Да и радиус 100 слишком уж большой, сделай его поменьше.
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.