Показать сообщение отдельно
Старый 11.06.2008, 03:29   #4
Melshin
Приближенный Тира
 
Аватар для Melshin
 
Регистрация: 20.12.2007
Адрес: Санкт-Петербург
Сообщения: 2,096
Власть репутации: 703 Melshin У него еще все впереди!
По умолчанию Re: Готов стать скриптером

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

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

1. Триггер, лежащий на земле, при наступании на триггер игроком игрок произносит "Hello Word". (работа с интерфейсом)
2. Триггер, лежащий на земле, срабатывающий только если на него наступил ИГРОК. (работа с условием)
3. То же самое, срабатывающее после открытия двери, убийства двух мобов. (работа с локальными переменными)
4. Перенести локальные переменные с персонажа на айтем.
5. Сделать айтем, на использовании которого игрок говорит "Hello Word".
6. Сделать айтем, юзающийся на цели с определенным расстоянием/радиусом, эта цель должна после юза сказать "Hello World".
7. Хм, чего б еще придумать... Скрипт, парсящий 10 специально созданных забитых всякой хренью лок и ищущий в инвентаре "всякой хрени" предмет. Причем такой скрипт, чтобы лага не было.
8. Сложное задание, затрагивает не только скриптинг, а кучу всякой фигни в НВН2. Сравнивать буду со своей версии (я цука свободный художник и постоянно делаю то, что мне хочется, вместо того, чтобы заниматься полезной для шарда деятельностью). Создать 2 спелла. 1 спелл создает магические круги (максимум 2), круги создаются на локе и не исчезают ни при каких обстоятельствах, при смене лок в особенности. Второй спелл собирает информация об обьектах, находящихся в радиусе действия каждого круга и меняет их местами. Сделать даже так, чтобы работало через локи и т.д. Анимацию "смены" или телепортации так уж и быть, выложу, я ее разрыл в инете (все должно выглядеть красиво).

effect eVis = EffectNWN2SpecialEffectFile( "fx_teleport" );
float fDelay = 0.0;
DelayCommand(fDelay, ApplyEffectAtLocation( DURATION_TYPE_INSTANT, eVis, locSelf ) );
DelayCommand(fDelay + 0.5, SetScriptHidden(OBJECT_SELF, TRUE, FALSE) );
[важный момент, тут надо что-то написать, иначе будут баги]
[скрипт прыжка]
DelayCommand(fDelay + 1.2, ApplyEffectAtLocation( DURATION_TYPE_INSTANT, eVis, locTarget ) );
DelayCommand(fDelay + 1.4, SetScriptHidden(OBJECT_SELF, FALSE) );

Задавайте вопросы и постараюсь ответить.

После выполнения всех этих заданий можно гордо ударить себя в грудь и сказать: "Йа скриптер- нуп".

ЗЫ: необходимость есть, дело в том, что нет координации в текущей команде, т.е., координация есть, но тима совместно друг с другом не работает, выполняют определенные задания... Когда кто-то дойдет до оптимизации, станет ясно, почему скриптеру так хреново, когда у него на руках нету локи, для которой он это дело делает... В общем, это оффтоп, просто хочу сказать, что работа соло реально бесит (во всяком случае, меня). Токс или кто-то там что-то делает, но советоваться не с кем, т.к. либо никого нет, либо все заняты, ;).
__________________
Мера наносит нам поражение.
Melshin is offline   Ответить с цитированием