Гайд Урок [№4] От Drumk3N | Телепорт к игроку через команду.

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

Drumk3N

Известный
Автор темы
9
5
Всем привет, c вами я Drumk3N !
Сегодня начинается мой четвертый урок по программированию CLEO для новичков

***
Прежде чем читать этот урок, советую прочитать справку SannyBuilder
Создание команды используя SAMPFUNCS (для разработчиков).​
* Если что то было не понятно, то задавайте вопросы ниже в комментариях.
* Запомните! wait запрещено использовать в командах.
CLEO:
{$CLEO}
{$INCLUDE SF} // Подключаем SAMPFUNCS для разработчиков.

0000: nop // Нуллевой оффсет

wait 2000 // Прогружаем sampfuncs
0B34: samp register_client_command "bhcmd" to_label @new_cmd
{
    "bhcmd" - Это ваша команда, запомните туда не нужно указывать /
    to_label @new_cmd - Отправляем к началу скрипта new_cmd
}

while true // Цикл
    wait 0 // Ожидание 0
end // Конец цикла

:new_cmd // Начало метки
0B35: samp 0@ = get_last_command_params // Параметры
if 0AD4: 1@ = scan_string 0@ format "%d" 2@ // Сканируем число которое было введено в параметр
    {
        1@ - Переменная в которой хранится всё это дело
        0@ - Переменная которая сканируется из параметра
        2@ - Это число которое было введено в параметр команды
    }
then // Тогда
    0B20: samp 4@ = actor_handle_by_samp_player_id 2@ // Узнаём хендл игрока по его иду
    if 0B23:  samp is_player_connected 2@ // Если игрок подключен
    {
        2@ = Это ид игрока
    }
    then // Тогда
        if 056D:  actor 4@ defined // Если актёр(игрок) существует
        {
            4@ = Это сам актёр
        }
        then // Тогда
            00A0: store_actor 4@ position_to 5@ 6@ 7@ // Сохраняем позицию актёра(игрока) в переменные 5@ 6@ 7@ (X, Y, Z)
            00A1: put_actor $PLAYER_ACTOR at 5@ 6@ 7@ // Отправляем актёра(игрока) в переменные которые были сохранены с помощью store_actor 5@ 6@ 7@ (X, Y, Z)
            0B36: samp 3@ = get_player_nickname 2@ // Получаем ник жертвы
            {
                3@ = Хранится его ник
                2@ = Хранится его ид
            }
            0AF9: samp say_msg "Я успешно телепортировался к %s[%d] :)" params 3@ 2@ // Когда мы телепортировались к игроку, то отправляем это сообщение в чат
            else 0AF8: samp add_message_to_chat "[error] Игрок не найден" color -1  // Иначе если игрок не существует то уж отправим это сообщение
        end // Конец if 056D:  actor 4@ defined
        else 0AF8: samp add_message_to_chat "[error] Игрок не подключен" color -1 // Иначе отправляем то что игрок не подключен
    end // Конец if 0B23:  samp is_player_connected 2@
    else 0AF8: samp add_message_to_chat "[error] /bhcmd [playerid]" color -1 // Если команды была введена без каких либо параметров, то выводим это сообщение
end // Конец самого первого if(если)
0B43: samp cmd_ret // Конец команды

Пояснение
C помощью данной команды вы сможете телепортироваться к игроку.

Урок был подготовлен Drumk3N'ом
Для сайта BlastHack.Net
 

Firetheestle

Известный
20
0
зачем этот цикл?
Код:
while true // Цикл
wait 0 // Ожидание 0
end // Конец цикла
 

cover

Известный
Проверенный
245
273
зачем этот цикл?
Код:
while true // Цикл
wait 0 // Ожидание 0
end // Конец цикла
Это нужно чтобы работала команда, так при запуске сампа бесконечно циклится джамп на начало, а при вводе команды выполняется функция, 1 раз.
 
  • Нравится
Реакции: Firetheestle
Статус
В этой теме нельзя размещать новые ответы.