Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила этого форума ПРАВИЛА РАЗДЕЛА
> Азы скриптинга NWN/NWN2. Внеклассные занятия, Открыто для всех желающих
Neo
сообщение Oct 6 2007, 22:55
Сообщение #1



Иконки Групп

Класс: Пьяный Мастер
Характер: Lawful Good
Раса: Тварь
MySQL, PHP, JavaScript
Порядок Времени



а это... можно спросить? (IMG:style_emoticons/kolobok_light/blush.gif) а что такое переменная? (IMG:style_emoticons/kolobok_light/blush.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
shadowdweller
сообщение Oct 30 2007, 23:40
Сообщение #2


Level 9
Иконки Групп

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Решилась таки тоже ответить. (IMG:style_emoticons/kolobok_light/ph34r.gif)
В принципе, тут можно пойти по пути наименьшего сопротивления и сделать два скрипта:
1) Скрипт на сундук, который при закрывании дает золото.
Ставится OnClosed, при этом каждый раз в сундуке создается определенное количество золота. Для этого понадобится функция
Код
CreateItemOnObject("nw_it_gold001", OBJECT_SELF, 5);
где
"nw_it_gold001" - резреф (шаблон) создаваемого предмета,
OBJECT_SELF - объект, в инвентаре которого создается предмет, и
5 - количество предметов, которое будет создаваться. В общем-то, это и весь скрипт, он несложный.
Neverwinter Script Source
void main( )
{
CreateItemOnObject( "nw_it_gold001", OBJECT_SELF, 5 );
}

Хотя, мне кажется, я что-то пропустила и такой скрипт уже был??

2) Со вторым будет сложнее. Во-первых, нам понадобится условие
Neverwinter Script Source
if ( GetItemPossessor( GetObjectByTag( "it_botle_stq1" ) ) = OBJECT_SELF ) // Дальше пойдет цикл - надо раздеть РС и переложить предметы в инвентарь ( мы ж не звери, чобы для вознаграждения уничтожать все, что надето на игроке : ) )

object oItem = GetFirstItemInInventory( oEnter ); 
    while ( GetIsObjectValid( oItem ) )
   
    int nSlot;
    for ( nSlot = 0; nSlot < NUM_INVENTORY_SLOTS; nSlot++ )
    {
          oItem = GetItemInSlot( nSlot, oEnter );
          ActionUnequipItem( oItem );
    }

А вот дальше будет намного сложнее, поэтому куски скритов постить не буду. Наверное, дальше нам понадобится задать интеджер ( назовем int iChar, например), чтобы определить, какие же именно основные характеристики у РС больше 15.
Потом надо будет просмотреть все характеристики РС при помощи цикла (вот не знаю только, какого) и функции GetAbilityScore, и задать SetAbilityScore (iChar+1).
Ну, тут еще необходимо или задать в начале скрипта то, что он срабатывает один раз, или просто удалить с алтаря искомый объект - бутылку с "божьей росой", и повесить над алтарем спецэффект какой-нибудь, дабы у РС не возникло искушение прокачивать на халяву все эти характеристики бесконечно
Это просто
Neverwinter Script Source
DestroyObject( GetObjectByTag( "it_botle_stq1" ) );
// И, например, окружим алтарь световым кругом.
CreateObject( OBJECT_TYPE_PLACEABLE, "plc_solblue", location lLocation )

Только для этого нам нужно задать под алтарем вейпойнт и определить его как ту самую локацию (location lLocation), на которой будет создаваться плейсебл-эффект.
Немного сумбурно и здорово намудрила, конечно... (IMG:style_emoticons/kolobok_light/snoozer_17.gif)

ЗЫ: Lex, а где проверка д/з по описанию скриптов?

Сообщение отредактировал shadowdweller - Oct 30 2007, 23:42
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- Neo   Азы скриптинга NWN/NWN2. Внеклассные занятия   Oct 6 2007, 22:55
- - Aiwan   Переме́нная в традиционных языках программиро...   Oct 7 2007, 11:45
- - Vhall   QUOTE(Ёжик @ Oct 7 2007, 14:03) Почему oN...   Oct 7 2007, 13:43
- - mamuc   ЦитатаИнтеджер integer - это целое значение. может...   Oct 8 2007, 09:26
- - Neo   Цитата(mamuc @ Oct 8 2007, 10:26) маленьк...   Oct 8 2007, 13:43
- - mamuc   ЦитатаКаждый в скрипте имя oSelf сменит на свой ни...   Oct 8 2007, 14:23
- - Aiwan   mamuc, мне нужен был результат в виде кода. Я хочу...   Oct 8 2007, 16:14
- - Artlira   mamuc Если проиграть вариант с сундуком, то должн...   Oct 9 2007, 02:36
- - Lex   Да, именно так и будет. Добавлено через 3 минуты ...   Oct 9 2007, 08:15
- - mamuc   ЦитатаПри условии, что сундук пуст (OnClose), cкри...   Oct 9 2007, 08:54
- - Aiwan   Не надо ничего объединять. Лебедь Рак и Щука тоже ...   Oct 9 2007, 09:10
- - mamuc   ЦитатаНе надо ничего объединять. Лебедь Рак и Щука...   Oct 9 2007, 09:19
- - Griffon   Хорош вам уже грызться Neverwinter Script Sour...   Oct 9 2007, 11:33
- - Aiwan   Цитата(mamuc @ Oct 9 2007, 12:19) то есть...   Oct 9 2007, 11:52
- - mamuc   Цитатаobject Target=PC если ты хочешь это сделать ...   Oct 9 2007, 11:56
- - Griffon   Найти не так все сложно Neverwinter Script Source...   Oct 9 2007, 12:27
- - mamuc   Цитатаobject oUser = GetLastUsedBy() ; это есть то...   Oct 9 2007, 13:05
- - Artlira   ЦитатаЕсть мысли (Хотя бы на словах), как сделать ...   Oct 9 2007, 13:40
- - Griffon   Цитата(mamuc @ Oct 9 2007, 12:56) и еще о...   Oct 9 2007, 13:40
- - mamuc   ЦитатаМне кажется надо изменить определение объект...   Oct 9 2007, 13:53
- - Artlira   Цитатаа теперь найдите функцию с какой вы можете д...   Oct 9 2007, 14:42
- - mamuc   ЦитатаGiveGoldToCreature(GetPCSpeaker(),1000);? фу...   Oct 9 2007, 14:53
- - Griffon   Не не верно. Это подойдет при разговоре. Правильна...   Oct 9 2007, 14:56
- - mamuc   ЦитатаGiveGoldToCreature(GetLastClosedBy(),1000)? ...   Oct 9 2007, 15:27
- - Lex   Цитата(Artlira @ Oct 9 2007, 15:42) GiveG...   Oct 9 2007, 15:59
- - Griffon   Neverwinter Script Sourcevoid main() {   ...   Oct 9 2007, 18:34
- - Lex   Цитата(Griffon @ Oct 9 2007, 19:34) пришл...   Oct 9 2007, 19:51
- - Griffon   Идея идиотская, конечно же. Поскольку придется выл...   Oct 9 2007, 21:24
- - Lex   Цитата(Griffon @ Oct 9 2007, 22:24) пасат...   Oct 9 2007, 21:27
- - Artlira   Цитатакак скриптом сделать уничтожение всего , что...   Oct 10 2007, 04:14
- - Lex   Цитата(Artlira @ Oct 10 2007, 05:14) 2. О...   Oct 10 2007, 08:55
- - mamuc   то Griffon Цитатаvoid main() { object oPC ...   Oct 10 2007, 09:25
- - Lex   Может не стоит пока циклы?   Oct 10 2007, 09:40
- - mamuc   ЦитатаМожет не стоит пока циклы? стоит - это ведь...   Oct 10 2007, 09:47
- - Lex   Цитата(mamuc @ Oct 10 2007, 10:47) и кста...   Oct 10 2007, 11:00
- - mamuc   Цитатаа я кстати знаю как без цикла это сделать, п...   Oct 10 2007, 12:13
- - Lex   Цитата(mamuc @ Oct 10 2007, 13:13) и без ...   Oct 10 2007, 12:26
- - mamuc   а условие у нас и так само собой появиться - ведь ...   Oct 10 2007, 12:37
- - Lex   Цитата(mamuc @ Oct 10 2007, 13:37) ...   Oct 10 2007, 13:02
- - mamuc   Цитататы чего-то путаешь unacquire, а не unequip....   Oct 10 2007, 13:14
- - Griffon   mamuc, Цитата(mamuc @ Oct 10 2007, 10:25...   Oct 10 2007, 15:32
- - Artlira   Цитатабеда в том, что это - первый предмет в сунду...   Oct 10 2007, 15:36
- - Lex   Цитата(Artlira @ Oct 10 2007, 16:36) Може...   Oct 10 2007, 16:12
- - mamuc   и так, мы уже довольно подробно разобрали задачу о...   Oct 11 2007, 10:17
- - Artlira   Цитатасуть именно "в круговую". И еще - ...   Oct 11 2007, 10:58
- - Lex   Цитата(Artlira @ Oct 11 2007, 11:58) if (...   Oct 11 2007, 11:23
- - mamuc   то Artlira только одна маленькая ошибка(даже н...   Oct 11 2007, 11:43
- - Lex   Цитата(Griffon @ Oct 9 2007, 22:24) функц...   Oct 13 2007, 17:27
- - Vhall   [ OFFTOP ]QUOTE(Lex @ Oct 13 2007, 18:27)...   Oct 13 2007, 18:07
- - Lex   Вал, 6 из 10 правильно Добавлено через 21 минуту...   Oct 13 2007, 18:45
- - shadowdweller   [ OFFTOP ] 1. .. определяет, кто последний взял/по...   Oct 13 2007, 20:10
- - Lex   shadowdweller, 1 неправильное.   Oct 13 2007, 20:33
- - shadowdweller   Эх, если бы еще уметь пользоваться всеми этими фун...   Oct 13 2007, 20:59
- - Artlira   Цитатаcобсно задание простое. Описать что делает с...   Oct 19 2007, 12:05
- - mamuc   у нас была небольшая пауза во время которой вы мог...   Oct 19 2007, 12:48
- - Artlira   Цитататеперь нам надо весь процесс квеста отскрипт...   Oct 29 2007, 04:49
- - Lex   Цитата(Artlira @ Oct 29 2007, 04:49) Мне ...   Oct 29 2007, 09:37
- - mamuc   Lex я дал такое задание и потому , что оно ЕСТЕСТВ...   Oct 29 2007, 10:11
- - shadowdweller   Решилась таки тоже ответить. В принципе, тут мо...   Oct 30 2007, 23:40
2 страниц V   1 2 >


Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 26th April 2025 - 15:16