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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 136 137 138 139 140 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
shadowdweller
сообщение Sep 5 2007, 14:35
Сообщение #3411


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

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



Gennady, спасибо. (IMG:style_emoticons/kolobok_light/thank_you.gif)

А еще хотелось бы спросить вот что - нужен скрипт, который срабатывал бы на триггере если РС идет по нему один, без хенча. Т.е., если хенч к персу присоединен, не происходит ничего, а происходит только в том случае, если перс один. Все действия написаны, а проверка не получается.
В лексиконе не могу найти функцию, которая подходит. (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) Подскажите, плз.

Сообщение отредактировал shadowdweller - Sep 5 2007, 20:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 5 2007, 20:49
Сообщение #3412


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

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



навскидку так
Neverwinter Script Source
if (!GetIsObjectValid(GetHenchman(oPC))) // если игрок один
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 6 2007, 17:58
Сообщение #3413


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

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



Lex, спасибо. Попробую.

Продолжаю разбираться со спящими. Дело в том, что мне нужно, чтобы НПС не то, чтобы спали в определенное время суток, а лежали бы раненые (госпиталь у меня там! (IMG:style_emoticons/kolobok_light/rolleyes.gif) ).
Немного модифицировав скрипт Gennady, получила вот что:
Neverwinter Script Source
void main()
{
    int iDoOnce = GetLocalInt(OBJECT_SELF, "iDoOnce");

    if (iDoOnce == FALSE)
    {
  object oSelf = OBJECT_SELF;
  effect eSleep = EffectSleep();
  effect eSL = EffectVisualEffect(VFX_IMP_SLEEP);

        AssignCommand(oSelf, ClearAllActions(TRUE));
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSleep, oSelf, 10.0);
        ApplyEffectToObject(DURATION_TYPE_INSTANT, eSL, oSelf);
       
        SetLocalInt(oSelf, "iDoOnce", TRUE);
    }
}

На хартбите НПС красиво падает как подкошенный, на OnSpawn работает идеально. При попытке добавить еще и ранение + не разрешить некоторым злобным РС добить беднягу:
Neverwinter Script Source
void main()
{
    int iDoOnce = GetLocalInt(OBJECT_SELF, "iDoOnce");

    if (iDoOnce == FALSE)
    {
  object oSelf = OBJECT_SELF;
  effect eSleep = EffectSleep();
  effect eSL = EffectVisualEffect(VFX_IMP_SLEEP);

        AssignCommand(oSelf, ClearAllActions(TRUE));
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSleep, oSelf, 10.0);
        ApplyEffectToObject(DURATION_TYPE_INSTANT, eSL, oSelf);
        ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(10), oSelf);
        SetPlotFlag(oSelf, TRUE);

        SetLocalInt(oSelf, "iDoOnce", TRUE);
    }
}

НПС стоит как вкопанный. То же происходит, если убираю переменную. Почему? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 6 2007, 19:49
Сообщение #3414


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



SetPlotFlag
он не дает ето зделать, используй лучше SetImmortal
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 6 2007, 20:18
Сообщение #3415


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

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



Спасибо. Что самое интересное - функции эти нахально и тупо тырю из SoU - там работают прекрасно. (IMG:style_emoticons/kolobok_light/crazy.gif)

И еще возник вопрос - скрипт, который выполняется только при отсутствии хенча у перса. Получилось что-то вроде:
Neverwinter Script Source
#include "nw_i0_generic"
void main()
{
if (!GetIsObjectValid(GetHenchman(oPC)))
{
object oZOM1 = GetNearestObjectByTag("NPC_MON_FSKEL01");
object oZOM2 = GetNearestObjectByTag("NPC_MON_FSKEL02");
object oZOM3 = GetNearestObjectByTag("NPC_MON_FSKEL03");
object oDr1 = GetObjectByTag("DOOR_ZOM_01");
object oDr2 = GetObjectByTag("DOOR_ZOM_02");
object oDr3 = GetObjectByTag("DOOR_ZOM_03");
object oPoint1 = GetObjectByTag("WP_ZOM1");
object oPoint2 = GetObjectByTag("WP_ZOM2");
object oPoint3 = GetObjectByTag("WP_ZOM3");
object oPC = GetFirstPC();
ChangeToStandardFaction(oZOM1,STANDARD_FACTION_HOS
ILE);
ChangeToStandardFaction(oZOM2,STANDARD_FACTION_HOS
ILE);
ChangeToStandardFaction(oZOM3,STANDARD_FACTION_HOS
ILE);
AssignCommand(oDr1, DestroyObject(oDr1));
AssignCommand(oDr2, DestroyObject(oDr2));
AssignCommand(oDr3, DestroyObject(oDr3));
AssignCommand(oZOM1,ClearAllActions());
AssignCommand(oZOM2,ClearAllActions());
AssignCommand(oZOM3,ClearAllActions());
AssignCommand(oZOM1, ActionAttack(oPC));
AssignCommand(oZOM2, ActionAttack(oPC));
AssignCommand(oZOM3, ActionAttack(oPC));
}
}

Срабатывает каждый раз - и с хенчем, и без... (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 6 2007, 21:43
Сообщение #3416


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Во превых где стоит скрипт? на каком евенте и евенте чего?
Во вторых кто такой оПЦ?
у тя нет ошибки в скриптах?
Neverwinter Script Source
object oPC = GetEnteringObject(); // Ето если скрипт на евенте ентера тригера..
if (!GetIsObjectValid(GetHenchman(oPC)))
{
object oZOM1 = GetNearestObjectByTag("NPC_MON_FSKEL01");
object oZOM2 = GetNearestObjectByTag("NPC_MON_FSKEL02");
object oZOM3 = GetNearestObjectByTag("NPC_MON_FSKEL03");
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 6 2007, 22:49
Сообщение #3417


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

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



2 sKaa
Увы, SetImmortal не помогло - НПС как стоял, так и стоит. Тяжелораненый, а на ногах держится (IMG:style_emoticons/kolobok_light/smile.gif)
Причем, упрямо продолжает стоять как со строкой
Neverwinter Script Source
SetPlotFlag(oSelf, TRUE); // или
SetImmortal(oSelf, TRUE);

так и без нее

Скрипт стоит на OnEnter триггера. На самом деле, там так и есть:
Neverwinter Script Source
#include "nw_i0_generic"
void main()
object oPC = GetEnteringObject(); // до этого-то я додумалась
{
if (!GetIsObjectValid(GetHenchman(oPC)))
{
object oZOM1 = GetNearestObjectByTag("NPC_MON_FSKEL01");
object oZOM2 = GetNearestObjectByTag("NPC_MON_FSKEL02");
object oZOM3 = GetNearestObjectByTag("NPC_MON_FSKEL03");
object oDr1 = GetObjectByTag("DOOR_ZOM_01");
object oDr2 = GetObjectByTag("DOOR_ZOM_02");
object oDr3 = GetObjectByTag("DOOR_ZOM_03");
object oPoint1 = GetObjectByTag("WP_ZOM1");
object oPoint2 = GetObjectByTag("WP_ZOM2");
object oPoint3 = GetObjectByTag("WP_ZOM3");
object oPC = GetFirstPC();
ChangeToStandardFaction(oZOM1,STANDARD_FACTION_HOS
ILE);
ChangeToStandardFaction(oZOM2,STANDARD_FACTION_HOS
ILE);
ChangeToStandardFaction(oZOM3,STANDARD_FACTION_HOS
ILE);
AssignCommand(oDr1, DestroyObject(oDr1));
AssignCommand(oDr2, DestroyObject(oDr2));
AssignCommand(oDr3, DestroyObject(oDr3));
AssignCommand(oZOM1,ClearAllActions());
AssignCommand(oZOM2,ClearAllActions());
AssignCommand(oZOM3,ClearAllActions());
AssignCommand(oZOM1, ActionAttack(oPC));
AssignCommand(oZOM2, ActionAttack(oPC));
AssignCommand(oZOM3, ActionAttack(oPC));
}
}

Все равно в обоих случаях срабатывает - и когда есть хенч, и когда нету... А нужно, чтобы выполнялся только при отсутствии хенча. (IMG:style_emoticons/kolobok_light/sad.gif)

Сообщение отредактировал shadowdweller - Sep 6 2007, 23:01
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 6 2007, 23:36
Сообщение #3418


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Цитата(shadowdweller @ Sep 6 2007, 23:49) *
2 sKaa
Увы, SetImmortal не помогло - НПС как стоял, так и стоит. Тяжелораненый, а на ногах держится (IMG:style_emoticons/kolobok_light/smile.gif)
Причем, упрямо продолжает стоять как со строкой
Neverwinter Script Source
SetPlotFlag(oSelf, TRUE); // или
SetImmortal(oSelf, TRUE);

так и без нее

Надо ставить Иммортал без Плот флага...
Neverwinter Script Source
SetPlotFlag(oSelf, FALSE); // или
SetImmortal(oSelf, TRUE);


Цитата(shadowdweller @ Sep 6 2007, 23:49) *
Скрипт стоит на OnEnter триггера. На самом деле, там так и есть:
Neverwinter Script Source
#include "nw_i0_generic"
void main()
{

object oPC = GetEnteringObject(); // до этого-то я додумалась
if(GetIsObjectValid(GetHenchman(oPC)))
return; // Попробуй возврашение функции если хечмент есть...
object oZOM1 = GetNearestObjectByTag("NPC_MON_FSKEL01");
object oZOM2 = GetNearestObjectByTag("NPC_MON_FSKEL02");
object oZOM3 = GetNearestObjectByTag("NPC_MON_FSKEL03");
object oDr1 = GetObjectByTag("DOOR_ZOM_01");
object oDr2 = GetObjectByTag("DOOR_ZOM_02");
object oDr3 = GetObjectByTag("DOOR_ZOM_03");
object oPoint1 = GetObjectByTag("WP_ZOM1");
object oPoint2 = GetObjectByTag("WP_ZOM2");
object oPoint3 = GetObjectByTag("WP_ZOM3");
object oPC = GetFirstPC();
ChangeToStandardFaction(oZOM1,STANDARD_FACTION_HOS
LE);
ChangeToStandardFaction(oZOM2,STANDARD_FACTION_HOS
LE);
ChangeToStandardFaction(oZOM3,STANDARD_FACTION_HOS
LE);
AssignCommand(oDr1, DestroyObject(oDr1));
AssignCommand(oDr2, DestroyObject(oDr2));
AssignCommand(oDr3, DestroyObject(oDr3));
AssignCommand(oZOM1,ClearAllActions());
AssignCommand(oZOM2,ClearAllActions());
AssignCommand(oZOM3,ClearAllActions());
AssignCommand(oZOM1, ActionAttack(oPC));
AssignCommand(oZOM2, ActionAttack(oPC));
AssignCommand(oZOM3, ActionAttack(oPC));
}

Все равно в обоих случаях срабатывает - и когда есть хенч, и когда нету... А нужно, чтобы выполнялся только при отсутствии хенча. (IMG:style_emoticons/kolobok_light/sad.gif)


А еще если по тргеру мона кликнуть маусом создай такой-же скрипт только вместо
GetEnteringOjbect();
GetClickingObject(); - помойму так пишеться
и поставь етот скрипт на евент клика тригера
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
frozenCat
сообщение Sep 6 2007, 23:49
Сообщение #3419


Level 1


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



Добрый день. У меня есть несколько вопросов по поводу игрового движка и создания модов. Есть концепция RP игры и есть необходимость воплотит ее в более менее играбельный вид. Есть желание сделать это в виде мода к нвн. Но практически вся игровая механика отличается от ДнД. Возможно ли полностью изменить систему статов/скилов? Возможно ли введение новых параметров персонажа? Насколько возможно изменить GUI игры? Т.е. хочется узнать насколько гибкий этот движок.

PS Как альтернатива есть вариант создания игры как мод к Unreal 2004, там возможности не ограничены, но информации по этому делу в разы меньше, а русскоязычной практически нет.

Neo: информации по UnrealEd море, да - на русском не много, а так... google и узнаешь все, что хочешь (IMG:style_emoticons/kolobok_light/wink3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 6 2007, 23:56
Сообщение #3420


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Читай форум, в нвн движок достаточно гибкий..
На форуме все возможности описаны
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Sep 7 2007, 06:38
Сообщение #3421


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

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



shadowdweller, я привел два скрипта для примера, т.к. там есть два варианта уложить перса, анимацией и эффектом. (к тому же кто-то недавно спрашивал…) Если наложен эффект, то нужно учесть, что игроки попытаются его снять… Это нужно писать еще один скрипт на OnSpellCastAt. (если эффект не поддерживает SupernaturalEffect) Чтобы персы не говорили при анимации, то достаточно заблокировать их стек, или навесить локалку и изменить скрипт на OnConversation написав:
Neverwinter Script Source
void main()
{
  object oSelf = OBJECT_SELF;

if (GetLocalInt(oSelf, "LOCAL") == 1) return; // Проверить
ExecuteScript("nw_c2_default4", oSelf);
}

Lex ругается за готовые скрипты, т.ч. скрипт писать не буду (IMG:style_emoticons/kolobok_light/biggrin.gif) … Кстати, навесить на перса сюжет после урона, можно прописав через DelayCommand. Хотя в вашем случае просто достаточно сразу проставить персу бессмертие. Вот для примера скрипт на ранение из моего мода.
Neverwinter Script Source
//::////////////////////////////////////////
//:: СКРИПТ:  СМЕРТЬ - РАНЕНИЕ
//:: File name:
//:: Слот: OnHeartBeat
//::////////////////////////////////////////
void main()
{
  object oSelf = OBJECT_SELF;
  if(GetArea(GetFirstPC()) != GetArea(oSelf)) return; // если ПС нет в локе
  if(GetLocalInt(oSelf, "P_smert") == 1) return;
  if (!IsInConversation(oSelf))
  {
   if(GetCurrentHitPoints(oSelf) < 30)
   {
    ClearAllActions();  // Почистим все Action у НПС
    ActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT, 1.0, 7.0);
   }
else ExecuteScript("nw_c2_default1", oSelf);
  }
if(GetLocalInt(oSelf, "smert") != 1)
{
  if(GetAbilityScore(oSelf, ABILITY_INTELLIGENCE) >= 17)
  {
   effect eDamage = EffectDamage(GetCurrentHitPoints(oSelf)-3);
   ApplyEffectToObject(DURATION_TYPE_INSTANT,eDamage,
Self);
   SetLocalInt(oSelf, "smert", 1);
  }
  else
  {
   effect eDeath = EffectDeath();
   ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oSelf);
   SetLocalInt(oSelf, "P_smert", 1);
  }
}
}
/*   Если интеллект выше 17, то ранение и падение.
     Если вылечить, то если ХР выше 30, падать не будет.
     Если интеллект ниже 17, то смерть.  */

С хенчем и триггером все просто. Кстати, не увидел в скрипте функций из инклюды…
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return// Если не герой
object oSP = GetHenchman(oPC);
if (GetIsObjectValid(oSP)) return; // Если есть хенчь

object oZOM1 = GetNearestObjectByTag("NPC_MON_FSKEL01");
object oZOM2 = GetNearestObjectByTag("NPC_MON_FSKEL02");
object oZOM3 = GetNearestObjectByTag("NPC_MON_FSKEL03");
object oDr1 = GetObjectByTag("DOOR_ZOM_01");
object oDr2 = GetObjectByTag("DOOR_ZOM_02");
object oDr3 = GetObjectByTag("DOOR_ZOM_03");
object oPoint1 = GetObjectByTag("WP_ZOM1");
object oPoint2 = GetObjectByTag("WP_ZOM2");
object oPoint3 = GetObjectByTag("WP_ZOM3");

ChangeToStandardFaction
(oZOM1,STANDARD_FACTION_HOSTILE);
ChangeToStandardFaction
(oZOM2,STANDARD_FACTION_HOSTILE);
ChangeToStandardFaction
(oZOM3,STANDARD_FACTION_HOSTILE);
AssignCommand(oZOM1,ClearAllActions());
AssignCommand(oZOM2,ClearAllActions());
AssignCommand(oZOM3,ClearAllActions());
AssignCommand(oZOM1, ActionAttack(oPC));
AssignCommand(oZOM2, ActionAttack(oPC));
AssignCommand(oZOM3, ActionAttack(oPC));
AssignCommand(oDr1, DestroyObject(oDr1));
AssignCommand(oDr2, DestroyObject(oDr2));
AssignCommand(oDr3, DestroyObject(oDr3));
}

P.S. Нео, ну че за фигня?! Задолбался править скрипты!!! При переносе строки режет последний символ…

Сообщение отредактировал gennady - Sep 7 2007, 07:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Sep 7 2007, 11:13
Сообщение #3422


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



Прошу уточнить OnModuleLoad
это событие которое будет отробатыватьпри каждом старте сервера ???
нету ли на нем какихто подводных камней

что делает стандартный скрипт этого слота что будет если я его удалю???
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 7 2007, 11:18
Сообщение #3423


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Цитата(Teranozavr_REX @ Sep 7 2007, 12:13) *
Прошу уточнить OnModuleLoad
это событие которое будет отробатыватьпри каждом старте сервера ???

да
Цитата(Teranozavr_REX @ Sep 7 2007, 12:13) *
нету ли на нем какихто подводных камней

Есть (IMG:style_emoticons/kolobok_light/smile.gif)
Цитата(Teranozavr_REX @ Sep 7 2007, 12:13) *
что делает стандартный скрипт этого слота что будет если я его удалю???

Включает разные фишки, не чего собо не изменица, я его вообще отключаю, т.к все что там описано настраиваю своими методами (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Sep 7 2007, 11:56
Сообщение #3424


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



QUOTE
Цитата(Teranozavr_REX @ Sep 7 2007, 12:13)
нету ли на нем какихто подводных камней

Есть

А можно узнатькакие
уж очень надоело по 3 часа выяснятьвсякие недокументированые фишки )
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 7 2007, 12:06
Сообщение #3425


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



В скрипте все описано, правда на английском но я тож не преводчик..
так что топор те +2 в руки (IMG:style_emoticons/kolobok_light/smile.gif) и вперед на сайты переводчики и разбирай каждую функцию которая там
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Sep 7 2007, 15:41
Сообщение #3426


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



Сегодня мне сказали чтоестьтакая програмка называеться вроде бы как NWNХ что с её помощью можно проконтролироватькакой скрипт сколько сьедает процесорноговремени занемает в памяти и тп...

если ли такая програмка если естьде взять как пользоваться ???
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 7 2007, 16:03
Сообщение #3427


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Скачать отсюда
отсюда
там же плагины к ней.. а пользоваться ей надо хитро.. помойму там чтоб узнать инфу о скриптах надо плагин один.. profiler
кароч там надо собрать етот плагин с модулями в одной папке и потом все ето кинуть к нвну.. потом в файле нвнх.ини узакать ТОЧНОЕ имя модуля с котором будем вести работы всякие и запустить нвнх, если все верно то автоматом запуститца сервак с загруженным модулем и если краш сервака то автоподъем..
ну а дальше читай папку logs
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 8 2007, 11:10
Сообщение #3428


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

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



Цитата(gennady @ Sep 7 2007, 07:38) *
С хенчем и триггером все просто.

Gennady, да не работает оно в NWN2 все равно! Есть для триггерных скриптов там какая-то особая специфика?
И получается, что инклюда #include "nw_i0_generic" там вообще не нужна?

Кстати, со скриптом на сон/падение/ранение разобралась - надо было поменять местами
Neverwinter Script Source
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSleep, oSelf, 10.0);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eSL, oSelf);

и
Neverwinter Script Source
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(10), oSelf);

Вообще, sKaa, Gennady - спасибо за советы. Только, сдается мне, вы лучшего мнения о моих скриптерских способностях, чем они есть на самом деле. (IMG:style_emoticons/kolobok_light/biggrin.gif)

Сообщение отредактировал shadowdweller - Sep 8 2007, 11:14
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 8 2007, 11:38
Сообщение #3429


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



а я думал скрипт ы под нвн1, (IMG:style_emoticons/kolobok_light/smile.gif)
в нвн2 помойму форум другой.. я нвн2 не наю как там чо
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 8 2007, 23:01
Сообщение #3430


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

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



Извиняюсь за внесенную путаницу. Скрипт на OnSpawn был нужен для НВН1. Скрипт на триггер - на НВН2. Я была абсолютно уверена, что скрипты и в первом, и во втором НВН работают одинаково, поэтому и постила в ту тему, которая привычнее. (IMG:style_emoticons/kolobok_light/sad.gif) Теперь буду постить отдельно для первого, отдельно для второго.
Продолжаю мучить глупыми вопросами. Существует триггер, при входе на который РС полностью вылечивается, если он ранен. На OnEnter этого триггера стоит
Neverwinter Script Source
void main()
{
object oUser;
effect eHeal;
effect eHealVis = EffectVisualEffect(VFX_IMP_HEALING_S);
int nCurrentHitPoints, nMaxHitPoints, nVisualEffectId;
oUser = GetEnteringObject();
nMaxHitPoints = GetMaxHitPoints(oUser);
nCurrentHitPoints = GetCurrentHitPoints(oUser);
if ( nCurrentHitPoints < nMaxHitPoints )
{
eHeal = EffectHeal(nMaxHitPoints - nCurrentHitPoints);
ApplyEffectToObject( DURATION_TYPE_INSTANT, eHeal, oUser );
ApplyEffectToObject( DURATION_TYPE_INSTANT, eHealVis, oUser );
}
}

Не подскажет ли мне кто-нибудь, что нужно добавить, чтобы триггер лечил еще и хенча?
Для хенча тоже нужно прописывать GetMaxHitPoints и GetCurrentHitPoints?

Сообщение отредактировал shadowdweller - Sep 8 2007, 23:28
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Sep 9 2007, 01:05
Сообщение #3431


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



этот триггер и так лечит хенча, да и вообще всех кто в него вступит.
Neverwinter Script Source
...
    oUser = GetEnteringObject();
    if (!GetIsPC(oUser) && !GetIsPC(GetMaster(oUser))) return; // <-- лечит только Игроков и Ко
...

в принципе лечение не может дать больше здоровья, чем максимум
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 9 2007, 13:19
Сообщение #3432


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

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



Прошу прощения, торможу. GetEnteringObject - это же действительно любой, кто входит (IMG:style_emoticons/kolobok_light/mosking.gif)
А если соблюдать все эти условия - игрок и компания и раненый, все вводить одной строкой,
Neverwinter Script Source
...
if (GetIsPC(oUser) && GetIsPC(GetMaster(oUser)) && (nCurrentHitPoints < nMaxHitPoints))
{
eHeal = EffectHeal(nMaxHitPoints - nCurrentHitPoints);
...

или это так будет?
Neverwinter Script Source
...
if (!GetIsPC(oUser) && !GetIsPC(GetMaster(oUser))) return;
{
if ( nCurrentHitPoints < nMaxHitPoints )
{
eHeal = EffectHeal(nMaxHitPoints - nCurrentHitPoints);
...


Сообщение отредактировал shadowdweller - Sep 9 2007, 13:28
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Sep 9 2007, 13:22
Сообщение #3433


Level 11
***

Класс: Воин
Характер: Lawful Good
Раса: Человек



Neverwinter Script Source
if (!GetIsPC(oUser) && !GetIsPC(GetMaster(oUser))) return;

Если не ошибаюсь, то так:
Neverwinter Script Source
if ( (!GetIsPC(oUser)) && (!GetIsPC(GetMaster(oUser))) ) return;

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 9 2007, 13:50
Сообщение #3434


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Одинаково, просто скокбок можно нарисовать сколько хочеш
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Sep 9 2007, 13:54
Сообщение #3435


Level 11
***

Класс: Воин
Характер: Lawful Good
Раса: Человек



Ну, не знаю, на Си это грубая синтаксическая ошибка. А, эт ты не мне =)

Сообщение отредактировал Белатрис - Sep 9 2007, 13:55
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 136 137 138 139 140 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 30th July 2025 - 21:05