Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопросы новичков
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Страницы: 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, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103
Batkom
QUOTE (Aiwan @ Jul 13 2005, 07:00)
Ты 2Да файл посмотри. Может конфликт там скорее всего.

мммм..не совсем понял, мне его в хакпаке искать чтоли? unsure.gif
Vhall
Batkom
Открываешь appearance.2da своего хака лошадок. Ищешь новых кричей (обычно они вписаны последними, с большим отступом от оригинальных). Копируешь все новые строки в буфер.
Открываешь cep1patch<версия_cep>.hak (если версия 1.0, то cep2da.hak). Затем appearance.2da. Вставляешь строки лошадок в самый конец (на нумерацию плевать).
Удачи smile.gif

Добавлено в [mergetime]1121253798[/mergetime]
Нюанс:
Измененный appearance.2da следует влить в новый хак с лошадками и поставить у него в свойствах модуля высочайший приоритет (иначе cep может отрубиться)
Batkom
Пасиб) теперь есть лошадки biggrin.gif Осталось написать скрипт замены модельи игрока, но это в принципе легко, а вот со смертью лошади когда игрок якобы на ней, немного посложнее. Сенк Сенк Сенк. А с тайлсетами такая фича сработает?
Vhall
QUOTE (Batkom @ Jul 13 2005, 15:20)
А с тайлсетами такая фича сработает?

Если речь идет о разных хаках, модифицирующих один и тот же тайлсет, ответ - да. Но там немного сложнее. Что конкретно интересует?
Добавлено в [mergetime]1121262236[/mergetime]
http://www.wrg.ru/forums/index.php?showtop...indpost&p=16693
-fenix-
Наверное это смешно lol.gif , но я этого не знаю blush.gif

Сколько длится в НВН день (сколько реальных часов)?
Метр - это один шаг НПС?
Сколько дней в месяце (30, 31)?
Vhall
QUOTE (-fenix- @ Jul 14 2005, 13:36)
Сколько длится в НВН день (сколько реальных часов)?

Ровно столько, сколько выставлено в Edit -> Module Properties -> Advanced -> Minutes/Hour
QUOTE (-fenix- @ Jul 14 2005, 13:36)
Метр - это один шаг НПС?

Тайл - это 5 метров
QUOTE (-fenix- @ Jul 14 2005, 13:36)
Сколько дней в месяце (30, 31)?

По моим предположениям - 30
Aiwan
QUOTE (Vhall @ Jul 14 2005, 18:12)
Тайл - это 5 метров

10 метров.
dumbo
-fenix-
QUOTE (-fenix- @ Jul 14 2005, 14:36)
Сколько длится в НВН день (сколько реальных часов)?
нисколько. 2минуты на час - дефолтная настройка => 2*24 = 48 минут (только это не день, а таки сутки)
QUOTE (-fenix- @ Jul 14 2005, 14:36)
Сколько дней в месяце (30, 31)?
28!
Batkom
Можно регулировать продолжительность ночи и дня в настройках модуля, таким образом можно сократить продолжительность дня или ночи.
Можно указывать во сколько темнеет и во сколько светает, а так в сутках всегда было 24 часа, и НВН не исключение. Перевод в реальное время расчитывается как указал тов. dumbo .
Daemonix
Всем здрасте, WRG!-креативщики, кодеры и прочие ролеманы.
Поскольку почти не разбираюсь в скриптах, хочу спросить, как будет выглядеть код с такими условиями:
игрок активирует триггер, и непись с тэгом neril подбегает к нему и начинает разговор. Что надо писать onEnter'е?
Batkom
Zirrex писал помоему недавно в скриптах
Aiwan
В базе скриптов лежит код. Иди и смотри. yes.gif
Daemonix
Спасибо. biggrin.gif
Добавлено в [mergetime]1121463235[/mergetime]
Да, и вот ещё что: как сделать так, чтобы:
(диалог)
Герой: вы не знаете, как пройти в...
НеПиСь: куда?
Герой(вар.1) в библиотеку?
Герой(вар.2) в псих. лечебницу?
Герой(вар.3) в кино?
Герой(вар.4) Спасибо, я пошёл.

Когда я жму на один из вариантов вопроса, НеПиСь говорит мне, и потом:

НеПиСь: ещё куда-нибудь?
Герой(вар.1) в библиотеку?
Герой(вар.2) в псих. лечебницу?
Герой(вар.3) в кино?
Герой(вар.4) Спасибо, я пошёл.

И так пока я не попрощаюсь сним.

Сорри, если моя просьба окажется непонятной. Простите за глупый вопрос. dntknw.gif
Batkom
Присто привяжи реплики друг к другу
Мефистофель
Обясните дураку, что непашет? вот в этом скрипте. скрипт стоит на онДед Непися, и работает в нём только камера и игрок джампится, и больше ничего.
CODE
DelayCommand(1.0, AssignCommand(oPC, ActionJumpToObject(oCAM1)));
DelayCommand(1.6, AssignCommand(oPC, SetCameraFacing(180.0, 3.0, 90.0, CAMERA_TRANSITION_TYPE_FAST)));
DelayCommand(3.3,DestroyObject(oSV1));
DelayCommand(4.3,DestroyObject(oSV2));
DelayCommand(5.3,DestroyObject(oSV3));
DelayCommand(6.3,DestroyObject(oSV4));
DelayCommand(7.3,DestroyObject(oSV5));
DelayCommand(10.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eN1,oS6));
DelayCommand(10.0, AssignCommand(oBL, ActionJumpToObject(oS6)));
DelayCommand(10.0, AssignCommand(oPC, ActionJumpToObject(oCAM2)));
DelayCommand(10.6, AssignCommand(oPC, SetCameraFacing(0.0, 0.0, 200.0, CAMERA_TRANSITION_TYPE_FAST)));
DelayCommand(10.6, AssignCommand(oBL, ActionPlayAnimation(ANIMATION_LOOPING_CUSTOM3, 0.9, 3.0)));
DelayCommand(11.0, AssignCommand(oM1, ActionMoveToObject(oID1,TRUE)));
DelayCommand(11.7, AssignCommand(oM2, ActionMoveToObject(oID2,TRUE)));
DelayCommand(12.0, AssignCommand(oM3, ActionMoveToObject(oID3,TRUE)));
DelayCommand(15.0, AssignCommand(oBL, ActionCastSpellAtObject(SPELL_NEGATIVE_ENERGY_PROTECTION,oM1, METAMAGIC_ANY, 2)));
DelayCommand(16.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eN4,oM1));
DelayCommand(17.0, AssignCommand(oBL, ActionCastSpellAtObject(SPELL_NEGATIVE_ENERGY_PROTECTION,oM2, METAMAGIC_ANY, 2)));
DelayCommand(18.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eN4,oM2));
DelayCommand(19.0, AssignCommand(oBL, ActionCastSpellAtObject(SPELL_NEGATIVE_ENERGY_PROTECTION,oM3, METAMAGIC_ANY, 2)));
DelayCommand(20.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eN4,oM3));
DelayCommand(20.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eN3,oM3));
}
Aiwan
QUOTE (Мефистофель @ Jul 17 2005, 03:56)
Обясните дураку, что непашет?

Убери скрипт с OnDeath слота. Поставь на триггер или на что другое.
Daemonix
Добрый день, товарищи! Я всё-таки не такой уж пингвин, но объясните-ка мне поподробнее, как привязывать реплики друг к другу. У меня просто вкладка "связать" всегда неактивна...

Второе: как проверить кол-во золота у игрока? Ситуация такова, что реплика должна появляться, если золота у игрока более 2000.

И последнее: почему скрипт не пашет:
CODE

//::///////////////////////////////////////////////
//:: FileName at_001
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 17.07.2005 23:01:48
//:://////////////////////////////////////////////
void main()
{
// Äàòü ãîâîðÿùåìó íåìíîãî çîëîòà
GiveGoldToCreature(GetPCSpeaker(), 200);

// Äàòü ãîâîðÿùåìó íåìíîãî ÏÎ
GiveXPToCreature(GetPCSpeaker(), 400);

}

Добавлено в [mergetime]1121627873[/mergetime]
ГДЕ тут может быть ошибка? shout.gif
Добавлено в [mergetime]1121628074[/mergetime]
А может не работает из-за русских символов? (создан с Script Wizard)?
Batkom
По поводу проверок на состояние кошелька:
Neverwinter Script Source
int StartingConditional()
{
if(GetGold(GetPCSpeaker())>=2000)
return TRUE;
return FALSE;
}

По поводу русских символов в скриптах:
создай блокнотик и впиши туда следующее:
CODE

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\BioWare]

[HKEY_LOCAL_MACHINE\SOFTWARE\BioWare\NWN]

[HKEY_LOCAL_MACHINE\SOFTWARE\BioWare\NWN\Neverwinter]
"Location"="C:\\games\\NWNXP1"
"GUID"="{7C503E58-B2BC-11D5-978A-0050BA84F5F7}"
"Version"="сюда впиши версию"
"Language"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\BioWare\NWN\Neverwinter\NWUpdate]
"Ping Timeout"="1000"
"Debug"="0"
"Internet Connect"="0"
"RebootMessageCount"=dword:00000000
"Window Position"="203,146"
"Window Size"="618,447"


Затем поменяй расширение на *.reg и добавь в реестр информацию, также обязательно поставь патч для буквы "я"
ибо это великая вещь
по поводу привязки диалогов, ну что я тебе могу сказать, нажми ctrl+c затем привязывай реплику
Добавлено в [mergetime]1121632001[/mergetime]
З.Ы. это была копия моего реестра biggrin.gif

А кстати вот и от меня вопрос, как можно привязать базу данных к предмету, допустим предмет труп, всего один, а каждый этот предмет должен содержать информацию о хозяине. Допустим есть у нас пять трупаков в инвентаре, а как сохранить для каждого трупа хозяина даже после рестарта?
Все еще бьюсь над скриптом смерти.
И еще как выяснилось, видимо нельзя отобрать золото и итемы у лежащего в отрубе игрока. Его нужно либо варпать в фугу, либо райзать, проводить операции и снова убивать.
Daemonix
Спасибо, Baktom, если бы я знал, ответил. Хотя вопрос и не ко мне был... :
xz:
З.Ы. А где качать патч для буквы "Я"?
Batkom
плин,я вообще не знаю что с этими трупами делать, пересмотрел архивы, ничего не нашел(хотя до этого пару раз натыкался)
Дайти плз ссылку на более менее удобоваримую систему смерти с трупами и лутом. swoon.gif
-fenix-
QUOTE (Daemonix @ Jul 18 2005, 01:22)
З.Ы. А где качать патч для буквы "Я"?

В файлах качай патч dumbo тут.
QUOTE (Batkom @ Jul 18 2005, 03:05)
Дайти плз ссылку на более менее удобоваримую систему смерти с трупами и лутом.

Смотри в базе скриптов на 1 странице пост Лекса. Там после смерти НПС появляется труп на каторый помещаются все его вещи, через 250 секунд труп исчезает. Пойдет?

Batkom
попробую переделать, мне просто нужно знать от чего отталкиваться
Daemonix
Вот, блин, ваще не знаю.... У меня, кажись, toolset глюканутый! Скрипты на "дай предмет" не работают вовсе. Вот что ему не нравится тут?
CODE

//::///////////////////////////////////////////////
//:: FileName tavern
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 13.07.2005 18:18:44
//:://////////////////////////////////////////////
void main()
{
// дать говорящему предмет
CreateItemOnObject("item012", GetPCSpeaker(), 1);


// забрать у говорящего немного золота
TakeGoldFromCreature(10, GetPCSpeaker(), TRUE);
}

Добавлено в [mergetime]1121684916[/mergetime]
Причём item012 - реально существующий предмет. Это ключ от номера в гостинице. this.gif
Batkom
предметы создаются не по тегам, а по ресрефам, если ты об этом
если ты патч не поставил, тогда удали коменты к скрипту, все залаботает
Добавлено в 14:19
я раньше не работал с функцией swith case и видать чтото наглючил
не компилируется скрипт
Neverwinter Script Source
//определение рандомного слота экиперовки
    int iSlot;
    int iLoot = d10(1);
    switch (iLoot)
    case 1: iSlot = INVENTORY_SLOT_ARMS;           break;
    case 2: iSlot = INVENTORY_SLOT_BELT;            break;
    case 3: iSlot = INVENTORY_SLOT_BOOTS;         break;
    case 4: iSlot = INVENTORY_SLOT_CLOAK;         break;
    case 5: iSlot = INVENTORY_SLOT_HEAD;           break;
    case 6: iSlot = INVENTORY_SLOT_LEFTHAND;    break;
    case 7: iSlot = INVENTORY_SLOT_LEFTRING;     break;
    case 8: iSlot = INVENTORY_SLOT_NECK;           break;
    case 9: iSlot = INVENTORY_SLOT_RIGHTHAND;    break;
    case 10: iSlot = INVENTORY_SLOT_RIGHTRING;   break;
    default: break;
dumbo
Batkom
Neverwinter Script Source
switch (iLoot)
{ // <-- !
  case 1: iSlot = INVENTORY_SLOT_ARMS;          break;
  ...
  default: break;
} // <-- !

wink.gif
Daemonix
Пожалуйста, кто-нибудь, расскажите мне о том как НеПиСь атакует игрока (условия, фракции, скрипты, советы). Надеюсь, прошу не слишком много. unsure.gif
dumbo
не слишком много, зато слишком неконкретно. общий совет - изучи скрипты nw_c2_defaultX, где X - цифра от 1 до e. это скрипты которые висят на неписях, и заставляют их "что-то" делать. ключевое слово для поиска условий итд - DetermineCombatRound
Daemonix
Люди, помогите! У меня тут накопилось два вопроса:
1. Я делаю несколько вэйпоинтов для одного НеПиСя. Начинаю игру и ... не без удовольствия наблюдаю как все НеПиСи (а их 6!) ходят по этим вэйпоинтам. Что делать, чтобы по ним ходил только один?
2. Как сделать так, чтобы:
вот стоит знак дорожный. Жму на него, и он надпись выдаёт какую-нибудь.
dntknw.gif
Alian REXis
QUOTE (Daemonix @ Jul 18 2005, 23:55)
1. Я делаю несколько вэйпоинтов для одного НеПиСя. Начинаю игру и ... не без удовольствия наблюдаю как все НеПиСи (а их 6!) ходят по этим вэйпоинтам. Что делать, чтобы по ним ходил только один?

Смени таг остальным неписям.

QUOTE (Daemonix @ Jul 18 2005, 23:55)
2. Как сделать так, чтобы:
вот стоит знак дорожный. Жму на него, и он надпись выдаёт какую-нибудь.

Нажимаешь на знак дорожный правой кнопкой. Появится всплывающее меню. Выбираешь добавить всплывающий текст.
Daemonix
Спасибо. И вот ещё я стормозил: как сделать так, чтобы:
НеПиСь ведёт рассказ, скажет часть, потом кнопа ПРОДОЛЖИТЬ (это не реплика героя!) и далее непись ведёт свой рассказ... Чё-то непонятно объяснил... dntknw.gif
Мефистофель
QUOTE
Спасибо. И вот ещё я стормозил: как сделать так, чтобы:
НеПиСь ведёт рассказ, скажет часть, потом кнопа ПРОДОЛЖИТЬ (это не реплика героя!) и далее непись ведёт свой рассказ... Чё-то непонятно объяснил...

Этоже очень просто делается в редакторе разгавора, где красное там реплика Непися, где синее там ПК, пишешь в начале то-что говорит Нпись, потом нажемаеш добавить, и стираеш "Введите текст сюда" и автоматом будет продолжить.
Добавлено в [mergetime]1121722749[/mergetime]
QUOTE
Убери скрипт с OnDeath слота. Поставь на триггер или на что другое.

незя такое задание убить чела, и когда убьёш срабатыват скрипт.
--
а кстати у кого есть скрипт, если ночь то Непись идёт к себе в комноту садится на стул и читает свиток, если день то идёт на своё место и тоже читает свиток.
Aiwan
QUOTE (Мефистофель @ Jul 19 2005, 03:32)
незя такое задание убить чела, и когда убьёш срабатыват скрипт.

Ну тогда сигнал евант на юзер деф скрытого плейса и все работать будет. Твой объект дестроиться, точнее умирает. На OnDeath Биовар не рекомендуют сложный код.
Мефистофель
QUOTE
Ну тогда сигнал евант на юзер деф скрытого плейса и все работать будет. Твой объект дестроиться, точнее умирает. На OnDeath Биовар не рекомендуют сложный код.

Блин точно как я сам не дадумался, и еффектов добавить можно будет. Пасиб Aiwan.
Daemonix
QUOTE

Этоже очень просто делается в редакторе разгавора, где красное там реплика Непися, где синее там ПК, пишешь в начале то-что говорит Нпись, потом нажемаеш добавить, и стираеш "Введите текст сюда" и автоматом будет продолжить.

Не, я не так слегонца хотел. Просто у неписи слишком длинный рассказ и его нужно поделить на две части, разделяемые ПРОДОЛЖИТЬ
Мефистофель
Ну. вот смотри. "привет я Непись я хотел вам сказать....." Продолжить "Ах да я же хотел вам сказать".
пишешь в начале где "Корень" талк Непися, затем "добавить" стираешь будет "продолжить" далее опять добавить и пишешь продолжение талка непися.
Daemonix
А, дошло! И чё я был такой тупой. Скоро где-нибудь разместится пре-альфа моего мода! biggrin.gif
Мефистофель
QUOTE
А, дошло! И чё я был такой тупой. Скоро где-нибудь разместится пре-альфа моего мода!

Попроси Дядюшку Айвана, он добрый и обязательно разместит здесь твой модуль, и мы будем в него играть, и Очень строго отценивать."шутка".
Daemonix
QUOTE

Попроси Дядюшку Айвана, он добрый и обязательно разместит здесь твой модуль, и мы будем в него играть, и Очень строго отценивать."шутка".

Сначала надо сделать...

Чёрт, искал-искал, а скрипт на то, чтобы непись говорил с тобой, если на триггер наступишь, не нашёл!
Может у кого есть?
Мефистофель
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oNPC = GetObjectByTag("NPC");//тег Непися
if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1)
  return;
SetLocalInt(OBJECT_SELF, "TRIGGER", 1);
AssignCommand(oNPC, ActionStartConversation(oPC, "тег заранее сделанного разгавора"));
}

Хватай. оНЭнтер Триггера
Daemonix
И опять всё пашет! Мефистофель, ты прямо крут!

А, и вот пробовал я изучить скрипт nw_c2_defaultX, как dumbo посоветовал...
Наверное, он переоценил мои таланты в скриптах. Нет ли чего попроще (напоминаю: чтобы непись атаковал игрока). swoon.gif
Batkom
сосзай для нипися свою фракцию, и спомощью скрипт визарда поставь в диалога атачить игрока(это если в диалоге)
если хочешь чтоб он просто атачил, поставь ему фракцию враждебный
dumbo
Daemonix, задавай вопросы конкретней. рекомендация изучать дефолтные скрипты была в ответ на:
QUOTE (Daemonix @ Jul 18 2005, 16:54)
расскажите мне о том как НеПиСь атакует игрока (условия, фракции, скрипты, советы)

чтобы непись атаковал игрока, достаточно выставить ему фракцию hostile. короче, напиши нормально, что ты хочешь.
DroWishSoul
помогите со скриптом, я тут новичок в скриптах.. я написал, но неправильно, компилится, но не работает
скрипт проверки предмета в слоте по тэгу (в разговоре с NPC условие на появление текста)

Neverwinter Script Source
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    object oTag = GetObjectByTag("tag");
    if(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC) == oTag)
        return FALSE;

    return TRUE;
}

скажите, что неправильно? (хотя почти уверен, что всё)
mamba.gif
Zirrex
DroWishSoul а что у тебя не работает? Не отображается ветка диалога? Она и не будет отображаться. Даже если у тебя и надета конкретная вещь на персонаже, и равнозначна предмету брони, то строчка "return FALSE" не пропустит тебя дальше по диалогу. Лучше уж так:

Neverwinter Script Source
int StartingConditional()
{
    object oPC = GetPCSpeaker();

    object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);

    if (GetIsObjectValid(oArmor) && GetTag(oArmor) == "tag")
        return TRUE;

    return FALSE;
}
Daemonix
QUOTE
чтобы непись атаковал игрока, достаточно выставить ему фракцию hostile. короче, напиши нормально, что ты хочешь.


Вот, что, я, собственно, хотел!
Там такой квест:
в пещере убиваешь главаря гоблинов-бандюков и находишь искомого непися. Он спрашивает:
-Ты пришёл спасти меня?
А ему можно ответить:
-Да, ты можешь идти.
или
-Нет, щас ты умрёшь!

Если выбираешь последнюю реплику, то он говорит:
-Только попробуй!!!

И вот тогда он атакует перса. diablo.gif
Zirrex
Daemonix простой скрипт. При этом НПС обидется сразу:

Neverwinter Script Source
void main()
{
    object oPC = GetPCSpeaker();

    // Игрок атакует НПС
    AssignCommand(oPC, ActionAttack(OBJECT_SELF));
}

Если ты хочешь просто поссориться с фракцией НПС, то можно так:
Neverwinter Script Source
void main()
{
    object oPC = GetPCSpeaker();

    // НПС произносит фразу
    AssignCommand(OBJECT_SELF, SpeakString("Ну что ж, тогда потанцуем!", TALKVOLUME_TALK));
    // Понижение отношения фракции до уровня врага
    SetStandardFactionReputation(STANDARD_FACTION_DEFENDER, 0, oPC);
    // Атакует игрока
    ActionAttack(oPC);
}
dumbo
небольшие поправки:
атаковать должен таки непись, зачем снижать репутацию игроку нападением? - достаточно этого:
Neverwinter Script Source
ActionAttack(GetPCSpeaker());

вообще, в таких случаях нехорошо портить отношение со всей фракцией непися, но, если нужно сделать именно так, то:
Neverwinter Script Source
AdjustReputation(GetPCSpeaker(), OBJECT_SELF, -100);
DetermineCombatRound(GetPCSpeaker());


Zirrex, дефендеры то тут причем? - дались они тебе! crazy.gif
DroWishSoul
Zirrex, благодарю, всё работает.
-fenix-
Тут вот в прохождении спрашивали, что значит меч +1 и у меня возникло массу других вопросов, что значит...
Есть какой-нить хелп, FAQ, по этому поводу? Наверное в лицензионных играх есть статьи, где объясняются все параметры и скилы, но в пиратке этого нет. Где можно это достать?
Zirrex
dumbo да я уж когда написал, выключил компьютер, потом подумал, а зачем так сложно, когда можно сделать НПС свою фракцию, и поссорить именно с ним, а не со всеми, кто входит в его фракцию. А нападение игрока на НПС я сделал лишь потому, что сам пункт разговора об этом говорит smile.gif Раз уж собрался, то бей первым.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.