Город Мастеров
IPB

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 95 96 97 98 99 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Noah
сообщение Jul 8 2006, 21:42
Сообщение #2386


Level 5
**

Класс: Убийца
Характер: Chaotic Neutral
Раса: Полуэльф



QUOTE(DarkDeivel @ Jul 8 2006, 21:20) [snapback]87410[/snapback]

Скажите как сделать чтобы при слове "далее" персонаж перемещался к указаному НПС. Тоесть.

ПОдоходит к капитану на одномо острове.

-Переправь меня на другой остров.Заранее установи точку прыжка(оwp).
- не прооблема давай.
-далее.
Здесь добавь скрипт:assigncommand(oPC,actionjumptoobject(oWp));

и персонаж(oPC) оказывается возле НПС капитана на другом острове(тут wp).

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DarkDeivel
сообщение Jul 8 2006, 22:20
Сообщение #2387


Level 3
*

Класс: Паладин
Характер: Lawful Good
Раса: Человек



QUOTE(Dik Morris @ Jul 8 2006, 21:34) [snapback]87413[/snapback]

DarkDeivel, подобные ситуации разбираются очень часто, используй поиск.

Нашел, меньше чем за полминуты. Читать.

Все нашле СпС.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DARKKK
сообщение Jul 8 2006, 22:34
Сообщение #2388


Level 1


Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Я вот недавно сел за Тулсет. и вот.

как сделать чтобы появилось строчка в диалоге при наличии 20 Animal Bone(в рюкзаке).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Jul 9 2006, 03:06
Сообщение #2389


Level 12
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



Cтавишь у нужной строки на Text Appears When... скрипт типа такого:
NSS
int Match(a, с)
{
    return (a == с);
}

int GetNumItemsInInventory(object oInventory = OBJECT_SELF, string sTag = "*")
{
    int nNum = 0;
    object oItem = GetFirstItemInInventory(oInventory);
    while (GetIsObjectValid(oItem))
    {
        if (Match(GetTag(oItem), sTag))
        {
            nNum += GetItemStackSize(oItem);
        }

        oItem = GetNextItemInInventory(oInventory);
    }

    return nNum;
}

int StartingConditional()
{
    object oPC = GetPCSpeaker();
    int n = GetNumItemsInInventory(oPC, "ТЭГ_ЭТОЙ_САМОЙ_КОСТИ");
    return (n >= 20);
}


По-моему этот вопрос разбирали в этой теме уже несколько раз, ты наверняка наткнулся бы на ответ пролистав тему (а заодно и на множество других крайне полезных вещей) и соседние, что настоятельно советую перед тем как спрашивать: "ух-хух, а как забрать 20 костей?".

----

P.S. Глюка (IMG:style_emoticons/kolobok_light/smile.gif)
пишу: int Match(a, в);
выдает: int Match(a, (IMG:style_emoticons/kolobok_light/dirol.gif) ;

Сообщение отредактировал azathoth - Jul 9 2006, 03:09
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 9 2006, 05:19
Сообщение #2390


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Да, там смайлы не парсятся, точнее парсятся... Как лечить я хз (IMG:style_emoticons/kolobok_light/pardon.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DarkDeivel
сообщение Jul 9 2006, 11:52
Сообщение #2391


Level 3
*

Класс: Паладин
Характер: Lawful Good
Раса: Человек



QUOTE(Dik Morris @ Jul 7 2006, 15:30) [snapback]87334[/snapback]

На onEnter, триггера:

NSS
void main()
{
  object oPC = GetEnteringObject();
  effect eHeal = EffectHeal(GetMaxHitPoints(oPC));
  effect eStrength = EffectAbilityIncrease(ABILITY_STRENGTH,1);
  effect eAC = EffectACIncrease(1);
  // Остальные эффекты добавишь сам, ищи в фильтре Effect*

  if (!GetIsPC(oPC))
   return;

  if (GetCurrentHitPoints(oPC) != GetMaxHitPoints(oPC))
   {
     ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oPC);
   }
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eStrength, oPC); // Сила повышается на 1. Бесконечно.
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eAC, oPC); // AC повышается на 1. Бесконечно.

  DestroyObject(OBJECT_SELF, 0.4); // Удали строку если не нужно чтобы скрипт срабатывал 1 раз.
}


Слухай у меня все работает. А как сделать к этому еще визуальные эффекты??
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jul 9 2006, 12:00
Сообщение #2392


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



С помощью 2 фун-ций:

NSS
// 1:
// Apply eEffect to oTarget.
void ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f)

// 2:
// * Create a Visual Effect that can be applied to an object.
// - nVisualEffectId
// - nMissEffect: if this is TRUE, a random vector near or past the target will
//   be generated, on which to play the effect
effect EffectVisualEffect(int nVisualEffectId, int nMissEffect=FALSE)

// + констант:
DURATION_TYPE_INSTANT ;
DURATION_TYPE_PERMANENT ;
DURATION_TYPE_TEMPORARY.


Константы, виз. эффектов начинаются с VFX_* (Рисунки см. в Лексиконе)

PS: Т.е получится, например так:
NSS
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_FLAME_M), oPC);


Сообщение отредактировал Dik Morris - Jul 9 2006, 12:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Jul 9 2006, 14:03
Сообщение #2393


Level 17
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Лучше всего залинковать эффекты бонусов с визуальными эффектами (см. скрипт любого спелла).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DarkDeivel
сообщение Jul 9 2006, 16:08
Сообщение #2394


Level 3
*

Класс: Паладин
Характер: Lawful Good
Раса: Человек



QUOTE(Dik Morris @ Jul 9 2006, 12:00) [snapback]87436[/snapback]

С помощью 2 фун-ций:

NSS
// 1:
// Apply eEffect to oTarget.
void ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f)

// 2:
// * Create a Visual Effect that can be applied to an object.
// - nVisualEffectId
// - nMissEffect: if this is TRUE, a random vector near or past the target will
//  be generated, on which to play the effect
effect EffectVisualEffect(int nVisualEffectId, int nMissEffect=FALSE)

// + констант:
DURATION_TYPE_INSTANT ;
DURATION_TYPE_PERMANENT ;
DURATION_TYPE_TEMPORARY.


Константы, виз. эффектов начинаются с VFX_* (Рисунки см. в Лексиконе)

PS: Т.е получится, например так:
NSS
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_FLAME_M), oPC);


Понятно ща попробую. (IMG:style_emoticons/kolobok_light/declare.gif)

Aiwan: слушай, у нас не форум розовых дневничков, где спамят лишь бы постов набрать. Больше такого содержательного постинга что бы не было. Устный пред.


Сообщение отредактировал Aiwan - Jul 9 2006, 17:45
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Noah
сообщение Jul 11 2006, 21:16
Сообщение #2395


Level 5
**

Класс: Убийца
Характер: Chaotic Neutral
Раса: Полуэльф



Всем mass heal & level up!:)*как мне организовать скрипт на он персепт нпс чтобы он брал мои деиствия и реагировал.Например если он видит что рс в режиме parry,то он отбегает и лечиться!Ответ очень нужен!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 12 2006, 00:33
Сообщение #2396


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Noah, простой скрипт, взята функция "Талента" лечения из инклуда "x0_i0_talent":

NSS
if (GetActionMode(oPercep, ACTION_MODE_PARRY) == TRUE)
{
    if (TalentHealingSelf())
    {
        // Подлечиться;
    }
}

Чтобы заработал скрипт, необходимо добавить в инвентарь противника бутылки лечения. Сработает, когда у противника жизни станет меньше половины полной жизни, а напавший войдет в режим парирования.

All

Всем, кто программирует, известен цикл "for", позволяющий сделать счетчик из числа, границы которого для Вот сложения, вычитания, и т.д., описываются в шапке цикла. Есть универсальный цикл для снятия вещей с персонажа:
NSS
for (i = 0; i < NUM_INVENTORY_SLOTS; i++)
{
    oItem = GetItemInSlot(i, oPC);

    if (GetIsObjectValid(oItem))
        AssignCommand(oPC, ActionUnequipItem(oItem));
}

Сам цикл работает без проблем, к нему претензий нет, но не срабатывает при каждом новом проходе функция, ради который весь цикл и создавался, "ActionUnequipItem" (выполняется только 4 раза). Экспериментальным путем удалось установить, что в стэке может одновременно находиться лишь 4 действия. Т.е., если эти действия еще не выполнились, то все последующие окажутся вне стэка, и соответственно, не выполнятся. Что же делать? Ведь данный цикл раньше работал отлично. Тогда я решил немного перехитрить скрипт, заставив цикл выполняться не 1 раз, а 4 раза. Как бы проверяя, а точно ли все вещи сняты?! В итоге получилось следующее:
NSS
void TakeItemsFromPC(object oPC)
{
    int k = GetLocalInt(oPC, "DropThings");

    if (k > 3)
    {
        DeleteLocalInt(oPC, "DropThings");
        AssignCommand(oPC, ClearAllActions());
        return;
    }

    int i;
    object oItem;

    for (i = 0; i < 14; i++)
    {
        oItem = GetItemInSlot(i, oPC);

        if (GetIsObjectValid(oItem))
        {
            AssignCommand(oPC, ActionUnequipItem(oItem));
        }
    }
    SetLocalInt(oPC, "DropThings", ++k);
    DelayCommand(0.2, TakeItemsFromPC(oPC));
}

void main()
{
    TakeItemsFromPC(GetPCSpeaker());
}

Не уверен, что это лучшее решение, но вещи снимаются все, правда не за 1 цикл. У меня возник вопрос, можно ли как-нибудь эту операцию осуществить иначе?

Сообщение отредактировал Zirrex - Jul 12 2006, 00:56
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Noah
сообщение Jul 12 2006, 03:43
Сообщение #2397


Level 5
**

Класс: Убийца
Характер: Chaotic Neutral
Раса: Полуэльф



Спасиб,Zirrex!1.B скриптах для новичков Айван приводил подобный скрипт,глянь.2.Как скриптом добавить крылья,хвост или костяну руку?Иль отобрать!Или это только через 2dа?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Jul 12 2006, 04:19
Сообщение #2398


Level 12
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



В стеке может находиться достаточно много действий, чтобы забыть об их количестве, если дело не касается катсценок, попробуй очистить стэк существа перед перебором.

По другому - копировать вещи CopyItem'ом в инвернтарь существа, а из слотов - удалять. Действия - побоку.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 12 2006, 04:34
Сообщение #2399


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Вообще в стеке может быть 75 действий. Просто сам скрипт может в одном из блоков очищать акции. РС надо время на то что бы снять предмет. Попробуй накидать акций, повесить на каждую задержку в полсекунды и закройстек РС.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jul 12 2006, 08:36
Сообщение #2400


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE(Noah @ Jul 12 2006, 05:43) [snapback]87624[/snapback]

2.Как скриптом добавить крылья,хвост или костяну руку?Иль отобрать!Или это только через 2dа?


Читать эту ссылку.


От себя, как известно такие свойства появляются на эпическом уровне, у определенных классов, (например, светящиеся глаза, у монаха) значит попробуй добавить NPC несколько лишних уровней.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 12 2006, 08:54
Сообщение #2401


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



azathoth, да, я думал про такой вариант, тем более, что он работает отлично, но что случилось с нашим циклом, вот что я хотел узнать. Ведь работал он раньше правильно, теперь же нет.

Aiwan, может быть оно и так, только не для варианта с циклом. Потом, если делать задержку на действие, то это лишит код цикла, и придется все 13 вещей, если они есть, перечислить в одинаковом коде, только каждая строчка будет выполняться с некоторой задержкой. Что, согласись, все же не очень здорово, потому что аналогичную операцию может выполнить и цикл, если бы не одно но. Ладно, если иных вариантов нету, я остановлюсь на своем, потому что он работает нормально.

Вообще странно, если максимально действий может быть 75, то куда же они деваются, или просто не успевают выполняться?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Jul 12 2006, 08:55
Сообщение #2402


Level 17
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



QUOTE(Dik Morris @ Jul 12 2006, 09:36) [snapback]87631[/snapback]

Читать эту ссылку.
От себя, как известно такие свойства появляются на эпическом уровне, у определенных классов, (например, светящиеся глаза, у монаха) значит попробуй добавить NPC несколько лишних уровней.
Ссылка совсем не в тему. Там обсуждение читов, а не скриптов.
Крылья: SetCreatureWingType
Хвост: SetCreatureTailType
Рука/нога/голова/всё остальное: SetCreatureBodyPart
Работает только в 1.67.

Сообщение отредактировал virusman - Jul 12 2006, 08:55
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 12 2006, 09:24
Сообщение #2403


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



2 Zirrex. Они не успевают выполниться.
Лично я копирую все шмотки в сундук и оттуда назад. Все остальное геммор, так как многие события вшиты в движок. Я это говорю к тому что столкнулся с проблемой одеть-снять проклятые вещи в модуле.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 12 2006, 12:20
Сообщение #2404


Level 9
Иконки Групп

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Zirrex, функции одевания и снятия шмоток сами по себе длинные, наверно в движок вшита сопутствующая анимация. Можно попробовать блокировать стек, чтобы исключить возможность сбоя кода. Но все же лучше через Copy и Destroy. Эти функции более быстрые, и можно использовать даже в бою. А вот одеть в бою шмотку – большой геморрой!
NSS
void main()
{
object oPC = GetFirstPC();
int i;
object oItem = GetItemInSlot(i, oPC);

for (i = 0; i < NUM_INVENTORY_SLOTS; i++)
{
  oItem = GetItemInSlot(i, oPC);

  if (GetIsObjectValid(oItem))
     {
      CopyItem(oItem, oPC);
      DestroyObject(oItem);
     }
}
}
  // Снимаем все шмотки с героя ему в рюкзак


Сообщение отредактировал gennady - Jul 12 2006, 12:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 12 2006, 13:16
Сообщение #2405


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



gennady, в такой цепочке есть один недостаток, если скрипт начнет выполняться, а игрок в этот момент покинет сервер, может произойти известная неприятность, а именно, размножение вещей. Мой вариант хоть и не идеален, потому что заставляет выполняться цикл 4 раза, но, если его немного модифицировать, добавив проверку, а есть ли вообще цель, с которой надо работать, то цикл лишь остановится на полпути, когда цель исчезнет. Вещи же останутся либо на персонаже, либо в инвентаре, но не размножатся.

Чтобы правильно работала такая цепочка, как копирование и удаление, необходимо делать метки на удаляемые вещи, и в момент входа на сервер, проверять, есть ли у персонажа подобные вещи. Если есть, удалять.

Скрипт можно укоротить:

NSS
void main()
{
    object oPC = // тому-то, GetFirstPC не подходит, потому что модуль мультиплейерный
    int i;
    object oItem;

//    object oItem = GetItemInSlot(i, oPC); // лишняя строчка

    for (i = 0; i < 14; i++) // невидимые объекты нам проверять не нужно, поэтому граница на 14 вещи.
    {
        oItem = GetItemInSlot(i, oPC);

        if (GetIsObjectValid(oItem))
        {
            CopyItem(oItem, oPC);
            DestroyObject(oItem);
        }
    }
}


Aiwan, осуществляешь копирование через сундук, чтобы персонажу не выводились надписи, что вещь потеряна? Тоже вариант.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
OxCom
сообщение Jul 12 2006, 17:01
Сообщение #2406


Level 2
*

Класс: Маг
Характер: Chaotic Evil
Раса: Полуэльф



Опять же доброго времени суток. Бился я с SQLGetData - так ничего и не получилось. Скрипт все время выдает "пусто", что я не так сделал? Почему скрипт не работает?
NSS
#include "aps_include"

void main()
{
    object oPC = GetLastUsedBy();
    string sPlayer=SQLEncodeSpecialChars(GetPCPlayerName(oPC));
    string sChar=SQLEncodeSpecialChars(GetName(oPC));
    string sSQL="SELECT * FROM `nwn_stast` WHERE playername = '"+sPlayer+"' AND charname = '"+sChar+"'";
    SQLExecDirect(sSQL);
    string sName = SQLGetData(0);
    string sName1 = SQLGetData(1);
if(SQLFetch())
{
    if (sName == sPlayer)
    {
    SendMessageToPC(oPC, "sName 0");
    }
        if (sName1 == sPlayer)
    {
    SendMessageToPC(oPC, "sName 1");
    }
} else {SendMessageToPC(oPC, "Пусто");}

}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Jul 12 2006, 18:18
Сообщение #2407


Level 17
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



QUOTE(OxCom @ Jul 12 2006, 18:01) [snapback]87663[/snapback]

Опять же доброго времени суток. Бился я с SQLGetData - так ничего и не получилось. Скрипт все время выдает "пусто", что я не так сделал? Почему скрипт не работает?
NSS
#include "aps_include"

void main()
{
    object oPC = GetLastUsedBy();
    string sPlayer=SQLEncodeSpecialChars(GetPCPlayerName(oPC));
    string sChar=SQLEncodeSpecialChars(GetName(oPC));
    string sSQL="SELECT * FROM `nwn_stast` WHERE playername = '"+sPlayer+"' AND charname = '"+sChar+"'";
    SQLExecDirect(sSQL);
    string sName = SQLGetData(0);
    string sName1 = SQLGetData(1);
if(SQLFetch())
{
    if (sName == sPlayer)
    {
    SendMessageToPC(oPC, "sName 0");
    }
        if (sName1 == sPlayer)
    {
    SendMessageToPC(oPC, "sName 1");
    }
} else {SendMessageToPC(oPC, "Пусто");}

}


1. Посмотри лог nwnx_odbc.
2. Повтори тот же самый запрос вне НВНа.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
OxCom
сообщение Jul 12 2006, 18:36
Сообщение #2408


Level 2
*

Класс: Маг
Характер: Chaotic Evil
Раса: Полуэльф



В логе только запрос. Получения инфы там не записано. Вне НВНа все работает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Jul 12 2006, 18:38
Сообщение #2409


Level 17
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



QUOTE(OxCom @ Jul 12 2006, 19:36) [snapback]87668[/snapback]

В логе только запрос. Получения инфы там не записано. Вне НВНа все работает.

Поставь в nwnx.ini debuglevel в разделе этого плагина побольше.
NWNX инициализируется в модуле?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
OxCom
сообщение Jul 12 2006, 19:39
Сообщение #2410


Level 2
*

Класс: Маг
Характер: Chaotic Evil
Раса: Полуэльф



Вот жеж я балда. самое главное и забыл (IMG:style_emoticons/kolobok_light/smile.gif) ) SQLInit();
Спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 95 96 97 98 99 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28th April 2025 - 20:37