Форум Oni

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

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

#21 22-07-2009 17:37:27

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

Re: Задачник по скриптированию: вопросы и ответы.

А через что запускать онисплит??? Как пользоваться есть где описание??
И кстати где можно задавать вопросы о ресурсах игры (BINA, ONCC...)?

Отредактировал(а) Smith (22-07-2009 17:45:42)

Оффлайн

 

#22 22-07-2009 18:20:32

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

Re: Задачник по скриптированию: вопросы и ответы.

Smith, выделенной ленты про ресурсы пока нет (или уже нет, вроде бы когда-то она была, но канула в Лету и/или была зафлужена). С другой стороны, многие ресурсы существуют неотделимо от скриптов, например поуровневые коллекции OBJC. Так что вопросы про CHAR, например, можешь смело задавать прямо здесь.

OniSplit удобнее всего запускать через командное окно (хотя многие избалованные пользователи с этим не согласны). Инструкция есть здесь: http://wiki.oni2.net/OniSplit Она сама неполная, и на русский целиком не переведена (тем более, что функциональность постоянно меняется, так что "целиком" - это непонятно что такое). Однако, используй Поиск, и ты найдёшь на этом форуме кучу лент, где обсуждается функциональность ОниСплита. Ищи, например, "OniSplit", "ОниСплит", "Oni Split" или "Они Сплит".

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

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

Бег к консоли ещё сложнее, т.к. для этого надо править CMBT.

это в плане?.. вроде бы по ai2_doalarm namae number чар бежит, пока не умрёт или не нажмёт, минуя все преграды. А нажав, ещё и вызывает соответствующую функцию, которая ещё и будет знать его имя. Или нужно было наоборот, научить чара отбиваться? +_+

"Или нужно было наоборот, научить чара отбиваться?" Да. Движок "отбивание" поддерживает, но настройки существующих CMBT эту функциональность не используют, см. вики. Ну а мы это в Эдишн тоже включать не торопимся, потому как всё это надо тестировать, а рук мало.

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

я челу даю команду чтоб он бегал за мной, а он не бегает, чё дела?
Потом какой камандойможно узнать лакацию где ты находишся?
И последнее какой камандой можно зделать чтоб штатские не боялись пративников, а били их, и какой командойможно зделать чтоб штатские играли и за тебя и против тебя какими командами это можно зделать!;):):):):)

vitya, в следующий раз напишешь с таким количеством ошибок - пропустишь сразу два хода.

1. Есть как минимум два ответа, не считая тривиального "ответа вопросом на вопрос": какого хрена ты не предъявил вместе с вопросом ту команду, которую ты ему даёшь, "чтоб он бегал за мной"?
1a. Первый способ - регулярно говорить челу ai2_comehere(chelovek) или ai2_followme(chelovek). "Регулярно" - например, через рекурсивный цикл, повторяющийся раз в две секунды:

Код:

func FollowMe(string name) {
    ai2_comehere(name);
    sleep 120; fork FollowMe(name);
}

1b. Второй способ - изучить параметры профиля NEUT, и настроить его так, чтобы чел за тобой бегал сколь угодно далеко, но не разговаривал. Если такой профиль существует и называется, скажем, PerfectSidekick, то ты можешь его присвоить из скриптов, вот так: ai2_neutralbehavior(chelovek, PerfectSidekick)

2.
Можно включить окошко с информацией в правом верхнем углу, вот так: chr_debug_characters=1
А можно вбить с консоли команду where или who, и посмотреть, что она напечатает.

3. У тебя почему-то два вопроса в одном, и не совсем ясно, что такое "и за тебя и против тебя". Во-первых, учёные женского пола дерутся так же, как Шинатама (то есть никак). А в Эдишне ещё хуже - штатские женщины (вообще все, а не только учёные) не умеют драться (это ошибка, и мы её исправим, а ты пока не удивляйся). В остальном ответ простой - команда ai2_noncombatant(chelovek, 0) отменяет панику, а команда ai2_neutralbehavior(chelovek, none) отменяет у чела профиль NEUT (разговоры и подарки). Ну и конечно, команда у штатского должна быть подобающая, т.е. chr_changeteam(chelovek, Neutral). После этого штатский будет гасить сапогами всех тех, кто до него докопается.


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

Оффлайн

 

#23 24-07-2009 19:25:45

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

Re: Задачник по скриптированию: вопросы и ответы.

У меня такой вопрос!
Я в финальной битве размножил муро, как зделать чтоб как токо всех мурзил замочиш будет мультик?;););)
Взарание спасибо!:):)

Оффлайн

 

#24 24-07-2009 19:30:07

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

Re: Задачник по скриптированию: вопросы и ответы.

doktordulit, ты разобрался с присвоением оружия и боеприпасов? chr_giveweapon и chr_givepowerup должны срабатывать безотказно, если ты не использовал ai2spawn(chelovek, force), конечно. Если у тебя несколько челов с одним именем, тогда эти команды будут применяться к первому челу с этим именем. Для раздачи оружия и припасов по индексу используй функции chr_weapon и give_powerup.

Новый вопрос от vitya: в последней битве и Муро, и Мурзилла, при смерти вызывают функцию . В этой функции прописана концовка с даодановым экстазом, но хочет отсрочить концовку до того, как будут убиты все до одного Мурзиллы и Муры.

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

мне имено чтоб всех муренэско замочиш и мульт пойдёт мне так нужно пока у меня только это http://www.youtube.com/watch?v=kHcYx_MyG8g
Посмотри сам поймёш зачем мне это!;);););):)

Mih@ написал(а):

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

Миха прав, но я думаю, придётся объяснить понагляднее. Допустим, у тебя 42 босса, и ты хочешь, чтобы концовка началась только тогда, когда они все умрут. Все они вызывают при смерти функцию outro().
Во-первых, находишь func void Outro (void) в файле compound_cutscene.bsl и переименовываешь её, например в func outro или func konec.
Потом где-нибудь в начале файла, например, compound.bsl заводишь целочисленную переменную too_many_bosses и кладёшь туда 42. Это делается вот такой строчкой: var int too_many_bosses=42;
Наконец, пишешь новую функцию Outro, которая будет вызываться после смерти каждого босса (вместо концовки) и уменьшать счётчик на единицу, а по достижении нуля - вызывать переименованную концовку outro.

Код:

func Outro {
    too_many_bosses = too_many_bosses - 1
    if(too_many_bosses eq 0) outro
}

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


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

Оффлайн

 

#25 25-07-2009 07:10:50

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

Re: Задачник по скриптированию: вопросы и ответы.

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

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

Отредактировал(а) vitya (25-07-2009 07:11:48)

Оффлайн

 

#26 26-07-2009 08:24:07

TESLA (муж.)
Рабочий
Откуда: TSTF Штаб Командования
Регистрация: 23-06-2009
Сообщений: 19
Профиль

Re: Задачник по скриптированию: вопросы и ответы.

Люди а можно в Они заменить основную музыку на свою? И как?


И живые позовидуют мертвым, когда даодан на максимуме

Оффлайн

 

#27 26-07-2009 09:51:52

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

Re: Задачник по скриптированию: вопросы и ответы.

TESLA
Можно зделать заминив в ресурсах обычную музыку на свою и дав  каманду в скриптах!;)

Оффлайн

 

#28 26-07-2009 15:08:26

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

Re: Задачник по скриптированию: вопросы и ответы.

@TESLA: Гм, это не совсем в тему, но советую прочитать вот эту ленту:
Насчёт своей музыки в Они (гм, не так уж она тебе поможет, пожалуй)

Была другая лента, где demos_kratos выложил свой результат (.dat).
Но эту ленту я сейчас не нахожу. Наверно, её удалила Злая Собака.


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

Оффлайн

 

#29 27-07-2009 22:05:04

TESLA (муж.)
Рабочий
Откуда: TSTF Штаб Командования
Регистрация: 23-06-2009
Сообщений: 19
Профиль

Re: Задачник по скриптированию: вопросы и ответы.

Люди пожалуйста напишите мне скрипт на то чтобы в последнем уровне на битве с Муро было по 2 вида всех противников и союзников. То есть 2 сватовца, 2 элитных ниндзя, 2  фурии и тд. Если конечно это можно сделать. Я пока просто полный нубас в скриптовании и сам не умею ((


И живые позовидуют мертвым, когда даодан на максимуме

Оффлайн

 

#30 27-07-2009 22:07:33

AWP_Mega (муж.)
Спецназ TCTF
Откуда: Румыния
Регистрация: 22-06-2009
Сообщений: 319
Профиль  Вебсайт

Re: Задачник по скриптированию: вопросы и ответы.

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

Люди пожалуйста напишите мне скрипт на то чтобы в последнем уровне на битве с Муро было по 2 вида всех противников и союзников. То есть 2 сватовца, 2 элитных ниндзя, 2  фурии и тд. Если конечно это можно сделать. Я пока просто полный нубас в скриптовании и сам не умею ((

Можно,если срочно надо пиши в асю(или иди в учебник)сделаем,а если время не важно-можешь подождать кого еще..


Работа ценится не по усталости,а по результатам труда(это все про нас,про нас)

Оффлайн

 

#31 28-07-2009 13:30:54

TESLA (муж.)
Рабочий
Откуда: TSTF Штаб Командования
Регистрация: 23-06-2009
Сообщений: 19
Профиль

Re: Задачник по скриптированию: вопросы и ответы.

Да времени примерно неделя. Так что пока подожду. Да и аськи у меня нету ))))


И живые позовидуют мертвым, когда даодан на максимуме

Оффлайн

 

#32 29-07-2009 09:08:10

AWP_Mega (муж.)
Спецназ TCTF
Откуда: Румыния
Регистрация: 22-06-2009
Сообщений: 319
Профиль  Вебсайт

Re: Задачник по скриптированию: вопросы и ответы.

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

интересно, что вообще эти вопросы делали в теме, где раскрыты первым постом. =\

Ну ивиняйте,А ВОТ еще не понял работу lock_keys,часто команда вообще не работает,ввожу я допустим lock_keys keys_jump(надеюсь хоть это правильно)причем более чем на 100% уверен,что должна работать и что я ее прописал "там где надо",и нифига...


Работа ценится не по усталости,а по результатам труда(это все про нас,про нас)

Оффлайн

 

#33 29-07-2009 09:12:37

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

Re: Задачник по скриптированию: вопросы и ответы.

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

часто команда вообще не работает

контекст фстудию. и ожидаемый эффект.

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

более чем на 100% уверен

overflow.

Оффлайн

 

#34 30-07-2009 08:34:20

AWP_Mega (муж.)
Спецназ TCTF
Откуда: Румыния
Регистрация: 22-06-2009
Сообщений: 319
Профиль  Вебсайт

Re: Задачник по скриптированию: вопросы и ответы.

Продолжу короче тут
Я так и не понял,че за фигня с лок кей,причем всегда.Ввожу я допустим ПРОСТО lock_keys,и все отлично,клавиши заблокированы,но стоит мне дописать любой тип(keys_walk, keys_inventory, keys_action, keys_pause, keys_attack и т.д.)как команда вообще не выполняется


Работа ценится не по усталости,а по результатам труда(это все про нас,про нас)

Оффлайн

 

#35 30-07-2009 12:20:21

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

Re: Задачник по скриптированию: вопросы и ответы.

Как мне сделать так, чтобы бот атаковал только меня (konoko)??. Например в последнем уровне!
"ai2_attack" - не помогает!
И как увеличить радиус обзора у бота??

Отредактировал(а) Smith (30-07-2009 12:31:54)

Оффлайн

 

#36 30-07-2009 13:08:25

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

Re: Задачник по скриптированию: вопросы и ответы.

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

Я так и не понял,че за фигня с лок кей

контекст где? например, такой ряд:
    lock_keys
    lock_keys keys_attack
    lock_keys keys_jump

блокирует всё, кроме keys_attack (удары руками и ногами, стрельба, fire3) и keys_jump (прыжок); учитывая отсутствие keys_movement, это всё делается на месте.
если нужно разблокировать что-нибудь ещё (например, keys_crouch), дописывается соответствующая разблокировка:
    lock_keys keys_crouch
если же надо заблокировать что-то из имеющегося (например, keys_jump), пишется всё вместе и заново:
    lock_keys
    lock_keys keys_attack
    lock_keys keys_crouch


для блокировки только F1 (keys_pause), например, примерно такое:
    lock_keys
    lock_keys keys_movement
    lock_keys keys_jump
    lock_keys keys_crouch
    lock_keys keys_walk
    lock_keys keys_inventory
    lock_keys keys_reload
    lock_keys keys_attack
    lock_keys keys_hypo
    lock_keys keys_action

но есть проблемка - специфичные вещи типа поворотов на месте (клавиатурой), lookmode, записи фильмов и проигрывания в них анимаций особых наименований не имеют и включаются только с keys_all.

Оффлайн

 

#37 30-07-2009 14:01:04

AWP_Mega (муж.)
Спецназ TCTF
Откуда: Румыния
Регистрация: 22-06-2009
Сообщений: 319
Профиль  Вебсайт

Re: Задачник по скриптированию: вопросы и ответы.

Так,значит для заблокирования всего одной клавиши надо ввести дофига типов?
Мдо не айс, и не дано было придумать типа такого:
lock_keys f1 или lock_keys jump
А в учебнике смотрю,введите lock_keys и какой-нить тип,и заблокируется,я так и понял
Вообщем то ответ именно на то,что мне нужно было, спасибо
Ну и:ai2_comehere persona}!{
                ai2_followme persona}!{
Вообще рабочая?Кстати не разу не встречал этой команды в игре
З.Ы Чего по катсценам раздел не создашь?Не все же только в logic и main копаются

Отредактировал(а) AWP_Mega (30-07-2009 14:17:31)


Работа ценится не по усталости,а по результатам труда(это все про нас,про нас)

Оффлайн

 

#38 30-07-2009 14:35:42

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

Re: Задачник по скриптированию: вопросы и ответы.

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

А в учебнике смотрю,введите lock_keys и какой-нить тип,и заблокируется,я так и понял

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

    lock_keys [клавиши]
Блокирует/разблокирует определённые клавиши, используемые игроком. Блокирует при отсутствии аргументов, разблокирует следующие типы: keys_reload, keys_hypo, keys_walk, keys_inventory, keys_action, keys_pause, keys_attack, keys_crouch, keys_jump, keys_movement. Для разблокирования всего сразу - keys_all.

имхо ясно. блок без аргументов, разблок поэлементно. уж как есть, зато всё в одной функции с 1 аргументом, а не в lock/unlock или 0/1. есть предложения, как это переформулировать, если неочевидно?

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

Ну и:ai2_comehere persona}!{
                ai2_followme persona}!{

"}!{" - это буква такая? ну дубль три:

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

ai2_comehere [персонаж]
    ai2_followme [персонаж]
Посылают персонажа идти к точке, где стоял игрок на момент вызова этой функции. ai2_followme должна была бы регулярно уточнять текущее расположение игрока, но не делает этого из-за небольшой скосяченности. Для не самых замороченных случаев можно воспользоваться аналогом типа:
var bool follow;
func followme(string ai_name, int step)
{
    ai2_comehere(ai_name);
    sleep(step);
    if(follow) fork followme(ai_name,step);
}
Где follow=1; followme [персонаж] [период обновления координат] позволяет включить следование, а follow=0; - выключить.

работают идентично и только когда вызвали.

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

Кстати не разу не встречал этой команды в игре

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

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

З.Ы Чего по катсценам раздел не создашь?Не все же только в logic и main копаются

тематически - что такое "по катсценам"? оригинальные _cutscene файлы (как и другие) ввиду ни разу не имеются и по этому принципу разделения никогда не будет. сам вызов катсцен и практически все составляющие begin_cutscene есть. содержимое оригинальных катсценовых скриптов в большинстве своём состоит из очень локализованных вещей (проигрыш фильмов, пути камер, комбинации частиц, которые мало применимы без предварительного создания новых сцен на уровне ресурсов). то же самое касается и _particle_scripts. дополнения в пособия ведутся в порядке надобности и практической применимости, и я сразу писал, чтобы темы, требующие раскрытия там, назывались сразу. что было проигнорировано. поэтому добавления и шли в том порядке, который хорош в моём представлении. -_- следующими по планам были партикли и ещё пара мелочей.

Оффлайн

 

#39 07-08-2009 19:23:29

TESLA (муж.)
Рабочий
Откуда: TSTF Штаб Командования
Регистрация: 23-06-2009
Сообщений: 19
Профиль

Re: Задачник по скриптированию: вопросы и ответы.

Люди так что там с моей просьбой? Неделя уже прошла... Даж больше....


И живые позовидуют мертвым, когда даодан на максимуме

Оффлайн

 

#40 07-08-2009 22:08:27

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

Re: Задачник по скриптированию: вопросы и ответы.

Тааааааак...

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

Да времени примерно неделя.

Люди так что там с моей просьбой? Неделя уже прошла... Даж больше....

Вообще-то я, когда создавал тему, как-то не рассчитывал на то, что мне, Михе, и другим гуру придётся выполнять чужие заказы.
Мы готовы научить тебя скриптить, но требовать от нас "продукта" - это немного не то. И потом, что такое "и тд"? Я не врубаюсь.

Если бы ты имел некоторое уважение к своим учителям, то ты бы за эту неделю хотя бы подумал о своей "просьбе" и сформулировал её почётче. В последней битве с Муро участвуют 2 сватовца, 2 фурии и 2 элитных страйкера. Плюс одна Майка, один Муро, один Гриффин, и один нинзя. Так кого ты хочешь продублировать?


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

Оффлайн

 

Board footer

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