Форум Oni

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

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

#1 19-07-2009 04:57:13

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

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

Эта лента - дополнение к Михиному справочнику: Oni Scripts: FAQ-пособие
Здесь вы можете по очереди задавать вопросы о BSL, желательно конкретные и серьёзные.
Мы - Миха, я, и другие - будем считать своей задачей исчерпывающе отвечать на вопросы.
За бестолковые вопросы больно бить не будем - но можем немножко изменить суть вопроса.

Что-то подобное было на старом Централе: http://konokoffin.bungie.org/forums/index.php?threadid=5

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


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

Оффлайн

 

#2 19-07-2009 06:46:41

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

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

Отвечаю на вопрос Smith, касающийся нестабильного поведения ИИ.
Интелект
Интелект

Базовая идея у Smith такая: на первой сохранке главы 2 добавить в команду Коноки ещё одного бойца, с пулемётом. Чтоб исход битвы был пооднозначнее. Вот как это выглядит (добавки Smith - с двойной индентацией).

Код:

if (save_point eq 1) {
    my_save_point=1;    
    particle vent03 start
        ai2_spawn patrol_striker_3  
    ai2_spawn partner_cop_1
    ai2_spawn partner_cop_2
    ai2_spawn ambush_striker_1
    ai2_spawn ambush_striker_2
    ai2_spawn ambush_striker_3
        chr_location 1 156.666428 -1.000000 -39.771038
        chr_giveweapon patrol_striker_3 w2_sap
        chr_givepowerup patrol_striker_3 ammo 
        chr_changeteam patrol_striker_3 TCTF 
        chr_set_health patrol_striker_3 80
        chr_set_class 1 TCTF_lite_1
    chr_delete Recep
    door_lock 1
    door_lock 4
    restore_game
    ai2_attack partner_cop_1 ambush_striker_1
    ai2_attack partner_cop_2 ambush_striker_3
    music_script_start();
    sleep 30
    set_objective_1
}

Тупо и банально, но, во-первых - похвально, что освоена адресация челов по индексу. Действительно, тех челов, к которым придётся обращаться по индексу, имеет смысл споунить до того, как заполнение ячеек персами станет неоднозначным, т.е. как можно ближе к загрузке уровня.
(Однако важно помнить, что хоть ты ему и дал 80 хелсов, в конечном счёте у него останется не больше 69, а если играть на малом уровне сложности, то и того меньше.)
Во-вторых, дальше возникает интересный момент и собственно вопрос. После драки скрипт обыкновенно вызывает функцию all_music_counters, чтобы остановить музыку. Выглядит она так (добавки Smith - с двойной индентацией) :

Код:

func 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
}

Заметим, что после победы над Страйкерами двое обыкновенных TCTF-овцев (partner_cop_1 и partner_cop_2) отправляются патрулировать первый этаж - поперёк холла, в комнату с рабочими и консолью, потом назад и так далее. Делают это они независимо от скриптов - просто у них такая работа (job), и прописана она в ихнем CHAR. Работа номер 3, т.е. "patrol", патрули (PATR) "partner_1" и "partner_1", номера 4 и 5, можете проверить.
Так вот, надо бы и нашему третьему бойцу (переодетому Страйкеру patrol_striker_3) придумать какое-нибудь полезное дело. Например, он может занять наблюдательскую позицию на галерее, которая идёт поперёк того же холла этажом выше. Smith так и решил - пусть он после битвы бежит к флагу 29, и остаётся там. Эти инструкции содержатся в отдельной функции с гордым названием three, которую целиком написал Smith:

Код:

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

На первый взгляд всё нормально, да и на второй тоже, разве что номер флага 29 с нулями впереди странно смотрится. И довольно часто этот скрипт срабатывает. Но иногда - тоже довольно часто - переодетый Страйкер после битвы не слушается команды ai2_movetoflag, прописанной в этой функции three. Он как бы в неком ступоре - или остаётся стоять, где стоял в конце битвы, или перемещается к координатам (156.666428,-1.000000,-39.771038). После этого можно ему дать повторный приказ переместиться к флагу 29, и тогда он слушается, но первый приказ почему-то игнорирует. Иногда.

В чём состоит причина облома? Главным образом в том, что мы имеем дело с переодетым Страйкером, задача которого по сюжету - не холл сторожить, а патрулировать (PATR "patrol_3", номер 19) с плазменной винтовкой на другом конце карты, и между прочим первый флаг его патруля, номер 54, находится за запертой дверью номер 23. Это обломно, почему? Потому, что после битвы этот Страйкер сразу вспоминает о своей (невыполнимой) задаче и впадает в депрессию, ещё до того, как мы посылаем его на флаг 29. Депрессия проходит, например, если к нему настойчиво обращаться и снова послать куда следует. Или наоборот от него отвлечься - тоже может повезти. Но рано или поздно он всё равно вспомнит о своей работе по ту сторону запертой двери 23 - и закручинится. То есть ситуация так или иначе нештатная, и удивляться глюкам не следует. Надо ситуацию починить. Как?

Можно для проверки использовать вместо чела patrol_striker_3, например, чела nookleft_thug_1, у которого патруль в соседнем закуточке, дверь не заперта. Главной работой у него пусть по-прежнему будет медитация перед компьютерами в закуточке, и поскольку она осуществима, в депрессию наш чел никогда не впадёт, и сторожить холл с верхней галереи тоже согласится - на какое-то время, ведь в итоге он вспомнит про свои компьютеры и пойдёт медитировать дальше.

Можно - тоже для проверки - использовать того же patrol_striker_3, но отпереть дверь 23. Тогда депрессия нашему герою поначалу не грозит, и он беспрекословно согласится бежать к флагу 29 и немного там подежурит. Однако в конце концов он вспомнит про свою работу и смотается на другой конец карты, к флагу 54, и уже там впадёт в ступор, потому что остальные флаги его патруля, 52 и 55, в свою очередь находятся за запертыми дверями, 22 и 6 соответственно.

А теперь самый настоящий фикс. То есть не самый - самым настоящим было бы создание новых контейнеров PATR и CHAR для нашего героя, чтоб всё было по правилам. Скажем так - самый мудрый фикс в рамках данного урока.
Мы сделаем следующее - мы будем использовать всё того же patrol_striker_3, но дадим ему новую работу (job), причём выполнимую, без всяких патрулей за запертыми дверями, чтобы он не сомневался в смысле жизни и не впадал в депрессию.
Эта замечательная безмятежная деятельность называется "idle" (номер 1), её мы форсируем командой ai2_idle(patrol_striker_3) и сразу же назначаем её ему в качестве работы, командой ai2_setjobstate(patrol_striker_3). Сделать это надо пораньше, например ещё до того, как чела телепортировать из патрулируемой им зоны, но можно и попозже, уже в холле, сразу перед битвой - главное, чтобы до ступора успеть. Что мы имеем в результате? чела, который ничего патрулировать не собирается, и будет только рад бежать по первому зову к флагу 29.

Smith, я понятно объяснил?

P.S. Похожую проблему я решил 4 года назад, вот здесь:
http://konokoffin.bungie.org/forums/index.php?threadid=5&page=2#post_1124
http://konokoffin.bungie.org/forums/index.php?threadid=5&page=2#post_1392


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

Оффлайн

 

#3 19-07-2009 09:00:26

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

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

Да! Исчерпывающий ответ:) Спасибо много узнал. Но не прочитав статью, днём раньше... я решил проблему, довольно тупым способом - просто прописал ему команду бежать к флагу, раз 20 наверное. При чём если напишешь 10 раз он тока половины пути пройдёт. Вот так!:) Короче я прописал флагов наверное 5, и в разное время в зависимости от условий заставляю бота бегать. Надо будет по умному попробовать.

Кстати, а анимации (бега, ходьбы , полуприседа, вскрикивание при виде врага) - на уровне BINA или чего там делаются??? Или скриптом можно заставить бота выполнять.
Просто эти анимации - человечность придают боту, а то встанет как статуя не оч. смотрится=)

Туговато у мя пока получается разобратся с BiNA, Char, пока вообще не врубаюсь, и ангилийский пока не тот, чтобы на ходу всё читать. :( А в каких файлах Они, хранятся персонажи (боты). Например в level3_Final.dat ???

Оффлайн

 

#4 19-07-2009 11:10:18

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

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

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

Оффлайн

 

#5 19-07-2009 11:14:36

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

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

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

Потом какой камандойможно узнать лакацию где ты находишся?

where в консоле

Добавлено спустя 47 секунд:

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

И последнее какой камандой можно зделать чтоб штатские не боялись пративников, а били их,и какой командойможно зделать чтоб штатские играли и за тебя и против тебя какими командами это можно зделать!

Нууу командой на постановку команды персонажу

Добавлено спустя 3 минуты 32 секунды:
а мой вопрос:какими командами гейсер сделал так,чтоб при определенном убийстве противников(как в ОТА)срабатывала следующая функция,скажем(как в ОТА) набрал я 20 фрагов,и win,и т.д.Думаю многим интересно,лень самому искать в скриптах,не зря же тему создали


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

Оффлайн

 

#6 19-07-2009 11:22:50

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

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

Я не помню но что-то вроде этого-

Код:

func who_win(void)
{
if(fragse eq 20);fork fwin
if(fragsf eq 20);fork ewin
}

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

Оффлайн

 

#7 19-07-2009 11:34:40

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

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

И ещо мой вопрос.В скрипте есть функции-

Код:

func void simple_powerup(string x)
{
chr_teleport(x,14)
chr_set_health(x,80)
chr_givepowerup(x,shield,40)
chr_givepowerup(x,ammo,1)
}
и
func void spawn_outside_1
{
ai2_spawn tech_thug_1
ai2_spawn cruel_commguy_1
ai2_spawn brain_commguy_2
simple_powerup tech_thug_1
simple_powerup cruel_commguy_1
simple_powerup brain_commguy_2
}

Вызов spawn_outside_1 есть,проверял.
Однако никаких поверупов НЕТ!Спавны есть,поверупов нет...

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


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

Оффлайн

 

#8 19-07-2009 11:44:35

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

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

с раздачей предметов и оружии часто замечаю такую фигню,у меня кстати у персов некоторые пушки идут(допустим плазма)а если ЕМУ же ставлю ртутник то оружие не появляется...


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

Оффлайн

 

#9 19-07-2009 12:17:16

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

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

doktordulit, во-первых, в чём смысл таких функций? spawn_outside_1 имеет параметр, но никак его не использует. не логичнее ли будет, например, вынести спавн к поверапу и вызывать его по имени спавнуемого? или, если этот поверуп не одноразовый, spawn_outside должен просто перенаправлять своё "x" поверапу, а вызываться несколько раз.
во-вторых, я бы ставил точки с запятой после скобочных вызовов (хотя с наличием переносов это несущественно), и как раз вызовы simple_powerup оформил со скобками. если там будет перенаправление по аргументу, то тем более. мелочи...
что касается самих поверапов - есть разница, нету только щита и обоймы, или нету и ровно 80 хелсов, или нету и телепорта куда надо. на всякий случай можно проставить между строк dprint/dmsg и проверить, не стопорится ли выполнение на каком-то месте. если выполнение проходит, но функция не работает - перепроверяй консолью, в чём проблемы с данными чарами в данной ситуации.
не видя остального скрипта и контекста вызова этой функции (ну, может, эти чары умирали где-то, или с force спавнились, или какой-нибудь ещё катаклизм пережили), больше ничего сказать не могу. -_- сами по себе функции в таком виде прекрасно работают, и чары и щиты есть на месте.

Оффлайн

 

#10 19-07-2009 15:39:47

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

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

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


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

Оффлайн

 

#11 19-07-2009 15:50:44

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

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

НУ вроде я первый! :)

Оффлайн

 

#12 20-07-2009 01:38:18

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

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

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

Вообще-то исторически первым должен был быть vitya, потому что один из своих вопросов он мне задал в личку:

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

я челу даю команду чтоб он бегал за мной, а он не бегает, чё дела?

Но поскольку этот вопрос задан крайне бестолково, vitya пропускает ход, и я перехожу к новому вопросу Smith:

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

Есть команда chr_animate для "анимации на заказ", например chr_animate(chelovek, KONCOMsuper_kick) заставляет чела с именем chelovek сделать Колесо Дьявола.
"Бег" и "ходьба" обычно задаются челам не как анимации, а как способ передвижения, через команду ai2_setmovementmode. Ты ведь вроде сам её использовал и должен знать, с чем её едят: сначала ai2_setmovementmode(chelovek, run) или ai2_setmovementmode(chelovek, walk), а потом, например, ai2_movetoflag(chelovek, 42). Или ты чего-то другого хочешь? тогда объясни так, чтоб я понял =)
Что такое полуприсед, я не понял совсем. А вскрикивание при виде врага - это поведение происходит автоматически, и зачем тебе делать так, чтобы он шарахался "просто так"?

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


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

Оффлайн

 

#13 20-07-2009 06:46:12

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

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

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

doktordulit, предупреждение за ложную информацию про индексы

Нормально.Я думал что пишу все правильно а мне предупреждение что СПЕЦИАЛЬНО писал неправильно"
P.C.А что собсно неправильно?

EDIT (geyser): Я и не говорил, что ты "СПЕЦИАЛЬНО" дезинформировал Manticore, но имело смысл чуть-чуть поискать, подумать, проверить, или по прайней мере не выдавать ответ так авторитетно, как будто ты в нём на 100% уверен,
и после твоих слов вопрос можно считать закрытым. См. ниже.

Отредактировал(а) geyser (20-07-2009 16:41:44)


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

Оффлайн

 

#14 20-07-2009 11:40:09

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

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

Есть команда chr_animate для "анимации на заказ", например chr_animate(chelovek, KONCOMsuper_kick) заставляет чела с именем chelovek сделать Колесо Дьявола.

Попробовал очень забавно. А есть список анимаций? Ударов коноки, синдикатов, TCTF...?


"Что такое полуприсед, я не совсем понял. А вскрикивание при виде врага - это поведение происходит автоматически, и зачем тебе делать так, чтобы он шарахался "просто так"? "

Я неправильно выразился... Как заставить бота сесть или идти полуприсев, или выкинуть фразу типа (Может стоит попытаться), а вскрикивание например для роликов нужно, так как в этом режиме боты пассивны и автомитически они не чё не сделают.

Отредактировал(а) Smith (21-07-2009 17:24:03)

Оффлайн

 

#15 20-07-2009 12:39:01

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

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

Значит так, хотя это было и вне очереди, разбираюсь с вопросом Manticore об индексах и ответом doktordulit.

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

2) Существует список абсолютно всех функций и команд, существующих в Oni? Спасибо!

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

2)- http://ssg.oni2.net/commands.htm

Есть ещё соответствующие разделы на вики, от перечня переменных http://wiki.oni2.net/BSL:Variables до детального объяснения функций (например, http://wiki.oni2.net/BSL:Frustum_and_fog ), но если нужен более-менее полный справочник на одной странице - тогда да, пожалуй, на вики ещё нет аналога страницы с OniStuff. Можете поспособствовать, ведь вики-справочники - это очень важное и нужное дело.
Заодно скажу, что в данный момент буржуи добавляют в BSL много новых команд, так что некоторые ограничения, к которым мы привыкли, в скором времени могут исчезнуть: http://wiki.oni2.net/Daodan_DLL/Beta

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

1) "Каждый персонаж в игре имеет свой индекс (номер)" - где список этих номеров? Здесь его нет http://ssg.oni2.net/subfold/charas/charas.htm !

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

1)- Он определяется по ходу игры.К примеру,на уровне есть:чел1,чел2,чел3,коноко.
Коноко спавнится ВСЕГДА первой,у неё индекс 0.
спавним чела1,у него индекс 1.
спавним чела2,у него индекс 2.
спавним чела3,у него индекс 3.

Дальше!Убиваем чела1,и его индекс становится свободным,но на мгновение,ибо его занимает чел2!
И щас расклад такой-коноко 0,чел2 1,чел3 2.Убиваем чела3,его индекс освобождается,и его никто не занимает ибо больше никого с большим индексом нет!И так далее...понял?

doktordulit прав в том, что индексы раздаются в порядке появления персонажей в уровне, а порядок этот меняется в зависимости от сохранки и нелинейного прохождения. Именно поэтому, Manticore, этих индексов не может быть ни в каких постоянных таблицах. В остальном doktordulit заблуждается: индексы персонажей ПОСТОЯННЫ. В твоём примере, doktordulit, после того как умер человек с индексом 1 (и окончательно превратился в труп - это важно! ), память его освобождается, но ни в коем случае не занимается ни одним из живых челов. Поэтому в памяти образуется пустая ячейка между Конокой и вторым челом, и если в уровень добавить ЧЕТВЁРТОГО чела, то у НЕГО будет индекс 1, а у второго с третьим индексы НЕ изменятся.

То есть важно понимать три момента: во-первых, индекс чела забит - ПОСТОЯНЕН - с того самого момента, как чела добавили в уровень. Это номер ячейки в памяти, в которую он угодил, и никуда он из неё не денется, разве что умрёт и исчезнет из памяти вообще. То есть если вы заспоунили кучу челов, и один из них оказался седьмым, то он и ОСТАНЕТСЯ седьмым, пока не помрёт. А то, что сказал doktordulit - неправда.
Второе - свежедобавленный чел кладётся в ПЕРВУЮ СВОБОДНУЮ ячейку памяти. Если было занято семь ячеек (плюс Конокина - нулевая), и из них ни одна не опустела, то новый чел будет челом номер 8. Если же к тому времени, как его добавляют, опустела ячейка номер 3, то этот новый чел станет номером 3, а не 8. Такая вот перетасовка.
Третье - при каких обстоятельствах освобождаются индексы (ячейки)? Во-первых, индекс освобождается сразу, если чела грубо удалить через chr_delete. Во-вторых, индекс освобождается если чел умер - но НЕ СРАЗУ, а после того, как он благополучно стал ТРУПОМ - а это происходит, как правило, после того, как мёртвый чел "надолго" пропадает из поля зрения камеры (в случае камеры игрока - отвернуться мало, иногда приходится удалиться и/или попрыгать).

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

Вот. Для полноты картины отвечаю ещё и на дополнительный вопрос Manticore.

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

Код:

func void level_start(string ai_name) {
    dprint func_void_start
    if (my_save_point eq 1) {
        dprint restore_game_1
        set_objective_1
        ai2_spawn Barabus
        chr_location Barabus 10 200 0

"chr_location Barabus 10 200 0" - вместо индекса я написал имя, но так не работает! Почему? Можно имя вписывать, а не индекс?

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

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

А если мне надо спавнить 20-ого страйкера и переместить его в точку x, мне что, отсчитывать какой у него номер?

Да, индекс надо угадывать, причём (см. выше) он будет зависеть от всей предыстории споунов и смертей (точнее, окончательных превращений в трупы), и за всем этим надо следить. Это довольно сложно. Гораздо проще - принять меры, чтобы индекс челов был известен заранее: например, можно предотвратить превращение чела в труп командой chr_death_lock(chelovek, 1), а потом в некий удобный момент сделать ему chr_full_health(chelovek) и сразу chr_delete(chelovek). Таким образом ты сам выбираешь, когда именно челы исчезают из памяти, и какие именно ячейки они освобождают для новых споунов.

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

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

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

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


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

Оффлайн

 

#16 20-07-2009 18:01:08

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

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

Smith, извини, я потом до-отвечу на твои вопросы, а пока могу сказать только следующее. Анимации хранятся под кодом "Трям! здравствуйте" ( http://wiki.oni2.net/TRAM ), поэтому их довольно легко опознать после распаковки через ОниСплит, или например взять Эдишнский level0_Animations.dat, открыть его для просмотра как бинарный текст, и искать в нём строку "TRAM" - таким образом узнаешь имена всех-всех анимаций, даже тех, которые нельзя использовать с вызовом (оверлейные и прицельные вообще). Кроме того, база данных всех боевых приёмов есть тут: http://wiki.oni2.net/Gameplay/Combat_moves  Имя колонки - это приставка, а полное имя анимации состоит из приставки и того хвоста, который фигурирует в клетках таблицы.
Информацию про полуприсед я добавлю в предыдущий пост, а с остальным тебе придётся подождать. Советую тебе чуть-чуть подумать и внести некоторую ясность в своё сообщение (можешь прямо его и редактировать): что такое "выкинуть фразу типа (Может стоит попытаться)", например? "Выкинуть" - это значит что её надо отменить и выкинуть из игры, или наоборот, изловчиться вызвать вне очереди? Кстати, "может, мне стоит попытаться" - это до ужаса кривой перевод фразы "maybe I should start trying", которая дословно означает "наверно, мне пора бы рвение прикласть". Смысл в том, что он якобы дерётся в полсилы, и дразнится, что вот-вот развяжет себе руки и размажет противника по стенке. Ну а русский перевод, ессессна, мимо, аж стыдно как.

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

мой вопрос:какими командами гейсер сделал так,чтоб при определенном убийстве противников(как в ОТА)срабатывала следующая функция,скажем(как в ОТА) набрал я 20 фрагов,и win,и т.д.Думаю многим интересно,лень самому искать в скриптах,не зря же тему создали

"Думаю многим интересно,лень самому искать в скриптах,не зря же тему создали"
Ну уж нет, тему я создавал для кого угодно, только не для ленивых. А совесть?
Я буду "сенсеем" только в меру того, что вы сами будете - хорошими учениками.

В OTA я функцию win не вызываю никогда: переход на следующую арену из цикла происходит непрерывно, без выхода из игры вообще.
Там по сути есть одна сложная функция Death, которая вызывается из циклов RespawnPlayer, каждый раз, когда какой-либо чел умирает:

Код:

func void Death(string ai_team, string ai_name, string ai_nick) {
    dmsg(" "); dmsg(ai_nick); RandDead(); chr_pain(ai_name, death);
    if(ai_team ne Konoko and ai_team ne Syndicate) {
        dmsg(" "); dmsg("WHO CARES?");
    } 
    if(ai_team eq Syndicate) {
        cinematic_stop(BOSS1talking, 16, 30)
        friend_sc= friend_sc + 1
        friend_lt= friend_lt - 1; if(friend_lt eq 0) dmsg " "
        friend_xl= friend_xl + 1; enemy_xl= 0
        friend_ld= enemy_lt - friend_lt
        dmsg "[b.FISH]"
        if(friend_lt < 6 and enemy_lt > friend_lt)
            LeftMess(Konoko, friend_lt)
        else if(friend_ld eq 0 or friend_ld eq 1)
            LeadMess(Konoko, friend_ld)
        else    ExcelMess(Konoko, friend_xl)
    }
    if(ai_team eq Konoko) {
        cinematic_stop(KONtransform, 15, 30)
        enemy_sc= enemy_sc + 1
        enemy_lt= enemy_lt - 1; if(enemy_lt eq 0) dmsg " "
        enemy_xl= enemy_xl + 1; friend_xl= 0
        enemy_ld= friend_lt - enemy_lt 
        dmsg "[y.FISH EATERS]"
        if(enemy_lt < 6 and friend_lt > enemy_lt)
            LeftMess(Syndicate, enemy_lt)
        else if(enemy_ld eq 0 or enemy_ld eq 1)
            LeadMess(Syndicate, enemy_ld)
        else    ExcelMess(Syndicate, enemy_xl)
    }
    if(chr_is_player(ai_name)) {
        dmsg " "
        dmsg "[b.FISH] :"
        PrintScore(friend_sc)
        dmsg "[y.FISH EATERS] :"
        PrintScore(enemy_sc)
    }
    ArenaWeaponModerator(enemy_sc + friend_sc);
}

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

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

Я не помню но что-то вроде этого-

Код:

func who_win(void)
{
if(fragse eq 20);fork fwin
if(fragsf eq 20);fork ewin
}

Не обижайся, doktordulit, но ведь это полная лажа. Во-первых, почему ты поставил точку с запятой между if и fork? и во-вторых, какой смысл имеет функция who_win? кто её вызывает и по какому поводу?


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

Оффлайн

 

#17 21-07-2009 17:40:46

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

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

И так, вопросики:
1. Как сделать так, чтобы команда "ai2_movetoflag" при каких-то внешних факторов не отменялась а откладывалась (например бежит гриффин к флагу, увидел синдиката... прикончил его, и дальше побежал к флагу) а то я пропишу "ai2_movetoflag" и любой даже шум сбивает перса. :( ( например от выстрелов шум).

2. Программой OniUnPacker, я из 19 уровня вытащил файлы TRAM, и сохранил в отдельную папку, как глобализировать эти файлы или засунуть их например в 2 уровень???

3. В той же программе OniUnPacker я открыл ресурсы 19 уровня ONCC как я понял в ресурсах собрана инфармация о каждом персонаже. Вот например открыл код файла "TCTF_swat_blackops_1.ONCC". На сайте "http://wiki.oni2.net/ONCC" посмотрел какая строчка за что отвечает.
И мя интересует вот что! возьмём строчку: "0xC50:"

Отдельно в этой строке рассмотрим значение: "C8 00 00 00" - это значение отвечает за здоровье персонажа в конкретном случае оно равняется 200 единиц. (Базовая жизнь коноки). "C8" это 200, например FF получается должно быть наибольшим здоровьем, так если я меняю другие числа (соседние нули) то показатель жизни устанавливается повторно но жизнь не добавляется. Вопрос! за что они отвечают??? Больше 255 единиц мне неудаётся установить, так как жизнь устанавливается по паре чисел.
:( Как поставить например 600 ед. жизни??? На уровне кода ессна!

И кстати в описании персонажей у гриффина указано 200 ед. жизни. А  в коде ONCC написано 100 ед. Почему так?

4. Я хочу изменить характеристики Blackops SWAT, а именно такие:

A) например увеличить скорость выполнения комбы "comb_p_p_p" так, чтобы например фурия немогла эту комбу прервать! (аналогично и с comb_k_k_k)

B)  Ещё чтобы AI чёрного TCTF сооброжал побыстрее, например Blackops_swat начинает делать комбу ногой, а фурия уже увернулась от этой атаки, а балбес Blackops_swat,  продолжает комбу. Нужно чтобы он прерывал в нужный момент атаку.
После каждой атаки он тормозит, 1 - 1,5 сек. стоит. Нужно повысить реакцию на происходящие события в битве !!
Где эти параметры, я ищу но конкретно немогу найти, могбы Гейсер подсказать пожалуйста! :) :) Скорректировать меня так-сказать.
5. Каким образом открыть ресурсы "MELE", просто на страничке увидел описание - "http://wiki.oni2.net/OBD:BINA/OBJC/MELE" где эти ресурсы находятся????

6. В ONCC можно изменять характеристики моделей например: "TCTF_swat_blackops_1", "elite_hard_1", "thug_wh_1", "striker_hard_2" - а где менять характеристики конкретных персонажей????

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

Оффлайн

 

#18 22-07-2009 18:37:30

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

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

0a. По-моему, Smith, до тебя очередь по второму кругу ещё не дошла.
0b. Надо, например, с doktordulit разобраться: что там у него такого в скриптах, что присвоение оружия и боеприпасов не работает.
0c. Ну и чуть-чуть развить те вопросы, которые задал vitya.

1. С простой командой "идти к флагу 42" это сделать нельзя. Можно сделать только с консолями или патрулями. Делаешь, например, самый простой патруль, из одного флага 29, без цикла вообще. Называешь этот патруль "flag_29".

Код:

<?xml version="1.0" encoding="utf-8"?>
<Oni Version="0.9.30.0">
   <ObjectCollection>
       <Object Id="8283" Type="PATR">
           <Header>
               <Flags>0</Flags>
               <Position>-408.598755 60.1162872 -1402.20361</Position>
               <Rotation>0 0 0</Rotation>
           </Header>
           <OSD>
               <Name>goto_flag_29</Name>
               <PatrolId>42</PatrolId>
               <ReturnToNearest>0</ReturnToNearest>
               <Points>
                   <MoveToFlag FlagId="29" />
                   <ScriptId ScriptId="42" />
               </Points>
           </OSD>
       </Object>
   </ObjectCollection>
</Oni>

Сохраняешь это в файл GdePopalo\BINACJBOPatrol Path.xml , потом делаешь onisplit -create GdePopalo GdePopalo\BINACJBOPatrol Path.xml и onisplit -import:nosep GdePopalo GdePopalo\level2_OBJC.dat
Кладёшь level2_OBJC.dat и level2_OBJC.raw в рабочую папку GameDataFolder(например, в Oni\Edition\GameDataFolder), а в скриптах Oni\Edition\GameDataFolder\IGMD\manplant пишешь следующее:

Код:

func main {
    ai2_spawn nookleft_thug_1
    ai2_dopath nookleft_thug_1 goto_flag_29
    ai2_setjobstate nookleft_thug_1
}
func patrolscript0042 {
    dmsg "What now?"
}

Кажется, что эта хреновина может сработать несколько раз, т.е. если чела отвлечь (или по пути, или после того, как он придёт к флагу 29 и спросит "What now?"), а потом уступить в бою или исчезнуть - то он в итоге снова направится к флагу 29 и снова спросит "What now?". Устойчивости этого поведения я не гарантирую, но на один раз должно хватить. Также замечу, что "movement mode" чела как правило меняется с форсированного бега на by-alert-level, а это значит, что если он вдруг успокоился (победил или потерял противника, например), то патруль он продолжит вразвалочку, а не бегом. Единственный способ это изменить - прописать ему в CHAR, чтобы он всегда суетился (либо он должен иметь привычку бегать, даже если не встревожен; либо его минимальный уровень встревоженности должен быть повышен).

1b. Бег к консоли ещё сложнее, т.к. для этого надо править CMBT. Я с этим совсем не экспериментировал, и о надёжности сказать ничего не могу. По идее эти настройки совсем не влияют на патрули и на бег к флагам, так что поле применения довольно ограничено. Однако рано или поздно надо продокументировать эту возможность и воспользоваться ей, например, в OTA.

2a. ПРИ ЧЁМ ТУТ СКРИПТЫ?
2b. OUP выдирает данные в довольно-таки немодулярном формате, поэтому вставить эти TRAM ты практически никуда не сможешь. Используй OniSplit. Сначала -export, потом -move, потом -import.

3a. ПРИ ЧЁМ ТУТ СКРИПТЫ?
3b. По адресу 0x12C хранится максимальная скорость вращения ИИ вокруг оси (его скорость мышки, так сказать). Наугад такие вещи менять нельзя, тем более, что это не целое число а "ай-яй-яй": http://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%BE%D0%B4%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D0%BE%D0%B9_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D0%B8
В хексе менять значение таких вещей - противопоказано. Если уж на то пошло, OUP позволяет менять значение чисел через диалог "Value viewer", а вообще-то давно пора пересесть на OniSplit: -extract:xml для экспорта в текстовый формат XML, -create для импорта обратно в .oni
Я не понял, что такое "сделать TCTF очень быстрым (по анимации и AI) или тупым и очень медленным". Зато я понял, что к скриптам это вряд ли имеет какое-то отношение. Так что можешь не уточнять.


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

Оффлайн

 

#19 22-07-2009 19:07:39

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

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

Smith, имей совесть и пропусти пару ходов, а то такое впечатление, что до чужих вопросов дело не дойдёт никогда...
И зачем ты так радикально поменял суть вопроса 3? Придётся мне теперь отвечать заодно и на новый вопрос номер 3.

НИ ОДИН ИЗ ЭТИХ ВОПРОСОВ НЕ ИМЕЕТ ОТНОШЕНИЯ К СКРИПТАМ!!! Smith, очередное и почти последнее предупреждение =)

3a. Что такое "показатель жизни устанавливается повторно"? Не люблю, когда человек говорит что-то значимое, но так говорит, что понятно только ему одному.
Если бы ты послушался меня и пересел на OniSplit и XML, то у тебя бы этих проблем вообще не было: в XML вообще нет хекса, и любые числа можно править в явном виде.
Кроме того, в OUP есть диалог Value Viewer, где опять-таки можно явно вбивать новые значения чисел. Заодно поймёшь, как целые числа выглядят в хексе (Little Endian).
600 = 512 + 88 = 256 x 2 + 64 + 16 + 8
Нижний байт имеет значение 88=0x58, а во втором разряде по 256 (т.е. во втором байте снизу) имеем- 0x02. В Little Endian нижний байт идёт первым, итого: 58 02 00 00

3b & 6. В ресурсе BINACJBOCharacter указаны дополнительные хелсы конкретных персонажей, они добавляются к тем, что прописаны в ONCC. Кроме того, хелсы зависят от уровня сложности и настроек в ONGS.

4. Это не ко мне и вообще не сюда. Поставь Эдишн, там уже много таких изменений (пока что только в TRAM и ONCC, но есть еще специальный MELE-мод "Brutal Striker"). Изучи всё это (желательно в XML, а не в хексе), а потом поговорим.

5. "BINACJBOMelee Profile" в уровне 0, советую изучать в XML, т.е. через OniSplit, а не через OUP.


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

Оффлайн

 

#20 22-07-2009 19:09:56

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

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

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

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

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

Оффлайн

 

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

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

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

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

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

Оффлайн

 

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

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 25-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 21:25:45

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

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

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

Оффлайн

 

#24 24-07-2009 21:30:07

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 25-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 09:10:50

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

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

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

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

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

Оффлайн

 

#26 26-07-2009 10:24:07

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

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

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


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

Оффлайн

 

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

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

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

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

Оффлайн

 

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

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

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

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

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


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

Оффлайн

 

#29 28-07-2009 00:05:04

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

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

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


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

Оффлайн

 

#30 28-07-2009 00:07:33

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

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

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

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

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


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

Оффлайн

 

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

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

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

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


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

Оффлайн

 

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

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

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

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

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

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


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

Оффлайн

 

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

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

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

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

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

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

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

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

overflow.

Оффлайн

 

#34 30-07-2009 10: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 14:20:21

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

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

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

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

Оффлайн

 

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

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

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 16: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 16:17:31)


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

Оффлайн

 

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

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

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 21:23:29

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

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

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


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

Оффлайн

 

#40 08-08-2009 00:08:27

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

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

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

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

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

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

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

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


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

Оффлайн

 

#41 08-08-2009 22:05:46

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

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

Всех и многократно. А за скриптами у меня времени нету сидеть. Работа еще есть кроме компа...


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

Оффлайн

 

#42 09-08-2009 12:05:35

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

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

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

Всех и многократно. А за скриптами у меня времени нету сидеть. Работа еще есть кроме компа...

А у других что, есть время??

Добавлено спустя 4 минуты 3 секунды:
Я знаю команду "ai2_makeignoreplayer" - игнорирует игрока (коноко)! Какая команда есть, чтобы бот игнорировал другого бота??
И как насчёт моего предыдущего вопроса??

Оффлайн

 

#43 09-08-2009 14:04:38

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

2Smith
2) поменяй другому боту "Team"

Код:

chr_changeteam [ai_name:string | script_id:int] team_name:string

имена "Team"ов: Konoko, TCTF, Syndicate, Neutral, SecurityGuard, RogueKonoko, Switzlerland, SyndicateAccessory

1) (а)

Код:

ai2_attack escho_odna_svoloch 0

сие должно работать если "Team" бота escho_odna_svoloch враждебна твоей. (если не менял свою "Team", то Syndicate - вполне универсальное решение.)

(б)

ты с напарниками, и ты хочешь чтобы бот атаковал только тебя и напарники его не трогали?

где-нибудь в начале файла:

Код:

func restoration
{
    chr_wait_health escho_odna_svoloch 0
    chr_changeteam naparnik1 Konoko
    chr_changeteam naparnik2 Konoko
}

и, собственно в месте, где должна происходить драка

Код:

......
    ai2_spawn escho_odna_svoloch
    chr_changeteam naparnik1 Neutral
    chr_changeteam naparnik2 Neutral
    ai2_attack escho_odna_svoloch 0
    fork restoration
......

должно работать, если я тебя правильно понял.

Отредактировал(а) demos_kratos (09-08-2009 14:29:16)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#44 09-08-2009 15:44:44

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

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

Это не совсем то что нужно, но всё равно спс! Синдикат в последн. битве должен атаковать только меня! Этого он не делает, как не прописываю.
Менять теам не вариант, получтся что и ТСТF меня колбасить будет! :(

Оффлайн

 

#45 09-08-2009 18:09:49

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

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

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

сие должно работать если "Team" бота escho_odna_svoloch враждебна твоей.

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

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

Менять теам не вариант, получтся что и ТСТF меня колбасить будет! :(

а если ещё раз вспомнить про ai2_makeignoreplayer?

Оффлайн

 

#46 09-08-2009 19:01:19

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

2Smith
а если убрать их нахек, TCTF'фовцев?


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#47 09-08-2009 22:11:16

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

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

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

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

сие должно работать если "Team" бота escho_odna_svoloch враждебна твоей.

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

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

Менять теам не вариант, получтся что и ТСТF меня колбасить будет! :(

а если ещё раз вспомнить про ai2_makeignoreplayer?

Тогда фурий перестанут бить TCTF !! Так как заставить конкретно бота атаковать только коноку, не кого не удаляя и неменяя теам, а то каша получится! например при режиме ai2_passive ... команды тоже не работают хотя всех игнор. и т. д.

Я изменил ситуацию в свою пользу, изменив функцию:

func void wait_to_help(void)
{
    chr_wait_health Muro 500

..............................................
Синдикат меня атакует, 2 Swat мочат фурии!) Правда гриффин всёравно не слушается) Желает набить морду Муро!
Но всё же хотелось сделать по нормальному, прописав для одного бота нужные команды!

Оффлайн

 

#48 10-08-2009 01:29:09

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

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

Smith, посмотри, какая каша получилась из ленты только из-за того что ты неточно поставил задачу. Верх твоих мечтаний - чтобы TCTF-овцы метелили Синдикатовцев, а синдикатовцы всё это терпели? То есть чтобы враги сосредотачивались на тебе, в то время, как их лупят твои напарники? Так ведь?
В чём смысл? Я вижу некое искусственное разделение обязанностей, но не понимаю, что это меняет. Принципиально ли тебе, чтобы эта диковатая логика работала, как часы? Что она тебе вообще даёт? Почему врагам надо отсекать самозащиту? Допустим, это тебе чуть-чуть усложняет задачу, но не так, как если бы ты убрал TCTF-овцев "нахек"... То есть ты имеешь задачу промежуточной сложности и повышенной тупости (ведь враги, игнорируя твоих напарников, подвергаются броскам, подсечкам, добиваниям, и прочим гнусностям).

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

Есть две фазы: сначала здоровье Муро вьше 200; потом оно становится меньше или равно 200 (wait_to_help).
Что имеем в первой фазе? В первой фазе включен многозначительный движковый флажок ai2_boss_battle.
А это значит три вещи.
Во-первых, боссы (челы с соответствующим флажком в CHAR,  в данном случае - Муро) сосредоточены на игроке.
Во-вторых остальные враги, т.е. не-боссы (без флажка в CHAR), наоборот, игрока игнорируют - если имеют выбор.
Т.е. если ai2_boss_battle так и останется true, то Муро будет лупить только Коноку, а TCTFовцам - ноль внимания.
А Муркина свита переключится на Коноку только тогда, когда не сможет выбрать себе противников из сватовцев.
Таким образом, пока флажок включен, не имеет смысла давать им приказ атаковать Коноку: приказ проигнорируют.
В третьих, нормальные персонажи игнорируют боссов (т.е. в данном случае Гриффин и сватовцы игнорируют Муро).
Поэтому в этой, первой фазе, бессмысленно давать Гриффину приказ атаковать Муро - приказ будет проигнорирован.

С другой стороны, что мы имеем во второй фазе? Флажок убирается, и все персонажи выбирают противников свободно.
Точнее, не совсем. Муро во второй фазе свободен драться с Гриффином или сватовцами, на что бывает забавно смотреть.
Но напарники Муро - если они живы - сразу после обретения полной свободы выбора получают приказ атаковать Коноку.

Код:

func void wait_to_help(void)
{
    chr_wait_health Muro 200
    
    dprint MURO_IN_DANGER
    ai2_boss_battle = 0;
    muro_in_danger = 1;
    ai2_attack GrifElite01 char_0
    ai2_attack GrifElite02 char_0
    ai2_attack GrifElite03 char_0
    ai2_attack GrifElite04 char_0
    ai2_attack GrifElite05 char_0
    ai2_attack GrifElite06 char_0
}

Таким образом напрашивается два решения твоей проблемы, Smith. Ведь вторая фаза - это то, что тебе надо, разве не так?
Первое решение. Дать приказ всем врагам атаковать игрока. Приказ можно для верности повторять через несколько секунд.
Главное, чтобы на момент этих приказов к атаке был выключен флажок ai2_boss_battle, иначе он аннулирует приказы.

Второе решение. Использовать, наоборот, первую фазу, т.е., включить ai2_boss_battle. Но - сделать всех врагов боссами.

Правда гриффин всёравно не слушается) Желает набить морду Муро!

А вот насчёт Гриффина - первый раз слышу... Чего тебе от него надобно? Чтобы он игнорировал Муро? а почему это важно?
Твоя интуиция насчёт func wait_to_help, в общем, правильная. Но я надеюсь, что я не зря вдался в подробности про боссов.
Ты хочешь, чтобы все враги лупили только тебя и игнориривали твоих напарников. Это-то сделать довольно просто.
Но нет простого способа сделать так, чтобы при этом твои напарники игнорировали Муро, а остальных врагов били.
Почему? Потому, что игнорирование боссов - это часть режима "boss battle", который либо включен, либо выключен.
И включение режима подразумевает, что босс дерётся с тобой один на один а все остальные челы вас игнорируют.

Вот, я тебе объяснил, как оно работает и почему, а уж если тебе это не нравится и хочется чего-то левого - удачи.


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

Оффлайн

 

#49 10-08-2009 21:21:55

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

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

Но - сделать всех врагов боссами - как это сделать???
1. И напарников мне трогать не нужно! Я телепортировал синдиката на крышу к муро, и хочу чтобы он атаковал только меня, так как у TCTF и без того фурии!

Спасибо, как всегда за подробное, полное обяснение, гейсер! :)

2. И ещё, как всётаки повысить дальнозоркость ботам а то, в последней битве TCTF и Синдикаты за 30 шагов не видят друг друга, напрягает! В каких ресурсах копаться, чтобы отрыть код отвечающий за это характеристику (дальнозоркость)??! Ну или каким-нибуть другим путём пойти, ну незнаю, например: если бот (TCTF) неактивен, то заставить его атаковать всех синдикатов, которые есть на данной локации! Или что-то в этом роде)

3. А вот ещё: что нужно удалить чтобы игра после смерти муро не заканчивалась???
Пробовал удалить :

func void you_win(int char_index)
{
    outro
    win
}
не помогло...

Отредактировал(а) Smith (10-08-2009 22:01:20)

Оффлайн

 

#50 11-08-2009 04:28:35

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

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

сделать всех врагов боссами - как это сделать?

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

Спасибо, как всегда за подробное, полное обяснение, гейсер!

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

И напарников мне трогать не нужно! Я телепортировал синдиката на крышу к муро, и хочу чтобы он атаковал только меня, так как у TCTF и без того фурии!

Как ты считаешь, этот поток сознания кому-нибудь может быть  понятен, кроме тебя самого? Не знаю кому как, а мне влом сушить моги над тем, что ты мог бы иметь в виду. Изволь сформулировать, на языке предельной ясности, кто у тебя где находится, что делает и зачем.

В каких ресурсах копаться, чтобы отрыть код отвечающий за это характеристику (дальнозоркость)?

ONCC. Как правило челы видят не дальше 47,5 метров, боковым зрением - не дальше 15. Исключение - снайпер (видит до 120 метров). Плюс близорукие цивилы, охранники, и те TCTFовцы, которые не сватовцы: все эти классы видят не дальше 25 метров. В твоём случае вроде бы только сватовцы, так что поле зрение должно быть 47,5 метров, боковое - 15, как обычно.
Если хочешь, чтобы челы после битвы с большой вероятностью находили новых противников, надо позаботиться не только о их зрении, а ещё об их поведении по умолчанию. Надо, чтобы после победы над врагом они не успокаивались и не стояли как дундуки (уставившись, возможно, в ту сторону, где врагов нет и не будет), а оставались в боевой готовности и соответственно крутились вокруг осей, высматривая врагов. Все эти настройки хранятся опять же в ресурсе BINACJBOCharacter. Я в некотором смысле развил эту тему, когда отвечал тебе же, насчёт третьего напарника (переодетого Страйкера) во второй главе.

если бот (TCTF) неактивен, то заставить его атаковать всех синдикатов, которые есть на данной локации

"Атаковать всех" нельзя, но можно периодически напоминать челу о врагах, через команду ai2_makeaware. Детектировать "неактивность" - сложно, но можно - опять же через BINACJBOCharacter. Можно дать челу в качестве "работы" патруль, состоящий всего лишь из вызова скриптовой функции patrolscript0042. Таким образом, как только челу будет нечего делать, ты об этом сразу узнаешь.

что нужно удалить чтобы игра после смерти муро не заканчивалась?

Невнимательно относишься к чужим просьбам, а ведь лента не такая ещё и длинная. Аналогичный вопрос задал vitya, и получил исчерпывающий ответ: Задачник по скриптированию: вопросы и ответы.


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

Оффлайн

 

#51 11-08-2009 16:20:39

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

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

А про "patrolscript0042" можно чуть по-подробнее?! 0042 это что? индекс скрипта? И как прописывать, и как он будет патрулировать, на чём опираясь, на каких флагах??

Так что даёт - "ai2_makeaware GrifOps03 GrifElite04" ?? Ничего не произошло! Вот написал:


func void opsi(void)
{

chr_wait_health GrifElite03 0
sleep 150
ai2_makeaware GrifOps03 GrifElite04
sleep 25
ai2_makeaware GrifOps02 GrifElite04
sleep 12
ai2_makeaware Griffin GrifElite04

}

Так, что конкретно команда даёт??! :)

"ai2_noncombatant" - что эта за команда??

"ai2_takecontrol" - а что это команда означает??

Отредактировал(а) Smith (11-08-2009 18:04:37)

Оффлайн

 

#52 11-08-2009 19:10:05

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

хорошо сдружившись с английским (или на худой конец воспользовавшись гугл.транслейтом) за командами сюда - http://ssg.oni2.net/commands.htm


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#53 11-08-2009 19:24:56

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

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

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

хорошо сдружившись с английским (или на худой конец воспользовавшись гугл.транслейтом) за командами сюда - http://ssg.oni2.net/commands.htm

Транслейт корявый, а по сдвум словам, смысл команды не оч. понятен! Есть команды в которых дословный смысл, и при переводи уже ясно например: follow me и.т.д. я конкретно спрашиваю!)

Оффлайн

 

#54 11-08-2009 19:29:13

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

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

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


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

Оффлайн

 

#55 11-08-2009 21:13:19

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

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

Smith, имей совесть, юзай Поиск. ai2_noncombatant уже неоднократно освещалась на форуме, в том числе в данной ленте:
Задачник по скриптированию: вопросы и ответы.
Вопросы по написанию игровых скриптов

ai2_takecontrol кое-как освещён в Михином пособии, давно пора привыкнуть туда заглядывать:
Oni Scripts: FAQ-пособие

ai2_makeaware chelovek1 chelovek2 сообщает челу chelovek1 о том, что есть такой chelovek2, и где он находится.
Не факт, что после этого чел 1 побежит бить морду челу 2. Если враг далеко либо за углом, то враг может быть забыт.
Но вообще-то твоя функция opsi должна работать (если ты не забыл её вызвать, конечно - этот факт надо проверить).
Если "ничего не произошло", то у меня нет достаточной информации о проблеме. Важен контекст и ожидаемый эффект.

С GrifElite03 кто дерётся? по идее GrifOps02. На момент смерти GrifElite03 Гриффин и GrifOps03 могут быть слишком заняты с GrifElite02, чтобы переключаться на GrifElite04. И даже GrifOps02, если GrifElite02 ещё жива, может побежать к ней, а не к GrifElite04 - просто потому, что она ближе.
В любом случае, после того, как GrifOps02 победил GrifElite03, он какое-то минимальное время будет над ней стоять (типа чтобы удостовериться, что она не встанет). Возможно, это время можно как-нибудь отрегулировать, но я этим вопросом пока не интересовался.

про "patrolscript0042" можно чуть по-подробнее?! 0042 это что? индекс скрипта? И как прописывать, и как он будет патрулировать, на чём опираясь, на каких флагах?

Патруль может быть и без флагов, например он может состоять из одного-единственного "уэйпойнта" - вызова скриптовой функции patrolscript0343. Для этого уэйпойнт должен быть типа 21, с параметром 343. Далее, если индекс этого патруля есть, например, 49, то и в CHAR челу тоже надо поставить номер патруля 49, и заодно сделать так, чтобы типом "работы" чела (после победы над очередным врагом, например) был "patrol", т.е. 3.
http://wiki.oni2.net/PATR
http://wiki.oni2.net/OBD_talk:BINA/OBJC/PATR
http://wiki.oni2.net/CHAR
http://wiki.oni2.net/OBD_talk:BINA/OBJC/CHAR


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

Оффлайн

 

#56 12-08-2009 15:14:00

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

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

1. Неподскажете как называется анимация отвечающая за кувырки (вперёд, назад, влево, вправо...)
Прыжки (обычные, и с ударом) а то найти немогу, например у GrifOps????

2. И как правильно набирать команду "ai2_panic" - а то я набрал так, что из игры вылетел!=)

3. И как сделать так чтобы бот к флагам бегал последовательно!, тоесть когда добежит до первого флага, останавливался и бежал к другому флагу, а то когда пропишешь флаги он одновременно всё выполняет, ставить паузы sleep тоже не вариант, как поступить??!

4. И как сделать так, чтобы один бот бегал за другим типо follow me только применимо для бота?

5. Как заставить бота повернуться на определённый угол?? Скажем смотрит он вперёд, и заставить его развернуться на 90 градусов?! (Что б бот в ту или иную сторону бот посмотрел)

Отредактировал(а) Smith (18-08-2009 13:24:10)

Оффлайн

 

#57 18-08-2009 14:06:33

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

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

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

1. Неподскажете как называется анимация отвечающая за кувырки (вперёд, назад, влево, вправо...)
Прыжки (обычные, и с ударом) а то найти немогу, например у GrifOps????

Тебе нужно расширение анимации или ее точное название?TRAC спасет мир

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

Как заставить бота повернуться на определённый угол?? Скажем смотрит он вперёд, и заставить его развернуться на 90 градусов?! (Что б бот в ту или иную сторону бот посмотрел)

chr_facetoflag [кто] [на какой флаг смотрит] команда поворачивающая бота или игрока к определенному флагу,или заспавни тело и скомандуй ai2_lookatchar [кто смотрит] [на кого],главное не забудь тело телепортировать и удалить

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

4. И как сделать так, чтобы один бот бегал за другим типо follow me только применимо для бота?

follow me типа не для бота???Если хочешь чтобы 0 шел за кем то,то пусти по ближлежащим флагам обоих персов

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

3. И как сделать так чтобы бот к флагам бегал последовательно!, тоесть когда добежит до первого флага, останавливался и бежал к другому флагу, а то когда пропишешь флаги он одновременно всё выполняет, ставить паузы sleep тоже не вариант, как поступить??!

Чем собственно слип не устраивает?Как мне известно только он и спасает,можно вилочки пристроить

Отредактировал(а) AWP_Mega (18-08-2009 14:13:07)


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

Оффлайн

 

#58 18-08-2009 17:01:42

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

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

Спасибо! Но вот я ещё столкнулся с такой проблемой. Я написал скрипт, и вот какой должен быть сценарий:

После смерти Муро (левл 19) в комнате появляется GrifOps01 (незадействованный персонах в игре), соответственно он выбегает из комнаты и бежит к флагу! Впринципе всё! (Ну ещё пару нюансов).
Но я его телепортирую не на флаг, а по осям x,z,y (так как в комнате флага нет). Поятому приходится пользоватся командой chr_location index (X Z Y). Вот в "телепорте" и проблема, так как телепортируешь не конкретного персонажа а его номер!! А номер то меняется в зависимости от остальных персонажей, если до появления GrifOps01 было 3 чела, то индекс 4 будет у GrifOps01, если 1 чел, то соответственно 2-ой индекс и. т. д.  В конкретном случае, можно рассмотреть три случая:

Первый: Griffin + GrifOps02 + GrifOps03 - живы!! (То есть все)
Второй: Griffin + GrifOps02 - живы!! (мертв только один TCTF)
Третий: Griffin - жив!! (два мертвых TCTF)

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

Как это сделать????!

Оффлайн

 

#59 18-08-2009 17:43:56

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

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

Муро ведь полюбому сдохнет,да?
Так сделай его индекс 1,чтоб когда он умер,ты спавниш Опса,и его индекс будет 1.Все


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

Оффлайн

 

#60 18-08-2009 18:00:24

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

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

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

Муро ведь полюбому сдохнет,да?
Так сделай его индекс 1,чтоб когда он умер,ты спавниш Опса,и его индекс будет 1.Все

Неполучится, его место занимают живые челы - гриффин, опсы другие...

И кстати почему у мя не работает вот этот скрипт??
на первый телепорт смотрит а на второй нет(((

ai2_spawn C_Sb75
chr_location 2 -297.720428 1485.000000 -2700.470215
ai2_lookatchar GrifOps03 C_Sb75
chr_delete C_Sb75 

sleep 80

ai2_spawn C_Sb75
chr_location 2 -302.004272 1485.000000 -2647.752441
ai2_lookatchar GrifOps03 C_Sb75
chr_delete C_Sb75

Отредактировал(а) Smith (18-08-2009 18:02:19)

Оффлайн

 

#61 18-08-2009 18:24:08

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

попробуй форсануть C_Sb75 при втором вызове.

Отредактировал(а) demos_kratos (18-08-2009 18:25:18)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#62 18-08-2009 18:30:37

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

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

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

попробуй форсануть C_Sb75 при втором вызове.

Вылетел из игры!! ((( Оппа Они навернулась=)

Оффлайн

 

#63 18-08-2009 18:41:07

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

попробуй перед каждой строчкой второго этапа поставить конструкцию вида

Код:

dprint WTF1
sleep 300

для следующей строки WTF2 и т. д. соответсвенно. при выполнении скрипта смотри на консольный вывод. после какого либо из WTF-ов вылетит блам. после какого именно запостишь сюда.


как альтернативный вариант - можешь расковырять OniSplit'ом BINACJBOCharacters.oni и допихать туда дополнительных "Dummy" ботов.

Отредактировал(а) demos_kratos (18-08-2009 18:48:07)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#64 18-08-2009 19:06:41

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

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

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

попробуй перед каждой строчкой второго этапа поставить конструкцию вида

Код:

dprint WTF1
sleep 300

для следующей строки WTF2 и т. д. соответсвенно. при выполнении скрипта смотри на консольный вывод. после какого либо из WTF-ов вылетит блам. после какого именно запостишь сюда.


как альтернативный вариант - можешь расковырять OniSplit'ом BINACJBOCharacters.oni и допихать туда дополнительных "Dummy" ботов.

Странно я всё логично и правильно прописал, почему не срабатывает?? А главное только первый телепорт срабатывает почемуто, индекс пробовал менять, персонажей, бестолку...
Но в BINACJBOCharacters.oni не хочу слишком простая процедура, что б вдаваться в ресурсы они)...

Отредактировал(а) Smith (18-08-2009 19:07:29)

Оффлайн

 

#65 18-08-2009 19:19:20

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

так после какой команды вылетает? ты пробовал других ботов вместо C_Sb75 пихать?


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#66 18-08-2009 19:25:15

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

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

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

так после какой команды вылетает? ты пробовал других ботов вместо C_Sb75 пихать?

Короче странно как-то я телепортнул просто 2 ботов, в два разных места, всё норм.
Решил процедуру эту сделать тока с добавлением каманды ai2_lookatchar .
Бот вообще как то разворачивается вокруг своей оси и потом смотрит вниз!!
Непонятно! Попробовал телепортир. на флаги, та же фигня:

ai2_spawn C_Sb75
sleep 80
chr_teleport C_Sb75 0560
ai2_lookatchar GrifOps03 C_Sb75
chr_delete C_Sb75 

sleep 80

ai2_spawn C_Sb26
chr_teleport C_Sb26 0517
ai2_lookatchar GrifOps03 C_Sb26 
chr_delete C_Sb26

Отредактировал(а) Smith (18-08-2009 19:50:01)

Оффлайн

 

#67 18-08-2009 21:28:29

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

а chr_facetoflag пробовал? она работает с именами ботов. (chr_facetoflacg C_Sb26 0517)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#68 18-08-2009 21:58:00

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

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

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

ai2_panic

"паникующий" характер задаётся персонажу в ресурсах (.BINA). анимация задаётся анимацией. или какой эффект нужен?

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

chr_facetoflag [кто] [на какой флаг смотрит] команда поворачивающая бота или игрока к определенному флагу

не поворачивает к флагу, а ориентирует сонаправленно данному флагу.

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

Вот в "телепорте" и проблема, так как телепортируешь не конкретного персонажа а его номер!!

в зависимости от ситуации. можно заспавнить персонажа заранее и засунуть его куда-нибудь подальше. можно использовать chr_death_lock для могущих умереть до его спавна персонажей. можно сделать переменные, контролирующие, какие персонажи живы/мертвы, количество живых в данный момент, или даже отражающие текущую занятость индексов. ну, или ждать chr_name. -_-

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

Неполучится, его место занимают живые челы - гриффин, опсы другие...

да ну.

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

И кстати почему у мя не работает вот этот скрипт??

когда выполнение нужного куска кода проходит, а эффекта не видно - смотрим в консоль. и видим там bad parameters on chr_location. возникающее, когда в chr_location кидается несуществующий индекс. а всё потому, что для удаления использовано только chr_delete, и игра не обрабатывает смерть персонажа (ставим перед удалением ai2_kill и всё хорошо) как таковую, в т.ч. освобождая индекс для возрождённого чара. а на индексе 2 уже никого нету.

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

Непонятно! Попробовал телепортир. на флаги, та же фигня:

что такое "та же фигня"? для поворота это то же самое что:
    ai2_spawn C_Sb75
    chr_teleport C_Sb75 560
    ai2_spawn C_Sb26
    chr_teleport C_Sb26 517
    sleep 80
    ai2_lookatchar GrifOps03 C_Sb75
    sleep 80
    ai2_lookatchar GrifOps03 C_Sb26

так тоже "та же фигня"?

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

а chr_facetoflag пробовал?

нужен ведь поворот персонажа к флагу (т.е. для разных местоположений GrifOps03 это разные углы поворота).

Оффлайн

 

#69 19-08-2009 10:19:41

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

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

Хорошо но как удалить трупы??? Вот скрипт:


func void partin(void)
{
sleep 80
ai2_spawn C_Sb75
chr_location 2 -297.720428 1485.000000 -2700.470215
ai2_lookatchar GrifOps03 C_Sb75
ai2_kill C_Sb75
chr_delete C_Sb75

sleep 120
ai2_spawn C_Sb26
chr_location 3 -302.004272 1485.000000 -2647.752442
ai2_lookatchar GrifOps03 C_Sb26
ai2_kill C_Sb26
chr_delete C_Sb26
}

Я думал перс совсем исчезает, но нефига((( Мне не нужны трупы, боты должы после смерти моментально исчезнуть, команда chr_delete C_Sb26 не работает((

Добавлено спустя 4 минуты 15 секунд:
ai2_panic эффект?? А какие эффекты есть? я просто не очень понимаю...
Где мне их найти? Именно? Насчёт эффектов - что бы бегал покругу и стрелял во все стороны=))))

Кстати как заставить бота просто стрелять, так сказать нажать спусковой крючок! Ну стоит бот с оружием смотрит дулом в стену, и просто так начал в неё стрелять, просто туда куда направленно оружие??

Оффлайн

 

#70 19-08-2009 11:13:15

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

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

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

Хорошо но как удалить трупы???

залежавшиеся трупы - corpse_reset. в данном случае удалить следует сразу чара, оставив за ним индекс.
    ai2_spawn C_Sb75
    chr_death_lock C_Sb75 1
    chr_location 2 -297 1485 -2700
    ai2_lookatchar GrifOps03 C_Sb75
    chr_delete C_Sb75
    sleep 120
    ai2_spawn C_Sb26
    chr_death_lock C_Sb26 1
    chr_location 3 -302 1485 -2647
    ai2_lookatchar GrifOps03 C_Sb26
    chr_delete C_Sb26


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

ai2_panic эффект?? А какие эффекты есть? я просто не очень понимаю...

у ai2_panic на кого попало должен быть ожидаемый (например, после прочтения о нём на Oni Galore) эффект в виде блама. если нужен был он, то цель достигнута.

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

Насчёт эффектов - что бы бегал покругу и стрелял во все стороны=))))

понятно...

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

Кстати как заставить бота просто стрелять, так сказать нажать спусковой крючок!

это уже давным-давно обсуждалось. точно также, как это делали, например, блекопс, убивший Керра, и Гриффин, застреливший Шинатаму. через соответствующий playback. в .FILM есть аж int64 битсет, отвечающий за "нажатые клавиши", среди которых и стрельба, и всё что угодно. однако угол обзора (в обеих плоскостях) и даже начальное местоположение (в отличие от записываемых во время игры фильмов) задаётся там же.

Оффлайн

 

#71 19-08-2009 14:21:58

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

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

Мне нужно, чтобы запуск одного скрипта, осуществлялся только после того, когда бот бодойдёт к флагу! Как это сделать?? Веди есть такие команды как "chr_wait_animstate" , "chr_wait_health" - а для флагов есть что нитть подобное??

Оффлайн

 

#72 19-08-2009 14:53:47

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

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

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

а для флагов есть что нитть подобное??

sleep есть. либо можно засунуть этот флаг в trigger volume (BINA/TRGV).

Оффлайн

 

#73 20-08-2009 20:19:13

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

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

Вы конечно извините, влазию без очериди, но ответти пожалуйста на вопросы после того как разберётесь с другими!
Короче я уже задовал этот вопрос, а как тогда зделать чтобы катсцена начиналась после того как убьёшь просто челов?
Извиняюсь за настарность, но всётки как зделать чтоб штатские дрались и твои играли против тебя?
И помогите плизз, набираю команду для определение кординат (where), всёбы было ок, но только кординаты не где не показываются, такаеже фигня с классами игроков тоже не отображаются, но честно меня больше волнует, то что кординаты не отображаются!
Ещё раз извиняюсь и пожалуйста помогите посаветуйте что делать, взарания всем спасибо!;)

Оффлайн

 

#74 20-08-2009 20:48:24

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

1. перед вызовом функции катсцены поставь условие, проверяющее счётчик на ноль. сам счётчик должен уменьшаться на один как только один враг помер (делается с помощью описания сторонней функции). изначально счётчик должен быть равен количеству врагов.
2. поменяй себе Team
3. поставь английкий движок и C-Daodan. на русском консольного вывода нет вообще.

и, собственно, мораль. ТЕЛЕПАТЫ В ОТПУСКЕ! уточняй что именно ты хочешь. я ни хрена не понял, что именно ты имел ввиду и привёл самые вероятные результаты. на будущее - всегда правильно и полностью описывай, что тебе надо.

Отредактировал(а) demos_kratos (20-08-2009 20:51:50)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#75 20-08-2009 20:51:43

Шнайдер (муж.)
Советник Юстиции
Откуда: Прокуратура TCTF.
Регистрация: 17-07-2009
Сообщений: 1361
Профиль

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

А,вопрос возник,как сделать,чтобы при смене скина персонажи относились а игроку со стороны его текущего скина(напр солдат страйкер-его боятся цивилы и не любят ТСТФ,но свои не нападают, или в уровне с Рег управлением скин охранника поставить и охранники не прыгают на тебя)?


У тебя дырка в башке, как у педика в жопе!!!
Акт прокурорского реагирования на кривое полицейское постановление.(быль)

Оффлайн

 

#76 20-08-2009 20:52:27

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

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

C-Daodan где его дастать?

Оффлайн

 

#77 20-08-2009 20:56:06

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

2Шнайдер

а никак. только вручную менять команду вместе со сменой класса.

2vitya

http://daodan.rossy.oni2.net

Отредактировал(а) demos_kratos (20-08-2009 20:58:24)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#78 11-09-2009 15:43:07

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

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

Вот у меня вопрос появился! Когда в игре мы нажимаем "F1", то у нас игровой процесс преостанавливается (всё замирает). Вопрос такой:
Как зделать так, чтобы при этой паузе игрок (т.е. конока) мог передвигатся в пространстве безпрепятственно!????

Отредактировал(а) Smith (11-09-2009 15:45:21)

Оффлайн

 

#79 11-09-2009 19:27:15

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

2Smith
Загнул =) Интересная идея. Но увы нереальная. Поищи в теме про девмоду описывалась функция передвижения камеры при полной паузе игры. Но чтоб игрок в этой паузе двигался - это увы неисполнимо.


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#80 11-09-2009 20:58:50

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

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

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

2Smith
Загнул =) Интересная идея. Но увы нереальная. Поищи в теме про девмоду описывалась функция передвижения камеры при полной паузе игры. Но чтоб игрок в этой паузе двигался - это увы неисполнимо.

Как не исполнимо??=(( Я всего лишь хочу что б я мог бегать при этой паузе? Может быть на уровне кода можно изменить, или глубже капнуть?? Потому как клёвый эффект был бы!)
И почему невозможно? Откуда такая уверенность??

Оффлайн

 

#81 12-09-2009 20:34:12

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

если Была такая возможность, я Бы рассказал, как ее осуществить. С времени релиза игры прошло почти 9 лет. С времени появления каммьюнити на год меньше. За 7 лет все возможности движка раскрыты. Отсюда и такая уверенность. Ты можешь задать подобный вопрос на ОЦФ, но я думаю ты получишь идентичный ответ. И потом, если бы такая вкусная функция была, то черта с два я о ней бы не знал =)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#82 12-09-2009 21:51:38

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

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

Слушай а можешь скинуть мне глобализированный файл Они, то у мя не получается((
Мне нужны боты, диалоги и анимации общие!! Если не трудно конечно=)

Оффлайн

 

#83 13-09-2009 10:27:03

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

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

Smith
Попробуй установить новейший денничёк, там все ресурсы глобализованы!!!!!!!!!;)

Оффлайн

 

#84 13-09-2009 19:46:28

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

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

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

Smith
Попробуй установить новейший денничёк, там все ресурсы глобализованы!!!!!!!!!;)

Чего? Можно по-подробнее? Где качать?? =)

Оффлайн

 

#85 13-09-2009 20:20:37

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

не надо никаких нонешних денёчков. если стоит последний Edition, то качаем файл globalize.bat, кидаем его в папку Oni\Edition и запускаем, через минуту в папке Oni\Edition\GlobalDataFolder будут лежать все глобализационные файлы игры.

Отредактировал(а) demos_kratos (13-09-2009 20:22:04)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#86 15-09-2009 15:44:33

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

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

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

не надо никаких нонешних денёчков. если стоит последний Edition, то качаем файл globalize.bat, кидаем его в папку Oni\Edition и запускаем, через минуту в папке Oni\Edition\GlobalDataFolder будут лежать все глобализационные файлы игры.

Хорошо! А как файлы oni. запихнуть в dat. ??

Оффлайн

 

#87 15-09-2009 20:42:49

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

Используй мой GUI.


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#88 15-09-2009 22:07:51

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

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

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

Используй мой GUI.

Команда "скрепить" ?? Там где ещё plug-in...

Оффлайн

 

#89 16-09-2009 12:36:11

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

да, она самая.


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#90 16-09-2009 19:26:35

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

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

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

да, она самая.

А с чем соединять oni. файлы??? А то я чё-то не то делаю...(

Оффлайн

 

#91 17-09-2009 15:15:49

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

Люди помогите как сделать такие штуки

Отредактировал(а) NiKiT@ (17-09-2009 15:17:25)


Прикрепленные файлы:
Аттачмент MutKon1.jpg, Размер: 45,737 байт, Скачано: 181
Аттачмент kon_mu_w11ba1jump.jpg, Размер: 46,896 байт, Скачано: 184
Аттачмент KONOKOx3.jpg, Размер: 33,751 байт, Скачано: 156

Может мне стоит попытаться

Оффлайн

 

#92 17-09-2009 16:50:10

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

Это не скриптирование, а редактирование ресурсов.
коноко мутант - у geyser'а. достать не представляется возможным.
2-е - ты имел ввиду прыжок с пушкой барабаса или смену текстур?
3-е - что именно хотелось бы увидеть? смену геометрии тела? (модели тела) или опять же ретекстурирование?


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#93 17-09-2009 19:22:37

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

2-е-Я имел ввиду прыжок с пушкой барабаса,бег с пушкой барабаса и смену текстур

3-е я имел ввиду всё!!!

Отредактировал(а) NiKiT@ (17-09-2009 19:24:22)


Может мне стоит попытаться

Оффлайн

 

#94 17-09-2009 20:48:52

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

прыжки с пушкой барабаса - поставь Aniversary Edition, там будет специальная пушка-копия.

смена текстур - просто поменяй ссылку на TRMA в ONCC. или создай свои ONCC и TRMA. так даже удобнее. как это сделать? спрашивай в личку или намного лучше в Yahoo Mesenger. там пошагово объясню.

смена геометрий - дело посложнее. тебе придётся скачать XSI Mod Tools, перевести 2 модели с одинаковым скелетом (коноко и фурия) в формат Collada DAE, запихнуть их обе в XSI, там уже удалить голову фурии и тело коноки, запарентовать шею фурии с головой Коноко, переместить голову на место, поставить модель по центру, сохранить в формате Collada DAE через Crosswalk, далее создать ONCC и TRMA для персонажа, запихнуть всё это в package для AEInstaller и установить. хотя всё намного, повторяю, намного легче чем это кажется. =)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#95 18-09-2009 13:50:47

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

а где находится ONCC???


Может мне стоит попытаться

Оффлайн

 

#96 18-09-2009 14:36:29

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

вот я скачал


Может мне стоит попытаться

Оффлайн

 

#97 18-09-2009 15:29:59

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

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

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

Оффлайн

 

#98 18-09-2009 16:53:37

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

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

а где находится ONCC???

я тебе что сказал, на счёт того, как это сделать?

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

как это сделать? спрашивай в личку или намного лучше в Yahoo Mesenger. там пошагово объясню.

Отредактировал(а) demos_kratos (18-09-2009 16:53:49)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#99 18-09-2009 19:57:34

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

Vitya.Чтобы начинать игру за другого игрока напиши в файле bsl с суффиксом level_logic вот это:
chr_set_class 0 и после нуля класс игрока за которого хочешь играть.Классы игроков можешь взять с http://ssg.oni2.net/subfold/charas/charas.htm
Это должно выглядеть примерно так:if (save_point eq 1)
        {
        my_save_point=1;   
        particle vent03 start
        ai2_spawn partner_cop_1
        ai2_spawn partner_cop_2
        ai2_spawn ambush_striker_1
        ai2_spawn ambush_striker_2
        ai2_spawn ambush_striker_3
        chr_delete Recep
        door_lock 1
        door_lock 4
        restore_game
        ai2_attack partner_cop_1 ambush_striker_1
        ai2_attack partner_cop_2 ambush_striker_3
        music_script_start();
        sleep 30
        set_objective_1
        chr_set_class 0 6
        }

Отредактировал(а) NiKiT@ (18-09-2009 19:59:05)


Может мне стоит попытаться

Оффлайн

 

#100 18-09-2009 20:13:43

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

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

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

Vitya.Чтобы начинать игру за другого игрока напиши в файле bsl с суффиксом level_logic вот это:
chr_set_class 0 и после нуля класс игрока за которого хочешь играть.Классы игроков можешь взять с http://ssg.oni2.net/subfold/charas/charas.htm
Это должно выглядеть примерно так:if (save_point eq 1)
        {
        my_save_point=1;   
        particle vent03 start
        ai2_spawn partner_cop_1
        ai2_spawn partner_cop_2
        ai2_spawn ambush_striker_1
        ai2_spawn ambush_striker_2
        ai2_spawn ambush_striker_3
        chr_delete Recep
        door_lock 1
        door_lock 4
        restore_game
        ai2_attack partner_cop_1 ambush_striker_1
        ai2_attack partner_cop_2 ambush_striker_3
        music_script_start();
        sleep 30
        set_objective_1
        chr_set_class 0 6
        }

Спасибо выручил!

Оффлайн

 

#101 18-09-2009 20:16:43

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

Так ты мне поможешь???Как Научить Май бегать с пухой Барабаса ?????


Может мне стоит попытаться

Оффлайн

 

#102 18-09-2009 20:17:23

Шнайдер (муж.)
Советник Юстиции
Откуда: Прокуратура TCTF.
Регистрация: 17-07-2009
Сообщений: 1361
Профиль

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

Друг мой, АЕ ж есть


У тебя дырка в башке, как у педика в жопе!!!
Акт прокурорского реагирования на кривое полицейское постановление.(быль)

Оффлайн

 

#103 18-09-2009 20:17:44

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

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

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

Так ты мне поможешь???Как Научить Май бегать с пухой Барабаса ?????

Скачай последний эдишн.Там есть такая пушка.


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

Оффлайн

 

#104 18-09-2009 20:19:14

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

Дайте мне ссылку ПЛИЗ!!!!И напишите как установить!!!!


Может мне стоит попытаться

Оффлайн

 

#105 18-09-2009 20:21:09

Шнайдер (муж.)
Советник Юстиции
Откуда: Прокуратура TCTF.
Регистрация: 17-07-2009
Сообщений: 1361
Профиль

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

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

Дайте мне ссылку ПЛИЗ!!!!И напишите как установить!!!!

http://mods.oni2.net/system/files/Edition-PC.zip

Установить очень легко,скачай, расскажу

Отредактировал(а) Шнайдер (18-09-2009 20:21:31)


У тебя дырка в башке, как у педика в жопе!!!
Акт прокурорского реагирования на кривое полицейское постановление.(быль)

Оффлайн

 

#106 18-09-2009 20:21:49

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

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


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

Оффлайн

 

#107 18-09-2009 20:22:39

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

СПАСИБАААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=))))))))))))))))))))):D


Может мне стоит попытаться

Оффлайн

 

#108 18-09-2009 20:23:34

Шнайдер (муж.)
Советник Юстиции
Откуда: Прокуратура TCTF.
Регистрация: 17-07-2009
Сообщений: 1361
Профиль

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

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

СПАСИБАААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=))))))))))))))))))))):D

Э, не кричи так сильно, сначала установи без косяков


У тебя дырка в башке, как у педика в жопе!!!
Акт прокурорского реагирования на кривое полицейское постановление.(быль)

Оффлайн

 

#109 18-09-2009 20:23:59

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

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

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

СПАСИБАААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=))))))))))))))))))))):D

Все большие спасибы создателям эдишна.


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

Оффлайн

 

#110 18-09-2009 20:26:06

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

БЛИИИИИН РЕБЯТ!!!!!НИ ЧЁ НЕ ПОЛУЧАЕТСЯ!!!!!А ВЫ МОЖЕТЕ ДАТЬ ГОТОВЫЙ ФАЙЛ?????


Может мне стоит попытаться

Оффлайн

 

#111 18-09-2009 20:27:41

Шнайдер (муж.)
Советник Юстиции
Откуда: Прокуратура TCTF.
Регистрация: 17-07-2009
Сообщений: 1361
Профиль

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

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

БЛИИИИИН РЕБЯТ!!!!!НИ ЧЁ НЕ ПОЛУЧАЕТСЯ!!!!!А ВЫ МОЖЕТЕ ДАТЬ ГОТОВЫЙ ФАЙЛ?????

ЧТо за проблема? в чем именно она выражается


У тебя дырка в башке, как у педика в жопе!!!
Акт прокурорского реагирования на кривое полицейское постановление.(быль)

Оффлайн

 

#112 18-09-2009 20:31:09

Freestyler (муж.)
Полицейский TCTF
Откуда: Питер
Регистрация: 06-04-2008
Сообщений: 96
Профиль

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

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

НИ ЧЁ НЕ ПОЛУЧАЕТСЯ!!!!!

Для начала - действуй без CapsLock. Некрасиво это.
И далее - распиши подробно, по пунктам свои действия, начиная от того, как ты зашёл по ссылке, до собственно, самой проблемы.
Только тогда мы, может быть, и поймём, в чём твой промах. =)


Покажи язык проблемам! :P

Оффлайн

 

#113 18-09-2009 20:31:32

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

ДА БЛИН Я ВАЩЕ НИ ЧЁ НЕ ПОНИМАЮ!!!!
ВОТ ПЕРЕВЁЛ,НО ВСЁРАВНО НИ ЧЁ НЕ ПОЛУЧАЕТСЯ!!!!=(

Седьмой Anniversary Edition
Релиз июля 2009 года

О А.Е.
Седьмой Anniversary Edition ( "Edition" или "AE" для краткости) представляет собой моддинг рамки и набор модов для игры Они действий, выпущенный в 2001 году. Вам необходимо розничной версии Они играть Edition (пока еще). Полный комплект документации для данной версии можно найти на http://wiki.oni2.net/AE.

Вам также понадобится. NET установлен, если вы используете Windows, или моно установлен, если вы используете Mac, для того, чтобы установка А.Е. к работе. Нажмите здесь, если вам нужно. NET, или здесь (OS X 10.4) или здесь (OS X 10.3) Если Вам нужна моно.


Установка
Издание не заменить существующую установку игры. Чтобы установить, просто место "издание" папки внутри папки "Они", а затем запустите программу установки. Вам придется глобализации перед установкой модов в первый раз, что может занять до получаса. Примечание: На данном этапе, А. Е. Они не воспроизводиться. Вы должны установить хотя бы один моделирование прежде чем вы сможете сыграть копия Они внутри "Edition". Просто установите флажки из моды вы хотите, и нажать кнопку "Установить". Этот процесс может занять до 5 минут, но будет работать быстрее на большинстве компьютеров.

Для воспроизведения А.Е., вы открываете приложение Они внутри "издание" папки и играть в "Ваниль" (unmodded) Они, вы открываете первоначальной заявке Они в папке "Они" *. Если вы не видите Изменения Главное меню, который говорит: "Anniversary Edition", вы не играете Edition. Удачи! Для получения поддержки посетите http://oni.bungie.org/community/forum.

* Вот как это работает и для пользователей Windows. Примечание для пользователей Mac: применение Они помнят последнюю активную установку Они. Это означает, что открытие Oni.app в одном месте может загрузить установку Они в другую папку. Установщик автоматически изменяет предпочтений Они на использование Edition установки при глобализации. Это означает, что открытие Oni.app в ванили установки, будет также загрузить Edition. Для переключения между активным установок, просто изменить название GameDataFolder в активную установку Они и запускать любые копии Oni.app. Он будет просить для розничной установке Они, после чего вы переходите к установке Они по своему выбору (в папку, содержащую GameDataFolder) и нажмите кнопку "OK". Не забудьте посмотреть на модифицированный экран главного меню скажите ли вы играете или оригинальные Они Они А.Е.. Инструмент должен быть скоро сделать этот процесс легче!


Кредиты Anniversary Edition
EDT: BGI войска, дополнительно ONIrules оружия: Дополнительное оружие
Гейзер: создатель Издания Парадокс: Документирование Они
Gumby: инсталлятор и Рамочная RossyMiles: Daodan DLL порта C
Iritscen: Installer (Mac) SFeLi: Оригинал Daodan DLL
Проигравший: улучшена анимация и А. И. SSG: Документирование Они
Нео: OniSplit, документирование Они, техническая поддержка

И благодаря Bungie для принятия Они!


Может мне стоит попытаться

Оффлайн

 

#114 18-09-2009 20:32:49

Шнайдер (муж.)
Советник Юстиции
Откуда: Прокуратура TCTF.
Регистрация: 17-07-2009
Сообщений: 1361
Профиль

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

Только не здесь, а в теме помогите (((


У тебя дырка в башке, как у педика в жопе!!!
Акт прокурорского реагирования на кривое полицейское постановление.(быль)

Оффлайн

 

#115 18-09-2009 20:33:21

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

"Сказать 'не работает' значит ничего не сказать" ?Сергей Geyser Мешков.

Назови симптомы. Что именно ты делал прежде чем придти к выводу, что "НИ ЧЁ НЕ ПОЛУЧАЕТСЯ!!!!!"?
Скинь файлы %Oni%\Edition\install\install.log и %Oni%\Edition\startup.txt.

Делаю замечание, сделанное мной когда-то Вите. Я понимаю, что ты трепетен к игре. Но не надо из-за этого наполнять форум лишними знаками препинания. Не стоит кидать экскременты на вентилятор. =) (не в обиду сказано, просто прими к сведению)

EDIT: вот это бум =\
EDIT2: надмозгом пользоваться не стоит

Отредактировал(а) demos_kratos (18-09-2009 20:49:57)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#116 18-09-2009 20:37:10

Шнайдер (муж.)
Советник Юстиции
Откуда: Прокуратура TCTF.
Регистрация: 17-07-2009
Сообщений: 1361
Профиль

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

Приходи на тему Помогите и там ВСЕ напиши подробно, у нас есть опыт помощи(хотя б в проблеме разберемся)


У тебя дырка в башке, как у педика в жопе!!!
Акт прокурорского реагирования на кривое полицейское постановление.(быль)

Оффлайн

 

#117 18-09-2009 20:37:18

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

Скинул что дальше???


Может мне стоит попытаться

Оффлайн

 

#118 18-09-2009 20:45:55

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

У меня появился вопрос, которому позавидует даже Капитан Очевидность: Куда?


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#119 18-09-2009 20:50:31

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

в папку с игрой


Может мне стоит попытаться

Оффлайн

 

#120 18-09-2009 20:51:20

Шнайдер (муж.)
Советник Юстиции
Откуда: Прокуратура TCTF.
Регистрация: 17-07-2009
Сообщений: 1361
Профиль

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

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

в папку с игрой

Геноссе, на форум скинуть надо


У тебя дырка в башке, как у педика в жопе!!!
Акт прокурорского реагирования на кривое полицейское постановление.(быль)

Оффлайн

 

#121 19-09-2010 16:03:13

Гордон Фриман (муж.)
Элитный Страйкер
Откуда: ХМАО-Югра
Регистрация: 09-05-2010
Сообщений: 353
Профиль  Вебсайт

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

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

Народ пожалуйста подскажите:

1. Как создать свой уровень? Т.е. скажем взять 2-ой уровень и включить его в список уровней как новый (другой), скажем например levle20. Чтоб после 19 уровня загрузился 2-ой уровень, названный 20-ым=)

2. У каждого персонажа есть в уровнях свои имена и их можно телепортировать в разные места, а с объектами такое можно делать? Скажем взять тачку из штаба TCTF и перетащить её на улицу и.т.д.

3. Создал коноку (бот) с АИ в 3-ем уровне все норм.... Бегает, стреляет, лупит всех... Создал по такому-же принципу в 19-уровне коноку; но бот стоит и ничего не делает, как-будто АИ обделён.... В чём проблема или что мне нужно прописать в характеристиках при создании бота??

Всё всё всё есть на форуме! А с этими задачами надо повозиться... Здесь и скрипты и пакер... Короче исследуй форум в поиске ответов!


http://www.masseffect2.in/ava/legions.png
I'm commander Shepard, and this is my favorit forum on the extranet.

Оффлайн

 

#122 08-10-2010 23:09:44

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

Smith

1. Подобные вещи еще не во власти простых смертных, как вы. Не заморачивайся, это слишком много сложной и нудной работы.

2. Нет нельзя. По крайней мере в процессе игры это невозможно.

3. Здесь все очевидно. У тебя скорее всего по какой-то причине профиль ИИ, который ты выбрал для бота не глобализован. В 14 главе движок не видит ИИ и прописывает боту болезнь Альцгеймера. Глобализуй ресурсы и будет тебе счастие.


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#123 09-10-2010 10:38:28

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

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

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

Smith

1. Подобные вещи еще не во власти простых смертных, как вы. Не заморачивайся, это слишком много сложной и нудной работы.

2. Нет нельзя. По крайней мере в процессе игры это невозможно.

3. Здесь все очевидно. У тебя скорее всего по какой-то причине профиль ИИ, который ты выбрал для бота не глобализован. В 14 главе движок не видит ИИ и прописывает боту болезнь Альцгеймера. Глобализуй ресурсы и будет тебе счастие.

Спасобо за ответы! :) Вот ещё, в ресурсах BINACJBOFurniture прописаны объекты, как я понял (компы, мебель, декорации...) как ими панипулировать, как добавить или удалить эти объекты??

не во власти простых смертных

а ты простой смертный или же избранный?))

P.S. Кстати демонс, ты не знаешь где Гейсер тусит? Что-то он на форуме не появляется...

Отредактировал(а) Smith (09-10-2010 10:45:09)

Оффлайн

 

#124 09-10-2010 23:15:59

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

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

как ими панипулировать, как добавить или удалить эти объекты??

Файлы FURN - это архаизмы, остатки разработки. Все объекты впаяны в AKEV файл, который является моделью уровня, а его редактировать - это не для смертных, как я уже говорил.

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

а ты простой смертный или же избранный?))

Да я вообще богоравный =)

Отредактировал(а) demos_kratos (09-10-2010 23:20:27)


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#125 10-10-2010 07:23:32

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

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

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

как ими панипулировать, как добавить или удалить эти объекты??

Файлы FURN - это архаизмы, остатки разработки. Все объекты впаяны в AKEV файл, который является моделью уровня, а его редактировать - это не для смертных, как я уже говорил.

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

а ты простой смертный или же избранный?))

Да я вообще богоравный =)

Ооо)) Я FURN вообще не понял как и чё) Зато всё просто в файлах ONLV*.oni


Может мне стоит попытаться

Оффлайн

 

#126 10-10-2010 13:51:21

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

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

Ооо)) Я FURN вообще не понял как и чё) Зато всё просто в файлах ONLV*.oni

А эт чё за файлы?

Оффлайн

 

#127 10-10-2010 16:20:32

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

это файлы ммм...так сказать с 3д моделями) они вызываются коммандой : obj_create [index] [more index]


Может мне стоит попытаться

Оффлайн

 

#128 03-02-2011 06:19:04

Elenka (жен.)
Цивил
Откуда: Челябинск)
Регистрация: 03-02-2011
Сообщений: 1
Профиль

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

Здрасте)) У меня вопрос: Как победить Муро? :mad:Он уже превратился в монстра.
И ещё один вопрос:D: Какой самый последний уровень?=|


Я - имперская пехота,
Я небритый и бухой,
Нехожу я на работу,
Потомучто я ТУПОЙ!!!

Оффлайн

 

#129 03-02-2011 08:49:28

Гордон Фриман (муж.)
Элитный Страйкер
Откуда: ХМАО-Югра
Регистрация: 09-05-2010
Сообщений: 353
Профиль  Вебсайт

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

Как победить муро????????)))))))))))))
Хах, ждешь пока исчезнет его поле и бьешь... что ещё сказать...
А самый последний эт 14-ый.

Добавлено спустя 50 секунд:
И помоему это не совсем скриптовый вопрос...


http://www.masseffect2.in/ava/legions.png
I'm commander Shepard, and this is my favorit forum on the extranet.

Оффлайн

 

#130 05-02-2011 17:38:55

Гордон Фриман (муж.)
Элитный Страйкер
Откуда: ХМАО-Югра
Регистрация: 09-05-2010
Сообщений: 353
Профиль  Вебсайт

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

Не подскажите, как сделать, что бы девушка Recep в начале 2-го уровня не садилась наколени и тряслась от страха, а при назначении ей команды синдиката все-таки дралась?


http://www.masseffect2.in/ava/legions.png
I'm commander Shepard, and this is my favorit forum on the extranet.

Оффлайн

 

#131 05-02-2011 21:07:28

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

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

Поменяй в ее файле BINA/OBJC/CHAR MeleeID, CombatID, NeutralID и Team на желаемые.


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#132 06-02-2011 16:14:13

Гордон Фриман (муж.)
Элитный Страйкер
Откуда: ХМАО-Югра
Регистрация: 09-05-2010
Сообщений: 353
Профиль  Вебсайт

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

Попробую, но у меня получилось это обойти)


http://www.masseffect2.in/ava/legions.png
I'm commander Shepard, and this is my favorit forum on the extranet.

Оффлайн

 

#133 07-02-2011 12:08:13

NiKiT@ (муж.)
Агент TCTF
Откуда: Сосновый Бор
Регистрация: 16-09-2009
Сообщений: 125
Профиль

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

Гордон Фриман написал(а):

Попробую, но у меня получилось это обойти)

Ну тогда если чё сделай скр коммандами -

Код:

 ai2_noncombatant(Recep, 0);
 ai2_changeteam(Recep,Konoko);

Может мне стоит попытаться

Оффлайн

 

#134 08-02-2011 14:20:55

Гордон Фриман (муж.)
Элитный Страйкер
Откуда: ХМАО-Югра
Регистрация: 09-05-2010
Сообщений: 353
Профиль  Вебсайт

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

Ещё вопрос: вот в 5 главе в самом начале выбегает страйкер. Я присвоил ему другой класс, и по правильной номерации все остальным. Но поскольку он и остальные спавнятся не одновременно, то класс меняется только у него. Как сделать что бы все его изменили?


http://www.masseffect2.in/ava/legions.png
I'm commander Shepard, and this is my favorit forum on the extranet.

Оффлайн

 

#135 09-02-2011 06:57:39

Гордон Фриман (муж.)
Элитный Страйкер
Откуда: ХМАО-Югра
Регистрация: 09-05-2010
Сообщений: 353
Профиль  Вебсайт

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

Сделал это  командой ai2_spawnall


http://www.masseffect2.in/ava/legions.png
I'm commander Shepard, and this is my favorit forum on the extranet.

Оффлайн

 

#136 01-03-2011 12:15:29

MrConnery
Цивил
Регистрация: 01-03-2011
Сообщений: 7
Профиль

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

Добрый день

все наверняка помнят забавное видео, где бойцы TCTF устраивают для Гриффина рождественский танец.
(на всякий случай http://www.youtube.com/watch?v=XoE3cBDOAhQ)

автор утверждает, что демонстрирует "pure scripting". меня интересует их последнее движение. чтобы заставить таких персонажей выполнять анимацию BARABpowerup (это же она, я не ошибаюсь?), мне пришлось сменить им CombatID на 9 и в ONCC переписать название TRAC на Барабаса . Это входит в понятие "pure scripting" или есть какое-то простое решение, до которого я не могу додуматься ?

Оффлайн

 

#137 01-03-2011 12:27:10

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

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

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

есть какое-то простое решение

chr_animate [ai_name:string | script_id:int] anim_name:string [num_frames:int | ] [interp_frames:int | ]
для анимаций, скажем так, состояний (переменного времени) нужно прямо указывать длительность. например,
chr_animate Griffin BARABpowerup 600

Оффлайн

 

#138 01-03-2011 12:47:30

MrConnery
Цивил
Регистрация: 01-03-2011
Сообщений: 7
Профиль

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

ах ок, как всё просто-то оказалось..
большое спасибо.
п.с. хороший у Вас учебник.

Оффлайн

 

#139 01-03-2011 12:59:16

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

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

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

п.с. хороший у Вас учебник.

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

Оффлайн

 

Board footer

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

[генерация скрипта: 0.135 с.] [запросов к БД: 147]