Пишем безпалевный Кач Скилов

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
18 Фев 2017
Сообщения
45
Реакции
16
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Все наверное уже знают такую функцию как "Безпалевная прокачка скилла".
И так, разберемся как должно работать это клео ?
Ну по идее, оно просто отнимает патроны у игрока.


Наша последовательность действий:
  • 1) Вначале получаем оружие которое у игрока в руках. Записываем его в переменную.
  • 2) Потом получаем количество патрон этого оружия. Записываем в переменную.
  • 3) Отнимаем от количества патрон единицу.
  • 4) Устанавливаем на это оружие количество патрон равное переменной от которой мы отняли единицу.
  • 5) Ждем секунду и прыгаем назад.
    Приступим к коду.
    Получаем оружие в руках:
  • 0470: 1@ = actor $PLAYER_ACTOR current_weapon
    Получаем количество патрон этого оружия:
    041A: 2@ = actor $PLAYER_ACTOR weapon 1@ ammo
    Отнимаем единицу:
    000E: 2@ -= 1
    И устанавливаем количество патрон на 1 меньше чем было.
    017B: set_actor $PLAYER_ACTOR weapon 1@ ammo_to 2@
    В итоге , благодаря этим опкодам, и немного магии, мы получаем клео такого вида:
    {$CLEO .cs}

    //-------------MAIN---------------
    0000: NOP
    0001: wait 0 ms
    0006: 3@ = 0

    :ALEKILL_24
    0001: wait 0 ms
    00D6: if
    0AB0: key_pressed 105 // если нажата кнопка 105
    004D: jump_if_false @ALEKILL_61 // Если нет, проверяем другую кнопку
    0006: 3@ = 1 // Если да, то устанавливаем переменную 3@ на единицу. 1 = активировано
    0002: jump @ALEKILL_90 //

    :ALEKILL_61
    00D6: if
    0AB0: key_pressed 104 // если нажата 104
    004D: jump_if_false @ALEKILL_90 // если не нажата, то прыгнуть дальше
    0006: 3@ = 0 // если нажата, то устанавливаем переменную на 0. 0 = не активировано
    0002: jump @ALEKILL_90 // прыгаем дальше

    :ALEKILL_90
    00D6: if
    0039: 3@ == 1 // если активировано
    004D: jump_if_false @ALEKILL_24 // если нет, пойти проверить кнопки
    0470: 1@ = actor $PLAYER_ACTOR current_weapon // записываем в первую переменную оружие игрока
    041A: 2@ = actor $PLAYER_ACTOR weapon 1@ ammo // во вторую - кол-во патрон этого оружия
    000E: 2@ -= 1 // отнимаем единицу от кол-ва
    017B: set_actor $PLAYER_ACTOR weapon 1@ ammo_to 2@ // устанавливаем патрон на один меньше чем было
    0001: wait 1030 ms // ждем 1с
    0002: jump @ALEKILL_24 // и прыгаем на проверку кнопок.
    Ну вот как то так, вроде все понятно.
 
Назад
Сверху Снизу