Город Мастеров
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   Скрипты для новичков   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

 



Текстовая версия Сейчас: 28th March 2024 - 22:04