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

Frixen

Известный
131
8
Как получить и записать в локальную переменную свой Ping, Nick, ID
 

DoneUp

Новичок
28
0
искать игроков нужно через память,. Ники это строка, а не дробь.

Ничего не понял( Помогите дописать, исправить, очень нужно такое КЛЕО, а некому помочь, буду благодарен, с меня 5 репы)


PHP:
{$CLEO .cs}
0000: NOP
03A4: "DoneUp"
0002: jump @Done
 
:Done
wait 0
if and
056D: actor $Player_ACTOR defined
0AB0: key_pressed 113
jf @Done
0ACD: "Radius Players ~G~ ON" time 1000
wait 500
018C: play_sound 1057 at 0.0 0.0 0.0
jump @Done2
 
:Done2
wait 0
056D: actor $Player_ACTOR defined
0AB0: not key_pressed 114
jf @Done2
04C4: store_coords_to 1@ 2@ 3@ from_actor $Player_ACTOR with_offset 0.0 0.0 0.0
0AF2: 4@ = get_float_from_ini_file "cleo\radiys.ini" section "Nick" key "NICK"
0AE1: 0@ = random_actor_near_point 1@ 2@ 3@ in_radius 10.0 find_next 1 pass_deads 1
Вот, нужно если игрок рядом то пишит - "%d рядом"
 

Klau_S

Новичок
1
0
Помогите найти клео скрипт который кинет игрока в загруску когда сбиваеш их с машиной
Очень нужен За ранее спасибо!
 

DoneUp

Новичок
28
0
PHP:
{$CLEO .cs}
 
//-------------MAIN---------------
0000: NOP
thread "DoneUp"
jump @DoneUp_329
 
:DoneUp_329
wait 0
0B34: samp register_client_command 'ffind' to_label @DoneUp_372
jump @DoneUp_329
 
:DoneUp_372
wait 0
  SAMP.IsCommandTyped(12@)
if
0AD4: 4@ = scan_string 12@ format "%i" 16@
else_jump @DoneUp_595
if
  16@ >= 0
else_jump @DoneUp_820
if
  16@ <= 500
else_jump @DoneUp_8200
if
  SAMP.IsPlayerConnected(16@)
else_jump @DoneUp_703
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
0AF9: "/find %d" 16@
wait 5000
SAMP.CmdRet
 
:DoneUp_595
wait 0
0AF8: samp add_message_to_chat "{FF3333}Неверный формат. {FFFFFF}Правильно: {99FF33}/ffind ID" color 16777215
SAMP.CmdRet
 
:DoneUp_703
wait 0
0AF8: samp add_message_to_chat "{FF3333}[Ошибка]: {FFFFFF}Игрок: {99FF33}%i{FFFFFF}, не подключён." color 16777215 16@
SAMP.CmdRet
 
:DoneUp_820
wait 0
0AF8: samp add_message_to_chat "{FF3333}[Ошибка]: {FFFFFF}ID игрока не может быть отрицательным." color 16777215
SAMP.CmdRet
:DoneUp_8200
wait 0
0AF8: samp add_message_to_chat "{FF3333}[Ошибка]: {FFFFFF}ID игрока не может быть больше {99FF33}500{FFFFFF}." color 16777215
SAMP.CmdRet
Почему неработает wait, и как это исправить
 

Dark_Knight

Me, me and me.
Друг
4,068
2,083
Не используй стринговые переменные. Они выделяют по 8 и 16 байт. Лучше через 0ac8 выдели память и юзай её как стринговую. Вот тебе пример 0ac8 и рабочий код, того что ты хотел сделать.
Код:
{$CLEO}
{$NOSOURCE}
{$INCLUDE SF}
if not 31@ = samp.Base()
then
end_thread
else
    while not samp.Available()
    wait 100
    end
end
 
alloc 0@ 256
0B6D: render 4@ = create_font "Arial" height 10 flags 12
 
while true
wait 0
1@ = samp.GetSAMPPlayerIDByActorHandle($player_actor)
2@ = samp.GetPlayerNickname(1@)
3@ = samp.GetPlayerPing(3@)
0ad3: 1@ "Nick: %s%cId: %d%cPing: %d" 2@ 10 1@ 10 3@
render.DrawText(4@,1@,10, 480, -1)
end
 

Frixen

Известный
131
8
Не используй стринговые переменные. Они выделяют по 8 и 16 байт. Лучше через 0ac8 выдели память и юзай её как стринговую. Вот тебе пример 0ac8 и рабочий код, того что ты хотел сделать.
Код:
{$CLEO}
{$NOSOURCE}
{$INCLUDE SF}
if not 31@ = samp.Base()
then
end_thread
else
    while not samp.Available()
    wait 100
    end
end
 
alloc 0@ 256
0B6D: render 4@ = create_font "Arial" height 10 flags 12
 
while true
wait 0
1@ = samp.GetSAMPPlayerIDByActorHandle($player_actor)
2@ = samp.GetPlayerNickname(1@)
3@ = samp.GetPlayerPing(3@)
0ad3: 1@ "Nick: %s%cId: %d%cPing: %d" 2@ 10 1@ 10 3@
render.DrawText(4@,1@,10, 480, -1)
end

C этим кодом экран моргает