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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 76 77 78 79 80 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Dik Morris
сообщение Aug 23 2005, 19:03
Сообщение #1921


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

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



QUOTE
2) NPC после разговора телепортировал игрока в друшую локацию

Ставится на последнюю строчку в диалоге
Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
AssignCommand(oPC, ClearAllActions());
ActionWait(3.0);
AsignCommand(oPC, JumpToObject(GetObjectByTag("ТЭГ_ВЭЙПОИНТА")));
}


Сообщение отредактировал Dik Morris - Aug 23 2005, 19:05
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 23 2005, 19:11
Сообщение #1922


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

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



QUOTE (Vitalist @ Aug 23 2005, 18:05)
1) после смерти NPC открылся портал

Скажем на месте смерти откроется портал, так пойдет?
В св-вах нпс в OnDeath добавь строку.
Neverwinter Script Source
CreateObject(OBJECT_TYPE_PLACEABLE, "рес реф портала", Location(GetArea(OBJECT_SELF), GetPosition(OBJECT_SELF), GetFacing(OBJECT_SELF)));

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 25 2005, 18:49
Сообщение #1923


Level 4
**

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



Fenix. самое то!
DikMorris, так все правильно? Что-то не хочет...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 25 2005, 19:12
Сообщение #1924


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

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



QUOTE (Vitalist @ Aug 23 2005, 19:05)
2) NPC после разговора телепортировал игрока в друшую локацию

Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
AssignCommand(oPC, ClearAllActions());
AsignCommand(oPC, ActionJumpToObject(GetObjectByTag("ТЭГ_ВЭЙПОИНТА")));
}

так.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Aug 26 2005, 00:17
Сообщение #1925


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



Вот мне, наконец, понадобилась ваша квалифицированная помощь.
У меня есть сундук. Я кладу туда один сюжетный предмет. Когда захожу в игру, то в сундуке помимо нужного мне предмета лежат ещё несколько случайно сгенерированных игрой. Можно ли убрать как-нибудь эти случайно сгенерированные предметы?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tiger Greyhawk
сообщение Aug 26 2005, 02:29
Сообщение #1926



Иконки Групп

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



2 Daemonix
Правь скрипт на OnEnter этого сундука. Или удали его вообще. ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 26 2005, 08:13
Сообщение #1927


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

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



Daemonix убери все скрипты в слотах сундука и положи в инвентарь свой предмет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 26 2005, 14:50
Сообщение #1928


Level 4
**

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



Что-то не хочет... Наверняка, я где-то не прав: в конце диалога пихаю этот скрипт, в другой области ставлю "точку" с нужным тэгом?
А как телепортировать просто в другую локацию?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 26 2005, 16:18
Сообщение #1929


Level 7
**

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



прото в другую нельзя. Надо поставить в другой локации вэйпоинт и телепортироваться туда...

Кажеться так...
Neverwinter Script Source
void main()
{

object oPC = GetPCSpeaker();

AssignCommand(oPC, ClearAllActions());

object oTarget;
location lTarget;
oTarget = GetWaypointByTag("Тэг вэйпоинта");

lTarget = GetLocation(oTarget);

if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;

DelayCommand(3.0, AssignCommand(oPC, ActionJumpToLocation(lTarget)));

oTarget = oPC;

//Визуальный эффект

int nInt;
nInt = GetObjectType(oTarget);

if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oTarget);
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), GetLocation(oTarget));

}


Сообщение отредактировал DEM - Aug 26 2005, 16:19
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 26 2005, 16:49
Сообщение #1930


Level 4
**

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



DEM :good:! Теперь все в шоколаде...
Можно ли задать интервал между игроком и NPC во время разговора? Мне хотелось бы, чтобы игрок не подходил так близко.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 26 2005, 16:52
Сообщение #1931


Level 7
**

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



Да? Сам был не уверен... Такие скрипты для меня впервые :)
QUOTE
Можно ли задать интервал между игроком и NPC во время разговора? Мне хотелось бы, чтобы игрок не подходил так близко.


Скорее всего можно, но как... :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Aug 26 2005, 16:58
Сообщение #1932


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

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



Можно, написать кутсценку :yes: (если уж сильно надо, я напишу)
Еще игрока, закинуть на вайпоинт :D

Сообщение отредактировал Dik Morris - Aug 26 2005, 16:58
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 26 2005, 17:29
Сообщение #1933


Level 7
**

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



Ну а вот, если не хочешь эффекта, но вместе со всей партией :)


Neverwinter Script Source
void main()
{

object oPC = GetPCSpeaker();

AssignCommand(oPC, ClearAllActions()); //почистить все ДЕЙСТВИЯ у игрока

object oTarget;
location lTarget;
oTarget = GetWaypointByTag("тэг вэйпоинта");

lTarget = GetLocation(oTarget);

if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;

oTarget=GetFirstFactionMember(oPC);

while (GetIsObjectValid(oTarget))
   {
   AssignCommand(oTarget, ActionJumpToLocation(lTarget));
   oTarget=GetNextFactionMember(oPC);
   }

}


Сообщение отредактировал DEM - Aug 26 2005, 17:33
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 26 2005, 20:29
Сообщение #1934


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

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



QUOTE (Vitalist @ Aug 26 2005, 16:49)
Можно ли задать интервал между игроком и NPC во время разговора? Мне хотелось бы, чтобы игрок не подходил так близко.


Vitalist, можно растянуть перед НПС тригер(если НПС стоячий) и на OnEnter написать такой скрипт. Тогда НПС сам начнет диалог на минимально допустимом расстоянии.

Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oNPC = GetObjectByTag("ТАГ НЕВИДИМОГО ТРУПА");

if(GetIsPC(oPC))
    {
    AssignCommand(oPC, ClearAllActions());
    AssignCommand(oPC, SetCommandable(FALSE, oPC));
    AssignCommand(oNPC, ActionStartConversation(oPC));
    }
}


И обязательно, на последнюю фразу в диалоге, на вкладку совершенных действий нужно поставить следующее.

Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
SetCommandable(TRUE, oPC);
}


Можно еще написать на onPerseption, но он не такой надежный.

Neverwinter Script Source
void main()
{
object oPercep = GetLastPerceived();

if (GetLastPerceptionSeen() && GetIsPC(oPercep))
    {
    AssignCommand(oPercep, ClearAllActions());
    AssignCommand(oPercep, SetCommandable(FALSE, oPercep));
    AssignCommand(OBJECT_SELF, ActionStartConversation(oPercep));
    }
}


Не забудь на последнюю строчку в диалоге поставить скрипт!

З.Ы Если поставить НПС максимальную дальность чувствительности, то вроде все ОК и на OnPerseption. Только надо учитывать, где НПС будет гулять, чтобы откуда бы ПС на него не выскочил, он был достаточно далеко.
Вот замечательная возможность заставить ПС договорить с НПС без использования КАТСЦЕН.


А еще можно во как.
Растягиваешь перед НПС тригер(длинный), короче от длины тригера зависит расстояние разговора(сам разберешься и подстроишь как надо). В начале тригера(со стороны ПС) ставешь Труп(невидимый - есть в палитре), ему ставешь имя и портрет НПС, а в скрипте ставешь его ТАГ. Так можно какое угодно расстояние сделать.


Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oInv = GetObjectByTag("ТАГ НЕВИДИМОГО ТРУПА");

if(GetIsPC(oPC))
    {
    AssignCommand(oPC, ClearAllActions());
    AssignCommand(oPC, SetCommandable(FALSE, oPC));
    AssignCommand(ooInv, ActionStartConversation(oPC));
    }
}


На OnPerseption то же можно, только прейдется создавать объект рядом с увиденным ПС. Поэтому готовый труп надо будет добавить в палитру с уникальным РесРефом, вот скрипт.

Neverwinter Script Source
void main()
{
object oPercep = GetLastPerceived();

if (GetLastPerceptionSeen() && GetIsPC(oPercep))
    {
    AssignCommand(oPercep, ClearAllActions());
    AssignCommand(oPercep, SetCommandable(FALSE, oPercep));
    object iTrup = CreateObject(OBJECT_TYPE_PLACEABLE, "РесРеф", GetLocation(oPercep));
    AssignCommand(iTrup, ActionStartConversation(oPercep));
    }
}


Сообщение отредактировал -fenix- - Aug 26 2005, 21:50
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Aug 27 2005, 00:14
Сообщение #1935


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



Вот скрипт. Но не компилируется! :xz:
CODE
void main()
{

   if (GetLocalInt(OBJECT_SELF, "nTriggered" == 1)
       return;
   SetLocalInt(OBJECT_SELF, "nTriggered", 1);
object oNPC=GetObjectByTag("nerilhome_guard_vick";
AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL,1.0,10.0));
AssignCommand(oNPC, ActionSpeakString("Íàì íóæíî ñðî÷íî ïîãîâîðèòü!");
}


Не знаю почему... не я писал..
Добавлено в [mergetime]1125090924[/mergetime]
Самое обидное, что я ни фига не знаю.. поэтому и исправить не могу.. могу тока юзать, но учусь, учусь, учусь, учусь, учусь.........
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 27 2005, 00:38
Сообщение #1936


Level 7
**

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



Ну во первых у тебя допущены ма-а-аленькие ошибки.. Типа, нету второй скобки и т.д.
Вот так будет правильнее, но всё равно не апускаеться...
Neverwinter Script Source
void main()
{
  if (GetLocalInt(OBJECT_SELF, "nTriggered"==1))
      return;
  SetLocalInt(OBJECT_SELF, "nTriggered", 1);
object oNPC=GetObjectByTag("nerilhome_guard_vick");
AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL,1.0,10.0));
AssignCommand(oNPC, ActionSpeakString("Iai io?ii n?i?ii iiaiai?eou!"));
}

Добавлено в [mergetime]1125092393[/mergetime]
А что собственно этот скрипт должен делать?
Добавлено в [mergetime]1125092482[/mergetime]
Не ну лично я понимаю, что происходит анимация разговора, а потом НеПиСь что-то говорит... А зачем тебе нужно всё до этого?
Добавлено в [mergetime]1125092692[/mergetime]
В общем у тебя где-то тут ошибка...
Neverwinter Script Source
if (GetLocalInt(OBJECT_SELF, "nTriggered"==1))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Aug 27 2005, 01:09
Сообщение #1937


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



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

Сообщение отредактировал Daemonix - Aug 27 2005, 01:10
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 27 2005, 01:14
Сообщение #1938


Level 7
**

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



Хм... я ты не пробовал поставить на OnHeartBeatоставить просто:
Neverwinter Script Source
void main()
{
object oNPC=GetObjectByTag("nerilhome_guard_vick");
AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL,1.0,10.0));
AssignCommand(oNPC, ActionSpeakString("Iai io?ii n?i?ii iiaiai?eou!"));
}


Правда, тогда НЕПИСЬ будет просто орать каждые 6 сек... Но как-то можно исправить....
Добавлено в 01:30
А всё оказалось намного проще :) Ставишь на OnPerception
Neverwinter Script Source
void main()
{
object oNPC = GetObjectByTag("NPC");
AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL,1.0,10.0));
AssignCommand(oNPC, SpeakString("ЭЙ!! Волочи сюда свои кривые ноги!!!!"));
}


Суть такая. Когда НЕПИСЬ видит игрока (поэтому и ставили на OnPerception), он (НЕПИСЬ) махает руками 10 сек и говорит:"ЭЙ!! Волочи сюда свои кривые ноги!!!!" Я поменял ActionSpeakString, на "SpeakString", а иначи пришлось бы ждать 10 сек и тольок потом НЕПИСЬ бы что-то сказал... Если тебе надо ЧТо бы это происходило когда ты натупаешь на триггер, то ставь на "OnEnter" триггера

Сообщение отредактировал DEM - Aug 27 2005, 01:34
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 27 2005, 09:26
Сообщение #1939


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

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



QUOTE (DEM @ Aug 27 2005, 00:38)
В общем у тебя где-то тут ошибка...


Строчка эта должна вот так выглядить.
Neverwinter Script Source
if (GetLocalInt(OBJECT_SELF, "nTriggered") ==1 )

Вам видь нужно получить переменную и сравнить ее с 1, а тут сравнение в получении переменной, за скобками следите.

QUOTE (DEM @ Aug 27 2005, 01:14)
Хм... я ты не пробовал поставить на OnHeartBeatоставить просто:

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

QUOTE (DEM @ Aug 27 2005, 01:14)
Суть такая. Когда НЕПИСЬ видит игрока (поэтому и ставили на OnPerception),

И где это в скрипте? тут надо не НПС опеределять(он OBJECT_SELF), а увиденного чела и проверять является ли увиденный героем, вот
Neverwinter Script Source
void main()
{
object oPercep = GetLastPerceived();

if (GetLastPerceptionSeen() && GetIsPC(oPercep))
{
AssignCommand(OBJECT_SELF, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL,1.0,10.0));
AssignCommand(OBJECT_SELF, SpeakString("ЭЙ!! Волочи сюда свои кривые ноги!!!!"));
}
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 27 2005, 09:43
Сообщение #1940


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

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



QUOTE (Vitalist @ Aug 26 2005, 19:49)
Можно ли задать интервал между игроком и NPC во время разговора? Мне хотелось бы, чтобы игрок не подходил так близко.

Смотрел я на ваши художества и не выдержал...
-fenix-, ты лексикон читаешь хоть иногда? Не надо изобретать велосипед.
Neverwinter Script Source
// Cause the action subject to move to a certain distance from oMoveTo.
// If there is no path to oMoveTo, this command will do nothing.
// - oMoveTo: This is the object we wish the action subject to move to
// - bRun: If this is TRUE, the action subject will run rather than walk
// - fRange: This is the desired distance between the action subject and oMoveTo
// * No return value, but if an error occurs the log file will contain
//  "ActionMoveToObject failed."
void ActionMoveToObject(object oMoveTo, int bRun=FALSE, float fRange=1.0f)


Вот так будет за пять метров останавливаться. Двоечники...

Neverwinter Script Source
ActionMoveToObject(oPC, FALSE, 5.0f);


Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 27 2005, 09:48
Сообщение #1941


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

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



Aiwan, я это понимаю. Но скажем если нужно 15, 20 метров? Игрока так можно подвести, но НПС все равно подойдет к игроку, чтобы начать разговор. Не может он на 15, 20 метрах говорить. Пролема как я понял в этом или нет :xz:

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

Сообщение отредактировал -fenix- - Aug 27 2005, 09:56
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 27 2005, 11:08
Сообщение #1942


Level 7
**

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



QUOTE
Aiwan, я это понимаю. Но скажем если нужно 15, 20 метров? Игрока так можно подвести, но НПС все равно подойдет к игроку, чтобы начать разговор. Не может он на 15, 20 метрах говорить. Пролема как я понял в этом или нет


Зачем так далеко? Тут уж легче мне кажеться поставить еще один невидимый объект, с таким же именем и портретом, и пусть игрок говорит с ним...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 27 2005, 12:49
Сообщение #1943


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

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



DEM, а это что по твоему?
QUOTE (-fenix- @ Aug 26 2005, 20:29)
В начале тригера(со стороны ПС) ставешь Труп(невидимый - есть в палитре), ему ставешь имя и портрет НПС, а в скрипте ставешь его ТАГ.

2Aiwan, я кажись протупил!
Эту функцию можно использовать, чтобы назначить точное расстояние разговора, но на тригере это наверное не так актуально, а вот на OnPerseption, чтобы не маяться с настройкой чувств, самое оно. Но запускаться она будет все равно с тех скриптов и сам разговор будет осуществляться то же. Я с самого начала подумал об этой функции, но потом нарисовал тригер и забыл о ней :sorry:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DASADA
сообщение Aug 27 2005, 22:16
Сообщение #1944


Level 3
*

Класс: Некромант
Характер: Neutral Evil
Раса: Человек



Люди что мне надо сделать, чтобы чела заставить идти из одной точки в другую. :unsure:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 28 2005, 07:14
Сообщение #1945


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

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



QUOTE (DASADA @ Aug 28 2005, 01:16)
Люди что мне надо сделать, чтобы чела заставить идти из одной точки в другую.

Чел - это твой младший брат? И ты его за пивом не можешь отправить в точку?
Надо скомандовать так: "ЧЕЛ! ИДИ ИЗ ОДНОЙ ТОЧКИ В ДРУГУЮ!" :DG:
Что за идиотские вопросы? Понятно, что тема для абсолютных глупостей, но не для тупости же. :xz:
Что бы получить нормальный ответ, надо задать нормально вопрос. А именно. Какой чел? РС, НПС, ДМ? В какие точки и при каких условиях? В разговоре, или просто пинать бычки на двух точках? Сделай два вейпоинта в радиальном меню НПС. Он будет ходить по ним вечно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



Текстовая версия Сейчас: 21st July 2025 - 12:24