IPB

Здравствуйте, гость ( Вход | Регистрация )

9 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Тонкости ЕРМ, использование UN:C, ERM для профессионалов :)
sergroj
сообщение 26 Sep 2007, 20:22
Сообщение #1

В миру GrayFace
Сообщений: 2 528
Спасибо сказали: 816 раз




Тема явно назрела. Информация разбросана по форуму, пора ее собрать воедино.

Темы по сабжу:
ERM Artifact Manager
Флаги монстров
Скрипт: Функция замены некоторых константных строк
Баги в ЕРМ
Функции для расширенной настройки стрельбы
Secondary skills manager for TE
Подгрузка дефов для монстров, звуков монстров и дефов строений в замке

Особенность !!BG
Если монстр совершает действие 6 (подойти и ударить), то с помощью BG:S можно проверять и менять позицию, с которой он будет бить.

P.S. тоже не забывайте про жирный шрифт.


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
ShadowTheAge
сообщение 27 Sep 2007, 23:14
Сообщение #2

Скриптописатель
Сообщений: 107
Спасибо сказали: 7 раз




Недокументированная особенность !!AR:V;

Для артефактов можно устанавливать тип подбора:
0 - Арт просто без базара поднимается
1 - Предложение купить арт за 2000 монет
2 - Для поднятия арта требуется мудрость
3 - Для поднятия арта требуется лидерство (некромантам не повезло...)
4 - Предложение купить арт за 2500 монет и 3 дерева
5 - Предложение купить арт за 3000 монет и 5 дерева
6 - У арта есть охрана (еще один способ ее включить)
Все значения большие 6 делают артефакт неподнимаемым.


--------------------
Пропал с форума по техническим причинам с декабря 2007 по начало апрель 2008.
Уже вернулся.
Принимаю заказы на скрипты.
Стучать в асю. Днем на работе.
Go to the top of the pageAdd Nick
 
+Quote Post
Demiurg
сообщение 27 Sep 2007, 23:43
Сообщение #3

Immortal
Сообщений: 670
Спасибо сказали: 14 раз




Особенность !!BG
Если существо может кастовать магию (Архангелы, Питлорды, etc.), то ее можно скастовать с помощью
!!BG:A10 S-1 Dx1;
(На позиции x1 должен располагаться объект, на который кастуется магия)


--------------------
Самый страшный, кого можно встретить на экзамене, – факер Нео

Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 28 Sep 2007, 19:15
Сообщение #4

В миру GrayFace
Сообщений: 2 528
Спасибо сказали: 816 раз




!!BF:O может ставить невидимые препятствия
!!BF:O можно подавать -1 в качестве препятствия. Оно невидимо и занимает 1 клетку. Так что можно сделать картинку для поля боя с рассчетом на непроходимость некоторых мест, и сделать их непроходимыми с помощью невидимых препятствий.

Уточнение DracoLich'а: Убрать Препятствие не работает на такие препятствия; диспел не имеет воздействия тоже.


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 04 Oct 2007, 17:32
Сообщение #5

В миру GrayFace
Сообщений: 2 528
Спасибо сказали: 816 раз




Безопасная проверка !!MO:M, B, A
При использовании даже get синтаксиса этих команд для монстра, не имеющего сообщения или награды, вылетает ошибка.
Но можно проверить, имеет ли их монстр. Это хранится в старшем бите OB:C. Так что достаточно проверить знак OB:C:
!!OBx/y/z:O?v1;
!!IF&v1<0:M^Монстр настроен^;

Если установить этот бит, монстр будет иметь те же настройки, что первый монстр, настроенный в редакторе (настроенный - в смысле имеющий сообщение или награду).
В 3-м байте хранится индекс в массиве настроек (M, B, A) монстров, умноженный на 8. Точнее, он хранится не умноженным, а смещенным на 3 бита. Сам массив выделяется динамически.
В младших 12 битах OB:O хранится количество монстров.
Еще, артефкт в награду можно убрать с помощью !!MO:A-1.


--------------------
ДНК банана на 50% состоит из человека.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 07 Oct 2007, 15:15
Сообщение #6

В миру GrayFace
Сообщений: 2 528
Спасибо сказали: 816 раз




Неописанные заклинания
В списке заклинаний (формат SP) нет вот этих заклов:

Указанные в !!BM:M
70. Stone
71. Poison
72. Bind (permanent)
73. Disease
74. Paralyze
75. Age

Нигде не указанные
76. Death Cloud
77. Thunderbolt


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
DracoLich
сообщение 07 Oct 2007, 15:41
Сообщение #7

Banished
Сообщений: 1 782
Спасибо сказали: 116 раз




В моей справке все это указано. И еще:
78 Снять полезные заклинания
79 Смертельный взгляд
80 Кислотное дыхание


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Миханик
сообщение 08 Oct 2007, 15:29 (Сообщение отредактировал Миханик - 08 Oct 2007, 15:33)
Сообщение #8

починяю примусы
Сообщений: 147
Спасибо сказали: 14 раз




Незадокументированный параметр для !!MN:R
Кроме дерева..золота 0..6, можно указать 100. По-видимому, такая шахта вообще ничего не производит.
И ещё:
Возможность создания объектов с синхронными параметрами
хм.. я правильно сказал - синхронными? Смысл в том, что у некоторых объектов с большим числом параметров (напр. шахты, гарнизоны) контрольное слово не хранит эту информацию, а только указывает на нее, т. е. для каждой шахты и т. п. указан свой номер. И вот если его сделать одинаковым, то их параметры будут храниться в одном месте, и синхронно изменяться. Это могут применить мапмейкеры для создания "существообменника", как во второй миссии "Самаритянина". Правда проверял это я только для шахт.
И ещё: было бы неплохо выложить результаты наложения !!BM:M для мгновенных заклинаний. Например, я слышал, что ледяная молния окрашивает в синий свет. Кстати, насчёт !!BM:M уже писал ShadowTheAge вот здесь.


--------------------
Всякий процесс делится на четыре стадии: шумиха, неразбериха, наказание невиновных и награждение непричастных. (М. Задорнов)
Подающий нищему - подаёт Богу. А Бог не нищий, чтобы ему подавали!
Go to the top of the pageAdd Nick
 
+Quote Post
Demiurg
сообщение 09 Oct 2007, 11:33 (Сообщение отредактировал Demiurg - 09 Oct 2007, 11:40)
Сообщение #9

Immortal
Сообщений: 670
Спасибо сказали: 14 раз




Функция для установки преобразований существ в Skeleton Transformer (TE).
Код
!?FU#;
;x1 - monster's number
;x2 - mode ( 0 - read, 1 - write)
;x3 - number of creature transformed
!!VRy1:S8142080;// table's address
!!VRy2:Sx1*4;
!!VRy1:+y2;
!!UN&x2=0:Cy1/4/?x3;
!!UN&x2=1:Cy1/4/x3;


--------------------
Самый страшный, кого можно встретить на экзамене, – факер Нео



Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
ShadowTheAge
сообщение 10 Oct 2007, 00:59 (Сообщение отредактировал ShadowTheAge - 15 Oct 2007, 01:21)
Сообщение #10

Скриптописатель
Сообщений: 107
Спасибо сказали: 7 раз




Особеность реализации !!BM:G
!!BM:G - это "неаккуратно" сделанная функция, позволяет менять сотни характеристик существа, не только наложенные заклинания.

Вызов: !!BM:G#/$/d;
# - некоторый номер, если это 0..65 то будет работа с заклинаниями (нормальное функционирование ресивера), но если использовать другие значения, можно изменять любую информацию о монстре, как доступную (атака, здоровье), так и недоступную (например, звуки, анимацию)

$ - номер. Во избежание ошибок, "/d" в конце обязательно.

Таблица:
-100: Видимость существа (4 - виден, 8 - не виден)
Комментарий DracoLich'а: Отряды теряют невидимость при любом действии на поле боя. Но ее межно восстановить в триггере !?BG1 - ShadowTheAge
-90:  Есть ли цифры количества существ? 0-есть, 1-нет.
Комментарий DracoLich'а: отряд не имеет обозначения кол-ва существ, пока не походит. При этом на него можно колдовать магию и бить. Кол-во показывается при щелчке правой кнопки в нижнем правом углу картинки (где обычно, в общем). Аналогичное возражение - ShadowTheAge
-89:  Тип существа
Комментарий DracoLich'а: параметры отряда становятся как у существа, номер которого поставлен, но сразу же снижаются до стандартных параметров сущ-ва, которое меняют. имя отряда в меню при щелчке правой кнопкой по существу меняется; когда его бьют - имя остается измененным. когда битва окончена - на картинке будет показан настроенный отряд, а не старый. Если изменить тип существа, битву становится невозможно выиграть (вроде как комп требует убить того, на кого нападал, и изменения типа существ = вызову изменнного существа). Действительно проблема, делающая параметр почти бесполезным - ShadowTheAge
-88:  Позиция существа (если сменить, на старом месте останется стоять копия. Копия не может ходить и быть атакованой, занимает место)
-87:  Номер анимации
Комментарий DracoLich'а: при значение 2,6,9... (много еще где) игра выдает черный экран; кадры берутся в том порядке, как и при создании (надо бы найти хелп по дефмейкеру, где описан каждый шаг, и выдрать оттуда). Не сталкивался почему-то... - ShadowTheAge
-86:  Номер кадра в анимации
     Анимация возвращается к нормальной, если навести мышкой
-83:  Количество существ
-82:  Количество существ для отображения (может не совпадать с количеством. В этом случае написано будет одно, а реально другое). По умолчанию -1 - значит "полностью совпадает с реальным".
Комментарий DracoLich'а: после того, как любое сущ-во попадет под атаку, данному значению станет равно количество реальное; в итогах битвы показывается реальное количество убитых; при атаке измененного существа фантомные монстры не учитываются (т.е. если изменить 10 монстров на 100 этой командой, то урон будет нанесен именно этим 10). Поступаем как и с невидимостью - ShadowTheAge
-81 - безвозвратные потери. Количество существ после выигранной битвы (или после откупа) равно "текущее количество существ" минус "безвозвратные потери". Потери могут быть записаны в безвозвратные при использовании, например, после воскрешения на уровне none или basic. - by Demiurg
-80:  Разнича между текущим здоровьем и полным. Если 0 значит стек здоров.
-78:  Количество существ в начале боя
-73:  Город-владелец
-71:  Флаги существа
-68:  Название существа
-67:  Название существа (множественное число)
-66:  Строка состояния (например "Нет штрафа рукопашной")
-54:  Здоровье (полное)
-53:  Скорость
-52:  Атака
-51:  Защита
-50:  Мин. урон
-49:  Макс. урон
-48:  Боезапас
-41:  Владелец глючит
-40:  Что делает ХЗ. Но явно чето делает. Попробуйте, смотрится прикольно smile.gif
-38:  Смещение существа по Y
-37:  Смещение существа по X
     От того места где должен быть. В пикселях
-19:  Смещение по оси OX прямоугольника с количеством существ.
-17:  Частота проигрывания случайной анимации.
     Чем меньше тем чаще. Поставьте 200, будет без перерыва
-13:  Анимация существа
-12:  Анимация снаряда
-10:  Звук перемещения
-9:   Звук атаки
-8:   Звук урона
-7:   Звук выстрела
-6:   Звук смерти
-5:   Звук защиты
-1:   Кол-во активных заклинаний (для отображения цвета кол-ва существ)
173:  Кол-во активных заклинаний (Для отображения при щелчке правой кнопкой)
212:  Мораль существа
213:  Удача существа
Комментарий Demiurg'а: Мораль и удача пересчитывается при передаче хода другому существу. Поэтому полезно только для получения или проверки. Если очень нужно менять то можно делать это или перед атакой, или каждый ход - ShadowTheAge

Что-нибудь еще желаете увидеть в таблице? Пишите мне в асю или личку.
Синим выделены не мои исследования (спасибо всем за помощь)
Красным выделены строковые параметры - для изменения вам потребуются функции для работы со строками на низком уровне - см. следующий пост.
Серым выделено то, что менять проблемно - я могу только посоветовать прочитать данные у одного монстра и поставить их другому.


--------------------
Пропал с форума по техническим причинам с декабря 2007 по начало апрель 2008.
Уже вернулся.
Принимаю заказы на скрипты.
Стучать в асю. Днем на работе.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
ShadowTheAge
сообщение 14 Oct 2007, 02:10 (Сообщение отредактировал ShadowTheAge - 15 Oct 2007, 00:59)
Сообщение #11

Скриптописатель
Сообщений: 107
Спасибо сказали: 7 раз




Прелюдия:
Функция для работы со строками на низком уровне
Иногда при работе с !!UN:C требуется работать со строками. Приходится писать для этого функции. Написать их несложно, но так как я (наверно) буду часто их использовать в своих скриптах, то выложу их здесь:
Код
!?FU12925; Получение адреса z переменной номер x1 (возврат в x2)
Поддерживаются версии: 3.58, ТЕ
!!UN:V?y1/?y2;
!!VRy3&y1=358:S40225400;
!!VRy3&y1=359:S9597416;
!!VRx2&y3=0:S0;
!!FU&y3=0:E;
!!VRx2:Sx1*512+y3;

!?FU12926; Копирование строки по адресу. x1 - источник, x2 - приемник.
!!DO12927/0/511/1:Px1/x2;

!?FU12927;
!!VRy1:Sx1+x16;
!!VRy2:Sx2+x16;
!!UN:Cy1/1/?y3Cy2/1/y3;
!!VRx16&y3=0:S511;


А теперь сразу же полезный скрипт, использующий их.
Проигрывание любой .def анимации на юните в бою

Данный скрипт позволяет проигрывать любую анимацию на люьом юните в бою (то есть не только из списка формата AC)
Код
!?FU12930;
!!UN:V?y10/?y11;
!!VRy12&y10=358:S69016332;
!!VRy12&y10=359:S61479692;
!!UN&y12<>0:Cy12/4/-1;
!!UN:C4454270/4/?y1;
!!VRy1:+660;
!!VRy2:Sy1+8;
!!VRx4:*256+x3;
!!FU12925:Px2/?y5;
!!UN:Cy1/4/?y3Cy2/4/?y4Cy1/4/y5Cy2/4/x4;
!!BMx1:V55;
!!UN:Cy1/4/y3Cy2/4/y4;


Использование функции:
x1 - номер стека в бою
x2 - номер z переменной, в которой хранится имя .def файла для проигрывания
примечание: Для работы требуется функция 12925 из функций работы со строками
x3 - позиция относительно монстра:
0: Нижняя часть анимации совпадает с нижней частью существа (например, молитва)
1: Центр анимации совпадает с центром существа (например, инферно)
2: Анимация находится сверху существа (пример в голову не лезет)
3: Анимация находится спереди существа (срабатывание гномского сопротивления)
4: Анимация находится в углу возле атакующего героя
x4 - Полупрозрачность (0 - нету, т.е. анимация непрозрачна, 1 - анимация полупрозрачна)

Работают любые деф файлы, хоть с карты приключений, любые. Анимация проигрывается один раз, после чего пропадает.

Это, кстати, мой сотый пост


--------------------
Пропал с форума по техническим причинам с декабря 2007 по начало апрель 2008.
Уже вернулся.
Принимаю заказы на скрипты.
Стучать в асю. Днем на работе.
Go to the top of the pageAdd Nick
 
+Quote Post
ShadowTheAge
сообщение 15 Oct 2007, 01:27
Сообщение #12

Скриптописатель
Сообщений: 107
Спасибо сказали: 7 раз




Поправил скрипт для проигрывания любой анимации - теперь анимация не кешируется (по крайней мере я на это очень надеюсь).

Добавил в таблицу комментарии Demiurg'а и DrakoLich'а (с указанием авторства). Этот и два предыдущих поста можно удалить.

З.Ы. Я (в принципе) могу сделать редактирование таблицы Combat Animations. Нужно это?


--------------------
Пропал с форума по техническим причинам с декабря 2007 по начало апрель 2008.
Уже вернулся.
Принимаю заказы на скрипты.
Стучать в асю. Днем на работе.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 22 Oct 2007, 17:50
Сообщение #13

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




что означает полупрозрачность? как воскрешение?
а можно проиграть анимацию с кадра по кадр?
Go to the top of the pageAdd Nick
 
+Quote Post
ShadowTheAge
сообщение 22 Oct 2007, 21:10
Сообщение #14

Скриптописатель
Сообщений: 107
Спасибо сказали: 7 раз




Полупрозрачность - как молитва, воскрешение, лечение, страх, ...
Непрозрачное: Мораль, проклятие, старость, болезнь, ...

К сожалению скрипт сейчас лучше не использовать, т.к. имеют место некоторые проблемы с кешированием. "Хорошее" решение этой проблемы к сожалению найти не удалось...

Проиграть анимацию с кадра по кадр нельзя, т.к. для проигрывания анимации я пользуюсь штатным !!BM:V;

Скрипт сегодня-завтра поправлю чтобы работал. Я уже и забыл про эту ошибку.


--------------------
Пропал с форума по техническим причинам с декабря 2007 по начало апрель 2008.
Уже вернулся.
Принимаю заказы на скрипты.
Стучать в асю. Днем на работе.
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 18 Dec 2007, 10:55 (Сообщение отредактировал hippocamus - 28 Jan 2008, 00:48)
Сообщение #15

пират с чёрной меткой
Сообщений: 23 599
Спасибо сказали: 12880 раз




Написано Deo
Он эту тему стёр, но я считаю, что это нужная функция, записал её сюда.


Простенькая функция для работы с календарем. Можно узнавать и задавать текущую дату.
Проверено на ТЕ 1.03 и Phoenix Mod 1.5
Да, действительно, на 3.58 не работает...

Код
!!FU#:P1/?день/?неделю/?месяц;    узнать текущую дату
!!FU#:P0/день/неделя/месяц;        задать текущую дату


!?FU#;
!!VRy1:S8654048;!!UN:Cy1/4/?y1;
!!VRy2:Sy1+2;
!!VRy3:Sy2+2;
!!UN&x1=0:Cy1/2/x2;!!UN&x1=0:Cy2/2/x3;!!UN&x1=0:Cy3/2/x4;
!!UN&x1=1:Cy1/2/?x2;!!UN&x1=1:Cy2/2/?x3;!!UN&x1=1:Cy3/2/?x4;


--------------------
Давший быка на убой не выпросил и печень на жаркое.
Go to the top of the pageAdd Nick
 
+Quote Post
Bes
сообщение 02 Jan 2008, 20:49
Сообщение #16

замолкаю.
Сообщений: 2 340
Спасибо сказали: 1010 раз




А у меня твоя функция, как и Део под ВоГ не работает smile.gif

Правильный адрес дня под Вог имеет следующий вид:
!!UN:C8579100/4/?y1;
!!UN:Cy1/2/?@текущий день@
ИМХО


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 27 Jan 2008, 23:08
Сообщение #17

В миру GrayFace
Сообщений: 2 528
Спасибо сказали: 816 раз




Установка объектов с произвольным видом с помощью ERM
Несколько раз возникали вопросы про установку объектов типа/подтипа, у которого есть несколько вариантов с разными def'ами.
Это можно сделать:
1) На своей карте. Для этого надо поставить куда-нибудь на карту объект одного из неиспользуемых типов с каким-нибудь уникальным подтипом и нужным дефом. Затем использовать эти тип/подтип в качестве внешнего вида в UN:I (параметры #6 и #7 в версии с 9 параметрами)
2) В общем скрипте. Для этого придется модифицировать zobjcts.txt. Точно также, надо добавить объект незанятого типа/подтипа с нужным дефом и использовать в качестве внешнего вида в UN:I.
Так же можно использовать новый def в скрипте.


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
Миханик
сообщение 23 Jun 2008, 14:49 (Сообщение отредактировал Миханик - 30 Jun 2008, 07:04)
Сообщение #18

починяю примусы
Сообщений: 147
Спасибо сказали: 14 раз




Представляю общественному вниманию плоды моих графоманских изысканий. Это описание контрольных слов разных типов объектов в формате RTF. Появилось как развитие моего поста от 8 октября в этой теме, но там не только персональные номера. Есть кое-что новое, в том числе - описание КС Фонтана удачи (ранее я его не встречал). В конце файла небольшой списочек, там сжато некоторые интересные факты. Документ расчитан скорее на рядовых пользователей ВоГ, возможно, его стоили выложить в "Обучении ЕРМ"? Так что вот так.
Файл можно ; залил бы в архив на woggrad.ru, но что-то не допёр, как туда закачивать. Хотя ранее я туда уже что-то выкладывал, но вот забыл. или браузер глючит, подло не показывая кнопку закачки. никто не просветит на эту тему (лучше в ПМ, дабы не флудить)?
Возможно, потом выложу содержимое файла прямо в этот пост.


--------------------
Всякий процесс делится на четыре стадии: шумиха, неразбериха, наказание невиновных и награждение непричастных. (М. Задорнов)
Подающий нищему - подаёт Богу. А Бог не нищий, чтобы ему подавали!
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 25 Jun 2008, 19:20 (Сообщение отредактировал sergroj - 25 Jun 2008, 19:21)
Сообщение #19

В миру GrayFace
Сообщений: 2 528
Спасибо сказали: 816 раз




Мощно!
Дополнение: Маяк и Шахта (и Заброшенная шахта) обладают одинаковыми контрольными словами и мояк можно редактировать через !!MN. Его ресурс (MN:R) имеет номер 100. Если поставить номер 0..6, то маяк начнет приносить ресурсы, как шахта smile.gif Охрана маяка игнорируется. Также интересно менять охрану заброшенной шахты - после стандартного сообщения о троглодитах будет происходить драка с заданными монстрами в заданных количествах. Если охрану убрать, то шахта берется без боя. А если поставить шахте ресурс 7, то при взятии будет выводиться сообщение про золото и картинка мифрила с подписью "-33652069". К сожалению, мифрил добавляться не будет.


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 22 Aug 2008, 18:13 (Сообщение отредактировал sergroj - 15 Sep 2008, 08:19)
Сообщение #20

В миру GrayFace
Сообщений: 2 528
Спасибо сказали: 816 раз




Получение адресов переменных ВоГа
При работе с UN:C бывает нужно получить адрес какой-то Z-переменной. Вот скрипт, записывающий адрес z1 в v4138: (работает в 3.58, TE и в любой версии ВоГа, поддерживающей используемые команды)
Код
ZVSE

* This code puts address of z1 to v4138

!#UN:A0/9/?y10; [backup Z var number]
!#UN&y10<0:A0/9/?z-1; [backup string (3.59)]

!#UN:A0/9/1; [art0.Name = z1]
!#UN:C6687592/4/?y1; [get artifacts array address]
!#UN:Cy1/4/?v4138; [get art0.Name which is z1 address. Name goes first in art info, so y1 points to art0.Name]
[v4138 holds address of z1 now]

!#UN&y10>=0:A0/9/y10; [resture Z var number]
!#UN&y10<0:A0/9/z-1; [restore string (3.59)]

Адрес других Z-переменных: v4138 + 512*(номер_переменной - 1). Например для z50: v4138 + 512*49.
Если понадобится адрес иной (не Z) переменной, то просто найдите в AtrMoney ее адрес, вычтите адрес z1 и используйте v4138 + разница_адресов. Правда, в 3.59 эта разница изменится.


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post

9 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29 March 2024 - 03:19
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика