RedBoxWhite
Известный
- 337
- 27
А, соре. Ступил, оно мне выдавало число, а потом я его на 0 делал.Это ты тупишь. После окончания цикла нужно будет просто сбросить переменную.
А, соре. Ступил, оно мне выдавало число, а потом я его на 0 делал.Это ты тупишь. После окончания цикла нужно будет просто сбросить переменную.
Подробнее)Опкоды SF установи.
Обновил,скомпилировал) спсОпкоды SF установи.
{$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
ну так выведи в 0af8 и посмотри что тамПомогите исправить. При активации на СРП пишет "неверное количество", т.е. после /usedrugs выводится не 1-16, а что-то другое.Код:{$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
: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 из тела команды, а там задержки игнорируютсяпомогите непутёвому понять почему игнорируется задержка и из всех этих строк отправляется только последняя. 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 из тела команды, а там задержки игнорируются
перекинуть команду в главный циклпонял, а как мне поступить тогда?
if 0C18: 0 = 0@ "RBW:"
then
0@ += 4
0AF8: "%s" -1 0@
end
Как сделать, чтобы выводило строку, пока она не дойдёт до нужного мне символа.
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@
{$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
{$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?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 3.2 +опкоды сапфункц