Wake of Gods Forum | Форум Во Имя Богов

Full Version: Нейтральные драконы
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
Обновил архив. Изменения:
1) Обновлена программа для подсчёта
2) Обновлён скрипт
Изменил скрипт: теперь всё нормально с сопротивлением, также постарался сделать более понятными комментарии, избавил их от опечаток.
Ссылку удалил. Далее в теме есть новая версия.
Ссылку и текст в сообщении выше (№212) тоже обновил.
Добавлено:
Эх, GhostManSD, я чуть-чуть опоздал, а ты чуть-чуть поспешил...
(07.07.2010 22:07)Sav Wrote: [ -> ]Если опечатки в комментариях - что ж поделать, бывает.
в коде были опечатки
(07.07.2010 22:07)Sav Wrote: [ -> ]Если непонятки по поводу сопротивления - заметил, исправил.
о, вот это другое дело.
GhostManSD Wrote:Что оформил? Формулу или сообщение?
По-моему gamecreator имеет ввиду написать результаты после каждого месяца, как в 139 посте.
А gamecreator не наделён руками, дабы скачать программу и посмотреть? Нет, похоже, здесь что-то другое.
мне лень. так что ничего необычного.
Добавлено:
а имелось в виду то, о чем мы с Sav'ом говорим тебе уже который день.
Чуть-чуть изменил программку по просьбе GhostManSD. Теперь она снова показывает результаты на момент начала последнего дня.
Последняя версия лежит в драконьем архиве.
Предыдущую ссылку также обновил.
Обновил скрипт: сделал формулу cr=2,5*(корень из dr) (квадратный корень реализовал способом, подсказанным gamecreatorом), также общие переменные, где возможно, заменил триггерными.

Скрипт:
Code:
ZVSE
;Кристальный дракон.
!#MA : X133/d+131056;Делаем кристального дракона неживым и неподверженным боевому духу и страху.
;Убираем гномье сопротивление.
!?MR2;Когда срабатывает гномье сопротивление.
!!MR : M?y-1;Запоминаем, у кого срабатывает сопротивление.
!!MR&y-1=133 : F0;Если сопротивление сработало у кристальных драконов, делаем шанс на срабатывание нулевым.
;Добавляем сопротивление, как у големов.
!?MR1;При срабатывании големового сопротивления.
!!MR : M?y-1 D?y-2;Запоминаем, у кого срабатывает сопротивлениеи его урон.
!!VRy-2 : Sy-2:2;Делим запомненный урон на 2.
!!MR&y-1=133 : Fy-2;Если сопротивление сработало у кристальных драконов, изменяем урон на новое, (уменьшенное в 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/?y2;Считаем количество городов на карте.
!!VRy2 : Sy2-1;Считаем номер последнего города.
!!DO9003/0/y2/1 : Py1;Запускаем цикл, проверяющий все города на карте.
!!OW&v6001>0 : R-1/4/d-3;Забираем 3 кристалла у игрока, если у него есть кристальные драконы.
!!FU9006 : Pv6001/?v6001;Вызываем функцию, вычисляющую целочисленный квадратный корень из числа кристальных драконов (с округлением вниз).
!!VRv6001 : Sv6001*5:2;Умножаем целочисленный квадратный корень из числа кристальных драконов на 2,5.
!!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 : Sv6001+y2;Если существа - кристальные драконы, то прибавляем их количество к переменной для счёта общего кол-ва драконов.

;Функции вычисления кол-ва кристальных драконов у героя.
!?FU9001;Функция проверки слотов армии героя.
!!DO9002/0/6/1 : Pxx16;Запускаем цикл, проверяющий количество кристальных драконов в слотах армии героя.
!?FU9002;Функция вычисления кол-ва кристальных драконов в слоте армии героя.
!!HEx1 : C0/x16/?y1/?y2;Считываем информацию о типе существ в слоте армии героя и их количестве.
!!VRv6001&y1=133 : Sv6001+y2;Если существа - кристальные драконы, то прибавляем их количество к переменной для счёта общего кол-ва драконов.

;Функции вычисления целочисленного квадратного корня числа (с округлением вниз).
!?FU9006;Функция настройки и запуска цикла вычисления целочисленного квадратного корня числа.
!!DO9007/1/x1/1 : Px1/?y1/x1/-1;Настраиваем первую разность и предпервое нечётное число и запускаем цикл, вычисляющий целочисленный квадратный корень числа.
!!VRx2 : Sy1;Возвращаем значение целочисленного квадратного корня.
!?FU9007;Функция
!!VRx4 : Sx4+2;Вычисляем новое текущее нечётное число (следующее за предыдущим).
!!VRx3 : Sx3-x4;Отнимаем текущее нечётное число от текущей разности, что даёт новую текущую разность.
!!VRx2 : Sx4:2;Записываем половину текущего нечётного числа (с округлением вниз) в переменную возвращаемого значения.
!!VRx16&x3<0 : Sx1;Если текущая разность отрицательна, завершаем цикл.

Ссылку удалил. Далее в теме есть новая версия.

Формула, скорее всего окончательная, зависит от мнения gamecreatorа.
Sav, у меня вылет при загрузке игры.
Добавлено:
Вылет, похоже, связан с прибавкой кристаллов. В первой части скрипта (сделать из драконов големов) ошибок нет.
Камрады, раз мы меняем свойства драконов, значит, игрок должен об этом знать. Хотя бы по клику ПКМ на существе. Посему выкладываю набитое на скорую руку приложение к скрипту от Sav.
Code:
ZVSE

!?PI; Пост-триггер
*Настройка текстовых переменных*
!!VRz753:S^Страшный.^; Лазурный дракон
!!VRz754:S^Неживой. Бесстрашный. Природа голема 50%. Производит кристаллы.^; Кристальный дракон
!!VRz755:S^Волшебное зеркало. Колдует наступательную магию.^; Волшебный дракон
!!VRz756:S^Кислотное дыхание. Регенерация.^; Ржавый дракон
!!VRz757:S^Атакует всех вокруг.^; Горыныч
*Изменение описаний монстров*
!!UN:G1/132/2/z753; Установить описание для лазурного дракона
!!UN:G1/133/2/z754; Установить описание для кристального дракона
!!UN:G1/134/2/z755; Установить описание для волшебного дракона
!!UN:G1/135/2/z756; Установить описание для ржавого дракона
!!UN:G1/168/2/z757; Установить описание для горыныча
Как видите, мелочь, а всё же нужно. Переменные взял неиспользуемые. На тот случай, если кто забудет, выкладываю сюда также сопроводительную картинку.
Image: Dragons.jpg
Добавлено:

Также из этого ряда свободны ещё z758 и z759.
Вот, значит, как менять описания. А то я так и не смог этого найти.Ab

GhostManSD, тогда по мере написания основного скрипта я буду вставлять эти описания (чтобы не нарушать структуры), хорошо?

P.S. Можно было и не занимать столько переменных, а прогонять все описания через одну.
Изменил скрипт. Исправил ошибки в вычислении квадратного корня и добавил описание кристального дракона (я изменил его под свой вкус, на сколько влезло в выделенное в игре место, но, если не нравится, могу вернуть описание GhostManSD).

Текст скрипта: (Click to View)

Последняя версия лежит в драконьем архиве.

GhostManSD, может теперь скрипт у тебя заработает. У меня он работает прекрасно.
Выложенный мной erm-файл скрипта надо поместить в Data/s. Карту надо вогифицировать. Попробуй отключить все скрипты в ВоГ-опциях. Может быть у тебя устаревшая версия WoG или, наоборот, стоит какой-нибудь мод/скрипт?
P. S. Прошу прощения, за то, что говорю очевидные вещи, но я не могу найти другой причины, из-за которой скрипт бы у тебя не работал.
Специально для gamecreatorа расписываю формулу cr = 2,5 * корень из dr на 5 месяцев:

Без кристальных шахт: (Click to View)

С 1 кристальной шахтой: (Click to View)

С 2 кристальными шахтами: (Click to View)
Sav, поясняю, почему я сделал не такое ёмкое описание, как у тебя. Ab Твоё описание не влезает в окошко информации о монстре.
Скрипт заработал. 4001 дракон дал +150 кристаллов за неделю. Ab
Добавлено:
Sav, одна просьба. Не выпускай всё это пока что цельным скриптом: мы же драконов по очереди делаем. Вот потом уже давай скомпонуем.
Добавлено:
Sav, кстати, ты намеренно ограничил число драконов тысячью? Ab
Моё описание как раз влезает, специально проверял (иначе я бы сделал его больше).

4001 дракон должен дать 157 кристаллов, нет?
Насчёт ограничения - не понял, но я ничего такого не делал.

Скрипт кристального дракона уже готов, разве нет? Поэтому я и вставил туда описание.

Насчёт остальных скриптов - просто давай договоримся, кто что делает.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
Reference URL's