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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 74 75 76 77 78 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Lex
сообщение Aug 18 2005, 23:02
Сообщение #1861


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Proydoha @ Aug 18 2005, 23:56)
Вопрос номер раз: nInter ++ как я понял равносильно nInter=nInter+1?

да
QUOTE (Proydoha @ Aug 18 2005, 23:56)
Вопрос номер два: Что означает ошибка:"Потеря анализатора переменной"?

ставь английский тлк. Нехватало еще кривости перевода тут разбирать.
QUOTE (Proydoha @ Aug 18 2005, 23:56)
Вопрос номер три: Так что же все-таки с токенами и рандомом?

а что с ними?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 18 2005, 23:24
Сообщение #1862


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



ERROR: PARSING VARIABLE LIST
Все равно не понимаю.

QUOTE
а что с ними?

Они не работают. Ну то есть в самом начале суть вопроса была почему Random(38)-1 все время дает 10 и почему из всех кастомных токенов работает только первый. Меня попросили показать код и потом пошло-поехало, но не зря.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 18 2005, 23:59
Сообщение #1863


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Proydoha @ Aug 19 2005, 00:24)
ERROR: PARSING VARIABLE LIST
Все равно не понимаю.

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

рандом одно и то же выдает постоянно..тебе к Айвану, он сталкивался с этим.
Все мои рандомы работают нормально..
с Токенами - ХЗ. Вроде как все верно, может вызываешь неправильно их в диалоге?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 19 2005, 00:09
Сообщение #1864


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



Вот здесь:
Neverwinter Script Source
int Check(int nNumber, int nStart, int nStep)


Айван свое по этому поводу уже сказал:
QUOTE
Proydoha рандом привязан к локации и тайлам и прочему. ЕСли локи одинаковые и маленькие то будут одни и те же цифры. Я это уже съел. Читай лексикон.

Но в связи с тем что я не понимаю как рандом может быть привязан к локации вынужден спросить:"А нет ли других методов генерации случайных чисел?"

С токенами вроде все правильно (или наоборот все неправильно и наверное с них надо начинать так как 10 я увидел через них). <CUSTOM1> мне это выдавал(из моего скрипта).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 19 2005, 00:45
Сообщение #1865


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Neverwinter Script Source
int Check(int nNumber, int nStart, int nStep)
{
int nIter = 0;
while (nIter*nStep + nStart <= nNumber)
  {
  if (nNumber == nIter*nStep + nStart)
        return TRUE;
  nIter ++;
  }
return FALSE;
}

void main()
{
/// тут твой скрипт
}

так тадо типа.
Добавлено в [mergetime]1124401586[/mergetime]
токены у меня всегда нормально работали.. Надо смотреть уже как это в модуле сделано.
то же самое с рандомами. У меня все было нормуль с ними.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Aug 19 2005, 01:07
Сообщение #1866


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



хм...
1.
QUOTE
Custom tokens 0-9 are used by Bioware and should not be used.

2. несколько сокращенный вариант твоих проверок:
Neverwinter Script Source
//...
  if (iNumber==-1)
    sNumber="дв.зеро";
  else
    if (!iNumber)
      sNumber="зеро";
    else
    {
      sNumber=IntToString(iNumber);
      iChetNechetP = iNumber % 2;
      iBlackRedP = (
        (iChetNechetP && (iNumber < 10 || (iNumber > 18 && iNumber < 28))) ||
        (!iChetNechetP && ((iNumber > 10 && iNumber < 19) || iNumber > 28))
      );
      iTretP = (iNumber-1) / 12;
      iPolovinaP = (iNumber-1) / 18;
      iRyadP = (iNumber-1) % 3;
      sChetNechet = iChetNechetP ? "нечетное" : "четное";
      sBlackRed = iBlackRedP ? "красное" : "черное";
      sTret = GetSubString(" 1-1213-2425-36", iTretP * 5, 5);
      sPolovina = iPolovinaP ? "19-36" : " 1-18";
      sRyad = GetSubString(" нижнийсреднийверхний", iRyadP * 7, 7) + " ряд";
    }
//...

note: все "проверочные" переменные (iChetNechetP, iBlackRedP...) нумеруются не с 1 (1,2..), а с 0...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
zmey
сообщение Aug 19 2005, 10:05
Сообщение #1867


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Дракон



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

1. Как сделать, чтобы хенчмен при отдыхе не восстанавливал очки жизни

2. есть ли хаки с огнестрельным оружием типа мушкетов и ползающими тварями( змеями, или чем нибудь типа ормирр из POOL OF RADIANCE

3. Как сделать, чтобы при событии on close саркофага В НЕСКОЛЬКИХ локациях в точках WP_SKELET появились скелеты? (таких точек в одной локации может быть несколько). вешать скрипты на on enter каждой локи не выход...

4.Нужен юзабельный труп колдуна в мантии (без инвентаря). Делаю токой, грохая на on spawn непися. Но тогда труп получается или с инвентарём, или неюзабельный. И он исчезает! А мне по сюжету надо, чтобы труп не исчезал, т.к при использовании на это самый труп уникальной силы предмета должен появляться дух. (кстати как прописывать, на что должна бть использована уникальная сила?) :crazy:


Добавлено в [mergetime]1124435255[/mergetime]
как добавить запись в журнал, если перс взял в инвентарь предмет. (и как сделать, чтобы запись не обновлялась, если перс ВЫЛОЖИЛ предмет, а потом снова ВЗЯЛ?)
Добавлено в [mergetime]1124435429[/mergetime]
Если не трудно, расскажите, что такое RANDOM, CASE, OBJECT_INVALID и как всё это работает.

и ссылочку на последний лесикон, пожалуйста, интернет медленный, да и недешёвый...
Добавлено в [mergetime]1124435531[/mergetime]
:yes: И если можно, то все выше написанное подробно, с примерами и пояснениями - мне за шесть дней модуль доделать надо...
Добавлено в [mergetime]1124435643[/mergetime]
Здрасьте, Феникс! Ну друг, ну выручил! Шесть часов возни - и я смог сделать диалог с вещью!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 19 2005, 10:33
Сообщение #1868


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (zmey @ Aug 19 2005, 10:05)
2. есть ли хаки с огнестрельным оружием типа мушкетов и ползающими тварями( змеями, или чем нибудь типа ормирр из POOL OF RADIANCE

Есть, а где не знаю :)

QUOTE (zmey @ Aug 19 2005, 10:05)
3. Как сделать, чтобы при событии on close саркофага В НЕСКОЛЬКИХ локациях в точках WP_SKELET появились скелеты? (таких точек в одной локации может быть несколько). вешать скрипты на on enter каждой локи не выход..

Делаешь закрытую локу и в нее помешаешь скилетов, на места их появления ставешь WP(можно тригер растянуть), далее с помощью
Neverwinter Script Source
ActionJumpToObject(object oToJumpTo, int bWalkStraightLineToPoint=TRUE)

кидаешь нужных челов к нужному объекту.
Но наверное лучше использовать
Neverwinter Script Source
ActionJumpToLocation(location lLocation)

и объявлять локацию так,
Neverwinter Script Source
location locLoc = Location(GetArea(таг WP), GetPosition(таг WP), GetFacing(таг WP));

Это уже мой вопрос.

QUOTE (zmey @ Aug 19 2005, 10:05)
как добавить запись в журнал, если перс взял в инвентарь предмет. (и как сделать, чтобы запись не обновлялась, если перс ВЫЛОЖИЛ предмет, а потом снова ВЗЯЛ?)

QUOTE (-fenix- @ Aug 13 2005, 18:11)

Есть 3 функции.

Neverwinter Script Source
AddJournalQuestEntry(string szPlotID, int nState, object oCreature, int bAllPartyMembers=TRUE, int bAllPlayers=FALSE, int bAllowOverrideHigher=FALSE)

GetJournalQuestExperience(string szPlotID)



RemoveJournalQuestEntry(string szPlotID, object oCreature, int bAllPartyMembers=TRUE, int bAllPlayers=FALSE)


Создай задание в мастере сюжета и посмотри появившиеся скрипты.


Мож еще, что напишу попожее.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
zmey
сообщение Aug 19 2005, 10:37
Сообщение #1869


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Дракон



Феникс, то есть мне толпу скелетов в закрытой локе делать?
Добавлено в [mergetime]1124437147[/mergetime]
Мне ведь нужно штук пятьдесят скелетов и зомби по руниам замка раскидать! :DB: :crazy:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 19 2005, 10:47
Сообщение #1870


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Random(хх) - генератор рандомных чисел, будет генерировать от 0, до нужного числа(хх)-1.
Random(3) будет генерировать числа от 0, до 2.

Neverwinter Script Source
switch (Random(3))
{
case 0:
    //действия
    break;

case 1:
    //действия
    break;

case 2:
    //действия
    break;

}

case - это один из операторов конструкции switch/case. Смысл ее в следующем.
В switch пишется число, скажем Random(3), а в каждом из 3 case условием выполнения операторов стоит свое значение этого числа.
Если рандом даст 2, то выполнятся операторы стоящие в case 2:.
OBJECT_INVALID - если просто перевести, то можносказать, что ОБЪЕКТ НЕ ДЕЙСТВИТЕЛЕН. Короче такого объекта нет или объект не соответствует каким-то условиям.
QUOTE (zmey @ Aug 19 2005, 10:05)
и ссылочку на последний лесикон, пожалуйста, интернет медленный, да и недешёвый...

Я качал с ВРГ.
Добавлено в 10:49
QUOTE (zmey @ Aug 19 2005, 10:37)
Феникс, то есть мне толпу скелетов в закрытой локе делать? Добавлено в 10:39 Мне ведь нужно штук пятьдесят скелетов и зомби по руниам замка раскидать!

Получается так.

Хм, а можно вообще сделать вторую локацию с руинами(копию), только со скелетами.
И после чего там у тебя, при выходе из данной локи кидать чела уже в эту локу. У тебя ведь сундук стоит в подвале, а руины на верху?

Сообщение отредактировал -fenix- - Aug 19 2005, 10:52
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Misty Dragon
сообщение Aug 19 2005, 11:03
Сообщение #1871


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

Класс: Маг
Характер: Lawful Neutral
Раса: Дракон
NWN: Скриптинг [PW]



Neverwinter Script Source
CreateObject(nObjectType, sTemplate, location, bUseAppearAnimation);


этого никто не отменял

QUOTE
1. Как сделать, чтобы хенчмен при отдыхе не восстанавливал очки жизни


Neverwinter Script Source
int iHenchHP = GetCurrentHitPoints(oHench);

запоминаем количество ХП хенча.

Neverwinter Script Source
effect eEffect = EffectDamage(GetMaxHitPoints(oHench) - iHenchHP,DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_NORMAL);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect,oHench);

удаляем лишние ХП у хенча.

Сообщение отредактировал Misty Dragon - Aug 19 2005, 11:10
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 19 2005, 11:13
Сообщение #1872


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (Misty Dragon @ Aug 19 2005, 11:03)

Neverwinter Script Source
effect eEffect = EffectDamage(GetCurrentHitPoints(oHench) - iHenchHP,DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_NORMAL); ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect,oHench);




Небольшая ошибка, наверное так :)
Neverwinter Script Source
effect eEffect = EffectDamage(GetMaxHitPoints(oHench) - iHenchHP,DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_NORMAL); ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect,oHench);

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Aug 19 2005, 11:44
Сообщение #1873


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



-fenix-
с ХП все было правильно.

zmey
создать скелетов во всех вэйпах с тэгом WP_SKELET:
Neverwinter Script Source
void main()
{
  object oWP;
  int nIdx = 0;
  while (GetIsObjectValid(oWP = GetObjectByTag("WP_SKELET", nIdx)))
  {
    CreateObject(OBJECT_TYPE_CREATURE, "NW_SKELETON", GetLocation(oWP));
    nIdx++;
  }
}


делаем юзабельный труп своими руками: в Advanced свойствах непися убираем все галки(всякие дизармы, Leave lootable corpse итд), время ставим на максимум(32767), в OnSpawn вешаем такое:
Neverwinter Script Source
void main()
{
  ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), OBJECT_SELF);
  // ucorpse - !!resref!! созданного нами плэйса с галочкой usable
  // и моделью Invisible Corpse Object
  object oUse = CreateObject(OBJECT_TYPE_PLACEABLE, "ucorpse",
                            GetLocation(OBJECT_SELF));
}

если делаешь через использование предмета, то нужно в скрипте вызываемом при активации проверять цель применения - если это наш ucorpse, то запускать создание духа итд... или просто в свойствах ucorpse на OnUse поставить скрипт...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 19 2005, 11:45
Сообщение #1874


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Misty Dragon @ Aug 19 2005, 12:03)
Neverwinter Script Source
CreateObject(nObjectType, sTemplate, location, bUseAppearAnimation);



этого никто не отменял

а лучше в закрытую локу 1 скелета как эталон, а потом запустить цикл

Neverwinter Script Source
object oEtalon = GetObjectByTag("ETALON_SKELET");
int i = 0;
object oPoint = GetObjectByTag("WP_SKELET",i);
while (GetIsObjectValid(oPoint))
    {
    CopyObject(oEtalon,GetLocation(oPoint));
    i++;
    oPoint = GetObjectByTag("WP_SKELET",i);
    }

в закрытую локу скелета с тэгом ETALON_SKELET
в локации поинты WP_SKELET
кусок кода суешь куда тебе надо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 19 2005, 11:53
Сообщение #1875


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Том III находится тут
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Misty Dragon
сообщение Aug 19 2005, 11:54
Сообщение #1876


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

Класс: Маг
Характер: Lawful Neutral
Раса: Дракон
NWN: Скриптинг [PW]



кхм.. дык, я так и написал :)
впрочем без разницы. главное сначала взять текущие ХП. после реста они восстановятся, т.е. GetMaxHitPoints(oHench) = GetCurrentHitPoints(oHench).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Misty Dragon
сообщение Aug 19 2005, 11:59
Сообщение #1877


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

Класс: Маг
Характер: Lawful Neutral
Раса: Дракон
NWN: Скриптинг [PW]



QUOTE (Lex @ Aug 19 2005, 11:45)
а лучше в закрытую локу 1 скелета как эталон, а потом запустить цикл


не факт. итерации лучше разворачивать в последовательные команды, где это только возможно. не известно, оптимизирует ли интерпретатор байт-код, но желательно сделать сделать это. в асме и плюсах это дает хорошую прибавку к производительности.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Aug 19 2005, 12:16
Сообщение #1878


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



Misty Dragon
применительно к нвн-скриптам(да и вообще к любым известным мне интерпретаторам) принцип разворачивания циклов неактуален. вообще. пока не видел интерпретатора с конвеерами и предсказаниями переходов. а даже если таковой и найдется, то это будет бред чистой воды - на каждую команду байт-кода в любом случае делается куча переходов, вызовов итд. не парься впредь. ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 19 2005, 12:37
Сообщение #1879


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Том IV
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 20 2005, 00:20
Сообщение #1880


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



QUOTE
Custom tokens 0-9 are used by Bioware and should not be used.

Как оказалось именно из-за этого шли все косяки в скрипте. И рандом работал нормально. Так что я извиняюсь за причиненное беспокойство... И пожалуй задам еще один вопрос...
Каким образом можно организовать прием ставок так, что бы игрок мог ввести сумму самостоятельно?

(Все это дело я вешаю на ветки диалога. Его можно будет приостановить до тех пор пока игрок введет требуемую сумму?)

Сообщение отредактировал Proydoha - Aug 20 2005, 00:22
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Valleo
сообщение Aug 20 2005, 01:48
Сообщение #1881


Level 4
**

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



Нужно автивировать НПС с которым ты разговариваешь на то чтобы он слушал (SetListener() вроде... посмотри в скриптах), потом задать шаблоны на прием ставок (SetListenPattern(тут параметры, смотри описание скрипта)). И все - когда нужно на определенную ветку вешай переменную, которая будет означать что он принимает ставшу, говоришь в толк ставку по шаблону и он принимает ставку... Короче тебе надо полазить по скриптам банков (должны быть на форуме) с голосовым управлением. Там все понятно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Exectrix
сообщение Aug 21 2005, 11:50
Сообщение #1882


Level 2
*

Класс: Тайный Лучник
Характер: Chaotic Evil
Раса: Полуэльф



Вот, нашёл такие слова:
QUOTE
В Авроре есть возможность создать собственный класс со своими харками и т.д.  с Vhall


Очень интересно... Куда жмать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 21 2005, 11:54
Сообщение #1883


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Exectrix, это не жать, это ручками делать надо. Само создание - это ковыряние 2da файлов, смотри в соответствующей теме.
Из скриптов тут только выдача начального оружия и что-то в этом духе - это есть в базе.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Exectrix
сообщение Aug 21 2005, 11:59
Сообщение #1884


Level 2
*

Класс: Тайный Лучник
Характер: Chaotic Evil
Раса: Полуэльф



QUOTE
Из скриптов тут только выдача начального оружия и что-то в этом духе

А по подробней об этом иожно? Хочу шоб PC появлялся с пустым мешком при запуске модуля...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 21 2005, 13:05
Сообщение #1885


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (Exectrix @ Aug 21 2005, 11:59)
А по подробней об этом иожно? Хочу шоб PC появлялся с пустым мешком при запуске модуля...

Скажем так.

На OnClientEnter в св-вах модуля
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oItem = GetFirstItemInInventory(oPC);

while (GetIsObjectValid(oItem))
    {
    DestroyObject(oItem);
    oItem = GetNextItemInInventory(oPC);
    }

int i;

for (i=0; i<=13; i++)
    {
    oItem = GetItemInSlot(i, oPC);
    DestroyObject(oItem);
    }
}

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 74 75 76 77 78 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 20th July 2025 - 04:19