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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
> База скриптов, Готовые скрипты. Описание обязательно.
Lex
сообщение Mar 27 2004, 22:00
Сообщение #1


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

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



Сюда выкладывать ваши скрипты и системы скриптов с описанием.
ОБСУЖДЕНИЕ, ВОПРОСЫ И ПРОСЬБЫ О ПОМОЩИ НЕ В ЭТОЙ ТЕМЕ.

ОГЛАВЛЕНИЕ:

-- страница 1 --

* дамаг НПС: Кровь + Вопли
* скрипт смерть: Крики о помощи и смерть
* Фраза при невозможности открыть дверь
* Запрет для всех, кроме игрока покидать локацию
* Создание стены из плейсов
* Субрасы: выдача уникальных вещей
* Дача опыта за обезвреживание и открытие замка
* Скачок времени в разговоре
* Дайсы
* Запираем двери на ночь
* Набор скриптов для AI проверок. Типы оружия, магия и тд.
* Работа с эффектами (скан и удаление)
* Бой с остановкой перед смертью* Отчистка торговцев от лишних вещей
*Работа с цветами
*Кодовая дверь
*Банковская система
*Падежи и работа с текстом
*Работа со свойствами вещей: устранение дисбаланса

-- страница 2 --

*если НПС отойдет от своего POST_-а дальше 15 метров, то появится строка в диалоге
*Отмена Rest через кнопку
*Алкоголь+Отрава. + Шпаргалка Айвана + Болото от Валео
*Что то навроде, как в кино: "Прошло два года..."
* респаунинг NPC по событию их смерти, без использования энкаунтеров
* Когда в городе наступит ночь - зажгуться факелы и будут освещать территорию
* Визуалки при LevelUp согласно элайменту
* Система отдыха от Авадона (в дикой местности)
* Делает из длинной лавки 3-х местный диван
* Скрипты авторегистрации для сервера использующего APS/NWNX 2 + MySQL
* Ловушка от (MoF)Darth_Nick
* Система смерти от Лито
* Запись смерти игрока в БД
* Спаунер/анспаунер для гвардов: выход на патруль утром и уход вечером
* Сервер-статус-чекер с помощью APS/NWNX2 и базы данных MySQL
* Система отдыха от Авадона (в таверне)
* Пара функций для сохранения и восстановления всех свойств предмета
* систему захода игрока на сервер + выдача вещей
* Скрипт на смерть НПС. НПС исчезает, а на его месте появляется труп
* Ведет игрока за НПС по точкам
* Разговор 2 и более НПС меж собой. + взрывоопасные бочки.
* позволяет при наличии надетой брони с определенным ТЕГом ходить во вражественном лагере + два скрипта для запуска диалога в котором участвует НПС которого вы атакуете и диалог начинается с определенного нр у НПС + Запрет выхода из локации монстров за игроком

-- страница 3 --

* Система смерти + Температурный скрипт + тягловые животные + гильдия убийц + система отдыха + скрипт ветра + скрипт осадков
* Спавн монстров + призрак
* защита чаров по CDKey + Скрипт для магазинов + pеализация кольца духа + Расцветка сообщений, выводимых SendMessageToPC() + Простейшая реализация двумерного массива
* управление дверью через рычаг + холодная локация + скрипт капитана (подчиненные отдают честь) + всплывающая строка на триггере
* буква "я" в скриптах (эпоха до патча dumbo) + автопереход на триггере
* дестрой всех вещей игрока + часы + подсчет количества items у объекта
* случайная точка на определенном удалении от цели
* Функция определяет, можно ли надеть указанный армор (по левелу)
* запоминаем время для шардов, чтобы после рестарта выставить правильно
* скрипт для уборщика + определение кол-ва жизней цели в процентах + Скрипт на автооткрывание дверей + код позволяет создать "случайную локацию", как например в БГ + скрипт для переноса всех обьектов
* красивая работа с визуалками и плейсами
* реализация болота + личный код на проверку скилла Persuade
* Скрипт на воскрешение и зомби + скрипт на то чтобы после смерти находится в бессознательном состоянии 10 едениц + телепорт + превращение НПC в предмет
* Скрипт смены погоды
* Скрипт лута для класса в после выполнения квеста + генерация лута по элайменту и проверке скила + ночное привидение + фразы дверей "закрыто" на основе вейпов + Рандомный лут в КВЕСТОВЫЙ сундук
* скрипты для магазинов
* получение лвла по алайменту (на 2 странице этот скрипт доработан Авадоном) + веселая ловушка (повтор)
* Крафт брони +1 к АС, Крафт оружия +1энчант бонус, либо елси это лук или арбалет +1 атак бонус
* Скриптовая система из "Проклятия Левора", предназначенная для переноса вещей хенчмана в следующий модуль
* скрипт чтобы NPC шел за игроком. Будет идти даже после окончания боя.
* пара простых, но очень полезный скриптов для шардов, на них "нанизываются" все остальные примочки
* Система факелов в городах
* Координатная система перехода
* Выдает любому уровню процент ХР заданный вами
* Вот маленький инклюд с функцией makeTrace изображает дымную трассу (типа как от ракеты) между двумя точками + функции устанавливают заданное числовое значение аляймента

-- страница 4 --
* Построение "лучевой" конструкции на локации
* Альтернативный отдых от 2_advanced + работа с игровым временем
* Скрипт запрета игры в модуль определенными расами/классами и тд
* посадка на стул с учетом того, что игрока может выкинуть из модуля (актуально для шардов)
* Скрипт отодвигания НПС с прохода через диалог
* Автоматическое переключение дневных и ночных энкаунтеров
* Тестовый триггер для присвоения нужных локалок. Полезен при отладке синглов
* Выдача опыта в зависимости от нанесенного дамага
* Библиотека для работы с цветами (возможность делать цвета самостоятельно на основе RGB)
* Скрипт построения НПС в колонны, шеренги, ромбы и другие виды построений
* Библиотека для работы со строками, шаблонами и тд.
* Работа с инвентарем (передача инвенторя от 1 НПС другому, взятие нескольких стекованных предметов) + определение лучшего класса в мультиклассе
* Скрипт "резервирования" нескольких мест на сервере под DM'ов (kreon)
* Скрипт "резервирования" нескольких мест на сервере под DM'ов (Zirrex)
* Восстановление заклинаний через молитвы
* Раскидывание заходящих игроков по точкам (например для автоматического раскидывания игроков по камерам в тюрьме)
* Функция, определяющая лучшее оружие ближнего боя для указаного персонажа. (с учетом фитов и многого другого)
* После убийства НПС его вещи копируются в плейсбл, который потом грабится игроком
* Cкрипт для разных таверн. Официантка ходит по таверне подходит к разнам клиентам ,спрашивает заказ
* Дерево, которое можно рубить только специальным топором и после некоторых мучений отрубить таки сук. Другое оружие тупится об это дерево.



Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
Аваддон
сообщение Oct 13 2004, 00:05
Сообщение #2


Level 10
***

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



Ой, чето зачастил я со скриптами:) Но надеюсь пригодится :xz:
Этот скрипт на отдых. Для начала разберемся с условиями отдыха:

1. У игрока должна быть кроватка(подстилка) aka бэдролл
2. Так же должна быть в наличие еда.
3. Расстояние от разведенного костра должно быть не более 3х метров.
4. Если игрок спит в тяжелых доспехах (более 20 lbs) то у него есть риск заболеть, вредно ведь для здоровьица геройского. Но спасы рулят;) А если не рулят то придется переодеваться в пижамку (гы-гы :D )

Чтобы развести костер надо:
1. Найти дрова (сами запихнете их в какое нить дупло и т.п.)
2. Разложить дрова на земле.
3. Пожечь факелом.
4. Костер горит 180 сек (можете сами регулировать)
5. Если вы используете выложенные дрвоа без факела - игрок их поднимает, если с факелом - разводит костер.

Теперь с предметами:

Item'ы:
Подстилка - тэг [bedroll]
Еда - тэг [food]
Дрова - тэг [wood]

Placeable'ы:
Костер - синька [camp]
Подстилка (внешне выглядит как раскатаная из рулона ткань) - синька [place_bedroll]
Дрова (внешне выглядит как куча дров aka woodpile :D) - синька [place_wood] .

P.S. Синька это Blueprint ResRef

Со всех плейсов снимите галочку Static! А плейс Дрова должен быть Используемый.

Поехали...

Скрипт ставится на OnPlayerRest
Neverwinter Script Source
//////////////////////////////////////////////////
////////////Avaddon's Rest System//////////
////////// Script On Player Rest ////////////
////////// Date: 12.10.2004 ///////////////
//////// Created by: Avaddon ////////////
/////////////////////////////////////////////

#include "nw_i0_tool"
void main()
{
object oPC = GetLastPCRested();
object oCamp = GetNearestObjectByTag("camp",oPC);
object oBedroll = GetNearestObjectByTag("place_bedroll",oPC);
effect eSleep = EffectVisualEffect(VFX_IMP_SLEEP);
effect eBlind = EffectBlindness();
effect eDisease = EffectDisease(DISEASE_SOLDIER_SHAKES);

    if (GetLastRestEventType() == REST_EVENTTYPE_REST_STARTED) //отдых начат
    {
        if(GetIsObjectValid(oCamp)!=TRUE) //проверка расстоЯниЯ до костра
        {
         FloatingTextStringOnCreature("Здесь слишком холодно",oPC,FALSE);
         AssignCommand(oPC,ClearAllActions()); //отмена отдыха
        }
       else
       {
       if(GetDistanceBetween(oPC,oCamp)>3.0)
       {
       FloatingTextStringOnCreature("Здесь слишком холодно",oPC,FALSE);
       AssignCommand(oPC,ClearAllActions()); //отмена отдыха
       }
       else
         {
        if (HasItem(oPC,"bedroll")==TRUE) //проверка на наличие подстилки
        {
            if (HasItem(oPC,"food")==TRUE) //проверка на наличие еды
            {
            ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eSleep,oPC,30.0); // Эффект Z-z-z
            FadeToBlack(oPC, FADE_SPEED_SLOW); //тушим свет
            CreateObject(OBJECT_TYPE_PLACEABLE,"place_bedroll",GetLocation(oPC)); // Расстилаем подстилку
            DestroyObject(GetItemPossessedBy(oPC,"food")); //съедаем еду
            DestroyObject(GetItemPossessedBy(oPC,"bedroll")); //забираем у игрока подстилку из инвентори (реализм, блин)
            SetLocalInt(oPC,"slept",1); //сон удачен
            }
            else
            {
            FloatingTextStringOnCreature("Не боитесь помереть во сне от голода?!",oPC,FALSE);
            AssignCommand(oPC,ClearAllActions());
            }
        }
        else
        {
        FloatingTextStringOnCreature("Вам не на чем спать",oPC,FALSE);
        AssignCommand(oPC,ClearAllActions());
        }
       }
       }
    }
   if (GetLastRestEventType() == REST_EVENTTYPE_REST_FINISHED) //отдых закончен
   {
   FadeFromBlack(oPC, FADE_SPEED_SLOW); //продираем глазки
   DestroyObject(oBedroll); //убираем подстилку
   SetLocalInt(oPC,"slept",0); //отдых удачно окончен
   CreateItemOnObject("bedroll", oPC,1); // отдаем игроку в инвентори его подстилку
   if (GetWeight(GetItemInSlot(INVENTORY_SLOT_CHEST,oPC))>20) // проверка на вес брони
   {
   ApplyEffectToObject(DURATION_TYPE_INSTANT,eDisease,oPC); //игрок заболел
   }

   }

   if (GetLastRestEventType() == REST_EVENTTYPE_REST_CANCELLED) //отдых прерван
   {
   if(GetLocalInt(oPC,"slept")==1) //если отдых был прерван после того как он был успешно начат
   {
   FadeFromBlack(oPC, FADE_SPEED_FAST); //быстро продираем глазки
   DestroyObject(oBedroll); //убираем подстилку
   FloatingTextStringOnCreature("Вы проснулись от сильного шума, но глаза еще не привыкли к свету.",oPC,FALSE);
   ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eSleep,oPC,10.0); //сонный игрок
   ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eBlind,oPC,10.0); //еще не проснулсЯ
   SetLocalInt(oPC,"slept",0); //успешный отдых прерван
   CreateItemOnObject("bedroll", oPC,1); // возвращаем в инвентори подстилку
   }
   }

}


Скрипт ставится на UnAcquireItem
Neverwinter Script Source
/////////////////////////////////////////
    //////////Avaddon's Rest System//////////
   ////// Script On UnAcquireItem //////////
  //////// Date: 12.10.2004 ///////////////
  //////// Created by: Avaddon ////////////
/////////////////////////////////////////
void main()
{
object oLost = GetModuleItemLost();
object oPC = GetModuleItemLostBy();
if (GetTag(oLost)=="wood")
{
CreateObject(OBJECT_TYPE_PLACEABLE,"place_wood",GetLocation(oPC)); //выкладываем плейс дров
DestroyObject(oLost); //уничтожаем выложенны мешочек с итемом дров
}
}


Скрипт ставится на On Used плейса дров
Neverwinter Script Source
/////////////////////////////////////////
    //////////Avaddon's Rest System//////////
   ////// Script On Used Woodpile //////////
  //////// Date: 12.10.2004 ///////////////
  //////// Created by: Avaddon ////////////
/////////////////////////////////////////
#include "nw_i0_tool"
void main()
{
object oPC = GetLastUsedBy();

    if (GetIsPC(oPC)==TRUE)
    {
    if (GetTag(GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC))=="NW_IT_TORCH001") //проверка - есть ли факел в руке
    {
    AssignCommand(oPC,PlayAnimation(ANIMATION_LOOPING_GET_LOW,1.0,2.0));
    CreateObject(OBJECT_TYPE_PLACEABLE,"camp",GetLocation(OBJECT_SELF),TRUE);// если есть - поджигаем костер
    DestroyObject(OBJECT_SELF); //убираем дрова
    }
    else
    {
    DestroyObject(OBJECT_SELF);
    CreateItemOnObject("wood",oPC,1); //если нет - игрок поднимает дрова
    }
}
}


Скрипт ставится на On Heartbeat костра
Neverwinter Script Source
/////////////////////////////////////////
    //////////Avaddon's Rest System//////////
   ////// Script On Heartbeat Campfire /////
  //////// Date: 12.10.2004 ///////////////
  //////// Created by: Avaddon ////////////
/////////////////////////////////////////

void main()
{
int iFire = GetLocalInt(OBJECT_SELF,"fire");

if (iFire<1)
{
SetLocalInt(OBJECT_SELF,"fire",6);
}
else
{
SetLocalInt(OBJECT_SELF,"fire",iFire+6);
}

if (iFire>180) //проверка - прошло ли более 180 секунд
{
DeleteLocalInt(OBJECT_SELF,"fire");
DestroyObject(OBJECT_SELF);
}
}


Эээ вроде ничего не напутал. Если что не получается - скажите, я поправлю.

Сообщение отредактировал Аваддон - Nov 13 2004, 16:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- Lex   База скриптов   Mar 27 2004, 22:00
- - Tarre T.   Скрипт мой, все совпадения случайны. Синьки: ...   Apr 2 2004, 15:08
- - Bot   Да, РэндомЛокэйшн в предыдущем скрипте взят с фору...   Apr 3 2004, 16:37
- - Aiwan   В общем простой скриптик, экономящий кучу времени ...   Apr 4 2004, 19:31
- - Aiwan   Я тут задумался о пиратах, выползающих из шахт и у...   Apr 23 2004, 08:12
- - Baal   Neverwinter Script Sourcefloat GetX(location lTarg...   May 4 2004, 13:28
- - Lord of V@MPIRES   Вы хотите добавить суб-расы в игру ? Пожайлуста ...   May 8 2004, 15:57
- - Aiwan   Вот небольшой скрипт дающий экспу за открытие двер...   May 8 2004, 22:02
- - Aiwan   Вот немного переделанный скрипт, кому то понравитс...   May 9 2004, 12:13
- - Aiwan   Удалить не получается....   May 10 2004, 20:53
- - Tarre Talliorne   В процессе всем нам часто приходится кидать дайсы....   May 13 2004, 15:27
- - Aiwan   Если у вас не очень много дверей, которые закрываю...   May 23 2004, 09:13
- - DBColl   Поправлю. Код//:://///////////////////////...   May 23 2004, 10:59
- - Sir_Sarles   Цитата Вот небольшой скрипт дающий экспу за открыт...   May 26 2004, 08:21
- - Tarre Talliorne   Очередная порция скриптов(начал писать АИ, вот, та...   May 27 2004, 19:18
- - Аваддон   LEX: Ты бы описал в общих чертах, что эти скрипты ...   Jun 24 2004, 00:53
- - Tarre Talliorne   Скрипты: удаляющий эффект (1) и сканирующий эффект...   Jul 3 2004, 19:16
- - Tarre Talliorne   Neverwinter Script Sourceobject oFPC = GetLastAtta...   Jul 4 2004, 13:39
- - Tarre Talliorne   Да, я добрался-таки до тулсы, проверил: все работа...   Jul 4 2004, 20:05
- - Tarre Talliorne   Neverwinter Script Sourceconst string TXT_COLOR_GR...   Jul 7 2004, 15:45
- - Tarre Talliorne   Цветной текст. Пример: Называешь мой инклюд ...   Jul 7 2004, 21:00
- - Аваддон   Скриптики на головоломку. Тоесть не совсем головол...   Jul 10 2004, 06:22
- - Аваддон   Небольшой, совсем простой скриптик банка. В нем не...   Jul 11 2004, 04:01
- - Tarre Talliorne   Часть скрипта из нашей демки. У нас будет более пр...   Jul 17 2004, 20:55
- - Valleo   Ладно думал я думал и решил тут отпостить простень...   Jul 21 2004, 19:58
- - Aiwan   Вот простенький скриптик, если НПС отойдет от свое...   Jul 23 2004, 22:41
- - Valleo   А вот скриптик, если при каких нибуть условиях вы ...   Jul 25 2004, 18:31
- - Lex   автор: _kaa_ Вот стандартный файл для алкоголя...   Aug 12 2004, 20:15
- - Aiwan   Вот простой скриптик, ставится на строку НПС и во ...   Aug 14 2004, 01:50
- - Twin   Благодаря советам вышестоящих модераторов в другом...   Oct 2 2004, 15:12
- - Аваддон   Этот скрипт можно ставить на факел, фонарь, или лу...   Oct 9 2004, 18:51
- - Аваддон   Скрипт получения уровня по алайменту написал [MoF]...   Oct 12 2004, 20:53
- - Аваддон   Ой, чето зачастил я со скриптами Но надеюсь пригод...   Oct 13 2004, 00:05
- - Lex   Источник: Валут. Нашел: Авадон. Neverwinter Scrip...   Nov 5 2004, 22:10
- - Аваддон   Я тут написал пару скриптиков. Они для сервера исп...   Nov 17 2004, 22:29
- - [MoF]Darth_Nick   Neverwinter Script Source//:://///////////////////...   Nov 18 2004, 05:38
- - Лито   у меня вот такий скрипт на OnPlayerDeath CODE void...   Nov 22 2004, 10:49
- - [MoF]Darth_Nick   Я смерть плеера в БД записываю Neverwinter Script...   Nov 24 2004, 04:57
- - Ilharess   Спаунер/анспаунер для гвардов (Утром открывается д...   Nov 24 2004, 12:40
- - Аваддон   долго отсутствовал, с интернетом опять неприятност...   Nov 27 2004, 12:29
- - Аваддон   На ваульте полно Сервер-статус-чекеров, но они бер...   Nov 29 2004, 09:35
- - Аваддон   продолжение OnPlayerLevelUp Neverwinter Script S...   Nov 29 2004, 10:11
- - Аваддон   В одном из моих постов, в Базе Скриптов я опублико...   Dec 4 2004, 23:45
- - Twin   Пара функций для сохранения и восстановления всех ...   Dec 7 2004, 11:38
- - Tarre Talliorne   http://rage-t.boom.ru/creative.html На эой странич...   Jan 5 2005, 13:19
- - Лито   Многие начинающие не могут нормально соединить нес...   Jan 27 2005, 21:00
- - Lex   Скрипт на смерть НПС. НПС исчезает, а на его месте...   Jan 27 2005, 22:14
- - Aiwan   СКРИПТ ВЕДУЩИЙ ИГРОКА ЗА НПС ПО ТОЧКАМ. Вейпов дол...   Mar 13 2005, 20:25
- - Lex   СЕРИЯ "СКРИПТЫ ПРОКЛЯТИЯ ЛЕВОРА" ЦИКЛ ...   Mar 17 2005, 11:51
- - Aiwan   СЕРИЯ "СКРИПТЫ ПРОКЛЯТИЯ ЛЕВОРА" ЦИКЛ ...   Mar 17 2005, 16:18
- - Lex   СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ" ЦИКЛ "С...   Mar 18 2005, 22:42
- - Lex   СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ" ЦИКЛ "С...   Mar 18 2005, 23:50
- - Lex   СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ" ЦИКЛ "С...   Mar 19 2005, 01:06
- - Lex   СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ" ЦИКЛ "С...   Mar 19 2005, 13:56
- - Lex   СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ" ЦИКЛ "С...   Mar 19 2005, 15:03
- - Lex   СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ" ЦИКЛ "С...   Mar 19 2005, 16:06
- - Lex   СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ" ЦИКЛ "С...   Mar 19 2005, 16:21
- - Lex   СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ" ЦИКЛ "С...   Mar 19 2005, 16:22
- - Lex   СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ" ЦИКЛ "С...   Mar 19 2005, 16:23
- - Lex   СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ" ЦИКЛ "С...   Mar 19 2005, 16:24
2 страниц V   1 2 >


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

 



Текстовая версия Сейчас: 29th March 2024 - 16:47