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

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,260
1,740
Как сделать проверку, была введена команда или нет?
И еще вопрос, как сделать диалог со списком? (К примеру если на ARP /find прописать, вот такой мне нужен).
https://www.blast.hk/wiki/tutorials:local_dialogs
 

RusFatal

Новичок
114
10
Помогите найти ошибку в клео, после ввода команды /go скрипт должен телепортироваться на координаты, а после ввести команду /tp. При вводе команды /go крашит.
CLEO:
{$CLEO .cs}

thread 'TELEPORT'
0000: nop 
0B34: samp register_client_command "go" to_label @TELEPORT_55

while true
wait 0
end

:TELEPORT_55
wait 0
Actor.PutAt($PLAYER_ACTOR, 500, 500, 20.28)
goto @TELEPORT_33

:TELEPORT_33
wait 3000
0C8F: samp process_chat_input "/tp"
0b43: samp cmd_ret
 
Последнее редактирование:

p1cador

cerf
Проверенный
220
359
@RusFatal
в теле команды нельзя использовать wait
и еще лучше бы перед регистрацией команды установить проверку
CLEO:
while not SAMP.Available()
    wait 100
end
и вообще goto в 2к17 это зашквар
 

RusFatal

Новичок
114
10
@p1cador
Убрал wait, поставил проверку. Скрипт всё равно не работает, краш.
CLEO:
{$CLEO .cs}

thread 'TELEPORT'
0000: nop
0B34: samp register_client_command "go" to_label @TELEPORT_55

while true
wait 0
end

while not SAMP.Available()
    wait 100
end

:TELEPORT_55
Actor.PutAt($PLAYER_ACTOR, 500, 500, 20.28)
goto @TELEPORT_33

:TELEPORT_33
0C8F: samp process_chat_input "/tp"
0b43: samp cmd_ret
и вообще goto в 2к17 это зашквар
Я только начинаю учиться клео, если подскажешь чем заменить, буду рад.
 

BlackKnigga

Известный
BH Team
922
445
@p1cador
Убрал wait, поставил проверку. Скрипт всё равно не работает, краш.
CLEO:
{$CLEO .cs}

thread 'TELEPORT'
0000: nop
0B34: samp register_client_command "go" to_label @TELEPORT_55

while true
wait 0
end

while not SAMP.Available()
    wait 100
end

:TELEPORT_55
Actor.PutAt($PLAYER_ACTOR, 500, 500, 20.28)
goto @TELEPORT_33

:TELEPORT_33
0C8F: samp process_chat_input "/tp"
0b43: samp cmd_ret

Я только начинаю учиться клео, если подскажешь чем заменить, буду рад.
Зачем там ваще goto? Убери его и метку за ним.
А "while not SAMP..." нужно поставить до регистрации команды.
 

RusFatal

Новичок
114
10
Зачем там ваще goto? Убери его и метку за ним.
А "while not SAMP..." нужно поставить до регистрации команды.
CLEO:
{$CLEO .cs}

thread 'TELEPORT'
0000: nop

while not SAMP.Available()
    wait 100
end

0B34: samp register_client_command "go" to_label @TELEPORT_55


while true
wait 0
end

:TELEPORT_55
Actor.PutAt($PLAYER_ACTOR, 500, 500, 20.28)

:TELEPORT_33
0C8F: samp process_chat_input "/tp"
0b43: samp cmd_ret
По прежнему краш :(
 

hnnssy

Известный
Друг
2,684
2,748
тебе слова "ДО регистрации команды" я так понял ни о чём не говорят
 

hnnssy

Известный
Друг
2,684
2,748
CLEO:
{$CLEO .cs}
0000:
thread 'TELEPORT'

while not SAMP.Available()
    wait 100
end

0B34: samp register_client_command "go" to_label @cmd

while true
wait 0
end

:cmd
Actor.PutAt($PLAYER_ACTOR, 500, 500, 20.28)
0C8F: samp process_chat_input "/tp"
0b43: samp cmd_ret
 

BlackKnigga

Известный
BH Team
922
445
У тебя поди СФ старый стоит. Установи самый последний, опкод 0Ц8Ф в новых появился
 

p1cador

cerf
Проверенный
220
359
Код:
0C8F: samp process_chat_input "/tp"
странно, но у меня крашит из за слеша, без него все нормально
 

RusFatal

Новичок
114
10
Переустановил SF из этой темы, обновил SF в Sanny Builder, всё-равно происходит краш.
lR5cdv7.png