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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
> Скрипты для новичков, Самые простые скрипты с описанием
Aiwan
сообщение Aug 23 2005, 17:53
Сообщение #1


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

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



Здесь будут вывешаны самые простые скрипты на которых можно построить новичку свой модуль. Любой пост кроме скрипта с описанием будет считаться спамом и автор получит предупреждение. Всем Мастерам скриптов советую максимально разжевывать куда, как и зачем вставлять код. При этом максимально просто писать код. Этим мы поможем новичкам не только справиться с проблемой, но и понемногу научим понимать код. Сложные скрипты писать в другую тему.


============================
LEX: Беру тему под контроль. Если тут в скриптах или комментариях ошибки, пишу в то же посте, где допущена неточность. Авторам постов обратить внимание на эти ремарки и вносить коррективы по необходимости.
============================


Начем. Самое главное, это начало модуля. Тут все написано, как раздеть игрока, одеть, дать ему денег и отправить дальше. Ставится он на слот модуля OnClientEnter.

NSS
//:://////////////////////////////////////////////
//:: OnEnter  am_mod_enter
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
      Скрипт на вход в модуль при старте.
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 22.08.2005
//:://///////////////////////////////////////////
void main()
{
    object oMod = GetModule(); // Наш модуль
    object oPC = GetEnteringObject(); // Того кто вошел

    // Если это не игрок (а ДМ к примеру) или уже было раз, то сделаем возврат
    // скрипта, т.е. дальше он не пойдет.
    if (!GetIsPC(oPC) || GetLocalInt(oMod, "START_GAME"))
      {return;}
      {
      SetLocalInt(oMod, "START_GAME", TRUE); // Что бы сработал только один раз

//--------- Откроем туман над локацией если вам надо. К примеру в городе -------
      ExploreAreaForPlayer(GetObjectByTag("ТАГ_НУЖНОЙ_ЛОКАЦИИ"), oPC);

//--------------- Проводим деноминацию денежных накоплений ---------------------
      AssignCommand(oPC, TakeGoldFromCreature(GetGold(oPC),oPC,TRUE)); // Заберем все денежки

//------------------ Убиваем весь инвентарь ------------------------------------
        object oItem = GetFirstItemInInventory(oPC); // Первый итем в инвентаре
        while(GetIsObjectValid(oItem)) // Пока такой объект существует
        {
            DestroyObject(oItem); // Удаляем его
            oItem = GetNextItemInInventory(oPC); // Берем другой объект...
        }

//------------------ Убиваем всю амуницию -------------------------------------
        int i=0;
        while(i<14) // ПОКА i меньше 14. 14 - это количество всех слот у объекта
        {
        DestroyObject(GetItemInSlot(i, oPC)); //
        i++; // Это значит i увеличится на еденичку от своего значения
            // Было ноль к примеру, станет 1 и т.д.
        }
//------------------------ Создаем предметы ------------------------------------
        // Если вам нужны отдельно каждому классу по несколько предметов, то
        // скопируйте кусок кода еще и измените CLASS_TYPE_ Наведите курсор,
        // нажми F2 и выберите нужное значение константы

//      int Class = GetClassByPosition(1, oPC);
//      switch (Class) // В зависимости от класса
//        {
//          case CLASS_TYPE_BARBARIAN:
//          {
//            CreateItemOnObject("ResRef_Объекта", oPC,1);
//          }
//          case CLASS_TYPE_FIGHTER:
//          {
//            CreateItemOnObject("ResRef_Объекта", oPC,1);
//          }
//        }
        GiveGoldToCreature(oPC, 5000); // Даем золотишко
        CreateItemOnObject("ResRef_Объекта1", oPC, 1);
        CreateItemOnObject("ResRef_Объекта2", oPC, 1);
        CreateItemOnObject("ResRef_Объекта3", oPC, 30);
        // 1 - это количество в стеке, если вам надо 30 стрел, то ставьте там 30

//----------------------  Опознаем предметы  -----------------------------------
        object oItemCr = GetFirstItemInInventory(oPC);
        while(GetIsObjectValid(oItemCr))
            {
            SetIdentified(oItemCr,TRUE);
            oItemCr = GetNextItemInInventory(oPC);
            }

//-------------------- Уровень игрока для игры в модуле ------------------------
      // К примеру нам нужен игрок 5 уровня. Смотрим таблицу уровней и видим,
      // что Level 5 = 10000 xp.
        {
          SetXP(oPC, 10000);
        }

//----------------------  Оденем нашего игрока ---------------------------------
        AssignCommand(oPC, ActionEquipMostEffectiveArmor());

//---------------------------------- END ---------------------------------------
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
Aiwan
сообщение Oct 2 2005, 14:43
Сообщение #2


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

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



Стандартный скрипт на слот OnSpawn НПС. Данный скрипт позволяет тонко настроить свойства НПС. Главное, один раз ВНИМАТЕЛЬНО прочитайте комментарии. Все локальные переменные ствятся в тулсете заранее.

Neverwinter Script Source
//::///////////////////////////////////////////////
//:: 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 "x0_i0_anims"
#include "x0_i0_treasure"
#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);
    }
//::====================== Add By Aiwan / WRG! Team / ==========================
//:://////////////////////////////////////////////
//:: OnSpawn  am_csp_common
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
  Добавляем стандартные свойства НПС, модифицируя
  скрипт NW_C2_DEFAULT9.

                  КОММЕНТАРИИ

  Каждому свойству принадлежит локальная переменная,
  которую необходимо установить на НПС в редакторе.
  Все они начинаются на "FLAG_+Спавн_Свойство_НПС"
  Далее...

  * Если на модуль повесить LocalInt
  "X2_SWITCH_CROSSAREA_WALKWAYPOINTS" равную TRUE;
  то все НПС ходят по вейпам из локации в локацию.
  В противном случае только по вейпоинтам в одной
  локации.

  * Если повесить на дневной пост POST_ или ночной
  пост NIGHT_ локальную переменную LocalInt
  "X2_L_WAYPOINT_SETFACING" равную TRUE, то НПС
  становится лицом в сторну вепоинта. И возвращется
  в ту сторону даже после диалога/боя.

*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Original idea By: DBColl
//:: Created On: 06.07.2005
//:://////////////////////////////////////////////
//==============================================================================
//              Стандартные еванты скрипта NW_C2_DEFAULT9
//==============================================================================
    if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_STEALTH) == TRUE)
      {SetSpawnInCondition(NW_FLAG_STEALTH);}
    if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_SEARCH) == TRUE)
      {SetSpawnInCondition(NW_FLAG_SEARCH);}
    if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_AMBIENT_IMMOBILE) == TRUE)
      {SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);}
    if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_AMBIENT) == TRUE)
      {SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);}
    //--------------------------------------------------------------------------
    // НПС ходит скрытно, когда выполняется WalkWaypoints(). Хорошо для убийц.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_STEALTH") == TRUE)
      {SetSpawnInCondition(NW_FLAG_STEALTH);}
    //--------------------------------------------------------------------------
    // То же самое, только в режиме поиска. Хорошо для стражи.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_SEARCH") == TRUE)
      {SetSpawnInCondition(NW_FLAG_SEARCH);}
    //--------------------------------------------------------------------------
    // НПС появится используя "EffectAppear", т.е. Свалится с неба.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_APPEAR_ANIMATION") == TRUE)
      {SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);}
    //--------------------------------------------------------------------------
    // НПС будет постоянно воспроизводить анимацию, даже если игрок уйдет из его
    // поля зрения.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_CONSTANT") == TRUE)
      {SetSpawnInCondition(NW_ANIM_FLAG_CONSTANT);}
    //--------------------------------------------------------------------------
    //  Цивилизованные творения взаимодействуют с placeables в их области, что
    //  имеют таг "NW_INTERACTIVE"
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_CIVILIZED") == TRUE)
      {SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);}
    //--------------------------------------------------------------------------
    //  НПС с бродячей анимацией ходят бродят по городу часто возвращаясь в свой
    //  SPAWN пункт, арену в которой они спавнятся (желательно внутреннюю) и
    //  которая содержит один из тагов: "NW_HOME", "NW_TAVERN", "NW_SHOP"
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_CLOSE_RANGE") == TRUE)
      {SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);}
    //--------------------------------------------------------------------------
    //  При наступлении ночи, запускает скрипт сна на НПС. Имя скрипта вешается
    //  на модуль, как LocalString "X2_S_SLEEP_AT_NIGHT_SCRIPT" равное имени
    //  скрипта "имя_скрипта_на_ночь".
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_SLEEPING_AT_NIGHTT") == TRUE)
      {SetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT);}
    //--------------------------------------------------------------------------
    //  НПС поднимает тревогу, сообщит при атаке всем не враждебным НПС.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_WARNINGS") == TRUE)
      {SetSpawnInCondition(NW_FLAG_SET_WARNINGS);}
    //--------------------------------------------------------------------------
    //  Ходит на ночные/дневные поинты. Днем ходит по стандартным поинтам, ночью
    //  "WN_" + NPC Tag + "_##. Ночной пост - "NIGHT_" + NPC tag.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_DAY_NIGHT_POSTING") == TRUE)
      {SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);}
    //--------------------------------------------------------------------------
    //  НПС болтает с дружественными НПС, воспроизводит анимацию, эмитирует
    //  оживление и активность.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_IMMOBILE_ANIMATIONS") == TRUE)
      {SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);}
    //--------------------------------------------------------------------------
    // Почти то же что и выше, за исключением того, что НПС бродит по округе.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_AMBIENT_ANIMATIONS") == TRUE)
      {SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);}

//==============================================================================
//      Атакующие свойства НПС - устанавливается ТОЛЬКО ОДНО ИЗ НИХ!
//==============================================================================
    //--------------------------------------------------------------------------
    //  Старается атаковать издали, дальнобойным оружием.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_RANGED") == TRUE)
        {SetCombatCondition(X0_COMBAT_FLAG_RANGED);}
    //--------------------------------------------------------------------------
    //  Использует защитные фиты и паррирование
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_DEFENSIVE") == TRUE)
        {SetCombatCondition(X0_COMBAT_FLAG_DEFENSIVE);}
    //--------------------------------------------------------------------------
    //  Будет невидимым и попытается атаковать, выйдет из невидимости и снова
    //  будет пытаться атаковать.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_AMBUSHER") == TRUE)
        {SetCombatCondition(X0_COMBAT_FLAG_AMBUSHER);}
    //--------------------------------------------------------------------------
    //  При атаке убегает
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_COWARDLY") == TRUE)
        {SetCombatCondition(X0_COMBAT_FLAG_COWARDLY);}
//==============================================================================
//        Защитныеые свойства НПС - устанавливается ТОЛЬКО ОДНО ИЗ НИХ!
//==============================================================================
    //--------------------------------------------------------------------------
    // НПС Убегает в точку и возвращается через короткое время позже.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_ESCAPE_RETURN") == TRUE)
        {SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN);}
    //--------------------------------------------------------------------------
    // Убегает в точку и не возвращается.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_ESCAPE_LEAVE") == TRUE)
        {SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE);}
    //--------------------------------------------------------------------------
    // Телепортируется в безопасность и не возвращается.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_TELEPORT_LEAVE") == TRUE)
        {SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE);}
    //--------------------------------------------------------------------------
    // Телепортируется в безопасность и возвращается через короткое время.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_TELEPORT_RETURN") == TRUE)
        {SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN);}
//==============================================================================
//            Добавляем свои настройки для персональных нужд.
//==============================================================================
    //--------------------------------------------------------------------------
    //  Присваиваем НПС координаты, что бы он стоял лицом в одном направлении.
    //--------------------------------------------------------------------------
    if (GetLocalFloat(OBJECT_SELF,"initFacing") == 0.0)
    {
        location loc = GetLocation(OBJECT_SELF);
        SetLocalFloat(OBJECT_SELF, "initFacing", GetFacingFromLocation(loc));
        SetLocalLocation(OBJECT_SELF, "initLoc", loc);
    }
//==============================================================================
//                  Запускаем стандартные еванты на НПС
//==============================================================================
    //--------------------------------------------------------------------------
    // Если вы присвоите локальную переменную "FLAG_USER_DEFINED_EVENT" равную
    // TRUE, то все еванты присвоятся сразу. В противном случае присваивайте
    // По одному для каждого события.
    //--------------------------------------------------------------------------
    int iUserDef = GetLocalInt(OBJECT_SELF, "FLAG_USER_DEFINED_EVENT");

    // * Fire User Defined Event 1001 in the OnHeartbeat
    if (iUserDef==TRUE || GetLocalInt(OBJECT_SELF, "FLAG_HEARTBEAT") == TRUE)
        {SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT);}

    // * Fire User Defined Event 1002
    if (iUserDef==TRUE || GetLocalInt(OBJECT_SELF, "FLAG_PERCIEVE") == TRUE)
        {SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT);}

    // * Fire User Defined Event 1003
    if (iUserDef==TRUE || GetLocalInt(OBJECT_SELF, "FLAG_END_COMBAT_ROUND") == TRUE)
        {SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT);}

    // * Fire User Defined Event 1004
    if (iUserDef==TRUE || GetLocalInt(OBJECT_SELF, "FLAG_ON_DIALOGUE") == TRUE)
        {SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT);}

    // * Fire User Defined Event 1005
    if (iUserDef==TRUE || GetLocalInt(OBJECT_SELF, "FLAG_ATTACK") == TRUE)
        {SetSpawnInCondition(NW_FLAG_ATTACK_EVENT);}

    // * Fire User Defined Event 1006
    if (iUserDef==TRUE || GetLocalInt(OBJECT_SELF, "FLAG_DAMAGED") == TRUE)
        {SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT);}

    // * Fire User Defined Event 1007 (Считается ненадежным BioWare)
    if (iUserDef==TRUE || GetLocalInt(OBJECT_SELF, "FLAG_DEATH") == TRUE)
        {SetSpawnInCondition(NW_FLAG_DEATH_EVENT);}

    // * Fire User Defined Event 1008
    if (iUserDef==TRUE || GetLocalInt(OBJECT_SELF, "FLAG_DISTURBED") == TRUE)
        {SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT);}

    // * Fire User Defined Event
    if (iUserDef==TRUE || GetLocalInt(OBJECT_SELF, "FLAG_SPELL_CAST_AT") == TRUE)
        {SetSpawnInCondition(NW_FLAG_SPELL_CAST_AT_EVENT);}
    //--------------------------------------------------------------------------
    // Создает небольшую сумму сокровища в инвентаре
    //--------------------------------------------------------------------------
    if ((GetLocalInt(GetModule(), "X2_L_NOTREASURE") == FALSE)  &&
        (GetLocalInt(OBJECT_SELF, "X2_L_NOTREASURE") == FALSE)  )
    {
        CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF);
    }
    //--------------------------------------------------------------------------
    SetListeningPatterns();
    //--------------------------------------------------------------------------
    // nRun - если нужно что бы стражник бегал или ждал на поинтах больше чем по
    // умолчанию, то присвойте нужные значения на OBJECT_SELF.
    // LocalInt "FLAG_WALK_RUN" - равная TRUE, заставит НПС бегать по точкам.
    // LocalFloat "FLAG_WALK_PAUSE" - время паузы на поинтах. По умолчанию f1.0
    // Для верной работы надо править еще эту функцию на HertBeat скрипте и в
    // после завершения диалога с НПС. Иначе все настройки будут по умолчанию
    // после первого боя или диалога.
    //--------------------------------------------------------------------------
    int nRun = GetLocalInt(OBJECT_SELF, "FLAG_WALK_RUN");
    float fPause = GetLocalFloat(OBJECT_SELF, "FLAG_WALK_PAUSE");
    if (fPause == 0.0f)
    {
        fPause = 1.0f;
    }
    WalkWayPoints(nRun, fPause);
//=========================== End Aiwan's Edition ==============================
    //Post Spawn event requeste
    if (nSpecEvent == 2 || nSpecEvent == 3)
    {
    SignalEvent(OBJECT_SELF,EventUserDefined(EVENT_USER_DEFINED_POSTSPAWN));
    }
}

Для верной работы с паузами на вейпоинтах и с передвижением бегом по точкам, надо найти в стандартном скрипте x2_def_heartbeat такие строки и заменить моими ниже.
Neverwinter Script Source
// If we have the 'constant' waypoints flag set, walk to the next
    // waypoint.
    else if ( GetWalkCondition(NW_WALK_FLAG_CONSTANT) )
    {
        WalkWayPoints();
    }


Neverwinter Script Source
//======================== Add By Aiwan / WRG! Team / ==========================
    // Если НПС ходит по вейпоинтам, то он отправится на следующий.
    //--------------------------------------------------------------------------
    // nRun - если нужно что бы стражник бегал или ждал на поинтах больше чем по
    // умолчанию, то присвойте нужные значения на OBJECT_SELF.
    // LocalInt "FLAG_WALK_RUN" - равная TRUE, заставит НПС бегать по точкам.
    // LocalFloat "FLAG_WALK_PAUSE" - время паузы на поинтах. По умолчанию f1.0
    //-------------------------------------------------------------------------
    else if ( GetWalkCondition(NW_WALK_FLAG_CONSTANT) )
    {
    int nRun = GetLocalInt(OBJECT_SELF, "FLAG_WALK_RUN");
    float fPause = GetLocalFloat(OBJECT_SELF, "FLAG_WALK_PAUSE");
      if (fPause == 0.0f) // Значит ее нет на объекте
      {
        fPause = 1.0f; // Присвоим паузу по умолчанию 1.0 секунду
      }
      WalkWayPoints(nRun, fPause);
    }
//=================================== End ======================================
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- Aiwan   Скрипты для новичков   Aug 23 2005, 17:53
- - DraX   Долго думал, какой скрипт написать и решил, что но...   Aug 24 2005, 15:12
- - -fenix-   Решил расписать такой скрипт. Многие наверное хот...   Aug 24 2005, 15:50
- - DraX   Неожиданно пришла здравая идея! Многим может б...   Aug 24 2005, 16:32
- - Aiwan   Скрипт закрывает дверь на ночь и открывает ее днем...   Aug 25 2005, 08:42
- - Dik Morris   ЗЫ: Небольшое уточнение, в посте DraX’ са. QUOTE 4...   Aug 25 2005, 10:02
- - -fenix-   Вот скиптик для сидения на стуле, кушетке, диване,...   Aug 25 2005, 19:12
- - Aiwan   Скрипт закрывает дверь автоматически через заданно...   Aug 26 2005, 08:14
- - -fenix-   Если хотите, чтобы НПС, как только увидеk игрока п...   Aug 26 2005, 15:10
- - Aiwan   СКРИПТЫ БОЛЬШЕ НЕ ПОСТИТЬ. ТОЛЬКО МАСТЕРАМ РАЗРЕША...   Aug 26 2005, 16:37
- - Aiwan   Скрипт вешается на OnEnter триггера. Переходим в с...   Sep 7 2005, 22:29
- - Aiwan   Neverwinter Script Source//:://///////////////////...   Sep 18 2005, 21:18
- - _kaa_   QUOTE (Aiwan @ Sep 18 2005, 21:18) Neverwinte...   Sep 19 2005, 09:06
- - Aiwan   _kaa_ , согласен. Может кому нужны несколько то...   Sep 19 2005, 11:54
- - Lex   QUOTE (Lex @ Sep 22 2005, 15:44)описание - л...   Sep 22 2005, 14:44
- - Aiwan   Стандартный скрипт на слот OnSpawn НПС. Данный скр...   Oct 2 2005, 14:43
- - Aiwan   Проверка Харизмы у игрока. Если она 16 или больше,...   Oct 8 2005, 11:07
- - Aiwan   Универсальный скрипт, который ставится на люк (Дер...   Oct 9 2005, 19:26
- - Aiwan   Ставим скрипт на OnEnter енкаучера. Делаем его не ...   Jan 18 2006, 02:00
- - Aiwan   НПС после нападения становится нейтральным и начин...   Mar 31 2006, 07:09
- - Sugo77   А этот скрипт на проверку игрока в другой локации,...   May 14 2008, 21:59
- - Aiwan   Цитата(Sugo77 @ May 14 2008, 23:59) А это...   May 15 2008, 18:20
- - Ogneslav   Товарищи, я бы хотел сделать заклинание glyph of w...   Jul 2 2008, 19:09
- - Aiwan   Вопрос не по этой теме. Задай в теме вопросов по с...   Jul 2 2008, 19:24
- - Chiffa   Да, хороший скрипт, который отправляет непися в то...   Nov 14 2008, 02:09
- - Ilerien   Стремление к универсальности в порядке вещей, если...   Nov 14 2008, 22:26
- - Chiffa   ЦитатаНе понял, зачем в последнем скрипте тебе Del...   Nov 15 2008, 02:49
- - Nao   Хмм. я тоже придложу два простеньких скрипта для н...   May 19 2009, 18:20
- - Lex   первый скрипт убрал, тк в НВН2 есть стандартный бо...   May 20 2009, 08:41
- - Nao   можно заменить альтернативно: ставим урон на 10000...   May 21 2009, 18:43
- - Lex   в первом посте темы указано, для чего она создана ...   Aug 18 2010, 11:31
- - tyrrael   можно ли зделать так, чтобы войдя в установленую т...   Oct 4 2010, 19:20
- - Deirel   tyrrael, можно просто сделать так: Neverwinter S...   Oct 4 2010, 21:21
- - tyrrael   а можете по подробней сказать как зделать чтобы np...   Oct 6 2010, 22:29
- - Aiwan   Цитата(tyrrael @ Oct 7 2010, 01:29) а мож...   Oct 7 2010, 12:03
|- - virus_found   Цитата(Aiwan @ Oct 7 2010, 12:03) а еще к...   Oct 8 2010, 10:39
- - Talarasha   Наверное, многим известно, что к 1.69 галочка ...   Jul 30 2011, 18:53
- - ReZkiy   Послушайте,пожалуйста. Мой случай происходит дома ...   Aug 28 2011, 14:31
- - wirTUS   1) Извиняюсь за оффтоп 2) Эта тема не для задавани...   Aug 28 2011, 18:06
|- - ReZkiy   Цитата(wirTUS @ Aug 28 2011, 21:06) 1) Из...   Aug 28 2011, 18:48
- - ReZkiy   Мастера!Подскажите пожалуйста,что нужно в этой...   Aug 30 2011, 10:42
- - ReZkiy   Если кому нужно: Мой личный скрипт мертвого. Neve...   Aug 31 2011, 15:37
- - Talarasha   ЦитатаЕсли кому нужно: Мой личный скрипт мертвого....   Sep 3 2011, 09:25
|- - ReZkiy   Цитата(Talarasha @ Sep 3 2011, 12:25) Тво...   Sep 3 2011, 14:05
- - Talarasha   ЦитатаЗАБЫЛ!Слот OnSpawn - вот куда подходит м...   Sep 3 2011, 15:08
|- - ReZkiy   Цитата(Talarasha @ Sep 3 2011, 18:08) Воз...   Sep 4 2011, 12:50
- - greye   Цитата(ReZkiy @ Sep 3 2011, 14:05) ЗАБЫЛ...   Sep 4 2011, 13:36
|- - ReZkiy   Цитата(greye @ Sep 4 2011, 16:36) А по ка...   Sep 6 2011, 13:09
- - denis0k   ЦитатаА можно сделать так,что бы в трактире НПС си...   Sep 6 2011, 16:35
- - ReZkiy   Цитата(denis0k @ Sep 6 2011, 19:35) В мес...   Sep 6 2011, 20:04


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 15th June 2024 - 14:16