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

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
24@ - id player, not handle.
You use 24@ in:
02CB: actor 24@ bounding_sphere_visible
4@ = Actor.Angle(24@)
etc.

Understand? :D
 

[Nexus]

Известный
41
2
Привет всем. В общем нужно что-бы по всем id которые есть в игре ввелась определенная команда. :pilot:
 

Zaxar_D

Известный
53
5
Код:
{$CLEO}
 
0000:
 
while not SAMP.Available()
    wait 400
end
 
while true
    wait 0
    repeat
        wait 0
    until 0B61:  samp is_local_player_spawned
 
    0af8: "message" -1
 
    while 0B61:  samp is_local_player_spawned
        wait 0
    end
end

Даже и не думал что все на столько просто, давно не лазил в CLEO.
Помню на 0.3x было немного геморойнее)
 

[Nexus]

Известный
41
2
Какая команда нужна?

/banall

Получилось что-то вроде этого:
Код:
{$CLEO}
 
0000:
 
repeat
    wait 400
until 0AFA: is_samp_structures_available
 
0AF8: samp add_message_to_chat "Массовый бан. Команда:/banall {EAEAEA}Автор: [nexus]{EAEAEA}." 0xc3d73e
0B34: samp register_client_command "banall" to_label @banall
while true
    wait 0
end
 
 
:banall
for 0@ = 0 to 999
    if samp.IsPlayerConnected(0@)
    then 0B20: samp 1@ = actor_handle_by_samp_player_id 0@
        0af9: "/ban %d 91" 0@
        end
    end
samp.cmdret
 

SR_team

like pancake
BH Team
4,720
6,370
/banall

Получилось что-то вроде этого:
Код:
{$CLEO}
 
0000:
 
repeat
    wait 400
until 0AFA: is_samp_structures_available
 
0AF8: samp add_message_to_chat "Массовый бан. Команда:/banall {EAEAEA}Автор: [nexus]{EAEAEA}." 0xc3d73e
0B34: samp register_client_command "banall" to_label @banall
while true
    wait 0
end
 
 
:banall
for 0@ = 0 to 999
    if samp.IsPlayerConnected(0@)
    then 0B20: samp 1@ = actor_handle_by_samp_player_id 0@
        0af9: "/ban %d 91" 0@
        end
    end
samp.cmdret

Твой код должен работать, только зачем 0b20:?
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,962
PHP:
0AA2: 15@ = load_library "Kernel32.DLL" // IF and SET
0AA4: 16@ = get_proc_address "GetVolumeInformationA" library 15@ // IF and SET
0AC7: 17@ = var 17@ offset
0AA5: call 16@ num_params 8 pop 0 0 0 0 0 17@ 0 0 0 
0AA3: free_library 15@

Этот код позволяет получить серийный номер жёсткого диска. Можете ли пожалуйста объяснить 2 вещи?

1) Зачем нужно делать: 0AC7: 17@ = var 17@ offset (В этом коде)
2) 0AA5: call 16@ num_params 8 почему тут цифра 8?

Благодарю заранее за ответ.
 

fonarik

Известный
206
3
Для чего и как использовать опкод
0C11: memset destination 0@ value 1@ size 0x4
желательно простой пример использования