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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 179 180 181 182 183 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Keks
сообщение Mar 8 2011, 09:39
Сообщение #4501


Level 3
*

Класс: Теневой Танцор
Характер: Lawful Neutral
Раса: Человек



Цитата(gennady @ Feb 22 2011, 16:11) *
Могет быть, могет быть... Но факт, что джам одновременно пары десятков НПС, при входе в локу, повиснет, а создание копий нет.

О_о с чего это вдруг???
Первый раз такое слышу, делал кастом сцену с парадом, толпа гоблов маршировала из локи в локу перемещались рядами по 5 гоблов в колонне и ничего
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Mar 9 2011, 15:45
Сообщение #4502


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



И все-таки у меня все глючит.. Половина телепортируется, а половина - нет. Плюс жестко все глючит. Вот мой скрипт на HeartBeat

Neverwinter Script
#include "x0_i0_anims"

void main()
{
object oWP= GetWaypointByTag("NO_" + GetTag(OBJECT_SELF));
object oWPD= GetWaypointByTag("DE_" + GetTag(OBJECT_SELF));
ExecuteScript("nw_c2_default1", OBJECT_SELF);
if (GetTimeHour()<=6 && GetLocalInt(OBJECT_SELF,"PeN")!=1)
  {
   AssignCommand(OBJECT_SELF, ActionJumpToObject(oWP));
   SetLocalInt(OBJECT_SELF,"PeN",1);
  }
  if (GetTimeHour()>6 && GetLocalInt(OBJECT_SELF,"PeN")!=2)
  {
   AssignCommand(OBJECT_SELF, ActionJumpToObject(oWPD));
   SetLocalInt(OBJECT_SELF,"PeN",2);
  }
}




И еще один вопрос. Как отключить функцию хождения по вейпоинтам?

Сообщение отредактировал StasMokos - Mar 9 2011, 15:46
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Mar 9 2011, 16:58
Сообщение #4503


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Цитата
Половина телепортируется, а половина - нет.
Попробуй перед прыжком clearallactions сделать.
Цитата
Как отключить функцию хождения по вейпоинтам?
Самое изящное - не ставить неписю вейпоинты. Если надо динамически регулировать, то придётся копать скрипты аи и искать там функцию ходьбы. Можно добавить, к примеру, в неё какой-нить флаг, при котором она не срабатывает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Mar 9 2011, 17:30
Сообщение #4504


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

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



Цитата(denis0k @ Mar 9 2011, 16:58) *
Попробуй перед прыжком clearallactions сделать

Это само-собой. Плюс еще нужно опустить в конец скрипта... И все же я рекомендую копирование НПС...
Neverwinter Script
ExecuteScript("nw_c2_default1", OBJECT_SELF);


Про функцию WalkWayPoints читай здесь:
http://www.city-of-masters.ru/forums/index...?showtopic=5123
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Mar 10 2011, 09:12
Сообщение #4505


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Спасибо, теперь все работает)
Но только для тех, кто не по вейпам ходит..

А есть такой вариант типо отправить НПС куда нибудь и запереть за ним дверь?
Просто у меня сначала он ходит по точкам, а потом после разговора с игроком должен удалиться в свою комнату и там и остаться.
Может еще какие-нибудь лучше варианты есть?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Mar 16 2011, 16:34
Сообщение #4506


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Еще одна вещь.. Если не очень сложно, кто-нибудь может объяснить мне как оперировать скриптом для сидения НПС на стуле с проигрыванием анимации (скрипт с заниженным стулом, что выложен на сайте http://remmgen.narod.ru в разделе монстры)?
Во-первых, я не понимаю какую роль там играет этот стул, а во-вторых, мне просто нормально никого не посадить, все съезжают..

Сообщение отредактировал StasMokos - Mar 21 2011, 08:44
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lorendroll
сообщение Mar 20 2011, 04:01
Сообщение #4507


Level 9
***

Класс: Волшебник
Характер: Neutral Good
Раса: Эльф



Цитата
после разговора с игроком должен удалиться в свою комнату и там и остаться.

Нарисуй триггер в комнате, а на OnEnter проверку на то, вошел ли туда нужный НПС, и команду чтобы запереть дверь.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Mar 21 2011, 08:46
Сообщение #4508


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Я так делал, но это очень плохо выглядит, когда кто-то изнутри рубит дверь..Впрочем, я уже разобрался, я просто после ухода НПС удалил все его предыдущие точки маршрута.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Apr 26 2011, 22:57
Сообщение #4509


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Я понимаю, что я, наверное, до такой степени уже всех задолбал, что мне уже не отвечают, но появился еще один вопрос.. и не знаю, как решить его самостоятельно.
Дело вот в чем, существует триггер, когда на него попадаешь, то заражаешься болезнью (снижаются хар-ки) и совершается анимация. Тестирую.. Если заходишь на него и останавливаешься, все работает как надо, но стоит просто пробежать мимо, так показываются только анимации и больше ничего не происходит. С чем это может быть связано и как это исправить?
Буду очень признатален, если кто-нибудь уделит моему вопросу хоть минутку внимания.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Apr 27 2011, 06:38
Сообщение #4510


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

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



Давай сюда свой скрипт.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Apr 27 2011, 09:51
Сообщение #4511


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Neverwinter Script
void CheckItem(object oPC, object oItem)
{
    itemproperty ipItem = GetFirstItemProperty(oItem);
    while(GetIsItemPropertyValid(ipItem))
    {
        if(GetItemPropertyType(ipItem) == ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS)
        {
            if(GetItemPropertySubType(ipItem) == IP_CONST_IMMUNITYMISC_LEVEL_ABIL_DRAIN)
                AssignCommand(oPC, ActionUnequipItem(oItem));

        }
        ipItem = GetNextItemProperty(oItem);
    }

}

void HandleItems(object oTarget)
{
    object oItem;
    oItem = GetItemInSlot(INVENTORY_SLOT_ARMS, oTarget);
    CheckItem(oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_BELT, oTarget);
    CheckItem(oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_BOOTS, oTarget);
    CheckItem(oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oTarget);
    CheckItem(oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_CLOAK, oTarget);
    CheckItem(oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oTarget);
    CheckItem(oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oTarget);
    CheckItem(oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oTarget);
    CheckItem(oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_NECK, oTarget);
    CheckItem(oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oTarget);
    CheckItem(oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oTarget);
    CheckItem(oTarget, oItem);
}

void AdvanceDisease(object oEnter)
{
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_HEAD_NATURE), oEnter);
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_WAIL_O_BANSHEES), oEnter);
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_NATURE), oEnter);

    int Wis_Ch = 5;
    int Int_Ch = 5;
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_WISDOM, Wis_Ch)), oEnter);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_INTELLIGENCE, Int_Ch)), oEnter);

    int Str_Ch;
    int Dex_Ch;
    int Cha_Ch;
    int Con_Ch;
    switch (Random(3))
    {
        case 0: Str_Ch = 0; break;
        case 1: Str_Ch = 3; break;
        case 2: Str_Ch = 5; break;
    }
    switch (Random(3))
    {
        case 0: Dex_Ch = 0; break;
        case 1: Dex_Ch = 3; break;
        case 2: Dex_Ch = 5; break;
    }
    switch (Random(3))
    {
        case 0: Cha_Ch = 0; break;
        case 1: Cha_Ch = 3; break;
        case 2: Cha_Ch = 5; break;
    }
    switch (Random(3))
    {
        case 0: Con_Ch = 0; break;
        case 1: Con_Ch = 3; break;
        case 2: Con_Ch = 5; break;
    }
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_STRENGTH, Str_Ch)), oEnter);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_DEXTERITY, Dex_Ch)), oEnter);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_CONSTITUTION, Con_Ch)), oEnter);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_CHARISMA, Cha_Ch)), oEnter);

    SetLocalInt (oEnter, "Wis_Change", Wis_Ch);
    SetLocalInt (oEnter, "Int_Change", Int_Ch);
    SetLocalInt (oEnter, "Str_Change", Str_Ch);
    SetLocalInt (oEnter, "Dex_Change", Dex_Ch);
    SetLocalInt (oEnter, "Con_Change", Con_Ch);
    SetLocalInt (oEnter, "Cha_Change", Cha_Ch);

}
void main()
{
    object oEnter = GetEnteringObject();
    if(!GetIsPC(oEnter))
        return;
    int once =  GetLocalInt(oEnter, "once");
    if(once != 1)
    {
        HandleItems(oEnter);
        DelayCommand(1.0, AdvanceDisease(oEnter));
        SetLocalInt(oEnter, "once", 1);
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Apr 27 2011, 13:30
Сообщение #4512


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Предполагаю, что дело в том, что не снимается какой-нибудь предмет с иммуном к уменьшению абилок.
Neverwinter Script
void HandleItems(object oTarget)
{
    object oItem;
    AssignCommand(oTarget, ClearAllActions(TRUE)); //чистим стек действий
    oItem = GetItemInSlot(INVENTORY_SLOT_ARMS, oTarget);
    ...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Apr 27 2011, 14:52
Сообщение #4513


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Нет, все снимается.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kiruhs
сообщение Apr 27 2011, 23:16
Сообщение #4514


Level 6
**

Класс: Клерик
Характер: Chaotic Neutral
Раса: Животное



Цитата(StasMokos @ Apr 27 2011, 13:52) *
Нет, все снимается.

Проведем эксперимент. Раздень чара и пробеги по триггеру. Если все норм - таки действительно итемы не снимаются
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Apr 28 2011, 17:31
Сообщение #4515


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Кажется, да, проблема с этим.
Все снимается, но видимо с задержкой и эффекты не успевают сработать.

Я еще отсрочил AdvanceDisease и все вроде работает..

Большое спасибо (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dragon1996
сообщение May 2 2011, 21:19
Сообщение #4516


Level 1


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



народ, помогите пожалуйста, я начал создавать модуль, а для героя в этом модуле нужна нестандартная профессия! можно ли создавать в nwn новые профессии???
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Keks
сообщение May 3 2011, 19:23
Сообщение #4517


Level 3
*

Класс: Теневой Танцор
Характер: Lawful Neutral
Раса: Человек



а какие "стандартные " профессии есть в нвн? (IMG:style_emoticons/kolobok_light/wacko.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dragon1996
сообщение May 3 2011, 21:15
Сообщение #4518


Level 1


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



keks, ну а подумать никак? (IMG:style_emoticons/kolobok_light/rtfm.gif) Воин, варвар, друид, маг, волшебник, плут, и т.д. Это всё стандартные профессии!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 3 2011, 21:30
Сообщение #4519


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Классы это, классы.
Делать кастомные можно, но сложно, долго и муторно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение May 23 2011, 13:55
Сообщение #4520


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Я уже задавал этот вопрос, но.. задам еще раз, ибо ответа я не получил.
Добавление портретов в сеповский 2da, по-моему, гиблое дело, все портреты исчезают и все, что бы я не делал.
Создаю свой хак, засовываю туда нормальный 2da с сепом и стандартными портретами + одна строчка с новым портретом.
Туда же (в хак) засовываю этот самый новый портрет в пяти экземплярах (разного размера).
ПОЧЕМУ НИЧЕГО НЕ РАБОТАЕТ?
Что я не так делаю? (IMG:style_emoticons/kolobok_light/suicide2.gif)

Сообщение отредактировал StasMokos - May 30 2011, 15:11
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Montalaar
сообщение May 31 2011, 20:03
Сообщение #4521


Level 2
*

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



Создаю модуль и не могу понять простую вещь... Каким образом задать команду так, что бы во первых: Персонаж нападал на игрока после определённой реплики в диалоге. Во вторых: после того как он напал все неписи находящиеся в одной комнате с игроком и агрессором нападали на игрока так же.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 31 2011, 23:58
Сообщение #4522


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Для того, чтобы NPC атаковал игрока после фразы в диалоге, надо воспользоваться "шляпой" (визардом) во вкладке Action Taken: он самостоятельно создаст скрипт
Neverwinter Script
//::///////////////////////////////////////////////
//:: FileName at_001
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 15.01.2011 0:32:16
//:://////////////////////////////////////////////
#include "nw_i0_generic"

void main()
{

    // Set the faction to hate the player, then attack the player
    AdjustReputation(GetPCSpeaker(), OBJECT_SELF, -100);
    DetermineCombatRound(GetPCSpeaker());
}

Для того, чтобы все npc в комнате(или где-либо еще, насколько я понимаю, расстояние роли не играет) атаковали игрока после некой фразы в диалоге, надо поставить этим npc уникальные тэги (в моем примере это будут "NPC1", "NPC2" и "NPC3", а так же NPC, с которым ведется диалог, тэг которого не понадобится) и поставить на вкладку action taken скрипт вроде
Neverwinter Script
#include "nw_i0_generic"

void main()
{
    AdjustReputation(GetPCSpeaker(), OBJECT_SELF, -100);
//заставляем NPC, на котором стоит диалог(OBJECT_SELF), возненавидеть говорящего игрока (GetPCSpeaker)
    AdjustReputation(GetPCSpeaker(), GetObjectByTag("NPC1"), -100);
//заставляем NPC с тэгом "NPC1" (GetObjectByTag("NPC1")) возненавидеть игрока
    AdjustReputation(GetPCSpeaker(), GetObjectByTag("NPC1"), -100);
//заставляем NPC с тэгом "NPC2" (GetObjectByTag("NPC2")) возненавидеть игрока
    AdjustReputation(GetPCSpeaker(), GetObjectByTag("NPC1"), -100);
//заставляем NPC с тэгом "NPC3" (GetObjectByTag("NPC3")) возненавидеть игрока
    DetermineCombatRound(GetPCSpeaker());
}

если нужно, могу выложить мини-модуль, в котором реализован второй скрипт (1.69+SoU+HoU)

Сообщение отредактировал wirTUS - May 31 2011, 23:59
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Jun 6 2011, 10:10
Сообщение #4523


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Чувствую я так никогда и не дождусь ответа на мой вопрос по 2da-шникам...
Ну ладно, еще другой вопрос созрел.
Не подскажете, почему хэнчман не парализуется такой строчкой?
AssignCommand(oDeek, ActionDoCommand(ApplyEffectToObject(DURATION_TYPE_
TEMPORARY, EffectCutsceneParalyze(), oDeek, 30.0))));
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 6 2011, 11:46
Сообщение #4524


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Чувствую я так никогда и не дождусь ответа на мой вопрос по 2da-шникам...
Там косяк где угодно может быть, начиная от кривой строки в 2да и заканчивая наличием такой же 2да в более приоритетном хаке.
Цитата
Не подскажете, почему хэнчман не парализуется такой строчкой?
Косяк где-то в другом месте, эта строчка должна работать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Jun 6 2011, 15:15
Сообщение #4525


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Самым первым хаком я ставлю свой, значит мой 2da будет перекрывать остальные, правильно?
Вот чем заканчивается мой 2da. ("-" обозначаю пустые клетки)
2998 - - - - - cep_reserv
2999 bill_ 1 0 - 0 -

Вот фрагмент моего скрипта.
Neverwinter Script
AssignCommand(oPC, ClearAllActions());
AssignCommand(oDeek, ClearAllActions());
if (oPC==GetMaster(oDeek))
  {
  DelayCommand(1.0, ActionDoCommand(AssignCommand(oDeek, ActionJumpToObject(oWPoHench))));
  DelayCommand(1.5, AssignCommand(oDeek, ActionDoCommand(ApplyEffectToObject(DURATION_TYPE_
TEMPORARY, EffectCutsceneParalyze(), oDeek, 15.0))));
  }
DelayCommand(3.31, ActionDoCommand(AssignCommand(oPC, ActionJumpToObject(oWPoPC))));


Сообщение отредактировал StasMokos - Jun 6 2011, 15:15
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 179 180 181 182 183 > » 
Ответить в эту темуОткрыть новую тему
9 чел. читают эту тему (гостей: 9, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 25th April 2024 - 15:25