Город Мастеров
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крипт для разных таверн. Официантка ходит по таверне подходит к разнам клиентам ,спрашивает заказ
* Дерево, которое можно рубить только специальным топором и после некоторых мучений отрубить таки сук. Другое оружие тупится об это дерево.



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


Level 5
**

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



Благодаря советам вышестоящих модераторов в другом топике, я таки дописал респаунинг NPC по событию их смерти, без использования энкаунтеров. ;) Это может кому-нибудь пригодиться, т.к. нет проблемы с "пересечением" области энкаунтера игроком и т.п., NPC может появится прямо перед носом игрока.

Для работы скрипта нам потребуется создать плейс с тэгом PLC_AUTORESPAWN. Любой плейс, он нужен лишь для того, чтобы на него вешать DelayCommand. Лично я ставил этот плейс в "системную" локу 8x8, которая только для подобных целей и была создана. У меня не получилось повесить DelayCommand на вейпоинт, иначе бы плейс создавать и не потребовалось бы. ;)
Создаем новый файл скрипта, который будет инклюдится к событию смерти:

Neverwinter Script Source
//:://////////////////////////////////////////////
//:: Created By: Twin
//:: Communication:
//::  E-mail: twin_quad@hotmail.com
//::  IRC: Twin@irc.rinet.ru:6669
//::
//:: Created On: 2004.10
//:://////////////////////////////////////////////

void doSpawn(string sResRef, string sTag, location locWhere, int nRespawnTime, int nMaxSpawns, int nCurrent, int bAnimation);

void cycleSpawn(object oNPC)
{
    object oRespawner = GetObjectByTag("PLC_AUTORESPAWN");
    if ( !GetIsObjectValid(oRespawner) )
        return;

    int nRespawnTime = GetLocalInt(oNPC, "respawn_time");
    if ( nRespawnTime <= 0 )
        return;

    string sWaypoint = GetTag(oNPC);
    if ( FindSubString(sWaypoint, "NPC_") == 0 )
        sWaypoint = GetStringRight(sWaypoint, GetStringLength(sWaypoint) - 4);
    sWaypoint = "WPR_" + sWaypoint;

    int bAnimation = GetLocalInt(oNPC, "respawn_animation");
    int nMaxSpawns = GetLocalInt(oNPC, "respawn_max");
    int nCurrent  = GetLocalInt(oNPC, "respawn_current");
    if ( nCurrent == 0 )
        nCurrent = 1;

    if ( (nMaxSpawns <= 0 || nCurrent < nMaxSpawns) && GetIsObjectValid(GetObjectByTag(sWaypoint)) )
    {
        //SendMessageToPC(GetFirstPC(), "Next respawn in "+ IntToString(nRespawnTime) +" seconds.");
        //SendMessageToPC(GetFirstPC(), "Current/Max: "+ IntToString(nCurrent) +"/"+ IntToString(nMaxSpawns));

        string sResRef = GetResRef(oNPC);
        string sTag = GetTag(oNPC);
        location locWhere = GetLocation(GetObjectByTag(sWaypoint));

        AssignCommand(oRespawner,
            DelayCommand(IntToFloat(nRespawnTime),
                doSpawn(sResRef, sTag, locWhere, nRespawnTime, nMaxSpawns, nCurrent, bAnimation)
            )
        );
    }
}

void doSpawn(string sResRef, string sTag, location locWhere, int nRespawnTime, int nMaxSpawns, int nCurrent, int bAnimation)
{
    object oNPC;
    oNPC = CreateObject(OBJECT_TYPE_CREATURE, sResRef, locWhere, bAnimation, sTag);

    nCurrent++;
    SetLocalInt(oNPC, "respawn_time", nRespawnTime);
    SetLocalInt(oNPC, "respawn_max", nMaxSpawns);
    SetLocalInt(oNPC, "respawn_current", nCurrent);
    SetLocalInt(oNPC, "respawn_animation", bAnimation);

    //SendMessageToPC(GetFirstPC(), "doSpawn("+ sResRef +", "+ sTag +")");
}


Далее ставим на карту требуемого NPC, в скрипте OnDeath или UserDefined на событие 1007 (главное чтобы во время смерти срабатывало) в самом начале вставляем:
Neverwinter Script Source
#include "название созданного выше скрипта"


И где-нибудь ближе к концу скрипта смерти вставляем:
Neverwinter Script Source
cycleSpawn(OBJECT_SELF);


Настраивается это всё просто. Заходим в Variables созданного NPC и добавляем переменные (все типа int):
respawn_time - Количество секунд, через которое появится новый NPC.
respawn_max - Необязательный параметр. Максимальное количество респаунов NPC.
respawn_animation - Необязательный параметр. Проигрывать ли анимацию во время создания NPC [0/1].

Можно настраивать Variables прямо в синьке NPC, на эффект это не влияет.

Место где появится новый NPC определяется путём выставления вэйпоинтов с названием типа "WPR_"+ тэг_умершего_NPC. Если в начале тэга NPC стоит "NPC_", то эти четыре символа отрежутся.

Всё.

При желании можно можно сохранять любые параметры умирающего NPC, даже случайный лут скопировать с трупа и загрузить в слудеющий респаун такой же. В общем всё что угодно.

Надеюсь кому-нибудь пригодится. ;)

P.S. Забыл о вэйпоинтах написать... Исправлено.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- 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

 



Текстовая версия Сейчас: 20th April 2024 - 01:16