Сделал их невосприимчивыми к морали и страху (невосприимчивость к морали автоматически даёт невосприимчивость к страху, иначе бы я её не давал - по мне уж лучше пусть у них не будет морали (что для мне не очень нравится, но абсолютно непринципиально), чем делать их бесстрашными незнамо через что (через опыт не хочу, иначе скрипт будет зависеть от того, включён ли опыт, что не есть хорошо)).
Они приносят кристаллы по 1 за дракона в начале каждой недели (начиная со второй - в первый день дохода не приносит ни город, ни кристальные драконы в SoDе). Внимание! Формула "по 1 кристаллу за дракону раз в неделю" взята временно, как самая простая для реализации и тестов. Когда будет окончательно решено, по какой формуле давать кристаллы, я (или кто-нибудь другой) реализую(ет) её.
Итак скрипт:
Code:
ZVSE
;Кристальный дракон.
!#MA : X133/d+131056;Делаем кристального дракона неживым и неподверженным боевому духу и страху.
;Убираем гномье сопротивление.
!?MR2;Когда срабатывает гномье сопротивление.
!!MR : M?v6001;Запоминаем, у кого срабатывает сопротивление.
!!MR&v6001=133 : F0;Если сопротивление сработало у кристальных драконов, делаем шанс на срабатывание нулевым.
;Добавляем сопротивление, как у големов.
!?MR1;При срабатывании големового сопротивления.
!!MR : M?v6001;Запоминаем, у кого срабатывает сопротивление.
!!MR : D?v6002;Запоминаем урон.
!!VRv6002 : Cv6002:2;Делим запомненный урон на 2.
!!MR&v6001=133 : Fv6002;Если сопротивление сработало у кристальных драконов, изменяем урон на новое, (уменьшенное в 2 раза) значение.
;Прибавка кристаллов по новой формуле.
!#TM65:S8/999/7/255;Таймер каждому игроку на первый день каждой недели, начиная со второй.
!?TM65;При срабатывании таймера.
!!FU9005 : P;Вызываем функцию прибавки кристаллов.
;Функция счёта кристаллов, прибавляемых игроку.
!?FU9005;Функция прибавки кристаллов.
!!VRv6001 : C0;Очищаем переменную для счёта общего кол-ва кристальных драконов.
!!OW : O-1/?y9/?y1/?y2/?y3/?y4/?y5/?y6/?y7/?y8;Записываем номера активных героев игрока в переменные.
!!DO9001/1/y9/1 : Py1/y2/y3/y4/y5/y6/y7/y8;Запускаем цикл, проверяющий героев игрока.
!!OW : C?y1;Считываем цвет игрока.
!!UN : U98/-1/?v6002;Считаем количество городов на карте.
!!VRv6002 : Cv6002-1;Считаем номер последнего города.
!!DO9003/0/v6002/1 : Py1;Запускаем цикл, проверяющий все города на карте.
!!OW&v6001>0 : R-1/4/d-3;Забираем 3 кристалла у игрока, если у него есть кристальные драконы.
!!OW : R-1/4/dv6001;Прибавляем кристаллы за кристальных драконов.
;Функции счёта кристальных драконов в городе.
!?FU9003;Функция определения хозяина города и проверки слотов его гарнизона или армии гарнизонного героя.
!!CA0/x16 : O?y1;Узнаём цвет хозяина города.
!!CA0/x16 : H0/?i;Проверяем, нет ли героя на гарнизоне города, если есть, запоминаем его номер.
!!DO9004/0/6/1&x1=y1/i<0 : Px16;Если хозяин города - текущий игрок, и на гарнизоне городе нет героя, запускаем цикл, считающий кристальных драконов в городе.
!!DO9002/0/6/1&x1=y1/i>=0 : Pi;Если хозяин города - текущий игрок, и на гарнизоне города городе есть герой, запускаем цикл, считающий кристальных драконов в армии этого героя.
!?FU9004;Функция вычисления кол-ва кристальных драконов в слоте гарнизона города.
!!CA0/x1 : M2/x16/?y1/?y2;Считываем информацию о типе существ в слоте гарнизона города и их количестве.
!!VRv6001&y1=133 : Cv6001+y2;Если существа - кристальные драконы, то прибавляем их количество к переменной для счёта общего кол-ва драконов.
;Функции вычисления кол-ва кристальных драконов у героя.
!?FU9001;Функция проверки слотов армии героя.
!!DO9002/0/6/1 : Pxx16;Запускаем цикл, проверяющий количество кристальных драконов в слотах армии героя.
!?FU9002;Функция вычисления кол-ва кристальных драконов в слоте армии героя.
!!HEx1 : C0/x16/?y1/?y2;Считываем информацию о типе существ в слоте армии героя и их количестве.
!!VRv6001&y1=133 : Cv6001+y2;Если существа - кристальные драконы, то прибавляем их количество к переменной для счёта общего кол-ва драконов.
Ссылку удалил. Далее в теме есть новая версия.
script91.erm (пусть у драконьего скрипта будет этот номер).
P. S. Начиная с 9 июля у меня до сентября не будет доступа к компьютеру. Я смогу время от времени читать и писать сообщения с коммуникатора, но я не смогу писать скрипты, а тем более их тестировать.
Если кто решит в это время продолжить написание скриптов по драконам, то я прошу комментировать каждую строку. Я в своих скриптах сделал это, это не так уж и утомительно, зато может помочь разобраться в скриптах друг друга. Добавлено:
Также обновил программку: исправил недочёт: до обновления, если сделать прибавку кристаллов от драконов раз в неделю, новые драконы тоже закупались раз в неделю, даже если достаточно кристаллов накапливалось раньше из-за шахт. Последняя версия лежит в драконьем архиве.
Также обновил предыдущую ссылку на неё.
(This post was last modified: 10.07.2010 15:08 by Sav.)