Скрипты - Страница 243 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 243 из 254
 
Опции темы
#3631
Старый 26.05.2022, 17:39
  #3631
^
Jewily
 
Аватар для Jewily
📖
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
По умолчанию
Re: Скрипты

МартаЧто вообще делать с этой бедой? Неужто придётся очередной регион рисовать для REGION_ENTER_AND_STOP_TRIGGER и как-то загонять туда ГГ?
Триггер, возможно, прописан у вас был неверно.
Существует такая штука, как потоки. Это условно говоря функция, которая выполняется периодически.
Однако, если в ней не поставить задержку(т.е sleep), игра умрёт.
Пример:
-- вопче нужно передавать в эту функцию все параметры, и всё стараться сделать максимально параметризованным, 
-- но мы с вами не в космос запускаем, так что ограничимся дедовскими методами
function checkState()
  while(1) do
   if(GetObjectiveProgress("Quest_Zubec",player) == 3) then
     -- Делаем дела
    break -- если не ставим брейк будет больно.
   end
   sleep(5) -- Можно и больше ждать, всё зависит от потребностей
  end
  startThread("checkState")
    

Этот метод подойдёт для чека артефактов, или ещё чего-то нетривиального. В случае вашем, триггера будет достаточно(по идее):

Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER ,"Quest_Zubec_Handler","Quest_Zubec")

function Quest_Zubec_Handler(player)
  if(player == 1 and GetObjectiveProgress("Quest_Zubec",1) == 3) then
  -- Делаем дела
 end
end

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

__________________




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       
Jewily вне форума
Ответить с цитированием
#3632
Старый 26.05.2022, 18:59
  #3632
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 64
Регистрация: 31.01.2020
Сообщения: 64
По умолчанию
Re: Скрипты

Jewily, спасибо, сейчас буду пробовать.


Добавлено через 27 минут
Если речь идёт о том, чтобы написать вот это

function Quest_Zubec_Handler(player)
  if(player == 1 and GetObjectiveProgress("Quest_Zubec",1) == 3) then
MessageBox ("/Maps/SingleMissions/L1/Parol_Zubec1.txt");
sleep(2);
 end
end
Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER ,"Quest_Zubec_Handler","Quest_Zubec")

И больше ничего нигде не прописывать, то я успела только карту загрузить (квест пока не взят), как игра мне уже пишет:

(Script) Error: Objective with name "Quest_Zubec_Handler" is not exists

Видимо, не имеет смысла бежать проверять? Там драк на полчаса, не меньше, даже с читами.
Пойду пробовать первый вариант, с потоком.

Добавлено через 12 минут
По поводу первого варианта - у меня даже стартовый ролик не зашёл, так как я тот вариант воткнула на самый верх.

Вот скрипт:

function checkState()
  while(1) do
   if(GetObjectiveProgress("Quest_Zubec",player) == 3) then
    MessageBox ("/Maps/SingleMissions/L1/Parol_Zubec1.txt");
    break
   end
   sleep(8) 
  end
  end
  startThread("checkState")

Игра пишет:
(Script) Error: StartTread first parameter must be a function

Похоже, нынче меня прокляли). То карта глюканула, всю ночь соображала как восстановить (я знать не знала, что редактор может как-то сам снести файлы для Map Properties и не позволять восстанавливать, даже в более ранних версиях карты), то теперь вот это вот(.

Добавлено через 9 минут
Стоп-стоп. В варианте без потока, похоже, перепутаны названия функции и квеста.
Но если написать

Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER ,"Quest_Zubec","Quest_Zubec_Handler")

взять квест, и объектом сразу его заюзать на SetObjectiveProgress("Quest_Zubec", 3, 1);
то игра вообще не реагирует, и ничего не пишет.

Марта вне форума
Ответить с цитированием
#3633
Старый 26.05.2022, 20:59
  #3633
^
Jewily
 
Аватар для Jewily
📖
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
По умолчанию
Re: Скрипты

Марта
Jewily, спасибо, сейчас буду пробовать.


Добавлено через 27 минут
Если речь идёт о том, чтобы написать вот это

function Quest_Zubec_Handler(player)
  if(player == 1 and GetObjectiveProgress("Quest_Zubec",1) == 3) then
MessageBox ("/Maps/SingleMissions/L1/Parol_Zubec1.txt");
sleep(2);
 end
end
Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER ,"Quest_Zubec_Handler","Quest_Zubec")

И больше ничего нигде не прописывать, то я успела только карту загрузить (квест пока не взят), как игра мне уже пишет:

(Script) Error: Objective with name "Quest_Zubec_Handler" is not exists

Видимо, не имеет смысла бежать проверять? Там драк на полчаса, не меньше, даже с читами.
Пойду пробовать первый вариант, с потоком.

Добавлено через 12 минут
По поводу первого варианта - у меня даже стартовый ролик не зашёл, так как я тот вариант воткнула на самый верх.

Вот скрипт:

function checkState()
  while(1) do
   if(GetObjectiveProgress("Quest_Zubec",player) == 3) then
    MessageBox ("/Maps/SingleMissions/L1/Parol_Zubec1.txt");
    break
   end
   sleep(8) 
  end
  end
  startThread("checkState")

Игра пишет:
(Script) Error: StartTread first parameter must be a function

Похоже, нынче меня прокляли). То карта глюканула, всю ночь соображала как восстановить (я знать не знала, что редактор может как-то сам снести файлы для Map Properties и не позволять восстанавливать, даже в более ранних версиях карты), то теперь вот это вот(.

Добавлено через 9 минут
Стоп-стоп. В варианте без потока, похоже, перепутаны названия функции и квеста.
Но если написать

Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER ,"Quest_Zubec","Quest_Zubec_Handler")

взять квест, и объектом сразу его заюзать на SetObjectiveProgress("Quest_Zubec", 3, 1);
то игра вообще не реагирует, и ничего не пишет.
С потоком я немного ошибся, видимо там кавычки лишние. 
Нужно указать просто название функции. 
С остальным пока не могу помочь т.к без компьютера сами видите, случаются опечатки и затупы. 
__________________




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       
Jewily вне форума
Ответить с цитированием
#3634
Старый 26.05.2022, 22:30
  #3634
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 64
Регистрация: 31.01.2020
Сообщения: 64
По умолчанию
Re: Скрипты

Воо, так заработало:

function checkState()
  while(1) do
   if (GetObjectiveProgress("Quest_Zubec", 1) == 3) then
    MessageBox ("/Maps/SingleMissions/L1/Parol_Zubec1.txt");
    break
   end
   sleep(8)
  end
  end
  startThread(checkState)

Я туплю уже, - почти сутки сижу с этим скриптом, и написала сначала ("Quest_Zubec", player)  
Но если долго мучиться, что-нибудь, видимо, получится.
Спасибо).
Марта вне форума
Ответить с цитированием
#3635
Старый 26.05.2022, 22:38
  #3635
^
Jewily
 
Аватар для Jewily
📖
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
По умолчанию
Re: Скрипты

МартаНо если долго мучиться, что-нибудь, видимо, получится.
.
Per aspera ad astra.
Жду вашу карту, очень здорово, что паритесь со скриптами
__________________




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       
Jewily вне форума
Ответить с цитированием
#3636
Старый 26.05.2022, 22:54
  #3636
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 64
Регистрация: 31.01.2020
Сообщения: 64
По умолчанию
Re: Скрипты

Хе, да я её, небось, ещё полгода буду рисовать, - если она, конечно, не рухнет.
Опять я что-то слишком увлеклась детализацией, скриптами километровой длины, текстурами, и тд.
Но я постараюсь-таки доделать её.
Марта вне форума
Ответить с цитированием
#3637
Старый 26.05.2022, 23:18
  #3637
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1717
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1717
Выставка наград
По умолчанию
Re: Скрипты

Не рухнет. Максимум — будет подвисать при загрузке карты.

Иногда проще использовать очевидные костыли, чем заморачиваться. Для решения этой проблемы без регионов и триггеров (и вообще, настройки любого гарнизона даже без задания ему имени) нужно будет небольшое введение в ООП, рассказ про несколько новых непростых функций и разбирательство с таблицами в lua..

Jewilly, если вдруг заинтересует красивое решение, то просто скажу, на чём оно основывается:
При помощи функций IsTilePassable можно проверять расположение блокирумеых клеток относительно центра объекта (у гарнизона — одна сверху, одна снизу). После опознования ориентации гарнизона, герой просто перекидывается на другую сторону при помощи SetObjectPosition с типом телепортации 0 (без анимации), если владелец героя не забаненный игрок (все это через триггер касания)

Ну и по красоте, нужно создать класс "Гарнизон" с методами ЗабанитьИгрока, РазбанитьИгрока и прочей шлабудой при желании, если добавлять какие-то эффекты, допсообщения и так далее.
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3638
Старый 27.05.2022, 00:04
  #3638
^
Jewily
 
Аватар для Jewily
📖
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
По умолчанию
Re: Скрипты

}{0TT@6bI4Не рухнет. Максимум — будет подвисать при загрузке карты.

Иногда проще использовать очевидные костыли, чем заморачиваться. Для решения этой проблемы без регионов и триггеров (и вообще, настройки любого гарнизона даже без задания ему имени) нужно будет небольшое введение в ООП, рассказ про несколько новых непростых функций и разбирательство с таблицами в lua..

Jewilly, если вдруг заинтересует красивое решение, то просто скажу, на чём оно основывается:
При помощи функций IsTilePassable можно проверять расположение блокирумеых клеток относительно центра объекта (у гарнизона — одна сверху, одна снизу). После опознования ориентации гарнизона, герой просто перекидывается на другую сторону при помощи SetObjectPosition с типом телепортации 0 (без анимации), если владелец героя не забаненный игрок (все это через триггер касания)

Ну и по красоте, нужно создать класс "Гарнизон" с методами ЗабанитьИгрока, РазбанитьИгрока и прочей шлабудой при желании, если добавлять какие-то эффекты, допсообщения и так далее.
Отличное решение, и правда. Так скажем выжимает из механики максимум .
Когда я только сел писать скрипт для карты, с большими амбициями я полетел реализовывать собственные структурки и паттерны выдумывать, собственно занимаясь внедрением основным приёмов ООП в мой код.
Однако, так как карта не является РПГшной и всякие механики проработаны не очень глубоко, я пришёл к тому, что я пишу 2-3 дня(сами знаете, что не всегда есть время в героях поковыряться) какой-то интересный функционал, учитывая 1)Все правила красивого кода 2)Все книжные пастулаты 3)Творческое я 4)Основную концепцию ООП, делаю всё красиво. Потом этот функционал используется в виде 30-40 строк кода, и далее лежит мертвым файлом. 
Я прикинул сроки написания скрипта таким макаром, и учитывая, что очень большая часть разработки карты являет собой исключительную боль(по-крайней мере мне сложно смириться с очень урезанным функционалом скриптовой библиотеки), решил писать всё на адекватных, но всё-таки костылях. Из разряда побаловаться глобальными переменными туда-сюда, и всё в таком духе К тому же рефакторинг моего геройского кода сложен, отсюда часть функционала лежит мертвым грузом за неимением времени его переделать(Он ведь, сволочь, работает как часы, и жалко удалять!!!).
Не знаю, к чему я это, видимо накипело. Однако доки к скрипту я пишу, надеюсь, что какой-то нубик впоследствие сможет накопипастить оттуда приколов.
__________________




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       
Jewily вне форума
Ответить с цитированием
#3639
Старый 27.05.2022, 00:59
  #3639
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 64
Регистрация: 31.01.2020
Сообщения: 64
По умолчанию
Re: Скрипты

Скажите, Хоттабыч, а без эффекта телепортации - это обязательно заморачиваться с этими таблицами?
Вот как раз прямо сейчас я хотела убрать этот эффект.
У меня по сюжету чувак из призрака превращается в живого человека.
Призрака я просто remove, а модельку рыцаря приходится телепортировать из подземелья, - я бы в резерв его загнала, но он оттуда появляется в развороте к ГГ задом, - совершенно неправильно).
Насколько я поняла, разместить модель из резерва под правильным углом невозможно, вот и приходится телепортировать, а там эффект этот.
Нельзя его как-то убрать?
Марта вне форума
Ответить с цитированием
#3640
Старый 27.05.2022, 01:37
  #3640
^
Jewily
 
Аватар для Jewily
📖
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
По умолчанию
Re: Скрипты

МартаСкажите, Хоттабыч, а без эффекта телепортации - это обязательно заморачиваться с этими таблицами?
Вот как раз прямо сейчас я хотела убрать этот эффект.
У меня по сюжету чувак из призрака превращается в живого человека.
Призрака я просто remove, а модельку рыцаря приходится телепортировать из подземелья, - я бы в резерв его загнала, но он оттуда появляется в развороте к ГГ задом, - совершенно неправильно).
Насколько я поняла, разместить модель из резерва под правильным углом невозможно, вот и приходится телепортировать, а там эффект этот.
Нельзя его как-то убрать?
SetObjectPosition последним аргументом принимает эффект, одно из значений(не помню какое, от -1 до 4) убирает эффект
__________________




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       
Jewily вне форума
Ответить с цитированием
#3641
Старый 27.05.2022, 11:42
  #3641
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1717
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1717
Выставка наград
По умолчанию
Re: Скрипты

-1 или nil — по умолчанию
0 — выключен
1 — варп
2 — простой телепорт
3 — астралка
4 — портал в город

Марта, для SetObjectPosition таблицы никакие не нужны, просто третьим параметром укажите 0 или нужную цифру.

Jewilly, понимаю вас. В сталкере переделываю все скрипты под красивые, но там (!) все, слава богу, используется. И мега-проработанная система диалогов и npc позволяет создать непися за 7 строчек его параметром, диалог — за минуту

И систему npc, диалогов, аномалий и ивентов можно смело использовать в любой будущей рпг карте — очень сильно облегчит работу.
Поэтому надеюсь, что по окончании работы над этой картой, вы начнёте новую рпгшку, в которой вы сможете применить все созданные классы для более, чем пары объектов... wink

P.S. пОстулаты. книжные, ага
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3642
Старый 27.05.2022, 18:11
  #3642
^
Jewily
 
Аватар для Jewily
📖
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
По умолчанию
Re: Скрипты

}{0TT@6bI4Поэтому надеюсь, что по окончании работы над этой картой, вы начнёте новую рпгшку, в которой вы сможете применить все созданные классы для более, чем пары объектов... wink

P.S. пОстулаты. книжные, ага
Да, спасибо за исправление, к сожалению не всегда помню как пишутся те или иные слова - маразм крепчает с каждым поколением.
А вот насчёт РПГшки - не знаю. Я когда доделаю текущую(к середине лета, дай бог!), наверное буду испытывать рвотные рефлексы от редактора скриптов, поэтому загадывать не буду.
Хочется, но только абстрактно, а как до дела дойдёт - не знаю, не знаю 
__________________




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       
Jewily вне форума
Ответить с цитированием
#3643
Старый 01.06.2022, 00:22
  #3643
^
Jewily
 
Аватар для Jewily
📖
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
По умолчанию
Re: Скрипты

Добрый вечер всем.
Если кто-то любит расковыривать чужие карты: посоветуйте карту где хорошо управляется ИИ.
Регулярное тестирование функций не дало желаемого результата, и , чует моя душа, тут нужны определённые танцы.
(Использование функций не вызывает вопросов и я нуждаюсь лишь в консультации по поводу максимальной результативности их использования). 
Вообще, задача состоит в том, чтобы в опредлённый момент бот бросал дела и занимался тем, чем мне нужно.(Условия подвешивания приоритета я-то написал, но приоритет либо слишком низок, либо слишком высок). Моя мысль заключается в выдачи боту "дорожки", где по пути его приортиет будет обновляться. Но она может быть глупой, отсюда может кто знает добротную карту где это применяется(в известных грандах всё захардожено и ничего интересного нет)
__________________




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       
Jewily вне форума
Ответить с цитированием
#3644
Старый 01.06.2022, 18:23
  #3644
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 171
Регистрация: 24.04.2016
Сообщения: 171
По умолчанию
Re: Скрипты

Привет! Хотелось бы сделать скрипт который будет контролировать счётчик убийств существ. Предположим, в скрипте карты пропишу "enemieskilledcounter = 0". Будет ли эта переменная заполняться если я буду её как-то плюсовать в боевом скрипте? Читал введение в lua, там написано что если не указать переменной local то она будет распространяться на все функции. Но вот не знаю, распространяется ли это на отдельный скрипт? Или же набивать счётчик в скрипте карты из боевого нужно через SetGameVar?

Азгалор вне форума
Ответить с цитированием
#3645
Старый 01.06.2022, 18:58
  #3645
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1717
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1717
Выставка наград
По умолчанию
Re: Скрипты

Только через SetGameVar можно переносить, однако

Есть триггер завершения боя, по которому в функцию передаётся индекс битвы. А по индексу битвы можно получить всю информацию об уничтоженных существах при помощи GetSavedCombat...., есть в туториале и тут тоже на форуме Jack of shadows расписывал (поиск GetSavedCombatArmy site:heroesworld.ru должен дать результат)
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
Ответ
Страница 243 из 254


Опции темы



Часовой пояс GMT +4, время: 06:28.


vBulletin v3.5.0, Copyright ©2000-2022, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru