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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
26 страниц V  « < 21 22 23 24 25 > »   
Ответить в эту темуОткрыть новую тему
> Работа с 2da таблицами, Все вопросы и ответы по 2da
RedBird
сообщение May 22 2010, 19:43
Сообщение #551


Level 1


Класс: Монах
Характер: True Neutral
Раса: Рептилия



Не дошел до последней страницы, однако, увлекательно, задумал переписать возможности стандартных классов под себя, в частности скрестить монка с AA, так сказать, под себя, а то нехочется создавать монка\визарда\AA, имхо, извращение (IMG:style_emoticons/kolobok_light/wacko.gif)
Выдернул я cls_feat_monk.2da и вписал туда фиты арчера:

Код
28 FEAT_PRESTIGE_ENCHANT_ARROW_1 445       3    -1             0      
29 FEAT_PRESTIGE_ENCHANT_ARROW_2 446       3    2              0      
30 FEAT_PRESTIGE_ENCHANT_ARROW_3 447       3    7              0      
31 FEAT_PRESTIGE_ENCHANT_ARROW_4 448       3    12             0      
32 FEAT_PRESTIGE_ENCHANT_ARROW_5 449       3    19             0      
33 FEAT_PRESTIGE_EMBUE_ARROW     450       3    7              0

Запихнул файлик в оверайд, воуля, никаких изменений в игре (IMG:style_emoticons/kolobok_light/wacko.gif)
В чем может быть проблема? В этом случае нужно убирать нулевое значение в ALLCLASSESCANUSE что бы фиты были доступны всем?
И еще вопрос. EMBUE ARROW, ну тобиш, пропитать стрелу, после появления у монка появится где в радиальном меню? Там появится иконка арчера или нужно будет править сам фит (тк фит чисто арчеровский)?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 23 2010, 22:47
Сообщение #552


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Правильнее будет так:
Код
28 FEAT_PRESTIGE_ENCHANT_ARROW_1 445       3    1              0      
29 FEAT_PRESTIGE_ENCHANT_ARROW_2 446       3    2              0      
30 FEAT_PRESTIGE_ENCHANT_ARROW_3 447       3    7              0      
31 FEAT_PRESTIGE_ENCHANT_ARROW_4 448       3    12             0      
32 FEAT_PRESTIGE_ENCHANT_ARROW_5 449       3    19             0      
33 FEAT_PRESTIGE_EMBUE_ARROW     450       3    7              1
В cls_feat_*.2da колонки обозначают следующее:
FeatIndex - номер фита (из feat.2da);
List - тип фита (0 - можно взять только на общих фитах (каждые 3 уровня), 1 - можно взять на любых фитах, 2 - можно взять только на бонусных (как метамагия у мага или избранный враг у рейнджера), 3 - выдаётся нахаляву);
GrantedOnLevel - уровень, на котором выдаётся фит (только для типа 3, для остальных это значение игнорируется);
OnMenu - является ли фит активируемым (1 - активируемый, 0 - пассивный), если выставлено 1 - фит появляется в радиальном меню класса (в примере выше в радиальном меню для абилок монка).
Цитата
Запихнул файлик в оверайд, воуля, никаких изменений в игре
Нужно как минимум убрать и взять заново уровни монка у конкретного чара.

Сообщение отредактировал Ilerien - May 23 2010, 22:49
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
RedBird
сообщение May 24 2010, 03:14
Сообщение #553


Level 1


Класс: Монах
Характер: True Neutral
Раса: Рептилия



Благодарю за ответ, и правда, я немного напутал с цифрами. Все работает как надо (IMG:style_emoticons/kolobok_light/smile.gif) (пишу с телефона - прошу прошение за возможное неудобство при чтении)

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

Стал смотреть что приписанно в spells.2da по этому поводу - там заметил ссылку на скрипт x0_s2_shadsum. Изменил там номер класса, который учитывается при повышении уровня тени и бросил скрипт в оверайд. Толку 0. Может кто знает что тут нужно сделать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 24 2010, 10:14
Сообщение #554


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Стал смотреть что приписанно в spells.2da по этому поводу - там заметил ссылку на скрипт x0_s2_shadsum. Изменил там номер класса, который учитывается при повышении уровня тени и бросил скрипт в оверайд. Толку 0. Может кто знает что тут нужно сделать?
Да, бросать в оверрайд надо не исходник (*.nss), а скомпилённый скрипт (*.ncs).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
RedBird
сообщение May 24 2010, 13:34
Сообщение #555


Level 1


Класс: Монах
Характер: True Neutral
Раса: Рептилия



Скачал для этих целей nwnnsscomp.Exe - названия оригинального не знаю, в архиве кроме экзешника, увы, ничего не было. Как использовать не разобрался - после запуска программы черное окно пропадает мгновенно.

И еще вопрос. Можно ли сделать фит основаный на спеле, такой, что бы персонаж сам по себе получал вампирскую регенерацию, а не через оружие? Или это скрипты?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 24 2010, 13:41
Сообщение #556


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Скачал для этих целей nwnnsscomp.Exe - названия оригинального не знаю, в архиве кроме экзешника, увы, ничего не было. Как использовать не разобрался - после запуска программы черное окно пропадает мгновенно.
Там используются определённые аргументы командной строки, какие - точно не скажу, что-то вроде -c file.nss file.ncs. Хелп там встроен в экзешник, достаточно запустить в терминале nwnnsscomp.exe без аргументов. Есть вполне стабильный standalone компилятор от биоварей, /utils/clcompile.exe. Если не нравится интерфейс командной строки, можно скомпилить в своём модуле в тулсете и после этого (пока модуль открыт) взять нужный файл из директории /modules/temp0/.
Цитата
И еще вопрос. Можно ли сделать фит основаный на спеле, такой, что бы персонаж сам по себе получал вампирскую регенерацию, а не через оружие? Или это скрипты?
Можно. Скрипты. Более того, кастомизация (или создание нового) спелла (вне зависимости от того, спелл это, активируемый фит, абилка моба или итема) подразумевает скриптинг. Более того, вампирская регенерация как эффект бывает (насколько я понимаю, итемпроперты с точки зрения движка - это интерфейсы для эффектов, поэтому для каждого итемпроперта существует свой эффект), но стандартными скриптовыми конструкторами эффектов не создаётся -> нужен NWNX, поэтому игра не стоит свеч (IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал Ilerien - May 24 2010, 13:48
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
RedBird
сообщение May 24 2010, 13:57
Сообщение #557


Level 1


Класс: Монах
Характер: True Neutral
Раса: Рептилия



Спасибо, со скриптами разобрался - отредактировал скрипт в новом модуле и сохранил с компиляцией, потом вытащил из соответствующей директории с помощью нвнэксплолера (IMG:style_emoticons/kolobok_light/smile.gif)

насчет регенерации очень жаль. И правда, это не стоит такой мороки. Спасибо большое за помощь (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
seven
сообщение Jul 1 2010, 21:25
Сообщение #558


Level 2
*

Класс: Монах
Характер: Chaotic Evil
Раса: Баатезу



Вопрос такой. Нужно было переписать описания скиллов. Дабы не марать диалог.тлк, сделал кастомный. Написал нужную инфо, заменил в скилл.2да ссылки на нужные (начиная с 16777216), подключил в модуле. Итог. В игре все отображается как положено (т.е. когда заходим в описания чара и смотрим скиллы). При заходе на сервер и при первом лвлапе(дальше не проверял еще) вместо инфо пишет всякую хню (монах, паладин, воин и т.д.), т.е. как я понял, считывается инфо не с 16777216+ строки, как нужно, а с 2,3 и т.д.

Возможно ли как-то это исправить?

Заранее спасибо за помощь (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
rdx
сообщение Jul 2 2010, 00:51
Сообщение #559


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

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



Цитата(seven @ Jul 1 2010, 21:25) *
При заходе на сервер и при первом лвлапе(дальше не проверял еще) вместо инфо пишет всякую хню (монах, паладин, воин и т.д.), т.е. как я понял, считывается инфо не с 16777216+ строки, как нужно, а с 2,3 и т.д.

к модулю на сервере тлк разумеется присоединен?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
seven
сообщение Jul 2 2010, 07:52
Сообщение #560


Level 2
*

Класс: Монах
Характер: Chaotic Evil
Раса: Баатезу



Цитата(rdx @ Jul 2 2010, 00:51) *
к модулю на сервере тлк разумеется присоединен?


Разумеется. Писал же. "подключил в модуле". Насколько я понял нвн хаки и тлк грузит после захода, поэтому и вылазит такая байда, что при заходе и создании чара выдает не нужную инфо, а уже при загруженном модуле все норм. Как это обойти можно? Стандартный диалог.тлк править не хочется, чтобы игроку не пришлось перетыкивать потом его, если захочет на другом серве поиграть. А если добавить нужные строки в стандартный диалог.тлк и давать его игроку вместе с хаками будет результат?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
rdx
сообщение Jul 2 2010, 08:48
Сообщение #561


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

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



Цитата(seven @ Jul 2 2010, 08:52) *
А если добавить нужные строки в стандартный диалог.тлк и давать его игроку вместе с хаками будет результат?

так значит речь про создание чара до захода в первую локацию? тогда только стандартный править, или тщательно подбирать строки из него (IMG:style_emoticons/kolobok_light/crazy.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
nepejke
сообщение Aug 28 2011, 09:40
Сообщение #562


Level 3
*

Класс: Монах
Характер: Lawful Neutral
Раса: Человек



можно ли редактировать фиты? (бонусы, которые они дают)
если да, то где?

в feat.2da и cls_feat.2da ничего такого нет (нету самих характеристик фита)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Aug 28 2011, 13:54
Сообщение #563


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Фиты вшиты в движок. Для изменения делаются новые, а бонусы даются посредством разных скриптовых костылей.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
nepejke
сообщение Aug 28 2011, 15:31
Сообщение #564


Level 3
*

Класс: Монах
Характер: Lawful Neutral
Раса: Человек



к примеру есть фита:
FEAT_SPELL_POWER фита красного волшебника из второй части, увеличивающая nCasterLevel мага на 1,2,3,4,5 за каждые 2 лвла. (+5 на 10ом лвле красного волшебника)

Какого типа должен быть скрипт, чтобы создать что то наподобие этого. Интересует реализации nCasterLevel как левельной структуры, чтобы кастерлвл(другими словами, число влияющее на дамаг кастера) рос с левельностью.
Хотелось бы просто копию этого фита, только своими числами немного (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Laajin
сообщение Aug 28 2011, 18:41
Сообщение #565


Level 5
**

Класс: Пьяный Мастер
Характер: Chaotic Good
Раса: Человек



1.Обычно делается инклюд, с необходимой функцией, который потом подрубается к необходимому скрипту
Тебе придется добавить инклюд и изменение в каждый скрипт спелла, в котором будет это использоваться

2. Может быть, можно сделать как-то через NWNX написав свой плагин.

Сообщение отредактировал Laajin - Aug 28 2011, 18:43
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Aug 28 2011, 19:52
Сообщение #566


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Цитата
1.Обычно делается инклюд, с необходимой функцией, который потом подрубается к необходимому скрипту
Тебе придется добавить инклюд и изменение в каждый скрипт спелла, в котором будет это использоваться

К каждому скрипту? Это же до старости ковыряться можно. Есть же спеллхук.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Aug 28 2011, 21:04
Сообщение #567


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Только спеллхук проблему не решает - как минимум нужна кастомная функция расчета кастерлевела, которую нужно пихнуть в скрипт каждого заклинания. А ещё есть скрипты на АОЕ, с которыми тоже нужно возиться. Собственно, таким образом в текущем модуле Гема сделана заплатка на кастерлевел ПМа.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Aug 28 2011, 21:20
Сообщение #568


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Ilerien, если мне память не изменяет, спеллы в основном считают кастер левел по HD от OBJECT_SELF - зависят от него, во всяком случае. Не пробовали перехватывать спелл и вызывать его от имени невидимого NPC-заглушки с нужными бонусами? Просто менять каждый спелл вручную это как-то... слишком.
UPD: вспомнил про GetCasterLevel(), но принцип тот же.

Цитата
А ещё есть скрипты на АОЕ, с которыми тоже нужно возиться.

А там какие тонкости?

Сообщение отредактировал Talarasha - Aug 28 2011, 21:24
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Aug 28 2011, 21:31
Сообщение #569


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Проблема в том, что скрипт заклинания неявно принимает на вход не только собственно уровень заклинателя (а не хитдайс, к слову), но ещё и кучу других параметров, таких, как класс сложности, метамагия, наличие у кастера всяческих спелл пенетрейшенов и т. д.

На самом деле, правка делается несложно - простенькой программой, которая в каждом файле заменяет вхождения функции GetCasterLevel() на вхождения кастомной и добавляет директиву #include, если нужно.

В новом модуле я писал кастомное спелловое ядро, где в спеллхуке определяются все параметры заклинания и вешаются локалкой на кастера, откуда их читает скрипт заклинания кастомными функциями-заменителями.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Aug 28 2011, 21:36
Сообщение #570


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Цитата
Проблема в том, что скрипт заклинания неявно принимает на вход не только собственно уровень заклинателя (а не хитдайс, к слову), но ещё и кучу других параметров, таких, как класс сложности, метамагия, наличие у кастера всяческих спелл пенетрейшенов и т. д.

Хитдайс тоже берется, просто не везде. Я же не с потолка про него вспомнил, а открыв наугад спелл. (IMG:style_emoticons/kolobok_light/rolleyes.gif)

А все эти параметры также можно в спеллхуке проверить и добавить заглушке через ItemProperty, какие проблемы?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Aug 28 2011, 21:54
Сообщение #571


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
А там какие тонкости?
Если в скрипте мгновенного действия, скажем, для поднятия кастерлевела ПМу по 3.5 достаточно заменить функцию на такую:
Neverwinter Script
int FR_GetCasterLevel(object oCreature)
{
    int nPMLevel = GetLevelByClass(CLASS_TYPE_PALE_MASTER, oCreature);
    int nCL = GetCasterLevel(oCreature);
    int nCasterClass = GetLastSpellCastClass();

    if(
        !GetIsObjectValid(GetSpellCastItem()) &&
        nPMLevel > 1 &&
        (nCasterClass == CLASS_TYPE_WIZARD ||
        nCasterClass == CLASS_TYPE_SORCERER ||
        nCasterClass == CLASS_TYPE_BARD)
      )

        nCL += nPMLevel - 1;
    return nCL;
}

, то в скриптах на АОЕ этот код будет работать правильно только до тех пор, пока валиден объект-кастер, создавший эту АОЕ. Решается установкой на АОЕ локалки при создании.
Цитата
Хитдайс тоже берется, просто не везде. Я же не с потолка про него вспомнил, а открыв наугад спелл.
Хитдайс кастера? Возможно, я с ходу не могу назвать ни одного дефолтного заклинания, в котором он используется. (IMG:style_emoticons/kolobok_light/sad.gif) Впрочем, не суть, у меня в кастомных заклинаниях кое-где и другие параметры кастера используются, вроде элайнмента.
Цитата
А все эти параметры также можно в спеллхуке проверить и добавить заглушке через ItemProperty, какие проблемы?
Хм, как именно? И как в таком случае предлагается вообще скрипт перехватывать? Если запускать его от имени другого объекта через ExecuteScript(), функции, которые определяют параметры заклинания, вернут всякую чушь. Если через ActionCastSpellAt*(), подставной непись должен быть как минимум в той же локе, что и кастер, и предвижу проблему с летящими из ниоткуда фаерболами.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Aug 28 2011, 22:09
Сообщение #572


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Цитата
Хм, как именно? И как в таком случае предлагается вообще скрипт перехватывать?

1)Игрок кастует спелл, спеллхук перехватывает.
2)Скрипт делает проверку кастер-левела, ДЦ, фитов и всего такого прочего.
3)Создаем невидимую НПС-заглушку из шаблона по координатам того же PC со шкуркой, в которую записываем проверенные данные через итем-проперти.
4)В случае, если у игрока бонус к кастер левелу, добавляем левелов заглушке.
5)Вызываем спелл через ActionCastSpellAt* от имени созданной заглушки (с ExecuteScript() я не смог сходу придумать, как получать имя скрипта спелла)
6)Убиваем заглушку.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Aug 28 2011, 22:24
Сообщение #573


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
2)Скрипт делает проверку кастер-левела, ДЦ, фитов и всего такого прочего.
3)Создаем невидимую НПС-заглушку из шаблона по координатам того же PC со шкуркой, в которую записываем проверенные данные через итем-проперти.4)В случае, если у игрока бонус к кастер левелу, добавляем левелов заглушке.
Допустим, добавить на шкурку фиты можно, если их предварительно прописать в iprp_feats.2da. А как добавлять уровней подставному неписю?
В любом случае, это а) куча неписей разного уровня и разных классов в палитре; б) создание/удаление объекта-непися при касте каждого спелла игроком, что плохо с точки зрения производительности.
Всякие projectile-заклинания вроде фаерболов будут визуально летать от кастера дважды. Соответственно, в 2 раза увеличится время достижения цели.
Цитата
с ExecuteScript() я не смог сходу придумать, как получать имя скрипта спелла
Neverwinter Script
Get2DAString("spells", "impactscript", GetSpellId())


Сообщение отредактировал Ilerien - Aug 28 2011, 22:28
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Aug 28 2011, 22:29
Сообщение #574


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Цитата
А как добавлять уровней подставному неписю?

Хенчам в XP2 же как-то добавляли.
Цитата
В любом случае, это а) куча неписей разного уровня и разных классов в палитре;

Это еще почему? Мы создаем заглушку по шаблону, а фиты и левелы ей даем динамически скриптом. В палитре будет один-единственный объект (крич).
Цитата
б) создание/удаление объекта-непися при касте каждого спелла игроком, что плохо с точки зрения производительности.

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

За Get2DAString спасибо.

Цитата
Всякие projectile-заклинания вроде фаерболов будут визуально летать от кастера дважды.

Тогда ExecuteScript() от имени заглушки.

Сообщение отредактировал Talarasha - Aug 28 2011, 22:32
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Aug 28 2011, 22:51
Сообщение #575


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Хенчам в XP2 же как-то добавляли.
Там есть функция LevelUpHenchman, которая не обладает достаточной гибкостью - непись апается согласно прописанному пакаджу, а это означает, что придётся ещё и свой пакадж для каждого кастерского класса делать. И опять же - производительность, кроме создания/удаления имеем энное число левелапов.
Цитата
Тогда ExecuteScript() от имени заглушки.
И возвращающие параметры заклинания функции скорее всего вернут чушь.
Использование другого объекта в качестве кастера порождает кучу подводных камней. Например, заклинания Dominate Person/Monster/Animal внезапно будут добавлять контролируемое существо во фракцию подставного объекта, всякие вызывающие существ заклинания - тоже. Как себя поведет ResistSpell() - непонятно. Я уже не говорю о том, что придётся переписывать функцию, которая определяет, действует ли заклинание на конкретный объект (всякие там no-pvp локации).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

26 страниц V  « < 21 22 23 24 25 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28th March 2024 - 22:01