Форум Oni

Русскоязычный форум поклонников игры «Они» от Bungie

  • Здравствуйте, Гость

#1 12-07-2009 12:29:38

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Интелект

Я где-то видел тему насчёт AI персов! Как можно редактировать интелект персонажей. Сделать тупее или умнее! Или вовсе не убиваемых по мастерству боя??? И кстати как увеличить хп аппонентам так, что бы индикатор жизни изменялся последовательно... =) Заранее спасибо=) Или укажите ссылку где об этом ранее подробно обсуждалось!

Оффлайн

 

#2 12-07-2009 13:08:12

Manticore 
VIP
Регистрация: 10-04-2009
Сообщений: 1108
Профиль

Re: Интелект

nick9 написал(а):

Ты ёбанный по русски говори, а мне твоя иностранщина не нужна!!!

Это что значит? Некультурно здесь так общаться!

Оффлайн

 

#3 12-07-2009 13:14:45

Шинатама (жен.)
тайный агент спец. назначения
Откуда: так я вам и сказала))))))
Регистрация: 31-01-2009
Сообщений: 834
Профиль

Re: Интелект

nick9 - за такие слова админы очень строго наказывают.:nono:


Все системы в боевой готовности

Оффлайн

 

#4 12-07-2009 13:18:36

nick9
Забанен
Регистрация: 14-06-2009
Сообщений: 5
Профиль

Re: Интелект

За каие слова???

Оффлайн

 

#5 12-07-2009 13:20:01

Шинатама (жен.)
тайный агент спец. назначения
Откуда: так я вам и сказала))))))
Регистрация: 31-01-2009
Сообщений: 834
Профиль

Re: Интелект

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


Все системы в боевой готовности

Оффлайн

 

#6 12-07-2009 13:25:06

nick9
Забанен
Регистрация: 14-06-2009
Сообщений: 5
Профиль

Re: Интелект

Вы про что вообще толкуете?Я не врубаюсь!!

Оффлайн

 

#7 12-07-2009 15:24:06

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

nick9 написал(а):

Вы про что вообще толкуете?Я не врубаюсь!!

Он просто сам не понял что ляпнул=) Ну так мне кто-нить ответит...=)

Оффлайн

 

#8 12-07-2009 17:07:07

doktordulit (муж.)
Элитный спецназ TCTF
Откуда: Рига
Регистрация: 07-10-2008
Сообщений: 478
Профиль

Re: Интелект

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

Отредактировал(а) doktordulit (12-07-2009 17:48:28)


http://yoursmileys.ru/tsmile/stamp/t2708.gif

Оффлайн

 

#9 12-07-2009 17:45:24

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 24-06-2007
Сообщений: 1352
Профиль  Вебсайт

Re: Интелект

Smith, "как увеличить хп аппонентам так, что бы индикатор жизни изменялся последовательно" ? Объясни, что имеешь в виду. Ты хочешь изменить не только текущее количество хелсов, а заодно и максимальное/полное количество? чтобы крутые хелсы не убывали? Это скриптами сделать нельзя, только в ресурсах ONCC и CHAR.


Если у тебя есть фонтан, заткни его; дай отдохнуть и фонтану.

Оффлайн

 

#10 12-07-2009 18:55:25

Шинатама (жен.)
тайный агент спец. назначения
Откуда: так я вам и сказала))))))
Регистрация: 31-01-2009
Сообщений: 834
Профиль

Re: Интелект

nick9 написал(а):

Вы про что вообще толкуете?Я не врубаюсь!!

между прочем Manticore процитировал твои слова, так что нефиг отмазываться. тебе стоит извиниться за свое выражение, а если есть какие-то претензии к кому-то, то пиши в личку, а не обсирать (упс, сорри за выражение) людей публично


Все системы в боевой готовности

Оффлайн

 

#11 12-07-2009 19:18:13

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Так-с, ну лано я просто имел виду "цвет жизни", что бы изменялся плавно, а не ярко зелённый а потом вдруг жёлтый...
Кто нить знает номера флагов в последнем уровне, на самом верху (где дуэль с Муро) а то ищу и никак не попаду на них, может кто знает...
И ещё, глобализовать какой-нить уровень без програм моно? что-б попроще=) А то onisplit я не дорубаюсь как делать! Вроде всё норм. описано, но я просто нууб=))

Оффлайн

 

#12 12-07-2009 19:38:12

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith написал(а):

Так-с, ну лано я просто имел виду "цвет жизни", что бы изменялся плавно, а не ярко зелённый а потом вдруг жёлтый...

В ONGS меняешь байты с 0x1C и далее... 4 байта на количество долей, по 4 на процент здоровья, с которых доля начинается, по 4 на цвет доли (rgba). если лимита на количество там нет, можно хоть с точностью до 1 хп указать. )

Smith написал(а):

Кто нить знает номера флагов в последнем уровне, на самом верху (где дуэль с Муро) а то ищу и никак не попаду на них, может кто знает...

~520 вроде кучка флагов есть. плюс-минус.

Smith написал(а):

И ещё, глобализовать какой-нить уровень без програм моно? что-б попроще=) А то onisplit я не дорубаюсь как делать! Вроде всё норм. описано, но я просто нууб=))

без программ - ну попробуй гипнотизировать ресурсы. -_- глобализация глобальна, она на то и глобализация, что все ресурсы в одно глобальное место складирует, а не отдельные уровни трогает. попроще - АЕ.

Оффлайн

 

#13 12-07-2009 19:46:31

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

В ONGS я вообще не разбираюсь может найду время посежу =))... Я вижу ты очень хорошо разбираешся, я уже не надеялся увидеть таких людей=))) (таких подкованных в Они) Спасибо за инфу!
Я слышал бота нельзя заставить бежать к заданным координатам, а только к флагам, это так?  И флаг опять же делать в ONGS??

Оффлайн

 

#14 12-07-2009 20:31:05

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 24-06-2007
Сообщений: 1352
Профиль  Вебсайт

Re: Интелект

флаг опять же делать в ONGS?

Нет, флаг это FLAG: http://wiki.oni2.net/FLAG http://wiki.oni2.net/OBD_talk:BINA/OBJC/FLAG


Если у тебя есть фонтан, заткни его; дай отдохнуть и фонтану.

Оффлайн

 

#15 13-07-2009 19:05:59

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

(У меня все файлы расшарены (Global), но почему то я немогу перемещать ботов из одного уровня в другой - недоступны, хотя их модели заменять можно на другие. Что делать???

Оффлайн

 

#16 13-07-2009 19:08:26

doktordulit (муж.)
Элитный спецназ TCTF
Откуда: Рига
Регистрация: 07-10-2008
Сообщений: 478
Профиль

Re: Интелект

Для начало,как ты это делаешь?


http://yoursmileys.ru/tsmile/stamp/t2708.gif

Оффлайн

 

#17 13-07-2009 19:24:17

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Что именно делаю??

Оффлайн

 

#18 13-07-2009 20:39:30

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith, "боты" в понимании "персонаж с именем, набором свойств типа класс, место спавна, вещи, оружие, вызываемая при смерти функция и т.д." перечисляются в .BINA (CHAR) и глобализации не подлежат. то есть можно, конечно, сделать большую BINA со всеми чарами, но лучше не стоит: тут и коллизии повторяющихся имён, и непонять куда ссылающееся местоположение при создании... лучше и логичнее либо создавать новых чаров в соответствующем уровне, либо на уровне скриптов сделать из постороннего чара то, что нужно. класс, место, команда, хелсы, вооружение, поведение - всё приводимо к нужному виду, кроме имени. и кроме, разве что, особых флажков типа superammo. учитывая, что количество чаров (рисуемых, активных, соображающих) ограничено, обычно и стандартного набора должно хватать.

Оффлайн

 

#19 14-07-2009 09:45:27

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

Smith, "боты" в понимании "персонаж с именем, набором свойств типа класс, место спавна, вещи, оружие, вызываемая при смерти функция и т.д." перечисляются в .BINA (CHAR) и глобализации не подлежат. то есть можно, конечно, сделать большую BINA со всеми чарами, но лучше не стоит: тут и коллизии повторяющихся имён, и непонять куда ссылающееся местоположение при создании... лучше и логичнее либо создавать новых чаров в соответствующем уровне, либо на уровне скриптов сделать из постороннего чара то, что нужно. класс, место, команда, хелсы, вооружение, поведение - всё приводимо к нужному виду, кроме имени. и кроме, разве что, особых флажков типа superammo. учитывая, что количество чаров (рисуемых, активных, соображающих) ограничено, обычно и стандартного набора должно хватать.

Вообщем я так понял, создать нового бота сложно, и тем более не в скриптах=( Чтобы создать бота нужно прописать в BINA новые данные (модель, имя, анимация...)? А потом просто бота прописать в скрипты?) Есть ли инструкция по созданию ботов?)
И ещё вопросик!:) мне нужна команда, которая бы любые процессы выполняла последовательна. (Ну типа я открыл дверь, и бот после этого бежал бы на флаг или вытащил оружие, что-то вроде этого...)

Оффлайн

 

#20 14-07-2009 10:55:09

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 24-06-2007
Сообщений: 1352
Профиль  Вебсайт

Re: Интелект

"Чтобы создать бота нужно прописать в BINA новые данные (модель, имя, анимация...)?" Смотря, что такое 'создать'. ai2_spawn - создание? Анимации прописаны в ONCC, а не в CHAR.

"А потом просто бота прописать в скрипты?" Смотря, что такое 'просто'... Вообще-то доводка уровня - это процесс итеративный: поскриптил, скривился, поправил BINA, поскриптил ещё...

"Есть ли инструкция по созданию ботов?" Т.е. по добавлению в BINACharacter? http://wiki.oni2.net/AE:Adding_spawnable_characters http://wiki.oni2.net/OBD_talk:BINA/OBJC/CHAR#XML

"мне нужна команда, которая бы любые процессы выполняла последовательно" Смотря что такое 'любые', но для начала посмотри сюда: Oni Scripts: FAQ-пособие


Если у тебя есть фонтан, заткни его; дай отдохнуть и фонтану.

Оффлайн

 

#21 14-07-2009 14:41:28

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

geyser написал(а):

"Чтобы создать бота нужно прописать в BINA новые данные (модель, имя, анимация...)?" Смотря, что такое 'создать'. ai2_spawn - создание? Анимации прописаны в ONCC, а не в CHAR.

"А потом просто бота прописать в скрипты?" Смотря, что такое 'просто'... Вообще-то доводка уровня - это процесс итеративный: поскриптил, скривился, поправил BINA, поскриптил ещё...

"Есть ли инструкция по созданию ботов?" Т.е. по добавлению в BINACharacter? http://wiki.oni2.net/AE:Adding_spawnable_characters http://wiki.oni2.net/OBD_talk:BINA/OBJC/CHAR#XML

"мне нужна команда, которая бы любые процессы выполняла последовательно" Смотря что такое 'любые', но для начала посмотри сюда: Oni Scripts: FAQ-пособие

Спасибо гейсер посмотрел!) Начинаю понимать... С BINACharacter мне пока рано!:) А вот насчёт команды:
func void wait_to_help(void)  - "wait_to_help" это просто название функции и не несёт смысловой нагрузки.

chr_wait_health Muro 200  -  "chr_wait" команда ждать. А например, если нужно сделать покруче событие, что-бы ждать приходилось не наличие 200 хп , а окончание жуткого замеса между 10 TCTF и 10 Синдикатов =))... Нужно создавать отдельную функцию и уже делать привязку к chr_wait ???

Или ждать пока откроется дверь, то команда выглядеть будет вот так: chr_wait_door_open 21 ???
&&

Оффлайн

 

#22 14-07-2009 15:49:00

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith, не путай... "wait_to_help"(void) - функция, прописанная уже в скриптах. "смысловой нагрузки" в имени этой функции ровно столько же, как у любой другой. "chr_wait_health"(ai_name,hp) - функция, прописанная глубже. принципиальная разница только в размещении и вроде ещё паре нюансов. никакого "chr_wait" здесь нет вообще. есть только функции с таким префиксом: chr_wait_health, chr_wait_animation, chr_wait_animtype, chr_wait_animstate. их объединяет только схожесть названий (ну, и примерно аналогичная суть: остановить дальнейшее выполнение до события).
тем более, "chr_wait_door_open" - чушь ещё и потому, что chr_ относится в чарам, а у дверей свой собственный префикс door_. ) но к названию никогда не надо цепляться и тем более делить его на что-то. это лишь для удобства.

Smith написал(а):

А например, если нужно сделать покруче событие, что-бы ждать приходилось не наличие 200 хп , а окончание жуткого замеса между 10 TCTF и 10 Синдикатов =))

20 организаций? или 20 человек? +)
chr_wait_health Suwestvo 0
повторить для всех существ...
хотя традиционно разработчиками использовались функции, вызываемые смертями персонажей (т.е. на самом деле они всей группой ссылались на одну-единственную функцию), чтобы декрементить счётчик и при достижении нуля делать все дела.

для того, чтобы что-то произошло по событию, необходим какой-то триггер. или мы имеем скриптовую вилку с ожиданием события (то есть не так уж и много всего... пересечение некоторого значения здоровья, исполнение некой анимации... возможна периодическая проверка значения переменной через рекурсивную функцию), или прописанное в ресурсах событие, вызывающее определённую функцию в игре. можно спрятать от игры все скрипты и побегать по уровням со включенной девмодой - консоль будет периодически заявлять, что "нет такой-то функции, запрошенной движком". тут тебе и лазеры, и открытие определённых дверей, и прохождение/пролетание по определённой области, и указанные в BINA смерть и разговор с персонажем.
если триггера в нужном месте нет - создавай... насколько я понимаю, здесь опять следует обратиться к BINA - TRIG, DOOR. если оно того стоит.

Оффлайн

 

#23 14-07-2009 17:18:31

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Я написал функцию а она не прокатила: =(((
func void TCTF(void)
{
chr_wait_health Griffin 0
ai2_spawn ParkStriker
chr_location 1 -27.501019 1445.000000 -2914.32613

}

Оффлайн

 

#24 14-07-2009 17:28:48

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith, а вызов-то этой функции есть? ) и кто именно имеется ввиду под номером "1" в chr_location?

Оффлайн

 

#25 14-07-2009 18:24:20

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

Smith, а вызов-то этой функции есть? ) - всмысле?)) Как её запустить?
и кто именно имеется ввиду под номером "1" в chr_location?

-  ПРОВЕРЯЛ ВСЁ ПРАВИЛЬНО!

Оффлайн

 

#26 14-07-2009 18:57:45

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith написал(а):

всмысле?)) Как её запустить?

вилкой... из какого-нибудь исполняемого места. смотри пресловутое wait_to_help.
    fork MyFunction
кстати, функцию лучше не называть таким общим словом, имхо. и суть неясна, и пересечение с командой...

Оффлайн

 

#27 14-07-2009 19:21:44

vitya (муж.)
Мутантмуро
Откуда: Саратов
Регистрация: 14-06-2009
Сообщений: 918
Профиль  Вебсайт

Re: Интелект

Люди вы nick9 извинити онмойдруг просто когдая книму домойзаходил вмести с другом, мы с nick9 пошли пить а его и мой дружок оказывается написал это мы токо понилиэто по цитате чёон там наколякал извините что я за него отмазываюсь,ноэто правда!!!!!!!!!!!

Оффлайн

 

#28 14-07-2009 19:38:12

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

Smith написал(а):

всмысле?)) Как её запустить?

вилкой... из какого-нибудь исполняемого места. смотри пресловутое wait_to_help.
    fork MyFunction
кстати, функцию лучше не называть таким общим словом, имхо. и суть неясна, и пересечение с командой...

Я эту команду "TCTF" вставил в другую функцию, "fork TCTF" - не сработало(

Оффлайн

 

#29 14-07-2009 19:59:46

doktordulit (муж.)
Элитный спецназ TCTF
Откуда: Рига
Регистрация: 07-10-2008
Сообщений: 478
Профиль

Re: Интелект

vitya написал(а):

Люди вы nick9 извинити онмойдруг просто когдая книму домойзаходил вмести с другом, мы с nick9 пошли пить а его и мой дружок оказывается написал это мы токо понилиэто по цитате чёон там наколякал извините что я за него отмазываюсь,ноэто правда!!!!!!!!!!!

А чё он отрицал что это написал?

Smith написал(а):

Я эту команду "TCTF" вставил в другую функцию, "fork TCTF" - не сработало(

Ты не понял Миху.
Функцию делай TCTF,а в скрипте на нужном месте пиши fork TCTF.


http://yoursmileys.ru/tsmile/stamp/t2708.gif

Оффлайн

 

#30 14-07-2009 20:02:16

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith, ну скрипт в студию... а вообще, на то и есть dprint и dmsg, чтобы такие дела отлаживать.

Оффлайн

 

#31 15-07-2009 00:11:17

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 24-06-2007
Сообщений: 1352
Профиль  Вебсайт

Re: Интелект

Smith, слушай сюда. Есть определённая тонкость с chr_location и вообще с любыми функциями, которые обращаются к челам через индекс (char ID). Этот индекс уникален, в каждый данный момент он соответствует максимум одному челу. Выдаётся этот индекс в момент появления чела в памяти (он соответствует номеру первой пустой ячейки, куда игра "кладёт" нового чела). Поэтому - и это главное - этот индекс сильно зависит от состояния памяти на момент вызова ai2_spawn, т.е. от предыстории. Этот индекс важно не путать с так называемым "скриптовым индексом" (script ID), который бывает у безмозглых челов и игроков. У Коноки, например, скриптовый индекс есть, и как правило 0, но он не имеет ничего общего с индексом Коноки как чела, т.е. с индексом её ячейки в памяти, который как правило тоже 0 (ибо Коноко появляется в уровне в первую очередь).

Рассмотрим твой скрипт. Целиком ты нам его не показываешь, но допустим, что кроме Коноки в уровне был только Гриффин, соответственно у Коноки был индекс 0, а у Гриффина - 1. Гриффин не освободит индекс 1, пока не станет трупом, а трупом он не станет, пока ты от него не отвернёшься и не попрыгаешь, например. Дело в том, что игра не спешит удалять мёртвых челов из памяти и заменять их на трупы, и предпочитает это делать, когда игрок на труп не смотрит. Поэтому ты не можешь заранее знать, какой индекс окажется у ParkStriker, скорее всего - 2, но в других ситуациях может оказаться и 1, если ты дашь Гриффину время и возможность стать трупом, до того как вызывать ai2_spawn(ParkStriker). Решить неоднозначность можно несколькими способами. Во-первых, можно найти подходящий FLAG и использовать chr_telerport. Во-вторых, статус Гриффина можно заморозить, чтобы он ни в коем случае не становился трупом, вот так: chr_death_lock(Griffin,1). В последних, Гриффина можно, наоборот, явно удалить из игры, не дожидаясь его превращения в труп: например, делаешь ему chr_death_lock, а потом чуть-чуть лечишь и chr_delete(Griffin).

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


Если у тебя есть фонтан, заткни его; дай отдохнуть и фонтану.

Оффлайн

 

#32 15-07-2009 07:49:18

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

geyser написал(а):

Smith, слушай сюда. Есть определённая тонкость с chr_location и вообще с любыми функциями, которые обращаются к челам через индекс (char ID). Этот индекс уникален, в каждый данный момент он соответствует максимум одному челу. Выдаётся этот индекс в момент появления чела в памяти (он соответствует номеру первой пустой ячейки, куда игра "кладёт" нового чела). Поэтому - и это главное - этот индекс сильно зависит от состояния памяти на момент вызова ai2_spawn, т.е. от предыстории. Этот индекс важно не путать с так называемым "скриптовым индексом" (script ID), который бывает у безмозглых челов и игроков. У Коноки, например, скриптовый индекс есть, и как правило 0, но он не имеет ничего общего с индексом Коноки как чела, т.е. с индексом её ячейки в памяти, который как правило тоже 0 (ибо Коноко появляется в уровне в первую очередь).

Рассмотрим твой скрипт. Целиком ты нам его не показываешь, но допустим, что кроме Коноки в уровне был только Гриффин, соответственно у Коноки был индекс 0, а у Гриффина - 1. Гриффин не освободит индекс 1, пока не станет трупом, а трупом он не станет, пока ты от него не отвернёшься и не попрыгаешь, например. Дело в том, что игра не спешит удалять мёртвых челов из памяти и заменять их на трупы, и предпочитает это делать, когда игрок на труп не смотрит. Поэтому ты не можешь заранее знать, какой индекс окажется у ParkStriker, скорее всего - 2, но в других ситуациях может оказаться и 1, если ты дашь Гриффину время и возможность стать трупом, до того как вызывать ai2_spawn(ParkStriker). Решить неоднозначность можно несколькими способами. Во-первых, можно найти подходящий FLAG и использовать chr_telerport. Во-вторых, статус Гриффина можно заморозить, чтобы он ни в коем случае не становился трупом, вот так: chr_death_lock(Griffin,1). В последних, Гриффина можно, наоборот, явно удалить из игры, не дожидаясь его превращения в труп: например, делаешь ему chr_death_lock, а потом чуть-чуть лечишь и chr_delete(Griffin).

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

Спасибо! Но дело в том что телепортировать челов я могу. Я прописываю по порядку ai2_spawn (имя)
И и телепортирую их соответственно в том порядке котором стоят, если первый в скрипте написал ai2_spawn Sr_9 то он и будет телепор. под номером 1. Это срабатывает. И где это нужное место (тем более тстф была функцией)?? Получается нужно команду fork TCTF вписать в ту фукцию, которая отвечает именно за 4сохранение, за последнюю битву?? Но в какую??

Оффлайн

 

#33 15-07-2009 08:05:02

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith написал(а):

И где это нужное место (тем более тстф была функцией)?? Получается нужно команду fork TCTF вписать в ту фукцию, которая отвечает именно за 4сохранение, за последнюю битву?? Но в какую??

ну смотри последовательно. начинается исполнение всегда из одного места - функции main. в последнем уровне, она ссылается на функцию start. в которой, в свою очередь, есть ряд ифов, среди которых находим:
    if (my_save_point eq 4)
    {

а ещё глубже - вариации в зависимости от того, жив ли Гриффин:
    if (did_kill_griffen() eq #)
    {

в его присутствии - вилка для ожидания 200 хелсов у Муро, на которую и следовало бы ориентироваться (хотя это ни разу не принципиально):
    fork wait_to_help
собственно, если ориентироваться на оригинальное течение скрипта (а не написание его с нуля), где-то тут вилке самое место. то бишь, мыслим логически - функция "ожидает" событие, и её вилочный вызов нужно ставить там, где начинается это "ожидание".

Smith написал(а):

И и телепортирую их соответственно в том порядке котором стоят, если первый в скрипте написал ai2_spawn Sr_9 то он и будет телепор. под номером 1. Это срабатывает.

да неправда это... у тебя совершенно посторонняя функция, в которой ParkStriker и спавнится (а не заранее). когда она вызовется и вызовется ли вообще - неизвестно. особенно если скрипт будет не из последовательного "убил энного врага, заспавнился энплюспервый", а с динамичным месивом.

Оффлайн

 

#34 15-07-2009 08:32:33

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

Smith написал(а):

И где это нужное место (тем более тстф была функцией)?? Получается нужно команду fork TCTF вписать в ту фукцию, которая отвечает именно за 4сохранение, за последнюю битву?? Но в какую??

ну смотри последовательно. начинается исполнение всегда из одного места - функции main. в последнем уровне, она ссылается на функцию start. в которой, в свою очередь, есть ряд ифов, среди которых находим:
    if (my_save_point eq 4)
    {

а ещё глубже - вариации в зависимости от того, жив ли Гриффин:
    if (did_kill_griffen() eq #)
    {

в его присутствии - вилка для ожидания 200 хелсов у Муро, на которую и следовало бы ориентироваться (хотя это ни разу не принципиально):
    fork wait_to_help
собственно, если ориентироваться на оригинальное течение скрипта (а не написание его с нуля), где-то тут вилке самое место. то бишь, мыслим логически - функция "ожидает" событие, и её вилочный вызов нужно ставить там, где начинается это "ожидание".

О получилось=) Спасибо что обяснил! Всё BlackSwat делает кроме того, что он не идёт к флагу, вот моя ф-ция:
func void arbalet(void)
{
chr_wait_health Griffin 0
chr_location 5 -395.204987 1445.000000 -2941.419941
chr_set_class 5 TCTF_swat_blackops_1
chr_changeteam C_Sr19 TCTF
chr_set_health C_Sr19 210
chr_giveweapon C_Sr19 w3_phr
ai2_attack C_Sr19 Muro
ai2_movetoflag 0516 C_Sr19
ai2_setmovementmode C_Sr19 run


}

ДА и ещё Муро не атакует=)

Отредактировал(а) Smith (15-07-2009 08:34:06)

Оффлайн

 

#35 15-07-2009 08:45:29

vitya (муж.)
Мутантмуро
Откуда: Саратов
Регистрация: 14-06-2009
Сообщений: 918
Профиль  Вебсайт

Re: Интелект

А чё он отрицал что это написал?

Говорё же написал не он, а стёр он!
У него такая реакция!

Оффлайн

 

#36 15-07-2009 09:10:21

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith написал(а):

ai2_movetoflag 0516 C_Sr19

дословно "флаг 0516, иди к персонажу". +)) первый аргумент - персонаж, а второй - флаг.

Smith написал(а):

ai2_attack C_Sr19 Muro

да это вообще весьма условная штука... точно не уверен, но вроде это функция просто выставляет персонажу приоритет для атаки. например, в оригинале финальной битвы - Муро всегда атакует игрока, до достижения им 200 хелсов остальные синдикатовцы заняты лишь TCTF. когда же muro_in_danger eq 1, все начинают фокусить игрока. никакой мощной низкоуровневой привязки нет.

Оффлайн

 

#37 15-07-2009 09:18:12

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

Smith написал(а):

ai2_movetoflag 0516 C_Sr19

дословно "флаг 0516, иди к персонажу". +)) первый аргумент - персонаж, а второй - флаг.

Smith написал(а):

ai2_attack C_Sr19 Muro

да это вообще весьма условная штука... точно не уверен, но вроде это функция просто выставляет персонажу приоритет для атаки. например, в оригинале финальной битвы - Муро всегда атакует игрока, до достижения им 200 хелсов остальные синдикатовцы заняты лишь TCTF. когда же muro_in_danger eq 1, все начинают фокусить игрока. никакой мощной низкоуровневой привязки нет.

А вот я хочу что бы при смерти гриффина опять появлялся вертолёт, ну и поновой 2 TCTF (можно без гриффина)! функцию сделал камеры удалил, невышло(( Как правильно оформить процедуру??

Оффлайн

 

#38 15-07-2009 10:34:50

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith, не бывает "не вышло". бывает "вышло не то, что ожидалось, потому что написано не то, что нужно".
появление вертолёта - не очень удобная штука... катсцена с ним постоянно меняет обзор, что позволяет делать некоторые махинации "за кадром", поэтому, во-первых, спрыгивание с вертолёта и бег к центру не согласованы (как вариант, бег вообще убираем и назначаем движение к флагу или атаку на врага), а во-вторых, вертолёт не умеет красиво исчезать. или в некоторый момент он удаляется начисто (лично я в таких случаях использую быстрые fade_out и fade_in, но они бросаются в глаза ещё больше, чем ВНЕЗАПНОЕ исчезновение вертолёта), или, если эта операция выполняется единожды, висит до самого конца.
ну, например, я поглядел в таком виде:
func void tround_z(void)
{
    obj_create 901 906
    env_anim 901 906
    ai2_spawn Griffin force
    ai2_spawn GrifOps02 force
    ai2_spawn GrifOps03 force
    chr_envanim Griffin GrifGrifBox01
    chr_envanim GrifOps02 GrifOps01Box01
    chr_envanim GrifOps03 GrifOps03Box01
    chr_animate Griffin COMGUYlev7_helistand 500
    chr_animate GrifOps01 STRIKEcrouch_idle 400
    chr_animate GrifOps02 STRIKEcrouch_idle 400
    chr_animate GrifOps03 STRIKEcrouch_idle 400
    sleep f290
    env_setanim 901 heli_doors_rt08
    env_setanim 902 heli_doors_lt08
    env_setanim 903 heli_rotorblades08
    env_setanim 904 heli_body08
    env_setanim 905 heli_canopy08
    env_setanim 906 heli_interior08
    chr_envanim Griffin GrifGrifBox02 norotation
    chr_envanim GrifOps02 GrifOps01Box02 norotation
    chr_envanim GrifOps03 GrifOps03Box02 norotation
    chr_animate Griffin COMGUYlev7_Grif
    chr_animate GrifOps02 STRIKElev7_Ops01
    chr_animate GrifOps03 STRIKElev7_Ops03
    sleep f240
    playback Griffin GrifGrifRunAlt
    playback GrifOps02 GrifOps01Run
    sleep f10
    playback GrifOps03 GrifOps03Run
}

всё работает безо всяких проблем... разве что дурацкое ai2_spawn GrifOps0# force желательно поменять на полноценного персонажа и убрать force.

Оффлайн

 

#39 15-07-2009 11:31:46

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Спасибо Mih@ сработало=))) Ещё проблемка, я пару синдикатов телепортировал на крышу (в финальную битву)
Битва началась... всё замечатель, но радиус обзора челов мелковат( Ближе к середины битвы 2 TCTF в одном углу ,пару синдикатов по центру... И друг друга не видят... Короче как сделать радиус обзора больше? Скриптом можно обойтись?

Оффлайн

 

#40 15-07-2009 12:04:25

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith, скриптом... смотря по ситуации... самое простое - периодическое обновление рекурсивной функцией... всё те же ai2_attack между нужными чарами, ai2_movetoflag для сбора народа в кучку, и т.п.

Оффлайн

 

#41 15-07-2009 12:23:04

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

Smith, скриптом... смотря по ситуации... самое простое - периодическое обновление рекурсивной функцией... всё те же ai2_attack между нужными чарами, ai2_movetoflag для сбора народа в кучку, и т.п.

С флагами не получается, я прописываю:

func void arbalet(void)
{
chr_wait_health Griffin 0
chr_location 1 -395.204987 1445.000000 -2941.419941
chr_set_class 5 TCTF_swat_blackops_1
chr_changeteam C_Sr19 TCTF
chr_set_health C_Sr19 210
chr_giveweapon C_Sr19 w3_phr
ai2_movetoflag C_Sr19 516
ai2_setmovementmode C_Sr19 run

   
}


бробовал и так: ai2_movetoflag 516 C_Sr19
а бот идти к нему не хочет =((

Оффлайн

 

#42 15-07-2009 12:42:46

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith написал(а):

С флагами не получается

"не получается"... ну во-первых, что эта функция творит? почему в chr_location номер 1, а в chr_set_class номер 5? почему сначала устанавливается chr_location, а потом всё остальное (то бишь, уже "в поле зрения")?
с движением к флагу проблема очень простая. ты просто не даёшь ему очухаться. =) нужно хотя бы:
    ...
    chr_giveweapon C_Sr19 w3_phr
    ai2_setmovementmode C_Sr19 run
    sleep 15
    ai2_movetoflag C_Sr19 516
}


Smith написал(а):

ai2_movetoflag 516 C_Sr19

пыщъ.

Оффлайн

 

#43 15-07-2009 13:48:04

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Получилось! Но вот например в 2 уровне написал функцию:

func void three(void)
{
chr_wait_health ambush_striker_1 0
chr_wait_health ambush_striker_2 0
chr_wait_health ambush_striker_3 0
sleep 60
ai2_movetoflag patrol_striker_3 0029
ai2_setmovementmode patrol_striker_3 run

}

Включил её (fork three) всё сделал как обычно!
Бот Не побежал :( Мне нужно чтобы после смерти 3 страйкеров он побежал к флагу... (Препятствий к флагу нет)

Оффлайн

 

#44 15-07-2009 14:04:22

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith, дебугай... консоль ведь есть, всё есть... dprint/dmsg в каждом сомнительном и не очень месте, проверка с 1 страйкером, проверка зависимости от порядка убивания (когда 3 умирает первым и становится хладным трупом, и chr_wait_health уже проходит мимо)...

Оффлайн

 

#45 15-07-2009 15:13:51

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Вот функция:

func void three(void)
{
sleep 60
ai2_movetoflag patrol_striker_3 0029
ai2_setmovementmode patrol_striker_3 run

}

эту функцию я запускаю в тот момент когда умирают все троя синдиката:

unc void all_music_counters(void)
{
    dprint ELVIS_HAS_LEFT_THE_BUILDING
fork three
    sound_music_stop mus_ambgrv1b
    sound_music_stop mus_fiteb_hd
    sound_music_stop atm_low_perc1
    sound_music_stop atm_cl12
    sound_music_stop atm_cl11
    sound_music_stop mus_sv

dprint ELVIS_HAS_LEFT_THE_BUILDING - является началом новой программы после смерти 3 чаров, так почему ничё не работает?? :( :(

Оффлайн

 

#46 15-07-2009 15:31:10

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

о_О не бежит при вызове all_music_counters() с консоли?

Оффлайн

 

#47 15-07-2009 15:34:02

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

о_О не бежит при вызове all_music_counters() с консоли?

НЕт стоит как истукан!=))

Оффлайн

 

#48 15-07-2009 15:37:28

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

Smith написал(а):

НЕт стоит как истукан!=))

значит, или ему явно не хватает сабжа, или у него какие-то проблемы с моветофлагом. если напрямую вбитое в консоль ai2_movetoflag patrol_striker_3 29, значит, что-то ему всё-таки мешает...

Оффлайн

 

#49 15-07-2009 15:46:48

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

Smith написал(а):

НЕт стоит как истукан!=))

значит, или ему явно не хватает сабжа, или у него какие-то проблемы с моветофлагом. если напрямую вбитое в консоль ai2_movetoflag patrol_striker_3 29, значит, что-то ему всё-таки мешает...

Я раз 10 позапускал 1 сохран., из 10 раз он все 2 раза бегал к флагу... НЕпонимаю от чего зависит... Странно
Иногда он ещё подбигает к тому месту где был телепортирован!

Отредактировал(а) Smith (15-07-2009 15:51:12)

Оффлайн

 

#50 15-07-2009 16:12:03

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

dprint после каждого chr_wait_health в помощь... смотри, какие из них дожидаются... в зависимости от порядка и скорости смерти тех троих...

Оффлайн

 

#51 15-07-2009 16:15:44

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

dprint после каждого chr_wait_health в помощь... смотри, какие из них дожидаются... в зависимости от порядка и скорости смерти тех троих...

А этот способ?? Почему он не прокатил? Всё логично же сделано :( Может дело в персонаже??

Оффлайн

 

#52 15-07-2009 16:28:53

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Smith написал(а):

Мih@ написал(а):

dprint после каждого chr_wait_health в помощь... смотри, какие из них дожидаются... в зависимости от порядка и скорости смерти тех троих...

А этот способ?? Почему он не прокатил? Всё логично же сделано :( Может дело в персонаже??

НЕ чё не выходит :( Наверное что-то не то делаю((

Оффлайн

 

#53 15-07-2009 17:15:48

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

не выходит дпринт написать?

Оффлайн

 

#54 15-07-2009 18:18:19

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 24-06-2007
Сообщений: 1352
Профиль  Вебсайт

Re: Интелект

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


Если у тебя есть фонтан, заткни его; дай отдохнуть и фонтану.

Оффлайн

 

#55 15-07-2009 19:26:46

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

geyser написал(а):

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

Я же уже расписал... Создал функцию и поставил её сюда:

unc void all_music_counters(void)
{
    dprint ELVIS_HAS_LEFT_THE_BUILDING
                 fork three
    sound_music_stop mus_ambgrv1b
    sound_music_stop mus_fiteb_hd
    sound_music_stop atm_low_perc1
    sound_music_stop atm_cl12
    sound_music_stop atm_cl11
    sound_music_stop mus_sv
}

Сама функция:

func void three(void)
{
sleep 60
ai2_movetoflag patrol_striker_3 7009
ai2_setmovementmode patrol_striker_3 run

}
Должна была сработать((

В другие места писал и не помогло.

Оффлайн

 

#56 15-07-2009 20:48:01

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 24-06-2007
Сообщений: 1352
Профиль  Вебсайт

Re: Интелект

Я сказал Выложи Скрипт Целиком, могу ещё раз повторить.
Убрать из скрипта всё лишнее я тебя уже не прошу - шли так.
Главное - поподробнее опиши, что ты ожидаешь от скрипта...


Если у тебя есть фонтан, заткни его; дай отдохнуть и фонтану.

Оффлайн

 

#57 16-07-2009 06:54:10

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

geyser написал(а):

Я сказал Выложи Скрипт Целиком, могу ещё раз повторить.
Убрать из скрипта всё лишнее я тебя уже не прошу - шли так.
Главное - поподробнее опиши, что ты ожидаешь от скрипта...

Я ожидаю, только того, чтобы бот пошёл на флаг после смерти троих страйкеров, и всё)


Прикрепленные файлы:
Аттачмент manplant_level_logic.bsl, Размер: 21,477 байт, Скачано: 848

Оффлайн

 

#58 16-07-2009 07:54:45

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

manplant_level_logic.bsl написал(а):

dprint fork three

мдя...

Notepad написал(а):

Cannot find "three"

мдя...

Оффлайн

 

#59 16-07-2009 08:06:53

vitya (муж.)
Мутантмуро
Откуда: Саратов
Регистрация: 14-06-2009
Сообщений: 918
Профиль  Вебсайт

Re: Интелект

Smith
http://translate.google.com/translate?j ... ry_state0=
Вот раскопал по теме!

Оффлайн

 

#60 16-07-2009 09:11:52

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

manplant_level_logic.bsl написал(а):

dprint fork three

мдя...

Notepad написал(а):

Cannot find "three"

мдя...

dprint fork three
не это я удалил "bprint". Всё равно не работает, это я написал от отчаяния =)
vitya спасибо=)) Интересно)

Оффлайн

 

#61 16-07-2009 09:37:35

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Интелект

неудивительно, что не работает, когда функции three вообще нет...

Оффлайн

 

#62 16-07-2009 09:57:01

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Мih@ написал(а):

неудивительно, что не работает, когда функции three вообще нет...

фУНКЦИЮ three я прописал в файле "manplant_main"
Я проверял функция работает исправна а вот команда мувиТуФЛАГ - НЕт!!)

Оффлайн

 

#63 16-07-2009 11:30:09

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 24-06-2007
Сообщений: 1352
Профиль  Вебсайт

Re: Интелект

Smith, последний раз говорю - выдай свой скрипт ЦЕЛИКОМ. Это значит - выдать ВСЕ файлы *.bsl из папки compound.


Если у тебя есть фонтан, заткни его; дай отдохнуть и фонтану.

Оффлайн

 

#64 16-07-2009 11:47:45

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

geyser написал(а):

Smith, последний раз говорю - выдай свой скрипт ЦЕЛИКОМ. Это значит - выдать ВСЕ файлы *.bsl из папки compound.

Ок.

Остальные файлы не менял...

Отредактировал(а) Smith (16-07-2009 12:07:59)


Прикрепленные файлы:
Аттачмент manplant_main.bsl, Размер: 633 байт, Скачано: 836
Аттачмент manplant_level_logic.bsl, Размер: 21,469 байт, Скачано: 824

Оффлайн

 

#65 16-07-2009 12:47:32

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 24-06-2007
Сообщений: 1352
Профиль  Вебсайт

Re: Интелект

А теперь ещё раз попрошу - ОБЪЯСНИ, пожалуйста, ПОТОЧНЕЕ, в чём состоит ожидаемый эффект.
Из скрипта не всегда понятно, что именно имелось в виду. А тебе надо упражняться в толковости.
Попробуй на словах объяснить идею скрипта - не на уровне "потока сознания", а более ВНЯТНО.


Если у тебя есть фонтан, заткни его; дай отдохнуть и фонтану.

Оффлайн

 

#66 16-07-2009 13:01:05

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

geyser написал(а):

А теперь ещё раз попрошу - ОБЪЯСНИ, пожалуйста, ПОТОЧНЕЕ, в чём состоит ожидаемый эффект.
Из скрипта не всегда понятно, что именно имелось в виду. А тебе надо упражняться в толковости.
Попробуй на словах объяснить идею скрипта - не на уровне "потока сознания", а более ВНЯТНО.

Я просто хочу, чтобы "patrol_striker_3" - в нужный момент подбегал к флагам... в моём скрипте задуманно, чтобы бот (patrol_striker_3) побежал на флаг, после того, как: сдохнут три страйкера и закончится музыка.
Это происходит в функц. - "func void all_music_counters(void)" - stop music.
Туда я вставил написанною мною функцию "three" чтобы она параллельно активизировалась с той функ.
Функция "three" работает нормально, за исключением команды, написанной в ней:

sleep 600
ai2_movetoflag patrol_striker_3 0029
ai2_setmovementmode patrol_striker_3 run

Написав любую другую команду, например "chr_teleport konoko 0029" исполняет нормально! (Вовремя...)

Оффлайн

 

#67 18-07-2009 18:47:17

Smith (муж.)
Агент TCTF
Регистрация: 12-07-2009
Сообщений: 130
Профиль

Re: Интелект

Кто-нибуть, обясните! Как удалить у бота оружие?? (Если изначально оно у него присутствует)
Прописывал команду chr_forceholster не помогло(

Оффлайн

 

#68 19-07-2009 04:59:35

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 24-06-2007
Сообщений: 1352
Профиль  Вебсайт

Re: Интелект

Smith, chr_forceholster(chelovek, 1) должно работать, но это не для удаления, а для запихивания в трусы.
Для удаления инвентаря скорее подходит вот это: chr_inv_reset(chelovek)

На твой предыдущий вопрос я ответил в новой теме:
Задачник по скриптированию: вопросы и ответы.
Извини за задежку и спасибо за участие в процессе.


Если у тебя есть фонтан, заткни его; дай отдохнуть и фонтану.

Оффлайн

 

Board footer

© 2006-2024 Амэ & Mih@
ОНИмия – фан-сайт игры Oni
Движок форума - модифицированный PunBB