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

PoccoJI

Новичок
135
10
{$CLEO .cs}
{$INCLUDE includes\RakNetDefines.txt}
0662: "GovnoProject"

if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end

while not SAMP.Available()
wait 100
end

0B34: samp register_client_command "gst" to_label @gst

:gst
wait 0
if 0B35: samp 29@ = get_last_command_params
0AD4: 1@ = scan_string 29@ format "%d" 2@
then
if SAMP.IsPlayerConnected(2@)
jf @1
3@ = SAMP.GetActorHandleByPlayerID(2@)
Actor.StorePos(3@, 4@, 5@, 6@)
Actor.StorePos($player_actor, 7@, 8@, 9@)
Actor.PutAt($player_actor, 4@, 5@, 6@)
10@ = SAMP.GetPlayerHealthByActorHandle(3@)
11@ = SAMP.GetPlayerArmorByActorHandle(3@)
Actor.PutAt($player_actor, 7@, 8@, 9@)
12@ = SAMP.GetPlayerNickname(2@)
13@ = SAMP.GetPlayerScore(2@)
14@ = SAMP.GetPlayerPing(2@)
wait 250
0af8: "==========================" color 0x00FF00
0af8: "Nickname: %c[%d]" 12@ 2@ color 0x0000FF
0af8: "Health/Armor: {FF0000}%d, {A9A9A9}%d" 10@ 11@
0af8: "Score/Ping: %d %d" 13@ 14@ color 0x008000
0af8: "==========================" color 0x00FF00

:1
wait 0
0af8: "%d Не найден" 2@
jf @gst

end
SAMP.CmdRet()
Когда захожу в игру мигает экран и после ввода команды крашит. В чем проблема?
 

hnnssy

Известный
Друг
2,684
2,748
Когда захожу в игру мигает экран и после ввода команды крашит. В чем проблема?
Нет цикла после регистрации команды, и wait'ы с новым сф в командах не работают. А, и ещё ХП с бронью нужно получать с id игрока, а не хэндла.

upd
Что за бред?
Код:
:gst
....
 
if SAMP.IsPlayerConnected(2@)
jf @1
....
 
:1
wait 0
0af8: "%d Не найден" 2@
jf @gst
Бесконечно ведь прыгает и приведёт к зависанию. И команда gst не закрыта, где cmd_ret?
 

san0

Известный
Друг
411
267
Когда захожу в игру мигает экран и после ввода команды крашит. В чем проблема?
небольшой пример, доделай сам
Код:
{$CLEO .cs}
0662: "GovnoProject"
 
if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end
 
while not SAMP.Available()
wait 100
end
 
0B34: samp register_client_command "gst" to_label @gst
 
while true
    wait 0
    if 10@ == 1
    then
        wait 500
        0af8: "==========================" color 0x00FF00
        wait 500
        0af8: "Nickname: %c[%d]" 12@ 2@ color 0x0000FF
        wait 500
        0af8: "Health/Armor: {FF0000}%d, {A9A9A9}%d" 10@ 11@
        wait 500
        0af8: "Score/Ping: %d %d" 13@ 14@ color 0x008000
        wait 500
        0af8: "==========================" color 0x00FF00
        0B12: 14@ = 14@ XOR 1 // 14@ == 0
    end
end
       
:gst
0B35: samp 0@ = get_last_command_params
if 0AD4: 0@ = scan_string 0@ format "%d" 1@
then
    if SAMP.IsPlayerConnected(1@)
    then
        // тут твои действия, к примеру, получения хп и брони
        0B12: 14@ = 14@ XOR 1 // 14@ = 1
    else
        gosub @else
    end
else
    gosub @else
end
Samp.CmdRet()
 
:else
0af8: "[Ошибка] {0000FF}%d не в зоне стрима /не подключен" 1@ color 0xFF0000
return

Так wait будет работать
 

a9GqC0p5lGgf

Новичок
15
3
Как считывать данные с диалогам? В диалоге 1,32,51 и т.п. Как их взять с диалога? :D
 

diCi

Новичок
1
0
Как сделать так, чтобы было своё значение вместо (%s)
т.е пишешь "/comanda 123" и в чат фейковым сообщением вылазит "бла бла 123"?
 

hnnssy

Известный
Друг
2,684
2,748
Как сделать так, чтобы было своё значение вместо (%s)
т.е пишешь "/comanda 123" и в чат фейковым сообщением вылазит "бла бла 123"?
Код:
{$CLEO .cs}
 
if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end
while not SAMP.Available()
    wait 100
end
 
0B34: samp register_client_command "cmd" to_label @cmd
 
while true
    wait 0
end 
 
:cmd
0B35: samp 1@ = get_last_command_params
0AF8: samp add_message_to_chat "бла бла бла %s" 0xff0000 1@
0B43: samp cmd_ret
 
  • Нравится
Реакции: diCi

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Как проверить, что игрок перезаряжается?


Код:
:get_CWeapon_m_dwState
0A96: 0@ = actor $PLAYER_ACTOR struct
 
0A8E: 1@ = 0@ + 0x0718 // CPed.m_cWeaponSlot
0A8D: 1@ = read_memory 1@ size 1 virtual_protect 0
1@ *= 0x1C // sizeof(cWeaponSlot)
 
0A8E: 2@ = 0@ + 0x5A0 // CPed.m_aclWeaponSlots
005a: 2@ += 1@
2@ += 0x4 // CWeapon.m_dwState
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
ret 1 2@

Статус: 0 - ожидание, 1 - стреляет, 2 - перезарядка
 
  • Нравится
Реакции: SR_team