Сокращенные команды

Статус
В этой теме нельзя размещать новые ответы.

vaxixo

Новичок
Автор темы
2
0
День добрый.
Решил попробовать себя в написании CLEO и SF скриптов. Начать хочу с малого. Посмотрел пару гайдов на YT, разные статьи тут, и я, в принципе, учусь так: беру чей-то код, смотрю, пытаюсь в нем немного разобраться, смотрю что к чему и на основе этого пытаюсь сделать что-то свое. Хочу написать для одного сервера сокращенные команды, но мой уровень написания останавливается на:

CLEO:
{$CLEO}
0000: NOP

0B34: samp register_client_command "deagle" to label @deagle


:deagle
samp.CmdRet()

Короче говоря, буду благодарен тому человеку, который простым крестьянским языком напишет код с сокращением на примере одной команды (к примеру создание Deagle: полная команда /sellgun deagle 30 1 ID, сокращенная /deagle ID), и по аналогу которого, уже я смогу писать сие чудо (для меня это уже нечто, честно говоря).
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
  1. Используем опкод 0B35;
  2. Возвращаемое значение от опкода 0B34 прокатываем через 0AD4 или 0C1A;
  3. Отправляем нужную команду с помощью 0AF9: 0AF9: samp say_msg "/sellgun deagle 30 1 %d" 0@. 0@ содержит значение, которое вернул опкод из предыдущего пункта.
Чуть сокращенный метод, для дебилов так сказать:
  1. Используем опкод 0B35;
  2. Отправляем нужную команду с помощью 0AF9: 0AF9: samp say_msg "/sellgun deagle 30 1 %s" 0@. 0@ содержит значение, которое вернул опкод 0B35.
UPD: 0B34 to 0B35
 

vaxixo

Новичок
Автор темы
2
0
  1. Используем опкод 0B35;
  2. Возвращаемое значение от опкода 0B34 прокатываем через 0AD4 или 0C1A;
  3. Отправляем нужную команду с помощью 0AF9: 0AF9: samp say_msg "/sellgun deagle 30 1 %d" 0@. 0@ содержит значение, которое вернул опкод из предыдущего пункта.
Чуть сокращенный метод, для дебилов так сказать:
  1. Используем опкод 0B35;
  2. Отправляем нужную команду с помощью 0AF9: 0AF9: samp say_msg "/sellgun deagle 30 1 %s" 0@. 0@ содержит значение, которое вернул опкод 0B35.
UPD: 0B34 to 0B35

А полноценным кодом написать можешь?)
Если это не тяжело, конечно.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,986
// ...

CLEO:
{$CLEO}
0B34: samp register_client_command "DEAGLE" to_label @cmd_DEAGLE
// ...
0BDE: pause_thread 0

:cmd_DEAGLE
IF 0B35: samp 0@ = get_last_command_params
THEN 0C1A: 0@ = atoi 0@
    IF AND
    0029:   0@ >= 0
    8019:   NOT 0@ > {MAX_PLAYERS}1004       
    THEN 0AF9: samp say_msg "/sellgun deagle 30 1 %d" {ID}0@
    END       
END
0B43: samp cmd_ret

// By DarkP1xel
 
Статус
В этой теме нельзя размещать новые ответы.