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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 9 10 11 12 13 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Аваддон
сообщение Sep 14 2004, 16:03
Сообщение #241


Level 10
***

Класс: Воин
Характер: Lawful Neutral
Раса: Человек
NWN: Скриптинг [PW]



А мона сделать много тригеров и вейпов. И как солдать на него наступает - проверять че за солдат и направлять его к определенному вейпу
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Sep 14 2004, 17:51
Сообщение #242


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Брррр... Гемор. Не стоит свеч. Имхо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 14 2004, 18:59
Сообщение #243


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Самый наименее геморный способ - ActionForceFollowObject
Добавлено в [mergetime]1095177569[/mergetime]
качество не охти, но зато никаких трудностей
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Sep 14 2004, 19:31
Сообщение #244


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



В ногу они все равно шагать не будут :D.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gor
сообщение Sep 22 2004, 03:17
Сообщение #245


Level 3
*

Класс: Рейнджер
Характер: Lawful Good
Раса: Человек
NWN: Маппинг



QUOTE
Сделать всех одним кричем. Лучше плайсом и его двигать.


Что есть "кричем?"

QUOTE
А мона сделать много тригеров и вейпов. И как солдать на него наступает - проверять че за солдат и направлять его к определенному вейпу


Хм, наверное, так что-то получится. Да, геморно :yes:

QUOTE
Брррр... Гемор. Не стоит свеч. Имхо.


СтОит. Заходишь в город, а там сурово - война, все идут на фронт. Сразу настраивает на нужный лад.

QUOTE
Самый наименее геморный способ - ActionForceFollowObject


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

2DBColl. Насчет карты, как в Леворе. Можно сделать так? На плане карта боя, кругом войска - их мышкой перекидываешь, в общем, стратегия. К примеру, оборона города во второй части ХотУ - с такойкартойбысмотрелась






Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Sep 22 2004, 10:42
Сообщение #246


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



QUOTE (gor @ Sep 22 2004, 03:17)
Что есть "кричем?"

Creature.
QUOTE (gor @ Sep 22 2004, 03:17)
Хм, наверное, так что-то получится. Да, геморно

Не получится. Все равно будет сбоить. :this:
QUOTE (gor @ Sep 22 2004, 03:17)
СтОит. Заходишь в город, а там сурово - война, все идут на фронт. Сразу настраивает на нужный лад.

Можно не толпой отправлять. А по частям. По 3 чела допустим. Тогда можно хорошо сделать. И лад тоже будет нужный ;). Если еще экран взрывами потрясывать.
Есть на самом деле куча способов ОБОЗНАЧИТЬ военные действия и утыкаться в то, что практически не реализуемо не стоит. Лучше подумать хорошенько и попробовать другие методы ;).
QUOTE (gor @ Sep 22 2004, 03:17)
Надо, чтобы просто шла вооруженная группа и было видно, что это организованная единица. Навороченной анимации - не обязательно.

Имхо, как сказал Dark Lord это получится только если делать ВСЮ толпу одним кричем с одинаковой анимацией... Но смотреться будет не лучшим образом, когда при наведении мыши будет подсвечиваться ВСЯ толпа... Потому ЛУЧШЕ забить на это. Пробовать другие способы. :yes:
QUOTE (gor @ Sep 22 2004, 03:17)
2DBColl. Насчет карты, как в Леворе. Можно сделать так? На плане карта боя, кругом войска - их мышкой перекидываешь, в общем, стратегия. К примеру, оборона города во второй части ХотУ - с такой картой бы смотрелась

Не знаю... А оно надо? Хех. Может и можно как-то сделать, если подумать. Но я бы не стал гемориться со стратегией... НВН не для того заточен :buba:.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Shad
сообщение Sep 24 2004, 01:32
Сообщение #247


Level 3
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Вот, несколько вопросов возникло... под пол-ворого ночи. Кто знает - подскажите:
1. Как в скрипте восстановить количество кастов спелла.//: функцию IncrementRemainingFeatUses() нашёл, есть также DecrementRemainingFeatUses() и DecrementRemainingSpellUses(), а вот IncrementRemainingSpellUses() - такой или подобной почему-то нет, в т. ч. не нашёл и в стандартных инклудах.
2. Как сделать AreaOfEffect, не подверженную диспеллу?// Прописывание её при наложении как ExtraordinaryEffect не помогает...
3. Как сделать, чтобы Item свободно левитировал в воздухе, и чтобы его из воздуха можно было взять?//Редакторе висит, в игре падает вниз.
4. Как сделать, чтобы работали фиты на Creature Weapon - Improved Critical, Overwhelming Critical, например. У меня не работают.
5. Как сделать, чтобы Creature Weapon наносил одновременно разные типы физического урона (Режущий и колющий и дробящий сразу).// Когда ставлю такие свойства на оружме, или эффект на существо - урон растет но остаетья того же типа, что на базовом предмете оружии.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Twin
сообщение Oct 1 2004, 04:47
Сообщение #248


Level 5
**

Класс: Некромант
Характер: Neutral Evil
Раса: Нежить
NWN: Скриптинг [PW]



У меня не работает DelayCommand, если я вызываю его из onDeath и указанное время больше чем примерно 5.0f. Попробуйте вписать себе в onDeath любого НПС следующее:

Neverwinter Script Source
#include "x2_inc_compon"
#include "x0_i0_spawncond"

void DoSpawn2();

void main()
{
    int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
    int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
    object oKiller = GetLastKiller();

    // If we're a good/neutral commoner,
    // adjust the killer's alignment evil
    if ( nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL) )
    {
        AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
    }

    // Call to allies to let them know we're dead
    SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);

    //Shout Attack my target, only works with the On Spawn In setup
    SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);

    DelayCommand( 20.0f, DoSpawn2());
    SendMessageToPC(GetFirstPC(), "debug 1");

    // NOTE: the OnDeath user-defined event does not
    // trigger reliably and should probably be removed
    if ( GetSpawnInCondition(NW_FLAG_DEATH_EVENT) )
    {
        SignalEvent(OBJECT_SELF, EventUserDefined(1007));
    }

    craft_drop_items(oKiller);
}

void DoSpawn2()
{
    SendMessageToPC(GetFirstPC(), "debug2");
}


Смысловой нагрузки в DoSpawn2() нет, т.к. у нас идет типа отладка. Проблема в том, что у меня "debug2" не пишет, если понизить время в DelayCommand до 5.0f то напишет, но мне то нужно таймер больше чем минуты делать. Почему так происходит я не знаю, еще очень мало работаю с тулсетом. Может кто подскажет как мне реализовать таймер после убийства НПС, причем я должен иметь доступ к свойствам убиваемого НПС (только для чтения, не для записи:)).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 1 2004, 05:38
Сообщение #249


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Твоя функция вызывается скорее всего ПОСЛЕ разрушения твоего НПС. Вот посему он ее и не находит после 5 секунд.
Добавлено в [mergetime]1096598585[/mergetime]
Если ты хочешь какой то набор действий, то лучше запускай через DelayCommand отдельный скрипт.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Twin
сообщение Oct 1 2004, 07:24
Сообщение #250


Level 5
**

Класс: Некромант
Характер: Neutral Evil
Раса: Нежить
NWN: Скриптинг [PW]



Aiwan
Ок, на счет разрушения. Если ты говоришь так, значит так. Я это допускал. Но объясни мне, как может DelayCommand зависить от существования OBJECT_SELF'а? Это же бред. 5 секунд, примерно изчезают останки с карты и появляется лут, видимо этот отрезок и является ключевым. Но его править не размуно. Опять же, выходит такой кривой движок, если DelayCommand перестает работать после уничтожения объякта, вызвавшего его? Ведь DoSpawn2() никакого отношения к OBJECT_SELF'у не имеет. Не приятно, что через такую жопу всё... :swoon:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 1 2004, 09:25
Сообщение #251


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Ты вешаень на НПС команду с зедержкой на 20 сек. А если через 20 сек нет этого НПС, то все. Твоя команда потерялась, так как нет объекта, к которому была привязка..все логично
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Oct 1 2004, 10:33
Сообщение #252


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Лекс, абсолютно прав в своем ответе. И все действительно ЛОГИЧНО.
QUOTE (Twin @ Oct 1 2004, 04:47)
Проблема в том, что у меня "debug2" не пишет, если понизить время в DelayCommand до 5.0f то напишет, но мне то нужно таймер больше чем минуты делать. Почему так происходит я не знаю, еще очень мало работаю с тулсетом. Может кто подскажет как мне реализовать таймер после убийства НПС, причем я должен иметь доступ к свойствам убиваемого НПС (только для чтения, не для записи).

А вот в этом случае я бы тебе советовал делать перед смертью
SetDestroyable(OBJECT_SELF, ...); - чтобы не пропадал труп!
Весь инвентарь выкидывал в какой-то лут-контейнер рядом... И уже на этот контейнер можно повесить конструкцию:

AssignCommand(oLoot, DelayCommand(30.0, действие));

Затем сразу можно Destroy'ить тело ;).
<small>Добавлено в 10:38</small>
QUOTE
DelayCommand( 20.0f, DoSpawn2());

QUOTE (Twin @ Oct 1 2004, 07:24)
Опять же, выходит такой кривой движок, если DelayCommand перестает работать после уничтожения объякта, вызвавшего его? Ведь DoSpawn2() никакого отношения к OBJECT_SELF'у не имеет. Не приятно, что через такую жопу всё...

Это как это НЕ ИМЕЕТ??? :swoon: ИМЕЕТ! :yes:
Замени свою конструкцию на
Neverwinter Script Source
AssignCommand(oKiller, DelayCommand(20.0, ExecuteScript("скрипт с DoSpawn2()")));

...и увидишь разницу. ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 1 2004, 11:31
Сообщение #253


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Twin @ Oct 1 2004, 10:24)
Я это допускал. Но объясни мне, как может DelayCommand зависить от существования OBJECT_SELF'а? Это же бред.

Ты не прав. Посмотри, твоя команда
Neverwinter Script Source
DelayCommand( 20.0f, DoSpawn2());

Вызывает функцию, которая прописана в скрипте объекта OBJECT_SELF.
ТЫ ВЫЗЫВАЕШЬ эту функцию через 10 секунд, например, а функции УЖЕ НЕТ! Так как она была прописана на НПС а он дестроился. Все это будет работать так скрипт с именем DoSpawn2:
Neverwinter Script Source
void DoSpawn2()
{
    SendMessageToPC(GetFirstPC(), "debug2");
}


Будет запускаться таким образом:

Neverwinter Script Source
#include "x2_inc_compon"
#include "x0_i0_spawncond"

void DoSpawn2();

void main()
{
    int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
    int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
    object oKiller = GetLastKiller();

    // If we're a good/neutral commoner,
    // adjust the killer's alignment evil
    if ( nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL) )
    {
        AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
    }

    // Call to allies to let them know we're dead
    SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);

    //Shout Attack my target, only works with the On Spawn In setup
    SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);

    DelayCommand( 20.0f,  ExecuteScript("DoSpawn2", GetFirstPC()));
    SendMessageToPC(GetFirstPC(), "debug 1");

    // NOTE: the OnDeath user-defined event does not
    // trigger reliably and should probably be removed
    if ( GetSpawnInCondition(NW_FLAG_DEATH_EVENT) )
    {
        SignalEvent(OBJECT_SELF, EventUserDefined(1007));
    }

    craft_drop_items(oKiller);
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 1 2004, 18:59
Сообщение #254


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



на такую халаву все горазды отвечать (и я в том числе).
А вот на 5 вопросов Shadа никто ответить даже не пытался..признаюсь, что некоторые (вопросы) ставят меня в тупик.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Twin
сообщение Oct 2 2004, 01:43
Сообщение #255


Level 5
**

Класс: Некромант
Характер: Neutral Evil
Раса: Нежить
NWN: Скриптинг [PW]



Ох, сорри. ;) Просто мне очень хотелось верить в то что DelayCommand работает на низком уровне и уж априори не является свойством объекта. Ну нет так нет. :) Я в тулсете ноль, хотя после ваших ответов уже с палочкой. :yes: Спасибо.

2 DBColl:
Я писал авто-респаун НПСей для PW не через энкаунтеры, а по событию смерти. Лут их мне не был нужен, лиш resref и тэг. В итоге так и реализовал, как ты советывал, вешая DelayCommand на "системный" плэйс (чтоб ДМ мог его разломать и все респауны прекратились :lol:).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 2 2004, 08:30
Сообщение #256


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Shad Пропустил твой пост... тока нашел...
QUOTE (Shad @ Sep 24 2004, 04:32)
3. Как сделать, чтобы Item свободно левитировал в воздухе, и чтобы его из воздуха можно было взять?//Редакторе висит, в игре падает вниз.

Никак. Вся инфа об итемах и простых предметах на арене находится в вайлах локации. А изменение координаты Z можно лишь через тулсет. Но можно сделать невидимый объект на уровне тайлов, с возможностью ходить по нему. Тогда это будет невидимый объект - пъедестал, который будет тормозом для игрока. Есть еще способ, он проще но есть но. Делаешь в Махе два предмета с разными координатами и размерами. Например как картины в НВН. Основание далеко внизу а макушка видимая вверху, в виде pls объекта. Затем дестрой-крет в инвентаре твой итем. Но Объект будет активным скорее всего весь, так что тут свои изъяны.
А вообще, сделать что то в НВН красиво и без изврата не возможно.
QUOTE (Shad @ Sep 24 2004, 04:32)
4. Как сделать, чтобы работали фиты на Creature Weapon - Improved Critical, Overwhelming Critical, например. У меня не работают.
5. Как сделать, чтобы Creature Weapon наносил одновременно разные типы физического урона (Режущий и колющий и дробящий сразу).// Когда ставлю такие свойства на оружме, или эффект на существо - урон растет но остаетья того же типа, что на базовом предмете оружии.

Это все редактирование 2Да. Что именно и возможно ли все что ты просишь я не знаю. Но из логики работы с редактором могу сказать только одно. Любое действие, то бишь тот же урон, есть такой же Action как и многое другое. Следовательно он становится в очередь при механике боя, при расчете кубиков. И поэтому он возможен только один, а не вся куча критикалов. Ведь правила ДнД вшиты круто в движок и многое не выдрать.

И скажу на последок вот что. Многие вопросы твои сложны, но для модуля они не нужны. можешь спорить со мной можешь не спорить. Это вопросы человека залезшего в тулсет и решившего поковырять его круто для себя. Но реально они игроку будут до жопы. Ему наплвать на все критикалы и прочее, ему подавай атмосферу, сюжет, красивости и прочее. Те вещи что ты ковыряешь съедают львиную долю возможностей твоих как изготовоителя модуля. В итоге не останется сил на завершение и ты можешь погрязнуть в неосуществимых мечтах и планов. Подумай десять раз, стоит ли твой гемморой стольких свечь или нет?

п.с. Не обижайся, если я резковато ответил :yes: А вообще, чем занят? ;) Может поделишься инфой?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elven king
сообщение Oct 4 2004, 17:53
Сообщение #257


Level 12
****

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Эльф
NWN: Маппинг



Такая прозьбы, для опытных мастеров:
Кто исправит мой скрипт для отдыха, а то я уже голову сломал и так, и эдак пробовал, но нифига не выходит :( Помогите!
Вот собстна сам скрипт:
rest
CODE
void DestroyFirecamp(object oCampFire=OBJECT_SELF)
{
// Создаем обгорелое пятно на месте костра и гасим костер
 object oLandMark=CreateObject(OBJECT_TYPE_PLACEABLE,"plc_weathmark",GetLocation(oCampFire));
// Пятно исчезает через 120 секунд (2 реальных минуты, 1 игровой час). Менять по вкусу
 AssignCommand(oLandMark,DelayCommand(120.0,DestroyObject(oLandMark)));
 DestroyObject(oCampFire);
}

void ApplyRestEffect(object oTarget=OBJECT_SELF)
{
// Создаем эффекты сна. Функцию править по вкусу.
 effect eSleep=EffectBlindness();

 if (GetRacialType(oTarget)==RACIAL_TYPE_ELF)
 {
// Эльфы едят и пьют другое
object FindFood(object oTarget=OBJECT_SELF)
{
 object oEnum=GetFirstItemInInventory(oTarget);
 while (GetIsObjectValid(oEnum) && (GetTag(oELEnum)!="FOODELVEN"))
     oEnum=GetNextItemInInventory(oTarget);
 return oEnum;
}
object FindWater(object oTarget=OBJECT_SELF)
{
 object oELWATER=GetFirstItemInInventory(oTarget);
 while (GetIsObjectValid(oELWATER) && (GetTag(oELWATER)!="WATERELVEN"))
     oEnum=GetNextItemInInventory(oTarget);
 return oELWATER;
}


     // Эффект сна на 30 секунд. Менять по желанию.
 ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eSleep,oTarget,30.0);
}

object FindFood(object oTarget=OBJECT_SELF)
{
 object oEnum=GetFirstItemInInventory(oTarget);
 while (GetIsObjectValid(oEnum) && (GetTag(oEnum)!="FOOD"))
     oEnum=GetNextItemInInventory(oTarget);
 return oEnum;
}
object FindWater(object oTarget=OBJECT_SELF)
{
 object oWATER=GetFirstItemInInventory(oTarget);
 while (GetIsObjectValid(oEnum) && (GetTag(oEnum)!="WATER"))
     oWATER=GetNextItemInInventory(oTarget);
 return oEnum;
}


makecamp (вешать на OnUsed дров)
CODE
#include "rest"

void main()
{
 object oPC=GetLastUsedBy();
 if (!GetIsPC(oPC)) return;
 object oTorch=GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC);
 if (GetIsObjectValid(oTorch) &&
        (GetTag(oTorch) == "NW_IT_TORCH001") &&
// Флаг, висящий на области (например в таверне) и позволяющий отдыхать бесплатно
        (GetLocalInt(GetArea(oPC),"NoCampArea") != TRUE)) {
     object oFire=CreateObject(OBJECT_TYPE_PLACEABLE,"campfire",GetLocation(OBJECT_SELF));
     DestroyObject(OBJECT_SELF);
// Огонь гаснет через 900 секунд (15 реальных минут или 7,5 игровых часов)
// Менять по желаю
     AssignCommand(oFire,DelayCommand(900.0,DestroyFirecamp(oFire)));
 } else {
     CreateItemOnObject("wood",oPC);
     DestroyObject(OBJECT_SELF);
 }
}


dropwood (вешать OnUnAquiredItem модуля)
CODE
void main()
{
 object oPC=GetModuleItemLostBy();
 if (!GetIsPC(oPC)) return;
 object oItem=GetModuleItemLost();
 if (!GetIsObjectValid(oItem)) return;
 string sResRef=GetTag(oItem);
 if (sResRef=="WOOD")
 {
     if (GetIsObjectValid(GetAreaFromLocation(GetLocation(oItem)))) {
         CreateObject(OBJECT_TYPE_PLACEABLE,"woodpile",GetLocation(oItem));
         DestroyObject(oItem);
     }
 }
}

resteffect (вешать на OnRested модуля)

CODE
#include "rest"

void main()
{
 object oPC=GetLastPCRested();
 if (GetCurrentAction(oPC)!=ACTION_REST) return;
 int iFreeRest=GetLocalInt(GetArea(oPC),"FreeRestArea");
 if (iFreeRest) ApplyRestEffect(oPC);
 else {
     object oCampFire=GetNearestObjectByTag("campfire",oPC);
// нельзя отдыхать дальше 3 метров от костра (расстояние менять по вкусу)
     if (GetIsObjectValid(oCampFire) && (GetDistanceBetween(oPC,oCampFire)<=3.0))
{
         object oFood=FindFood(oPC);
         if (GetIsObjectValid(oFood)) {
             DestroyObject(oFood);
             ApplyRestEffect(oPC);
         } else {
             FloatingTextStringOnCreature("Мне надо перекусить",oPC,FALSE);
             AssignCommand(oPC,ClearAllActions());
         }
     } else {
         FloatingTextStringOnCreature("Я не могу отдыхать далеко от костра",oPC,FALSE);
         AssignCommand(oPC,ClearAllActions());
     }
 }
object oWATER=FindWater(oPC);
         if (GetIsObjectValid(oWATER)) {
             DestroyObject(oWATER);
             ApplyRestEffect(oPC);
         } else {
             FloatingTextStringOnCreature("Мне надо попить",oPC,FALSE);
             AssignCommand(oPC,ClearAllActions());
         }
     } else {
         FloatingTextStringOnCreature("Я не могу отдыхать далеко от костра",oPC,FALSE);
         AssignCommand(oPC,ClearAllActions());
     }
 }
}
object oELFood=FindFood(oPC);
         if (GetIsObjectValid(oFood)) {
             DestroyObject(oELFood);
             ApplyRestEffect(oPC);
         } else {
             FloatingTextStringOnCreature("Мне надо перекусить",oPC,FALSE);
             AssignCommand(oPC,ClearAllActions());
         }
     } else {
         FloatingTextStringOnCreature("Я не могу отдыхать далеко от костра",oPC,FALSE);
         AssignCommand(oPC,ClearAllActions());
     }
 }
object oELWATER=FindELWater(oPC);
         if (GetIsObjectValid(oELWATER)) {
             DestroyObject(oELWATER);
             ApplyRestEffect(oPC);
         } else {
             FloatingTextStringOnCreature("Мне надо попить",oPC,FALSE);
             AssignCommand(oPC,ClearAllActions());
         }
     } else {
         FloatingTextStringOnCreature("Я не могу отдыхать далеко от костра",oPC,FALSE);
         AssignCommand(oPC,ClearAllActions());
     }
 }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Oct 4 2004, 21:06
Сообщение #258


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Хех, ты бы хоть написал, что ты от него хочешь... Хехехе... Во дал! А то, "кто исправит"! Я балдю! :lol: :lol: :crazy:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 4 2004, 21:23
Сообщение #259


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Алучше сделай тестовый модуль и выложи его. С итемами и скриптами. :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elven king
сообщение Oct 4 2004, 22:55
Сообщение #260


Level 12
****

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Эльф
NWN: Маппинг



Вобщем скрип на отдых...
Смысл скрипта вот в чем: игрок кладет из инвентаря дрова, на землю потом поджигает их факелом - появляется модель костра, потом возле костра игрок нажимает rest и тогда скрипт проверяет есть ли у PC еда и вода, если PC эльф, то скрипт проверяет есть ли эльфийская вода или эльфийский паек...
ЗЫ. Выложить модуль пока времени нету... Но постараюсь найти его. :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 4 2004, 23:02
Сообщение #261


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



нужен не весль модуль, а только кусочек, где это все вставлено.

Похоже на стандартный отдых. На Эксисе такой точно был (кроме эльфийской части)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Аваддон
сообщение Oct 9 2004, 00:14
Сообщение #262


Level 10
***

Класс: Воин
Характер: Lawful Neutral
Раса: Человек
NWN: Скриптинг [PW]



Няяя... У меня такой вопрос. В локе City Exterior можно на стенах на махрячить факелов. Когда мы включаем освещение локации clear - факелы не горят, и ночью тожа. А когда Torch Only - горят. Мутил мутил, сравнивал, да так и не понял. Как бы сделать так, чтобы днем было светло, а когда наступала ночь - темнело а на стенах загорались факелы? Тайловые факелы:)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 9 2004, 07:03
Сообщение #263


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Аваддон это можно в ХоТУ скриптовыми командами. Какими точно и как я не знаю, не сталкивался.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Shad
сообщение Oct 9 2004, 08:47
Сообщение #264


Level 3
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



QUOTE (Аваддон @ Oct 9 2004, 00:14)
Няяя... У меня такой вопрос. В локе City Exterior можно на стенах на махрячить факелов. Когда мы включаем освещение локации clear - факелы не горят, и ночью тожа. А когда Torch Only - горят. Мутил мутил, сравнивал, да так и не понял. Как бы сделать так, чтобы днем было светло, а когда наступала ночь - темнело а на стенах загорались факелы? Тайловые факелы:)

В фильтре функций (правое окно редактора скриптов) вводишь light, это основные функции инклуды не нужны. Надо будет пробежать по всем тийлам, на нужных SetTileSourceLightColor(location lTileLocation, int nSourceLight1Color, int nSourceLight2Color). По-моему, просто по координатам, преобразовываем вектор в location... Вообще то я тоже с этим не сталкивался, но, наверно, можно ставить SourceLightColor даже не на нужных, а на всех (не уверен что легко выделить нужные) - там где нет SourceLight (светильников, факелов) это просто даст нулевой эффект, наверное.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Shad
сообщение Oct 9 2004, 08:58
Сообщение #265


Level 3
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Привет, Aiwan. А я уже почти и перестал надеятся.(вру)

QUOTE (Aiwan @ Oct 2 2004, 08:30)
Shad Пропустил твой пост... тока нашел...

Никак. Вся инфа об итемах и простых предметах на арене находится в вайлах локации. А изменение координаты Z можно лишь через тулсет. Но можно сделать невидимый объект на уровне тайлов, с возможностью ходить по нему. Тогда это будет невидимый объект - пъедестал, который будет тормозом для игрока. Есть еще способ, он проще но есть но. Делаешь в Махе два предмета с разными координатами и размерами. Например как картины в НВН. Основание далеко внизу а макушка видимая вверху, в виде pls объекта. Затем дестрой-крет в инвентаре твой итем. Но Объект будет активным скорее всего весь, так что тут свои изъяны.

Спс. Я сам не догадался перейти на уровень редактирования моделей. Мне больше второй способ понравился, но, ты прав, новые модели в хак я ещё пять раз подумаю прежде чем добавлять. :yes:
QUOTE (Aiwan @ Oct 2 2004, 08:30)
А вообще, сделать что то в НВН красиво и без изврата не возможно.

Иногда, да. Это ключевой момент, так удивительно когда вроде бы простая и хорошая идея требует какой-то, мм.. , очень затейливой:swoon: реализации.

QUOTE (Aiwan @ Oct 2 2004, 08:30)
Это все редактирование 2Да. Что именно и возможно ли все что ты просишь я не знаю. Но из логики работы с редактором могу сказать только одно. Любое действие, то бишь тот же урон, есть такой же Action как и многое другое. Следовательно он становится в очередь при механике боя, при расчете кубиков. И поэтому он возможен только один, а не вся куча критикалов. Ведь правила ДнД вшиты круто в движок и многое не выдрать.


Мм. Фиты связанные с критическими ударами работяют нормально с оружием которое берётся в руку/руки, какая то странная дискриминация для оружия существ... Что подозрительно, что стандартные (!) Elder * Elemental-ы, например, имеют этот самый фит Creature Weapon - Improved Critical (что кстати соответствует и AD&D 3rd Ed MM), но он, определённо, не действует.
Про Action... Действительно ли для разных типов физ. урона невозможны отдельные "действия"? Ведь для стихийных судя по всему существуют. Мм. Если я правильно ли понимаю...: тут для всех типов физического урона есть одна на всех "ячейка", и при расчёте только идентификатор одного из них проходит как параметр этого "действия"?

QUOTE (Aiwan @ Oct 2 2004, 08:30)
И скажу на последок вот что. Многие вопросы твои сложны, но для модуля они не нужны. можешь спорить со мной можешь не спорить. Это вопросы человека залезшего в тулсет и решившего поковырять его круто для себя. Но реально они игроку будут до жопы. Ему наплвать на все критикалы и прочее, ему подавай атмосферу, сюжет, красивости и прочее. Те вещи что ты ковыряешь съедают львиную долю возможностей твоих как изготовоителя модуля. В итоге не останется сил на завершение и ты можешь погрязнуть в неосуществимых мечтах и планов. Подумай десять раз, стоит ли твой гемморой стольких свечь или нет?


Чем дальше, тем больше убеждаюсь что ты прав. Началось всё месяца два (уже три) назад с уверенности, что для участия в чём-то надо хоть мало-мальски разобраться в тулсете. Надумал, взялся изучать. Повторюсь, так удивительно когда вроде бы простая и хорошая идея требует какой-то, мм.. , очень затейливой:swoon: реализации. А от идеи отказываться как-то не хосется. Вот и думаю, и спрашиваю. В итоге наверно это никому не будет нужно.

QUOTE (Aiwan @ Oct 2 2004, 08:30)
п.с. Не обижайся, если я резковато ответил  :yes:

Нп. Молчание горазду хуже. :yes:

QUOTE (Aiwan @ Oct 2 2004, 08:30)
А вообще, чем занят? ;)

Рисовал спелл один... был такой в BG2:ToB - Вызов элементалей, с ним в комплекте Великий вызов их же. Ждал его а IWD2, ждал в NWN... Эхх... Вот, думаю, заодно и разберусь как и что.

QUOTE (Aiwan @ Oct 2 2004, 08:30)
Может поделишься инфой?

У меня всё что есть, это в основном:
туториалы по ссылкам на www.wrg.ru и Realms.ru, в том числе и статьи
"В ПОМОЩЬ СОЗДАТЕЛЮ ПРИКЛЮЧЕНИЙ" ... хорошая последовательная и структурированная штука.
+ NWN Lexicon April2004
+ Eligio Sacateca Custom Content v3.0
+ CEPBuilders Guide&Standards
...хотя учился я в основном на комментариях от Bioware.
Вот и всё. То что намутил с заклинанием (вместо 2х получилось 3, но это не важно) - наверно скоро выложу где-то здесь. Хотя вот нашел одну совсем простую вроде ошибку... это наверно единственное без чего работа просо не будет применима - это не обойти и не обойтись без него:

6. Как заставить отображаться SubRad-спеллы, если они относятся к спеллу взятому через фит?//Когда мастер-спелл повешен на посохе (том самом, что упорно не хочет летать), всё работает норм. Когда взят Epic Spell - нет. Привязка SubRad-спеллов к фиту судя по всему осуществляется в spells.2da столбец FeatID, используя формулу FeatID_для_мастер-спелла + k*65536. Вот это k мне и не даётся так сразу - SubRad-спеллы в радиальном меню не появляются.

Да, спс ещё раз, Aiwan. Пока ElemLab.rar (щас найду где тут Upload) не вполне работает. Но, ты прав, :yes: я уже устал исправлять, пока не узнаю что работка кому-то интересна. ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 9 10 11 12 13 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 18th May 2025 - 10:05