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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 100 101 102 103 104 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
windhover
сообщение Sep 6 2006, 00:07
Сообщение #2516


Level 3
*

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



Доброго времени суток.
Возникла следующая проблема:
Изменил стандартный скрипт заклинания лечения к проверке на андед добавил проверку на субрасу но проверка не срабатывает. Ошибок вроде нет пробовал в отдельном скрипте - работает.
Ткните, пожалуйста носом что не так делаю, подозреваю что проблема в руках =)
Пробовал просто вносить изменения в тулсете в стандартный скрипт, пробовал вносить изменения в .nss выдраный из .bif'a и ложил его в оверрайд..
Или нужно обязательно делать отдельный скрипт и прописывать его в spells.2da?

И еще вопрос теоретический:
Какой приоритет использования ресурсов игрой? По моим предположениям: сначала в оверриде смотрит, потом
ресурсы хаков и в последнюю очередь использует стандартные ресурсы?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Sep 6 2006, 07:50
Сообщение #2517


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

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



QUOTE(windhover @ Sep 6 2006, 03:07) [snapback]91142[/snapback]
сначала в оверриде смотрит, потом
ресурсы хаков и в последнюю очередь использует стандартные ресурсы

Верно.
Если отредактировать стандартный скрипт, то будет работать он. Никуда его класть не надо. Если удалить его из модуля то будет пахать дефолтный с таком же именем от Биовар.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Sep 7 2006, 18:15
Сообщение #2518


Level 3
*

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



Спасибо, разобрался в чем проблема:
Я вносил изменения в скрипт nw_i0_spells - инклюд. Почитал в лексиконе, что для того чтобы изменения внесенные в инклюд вступили в силу нужно перекомпилировать ВСЕ скрипты которые ссылаються на данный инклюд. Возможно это можно какимто образом обойти? А то слишком много скриптов надо перекомпиливать. (IMG:style_emoticons/kolobok_light/sad.gif) Покачто я решил проблему так: написал свой инклюд и дал ссылку на него в тех скриптах заклинаний, которые мне нужны, перекомпилил все это дело - заработало.

Возможно есть решение данной проблемы попроще?

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 7 2006, 18:29
Сообщение #2519


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

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



QUOTE(windhover @ Sep 7 2006, 19:15) [snapback]91245[/snapback]
Возможно это можно какимто образом обойти?

нет, но это можно сделать за пару минут.
ВТулсете Build - Build Module.
Если нужна только копмиляция, ставь галочку в Compile и в Scripts, остальные галочки снимай.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Sep 7 2006, 19:14
Сообщение #2520


Level 3
*

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



QUOTE(Lex @ Sep 7 2006, 18:29) [snapback]91246[/snapback]

нет, но это можно сделать за пару минут.
ВТулсете Build - Build Module.
Если нужна только копмиляция, ставь галочку в Compile и в Scripts, остальные галочки снимай.


Эм.. Дело в том, что в лексиконе билд модуля тоже описывается как панацея.. но не помогло. (IMG:style_emoticons/kolobok_light/unsure.gif)
Я так понял, что стандартные скрипты в которые не вносят изменений не компилируются при билде модуля.
Хотя может это у меня глюк, проверял на 1.68.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 7 2006, 19:21
Сообщение #2521


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

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



да, стандартные не билдаются, поэтому если ты вносишь изменения в стандартную библу, которая влияет на заклы, тебе еще скрипты этих заклов надо у себя в модуле пересохранить. Вродь только так.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Sep 7 2006, 21:54
Сообщение #2522


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

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Стандартные инклюды типа nw_i0_spells, nwscript очень нежелательно изменять. Ещё раз подумай, надо ли тебе это.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Sep 8 2006, 12:59
Сообщение #2523


Level 3
*

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



QUOTE(virusman @ Sep 7 2006, 21:54) [snapback]91271[/snapback]

Стандартные инклюды типа nw_i0_spells, nwscript очень нежелательно изменять. Ещё раз подумай, надо ли тебе это.


Да я просто скопировал этот инклюд, внес в него нужные изменения, сохранил с другим названием, прописал его в нужных заклинаниях и все откомпилил.. так вроде проще всего и безопастнее, наверно (IMG:style_emoticons/kolobok_light/smile.gif)
Всем спасибо за советы.

Сообщение отредактировал windhover - Sep 8 2006, 13:00
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Sep 15 2006, 13:28
Сообщение #2524


Level 5
**

Класс: Друид
Характер: Lawful Neutral
Раса: Человек



У меня проблема. Надо что бы когда игрок наступал на тригер к нему подбегал хенчь и начинал разговор, но если хенчь далеко то он подбегает но разговор не начинает.
Вот скрипт на он энтаре тригера:
NSS
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
if (GetLocalInt(OBJECT_SELF,"ACTIVATED")) return;
object oIlirin = GetHenchman(oPC);
if (GetTag(oIlirin)!="ilirin01") return;
SetLocalInt(oIlirin,"D_LINE",GetLocalInt(OBJECT_SELF,"CONVERSATION_LINE"));
SetLocalInt(OBJECT_SELF,"ACTIVATED",TRUE);
DestroyObject(OBJECT_SELF,5.0);
AssignCommand(oIlirin, ClearAllActions(TRUE));
AssignCommand(oPC, ClearAllActions(TRUE));
SetCutsceneMode(oPC,TRUE);
AssignCommand(oIlirin, ActionStartConversation(oPC,"plot_ilitrin01"));
}

Может кто знает в чём ошибка.
ЗЫ так же пробовал что бы хенчь сначала подбегал при момощи ActionMoveToObjecy, а только потом начинал разговор, но всё равно не получается.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 15 2006, 13:32
Сообщение #2525


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

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



Знакомый код (IMG:style_emoticons/kolobok_light/smile.gif) ))
У мну работало. Правда на большой дальности не проверял. Довольно странно, что не работает, если далеко.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 15 2006, 13:35
Сообщение #2526


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

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



Milfes, ну если он по команде ActionStartConversation подбегает, а диалог не начинает, то ведать проблема в диалоге. У него точно такой таг?

Хм, а зачем дестрой через 5 секуд?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Batkom
сообщение Sep 15 2006, 13:46
Сообщение #2527


Level 4
**

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



Обьект дестроится, действие остается.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 15 2006, 13:54
Сообщение #2528


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

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



Зачем его вообще дестроить и почему именно через пять секунд?
В скрипте есть проверка переменной, чтобы он второй раз не запускался.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Sep 15 2006, 13:59
Сообщение #2529


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



-fenix-, уничтожение конечно не критично, но триггер то больше не нужен, он свое дело сделал. (IMG:style_emoticons/kolobok_light/pleasantry.gif)

Milfes, самое простое - хенчмана по пути могут задержать. (Враги, другие команды и т.д...)
Поэтому лучше подстраховаться и забить стек команд помощника.


PS: (ИМХО) разумнее сначала подойти к игроку, а только потом начинать диалог.
(Кстати вот тебе и решение - ActionForceMoveToObject)

Сообщение отредактировал Dik Morris - Sep 15 2006, 14:03
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 15 2006, 13:59
Сообщение #2530


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

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



Фен, триггер одноразовый, я такие обычно удаляю через пару секунд. Чтоб не мешался.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Sep 15 2006, 14:40
Сообщение #2531


Level 5
**

Класс: Друид
Характер: Lawful Neutral
Раса: Человек



Dik Morris, не помогает.
Кстати если хенчу приказать стоять на месте, то он спокойно подбегает и начинает разговор не зависимо от расстояния.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 15 2006, 14:53
Сообщение #2532


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

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



Milfes, тоесть приказать стоять, когда?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Sep 15 2006, 15:59
Сообщение #2533


Level 5
**

Класс: Друид
Характер: Lawful Neutral
Раса: Человек



Нажимаешь на хенча правой кнопкой мышки и отдаёшь приказ стоять на месте. И вот в этом случае при наступление на тригер хенч начинает разговор.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 15 2006, 16:15
Сообщение #2534


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

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



Хм, что-то странное, такое ощущение, что у тебя хенч в каком-то возбужденном состоянии, так как он подбегает, а говорить у него не получается. Но такое состояние не снимается приказом стоять (или снимается?).
У тебя хенч что-нить делает или просто стоит ждет команды?

Попробуй хенча пересоздать. Еще почитать в Лексиконе про функцию ActionStartConversation, мож там что интересное есть. Чет хз пока что. Домой прийду, постараюсь пасмотреть.

Сообщение отредактировал -fenix- - Sep 15 2006, 16:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Sep 15 2006, 16:19
Сообщение #2535


Level 5
**

Класс: Друид
Характер: Lawful Neutral
Раса: Человек



В том то и дело что ничего не делает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 15 2006, 16:31
Сообщение #2536


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

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



Хенч там криво получился хз почему. При переходах между локациями ему надо переприказывать, чтобы шел за тобой. Я хз почему.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Sep 15 2006, 17:27
Сообщение #2537


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

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



QUOTE(Milfes @ Sep 15 2006, 16:28) [snapback]91739[/snapback]

У меня проблема. Надо что бы когда игрок наступал на тригер к нему подбегал хенчь и начинал разговор, но если хенчь далеко то он подбегает но разговор не начинает.
Вот скрипт на он энтаре тригера:
NSS
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
if (GetLocalInt(OBJECT_SELF,"ACTIVATED")) return;
object oIlirin = GetHenchman(oPC);
if (GetTag(oIlirin)!="ilirin01") return;
SetLocalInt(oIlirin,"D_LINE",GetLocalInt(OBJECT_SELF,"CONVERSATION_LINE"));
SetLocalInt(OBJECT_SELF,"ACTIVATED",TRUE);
DestroyObject(OBJECT_SELF,5.0);
AssignCommand(oIlirin, ClearAllActions(TRUE));
AssignCommand(oPC, ClearAllActions(TRUE));
SetCutsceneMode(oPC,TRUE);
AssignCommand(oIlirin, ActionStartConversation(oPC,"plot_ilitrin01"));
}

Может кто знает в чём ошибка.
ЗЫ так же пробовал что бы хенчь сначала подбегал при момощи ActionMoveToObjecy, а только потом начинал разговор, но всё равно не получается.

NSS
//:://////////////////////////////////////////////
//:: OnEnter  am_ten_convr_npc
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
  Старт диалога с РС. Текст над РС - Name триггера
  KeyTag - если больше 0, то непись ПОДБЕЖИТ.
  TR_CONV_[ТАГ_НПС_ДЛЯ_ДИАЛОГА]
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Original idea By: DBColl
//:: Created On: 22.04.2005
//:://////////////////////////////////////////////

void main()
{
    object oPC = GetEnteringObject();
    object oTrig = OBJECT_SELF;
    string sTag = GetTag(oTrig); // Таг триггера
    string sNPC = GetStringRight(sTag, (GetStringLength(sTag)- 8)); // Таг НПС
    object oNPC = GetNearestObjectByTag(sNPC);
    string sSpeak = GetName(oTrig); // Фраза
    vector vD = GetPosition(oNPC) - GetPosition(oPC);
    float fDir = VectorToAngle(vD);
    int bRun = StringToInt(GetLockKeyTag(oTrig));
    if (!GetIsPC(oPC)) return;
    if (GetLocalInt(oTrig, "HAS_OPERATED")) return;
    if (!GetIsObjectValid(oNPC)) return;
    if (GetArea(OBJECT_SELF)!=GetArea(oNPC)) return;
    if (GetIsEnemy(oNPC, oPC)) return;
    if (GetObjectType(oNPC)!=OBJECT_TYPE_CREATURE) return;

    FadeToBlack(oPC, FADE_SPEED_FASTEST);
    AssignCommand(oPC, ClearAllActions());
    AssignCommand(oNPC, ClearAllActions());
    SetCutsceneMode(oPC);
    DelayCommand(0.8, AssignCommand(oPC, SetCameraFacing(fDir, 25.0, 60.0, CAMERA_TRANSITION_TYPE_SNAP)));
    AssignCommand(oNPC, ActionDoCommand(SetFacingPoint(GetPosition(oPC))));
    DelayCommand(1.2, FadeFromBlack(oPC, FADE_SPEED_FAST));
    DelayCommand(2.0, AssignCommand(oPC, SetCameraFacing(fDir+35.0, 8.0, 50.0, CAMERA_TRANSITION_TYPE_SLOW)));
    AssignCommand(oPC, ActionDoCommand(SetFacingPoint(GetPosition(oNPC))));
    if (GetDeity(oNPC)!="")
      {
        int iAnim = StringToInt(GetDeity(oNPC));
        DelayCommand(3.0, AssignCommand(oNPC, ActionPlayAnimation(iAnim, 0.8, 2.0)));
      }
    DelayCommand(3.5, AssignCommand(oNPC, SpeakString(sSpeak)));
    DelayCommand(4.5, AssignCommand(oNPC, ActionForceMoveToObject(oPC, bRun)));
    DelayCommand(5.5, AssignCommand(oNPC, ActionDoCommand(SetCutsceneMode(oPC, FALSE))));
    DelayCommand(6.0, AssignCommand(oNPC, ActionStartConversation(oPC)));
    //-------------------------------------------------------
    SetLocalInt(oTrig, "HAS_OPERATED", TRUE);
}

Работает уже пару лет.

Зайди в раздел хеньчмана, там есть заготовка диалога и стрингов. Все бегает все подбегает и прочее. Хеньч сложная системаскриптов. там постоянно чистят акции и прочее, сканит врагов и друзей.

NSS
//:://////////////////////////////////////////////
//:: Name: am_ten_evt_alish
//:: Copyright © 2006 WRG! Team
//:://////////////////////////////////////////////
/*
  Скрипт персональных триггеров Алишан
  Основан на скрипте X2_EVT_TRIGGER
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 02.08.2006
//:://////////////////////////////////////////////
#include "x0_i0_common"
#include "x2_inc_banter"


void main()
{
    object oSelf = OBJECT_SELF;
    object oTrigger = GetEnteringObject();
    object oAlishan = GetObjectByTag("AM_HEN_ALISHAN");
    string sLl = GetLocalString(oSelf, "LOCAL_PC_01");
    string sL2 = GetLocalString(oSelf, "LOCAL_PC_02");

    if(GetMaster(oAlishan) == oTrigger)
    {
      // Если РС длаьше 20 метров то возврат. Иначе у BioWare тупо удаляется триггер...
    if(GetDistanceBetweenLocations(GetLocation(oTrigger), GetLocation(oAlishan)) > 20.0)
      return;

      // Локальные переменные на РС при каторых триггер не сработает
      if(GetLocalInt(oTrigger, sLl) || GetLocalInt(oTrigger, sL2))
      {
        DestroyObject(oSelf);
        return;
      }
      string sTag = GetTag(OBJECT_SELF);
      AttemptInterjectionOrPopup(OBJECT_SELF, sTag, oTrigger, 0, oAlishan);
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Sep 15 2006, 21:43
Сообщение #2538


Level 5
**

Класс: Друид
Характер: Lawful Neutral
Раса: Человек



Тут дело не в самом скрипте похоже, а в чём-то другом. По идее и скрипт Lеха должен работать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 15 2006, 22:52
Сообщение #2539


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

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



Milfes, ну вроде сказали уже, что похоже дело в хенче, глюкнуло там что-то.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Sep 16 2006, 16:59
Сообщение #2540


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

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



QUOTE(Milfes @ Sep 16 2006, 00:43) [snapback]91780[/snapback]
Тут дело не в самом скрипте похоже, а в чём-то другом. По идее и скрипт Lеха должен работать.

Надо делать вот что: повесить все команды на хеньчмана акциями. Через 0.1 секунду закрыть стек команд, а в конце всех команд повесить ActionDoCommand(Открываем стек команд Хеньчману) и все будет пахать как часы. проверено на разных НПС делающих что-то по скриптам. Ходящих по вейпам, стоящих на поинтах. У них сбиваются акции. Или с рандомно бродящими НПС.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 100 101 102 103 104 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 30th April 2025 - 16:33