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

#Happy

Новичок
7
0
помогите - хочу изменить текст в клео,изменяю компилирую и выдает ошибку

код
{$CLEO}
0000: NOP

repeat
wait 500
until Samp.Available()
while true
wait 0
if and
not Samp.ChatInputOpened()
0ab0: 82
then
10@ = Actor.Health($PLAYER_ACTOR)
wait 0
if
10@ < 160
then
9@ = 160
0062: 9@ -= 10@
0016: 9@ /= 10
9@ += 1
0AF9: "/usedrugs %d" 9@
wait 150
0812: $PLAYER_ACTOR "HANDSUP" "PED" 4.0 0 0 0 0 1
wait 59800
0AF8: samp add_message_to_chat "[!] Лимит прошел > ЮЗАЙ БЛЯТЬ [!]" color 0x3366FF
wait 0
if
8ab0: 82
then
end
end
end
end

Ошибка - Неизвестная команда Samp.Available().
 

Memes_Problemes

Новичок
4
0
Код:
{$CLEO}
0000: NOP

repeat
wait 500
until Samp.Available()

while true
wait 0
if and
not Samp.ChatInputOpened()
0ab0: 82
then
10@ = Actor.Health($PLAYER_ACTOR)
wait 0
if
10@ < 160
then
9@ = 160
0062: 9@ -= 10@
0016: 9@ /= 10
9@ += 1
0AF9: "/usedrugs %d" 9@
wait 1200
if
8ab0: 82
then
end
end
end
end
Помогите исправить. При активации на СРП пишет "неверное количество", т.е. после /usedrugs выводится не 1-16, а что-то другое.
 

hnnssy

Известный
Друг
2,684
2,754
Код:
{$CLEO}
0000: NOP

repeat
wait 500
until Samp.Available()

while true
wait 0
if and
not Samp.ChatInputOpened()
0ab0: 82
then
10@ = Actor.Health($PLAYER_ACTOR)
wait 0
if
10@ < 160
then
9@ = 160
0062: 9@ -= 10@
0016: 9@ /= 10
9@ += 1
0AF9: "/usedrugs %d" 9@
wait 1200
if
8ab0: 82
then
end
end
end
end
Помогите исправить. При активации на СРП пишет "неверное количество", т.е. после /usedrugs выводится не 1-16, а что-то другое.
ну так выведи в 0af8 и посмотри что там
 

Clopster

Известный
143
96
помогите непутёвому понять почему игнорируется задержка и из всех этих строк отправляется только последняя. gosub не использую. просто идет jump из другой метки на эту при выполнении условия... заменил на вывод в чат - он мне все слова в 1 секунду написал.
CLEO:
:timer
wait 0
0acd: "~r~1" time 500
wait 1000
0acd: "~r~2" time 500
wait 1000
0acd: "~r~3" time 500
wait 1000
0acd: "~r~4" time 500
wait 1000
0acd: "~r~pzdc" time 500
wait 1000
0acd: "~r~poch" time 500
wait 1000
0acd: "~r~ne" time 500
wait 1000
0acd: "~r~pishet" time 500
wait 1000
0acd: "~r~etu" time 500
wait 1000
0acd: "~r~huetu" time 500
wait 1000
0acd: "~w~car ~g~spawned" time 500
jump @end
 
Последнее редактирование:

hnnssy

Известный
Друг
2,684
2,754
помогите непутёвому понять почему игнорируется задержка и из всех этих строк отправляется только последняя. gosub не использую. просто идет jump из другой метки на эту при выполнении условия... заменил на вывод в чат - он мне все слова в 1 секунду написал.
CLEO:
:timer
wait 0
0acd: "~r~1" time 500
wait 1000
0acd: "~r~2" time 500
wait 1000
0acd: "~r~3" time 500
wait 1000
0acd: "~r~4" time 500
wait 1000
0acd: "~r~pzdc" time 500
wait 1000
0acd: "~r~poch" time 500
wait 1000
0acd: "~r~ne" time 500
wait 1000
0acd: "~r~pishet" time 500
wait 1000
0acd: "~r~etu" time 500
wait 1000
0acd: "~r~huetu" time 500
wait 1000
0acd: "~w~car ~g~spawned" time 500
jump @end
потому что ты прыгаешь на :timer из тела команды, а там задержки игнорируются
 

RedBoxWhite

Известный
337
27
Как сделать, чтобы выводило строку, пока она не дойдёт до нужного мне символа.
Пример строки:
RBW: Привет, петух))) Пум.
Я делаю так:
CLEO:
if 0C18: 0 = 0@ "RBW:"
then
0@ += 4
0AF8: "%s" -1 0@
end
Выводит всё нормально, целую строку, но надо так:
Привет, петух
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,463
Как сделать, чтобы выводило строку, пока она не дойдёт до нужного мне символа.
CLEO:
0C2A: 1@ = strchr 0@ char 0x29 // ")"
0062: 1@ -= 0@ // len
1@++ // \0
alloc 2@ 1@
memset 2@ 0 1@
1@-- //
0C24: strncpy destination 2@ source 0@ size 1@
0AF8: "%s" -1 2@
 
  • Нравится
Реакции: RedBoxWhite

seriu

Известный
7
1
Всем привет, в общем в клео я новичок, что-то где то подглядел и соорудил такой код:

CLEO:
{$CLEO .cs}

0000: NOP

:NONAME_2
wait 0
   SAMP.Available
else_jump @NONAME_2
0B34: samp register_client_command "de" to_label @f_deagle
0B34: samp register_client_command "ak" to_label @f_ak
0B34: samp register_client_command "rif" to_label @f_rifle
0B34: samp register_client_command "smg" to_label @f_smg
0B34: samp register_client_command "sd" to_label @f_sdpistol
0B34: samp register_client_command "sh" to_label @f_shotgun
0B34: samp register_client_command "m4" to_label @f_m4

:f_check
wait 0
jump @f_check

if
0AD4: 0@ = scan_string 0@ format "%d" 1@
else_jump @f_error

:f_error
SAMP.CmdRet

2@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)

:f_deagle
say "/sellgun deagle %d 4 %d" 1@ 2@
SAMP.CmdRet

:f_ak
say "/sellgun ak47 %d 4 %d" 1@ 2@
SAMP.CmdRet

:f_rifle
say "/sellgun rifle %d 4 %d" 1@ 2@
SAMP.CmdRet

:f_smg
say "/sellgun smg %d 4 %d" 1@ 2@
SAMP.CmdRet

:f_sdpistol
say "/sellgun sdpistol %d 4 %d" 1@ 2@
SAMP.CmdRet

:f_shotgun
say "/sellgun shotgun %d 4 %d" 1@ 2@
SAMP.CmdRet

:f_m4
say "/sellgun m4 %d 4 %d" 1@ 2@
SAMP.CmdRet


Но выводит такое сообщение "Патронов должно быть от 1 до 100"
Может кто подсказать, что я сделал не так?

CLEO:
{$CLEO}
if
not 29@ = samp.base()
then
end_thread
end

repeat
wait 400
until samp.Available()

0B34: samp register_client_command "de" to_label @de

while true
wait 0
end

:de
0B35: samp 0@ = get_last_command_params
1@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
say "/sellgun deagle %d 4 %d" 0@ 1@
samp.CmdRet()
Даже с таким кодом та же самая ситуация, может что еще устанавливать нужно в sunny builder?
п.с sunny builder 3.2 +опкоды сапфункц
 
Последнее редактирование модератором:

RedBoxWhite

Известный
337
27
CLEO:
{$CLEO}
if
not 29@ = samp.base()
then
end_thread
end

repeat
wait 400
until samp.Available()

0B34: samp register_client_command "de" to_label @de

while true
wait 0
end

:de
0B35: samp 0@ = get_last_command_params
1@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
say "/sellgun deagle %d 4 %d" 0@ 1@
samp.CmdRet()
Даже с таким кодом та же самая ситуация, может что еще устанавливать нужно в sunny builder?
п.с sunny builder 3.2 +опкоды сапфункц
Память в 0@ выдели. 0B35 получает строку, а не число. Либо переводи строку в число(0C1A), либо после /sellgun deagle поставь %s
 
Последнее редактирование: