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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 113 114 115 116 117 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Misty Archer
сообщение Sep 7 2006, 16:12
Сообщение #2851


Level 2
*

Класс: Тайный Лучник
Характер: True Neutral
Раса: Эльф



Lex
По поводу первого вопроса: у тебя остался скрипт или подробная информация ( про угол обзора в 220 градусов) Если да то можно ли для разных существ сделать угол обзора разным.
Заранее благодарен.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 7 2006, 19:23
Сообщение #2852


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

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



NSS
int NER_GetObjectSeen(object oTarget, object oCreature, int fVisualAngle = 220)
{
vector vTarget  = GetPosition(oTarget);
vector vCreature = GetPosition(oCreature);
float fTargetXNew = vCreature.x - vTarget.x;
float fTargetYNew = vCreature.y - vTarget.y;
float fFacing = GetFacing(oCreature);
float fDistance = GetDistanceBetween(oTarget,oCreature);
float fTangle = asin(fTargetYNew/fDistance);
float RESULT;
if (fTargetXNew < 0.0)
    {
    if (fFacing < 180.0)  RESULT = fFacing + fTangle;
    else               RESULT = 360 - fFacing - fTangle;
    }
else
    {
    if (fFacing < 180.0)  RESULT = 180 - fFacing + fTangle;
    else               RESULT =  - 180  + fFacing - fTangle;
    }
if (GetObjectSeen(oTarget,oCreature))  
  {
    if ( abs(FloatToInt(RESULT)) <= (fVisualAngle/2) )
        return TRUE;
    }
return FALSE;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 8 2006, 23:31
Сообщение #2853


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

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



Доброго времени суток всем!

Aiwan Спасибо. Тема, действительно, оказалась полезной. Кстати, подумав, c DelayCommand разобралась, ты подтвердил мои догадки.

А теперь возник ну совершенно дурацкий вопрос: почему могут не работать дневные и ночные вэйпойнты, находящиеся в разных локациях? Переменную на свойства модуля надо ставить? (IMG:style_emoticons/kolobok_light/unsure.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Sep 9 2006, 13:05
Сообщение #2854


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

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



QUOTE(shadowdweller @ Sep 9 2006, 02:31) [snapback]91376[/snapback]
ременную на свойства модуля надо ставить?

Вот эту... (IMG:style_emoticons/kolobok_light/declare.gif)
NSS
X2_SWITCH_CROSSAREA_WALKWAYPOINTS
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Misty Archer
сообщение Sep 10 2006, 10:01
Сообщение #2855


Level 2
*

Класс: Тайный Лучник
Характер: True Neutral
Раса: Эльф



Лекс, на какую строку существа ставить энтот скрипт?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 10 2006, 12:31
Сообщение #2856


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

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



это всего лишь функция. У себя я ее использую, когда игрок трогает чужие вещи (ящики, двери). Проверяю этой функцией, видит ли игрока кто-нить или не видит, чтобы потом уже реакцию запускать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ellioth DarkMaid...
сообщение Sep 12 2006, 09:01
Сообщение #2857


Level 1


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



Что нужно сделать чтоб можно было садиться на стул?
Если есть такая тема или кто то задавл такой вопрос дайте пожалуйста ссылку на ответ.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 12 2006, 09:15
Сообщение #2858


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

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



РАЗ, ДВА.

З.Ы. Поиск великая вещь. (IMG:style_emoticons/kolobok_light/wink3.gif)

Сообщение отредактировал -fenix- - Sep 12 2006, 09:16
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 12 2006, 21:58
Сообщение #2859


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

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



QUOTE
Ellioth DarkMaider
Что нужно сделать чтоб можно было садиться на стул?


У меня выглядит так. Делаешь стул юзабельным, и вот это OnUsed:
NSS
void main()
{

object oChair = OBJECT_SELF;
if(!GetIsObjectValid(GetSittingCreature(oChair)))
  {

    AssignCommand(GetLastUsedBy(), ActionSit(oChair));

  }

}


Только места перед стулом побольше оставь для маневра.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ellioth DarkMaid...
сообщение Sep 13 2006, 06:30
Сообщение #2860


Level 1


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



Пасибо... Теперь объясните куда это все писать (IMG:style_emoticons/kolobok_light/crazy.gif)

Сообщение отредактировал Ellioth DarkMaider - Sep 13 2006, 06:39
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 13 2006, 09:25
Сообщение #2861


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

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



QUOTE(Ellioth DarkMaider @ Sep 13 2006, 07:30) [snapback]91579[/snapback]
Пасибо... Теперь объясните куда это все писать

Ты читай, что тебе пишут:
QUOTE(shadowdweller @ Sep 13 2006, 07:30) [snapback]91578[/snapback]
Делаешь стул юзабельным, и вот это OnUsed:

скрипт ставить на onUsed стула. Куда уж подробнее? (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ellioth DarkMaid...
сообщение Sep 13 2006, 10:48
Сообщение #2862


Level 1


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



Ну я как бы первый раз и пока что еще толком разобраться немогу... Но пытаюсь (IMG:style_emoticons/kolobok_light/biggrin.gif)
А вот если я делаю скамейку на... допустим на 5 мест как это зделать?

Сообщение отредактировал Ellioth DarkMaider - Sep 13 2006, 10:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vhall
сообщение Sep 13 2006, 10:58
Сообщение #2863


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

Класс: Обыватель
Характер: True Neutral
Раса: Дварф
NWN: Контент



QUOTE(Ellioth DarkMaider @ Sep 13 2006, 11:48) [snapback]91597[/snapback]
А вот если я делаю скамейку на... допустим на 5 мест как это зделать?

Один плейс - одно посадочное место. Как вариант - неюзабельная скамейка и 5 Invisible Object.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 13 2006, 11:08
Сообщение #2864


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

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



QUOTE(Ellioth DarkMaider @ Sep 13 2006, 11:48) [snapback]91597[/snapback]
А вот если я делаю скамейку на... допустим на 5 мест как это зделать?

Кажись в базе был такой скрипт и темка где-то кажись тоже была.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ellioth DarkMaid...
сообщение Sep 13 2006, 12:42
Сообщение #2865


Level 1


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



QUOTE(-fenix- @ Sep 13 2006, 11:08) [snapback]91607[/snapback]

Кажись в базе был такой скрипт и темка где-то кажись тоже была.



Хорошо. Поищу...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 14 2006, 21:23
Сообщение #2866


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

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



А вообще-то, что нужно - чтобы игрок сидел или НПС?
Если НПС - делается скамейка. Потом на эту скамейку ставится 5 (или сколько их у тебя там) Invisible Objects. Им присваиваются теги (допустим, "SEAT_01", "SEAT_02" и далее по порядку). Скамейка - неюзабельная, а Invisible objects - как раз юзабельные. С скамейкой все.
Теперь у всех НПС, которые должн сидеть на ней, на OnSpawn ставится такой скрипт (Обрати внимание на последнюю строчку): (IMG:style_emoticons/kolobok_light/shout.gif)

/
NSS
::///////////////////////////////////////////////
//:: Name x2_def_spawn
//:: Copyright © 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    Default On Spawn script


    2003-07-28: Georg Zoeller:

    If you set a ninteger on the creature named
    "X2_USERDEFINED_ONSPAWN_EVENTS"
    The creature will fire a pre and a post-spawn
    event on itself, depending on the value of that
    variable
    1 - Fire Userdefined Event 1510 (pre spawn)
    2 - Fire Userdefined Event 1511 (post spawn)
    3 - Fire both events

*/

//:://////////////////////////////////////////////
//:: Created By: Keith Warner, Georg Zoeller
//:: Created On: June 11/03
//:://////////////////////////////////////////////

const int EVENT_USER_DEFINED_PRESPAWN = 1510;
const int EVENT_USER_DEFINED_POSTSPAWN = 1511;


#include "x2_inc_switches"
void main()
{
    // User defined OnSpawn event requested?
    int nSpecEvent = GetLocalInt(OBJECT_SELF,"X2_USERDEFINED_ONSPAWN_EVENTS");

    // Pre Spawn Event requested
    if (nSpecEvent == 1  || nSpecEvent == 3  )
    {
    SignalEvent(OBJECT_SELF,EventUserDefined(EVENT_USER_DEFINED_PRESPAWN ));
    }

    /*  Fix for the new golems to reduce their number of attacks */

    int nNumber = GetLocalInt(OBJECT_SELF,CREATURE_VAR_NUMBER_OF_ATTACKS);
    if (nNumber >0 )
    {
        SetBaseAttackBonus(nNumber);
    }

    // Execute default OnSpawn script.
    ExecuteScript("nw_c2_default9", OBJECT_SELF);


    //Post Spawn event requeste
    if (nSpecEvent == 2 || nSpecEvent == 3)
    {
    SignalEvent(OBJECT_SELF,EventUserDefined(EVENT_USER_DEFINED_POSTSPAWN));
    }
ActionSit (GetNearestObjectByTag("ЗДЕСЬ_ТЭГ_ТВОЕГО_СТУЛА", OBJECT_SELF));

}


Это, кстати, родной скрипт из оригинальной кампании. Enjoy! (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 15 2006, 08:11
Сообщение #2867


Level 5
**

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



Для непися

NSS
void main()
{
     object oNPC = GetObjectByTag("тег непися")
     object oChair = GetObjectByTag("Тег стула")

     ActionMoveToObject(oChair);
     ActionSit(oChair);
}


А для игрока этот

NSS
void main()
{
    object oPC = GetLastUsedBy();
    object oChair = OBJECT_SELF;
    if (GetIsPC(oPC))
    {
        if (GetIsObjectValid(oChair) && !GetIsObjectValid(GetSittingCreature(oChair)))
        {
            AssignCommand(oPC, ActionSit(oChair));
        }
        else if (GetIsObjectValid(GetSittingCreature(oChair)))
        {
            AssignCommand(oPC, ClearAllActions());
            AssignCommand(oPC, SpeakString("А куда садитьсЯ? На руки, что ли?"));
        }
    }

}


Добавь на скамью пару невидимых объектов.

Сообщение отредактировал Артём - Sep 21 2006, 08:35
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 21 2006, 08:32
Сообщение #2868


Level 5
**

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



У меня вопрос?
Вот скрипт на заморозку непися
NSS
#include "x0_i0_anims"
//#include "x0_i0_walkway"
#include "x0_i0_treasure"

void main()
{


    SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT);
    SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT);
    SetSpawnInCondition(NW_FLAG_ATTACK_EVENT);
    SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT);
    SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT);
    SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT);
    SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT);

    SetListeningPatterns();

    effect eVis = EffectVisualEffect(VFX_DUR_FREEZE_ANIMATION);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis, OBJECT_SELF);
    SetLocalInt(OBJECT_SELF, "X2_L_NUMBER_OF_ATTACKS", 2);


}

Кто даст скрипт на снятие этого эффекта? (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Sep 21 2006, 09:14
Сообщение #2869


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

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



Функция:

NSS
// Remove eEffect from oCreature.
// * No return value
void RemoveEffect(object oCreature, effect eEffect)


Удаляет эффекты.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 21 2006, 09:59
Сообщение #2870


Level 5
**

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



А как это выглядит в скрипте мне надо чтобы при наступлении на триггер эффект снимался.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Sep 21 2006, 10:35
Сообщение #2871


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

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



Артем, вот тебе ссылка с уже готовой функцией, читать.

PS: думаю разберешся что к чему. (IMG:style_emoticons/kolobok_light/wink3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 21 2006, 11:48
Сообщение #2872


Level 5
**

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



QUOTE(Dik Morris @ Sep 21 2006, 11:35) [snapback]92300[/snapback]

PS: думаю разберешся что к чему. (IMG:style_emoticons/kolobok_light/wink3.gif)

Уже целый час (IMG:style_emoticons/kolobok_light/sad.gif) пытаюсь может кто выложит сам скрипт? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Sep 21 2006, 12:07
Сообщение #2873


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

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



QUOTE
мне надо чтобы при наступлении на триггер эффект снимался.


При наступании кого ? NPC или игрока ? Т.к телепатией не владею, будем считать что игрока.

NSS
// onEnter;
void RemoveTypeEffect(object oCreature, int iType)
{
    effect eEffect = GetFirstEffect(oCreature);
    while(GetIsEffectValid(eEffect))
    {
    if (GetEffectType(eEffect) == iType)
      {
        RemoveEffect(oCreature, eEffect);
      }
        eEffect = GetNextEffect(oCreature);
    }
}

void main()
{
  object oNPC; // Наш NPC, иницилизируй;

  if (GetIsPC(GetEnteringObject()) == FALSE || GetIsObjectValid(oNPC) == FALSE)
    return;

  RemoveTypeEffect(oNPC, EFFECT_TYPE_VISUALEFFECT);
  DestroyObject(OBJECT_SELF, 1.0f);
  return;
}


Сообщение отредактировал Dik Morris - Sep 21 2006, 12:11
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 21 2006, 12:20
Сообщение #2874


Level 5
**

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



Всё работает (IMG:style_emoticons/kolobok_light/biggrin.gif)
Спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 21 2006, 12:23
Сообщение #2875


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

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



Дик, ты так все визуальные эффекты снимешь с него, а не тока замедление. Если прочитать после поста Айвана пост Лекса, то можно увидеть несколько полезных функций, среди которых: E_DeleteSpecificEffect. С помощью нее можно удалить именно нужный эффект.

Вот пример:
QUOTE(Lex @ May 16 2006, 22:23) [snapback]81993[/snapback]
чтобы снять именно имун к слоу, юзай последнюю функцию.. примерно так:
NSS
E_DeleteSpecificEffect(GetFirstPC(),OBJECT_INVALID,EFFECT_TYPE_IMMUNITY,IMMUNITY_TYPE_SLOW,-1,TRUE);


Вот ПОСТ, все должно стать понятным.


Кстати, если эффект есть возможность снять в том же скрипте где он накладывается, то лучше вообще так:
NSS
RemoveEffect(OBJECT_SELF, eVis);


Сообщение отредактировал -fenix- - Sep 21 2006, 17:23
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 113 114 115 116 117 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



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