![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#136
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Хм..у меня тут возник вопрос.
Ситуация такая: небольшая (2х4) локация. Дорога между двумя округами. Хочу, чтобы каждый раз, когда там появлялся игрок появлялась группа бандитов. Сейчас сделал так: положил энкаунтер. Но проблема в том, что срабатывает только один раз, что меня не устраивает. вопросы: - Можно ли решить проблему только энкаунтером, не создавая скрипт спавна бандитов? - Что происходит с энкаунтером типа "single shot" после спавна? Удаляется? Убирается флажок "active"? |
![]()
Сообщение
#137
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Лекс, можно настроить с интервалом 10 секунд табун орков.
Цитата СТОЛКНОВЕНИЯ С МОНСТРАМИ. Пришло время настроить наши встречи с монстрами. В палитре достаточно стандартных encounter-ов, но мы сделаем новый. Работают encounters так же как и триггеры и устанавливаются так же. Запустим Encounter Wizard и сделаем новый encounter, нам предложат выбрать монстров, которые будут появляться при активизации. Если у вас есть свои, то выбирайте их из пользовательской палитры, я сделал из стандартных гоблинов. Выбрал их слева в окне и завершил создание боевки с тегом «AM_ENC_HARD_01». Зайдем в свойства и посмотрим основные параметры. Basic – из основных свойств нам важны: Difficulty – сложность, Maximum Creatures – максимальное число появляющихся противников, Minimum Creatures – минимальные предел количества, меньше не будет; Spawn Option – каким будет столкновение, одиночным или с промежутками, а может бесконечное количество раз. Creature list – список противников. Возможно изменить, добавить или убавить. Главное, это параметр CR (Challenge Rating) – это сложность NPC для боя, складывается из общих параметров таких как: уровень, класс, хитпоинты и т.д. Unique – может сделать персонально каждого NPC уникальным при срабатывании боевки. Это значит, например, босс будет один, шаман или колдун, а пехоты можно по несколько одинаковых. При активации encounter-а просчитывается CR в зависимости от уровня игрока, т.е. если наступить на него 1-м уровнем и 10-м, то список и сложность монстров в каждой ситуации будет разные. Advanced – в этих свойствах нам надо разобраться основательно. Приступим. Фракция encounter-а должна быть враждебной (!) по отношению к тому, кто его активировал. Это значит, если установить фракцию обывателей то, наступив encounter не сработает. А вот если на него наступит монстр, то он запустит его. Поэтому, будьте внимательны с фракцией. Active – делает активным или не активным, это нужно, например, для того, что бы в скриптах мы могли его включать-отключать. Encounter Respawns – сколько столкновений будет, это меню активируется, ТОЛЬКО если вы свойствах Basic выберите Spawn Option> Continuous. При Single Shot столкновение произойдет только один раз. Если оставить наш encounter, нарисованным на локации как есть, то монстры появятся по всему периметру. Если вам необходимо что бы нападение произошло из заданной точки, то нужно нажать на очерченный encounter правой кнопкой мыши и выбрать пункт «Add spawn point» (Рис. 46.). Появиться стрелка, указывающая на черный треугольник, этот треугольник и будет точкой spawn-а монстров. Точек spawn-а может быть несколько, сделайте их и перетащите мышкой в нужное место. (IMG:http://wrg.ru/shots/scr_46.jpg) Рис. 46. Важно! При точках spawn-а монстры будут появляться лицом в ту сторону, в которую направлена самая маленькая сторона, являющаяся основанием равнобедренного треугольника. И монстры будут появляться только из той точки, которая находится впереди наступившего объекта (NPC, PC) на область encounter-а. Выглядит это так: вы делаете столкновение и ставите три точки spawn-а в разные стороны. Если вы подойдете с каждой из трех сторон, то противник всегда будет появляться с точки, которая впереди. В слотах скриптов, новый единственный слот, который мы не разбирали – OnExhausted. Этот слот срабатывает, когда вы выбрали опцию «Single-Shot spawn» и противники перестали появляться (spawn- спавниться) на локации. Добавлено в [mergetime]1089572826[/mergetime] Вот статья, еще не опубликована... |
![]()
Сообщение
#138
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Мне как раз это НЕ НАДО. Надо так: наступил - появились и пока из локи не ушел дальнейшие наступания ни к чему не приводят. Ушел, снова, как попадаешь, наступаешт и дерешся. Во как
|
![]()
Сообщение
#139
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
imho пока энкаунтер не перебит полностью - новая партия спавниться не должна.
Но в стандартных энкаунтерах есть одна неприятная вещь - если мобы отспавнились, их никто не уберет. Так что хорошей идеей будет доработать стандартный скрипт спавна мобов, чтобы по прошествии некоторого времени проверять - если игроков тут давно не было - убирать мобов. Иначе очень напряжно для шарда, ведь у каждого моба нехилый по объему список скриптов, которые в холостую крутятся. Для примера - посмотри модуль Cormyr'а, там _куча_ спавнов и через сутки-двое сервак просто загибается. Многие шарды НЕ используют стандартные энкаунтеры (хотя дизайнерам куда проще работать с ними) по причинам глюков и переполнений, которые до сих пор не пофиксили. |
![]()
Сообщение
#140
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Цитата Ситуация такая: небольшая (2х4) локация. Дорога между двумя округами. Хочу, чтобы каждый раз, когда там появлялся игрок появлялась группа бандитов. Лекс, ты "Начало Пути" видел ваще?! (IMG:style_emoticons/kolobok_light/biggrin.gif) Скажи чем тя не устроило, как это дело выпадает у меня? С глобальной карты... |
![]()
Сообщение
#141
|
|
Level 11 ![]() ![]() ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Маппинг ![]() |
Вопрос такой: МОжно ли в НВНе как-то обрабатывать стринги? (то есть отделять от начала стринга 3 символа, добавлять и т.п.)
|
![]()
Сообщение
#142
|
|
Level 10 ![]() ![]() ![]() Класс: Воин Характер: Lawful Neutral Раса: Человек NWN: Скриптинг [PW] ![]() |
Да, там есть что то вроде GetStringLeft и Right. Там надо стринг вписать и число. Это число отсчитывает буквы слева или справа стринга
|
![]()
Сообщение
#143
|
|
Level 11 ![]() ![]() ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Маппинг ![]() |
отсчитывает - это значит типа присваивает в переменную букву N слева или справа? Или же она удаляет все до... ?
|
![]()
Сообщение
#144
|
|
Level 10 ![]() ![]() ![]() Класс: Воин Характер: Lawful Neutral Раса: Человек NWN: Скриптинг [PW] ![]() |
2GoDoom, скачай лексикон и почитай(IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#145
|
|||||
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Цитата Вопрос такой: МОжно ли в НВНе как-то обрабатывать стринги? (то есть отделять от начала стринга 3 символа, добавлять и т.п.) Конечно. Набери в филттре string . Вот все операторы. Смотри: тебе надо отделить от начала 3 стринга , пишешь:
где sYourString - твой стринг, от которого отделяешь. Про переменные: нет. Эта функция - string , она - самостоятельная. Напр .
|
||||
![]()
Сообщение
#146
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Еще есть функция GetSubString(...) - она более привычна для тех кто учился скриптам на основе Си (IMG:style_emoticons/kolobok_light/wink3.gif) .
Вообще в NWN-скриптинге достаточно гибкая система работы со стрингами. Так что по сути любая проблема с ними решаема (IMG:style_emoticons/kolobok_light/wink3.gif) . |
![]()
Сообщение
#147
|
|
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
ОФФТОП: ДБ, ты знаешь, появилась такая штука(hak), как SetName. Рильная вещь. Теперь можно делать отбивание памяти ПС :-)
|
![]()
Сообщение
#148
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
ГДЕ???? КОГДА??? В ЧЕМ??? Какой хак? (IMG:style_emoticons/kolobok_light/shok.gif) (IMG:style_emoticons/kolobok_light/shok.gif)
|
![]()
Сообщение
#149
|
|||
Level 11 ![]() ![]() ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Маппинг ![]() |
Я тоже о такой фишке не слышал (IMG:style_emoticons/kolobok_light/smile.gif) Не... GetSubString - я слышал но мне не привычнее... Мне привычнее str_replace и т.д. (IMG:style_emoticons/kolobok_light/smile.gif) Еще вопрос:
Кусок вырван из всего скрипта... Но ругается именно на вторую строку в приведенном примере. Говорит: PARSING VARIABLE LIST. Переводить не надо - лучше скажите что это означает и как лечится (IMG:style_emoticons/kolobok_light/smile.gif) ЗЫ Перевод: Анализ листа переменных |
||
![]()
Сообщение
#150
|
|
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
С помощью С++ проникают под оболочку НВН и делают такие функции как SetTag, SetName, редактировагние описание и т.д. На ваульте набери SetName.
|
![]()
Сообщение
#151
|
|
Level 11 ![]() ![]() ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Маппинг ![]() |
Если так - то это супер! Облегается много фишек (и тоже самое создание стац. квестов) (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#152
|
|||
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Попробуй так (IMG:style_emoticons/kolobok_light/wink3.gif) . Найди ошибку в своем коде (IMG:style_emoticons/kolobok_light/wink3.gif) . |
||
![]()
Сообщение
#153
|
|
Level 11 ![]() ![]() ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Маппинг ![]() |
хы... прокатило (IMG:style_emoticons/kolobok_light/smile.gif)
а в слудеющей строчке? (та жа ошибка) int iCheck2 = GetStringLenght(GetTag(GetItemActivatedTarget())); |
![]()
Сообщение
#154
|
|
Level 7 ![]() ![]() Класс: Чемпион Торма Характер: Chaotic Good Раса: Человек NWN: DM ![]() |
Цитата Кусок вырван из всего скрипта... Но ругается именно на вторую строку в приведенном примере. Говорит: PARSING VARIABLE LIST. Переводить не надо - лучше скажите что это означает и как лечится Просто исправляется GetStringLength и все... (IMG:style_emoticons/kolobok_light/yes3.gif) |
![]()
Сообщение
#155
|
|
Level 11 ![]() ![]() ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Маппинг ![]() |
хыхы
дык правильно написано (если рядом поставить - один в один) (IMG:style_emoticons/kolobok_light/smile.gif) Добавлено в [mergetime]1089729395[/mergetime] string sCheck2 = GetStringRight(GetTag(GetItemActivatedTarget(), iCheck2-iCheck1-1); Терь тута UNKNOWN STATE IN COMPILER (IMG:style_emoticons/kolobok_light/sad.gif) |
![]()
Сообщение
#156
|
|||
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Цитата дык правильно написано (если рядом поставить - один в один) Не правильно. GetStringLenght - ты писал GetStringLength - правильно Цитата string sCheck2 = GetStringRight(GetTag(GetItemActivatedTarget(), iCheck2-iCheck1-1); Следи за скобками. Вот правильно.
Элементарные ошибки, а ты и про них спрашиваешь... |
||
![]()
Сообщение
#157
|
|
Level 11 ![]() ![]() ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Маппинг ![]() |
(IMG:style_emoticons/kolobok_light/smile.gif)
Ну привык я к вашему темному фону - на белом ничег оне вижу (IMG:style_emoticons/kolobok_light/smile.gif) ЗЫ Зато повод получить +ННое кол-во постов (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#158
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Цитата(DBColl @ Jul 12 2004, 09:37) Лекс, ты "Начало Пути" видел ваще?! (IMG:style_emoticons/kolobok_light/biggrin.gif) Скажи чем тя не устроило, как это дело выпадает у меня? С глобальной карты... кидай в меня скрипты. Видел, но скриптов то не было. (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#159
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Лекс, ты мне скажи, тебе нужна глобальная карта в модуле? Можно подключить... Тогда проще и случайные боевки прилепить будет...
|
![]()
Сообщение
#160
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Нет, мне карта не нужна...если только Айс не сделает большую карту Тсурла и окрестностей, чтобы можно было по ней ходить...
Скрипты стычек мне нужны (точнее просто локи пришли, я гляну). Надеюсь там ты не руками писал спавн-скрипт! Потому как так я тоже могу. Я хочу через энкаунтер. |
![]() ![]() |
Текстовая версия | Сейчас: 15th May 2025 - 01:03 |