![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#351
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
Я хочу написать скрипт отсчета времени, но у меня он не работает(IMG:style_emoticons/kolobok_light/sad.gif) ((
выглядит это так Neverwinter Script int i; for (i = 30; i>0; i--) { ActionWait(1.0f); SendMessageToPC(oPC,"Осталось: " + IntToString(i)); } (это только кусок кода) скрипт компилится но выводит мне список от 30 до 1 сразу по срабатыванию скрипта |
![]()
Сообщение
#352
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
э.. ессно сразу. Работе цикла ничего не мешает (ожидание 1 секунду - относится к действиям объекта, а не к работе цикла).
Тут имхо лучше рекурсивный запуск с секундной задержкой через DelayCommand. |
![]()
Сообщение
#353
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
Спасибо, значит только так...
Нубский вопрос - какой командой можно вывести вообщение в общий чат, чтобы оно над чаром появилось? |
![]()
Сообщение
#354
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
над и висело - SpeakString
над и улетало (+ отобразилось в логе) - FloatingText что-то там. |
![]()
Сообщение
#355
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
еще вопрос(IMG:style_emoticons/kolobok_light/smile.gif) ) как можно генерировать лицо спутнику? т.е. как програмно менять свойства объекта?
И как можно получень значени навыков? (Алхимия, запугивание и т.д.) На вопрос про навыки уже нашел ответ, сори(IMG:style_emoticons/kolobok_light/smile.gif) а как сообщения редактировать? (на форуме) |
![]()
Сообщение
#356
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
еще вопросsmile.gif) как можно генерировать лицо спутнику? т.е. как програмно менять свойства объекта? серия функций *BodyPart*. Фильтр на эту тему поковыряй. как сообщения редактировать? (на форуме) кнопка Edit под постом будет доступна после 10 сообщений на форуме. |
![]()
Сообщение
#357
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
Немагу найти ничего похожего, если такая команда и есть, то в какомто инклуде.
Подскажи где можно найти? |
![]()
Сообщение
#358
|
|
Level 2 ![]() Класс: Псионик Характер: Lawful Neutral Раса: Баатезу ![]() |
Я извиняюсь за глупый вопрос но все же где и какое свойство нужно установить чтобы после смерти игрока всплывал диалог "Загрузить/Главное меню" вместо "Возродится/Главное меню".
|
![]()
Сообщение
#359
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
Подскажите, как скриптово редактировать свойства объектов, и в часности лица нпс?
|
![]()
Сообщение
#360
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Buzzard, вовсе не глупый вопрос, тебе надо посмотреть в свойства модуля и отредактировать скрипт на вкладке On Player Death. В стандартном скрипте смерти, например, присутствует такая строчка:
CODE DelayCommand(2.5, PopUpGUIPanel(oPlayer,GUI_PANEL_PLAYER_DEATH)); Как я понял, это как раз то что тебе нужно. Да, я не знаю точно как будет работать эта команда в режиме онлайн и в режиме сингл. Возможно, по-разному, не проверял. Но если хочешь, можешь почитать подробнее про эти гуи-панельки и их создание в туториале. Сообщение отредактировал Lorendroll - May 1 2008, 21:09 |
![]()
Сообщение
#361
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
MpakOfChaos, насколько мне известно этого нельзя сделать (IMG:style_emoticons/kolobok_light/sad.gif) Можно только незаметно подменить одного НПЦ на другого (из палитры).
|
![]()
Сообщение
#362
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Можно из закрытой области. Одного туда отправил, другого сюда. (IMG:style_emoticons/kolobok_light/smile.gif) У меян целые стадионы НПС в закрытых локах. Создавать НПС в сингле это лаг. На шарде нет.
|
![]()
Сообщение
#363
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
тогда как заставить корабль плыть (лететь) в точку и можноли сделать так чтобы чар на нем стоял?(хотя возможность последнего вызывает большые сомнения)
и как наложить на чара визуальный эффект (при воскрешении) Сообщение отредактировал MpakOfChaos - May 6 2008, 08:10 |
![]()
Сообщение
#364
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Evil Раса: Человек ![]() |
Три маленьких вопроса:
1. В игре, в дневнике есть закладка "Заметки", как можно добавить в свой мод триггер или диалоговый скрипт, чтоб там (в заметках) появилась запись. 2. Какими функциями можно наложить визуальный эффект на чара. (Тоесть хочу чтоб при диалоге со жрецом глав героя лечили и был эфект) 3. Если на второй вопрос нет ответа (или очень сложный) то: Каким скриптом в диалоге заставить НПС читать определенное заклинание на чара. Заранее Атомное СпасиБОООООООООООООМ Сообщение отредактировал Kirald - May 6 2008, 12:02 |
![]()
Сообщение
#365
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
тогда как заставить корабль плыть (лететь) в точку и можноли сделать так чтобы чар на нем стоял?(хотя возможность последнего вызывает большые сомнения) прописать существо с моделью корабля в 2да и им уже управлять на карте. Ибо объекты двигаться не могут (кроме как согласно своей анимации). и как наложить на чара визуальный эффект (при воскрешении) ApplyEffectToObject + EffectVisualEffect. Константы для визуалки и параметры для наложения см в скрипт. редакторе. 1. В игре, в дневнике есть закладка "Заметки", как можно добавить в свой мод триггер или диалоговый скрипт, чтоб там (в заметках) появилась запись. насколько я знаю, заметки это то, что сам игрок пишет в журнал. Скриптам туда доступа нет. Только квестовые записи. 2. Какими функциями можно наложить визуальный эффект на чара. (Тоесть хочу чтоб при диалоге со жрецом глав героя лечили и был эфект) см выше, но вместо (или в дополнении к) визуалки тебе нужен EffectHeal и прочие Effect*. Там их много. 3. Если на второй вопрос нет ответа (или очень сложный) то: Каким скриптом в диалоге заставить НПС читать определенное заклинание на чара. фу-я ActionCastSpellAtObject. Параметры и прочие особености см в скрипт-редакторе. |
![]()
Сообщение
#366
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
1. Эффект не отображается в чем ошибка?
Код ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_RESTORATION),oPC); 2. Я хочу сделать свиток телепорта, но немогу найти подходящий обработчик(IMG:style_emoticons/kolobok_light/sad.gif) 3. У меня проблема, если в сетевой игре у разных игроков есть спутники и они вступают в пати, то спутник вступившего исчезает, как этого избежать? Сообщение отредактировал MpakOfChaos - May 7 2008, 09:11 |
![]()
Сообщение
#367
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
1. Вообще-то правильно написано. Так вырывать функцию из скрипта...незя. Приводил бы часть скрипта или весь...а то может дело не в ней - откуда ты так уверен?)
2.Обработчик чего?...2да? или чего?..Если 2да - то можно блокнотом. 2.Это, если я правильно поняла - разговор о сингле по сетке..если - да то тогда, навскидку, попробовать копаться в скриптах henchmen или, может, это просто баг движка нвн - таких кстати не мало, что печально) Сообщение отредактировал Melisse - May 7 2008, 16:01 |
![]()
Сообщение
#368
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
1.
on player death Код #include "sc_respawn" void main() { object oPC = GetLastPlayerDied(); if (GetIsPC(oPC) == TRUE) { object oResp; if (GetLocalString(oPC,"Resp_Point") == "") SetLocalString(oPC,"Resp_Point","wspawn_01"); oResp = GetObjectByTag(GetLocalString(oPC,"Resp_Point")); resp(30,oPC,oResp); } } Код #include "nw_i0_plot" void resp(int i, object oPC, object oResp) { if (GetIsDead(oPC) && (i > 0)) { FloatingTextStringOnCreature("Возрождение через " + IntToString(i) + " секунд", oPC, FALSE, 0.9f); i--; DelayCommand(1.0f,resp(i,oPC,oResp)); } else if (GetIsDead(oPC)) { AssignCommand(oPC,ActionJumpToObject(oResp,FALSE)); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectResurrection(), oPC); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oPC)), oPC); RemoveEffects(oPC); ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_RESTORATION),oPC); } } 2. Я просто хочу чтобы при использовании предмета срабатывал скрипт, как это сделать. 3. Это мой модуль(сетевой), в идее задумывалось чтобы каждый игрок мог с собой таскать наемника (что удалось реализовать), а вот при вступлении в пати начинались проблемы. Сообщение отредактировал MpakOfChaos - May 7 2008, 16:47 |
![]()
Сообщение
#369
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
для VFX_IMP_* вроде бы используется не *_INSTANT, а *_PERMANENT константа. Попробуй ее.
2. Я хочу сделать свиток телепорта, но немогу найти подходящий обработчик зависит от реализации телепорта. Самая простая: предмет или свиток с заклинанием Unique Power Self (или как-то так). Далее (если у тебя стандартные скрипты на слотах модуля) просто делается скрипт с именем = тэгу твоего свитка (например ITM_SCROLL_PORT). Шаблон для этого скрипта берется из example.nss (Более точное название шаблона можно найти в стандартных модульных скриптах, например скрипте на слоте Item Equiped). В этом шаблоне будет обработка нескольких событий, которые связаны с предметом: появился у игрока, оставлен, активирован, одет, снят, на него наложено заклинание и что-то там еще. Тебе соотв. нужен вариант с активацией. Туда и пиши что нужно. 3. У меня проблема, если в сетевой игре у разных игроков есть спутники и они вступают в пати, то спутник вступившего исчезает, как этого избежать? копай в хенчмановской библе функцию типа AddHenchman или что-то похожее. Проще наверное найти там где-нить AddToParty и посмотреть в теле каких функций оно есть. Их и смотреть. |
![]()
Сообщение
#370
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
Неполучается наложить эффект на чара, напишите плз пример какойнибудь (толдбко рабочий).
как усадить НПС на стул? Сообщение отредактировал MpakOfChaos - May 8 2008, 16:34 |
![]()
Сообщение
#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: Модмейкер Проклятие Левора Порядок Времени ![]() |
|
![]() ![]() |
Текстовая версия | Сейчас: 26th April 2025 - 21:35 |