Русскоязычный форум поклонников игры «Они» от Bungie
doktordulit, сделай флажок.
в начале скрипта пропиши var bool flazhog=1;
а функции перепиши вот так:func puncher(void)
{
dmsg "punch forward if you want play WITHOUT black_ops"
chr_wait_animation 0 KONCOMpunch_fw
if (flazhog)
{
flazhog = 0;
dmsg "you want play WITHOUT black_ops"
fork round_1b
}
}
иfunc kicker(void)
{
dmsg "kick forward if you want play WITH black_ops"
chr_wait_animation 0 KONCOMkick_fw
if (flazhog)
{
flazhog = 0;
dmsg "you want play WITH black_ops"
fork round_1a
}
}
Оффлайн
...Не работает...Мих@...Помоги...
Оффлайн
ВСЁРАВНО НЕ РАБОТАЕТ........
Оффлайн
ошибка - поставь точку с запятой в конце строки var bool flazhog=1;
З. Ы. доктор, на будущее совет(ы).
1. перед и после секции где обозначаются переменные ставь пустые строки. понятнее будет всем, а не только тебе.
2. имена переменным давай более осмысленные чем банальное полуолбанское слово flazhog. Не в обиду михе, но так реально приятнее и понятнее читать код.
(у меня в GUI самая длинная переменная $tx_genmipmaps_check_r - Textures.Generation.of.Mipmaps.Checkbox.Refference (если расшифровать) я мог назвать ее $var_104 или $gmpcr и тогда никто не понял бы о чём речь, хотя некоторые и так могут не понять, но не повторяй моих ошибок)
3. в твой скрипт будут не только играть, но ещй и смотреть его, имей это ввиду.
Отредактировал(а) demos_kratos (02-03-2009 19:28:52)
Оффлайн
ААААА!demos_kratos ты ГЕНИЙ!!!!!!ТЫ ГЕНИЙ!!!!!!!!!!!!!!
ЙЙЙЙЙЙЙЙЙЙЙЙЙЙЕЕЕЕЕЕЕЕЕЕСС!!!!!!!!!
ДАДАДА!!!
З.Ы.-А как мои скрипт можно смотреть?
З.Ы.Ы.-А идея такого скрипта навеяна твоим "мортал-комбат"
З.Ы.Ы.Ы.-Я у тебя кое-что спер,не обижайся...
Отредактировал(а) doktordulit (03-03-2009 18:06:24)
Оффлайн
demos_kratos написал(а):
перед и после секции где обозначаются переменные ставь пустые строки.
да ладно... всякие локальные вещи, например, можно и прямо перед функцией объявлять. заодно яснее станет, какая переменная к чему относится, какое значение имеет непосредственно после объявления (даже в такой простой штуке, если усложнить, можно позабыть, что изначально значение флажка - истина), да и редактировать сподручнее. хотя всё зависит от масштаба, сложности и извращённости работы. +)
demos_kratos написал(а):
имена переменным давай более осмысленные чем банальное полуолбанское слово flazhog.
и вот это тоже... во-первых, существует некоторый лимит на длину скрипта, и чем больше писать, тем раньше случится "многабукаф ниасилил", и всё. а как можно было не поменять название переменной на более осмысленное, но скопипастить одну строчку с ошибкой... +_+
Оффлайн
Мih@ написал(а):
всякие локальные вещи, например, можно и прямо перед функцией объявлять
да, можно, и я этого придерживался, когда кодил на C++, хотя мне больше всего нравятся AutoIt и PHP из-за того, что в них обозначение переменных идёт в момент первого присвоения к ним какого либо значения, и в этих языках можно напрочь забыть, какая переменная какого типа, одна переменная на протяжении программы может быть как строкой, так и булем.
Мih@ написал(а):
существует некоторый лимит на длину скрипта
не уверен, что длинные переменные смогут увеличить скрипт даже до 50 кб (зависит от сложности скрипта конечно)
Оффлайн
demos_kratos написал(а):
обозначение переменных идёт в момент первого присвоения к ним какого либо значения, и в этих языках можно напрочь забыть, какая переменная какого типа, одна переменная на протяжении программы может быть как строкой, так и булем.
не Ъ. )
demos_kratos написал(а):
не уверен, что длинные переменные смогут увеличить скрипт даже до 50 кб (зависит от сложности скрипта конечно)
50 кб (и даже больше) в скрипте можно набрать одними только комментариями. я набирал. ) а когда скрипт близок к абсолютному завершению и к тому самому лимиту, каждая сотня символов может сыграть свою роль.
помню, у меня был недоделанный срипт полного перебинживания оч.многих приёмов на оч.многие варианты развития событий. сотни флажков о том, что именно будет перебинживаться, и где-то 7-9 локальных переменных в функции действия. и там тоже были всякие "sleep(onimate_integer_var1);" (если не длиннее +_+) в каждом ифе. ах да, и в каждом ифе тоже по крайней мере одна переменная. а всего их планировалось около тысячи. итого каждый лишний символ в названии одних только переменных для if, sleep и chr_animate - это около килобайта лишнего кода. даже название функции действия, фигурирующее в дереве wait'ов, уже давало нехилую нагрузку. пример излишне жестокий, конечно, но всё же. )
Оффлайн
Мih@ написал(а):
50 кб (и даже больше) в скрипте можно набрать одними только комментариями. я набирал.
Мih@ написал(а):
ах да, и в каждом ифе тоже по крайней мере одна переменная. а всего их планировалось около тысячи.
... мих, я за тебя боюсь... и за себя теперь боюсь...
Оффлайн
demos_kratos написал(а):
... мих, я за тебя боюсь... и за себя теперь боюсь...
за парсер бы боялся. ) суть в том, что лимит вполне достижим (равно как и лимит на форки, и лимит на вложенные ифы) в жизненных условиях (не говоря уж о корявых красивостях, уж не буду примеры приводить... к чему лишняя отвецтвенность +_+). и почти любой скрипт поскромнее можно модифицировать так, чтобы он эти пределы перебивал. да и писать так короче. ) если переменная используется и дописывается часто, сложно забыть её суть, даже если она будет называться "a" или "b". иное дело - "с". а уж если мысль бежит поперёд письма, то оставление переменных "n1", "n2", "n3" и так далее помогает её догнать, не забивая моск лишними сущностями.
Оффлайн
Как копировать персонажей?
Например, я не знаю(и не поняла 8( ) как на уровнях копировать персов... Типа возмём Коноко: я хочу сделать 10 и более её копий на своей стороне, и 15 и б. на злой стороне... как это вообще сделать??? Я вашим ФАГом пользовалась и "таблицей персонажей" но *** нипонятно((((
Оффлайн
на элементарном уровне можно зафорсить спаун.
ai2_spawn %botname% force
тогда появится ещё один бот - копия бота %botname% на том же месте, где стоял %botname%, но в функциях к ним обращаться можно будет только через б-гомерзкий script_id, который варьируется в процессе игры. если хочешь создавать ботов, к которым можно будет нормально обращаться по имени, надо будет редактировать BINACJBOCharacters соответствующего уровня и добавлять новых ботов.
Оффлайн
Хм, возьмём локацию аэропорт:
if (save_point eq 1) { my_save_point=1; env_show 10 1 env_show 11 1 env_show 12 1 dprint restore1_active particle auto1 start particle auto1fire start particle auto1spark start particle door1spark start particle tctf1 start sound_music_start mus_asian 0.5 music_script_start(); ai2_spawn IntroStriker01 ai2_spawn IntroStriker02 chr_set_class 24 69 chr_set_class 24 69 chr_set_class 24 69 chr_set_class 24 69 chr_set_class 24 69 chr_set_health 0 1500 chr_set_health motoko 1500 restore_game ai2_spawn evilkonoko ai2_spawn evilkonoko force ai2_spawn evilkonoko force ai2_spawn evilkonoko force ai2_spawn evilkonoko force sleep 30 set_target_1 set_objective_1 }
Неполучается вставлять ботов(((
Оффлайн
а ведь нету в аэропорту бота с именем 'evilkonoko'. вся информация о ботах (координаты появления, флаги, класс, поведение и т. д.) хранится в levelXX_Final\BINACJBOCharacters.oni, где XX это номер уровня. следовательно, у каждого уровня свой набор ботов. 'evilkonoko' есть в уровне Dream Lab, но больше нигде этого бота нет. тебе нужно добавить в BINACJBOCharacters.oni в папке аэропорта информацию о боте 'evilkonoko'. тогда этот скрипт, что ты выложила, заработает. подробнее о структуре файла BINACJBOCharacters.oni переведённого в XML можно узнать здесь или здесь.
Оффлайн
demos_kratos написал(а):
а ведь нету в аэропорту бота с именем 'evilkonoko'
Понятно
Отредактировал(а) vit86rus (02-10-2009 09:24:04)
Оффлайн
Лады, Аригато, demos_kratos за твой поучительный урок
Итак, я научилась создавать Коноко, а теперь как их сделать клонами?(армия Конок нападают на меня...)
Оффлайн
Оффлайн