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



Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
Tarre Talliorne
сообщение Jul 17 2004, 20:55
Сообщение #2


Level 8
***

Класс: Псионик
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



Часть скрипта из нашей демки. У нас будет более продвинутая(в демо, думаю, включать не будем, но в релизе всего мода будет точно), чем в обыкновенном НВН система кастомных разговоров. Сейчас я (параллельно с лтом и АИ :-) ) пишу систему разговоров. Итак, решил бросить в Базу Скриптов коротенький скриптик. Суть: он ставит любое сцществительное в родительный падеж (string RusGenetiv). Параметр nSex - род: 1 - мужской, 2 - женский, 3 - средний.
Скрипт протестирован на 150 словах. Хотя, сами понимаете, русский язык сложен и этого кол-ва слов явно мало, посему если найдете ошибки, тут же сообщите.
ЗЫ: сейчас пишу Dativ & Akkusativ (наряду с Genetic самые употребительные) (на немецкий манер называю - мне языки германской группы вообще в последнее время ОЧЕНЬ нравятся :-) ), подумываю над прилагательными. (просто надо грамотно реализовать стековку имени + фамилии + прозвища)
ЗЫЫ: при использовании указание авторства обязательно

Neverwinter Script Source
// ПРОИЗВОДИТСЯ ОРФОГРАФИЧЕСКАЯ ПРОВЕРКА НА НЕЛЕКСИЧЕСКИЕ СОЧЕТАНИЯ
//   [SCRIPTED BY TARRE TALLIORNE! (TARRE@list.ru)]
string OrfographieTest(string sString);

// СТАВИТ СЛОВО sWord В РОДИТЕЛЬНЫЙ ПАДЕЖ;
// - ПАРАМЕТР "РОД" ( nSex ):
// 1 - МУЖСКОЙ,
// 2 - ЖЕНСКИЙ,
// 3 - СРЕДНИЙ.
//   [SCRIPTED BY TARRE TALLIORNE! (TARRE@list.ru)]
string RusGenetiv(string sWord, int nSex);

string ya()
{
return GetName(GetWaypointByTag("ya"));
}

int GetIsSound(string sLetter)
{
    int iResult = 0;
    //:://
    if (sLetter != "ь"&&
        sLetter != "ъ"&&
        sLetter != "" &&
        GetStringLength(sLetter)==1)
        {
        iResult = 1;
        }
    return iResult;
}

int GetIsVowel(string sLetter)
{
    int iResult = 0;
    if (!GetIsSound(sLetter))
        return iResult = -1;
    if (sLetter=="а" ||
        sLetter=="е" ||
        sLetter=="ё" ||
        sLetter=="и" ||
        sLetter=="о" ||
        sLetter=="у" ||
        sLetter=="э" ||
        sLetter=="ю" ||
        sLetter==ya() )
        {
        iResult = 1;
        }
    return iResult;
}

/*int GetIsSoft(string sLetter, string sNextLetter)
{
    int iResult;
    if (!GetIsSound(sLetter)                ||
       ( GetStringLength(sNextLetter)!=0    &&
         GetStringLength(sNextLetter)!=1)   ||
         GetIsVowel(sLetter))
         return iResult = -1;
    else if (sLetter == "й")
         return iResult = 1;
    else if (sNextLetter == "ь")
         return iResult = 1;
}*/


string OrfographieTest(string sString)
{
    //:://///////////:://
    //::// ЖИ - ШИ //:://
    //:://///////////:://

    //::// ОПРЕДЕДЯЕМ ПЕРЕМЕННЫЕ
    string sNew;
    int nZHi = FindSubString(sString, "Жы");
    int nzhi = FindSubString(sString, "жы");
    int nSHi = FindSubString(sString, "Шы");
    int nshi = FindSubString(sString, "шы");

    //::// "Жы"
    if (nZHi!=-1)
    {
    int nZH = nZHi;
    int nI = nZH + 1;
    string s1 = GetStringLeft(sString, nI);
    string s2 = GetStringRight(sString, GetStringLength(sString)-nI-1);
    sNew = s1+"и"+s2;
    }

    //::// "жы"

    else if (nzhi!=-1)
    {
    int nzh = nzhi;
    int nI = nzh + 1;
    string s1 = GetStringLeft(sString, nI);
    string s2 = GetStringRight(sString, GetStringLength(sString)-nI-1);
    sNew = s1+"и"+s2;
    }

    //::// "Шы"
    else if (nSHi!=-1)
    {
    int nSH = nSHi;
    int nI = nSH + 1;
    string s1 = GetStringLeft(sString, nI);
    string s2 = GetStringRight(sString, GetStringLength(sString)-nI-1);
    sNew = s1+"и"+s2;
    }

    //::// "шы"
    else if (nshi!=-1)
    {
    int nsh = nshi;
    int nI = nsh + 1;
    string s1 = GetStringLeft(sString, nI);
    string s2 = GetStringRight(sString, GetStringLength(sString)-nI-1);
    sNew = s1+"и"+s2;
    }

    //::// ЕСЛИ ЗНАКОМЫХ ОШИБОК НЕТ, ВОЗВРАЩАЕМ ИЗНАЧАЛЬНЫЙ sString
    else sNew = sString;
    return sNew;
}

string RusGenetiv(string sWord, int nSex)
{
    string sGenLast;
    string sOsnov;
    string sGenetiv;
    string sLast = GetStringRight(sWord, 1);
    //::////////////////////////////////////////////////:://
    //::// DEBUGGING [ deleted by author at 17.07.04 ]//:://
    //::// SpeakDebugString(OBJECT_SELF, sLast);////////:://
    //::////////////////////////////////////////////////:://
    switch (nSex)
    {
    //:://///////////////:://
    //::// МУЖСКОЙ РОД //:://
    //:://///////////////:://
    case 1:
        //::// ПОСЛЕДНЯЯ БУКВА ЗАМЕНЯЕТСЯ
        if (sLast=="а"||sLast==ya()||sLast=="й"||sLast=="ь")
        {
            if (sLast=="а")
                sGenLast = "ы";
                    else if (sLast==ya())
                        sGenLast = "и";
                            else if (sLast=="й"||
                                sLast=="ь")
                                    sGenLast = ya();
        sOsnov = GetStringLeft(sWord, GetStringLength(sWord)-1);
        sGenetiv = sOsnov + sGenLast;
        }
        //::// СЛОВО НЕ ИЗМЕНЯЕТ ФОРМУ
        else if (sLast=="е"||
                 sLast=="ё"||
                 sLast=="и"||
                 sLast=="о"||
                 sLast=="у"||
                 sLast=="э")
                 {
                 sGenetiv = sWord;
                 }
                 //::// В ДРУГИХ СЛУЧАЯХ СЛОВО ПРИБАВЛЯЕТ К СЕБЕ "А"
        else {
        sGenLast = "а";
        sOsnov = GetStringLeft(sWord, GetStringLength(sWord));
        sGenetiv = sOsnov + sGenLast;
        }
    break;

    //:://///////////////:://
    //::// ЖЕНСКИЙ РОД //:://
    //:://///////////////:://
    case 2:
        //::// ПОСЛЕДНЯЯ БУКВА ЗАМЕНЯЕТСЯ
        if (sLast=="а")
        {
        sGenLast = "ы";
        sOsnov = GetStringLeft(sWord, GetStringLength(sWord)-1);
        sGenetiv = sOsnov + sGenLast;
        }
        else if (sLast==ya()||sLast=="ь")
        {
        sGenLast = "и";
        sOsnov = GetStringLeft(sWord, GetStringLength(sWord)-1);
        sGenetiv = sOsnov + sGenLast;
        }
        //::// СЛОВО НЕ ИЗМЕНЯЕТ ФОРМУ
        else
        {
        sGenetiv = sWord;
        }
    break;

    //:://///////////////:://
    //::// СРЕДНИЙ РОД //:://
    //:://///////////////:://
    case 3:
        if (sLast=="о")
        {
        sGenLast = "а";
        sOsnov = GetStringLeft(sWord, GetStringLength(sWord)-1);
        sGenetiv = sOsnov + sGenLast;
        }
        if (sLast=="е")
        {
        sGenLast = ya();
        sOsnov = GetStringLeft(sWord, GetStringLength(sWord)-1);
        sGenetiv = sOsnov + sGenLast;
        }
        else sGenetiv = sWord;
    break;
    }
    sGenetiv = OrfographieTest(sGenetiv);
    return sGenetiv;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



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