![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#371
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
1. У ApplyEffectToObject есть одно но - если указать задержку, то нужно писать так:
Neverwinter Script effect eEffect = Effect...(...); .... ApplyEffectToObject(..., eEffect,...) .... и исключения лучше превращать в правила. DURATION_TYPE_INSTANT - правильно указано, да и в этой функции игра относится к константам на удивление демократично. Примеры можно посмотреть, например, в любом скрипте заклинаний среди уже существующих в игре. 2. в НВН2 при активации предмета по умолчанию запускается скрит "i_" + ТЭГ предмета + "_ac", но если есть намерение добавлять хаки, то лучше сделать кастом спелл - будет выглядеть куда лучше. 3. в мультиплеер второго невера не играл. но странно, что так происходит. |
![]()
Сообщение
#372
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
я понял о чем ты, обычные эффекты накладываются спокойно, я хочу визуальный эффект наложить
|
![]()
Сообщение
#373
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Ты бы глянул функции в инклюдах (#include "nw_i0_plot"), вот смотри VFX_IMP_RESTORATION..этот визуальный эффект уже накладывается. Так что он есть, он просто накладывается одновременно с тем, что у тебя. Иначе говоря, твой эффект не нужен.
Neverwinter Script Эта функция в инклюде "nw_i0_plot" void RemoveEffects(object oDead) { //Declare major variables object oTarget = oDead; effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION); int bValid; effect eBad = GetFirstEffect(oTarget); //Search for negative effects while(GetIsEffectValid(eBad)) { if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS || GetEffectType(eBad) == EFFECT_TYPE_DEAF || GetEffectType(eBad) == EFFECT_TYPE_PARALYZE || GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL || GetEffectType(eBad) == EFFECT_TYPE_FRIGHTENED || GetEffectType(eBad) == EFFECT_TYPE_DAZED || GetEffectType(eBad) == EFFECT_TYPE_CONFUSED || GetEffectType(eBad) == EFFECT_TYPE_POISON || GetEffectType(eBad) == EFFECT_TYPE_DISEASE ) { //Remove effect if it is negative. RemoveEffect(oTarget, eBad); } eBad = GetNextEffect(oTarget); } //Fire cast spell at event for the specified target SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_RESTORATION, FALSE)); ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oTarget); // * May 2002: Removed this because ActionRest is no longer an instant. // * rest the player //AssignCommand(oDead, ActionRest()); } ================================================== По поводу посадки на стул НПС: ставишь таг стулу PLC_CHAIR, ставишь рядом с ним НПС, у НПС в OnSpawn помещаешь скрипт Neverwinter Script void main()
{ if (GetCurrentAction(OBJECT_SELF) == ACTION_SIT) return; object oChair = GetNearestObjectByTag("PLC_CHAIR", OBJECT_SELF); AssignCommand(OBJECT_SELF, ActionSit(oChair)); //Это делает НПС перманентно сидящим на стуле, можешь закоментить, если не надо. DelayCommand(10.0, SetCommandable(FALSE, OBJECT_SELF)); } Сообщение отредактировал Melisse - May 8 2008, 23:34 |
![]()
Сообщение
#374
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
тогда тем более странно что эффекта нет даже этого от RemoveEffects, видимо всетаки руки у меня не из того места растут.
а можно как нибудь накладывать эффекты из палитры без создания соответствующего объекта? |
![]()
Сообщение
#375
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
|
![]()
Сообщение
#376
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
ну как я это понимаю чтобы создать эффект из палитры (Placed Effect) его нужно создать через createobject. я спосил возможно ли его создать иначе, не как объект, а например как Эффект.
Сообщение отредактировал MpakOfChaos - May 9 2008, 13:35 |
![]()
Сообщение
#377
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Все, что находится в палитре: плэйсы, кричи..и тд. создаются по средствам CreateObject(*). Итемы еще можно с помощью CreateItemOnObject(*).
Эффекты - типа молнии, невидимости и тд...это из другой оперы и к плэйсам отношение не имеет. Я вот подумала - ты не подключал ли к своему модулю хак паки?..может быть там есть visualeffect.2da...если есть то возможно в нем сместились строки с эффектами... |
![]()
Сообщение
#378
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
Нет таких злодеяний я не совершал.(IMG:style_emoticons/kolobok_light/smile.gif) я даже неособо представляю зачем хак пак нужен.
|
![]()
Сообщение
#379
|
|
Level 14 ![]() ![]() ![]() ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Эльф ![]() |
Как добавить дождь на арию?
|
![]()
Сообщение
#380
|
|
Level 18 ![]() Класс: Страж Тьмы Характер: True Neutral Раса: Человек МАСТЕР D&D ![]() |
Поищи скрипт на слово weather или rain. На волте так же есть плагин погоды. http://nwvault.ign.com/
|
![]()
Сообщение
#381
|
|
Level 14 ![]() ![]() ![]() ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Эльф ![]() |
Смотрел... там только как размещаемый эффект снег есть.
А дождя не нашел. Знакомый посоветовал поставить плэйсабл, на который поставить эффект дождя (аппиаранс эффект), а сам плайсабл сделать невидимым... Но разве обсидан так извратила погоду? Может, можно как-нибудь на всю арию дождь сделать (оптимально - чтобы дождь шел с рандомными интервалами)? |
![]()
Сообщение
#382
|
|
Level 18 ![]() Класс: Страж Тьмы Характер: True Neutral Раса: Человек МАСТЕР D&D ![]() |
вот тебе скрипт из редактора
Neverwinter Script // Set the weather for oTarget. // - oTarget: if this is GetModule(), all outdoor areas will be modified by the // weather constant. If it is an area, oTarget will play the weather only if // it is an outdoor area. // - nWeather: WEATHER_TYPE* // -> WEATHER_TYPE_RAIN, WEATHER_TYPE_SNOW, WEATHER_TYPE_LIGHTNING are the weather // -> patterns you can set. // - nPower: WEATHER_POWER_* // -> WEATHER_POWER_USE_AREA_SETTINGS will set the area back to use the area's weather pattern. // -> WEATHER_POWER_OFF, WEATHER_POWER_WEAK, WEATHER_POWER_LIGHT, WEATHER_POWER_MEDIUM, // -> WEATHER_POWER_HEAVY, WEATHER_POWER_STORMY are the different weather pattern settings. // * Note that this function has changed in NWN2. void SetWeather(object oTarget, int nWeatherType, int nPower = WEATHER_POWER_MEDIUM); Цитата Смотрел... там только как размещаемый эффект снег есть. поищи получше, был плагин погоды.Цитата Может, можно как-нибудь на всю арию дождь сделать (оптимально - чтобы дождь шел с рандомными интервалами)? нет, он будет идти непереставая
|
![]()
Сообщение
#383
|
|
Level 14 ![]() ![]() ![]() ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Эльф ![]() |
Спасибо.
Точно никак не сделать переменный дождь, чтобы не постоянно шел? |
![]()
Сообщение
#384
|
|
Level 18 ![]() Класс: Страж Тьмы Характер: True Neutral Раса: Человек МАСТЕР D&D ![]() |
|
![]()
Сообщение
#385
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Можно написать скрипт чтобы спаунить эффекты дождя или снега (на невидимых объектах) по всей локации и через некоторый промежуток удалять... Структура скрипта вроде не сложная, если багов не попадется то проще простого. Если действительно нужен такой скрипт могу написать. Мне и самому пригодится :-D
|
![]()
Сообщение
#386
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
|
![]()
Сообщение
#387
|
|
Level 14 ![]() ![]() ![]() ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Эльф ![]() |
Цитата Можно написать скрипт чтобы спаунить эффекты дождя или снега (на невидимых объектах) по всей локации и через некоторый промежуток удалять... Структура скрипта вроде не сложная, если багов не попадется то проще простого. Если действительно нужен такой скрипт могу написать. Мне и самому пригодится :-D Напиши, пожалуйста. И в личку мне тоже - если свободен, расскажу о проекте, возможно, присоединишься... |
![]()
Сообщение
#388
|
|
Level 14 ![]() ![]() ![]() ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Эльф ![]() |
Ребят, чем отличаются свойства для предметов: On Hit и On Monster Hit ?
Сообщение отредактировал Celestial - May 19 2008, 21:46 |
![]()
Сообщение
#389
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
|
![]()
Сообщение
#390
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Good Раса: Полуэльф NWN: Тестер ![]() |
|
![]()
Сообщение
#391
|
|
Level 14 ![]() ![]() ![]() ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Эльф ![]() |
Спасибо, Анакондар,
Беспокоился, что один из них активируется при ударе по PC. |
![]()
Сообщение
#392
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Evil Раса: Человек ![]() |
Маленький, срочный, нубский, вопрос:
Как заставить NPC сесть на стул или проиграть другую анимацию.(прошу описать как можно подробнее !!!Я НУБ!!!) зАРАнее Триногометрическое СПАСИБО!!! |
![]()
Сообщение
#393
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Анимация НПС. Часть 1. (о видах анимационных констант и о том, как разные анимации между собой могут взаимодействовать)
Анимация НПС. Часть 2. (о том, как скриптовать НПС на выполнение небольший сценариев) более подробного описания того, как работать с анимациями, я не видел. зы: сесть на стул - см ActionSit() |
![]()
Сообщение
#394
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Evil Раса: Человек ![]() |
А есть ли у Обсидианов готовые скрипты по проверке спас броска (в диалоге) ну типа если в разговоре чар не выкенит спас бросок воли, то он падет под эфект заклинания и отдаст скажем 100 золотых (к примеру). Я в одном модуле (точнее в модуле "Крик волка") наткнулся на подобный скрипт вот он:
Код // Will tests as used i the cinderella convo int StartingConditional(int nDC) { SetLocalInt(GetFirstPC(),"WILSAVE",nDC); int nSAVE = d20(1) + GetWillSavingThrow(GetFirstPC()); SetCustomToken(100,GetStringByStrRef(16777844) +IntToString(nDC) +GetStringByStrRef(16777845) +IntToString(nSAVE) +GetStringByStrRef(16777808)); // test line //return TRUE; if ( nSAVE >= nDC) return TRUE; return FALSE; } я его еще сам не опробовал но кажеться он попашет вот только это скрипт для проверки воли а что надо поменять чтобы он стал спас броском на реакцию скажем? Заранее спасибо потом допишу попахал ли скрипт!!! ЗЫ. Скрипт проверил на 75% уверен что работает |
![]()
Сообщение
#395
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
реакция это которая REFLEX? Просто поменять GetWillSavingThrow на GetReflexSavingThrow + брать локалку не WILSAVE а REFSAVE.
зы: кстати это локалки предварительно надо будет на НПС написать. зыы: имхо лучше использовать AutoDC(). Там работа не с абсолютными значениями спасов, а с относительными, которые расчитываются согласно уровню, сложности и прочим радостям. Да и меньше гемороя с настройкой, если пользоваться ею. |
![]() ![]() |
Текстовая версия | Сейчас: 20th July 2025 - 04:40 |