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



Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
Lex
сообщение Mar 18 2005, 23:50
Сообщение #2


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

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



СЕРИЯ "СКРИПТЫ СТАРОЙ БАЗЫ"
ЦИКЛ "СКРИПТЫ ДЯДЮШКИ MILEZ'А"

Автор:::::::::::::::::Milez::::::::::::::::::::::::::::::
Jun 29 2003
Еще один спавн. Фишка в том, что респавн существ основан на вероятностом законе, а не на времени, через которое спавн должен происходить. Может кому пригодиться.
Основной скрипт на Heartbeat плейсабла, играющего роль спавна:
Neverwinter Script Source
void main()
{
   object oSelf=OBJECT_SELF;
   object oPC=GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC);
   if (!GetIsObjectValid(oPC)) return;
   float fActDist=IntToFloat(GetMaxHitPoints()); // расстоЯние, на к-ом должен поЯвитьсЯ игрок от спавна, чтобы тот заработал
   if (GetDistanceBetween(oPC,oSelf)>fActDist) return;
   int iSpawnDist=GetReflexSavingThrow(oSelf); // макс. расст-ие, на к-ом будут поЯвлЯться сущ-ва
   int iSpawnChance=GetWillSavingThrow(oSelf); // вероЯтность поЯвлениЯ существа, %
   int iMaxSpawn=GetFortitudeSavingThrow(oSelf); // макс. кол-во сущ-в, поддерживаемых спавном
   int iSpawned=GetLocalInt(oSelf,"SpawnedCreatures");
   object oMonster;
   string sMonster;
   float fSpawnAngle;
   float fSpawnDist;
   vector vSpawnPlace;
   location lSpawnLoc;
   if (iSpawned<iMaxSpawn) {
       if (d100()<=iSpawnChance) {
           iSpawned++;
           fSpawnDist=IntToFloat(Random(iSpawnDist)+1);
           fSpawnAngle=IntToFloat(Random(360));
           vSpawnPlace=GetPosition(oSelf);
           vSpawnPlace.x+=fSpawnDist*cos(fSpawnAngle);
           vSpawnPlace.y+=fSpawnDist*sin(fSpawnAngle);
           lSpawnLoc=Location(GetArea(oSelf),vSpawnPlace,IntToFloat(Random(360)));
// Здесь вставьте подобным образом список сущ-в, которые будут спавнитьсЯ
           switch (Random(2)) {
           case 0:
               sMonster="nw_skeleton";
           break;
           case 1:
               sMonster="nw_zombie01";
           break;
           }
           oMonster=CreateObject(OBJECT_TYPE_CREATURE,sMonster,lSpawnLoc);
           SetLocalObject(oMonster,"MySpawner",oSelf);
           SetLocalObject(oSelf,"LastMonsterSpawned",oMonster);
       }
   }
   SetLocalInt(oSelf,"SpawnedCreatures",iSpawned);
}


В OnUserDefined стандартного скрипта nw_c2_defaultd добавим обработчик на событие 1007 (смерть), для регистрации смерти существа на мастер-спавне:
Neverwinter Script Source
...
object oSpawnPoint;
switch(iEvent) {
...
case 1007:
       oSpawnPoint=GetLocalObject(OBJECT_SELF,"MySpawner");
       if (GetIsObjectValid(oSpawnPoint)) {
           SetLocalInt(oSpawnPoint,"SpawnedCreatures",GetLocalInt(oSpawnPoint,"SpawnedCreatures")-1);
       }
   break;
...
}


Модификации возможны самые разные. Можно добавить флаг на макс. спавн, чтобы спавн работал только 1 раз, можно внести ограничения по времени. Короче, делайте что хотите
Настраивается спавн до обидног просто:
с св-вах плейсабла-спавна (я использовал невидимый объект) ставите:
Max Hit Points - расстояние, на котором должен появиться игрок, чтобы спавн заработал.
Reflex Save - макс. расст-ие от спавна, на котором будут создаваться сущ-ва.
Fortitude Save - макс. кол-во существ, к-ое будет поддерживаться спавном.
Will Save - вероятность того, что существо будет создано при каждом данном вызове скрипта, в процентах (100 - существа будут спавниться всегда, 0 - спавн отключен. 100 используйте очень осторожно: спавн будет постоянно поддерживать популяцию монстров, игрок просто может не успеть всех прибить!)

************************************************************************************

Автор:::::::::::::::::Milez::::::::::::::::::::::::::::::
Feb 24 2004
Ээээх, давно я тут не писал. Времени скриптовать не было. И вот жизнь подладилась, вышла ХотУ и... Сбылась мечта идиота! Я наконец-то смог сделать нормального призрака!
Вот функция:
Neverwinter Script Source
void SetGhostState(object oPC)
{
   // polymorph, so we can't equip/use things, cast spells etc.
   effect eGhost = EffectPolymorph(POLYMORPH_TYPE_SPECTRE,TRUE);
   // this way we can pass thru other mobs
   eGhost = EffectLinkEffects(EffectCutsceneGhost(),eGhost);
   // ghosts are invisible, you know
   eGhost = EffectLinkEffects(EffectInvisibility(INVISIBILITY_TYPE_DARKNESS),eGhost);
   // ghosts can't attack as well
   eGhost = EffectLinkEffects(EffectDazed(),eGhost);
   // others can't detect ghosts, no way!
   eGhost = EffectLinkEffects(EffectEthereal(),eGhost);
   // these effects can't be dispelled, as well as they can't be removed by rest
   eGhost = SupernaturalEffect(eGhost);

   ApplyEffectToObject(DURATION_TYPE_PERMANENT,eGhost,oPC);
   SetPlotFlag(oPC,TRUE); // ghosts are invincible
   SetLocalInt(oPC,"IAmAGhost",1);
}

Ставим ее на OnDeath, а скрипт ресурректа правим так, чтобы, будучи скастованным на чара, проверял соотв-ую лок. переменную и, если надо, "оживлял" чара, скидывая эффкты.

КОНЕЦ ЦИКЛА "СКРИПТЫ ДЯДЮШКИ MILEZ'А" СЕРИИ "СКРИПТЫ СТАРОЙ БАЗЫ"
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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


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

 



Текстовая версия Сейчас: 23rd April 2024 - 09:33