Форум Oni

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

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

#321 02-03-2009 12:30:08

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

Re: Вопросы по написанию игровых скриптов

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

Оффлайн

 

#322 02-03-2009 12:50:06

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

Re: Вопросы по написанию игровых скриптов

:(...Не работает...Мих@...Помоги...


Прикрепленные файлы:
Аттачмент compound.bsl, Размер: 33,691 байт, Скачано: 690

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

Оффлайн

 

#323 02-03-2009 15:28:10

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

Re: Вопросы по написанию игровых скриптов

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

в начале скрипта пропиши
    var bool flazhog=1;

начало скрипта и где попало - разные вещи.

Оффлайн

 

#324 02-03-2009 17:38:48

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

Re: Вопросы по написанию игровых скриптов

ВСЁРАВНО НЕ РАБОТАЕТ........


Прикрепленные файлы:
Аттачмент compound.bsl, Размер: 33,916 байт, Скачано: 722

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

Оффлайн

 

#325 02-03-2009 19:16:08

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

Re: Вопросы по написанию игровых скриптов

ошибка - поставь точку с запятой в конце строки 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)


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

Оффлайн

 

#326 02-03-2009 19:42:28

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

Re: Вопросы по написанию игровых скриптов

ААААА!demos_kratos ты ГЕНИЙ!!!!!!ТЫ ГЕНИЙ!!!!!!!!!!!!!!
ЙЙЙЙЙЙЙЙЙЙЙЙЙЙЕЕЕЕЕЕЕЕЕЕСС!!!!!!!!!
ДАДАДА!!!
З.Ы.-А как мои скрипт можно смотреть?
З.Ы.Ы.-А идея такого скрипта навеяна твоим "мортал-комбат"
З.Ы.Ы.Ы.-Я у тебя кое-что спер,не обижайся...

Отредактировал(а) doktordulit (03-03-2009 18:06:24)


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

Оффлайн

 

#327 03-03-2009 02:56:52

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

Re: Вопросы по написанию игровых скриптов

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

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

да ладно... всякие локальные вещи, например, можно и прямо перед функцией объявлять. заодно яснее станет, какая переменная к чему относится, какое значение имеет непосредственно после объявления (даже в такой простой штуке, если усложнить, можно позабыть, что изначально значение флажка - истина), да и редактировать сподручнее. хотя всё зависит от масштаба, сложности и извращённости работы. +)

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

имена переменным давай более осмысленные чем банальное полуолбанское слово flazhog.

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

Оффлайн

 

#328 04-03-2009 20:45:48

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

Re: Вопросы по написанию игровых скриптов

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

всякие локальные вещи, например, можно и прямо перед функцией объявлять

да, можно, и я этого придерживался, когда кодил на C++, хотя мне больше всего нравятся AutoIt и PHP из-за того, что в них обозначение переменных идёт в момент первого присвоения к ним какого либо значения, и в этих языках можно напрочь забыть, какая переменная какого типа, одна переменная на протяжении программы может быть как строкой, так и булем.

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

существует некоторый лимит на длину скрипта

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


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

Оффлайн

 

#329 05-03-2009 03:42:51

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

Re: Вопросы по написанию игровых скриптов

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

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

не Ъ. )

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

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

50 кб (и даже больше) в скрипте можно набрать одними только комментариями. я набирал. ) а когда скрипт близок к абсолютному завершению и к тому самому лимиту, каждая сотня символов может сыграть свою роль.
помню, у меня был недоделанный срипт полного перебинживания оч.многих приёмов на оч.многие варианты развития событий. сотни флажков о том, что именно будет перебинживаться, и где-то 7-9 локальных переменных в функции действия. и там тоже были всякие "sleep(onimate_integer_var1);" (если не длиннее +_+) в каждом ифе. ах да, и в каждом ифе тоже по крайней мере одна переменная. а всего их планировалось около тысячи. итого каждый лишний символ в названии одних только переменных для if, sleep и chr_animate - это около килобайта лишнего кода. даже название функции действия, фигурирующее в дереве wait'ов, уже давало нехилую нагрузку. пример излишне жестокий, конечно, но всё же. )

Оффлайн

 

#330 05-03-2009 15:06:09

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

Re: Вопросы по написанию игровых скриптов

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

50 кб (и даже больше) в скрипте можно набрать одними только комментариями. я набирал.

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

ах да, и в каждом ифе тоже по крайней мере одна переменная. а всего их планировалось около тысячи.

... мих, я за тебя боюсь... и за себя теперь боюсь...


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

Оффлайн

 

#331 05-03-2009 16:09:10

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

Re: Вопросы по написанию игровых скриптов

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

... мих, я за тебя боюсь... и за себя теперь боюсь...

за парсер бы боялся. ) суть в том, что лимит вполне достижим (равно как и лимит на форки, и лимит на вложенные ифы) в жизненных условиях (не говоря уж о корявых красивостях, уж не буду примеры приводить... к чему лишняя отвецтвенность +_+). и почти любой скрипт поскромнее можно модифицировать так, чтобы он эти пределы перебивал. да и писать так короче. ) если переменная используется и дописывается часто, сложно забыть её суть, даже если она будет называться "a" или "b". иное дело - "с". а уж если мысль бежит поперёд письма, то оставление переменных "n1", "n2", "n3" и так далее помогает её догнать, не забивая моск лишними сущностями.

Оффлайн

 

#332 30-09-2009 13:48:29

vit86rus (жен.)
я кошко-магазинко
Откуда: Чибики!^^
Регистрация: 23-08-2009
Сообщений: 503
Профиль

Re: Вопросы по написанию игровых скриптов

Как копировать персонажей?
Например, я не знаю(и не поняла 8( ) как на уровнях копировать персов... Типа возмём Коноко: я хочу сделать 10 и более её копий на своей стороне, и 15 и б. на злой стороне... как это вообще сделать??? Я вашим ФАГом пользовалась и "таблицей персонажей" но *** нипонятно((((


Tell me what's up and I'll adjust-ez-vous!

Оффлайн

 

#333 01-10-2009 14:48:04

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

Re: Вопросы по написанию игровых скриптов

на элементарном уровне можно зафорсить спаун.

Код:

ai2_spawn %botname% force

тогда появится ещё один бот - копия бота %botname% на том же месте, где стоял %botname%, но в функциях к ним обращаться можно будет только через б-гомерзкий script_id, который варьируется в процессе игры. если хочешь создавать ботов, к которым можно будет нормально обращаться по имени, надо будет редактировать BINACJBOCharacters соответствующего уровня и добавлять новых ботов.


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

Оффлайн

 

#334 01-10-2009 16:01:35

vit86rus (жен.)
я кошко-магазинко
Откуда: Чибики!^^
Регистрация: 23-08-2009
Сообщений: 503
Профиль

Re: Вопросы по написанию игровых скриптов

Хм, возьмём локацию аэропорт:

Код:

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
        }

Неполучается вставлять ботов(((


Tell me what's up and I'll adjust-ez-vous!

Оффлайн

 

#335 01-10-2009 18:59:48

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

Re: Вопросы по написанию игровых скриптов

а ведь нету в аэропорту бота с именем 'evilkonoko'. вся информация о ботах (координаты появления, флаги, класс, поведение и т. д.) хранится в levelXX_Final\BINACJBOCharacters.oni, где XX это номер уровня. следовательно, у каждого уровня свой набор ботов. 'evilkonoko' есть в уровне Dream Lab, но больше нигде этого бота нет. тебе нужно добавить в BINACJBOCharacters.oni в папке аэропорта информацию о боте 'evilkonoko'. тогда этот скрипт, что ты выложила, заработает. подробнее о структуре файла BINACJBOCharacters.oni переведённого в XML можно узнать здесь или здесь.


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

Оффлайн

 

#336 02-10-2009 09:22:50

vit86rus (жен.)
я кошко-магазинко
Откуда: Чибики!^^
Регистрация: 23-08-2009
Сообщений: 503
Профиль

Re: Вопросы по написанию игровых скриптов

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

а ведь нету в аэропорту бота с именем 'evilkonoko'

Понятно

Отредактировал(а) vit86rus (02-10-2009 09:24:04)


Tell me what's up and I'll adjust-ez-vous!

Оффлайн

 

#337 02-10-2009 09:41:33

vit86rus (жен.)
я кошко-магазинко
Откуда: Чибики!^^
Регистрация: 23-08-2009
Сообщений: 503
Профиль

Re: Вопросы по написанию игровых скриптов

Я что то не понимаю, как о ней написать((( "Много букфф"...
Куда её вставлять в BINACJBOCharacters.oni ?


Tell me what's up and I'll adjust-ez-vous!

Оффлайн

 

#338 03-10-2009 21:58:55

vit86rus (жен.)
я кошко-магазинко
Откуда: Чибики!^^
Регистрация: 23-08-2009
Сообщений: 503
Профиль

Re: Вопросы по написанию игровых скриптов

Лады, Аригато, demos_kratos за твой поучительный урок :)
Итак, я научилась создавать Коноко, а теперь как их сделать клонами?(армия Конок нападают на меня...)


Tell me what's up and I'll adjust-ez-vous!

Оффлайн

 

#339 04-10-2009 18:33:31

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

Re: Вопросы по написанию игровых скриптов


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

Оффлайн

 

#340 05-10-2009 08:00:31

vit86rus (жен.)
я кошко-магазинко
Откуда: Чибики!^^
Регистрация: 23-08-2009
Сообщений: 503
Профиль

Re: Вопросы по написанию игровых скриптов

БОЛЬШОЕ СПС!)))


Tell me what's up and I'll adjust-ez-vous!

Оффлайн

 

Board footer

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