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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 87 88 89 90 91 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Lex
сообщение May 9 2006, 12:35
Сообщение #2201


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

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



скрипты атаки и поворота работают без режима катсцены, в старом варианте?

\\ переношу в скрипты

QUOTE(Chimeric @ May 9 2006, 12:47) [snapback]81184[/snapback]
Ситуация: у всех NPC в OnConversation стоит
NSS
оbject oPC = GetFirstPC();
SetCutsceneMode(oPC, TRUE);
ActionStartConversation(oPC, "", FALSE, TRUE);


Лучше не так.. Я же приводил скрипт для onConversation
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение May 9 2006, 16:38
Сообщение #2202


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



В твоем скрипте есть какой-то RespondToShout, который Аврора не признает.

Скрипты не работают и без катсцены. Только что теги проверял, думал, может, не те. Они. В точности тот же тег у существа, что и в скрипте, но SetFacingPoint - кукиш. Бой тоже не начинается.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 9 2006, 19:24
Сообщение #2203


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

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



QUOTE(Chimeric @ May 9 2006, 17:38) [snapback]81196[/snapback]
Скрипты не работают и без катсцены

значит дело не в ней (IMG:style_emoticons/kolobok_light/yes3.gif) .
QUOTE(Chimeric @ May 9 2006, 17:38) [snapback]81196[/snapback]
В твоем скрипте есть какой-то RespondToShout, который Аврора не признает.

это как это не признает???? RespondToShout описана в библе nw_i0_generic, она там в скрипте подключена сверху
NSS
#include "nw_i0_generic"


ща посмотрим, что там не так в скриптах

QUOTE(Chimeric @ May 9 2006, 12:47) [snapback]81184[/snapback]
Или вот еще. Когда начинается разговор в том же режиме, то ставлю на первую реплику игрока следующее, чтобы к нему повернулись:

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

QUOTE(Chimeric @ May 9 2006, 12:47) [snapback]81184[/snapback]
После чего они начинают свой разговор в режиме катсцены. Штука, однако, в том, что при таком режиме не работает то, что вроде бы должно. Например, нужно сделать так, чтобы трое неписей напали на нас и окончился режим катсцены. Ставил вот что на последнюю реплику

и это тоже работает. смотри что написано выше по поводу другого скрипта. + мб там с фракциями/но-ПвП чтонить, хотя врядли.

QUOTE(Lex @ May 9 2006, 18:04) [snapback]81197[/snapback]
- нет ли в модуле других объектов с такими же тэгами

это можно легко проверить вот таким образом:

NSS
void CheckTag(string sTag)
{
int i = 0;
object oObject = GetObjectByTag(sTag,i);
object oPC = GetFirstPC();
SendMessageToPC(oPC,"CHECK TAG: '"+sTag+"'. List of Objects:");
while (GetIsObjectValid(oObject))
    {
    SendMessageToPC(oPC,GetName(oObject)+" in area "+GetName(GetArea(oObject)));
    i++;
    oObject = GetObjectByTag(sTag,i);
    }
}

void main()
{
CheckTag("1");
CheckTag("2");
CheckTag("3");
}


запусти такой скрипт где-нить, или вставь в свой и посмотри в логах, где что есть повторное.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение May 9 2006, 20:46
Сообщение #2204


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



А! Черт! Ну конечно! Так, все, вроде понял. Завтра поменяю кое что и сообщу...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Don_Beavis
сообщение May 9 2006, 21:39
Сообщение #2205


Level 1


Класс: Клерик
Характер: Neutral Evil
Раса: Дварф



Aiwan, за ползунок спасибо, но меня больше интересует другая часть моего вопроса, а именно как сделать, что бы суммоны не жрали опыт и между патей он делился в меньшем процентном соотношении. Если это скрипт, напиши его пожалуйста. (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение May 9 2006, 21:56
Сообщение #2206


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

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



NSS
// Так даем обычному кричу ХР и РС тоже
GiveXPToCreature(GetPCSpeaker(), 150)

// Так дает партии ХР
#include "nw_i0_tool"
void main()
{
    RewardPartyXP(150, GetPCSpeaker());
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DarkDeivel
сообщение May 11 2006, 09:49
Сообщение #2207


Level 3
*

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



Народ в Скриптах особо не шарю. Вот помогите мне я подхожу к НПС и надо так сделать что когда он отвечает "Да хочу" НПС наколдовал на игрока защиту и всякое такое + лечение. Напишите плиз скрипт он должен быть в диалоге. В завершении. (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение May 11 2006, 12:03
Сообщение #2208


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

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



NPC востaнавливает все хит-поинты игрока + увеличивает класс брони на 5.

Нужное время да и сам эффект, можешь поменять (IMG:style_emoticons/kolobok_light/smile.gif)

NSS
//На ActionTakens в диалоге
void main()
{
object oPC = GetPCSpeaker();
object oNPC = OBJECT_SELF;

  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oNPC, ClearAllActions());

  AssignCommand(oPC, ActionPauseConversation());
  DelayCommand(1.0, AssignCommand(oNPC,    ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2,1.0f, 5.0f)));
  DelayCommand(6.8, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_HEALING_X ),oPC));
  DelayCommand(6.8, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectACIncrease(5), oPC, 1000.0f));
  DelayCommand(6.9, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oPC)), oPC));
  DelayCommand(7.1, AssignCommand(oPC, ActionResumeConversation());
}


PS: скрипт писал без тулсета, посему не исключены ошибки. (IMG:style_emoticons/kolobok_light/pleasantry.gif)

Сообщение отредактировал Dik Morris - May 11 2006, 12:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nuprahtor
сообщение May 11 2006, 12:42
Сообщение #2209


Level 3
*

Класс: Некромант
Характер: Chaotic Neutral
Раса: Человек



Вот у меня есть такой лилаковский скрипт:

NSS
/*  Script generated by
Lilac Soul's NWN Script Generator, v. 2.2

For download info, please visit:
http://nwvault.ign.com/View.php?view=Other...&id=4683&id=625    */


//Put this script OnEnter
void main()
{

object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

object oTarget;
location lTarget;
oTarget = GetWaypointByTag("WP_FromStart");

lTarget = GetLocation(oTarget);

//only do the jump if the location is valid.
//though not flawless, we just check if it is in a valid area.
//the script will stop if the location isn't valid - meaning that
//nothing put after the teleport will fire either.
//the current location won't be stored, either

if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;

SetLocalLocation(oPC, "ls_stored_loc", GetLocation(oPC));

AssignCommand(oPC, ClearAllActions());

AssignCommand(oPC, ActionJumpToLocation(lTarget));

FloatingTextStringOnCreature("Ловушка!Начни сначала.", oPC);

}

Ставлю его на триггер.При наступлении на него игроком, скрипт переносит PC в вейпоинт WP_FromStart.
Как можно сделать, чтобы триггер перемещал игрока в вейпоинт, так которого равен тегу ключа вейпоинта?
Помогите пожалуйста.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение May 11 2006, 12:49
Сообщение #2210


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

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



QUOTE
Как можно сделать, чтобы триггер перемещал игрока в вейпоинт, так которого равен тегу ключа вейпоинта?


Тэг ключа вайпоинта... ?

Если честно я ничего не понял. (IMG:style_emoticons/kolobok_light/pleasantry.gif)

Сообщение отредактировал Dik Morris - May 11 2006, 12:52
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nuprahtor
сообщение May 11 2006, 12:54
Сообщение #2211


Level 3
*

Класс: Некромант
Характер: Chaotic Neutral
Раса: Человек



Ну в русской версии.
Свойства триггера-улучшенный-авто удаление ключа, а ниже - тег ключа.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение May 11 2006, 12:57
Сообщение #2212


Лорд AxisTown'a
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Дварф
NWN: Маппинг



QUOTE
Как можно сделать, чтобы триггер перемещал игрока в вейпоинт, так которого равен тегу ключа вейпоинта?

хмм написан вопрос весьма туманно и замудренно...
но никакой особый скрипт для этого не нужен
просто в закладке Area Transition тригера через Setup Area Transition укажи куды пригать и все (IMG:style_emoticons/kolobok_light/biggrin.gif)
п.с. не рекомндуеться юзать русифицированый тулсет..особенно с некоторыми "перлами" "точного дословного" перевода (IMG:style_emoticons/kolobok_light/biggrin.gif)

Сообщение отредактировал mamuc - May 11 2006, 13:00
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nuprahtor
сообщение May 11 2006, 13:07
Сообщение #2213


Level 3
*

Класс: Некромант
Характер: Chaotic Neutral
Раса: Человек



QUOTE
хмм написан вопрос весьма туманно и замудренно...
но никакой особый скрипт для этого не нужен
просто в закладке Area Transition тригера через Setup Area Transition укажи куды пригать и все biggrin.gif
п.с. не рекомндуеться юзать русифицированый тулсет..особенно с некоторыми "перлами" "точного дословного" перевода biggrin.gif

1.Этот скрипт писала бездушная машина\программа.
2. Идет себе герой по подземелью.Смотрит, на полу лежит меч+3!Ничего себе, халявный меч!Подходит к мечу, а потом рраз, и телепортировался к гаргульям...
Скрипт срабатывает не тогда, когда игрок по нему кликает, а когда наступает(PC этот триггер не видит).
Я не такой чайник, чтобы не знать, как использовать триггер Area Transitition.

Сообщение отредактировал Nuprahtor - May 11 2006, 13:13
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение May 11 2006, 13:12
Сообщение #2214


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

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



QUOTE
Свойства триггера-улучшенный-авто удаление ключа, а ниже - тег ключа.


Это ключ не вайпоинта, а триггера. (IMG:style_emoticons/kolobok_light/smile.gif) )

Т.е как я понял тебе нужен скрипт, чтобы при наступании игрока на триггер,он прыгал на объект с тагом, указанным в поле KeyTag того же триггера.

NSS
//onEnter, триггера.
void main
{
object oPC = GetEnteringObject();
string sTag = GetLockKeyTag(OBJECT_SELF);

if (GetIsPC(oPC))
  {
    AssignCommand(oPC, ClearAllActions());
    DelayCommand(0.2, AssignCommand(oPC,                                        ActionJumpToLocation(GetLocation(GetObjectByTag(sTag)))));
    DestroyObject(OBJECT_SELF, 0.6);
// Скрипт сработает всего 1 раз, т.к триггер мы удалим. Если это не нужно, строчку можно потереть.
  }
}


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


Лорд AxisTown'a
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Дварф
NWN: Маппинг



QUOTE
Я не такой чайник, чтобы не знать, как использовать триггер Area Transitition

тогда в чем проблема? (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nuprahtor
сообщение May 11 2006, 13:15
Сообщение #2216


Level 3
*

Класс: Некромант
Характер: Chaotic Neutral
Раса: Человек



Dik Morris, спасибо вам большое.Это то, что нужно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение May 11 2006, 14:23
Сообщение #2217


Лорд AxisTown'a
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Дварф
NWN: Маппинг



QUOTE
2. Идет себе герой по подземелью.Смотрит, на полу лежит меч+3!Ничего себе, халявный меч!Подходит к мечу, а потом рраз, и телепортировался к гаргульям...
Скрипт срабатывает не тогда, когда игрок по нему кликает, а когда наступает(PC этот триггер не видит).

кстати - вот с этого описания и надо было начинать вопрос (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Noah
сообщение May 11 2006, 23:42
Сообщение #2218


Level 5
**

Класс: Убийца
Характер: Chaotic Neutral
Раса: Полуэльф



Добр.Ночи! Так, я уже куда-то писал об этом,но пока глухо.Нужен скрипт для вампира(хенч,нпс)чтобы днем у него были штрафы, а ночью бонусы.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение May 12 2006, 16:01
Сообщение #2219


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

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



1.
Возьми стандартный скрипт спавна,
(фильтр скриптов -> Templates -> Custom onSpawn script)
там раскомментируй строчку:
//SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT);
сохраняешь скрипт, ставишь его на onSpawn, NPC.

2.
На UserDefingen, того же NPC:

NSS
//Ночью у NPC будут регенерировать хит-поинты, а днем все характеристики уменьшаются на -3
void main()
{
    object oNPC = OBJECT_SELF;
    effect eRegener = EffectRegenerate(1,1.0f);
    effect eCurse = EffectCurse(3,3,3,3,3);
    int nUser = GetUserDefinedEventNumber();

    if(nUser == EVENT_HEARTBEAT)
    {
      if (GetIsDay())
        {
        if (GetLocalInt(oNPC,"Day") == 0)
          {
            SetLocalInt(oNPC,"Day",1);
            RemoveEffect(oNPC, eRegener);
            ApplyEffectToObject(DURATION_TYPE_PERMANENT,
              eCurse,oNPC);
          }
        }
      if (GetIsNight())
        {
        if (GetLocalInt(oNPC,"Day") == 1)
          {
            SetLocalInt(oNPC,"Day",0);
            RemoveEffect(oNPC, eCurse);
            ApplyEffectToObject(DURATION_TYPE_PERMANENT,
              eRegener,oNPC);
          }
        }

    }
}


Сообщение отредактировал Dik Morris - May 12 2006, 16:06
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DarkDeivel
сообщение May 12 2006, 19:40
Сообщение #2220


Level 3
*

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



Еще один вопрос. Вот никак не получается, делая в скрипте что в инвентаре должна быть вещ чтобы в диалоге появилась строка. А у меня не получается. И чтобы Игрок отдал вещ НПС и НПС дал в обен золото. Как это сделать???
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение May 12 2006, 20:04
Сообщение #2221


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

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



В редакторе диалогов, есть скрипт визард (иконка шляпки), вот его и юзай, там множество разных проверок, и т.п...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение May 12 2006, 20:23
Сообщение #2222


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

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



QUOTE(DarkDeivel @ May 12 2006, 22:40) [snapback]81480[/snapback]
Еще один вопрос. Вот никак не получается, делая в скрипте что в инвентаре должна быть вещ чтобы в диалоге появилась строка. А у меня не получается. И чтобы Игрок отдал вещ НПС и НПС дал в обен золото. Как это сделать???

Почитай тему "Скрипты для новичков"
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DarkDeivel
сообщение May 12 2006, 20:56
Сообщение #2223


Level 3
*

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



QUOTE(Dik Morris @ May 12 2006, 20:04) [snapback]81483[/snapback]

В редакторе диалогов, есть скрипт визард (иконка шляпки), вот его и юзай, там множество разных проверок, и т.п...

ВОТ Я И ЧЕРЕЗ ВИЗАРДА ДЕЛАЛ И НИЧЕГО НЕ ПАШЕТ
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение May 12 2006, 23:30
Сообщение #2224


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

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



QUOTE(DarkDeivel @ May 12 2006, 23:56) [snapback]81495[/snapback]
ВОТ Я И ЧЕРЕЗ ВИЗАРДА ДЕЛАЛ И НИЧЕГО НЕ ПАШЕТ

Застрелись. Тебе уже сказали где посмотреть а ты тупишь.

NSS
//------------------
#include "nw_i0_tool"
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    if(!HasItem(oPC, "ТАГ_ПРЕДМЕТА"))
        return FALSE;
    return TRUE;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kreon
сообщение May 12 2006, 23:36
Сообщение #2225


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

Класс: Некромант
Характер: Chaotic Evil
Раса: Дракон
NWN: Скриптинг [PW]



Заранее сорри за оффтоп:
Я тут подумал, может написать статью про оптимизацию nss-кода вообще и для PW в частности.
Материал + примеры есть, только хз надо ли и куда её девать после написания (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 87 88 89 90 91 > » 
Ответить в эту темуОткрыть новую тему
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th April 2025 - 18:15