Глупый вопрос, но все равно задам: в упор не могу найти в палитре стойку бара (или что-то вроде). Облазил все, что можно, но всеже нигде нету. Не ужели ее в стандартной палитре нету?
QUOTE |
Я так делал |
Я установил NWN NWN:SOU NWN:HOD пропатчил до 1.62.
Хочу перевести модуль, а в скриптах русские щрифты не поддерживаются.
ЧТО ДЕЛАТЬ!!!
HELP!
закачай русские шрифты. У нас на сайте есть
Добавлено в [mergetime]1089309666[/mergetime]
и кинь эти шрифты в папку оверрайд
Кхе, да он наверное не про это. Наверное он про то что в скрипт эдиторе на англ текст вводится а на русском - нет. Чтобы русский текст в скрипт впихнуть надо его куда нить написать и оттуда скопировать. Только остерегайсЯ маленькой буквы "я". У нас с ней свой счеты . Она всю компиляцию портит.
аа...а если у него абра-кадабра вместо русского текста, когда он так переносит, как ты сказал, то нужно шрифты в скрипт эдиторе поменять.
QUOTE |
Хочу перевести модуль, а в скриптах русские щрифты не поддерживаются. |
если я переношу уже напечатанный русский текст в скрипт то получается абракадабра.
какие шрифты куда переносить ?
а я не так делаю. Я прямо пишу в поле Filter
ТЕБЕ НУЖНО В СКРИПТ-ЭДИТОРЕ ПОМЕНЯТЬ ШРИФТ
это самая правая иконка в верхнем ряду когда ты в скрипте ковыряешься. Выглядит как табличка маленькая
Как думаете?
Я хочу перевести модуль (это вообще реально?)
потом поместить его на свой сайт в тематику по NWN
стоит это делать или нет?
Смотря какой модуль.
Если хороший, не очень большой (чтобы одному осилить) то в принципе можно. Люди, не знающие английского скажут "спасибо". Переведенных модулей мало.
Но самое главное другое: если желания особого нет, даже не берись.
Менял шрифты в скрипт едиторе толку нет всёравно абракадабра вместо русского хрень какая-то. Чё делать? Если в фильтре писать тоже хрень.!!! LEX помоги! Или кто-нибудь ещё
Кстати LEX желание есть вот только проблема с русским шрифтом в скриптах
модуль кстати называется Book of Shadowwe большой 16 метров и хак пак 19 метров.
Как думаешь осилю?
одному трудно. К тому-же 18 метров это не мало. Переводить кроме диалогов и описаний вещей в палитре придется ОЧЕНЬ много. Описания все вещей в каждой локации всех вещей, что могут выпасть из погибших и тд. Работы, в общем много.
в фильтре писать, а потом переносить это такой-же вариант, как писать в доке или ворде или в поисковике, просто это быстрее немного.
"Менял шрифты в скрипт едиторе толку нет всёравно абракадабра вместо русского хрень какая-то"
- тогда не знаю. У меня была такая трабла. Поменял и все стало нормально. Ты посмотри другие шрифты в эдиторе, их там много.
Спасибо Lex поменял шрифт на Courier и всё пошло.
Кстати кто знает где можно скачать хороший словарь для X-translator Platinum по тематике длиже к NWN.
И ещё этот вопрос скорее к тем кто переводил или переводит модули или к вам Lex Aiwan Авадон:
Я например перевожу диалог между PC и NPC в самой первой локации модуля,
затем захожу в игру и проверяю всёли правильно, сохраняюсь, выхожу перевожу дальше, гружу сохранёнку, а всё как было так и осталось переведённым остался толко диалог, а то что я переводил в первый раз не перевелось. Если начать модуль заново то будет переведено всё. Так что получается, что каждый раз как я хочу проверить перевод мне предётся начинать модуль заново?
ПОМОГИТЕ отцы модулестроения и модулеперевода.
Как думаете может стоит открыть тему по поводу перевода иодулей?
А зачем диалоги то проверять? Я незнаю как надо извратится чтоб они работать перестали.
Единственное - не переводи таки вещи в диалоге заключенные в "< >" скобки. Напимер как <StartAction>,<StartCheck>,<CUSTOM...> и т.п.
Проверять надо скрипты.А если не хочешь каждый раз начинать модуль заново - просто перенеси в тулсете место старта игрока туда - где остановился.
Насчет перевода модуля.
Если буш переводить - не переводите контекстом. Тоесть буквально каждое слово. Просто любое предложение можно сформировать в разных вариантах. Надо эмоциональную окраску придать чтоли. Ведь эт почти тоже самое что и самому делать модуль. Чтобы игрок не жал на Esc или цифры в диалогах, а чтоб ему было интересно.
Насчет абры-кадабры в шрифтах:
У меня после каждой переустановки винды - абракадабра творится в шрифтах NWScripts и в Фотошопе. Я лично устранил это таким образом.
Открываешь реестр - (Пуск>Выполнить>regedit)
Далее - HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Nls > CodePage >
Ищем там имена: 1250, 1251, 1252 и меняешь их значения на c_1251.nls .
Закрываешь реестр и перезагружаешь комп. Вуаля, в фотошопе и скрипт эдиторе нормальная кирилица.
Хотя может это только у меня так
Краткий обзор модуля который я перевожу
________________________________________________
Менz зовут Алекс, но у мен есть прозвище Шаддоу
В моей семье я сын, который должен обитать в Аристократических кругах.
Но ночью, когда мои родители отдыхают, я вор.
Почему я занимаюсь этим?
Кузен моего отца давил наше семейство в течение многих лет, я делаю это от злости к нему.
Он шериф Бендон, он управляет нашим городом, он коррумпированный и злой человек.
Некоторые сказали бы, что я не лучше, что я ворую не из-за потребности.
Конечно я храню в тайне мои приключения от моих родителей, они бы умерли если бы узнали чем я занимаюся.
Но каждую ночь, каждую ночь, я сменяю свои облик и становлюсь Шаддоу.
Я не злой человек, я не буду убивать, я не получаю никакого удовольствия от смерти.
Это мой рассказ и таков наш Город.
__________________________________________________
Ну как вам?!
Аваддон как перенести место старта игрока в модуле и сораниться ли у игрока всё что у него было квесты предметы, я думаю что нет. А насчёт того зачем я каждый раз проверяю перевод, например идёшь по улице раз дверь тебе и говорит мол за мной сидит девушка и плачет. То есть я проверяю скрипты невозможно перевести скрипты сразу пока не поиграешь сам.
Добавлено в [mergetime]1089321273[/mergetime]
И ещё подскажите в помощь начинаещему модулепереводчику
как сделать так что бы в скриптах писалась буква "я"?
Добавлено в [mergetime]1089321652[/mergetime]
Aiwan я так понял вы делаете какое-то дополнение я хотел бы быть тестером.
Можно?
Бродник, приколись, как писать букву "я" уже написано в этой теме - чуть выше.
и в модуле надо поставить вейпоинт с тегом YA и именем "я"
QUOTE (Аваддон @ Jul 7 2004, 23:11) |
Как сделать чтоб гадкая маленькая буковка "я" не делала ошибки в скриптах? На риалмс ссылку давать не надо - у меня трафик не дешевый чтоб все форумы просматривать. З.Ы. Не нравится мне на еалмсах система поиска.. Вот нажал он нашел тебе тему а вней блин 22 страницы и каждая весит под мег... |
QUOTE (Aiwan @ Jul 7 2004, 23:11) | ||
Поклон Лексу. Добавлено в 23:13 Функция Ранмы прикольная, но гемморная. Мне нравится так. Вейп создай с именем "я" и тегом "YA" и все. |
Lex друган вы чё за проект делаете ? Я хочу быть ТЕСТЕРОМ?
Сохранение - это и есть МОДУЛЬ целиком сохраненный на винт. Только в сохранении к модулю дописываются еще и установленные переменные, статусы открытых/закрытых дверей и прочая муть. Кстати, можно переименовать сохраненку в *.mod и открыть ее в тулсете.
Вывод ко всему этому, чтобы потестить перевод или вообще модуль, надо начинать всегда сначала. Сохраненка не нужна.
Аваддон ты мне объясни где в модуле прописываются вэйпоинты и куда это вэйпоинт для буквы "я" прописывать.
DBColl ты ваще загнал. Если мне надо проверить несколько скриптов в предпоследней локации, мне что надо начинать модуль заново.!!!!!! Нафиг надо.
Лучше давайте все подумаем над этим.
Никто так и не оценил сюжет модуля который я перевожу:
Название: The book of Swaddowe.
Размер: модуль-16Mb hak-19Mb
Сюжет:
...Меня зовут Александр, но у меня есть прозвище Шаддоу
В моей семье я сын, который должен обитать в Аристократических кругах.
Но ночью, когда мои родители отдыхают, я вор.
Почему я занимаюсь этим?
Кузен моего отца давил наше семейство в течение многих лет, я делаю это от злости к нему.
Он шериф Бендон, он управляет нашим городом, он коррумпированный и злой человек.
Некоторые сказали бы, что я не лучше его, что я ворую не из-за потребности.
Конечно я храню в тайне мои приключения от моих родителей, они бы не выдержали если бы узнали чем я занимаюся.
Но каждую ночь, каждую ночь, я сменяю свои облик и становлюсь Шаддоу.
Я не злой человек, я не буду убивать, я не получаю никакого удовольствия от убийств.
Это мой рассказ и таков наш Город.
................КАК ВАМ......................
LEX я хочу быть тестером того чего вы там делаете. PLIZ
Во-первых, по вежливей. Здесь никто ничего никому не должен и помогают друг-другу, как могут, во-вторых, я конечно не знаю, но наверное Аваддон имел ввиду поставить в локации вейпоинт с именем "Я" и в функции брать имя этого вейпоинта, тоесть "Я" и возвращать его.
Brodnik
Я тебе повторяю еще раз. Для проверок и тестов можешь не сохраняться. Бестолково. Ты понимаешь, что я сказал? SAVE-файл это и есть модуль ЦЕЛИКОМ в его нынешнем состоянии. Что тут непонятного?
QUOTE |
Аваддон ты мне объясни где в модуле прописываются вэйпоинты и куда это вэйпоинт для буквы "я" прописывать. |
QUOTE |
LEX я хочу быть тестером того чего вы там делаете. PLIZ |
QUOTE |
DBColl ты ваще загнал. Если мне надо проверить несколько скриптов в предпоследней локации, мне что надо начинать модуль заново.!!!!!! Нафиг надо. |
QUOTE |
Сюжет: ...Меня зовут Александр, но у меня есть прозвище Шаддоу В моей семье я сын, который должен обитать в Аристократических кругах. Но ночью, когда мои родители отдыхают, я вор. Почему я занимаюсь этим? Кузен моего отца давил наше семейство в течение многих лет, я делаю это от злости к нему. Он шериф Бендон, он управляет нашим городом, он коррумпированный и злой человек. Некоторые сказали бы, что я не лучше его, что я ворую не из-за потребности. Конечно я храню в тайне мои приключения от моих родителей, они бы не выдержали если бы узнали чем я занимаюся. Но каждую ночь, каждую ночь, я сменяю свои облик и становлюсь Шаддоу. Я не злой человек, я не буду убивать, я не получаю никакого удовольствия от убийств. Это мой рассказ и таков наш Город. |
Я ПОНЯЛ ВЫ ДЕЛАЕТЕ "Проклятье Левора".Можно мне быть тестером У МЕНЯ БОООООЛЬШОЕ Желание им быть.
Что мне нужно что бы быть тестером?
Кстати что такое CNR?
Auren буду стараться быть вежлевее
DBColl я всё понимаю. Я знаю что если сохраняться то перевод останеться только тот который я переводил до сохранения. Поэтому я и спрашиваю как сделать так чтобы после сохранения перевод оставался.
А за объяснение вейпов СПАСИБО
Tarre что такое дебаггин-чит и как им пользоваться.
Насчёт сюжета то его я полностью не знаю так как переводить только начал. Этот отрывок гл.герой говорит после того как родичи хотят заставить его жениться на одной бабе.
Мне не ответили на один вопрос Помогите если кто знает где можно скачать хорошие словари близкие по тематике к NWN для X-translator Platinum.
СПАСИБО всем за всё!
дебаггинг-чит - мой неологизм. Дебаггинг - излечение ошибок (в данном случае в бетке). Чит - взлом. Т.е. когда разработчик, тестируя мод, с помощью собсных скриптов может творить всякие фишки (изменять значаения локальных переменных, прыгать по вейпам и т.д.), для проверки чего-л(скриптов, диалогов и т.д.)
CNR - Craftable Natural Resources. Вообщем система крафта(ремесла) из природных ресурсов. Типа собрать пшеницу>перемолоть в муку>добавить сахара и яблок+хлебопекарные дрожии>все это закинуть в печку и если уровень навыка подходит то у тебя получится яблочный пирог. Также и с остальным - броню ковать, оружие, алхимичить... и т.п.
Насчет словарей... Ну как тебе сказать. На том уровне на котором есть диалоги в модулях я вроде английский знаю. Если у меня возникают сложности я пользую Лингво. Довольно удобный переводчик. Дело в том что он на одно слово может дать множество его значений. Есть такое выражение - "сказать по-русски". Тоесть перефразировать переведенное предложение в более приемлемую для ушей форму.
З.Ы. А по тематики словари ты вряд ли найдешь. (я таких еще не видел)
Tarre я понял что такое дебаггин-чит, но не понял как им пользоваться
И ещё Tarre может ты мне поможешь стать тестером вашего проекта PLIZZ
Аваддон ты крутой чувак если ты перевёл CNR.
я даже не могу какой-то модуль перевести.
кстати я надеюсь , что всё то что у тебя написано в подписи не правда , а у мнея правда.
и ещё дай ссылку на Лингво откуда его можно будет скачать PLIZZ или скинь на мыло.
Помогите ещё вот в чём:Объясните как ставить вэйпоинт для того что бы буква "я" в скриптах писалась. Мне DBColl объяснил выше, но у меня всё равно не получается.
QUOTE |
Tarre я понял что такое дебаггинг-чит, но не понял как им пользоваться И ещё Tarre может ты мне поможешь стать тестером вашего проекта PLIZZ |
Если хочешь стать тестером ВРГ, обращайся к Аивану, ДБколлу, Айс Блейду, Лексу, Баалу в разделе ВРГ! Тим. Или на пагер к ним же.
Вейпоинт как ставить?=))
1.Открываешь тулсет.
2.Справа палитра объектов. Там открываешь вкладку waypoints, кликаешь на waypoint и ставишь в какой-нить локации.
3. Шчолкаеш=)) правой кнопкой на нем и выбираешь properties там будут во вкладке basic три editа.
4. В имени пишешь Я(или я, что тебе нуна), в тэге пишешь...эээ тег из скрипта.
5. Птом создаешь библиотеку и вставляешь туда ф-цию с прошлой страницы или вставляешь в готовую библиотеку.
6. В каждом скрипте пишешь в самом начале #include "имя библиотеки"
Каааакой я умный и крутой знаток Аврорки=)))))
Инструкцию по юзанью смотри тож на прошлой стр-це
Добавлено в [mergetime]1089385261[/mergetime]
Для того чтобы пользоваться...ээээ...тем что Таррэ сказал, надо тулсет знать
Auren конечно спасибо тебе за объяснение, я всё понял до 5 пункта а потом..... библиотека какая-то ты хочешь что бы создал то не знаю что, тем более я не знаю как их вообще создавать. объясни PLIZ
Tarre извини, я не знал. что вы работаете над разными проектами, но имей в виду меня при наборе тестеров. Запиши меня в список тестеров первым
И ещё объясните мне как на этом форуме дают EXP и чё это за звёздочки под моей картинкой.
Добавлено в [mergetime]1089389237[/mergetime]
Auren где находиться раздел ВРГ
-----------------------------------------------
ДОРОГИЕ Aivan Lex DBColl Ice Blade Baal
Я хочу быть тестером проекта ВРГ!
я уже заматался это писать хоть чё нибудь ответьте мне!
Exp- к-во твоих постов. Звездочки обозначают какого ты уровня. Стандартные скины ipb видел? Ну вот, ты щас newbie=)
Кароче сверху панель. Там вкладка Wizards->Script Editor
Туда вставляешь вот это:
string ya = GetName(GetWaypointByTag("YA"));
Сохраняешь, как inc_brodnik
В каждом скрипте, в самом начале, вставляешь: #include "inc_brodnik"
И пример использования DelayCommand(5.0, SpeakString("Да. Ключика у теб"+ya+" нет."));}
З.Ы.
А вообще я не понимаю, как можно переводить нвн-кий мод не зная основ Авроры, да и зачем переводить то, что ты переводишь, как я понял с англицкого на русский. Сюда по сюжету этот мод далеко не зе бест. Если ты крутой Инглишмен, так лучше бы помог ВРГшникам с переводом. Это будет гораздо полезней.
Добавлено в [mergetime]1089389872[/mergetime]
http://www.wrg.ru/forums/index.php?showtopic=90&st=25 если бы ты хотел, давно бы нашел.
Добавлено в [mergetime]1089389948[/mergetime]
ВРГ - это не проект, это команда, разрабатывающая мод "Проклятье Левора"
Добавлено в [mergetime]1089390004[/mergetime]
команда ВРГ=WRG! Team. Посмотри в верхний левый угол
QUOTE |
Tarre извини, я не знал. что вы работаете над разными проектами, но имей в виду меня при наборе тестеров. Запиши меня в список тестеров первым |
Auren СПАСИБО БОЛЬШОЕ за объяснение теперь я понял.
Спасибо что провел краткий курс по этой страничке мол помотри в правый верхний угол
Да я плохо знаю Aurora, но ведь надо учиться и с чегото начинать.
Разве ты счичаешь. что если я переведу модуль, то толку никакого не будет?
Вообще то я хотел поместить его на свой сайт. Прикинь как рейтинги взлетят ведь переводов по сети очень мало.
И ещё почему я всего 2 уровня, а у меня уже есть 1 звёздочка, а ты 7 и у тебя всего их 2 ( у Аваддона например 4 ур. а уже 2 звезды)
QUOTE |
ДОРОГИЕ Aivan Lex DBColl Ice Blade Baal Я хочу быть тестером проекта ВРГ! я уже заматался это писать хоть чё нибудь ответьте мне! |
QUOTE |
И ещё почему я всего 2 уровня, а у меня уже есть 1 звёздочка, а ты 7 и у тебя всего их 2 ( у Аваддона например 4 ур. а уже 2 звезды) |
1 вопрос... Как сделать чтобы у НПС выкрикивались несколько разных фраз? Ну чтоб с определённо периодичностью 3 или 4 разновидных фраз появлялось у них над головой и чтоб при этом они делали "Салют" т.е. там руку навер поднимали...
А скрипты будут на самом NPC висеть? Если да, то:
Neverwinter Script Source |
void main() { PlayAnimation(ANIMATION_FIREFORGET_SALUTE);//анимирует салют рукой. ActionSpeakString("Сделал -Салют- и говорю первую фразу"); DelayCommand(5.0,ActionSpeakString("Прошло 5 сек говорю вторую фразу")); DelayCommand(5.0,ActionSpeakString("Прошло еще 5 сек говорю третью фразу")); } |
Все это нужо кинуть вскрипт слота on_perception твоего НПС. а еше лучше внести элемент вероятности. Смотри:
CODE |
void main() { object OS = OBJECT_SELF; object oPC = GetLastPerceived(); if (!GetIsPC(oPC)) return; string s1 = "твой текст 1"; string s2 = "текст 2"; string s3 = "текст 3"; string s4 = "текст4"; string sResult; while (GetDistanceBetween(OS, oPC)<50.0) { switch (Random(4)) { case 0: sResult = s1; break; case 1: sResult = s2; break; case 2: sResult = s3; break; case 3: sResult = s4; break; } float fDelay = IntToFloat(Random(5); DelayCommand(fDelay, SpeakString(sResult)); DelayCommand(fDelay, PlayAnimation(ANIMATION_FIREFORGET_SALUTE)); } } |
А как сделать чтобы предметы были бессмертными? Это тоже скрипт?
Предметы всмысле размещаемые? Типа лавочек, фонарей... Чтоб их нельзя было раздолбать в Свойствах(Properties) предмета поставь галочку на Plot( в русском тулсете это "сюжет" что-ли)
Сеньк... ))) А двери?
1) Чтобы НПС садился на стул скрипт правильный? (Сорри что сюда пишу, не хочу захломлять все темы одиночными вопросами)
____________________________________________________________________________________________
void main()
{
{
string sMyTagName = GetTag(OBJECT_SELF);
string sSittableTagName = "CHAIR_" + sMyTagName;
int nChair = 1;
object oChair;
oChair = GetNearestObjectByTag(sSittableTagName, OBJECT_SELF,
nChair);
ActionSit(oChair);
}
}
___________________________________________________________________________________________
2) Как сделать чтобы НПС, по классу Шифтер, использовал шифтерские способности, т.е. перевоплощаться?
3) Каким скриптом можно сделать так чтобы НПС лежал на земле, но када с нип заговоришь он встаёт?
4) Как сделать чтобы НПС после атаки на них возвращались на свои позиции?
QUOTE (ПРИЗРАК @ Jul 11 2004, 00:36) | ||
Сеньк... ))) А двери? 1) Чтобы НПС садился на стул скрипт правильный? (Сорри что сюда пишу, не хочу захломлять все темы одиночными вопросами) __________________________________________________________________________________________
__________________________________________________________________________________________2) Как сделать чтобы НПС, по классу Шифтер, использовал шифтерские способности, т.е. перевоплощаться? 3) Каким скриптом можно сделать так чтобы НПС лежал на земле, но када с нип заговоришь он встаёт? 4) Как сделать чтобы НПС после атаки на них возвращались на свои позиции? |
Neverwinter Script Source |
void main() { ActionSit(GetNearestObjectByTag("stul",OBJECT_SELF)); } |
Neverwinter Script Source |
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectPolymorph (POLYMORPH_TYPE_CELESTIAL_AVENGER), OBJECT_SELF); |
Neverwinter Script Source |
PlayAnimation(ANIMATION_LOOPING_DEAD_FRONT,1.0,60.0) |
Авад, сеньк большое...
Токо насчёт лежания, как сделать чтобы он лежал всегда до разговора с ним? А после разговора уже стоял...
А и ещё, можно ли эти скрипты с тем чтобы сесть, лечь и морфнуться ставить на Спавн, в котором 1 человек?
Чтобы постоянно лежал..Может есть и другие способы, но я бы сделал таким:
OnHeartBit НПС поставил бы проверку на локальную переменную. На Спавне бы ее задавал а на Конерсейшене - удалял.
OnHeartBit этот скрипт запускается каждые 6 секунд.
Потому добавляем в тот скрипт что стоит на OnSpawn НПС строчку:
Neverwinter Script Source |
SetLocalInt(OBJECT_SELF,"dead",1); |
Neverwinter Script Source |
if (GetLocalInt(OBJECT_SELF,"dead")==1) { PlayAnimation(ANIMATION_LOOPING_DEAD_FRONT,1.0,7.0); } |
Neverwinter Script Source |
DeleteLocalInt(OBJECT_SELF,"dead"); |
1) Авад, что значит в нужный момент? Яже не могу во время игры скрипты делать... Мне нужно чтобы НПС появлялся и садился \ ложился, но если его убьют он больше не появится. Но мне так не нужно, мне необходимо чтобы НПС после смерти постоянно появлялся заново и выполнял данную команду (сесть \ лечь)
Или можно ли эти скрипты наложить на НПС в Кастоме, т.е. в палитре ещё, а потом, закинуть его в список "монстров" в Спавне? Будет ли этот скрипт действовать?
2) Насчёт Морфа... Если я допустим буду бабу превращать в Красного драка, то 1) будет ли она в него превращаться сразу? 2) будет ли она использовать спец. их способности такие как дыхание огнём \ громом и.т.д.?
ПРИЗРАК, чтобы она дышала как дракон надо ей сначала дать эти абилити, а потом заставть ее UseTalent.
Если она постоянно воскресать и садится будет, почему бы просто не сделать ее бессмертной?:\
Добавлено в [mergetime]1089638294[/mergetime]
2GoDoom, Ну вообще если модуль лепить по человечески то желатьельно чтобы тэг совпадал с рес-рефом. Меньше путанницы.
Авад, у меня она как постоянный квест... т.е. с ней говорят, она исчезает и потом о5 появляется, с ней о5 говоришь, она исчезает и.т.д.
А где этот Юз Талант ставить?
И откуда можно узнать у какого существа какой талант или можно любую магию ставить?
ААА и ещё идея!!! Можно ли сделать кровать usable и сделать так чтобы при юзание её перс ложился на неё (и на спину и на живот)? Ну что-то вроде стула... И если так можно то как скриптануть чтобы НПС так проделывал и лежал?
На спину только трупом Мордой вперед да. Но имхо, на кровать он не ляжет. Только на ковер или на хак.
Да, кхм..на кровать навряд ли ляжет - высоковата слишком, и ростишка не поможет. Бэдролл - лучший вариант. А на кроватке можно и посидеть.
Юз талан это такое же действие как и все остальные. Когда она должна его использовать тогда и ставь как действие.
Таланты, спеллы и прочие гадости - все-все в свойствах этой НПС.
А насчет появляется-исчезает , то ее не обязательно убивать-воскрешать
QUOTE |
Можно ли сделать кровать usable и сделать так чтобы при юзание её перс ложился на неё (и на спину и на живот)? |
Для того, чтобы перс мог "зайти" на тайловую кровать, надо хак соответствующий заиметь . Лежит на ваульте и где-то в нашем хаке...
А на плэйсибловую кровать лечь не удастся.
Тогда так: берем тайловую кровать из хака, кидаем поверх инвизибл плэйсибл "кровать". И спим :-)
ЗЫ: можно поподробней про хак?
Насчёт кровати... он чё строго на пол ложится? А высоту на которую нужно лечь никак настроить незя?
QUOTE |
Насчёт кровати... он чё строго на пол ложится? А высоту на которую нужно лечь никак настроить незя? |
А что за хак, если можно по-подробнее...
Tarre
Хак в котором вокмеш в этом тайле с кроватью чуток подправлен . Ты и сам я думаю сможешь сделать, даже если не найдешь.
Вот, ещё один вопрос появился...
В СЕРе есть пушки, катапульты и баллисты которые стреляют... А можно ли такой прикол в обычном НВНе сделать? Ну если сама баллиста двигаться не будет, то хоть чтоб перед ней эффект от фаербола был (со всеми соответствующими звуками) после нажатия на неё... Так же, она должна "попасть" в несколько булыжников, которые перекрывают вход в пещеру... После выстрела, булыжники должны взорваться и исчезнуть... Но чтобы булыжники незя было сломать ничем кроме выстрела из баллисты... И ещё, можно ли сделать так чтобы булыжники через минут 10 восстанавливались на том же месте и можно бы было повторять выстрел о5...
Токо я не уверен что это возможно сделать... =(
Можно! Легко...
А я бы сказал: можно, но нелегко. И баллисту двигаться заставить довольно просто. Нужно ее сделать в качестве непися, а не плэйсэбла . Поредактировать 2да.
QUOTE (DBColl @ Jul 15 2004, 10:13) |
Поредактировать 2да. |
QUOTE |
DBColl, не надо говорить таких страшных слов. Призрак не настолько крут в АВРОРЕ, чтобы "на хоп" редактировать 2да. А так сейчас будет вопрос, "Как?" на что его отошлют к Айсу, который скажет "Никак" и полуэльф будет мучатся.. |
QUOTE |
Я вот сейчас вожусь со скриптом, заставить баллисту жжахнуть фаерболом |
QUOTE (Tarre @ Jul 15 2004, 11:39) |
На ваулте есть мод Аваддона баллистовый. |
Neverwinter Script Source |
//Висит на onHeartBeat катапульты void main() { object oCat=OBJECT_SELF; object oZaval=GetObjectByTag("NW_STONE"); object oStone=GetFirstItemInInventory(oCat); if ((oStone!=OBJECT_INVALID)&&(GetTag(oStone)=="NW_BUMBUM")){ //проверяет положили ли в нее камень DestroyObject(oStone); //уничтожает его ActionCastSpellAtObject(SPELL_FIREBALL,oZaval, METAMAGIC_ANY,TRUE); //жахает фаерболл DestroyObject(oZaval); //уничтожает камень завала } } |
Может несовпадение тэгов?
DBColl В том-то и дело, что как только это дело проходит, больше ничего не работает.. Повторные попытки жжахнуть не проходят, потому как объекта с тегом "NW_STONE" он не находит. Не дестроится визуальная часть объекта и все..
Теги проверил - КОПИ/ПЕЙСТ - все равно не помогает
Посмотри.....вродьбы 3 главу стандартной кампании. Там были стреляющие баллисты.
Вестель
Попробуй сделать задержку у дестроя:
DestroyObject(..., 0.5);
QUOTE (DBColl @ Jul 15 2004, 14:31) |
Попробуй сделать задержку у дестроя: |
Neverwinter Script Source |
DelayCommand(0.5,DestroyObject(oStone)); |
Хм... А попробуй закомментируй каст спелла. Просто уничтожить. Получится?
Нашел!
На плацеблах "камменюк", которые блокирывали проход стоял значок Static..
Стоило его убрать, они начали исчезать..
Теперь другой вопрос, почему у меня катапульта палит в левый верхний угол, а не куда я ей сказал? в смысле не в oZaval?
Уже куда надо палит!
ActionCastSpellAtObject при растоянии больше, чем дальность действия закла косячит.
Делай фэйковый каст, а дамаж пиши сам (катапульты, которые обстреливают Тсурлагол делал так, так как дальность там было ой-ой-ой)
В 3-ей главе я когда-то (1.5 года назад) не нашел скрипты эти, на катапультах нет скриптов стрельбы. Поэтому делал сам, подсмотрев фишку про БалистикТраекторию у модуля катапульты на валуте. (все это было больше года назад. С тех пор скрипт стрельбы не менял)
Ой, а терь можно мне как что делать объяснить ООООООООЧЕНЬ подробно и сказать если чё что откуда скачать, я был бы очень-очень рад...
ПРИЗРАК
Качай http://me.newmail.ru/test.mod (44Кб), посмотри, что там сделано, если будут вопросы, пиши еще.
ДБ, про катапульту...
Вест, ща гляну...
<small>Добавлено в 14:45</small>
А что за оCat, oZaval u oStone?
Neverwinter Script Source |
void main() { object oCat=OBJECT_SELF; object oZaval=GetObjectByTag("NW_STONE"); object oStone=GetFirstItemInInventory(oCat); if ((oStone!=OBJECT_INVALID)&&(GetTag(oStone)=="NW_BUMBUM")){ DestroyObject(oStone); ActionCastFakeSpellAtObject(SPELL_FIREBALL,oZaval); DelayCommand(0.5,DestroyObject(oZaval,0.5)); } } |
object - оператор который присваивает к обозначению объект. Напимер, чтоб каждый раз мы не писали GetObjectByTag("TEST_NPC").
Мы просто присваиваем обзначению oNPC объект GetObjectByTag("TEST_NPC").
Присвоение таким образом
Neverwinter Script Source |
object oNPC = GetObjectByTag("TEST_NPC"); |
Neverwinter Script Source |
AssignCommand(GetObjectByTag("TEST_NPC"),SpeakString("Привет!")); |
Neverwinter Script Source |
AssignCommand(oNPC,SpeakString("Привет!")); |
Здарова люди, вот наконец-то освободился от экзаменов...
Насчёт катапульты... У меня всё получилось, но мона ли пару вещей изменить? Вставить взрыв фаербола на камне + чтоб звук появлялся, например от магии Руна что-ли, ну там луч лазерный с неба бьёт. И ещё, чтоб камни через минут 30 заново появлялись... Заранее сеньк...
Эт прям не катапульта получается, а армагедон получается. Конечно можно. Ищешь этот звук и потма проигрывашеь его командой PlaySound. А чтоб восстанавливались - поставь DelayCommand(30.0, CreateObject ...
Почему армагеддон? Ну должен же БАБАХ быть...
Можешь написать весь скрипт, я так не врубаюсь...
А звук куда вставить то?
Весь скрипт..ишь деловой какой, надо бы и самому уже могеть потихонечку. Звук ищешь в разделе звуков(каламбурчик какой). Потом у тебя там есть в скрипте катапульты такая фишка DelayCommand(столько.секнду, ApplyEffectToObject...
И там стоит эффект фаербол. вот там же вставляешь строчку с таким же DelayCommand(столко.секунд,PlaySound("реф_звука");
Наверное жутко глупый вопрос (и не по теме):
Есть у меня древняя идея, сделать диспелящую стрелу (это решилось банальным свойством onHit: Dispel Magic), при этом чтобы выглядел полет как Eye-ray attack бехолдера.
Так вот, каким образом можно поменять прожектайл стрелы?
FenrIX_666
Я не уверен, что это можно. Более того, уверен на 99%, что нельзя.
можно просто сделать специфическую стрелу, с диспелом на ударе, не более.. может быть, можно как-то сделать через хаки, может это как-то можно собрать, но DB прав, скорее всего нельзя.
Хаками можно сделать 100%. Другой вопрос, кто станет это делать? Ибо по-моему не самая важная, ЭФФЕКТНАЯ и часто применяемая вещь.
Млин, ДБ, ИМХО пора создать тему а-ля "Эффективные способы воздействие на играющего в ваши моды". Люди все больше зацикливаются на мелочах... Помнишь, у нас с тобой на эту же тему был разговор. :-) Может, его немного облагородить и перенести в ную тему?
QUOTE (Tarre @ Aug 18 2004, 12:31) |
Млин, ДБ, ИМХО пора создать тему а-ля "Эффективные способы воздействие на играющего в ваши моды". Люди все больше зацикливаются на мелочах... Помнишь, у нас с тобой на эту же тему был разговор. :-) Может, его немного облагородить и перенести в ную тему? |
Мдя.. не до мод-мейка далековато... Я просто скриптую да иногда контент правлю =)
А как с помощюью хаков? в смысле как файло моделей прожектайлов зоветься?
И еще вопросик. Можно ли скриптова запретить использовать оружия/броники/Вондероуз айтемы, чтобы они выглядели как не-классовые (скажем запретить магу использовать палки/свитки/пруты/посохи, без добвления переменной Only usable by: и Use limitation) ...
QUOTE (FenrIX_666 @ Aug 19 2004, 11:32) |
А как с помощюью хаков? в смысле как файло моделей прожектайлов зоветься? |
QUOTE (FenrIX_666 @ Aug 19 2004, 11:32) |
И еще вопросик. Можно ли скриптова запретить использовать оружия/броники/Вондероуз айтемы, чтобы они выглядели как не-классовые (скажем запретить магу использовать палки/свитки/пруты/посохи, без добвления переменной Only usable by: и Use limitation) ... |
Вот такой вопрос: мне надо реализовать три времени суток. Тоесть грубо говоря два дня и одну ночь(на самом деле все сложнее), и менялось освещение и звуки, как это лучше сделать. И колличество часов в сутках прописано в движке? Если нет, то где?
QUOTE (Auren @ Aug 20 2004, 01:24) |
Тоесть грубо говоря два дня и одну ночь(на самом деле все сложнее) |
QUOTE (Auren @ Aug 20 2004, 01:24) |
колличество часов в сутках прописано в движке? Если нет, то где? |
QUOTE (DBColl @ Aug 20 2004, 09:53) |
??? Не понял... |
Как сделать диалог так чтобы:
при первом разговоре - давался квест, а при последующих спрашивали " выполнен ли он "
точнее какой скрипт должен быть для смены первой фразы NPC..
Элементарно,JCDenton. Во время диалога с PC когда дается квест - назначь локалку 1. А при каждом начале диалога с NPC проверяй эту локалку. Если она = 0, то пусть дается квест, а если она =1 - пусть проверяется выполнен ли этот квест.
Спасибо обьяснил
дай текст скрипта плиз, мне нужно чтобы при последующем обращении к нпк выдавался второй текст а не первый...
Добавлено в [mergetime]1093294356[/mergetime]
Разобрался , спасибо Аваддон. Скажи а чему я могу присваивать локалки?
GetLocalInt(object oObject,string "name",int value)
какие oObject можно юзать? я юзал Object_Self.. какие есть еще?
JCDenton
Практически любой объект в игре может иметь локалки, начиная с существ и заканчивая вейпоинтами.
Объект можно взять по тэгу:
object oObj = GetObjectByTag("тэг объекта");
Если нужен объект игрового персонажа, то
object oPC = GetFirstPC();
Ну.. коли в диалоге то можно oObject=GetPCSpeaker();
QUOTE |
е думаю, что все так как ты себе представляешь. Интуиция. Хотя подробности объяснить сможет кто-то из контентщиков... Айс, DarkLord, LexSuS... |
QUOTE |
Надо перехватывать тэги или тип объекта в событии ModuleActivateItem и попытаться там что-то сделать... Хотя, если честно, не уверен, что прокатит. |
QUOTE |
ЗЫ. А чем тебя не устраивает ограничение в свойствах айтема? |
QUOTE (FenrIX_666 @ Aug 24 2004, 15:17) |
А где оных найти? |
QUOTE (FenrIX_666 @ Aug 24 2004, 15:17) |
Хм.. по-моему это событие включаеться только при использовании Unique Power *. Ну вообщем что-то не катит как-то. |
QUOTE (FenrIX_666 @ Aug 24 2004, 15:17) |
Да надо в диалоге в зависимости от прошлых действий сделать фразы типа *Ты предал дело Мистры, за это ты не сможешь юзать свитки/палки/посохи/мантии, редиска* или *ты предал дело Кореллона Ларетиана, за это ты не сможешь надевать эльфйские шмотки, нехороший ты человек* и т.д. А свойства айтема не годяться потому как один человек может сделать одно действие... другой-другое. И как быть, если один передаст другом ушмотку... плюс если найдет шмотку из запрещенного списка. |
DBColl
А можно присваивать две разные локалки одному объекту?
SetLocalInt(OBJECT_SELF, "TL1", 1);
SetLocalInt(OBJECT_SELF, "TL2", 2);
???
P.S.
Это я у тя в аське, я хочу тестером быть
Добавлено в [mergetime]1093370032[/mergetime]
И еще, как сделать чтобы у PC в начале игры отобрали все предметы...
Где этот скрипт повесить?
2 JCDenton:
Ты можешь применить к любому объекту безграничное число локальных переменных (int, string, object, location и т.п.) при условии, если их имена НЕ будут совпадать.
2JCDenton
на событии onClientEnter.
Прописать удалениее всех предметов у объекта GetEnteringObject();
Перебор предметов идет через
Neverwinter Script Source |
object oItem = GetFirstItemInInventory(...); while (GetIsObjectValid(oItem)) { //удаление предмета .... oItem = GetNextItemInInventory(...); } |
QUOTE |
Верно, но почему не катит? |
QUOTE |
Так а в чем проблема-то? Если ты пишешь под ХотУ, то там на лету (из скриптов) можно менять свойства айтемов. Вот и делай . |
А что надо вписать вскрипте
CODE |
#include "nw_i0_generic" void main() { int fullHP=GetMaxHitPoints(OBJECT_SELF)*3; ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(fullHP),OBJECT_SELF); ActionSpeakString("?? ???? ??? ?? ?????!!!"); SetIsTemporaryEnemy(GetPCSpeaker()); ActionAttack(GetPCSpeaker()); DetermineCombatRound(); } |
Поставь твоему нписю нейтраьную к други фракцию.
balrog
Надо сменить неписю фракцию на STANDART_FACTION_HOSTILE, тогда за него не будут заступаться.
QUOTE |
Можно. loadscreens.2da. Есть утила специальная на ваульте, которая делает в нужном формате этот скрин. |
QUOTE (JCDenton @ Aug 24 2004, 20:44) |
Это я у тя в аське, я хочу тестером быть |
QUOTE (DBColl @ Aug 25 2004, 10:50) |
Я вижу. Качай модули, играй... Найдншь баги - пиши в форум . |
QUOTE (Auren @ Aug 25 2004, 16:06) |
Немножко неправильная у вас политика искания багов, сорри за оффтоп. Нужно составлять тестпланы и давать их тестерам. Они должны их прогонять и отсылать вам баги, а вы их фиксить и отправлять обратно на верификейшн. Они опять должны прогнать этот тестплан для того, чтобы убедиться, что фикс бага не принес новых. Я просто сейчас тестером работаю и мне это немножко знакомо. Таким способом как делаете вы, всех багов не найдешь. |
Я просто говорю, как народ тестил серьезные апликейшены и я бы делал что-то подобное + свободный полет.
QUOTE (Auren @ Aug 25 2004, 16:46) |
Я просто говорю, как народ тестил серьезные апликейшены и я бы делал что-то подобное + свободный полет. |
Посоветуйте, как реализовать доску объявленией в НВНе. Игрок пишет вое сообщение, а оно в диалоге с доской сохраняется
QUOTE (balrog @ Aug 25 2004, 17:38) |
Посоветуйте, как реализовать доску объявленией в НВНе. Игрок пишет вое сообщение, а оно в диалоге с доской сохраняется |
в теме скрипты для шарда есть ссылка на мой модуль с крикуном, который кричит новости, сказанные ему игроком. + рядом стоит доска, на которой эти новости можно прочитать.
Точно?? Ой спасибо!
DBColl я все скачал, только скажи где взять версию 1.32 и сколько она весит примерно )
Еще вопрос, как в одну арию кидать разные типа тайсетов ?
JCDenton
Патчи есть на нашем сайте. И еще... http://nwdownloads.bioware.com/neverwinternights/patch/english/
Тута.
http://wrg.ru/TEMP/Lex_LexxL/Speaker.rar,
Как запхать свою музыку в модуль??? (включая как именно ее вставить в нем, и вызывать через скрипты)
QUOTE (JCDenton @ Sep 2 2004, 02:25) |
Как запхать свою музыку в модуль??? (включая как именно ее вставить в нем, и вызывать через скрипты) |
а именно - покопайся в свойствах
Aiwan, видел твою статью в журнале, Молодец! Так Держать
QUOTE (JCDenton @ Sep 2 2004, 19:57) |
Aiwan, видел твою статью в журнале, Молодец! Так Держать |
у мя ее уже нема
QUOTE (JCDenton @ Sep 2 2004, 22:57) |
Aiwan, видел твою статью в журнале, Молодец! Так Держать |
QUOTE (Aiwan @ Sep 2 2004, 23:18) |
Спасибо Первый отзыв не в письме... |
Можно ли в Aurora Toolse'ере изменить или создать свою систему боя и создать новые классы? Или если можно другой прогой то скажите плыз какой.
Ответ прошу прилать на vacmen@rambler.ru
Можно, но ОООЧЕННЬЬЬ трудно
QUOTE (NightWind @ Sep 12 2004, 01:32) |
Можно ли в Aurora Toolse'ере изменить или создать свою систему боя и создать новые классы? Или если можно другой прогой то скажите плыз какой. |
Можно ли это исправить без 3ДМАКСА?:
Проблема в том, что когда делаешь Rise так, что 4 тайла образовывают квадрат или прямоугольник, то по серединке получается, что земля приподнята=(
Добавлено в [mergetime]1095020823[/mergetime]
Подозреваю, что нужно править set файл, но не уверен, точней просто не знаю=)
Не понял... Еще раз... Как ты делаешь?..
симпотичный райз..хочу себе такой на развалины Иларафона
Я вообще не увидел ничего симпотного... Стена, как стена. Децл ретекстуренная...
А вот откуда такая полоса появилась - ... Как все было?
Короч райзаю так, чтобы было преподнято вот столько например тайлов:
OO
OO
ДБ, если в тайле город/деревня сделать в квадрат 4 райза, будет что-то похожее.
Тайлсет в целом симпотичный. Город дроу типа=)
Хм.. помню видел нечто подобное когда делал переходы между уровнями нестандартной высоты ( параметр Transition=1 в группе свойств [GENERAL], - *.set файла тайлсета, если он отличается от единицы то всё ясно. - К сожалению в таком случае здесь не поможет даже МАХ (ну в смысле если все заново не перерисовывать) , однако этот глюк каким-то образом решают, чаще правда на уровне всё того же МАХ-а за счёт смены положени Pivot-а. Но наверное всё же существует способ и через опции - по крайне мере у меня был такой глюк что в тулсете собиралось всё отлично, а вот в игре "второй" уровень уходил в землю .
Auren
Да ну, брось! У нигеров архитектура другая!
А конкретно не будете ли так любезны сказать мне и дать прямые ссылки на создание классов и системы боя. Делов том что я разработал уникальную систему боя и хочу воплотить ее в жизнь. А так как писать свой движек долго да еще и сложно, то я решил создать "свою игру" на движке НВН при помощи Аврора. Кто мне поможет буду очень признателен.
Систему боя тебе в Авроре не изменить. Разве что писать свой движок. Дело в том, что ДнД зашит внутрь Авроры. Он отнюдь не весь в открытых таблицах (2DA). Там лишь вспомогательные данные. А то, что допустим раунд 6 секунд, анимация боя (количество кадров ударов) заточены под раунды - это внутри и их не достать и не отредактировать. Иначе думаешь делали бы здесь проект Звездных Войн на AD&D? Так что, увы, сочувствую...
Вопрос: как правильно управлятся с освещением в Toolset'е?
Лучше всего на конкретном примере. :)
Есть локация с внутренним помещением. В локации две смежные комнаты. Нужно чтобы одна была ярко освещена (большая потолочная люстра), а вторая затемнена (слабое освещение свечи). Как это правильно сделать? Я пробовала в свойствах тайла изменять цвета, но по-моему это дает только оттенок, но не освещение...
Я думаю что локацию надо сделать темненькой. А на люстру скриптом повесить перманентный визуальный эффект света. Если не поймешь - могу разложить по полочкам.
Аваддон, лучше всего разложить по полочкам. :)
Буду очень благодарна. :)
Правда, я тут уже немного попробовала с темной локацией и освещением с помощью "осветительных приборов"... Без сторонних добавлений действительно темно выходит. :) Но вот эта люстра далеко не везде смотриться... Можно ли как-то повесть эффект без люстры? :) Или сделать её невидимой, например...
Так, значит люстра тебе не нужна? Значится убираем нафиг люстру. А откуда свет должен идти? Хотя ладно, проблема реализма - это твое личное дело.
Значит так... Сейчас мы с тобой создадим две "лампочки".
Создаешь placeable объект с внешним видом - Invisible Object. Короче чтобы он был невидимый, раз тебе люстра и канделябра не нужна. если нужна - выбирай их внешность.
Задаешь этому объекту тэг "LIGHT1" - это будет первая лампочка.
Потом создай такой же placeable но уже с тегом "LIGHT2" - это вторая лампочка.
Далее делаешь интерьер локации темной - задается в визуальных параметрах арены.
Размещаешь эти лампочки в той комнате где подсветка должна быть в каком хочешь месте.
Потом перед входом в комнату кладешь триггер. И в этом тригере на OnEnter вешаешь следущий скрипт:
Neverwinter Script Source |
void main() { effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_20); /* VFX_DUR_LIGHT_YELLOW_20 - это освещение. Yellow -цвет. 20 - дальность. Цвета: RED,WHITE, BLUE, PURPLE, ORANGE, GRAY. Дальности: 5,10,15,20. */ object oPC = GetEnteringObject(); object oLight1 = GetNearestObjectByTag("LIGHT1",oPC); //тэг первой лампочки object oLight2 = GetNearestObjectByTag("LIGHT2",oPC); //тэг второй лампочки if (GetLocalInt(OBJECT_SELF,"on")!=1) //проверка включены ли лампочки. Если да то больше скрипт не действует. { ApplyEffectToObject(DURATION_TYPE_PERMANENT,eLight,oLight1); //зажечь первую лампочку ApplyEffectToObject(DURATION_TYPE_PERMANENT,eLight,oLight2); //зажечь вторую лампочку SetLocalInt(OBJECT_SELF,"on",1); //отметить что лампы уже включены } } |
Neverwinter Script Source |
object oLight3 = GetNearestObjectByTag("LIGHT3",oPC); |
Neverwinter Script Source |
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eLight,oLight3); |
QUOTE (fali @ Oct 16 2004, 00:46) |
Есть локация с внутренним помещением. В локации две смежные комнаты. Нужно чтобы одна была ярко освещена (большая потолочная люстра), а вторая затемнена (слабое освещение свечи). Как это правильно сделать? Я пробовала в свойствах тайла изменять цвета, но по-моему это дает только оттенок, но не освещение... |
2Аваддон:
Что-то у меня не работает этот скрипт... Похоже что-то неправильно делаю, а что именно, не пойму... Между прочим, раз можно включить свет, значит можно и выключить, да? :) А как сделать такой переключатель? :)
2Aiwan:
Хм... =) Никак не пойму, как я раньше пробовала это делать, что у меня ничего не получалось. :) Сейчас еще раз попробовала, действительно всё вышло как надо. :) А если еще и с осветителями получится совместить, будет просто отлично! :)
QUOTE (fali @ Oct 16 2004, 11:51) |
Что-то у меня не работает этот скрипт... Похоже что-то неправильно делаю, а что именно, не пойму... |
QUOTE (fali @ Oct 16 2004, 11:51) |
Между прочим, раз можно включить свет, значит можно и выключить, да? А как сделать такой переключатель? |
Neverwinter Script Source |
void main() { effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_20); /* VFX_DUR_LIGHT_YELLOW_20 - это освещение. Yellow -цвет. 20 - дальность. Цвета: RED,WHITE, BLUE, PURPLE, ORANGE, GRAY. Дальности: 5,10,15,20. */ // object oPC = GetLastUsedBy(); int N; object oLight; if (GetLocalInt(OBJECT_SELF,"on")!=1) { N=0; oLight = GetObjectByTag("LIGHT",N); while(GetIsObjectValid(oLight)) { ApplyEffectToObject(DURATION_TYPE_PERMANENT,eLight,oLight); N++; oLight = GetObjectByTag("LIGHT",N); } RecomputeStaticLighting(GetArea(OBJECT_SELF)); SetLocalInt(OBJECT_SELF,"on",1); //отметить что лампы уже включены } else if (GetLocalInt(OBJECT_SELF,"on")==1) { N=0; oLight = GetObjectByTag("LIGHT",N); while(GetIsObjectValid(oLight)) { eLight = GetFirstEffect(oLight); while(GetIsEffectValid(eLight)) { RemoveEffect(oLight, eLight); eLight = GetNextEffect(oLight); } N++; oLight = GetObjectByTag("LIGHT",N); } RecomputeStaticLighting(GetArea(OBJECT_SELF)); SetLocalInt(OBJECT_SELF,"on",0); //отметить что лампы уже выключены } // Звук гонга! Можно найти и более подходЯщий. PlaySound("as_cv_gongring"+IntToString(Random(2)+1)); } |
Первый скрип заработал просто отлично. :)
Но теперь не работает второй. =) Пытаюсь разобраться, что делаю не так на этот раз. %)
А вообще, совмещение разных способов освещения даёт просто отличный результат. :)
QUOTE (Аваддон @ Oct 16 2004, 05:08) |
дооолго гореть |
Вопрос такой... я знаю, что у некоторых спеллов не прикручены спасы - например у Bigby`s Hands, у Ракетного шторма Ишака ).. или например что Time Stop ставит на паузу весь шард... - но не уверен - все ли это спеллы? Может в NWN есть еще что-то непофиксеное ? Кто знает ?
QUOTE (fali @ Oct 16 2004, 14:51) |
2Аваддон: Что-то у меня не работает этот скрипт... Похоже что-то неправильно делаю, а что именно, не пойму... Между прочим, раз можно включить свет, значит можно и выключить, да? А как сделать такой переключатель? |
QUOTE (Аваддон @ Oct 19 2004, 13:01) |
При всем уваженни к Baal'у... У меня стоит NWN: HotU. Так вот там если взять из стандартной палитры плей типа Канделябров или Факела на подставке и открыть их в свойства то там на закладке скриптов уже вписан nw скрипт на включение/выключение. |
QUOTE (fali @ Oct 15 2004, 22:54) |
Но вот эта люстра далеко не везде смотриться... Можно ли как-то повесть эффект без люстры? Или сделать её невидимой, например... |
Кто знает как обойти ограничение в 20 скиллов ?
эмм.. всмысле?
Насколько я знаю - нвн ограничивает кол-во скиллов 20 штуками... но хде-то слышал, шо мона найти лекарство от этого недуга
не знаю, чего он там ограничивает, но в нвн 22 скилла родных
Ты наверное имеешь в виду левелы, а не скиллы?
А если все же про скиллы - то посмотри хотя бы старенький ПРЦ - там 2 лишних скилла сделаны Jump и Iajitsu (надеюсь правильно написал )
Несколько вопросов
-Когда локацию для шарда делаешь, теги и ресрефы менять абсолютно на все плейсеблы?
-Нужно ли все, что есть в локации добавлять в палитру?
-Можно ли добавить плейсеблы из хака в палитру скопом?
QUOTE (Тэш @ Oct 22 2004, 12:39) |
-Когда локацию для шарда делаешь, теги и ресрефы менять абсолютно на все плейсеблы? |
QUOTE (Тэш @ Oct 22 2004, 12:39) |
-Нужно ли все, что есть в локации добавлять в палитру? |
QUOTE (Тэш @ Oct 22 2004, 12:39) |
-Можно ли добавить плейсеблы из хака в палитру скопом? |
Спасибки, ДБ, разжевал.
Добавлено в [mergetime]1098440170[/mergetime]
а да, вот еще вопросик: какой оптимальный размер локи для шарда? И максимально допустимый.
QUOTE (Тэш @ Oct 22 2004, 16:14) |
а да, вот еще вопросик: какой оптимальный размер локи для шарда? И максимально допустимый. |
Вопрос:Где в модульных свойствах прописано с какими вещами и количеством голда будет появляться игрок впервые вошедший на шард?
QUOTE (Тэш @ Oct 22 2004, 13:14) |
Спасибки, ДБ, разжевал. |
QUOTE (baskan @ Oct 22 2004, 14:52) |
Вопрос:Где в модульных свойствах прописано с какими вещами и количеством голда будет появляться игрок впервые вошедший на шард? |
Neverwinter Script Source |
void main() { object oPC = GetEnteringObject(); if (GetLocalInt(oPC, "ENTERING_ONCE") == 0) { GiveGoldToCreature(oPC, 1000); // даст 1000 "зелени" CreateItemOnObject("resref_item", oPC, количество); // вроде так... функция эта, но могу ошибаться в параметрах. SetLocalInt(oPC, "ENTERING_ONCE", 1); } } |
Хм понятно..А вот если например я делаю тригер и сую туда вот твой скрипт золота, но так, чтобы один раз получил игрок золото и больше уже не получал..
Это вопрос?
Этот скрипт можно поставить также в OnEnter триггера без изменений .
Хм, можно при входе дать 1 xp чару и на основании этого давать денюшку, т.е. - если у чара 0 xp - то дается денешка и 1 xp, а если у чара 1 и больше - ниче не давать...
Raven
Согласен.
QUOTE (DBColl @ Oct 22 2004, 17:47) |
Это вопрос? Этот скрипт можно поставить также в OnEnter триггера без изменений . |
Neverwinter Script Source |
void main() { object oPC = GetEnteringObject(); if (GetXP(oPC) == 0) { GiveGoldToCreature(oPC, 1000); // даст 1000 "зелени" CreateItemOnObject("resref_item", oPC, количество); // вроде так... функция эта, но могу ошибаться в параметрах. SetXP(oPC, 1); } } |
QUOTE (DBColl @ Oct 22 2004, 21:46) | ||
Вроде так... |
QUOTE (baskan @ Oct 23 2004, 13:06) |
Что нужно прописать (как я понял все в той же ячейке..или нет) что бы когда игрок заходил в модуль(без разницы какой раз) в сообщениях сервера было написано, ну там Добро пожаловать ту да то? |
Да
SendMessageToPC(oPC, "Welcome to Hell!");
У меня появилась задача чтобы после определенного пункта диалога отпиралась (Locked снимался) дверь. Подскажите пожалуйста
QUOTE (DBColl @ Oct 23 2004, 15:05) |
SendMessageToPC(oPC, "Welcome to Hell!"); |
QUOTE (Vhall’rafein @ Oct 23 2004, 22:47) |
У меня появилась задача чтобы после определенного пункта диалога отпиралась (Locked снимался) дверь. Подскажите пожалуйста |
Neverwinter Script Source |
void main() { object oDoor = GetObjectByTag("ТАГ_ТВОЕЙ_ДВЕРИ"); SetLocked(oDoor, TRUE); // FALSE - открыть TRUE - закрыть } |
QUOTE (Raven @ Oct 24 2004, 00:54) |
Тут же встречный вопрос - можно ли поставить кастомные сообщения при атаке, попадании, промахе, кастовании закла и тд ? |
Сенк.
1. Почему-то при запуске модуля на карте отображается белое пространство, вместо зданий. В чем дело?
2. Появится ли в ближайшее время статья про создание собственных классов и рас?
QUOTE (Vhall’rafein @ Oct 24 2004, 02:13) |
1. Почему-то при запуске модуля на карте отображается белое пространство, вместо зданий. В чем дело? |
QUOTE (Aiwan @ Oct 23 2004, 23:31) |
Ты наверняка юзаешь хак тайлов? |
QUOTE (Aiwan @ Oct 23 2004, 23:31) |
Сложно, муторно писать и зачем? |
QUOTE (Vhall’rafein @ Oct 24 2004, 02:33) |
В одной статье обещались... жду... |
http://www.wrg.ru/stat_lce_blade_1.htm
пункты:
"5.Расы.
6.Классы."
...
"Продолжение следует........(если оно потребуется)."
QUOTE (Raven @ Oct 23 2004, 21:54) |
Тут же встречный вопрос - можно ли поставить кастомные сообщения при атаке, попадании, промахе, кастовании закла и тд ? |
А куда их засунуть?
Ну в слоты крича: OnDamaged, OnPhysicalAttacked, OnSpellCast...
\\Задний проход не искать.
Существует ли в Авроре предел на созданные локации? Или все определяется их общим объемом?
Смотря что ты делаешь. Сингл или шард?
Доброго времени суток! :)
У меня ещё вопрос появился. =) Правда, не уверена, что именно в эту тему, а не в скрипты... Но раз не уверена, лучше сюда -- здесь, по-моему, более общая тема. :)
Вопрос:
На некоторых шардах открытые двери через некоторое время сами закрываются. Как это делается? Есть ли в игре готовый скрипт или команда, которая именно это и делает?
Продолжение этого же вопроса:
Как сделать, чтобы открытая ключем дверь через некоторое время закрывалась и снова запиралась на ключ?
fali приветик Ставишь на слот OnOpen и закрываешь дверь на ключик.
Neverwinter Script Source |
//::////////////////////////////////////////////// //:: Created By: WRG! Aiwan aiwan@e-mail.ru //:: Created On: 06.11.2003 //::////////////////////////////////////////////// //:: ЗАКРЫВАЕТ ДВЕРЬ ЧЕРЕЗ 15 секунд //::////////////////////////////////////////////// void main() { ActionWait(15.0f); // через сколько секунд ActionCloseDoor(OBJECT_SELF); // захлопнет дверь DelayCommand(20.0,SetLocked(OBJECT_SELF, TRUE)); // закроет дверь на ключ через 20 сек } |
Шоб закрывались (через 10 секунд)
Neverwinter Script Source |
//onOpen void main() { DelayCommand(10.0, AssignCommand(OBJECT_SELF,ActionCloseDoor(OBJECT_SELF))); } |
Neverwinter Script Source |
//onOpen void main() { DelayCommand(10.0, AssignCommand(OBJECT_SELF, ActionCloseDoor(OBJECT_SELF))); DelayCommand(10.0, AssignCommand(OBJECT_SELF, ActionLockObject(OBJECT_SELF))); } |
balrog
AssignCommand(OBJECT_SELF, ActionCloseDoor(OBJECT_SELF)) - бесполезная команда. Типа "масло масленное". Самому себе приказывать что-то сделать... Достаточно:
ActionCloseDoor(OBJECT_SELF);
QUOTE |
AssignCommand(OBJECT_SELF, ActionCloseDoor(OBJECT_SELF)) - бесполезная команда. Типа "масло масленное". Самому себе приказывать что-то сделать... Достаточно: ActionCloseDoor(OBJECT_SELF); |
DBColl кстати, насчет такой команды
Neverwinter Script Source |
AssignCommand(OBJECT_SELF, ActionCloseDoor(OBJECT_SELF)) |
QUOTE (balrog @ Oct 27 2004, 23:29) |
Ну конешо работает, но если говолишь шо ето лишнее =) |
QUOTE |
AssignCommand нужна для раздачи комманд не OBJECT_SELF-ам. ... Вот я загнул. |
QUOTE (balrog @ Oct 28 2004, 01:08) |
Тык я так понял, шо к мэня правэльно? Или я неправильно понял =) ... вот и я загнул =) |
Пасиб всем большой за помощь. :)
Утащила самый первый скрипт, остальное просто взяла на заметку. :)
2Aiwan:
>Кстати, ты чем занята? :D
Всем по немножку. =)
>Могу тебе порекомендовать подключиться к РПГ клубу. Им бы не помешал работающий человек а тебе видеть свои труды в действии.
Для начала хотелось бы узнать, что это за клуб такой. :)
А вообще, я всегда рада помочь хорошим людям... :) Особенно, если это не очень трудно. =)
>Поверь дядюшке Айвану
Верю. :) *старательно вспоминает, кто же еще говорил о том же самом и практически такими же словами... =)*
2Всем:
А вообще, мне понравилось тут вопросы задавать, поэтому я еще спрошу. :)
Вопрос:
Опять же, видела на каком-то шарде комнаты в здании, в которых можно отдыхать (в самом здании, вне комнат, нельзя). Насколько трудно это сделать? Если не очень трудно, объясните, пожалуйста, как это делается. :) Если же достаточно трудно, то ладно -- можно и просто оставить разрешение отдыха во всём здании. =)
QUOTE (fali @ Oct 27 2004, 22:46) |
Опять же, видела на каком-то шарде комнаты в здании, в которых можно отдыхать (в самом здании, вне комнат, нельзя). Насколько трудно это сделать? Если не очень трудно, объясните, пожалуйста, как это делается. Если же достаточно трудно, то ладно -- можно и просто оставить разрешение отдыха во всём здании. =) |
Neverwinter Script Source |
void main() { object oPC = GetEnteringObject(); if (!GetIsPC(oPC)) return; SetLocalInt(oPC, "REST_ALLOWED", 1); } |
Neverwinter Script Source |
void main() { object oPC = GetExitingObject(); if (!GetIsPC(oPC)) return; SetLocalInt(oPC, "REST_ALLOWED", 0); } |
Neverwinter Script Source |
object oPC = GetLastPCRested(); if(GetLocalInt(oPC, "REST_ALLOWED") !=1) AssignCommand(oPC, ClearAllActions()); |
О, Баал гораздо проще написал, чем додумался я... Но я всё же напишу свой вариант. И по-моему это тебя не для топика "Вопросы от самых маленьких", а для "Скриптов".
Сделал через векторы. В данном случае ставятся 4 вейпоинта, которые представляют собой углы прямоугольника в котором _можно_ отдыхать... За приделами этого прямоугольника, персонажу отдохнуть не удастся.
Neverwinter Script Source |
int VectorInRect(vector vPC, vector vRectNW, vector vRectNE, vector vRectSE, vector vRectSW); void main() { if ( GetLastRestEventType() != REST_EVENTTYPE_REST_STARTED ) return; vector vPC = GetPosition(OBJECT_SELF); object oPointNW = GetObjectByTag("WP_REST_001NW"); object oPointNE = GetObjectByTag("WP_REST_001NE"); object oPointSE = GetObjectByTag("WP_REST_001SE"); object oPointSW = GetObjectByTag("WP_REST_001SW"); vector vRestNW = GetPositionFromLocation(GetLocation(oPointNW)); vector vRestNE = GetPositionFromLocation(GetLocation(oPointNE)); vector vRestSE = GetPositionFromLocation(GetLocation(oPointSE)); vector vRestSW = GetPositionFromLocation(GetLocation(oPointSW)); if ( VectorInRect(vPC, vRestNW, vRestNE, vRestSE, vRestSW) == 1 ) { SendMessageToPC(OBJECT_SELF, "Вы присели отдохнуть."); } else { SendMessageToPC(OBJECT_SELF, "Вам следует поискать получше место длЯ отдыха!"); ClearAllActions(); } } int VectorInRect(vector vPC, vector vRectNW, vector vRectNE, vector vRectSE, vector vRectSW) { //SendMessageToPC(OBJECT_SELF, "vPC ("+ FloatToString(vPC.x, 6, 2) +":"+ FloatToString(vPC.y, 6, 2) +":"+ FloatToString(vPC.z, 6, 2) +")"); //SendMessageToPC(OBJECT_SELF, "vRectNW ("+ FloatToString(vRectNW.x, 6, 2) +":"+ FloatToString(vRectNW.y, 6, 2) +":"+ FloatToString(vRectNW.z, 6, 2) +")"); //SendMessageToPC(OBJECT_SELF, "vRectNE ("+ FloatToString(vRectNE.x, 6, 2) +":"+ FloatToString(vRectNE.y, 6, 2) +":"+ FloatToString(vRectNE.z, 6, 2) +")"); //SendMessageToPC(OBJECT_SELF, "vRectSE ("+ FloatToString(vRectSE.x, 6, 2) +":"+ FloatToString(vRectSE.y, 6, 2) +":"+ FloatToString(vRectSE.z, 6, 2) +")"); //SendMessageToPC(OBJECT_SELF, "vRectSW ("+ FloatToString(vRectSW.x, 6, 2) +":"+ FloatToString(vRectSW.y, 6, 2) +":"+ FloatToString(vRectSW.z, 6, 2) +")"); if ( vPC.x < vRectNW.x || vPC.y > vRectNW.y ) return 0; if ( vPC.x > vRectNE.x || vPC.y > vRectNE.y ) return 0; if ( vPC.x > vRectSE.x || vPC.y < vRectSE.y ) return 0; if ( vPC.x < vRectSW.x || vPC.y < vRectSW.y ) return 0; return 1; } |
Пасиб. =)
И за помощь и за привет. =)
Между прочим, на том шарде это было как-то завязано на дверь, по-моему. :) Если закрыта -- отдыхать можно, если открыта -- нельзя. Вот только не знаю, будет ли это проще, чем в варианте Baal'а или сложнее. :)
2Baal:
Я чучуть позже проверю. :) Поэтому, может быть, потом еще что-нибудь спрошу... =)
А пока... Меня вот это насторожило: теперь игрок сможет отдыхать только если он находиться внутри специального тригера. Имеется в виду, что игроки вообще нигде в модуле больше не смогут отдыхать? :) Или только в локации этого здания? :) И если просто изменить последний скрип, он ведь везде измениться, да? Может тогда лучше сделать его изменённую копию и назвать по другому... Тем более, что я не очень поняла, что именно это изменение делает. :)
2Twin:
>И по-моему это тебя не для топика "Вопросы от самых маленьких", а для "Скриптов".
Может быть. =) Только там такие серъёзные скрипты обсуждают... Мои вопросы как-то уж очень маленькими после них кажутся. :) К тому же, я не была уверена, что для моих вопросов нужны именно скрипты. :) А вдруг там какой-нибудь галочкой можно было обойтись? Или готовым, игровым, скриптом. :)
QUOTE (fali @ Oct 28 2004, 01:12) |
Между прочим, на том шарде это было как-то завязано на дверь, по-моему. Если закрыта -- отдыхать можно, если открыта -- нельзя. |
QUOTE (fali @ Oct 28 2004, 01:12) |
Имеется в виду, что игроки вообще нигде в модуле больше не смогут отдыхать? Или только в локации этого здания? |
QUOTE (fali @ Oct 28 2004, 01:12) |
И если просто изменить последний скрип, он ведь везде измениться, да? Может тогда лучше сделать его изменённую копию и назвать по другому... |
Neverwinter Script Source |
object oPC = GetLastPCRested(); if(GetLocalInt(oPC, "REST_ALLOWED") !=1) AssignCommand(oPC, ClearAllActions()); |
Neverwinter Script Source |
object oPC = GetLastPCRested(); object oWPRest = GetNearestObjectByTag("WP_REST", oPC); if(GetLocalInt(oPC, "REST_ALLOWED") !=1 || !GetIsObjectValid(oWPRest)) AssignCommand(oPC, ClearAllActions()); |
off top - sorry
Fali, are you girl or boy? Of corse on real life.
QUOTE (fali @ Oct 28 2004, 04:46) |
Для начала хотелось бы узнать, что это за клуб такой. А вообще, я всегда рада помочь хорошим людям... Особенно, если это не очень трудно. =) |
QUOTE (fali @ Oct 28 2004, 04:46) |
Если не очень трудно, объясните, пожалуйста, как это делается. Если же достаточно трудно, то ладно -- можно и просто оставить разрешение отдыха во всём здании. =) |
QUOTE (Baal @ Oct 28 2004, 05:57) |
теперь игрок сможет отдыхать только если он находиться внутри специального тригера |
QUOTE (fali @ Oct 28 2004, 07:12) |
Между прочим, на том шарде это было как-то завязано на дверь, по-моему. Если закрыта -- отдыхать можно, если открыта -- нельзя. Вот только не знаю, будет ли это проще, чем в варианте Baal'а или сложнее. |
2Baal:
>Или тебе подругому надо было?
По другому. %)
Проще всего объяснить на примере. :)
Есть шард. Есть здание, которое может присоединится к шарду. В здании есть комнаты отдыха. =) Логичнее всего было бы, если бы в здании можно было отдыхать только в положенных для этого местах. :) Впрочем, так как я почти ничего не поняла в описанных выше скриптах, могу заключить, что на данный момент это для меня достаточно трудно. :) А потому лучше просто разрешить отдых на всей локации здания. :)
QUOTE (fali @ Oct 28 2004, 12:44) |
что на данный момент это для меня достаточно трудно. А потому лучше просто разрешить отдых на всей локации здания. |
Кхм.. Отвечала без предпросмотра и упустила добавленные позже сообщения. =)
2Ketcalkoatl:
>Fali, are you girl or boy? Of corse on real life.
I'm girl. =)
Вот только по английски не говорю. А потому второе предложение не поняла...
Авто-переводчик же выдал -- "Из трупа на действительности." Что это может значить в оригинале, я так и не догадалась. =)
Айван: переводится как "Конечно в реальной жизни" или около того
2Aiwan:
>КЛУБ РОЛЕВОЙ ИГРЫ
Я уже успела найти клуб в форуме, так что примерно представляю уже, что к чему.
Мне понравилось, хотя я ещё не пробовала на шардах учавствовать в квестах. Хотя, пожалуй, очень хотела бы попробовать. =) Правда, значащееся там время мне совсем не подходит, а потому, пока что вряд ли получится. Но помочь буду рада, если действительно что-то не сложное.
>Для такого подмастерье как ты это просто клад
*засмущалась, но очень довольна =)*
>И боюсь поставили тебя в тупик.
) Это точно. =) Впрочем, я хотела лишь узнать, сложно это или нет. Если нет, хорошо -- значит можно сделать... Если сложно, то в общем-то не очень и нужно. =) Хотя узнать как такое делается всё равно будет очень полезно. Может потом понятнее будет.
> ... Надеюсь так удобнее будет тебе отвечать.
Я знаю об этих возможностях.
Просто пишу сейчас так, как показалось мне удобнее и привычнее.
>Кстати, ты скачала мой туториал по Авроре? Для таких как ты писал
) Скачала. =) Причем, это было первое, что я сделала попав на этот форум. =)
Правда, винюсь, не весь прочитала. Читать, не пробуя паралельно, показалось не очень удобным. А пробовать скрипты или фракции, к примеру, у меня просто не возникло тогда желания. Сейчас вот думаю, что надо бы перечитать, заодно с другим туториалом.
>Спрашивай что не ясно.
Мне ничего не ясно! =)
Впрочем, шучу. Что нужно сделать, примерно понятно... Не понятно, какая часть скрипта за что отвечает. К тому же, пока что это не то, что мне нужно, а потому ставить не буду. =) И, опять же винюсь, ставить скрипт просто, чтобы попробовать, мне сейчас лень. Хотя к себе опять-таки утащила. =)
QUOTE (Aiwan @ Oct 27 2004, 21:09) |
Раз пошел такой разговор. Я замахался с дверьми в модуле. И они закрываются в скриптах только почму-то при такой команде если пытаться на очередь другого абъекта ставить ActionCloseDoor то НИЧЕГО не происходит. |
Возможен ли рест сидя в кресле, а не на полу ? Т.е. на onUse кресла поставить скрипт реста ? -- надеюсь я не сморозил глупости, только только в скрипах разбираюсь - для локи на одном шарде нада =)))
Видел скрипт реста в палатке, но он и в палатке сидел так как на земле, думаю, для этого нада анимацию переделывать
QUOTE |
Видел скрипт реста в палатке, но он и в палатке сидел так как на земле, думаю, для этого нада анимацию переделывать |
А моя розовая мечта - чтобы в таверне, сидя на стуле, можно было выпить вина, а не вставать для этого
Позволю себе предложить ещё один вариант ограничения отдыха вне определенной области (специальных комнат гостиницы, например). Делается всё практически так же как предложил Баал - через тригеры. Вариант доработан и готов к использованию.
Вам нужно нарисовать на земле тригер типа Generic охватив им всю область, где вы хотите разрешить отдых и дать эму тэг TRG_SPECIALREST. Для каждой комнаты, если их будет несколько, рисуйте свой тригер с тем же названием.
Далее в свойствах арии, где находится этот триггер нужно добавить int SPECIAL_REST со значением 1, иначе скрипт не будет работать в этой арии.
Теперь нужно создать новый скрипт и вписать туда следующее:
Neverwinter Script Source |
//::////////////////////////////////////////////// //:: Created By: Twin //:: Communication: //:: E-mail: twin_quad@hotmail.com //:: IRC: Twin@irc.rinet.ru:6669 //:: //:: Created On: 2004.10.28 //::////////////////////////////////////////////// void main() { if ( GetLastRestEventType() != REST_EVENTTYPE_REST_STARTED ) return; int nSpecialRest = 0; int nCanRest = !GetLocalInt(GetArea(OBJECT_SELF), "SPECIAL_REST"); object oTriggers = GetFirstObjectInArea(GetArea(OBJECT_SELF)); while ( GetIsObjectValid(oTriggers) ) { if ( GetObjectType(oTriggers) == OBJECT_TYPE_TRIGGER && GetTag(oTriggers) == "TRG_SPECIALREST" ) { nSpecialRest = 1; if ( GetIsInSubArea(OBJECT_SELF, oTriggers) ) { nCanRest = 1; break; } } oTriggers = GetNextObjectInArea(GetArea(OBJECT_SELF)); } if ( nSpecialRest && !nCanRest ) { SendMessageToPC(OBJECT_SELF, "Найдите место получше длЯ отдыха!"); ClearAllActions(); } else { SendMessageToPC(OBJECT_SELF, "Вы присели отдохнуть."); } } |
QUOTE (Raven @ Oct 28 2004, 17:33) |
А моя розовая мечта - чтобы в таверне, сидя на стуле, можно было выпить вина, а не вставать для этого |
QUOTE |
Хорошо не голубая |
QUOTE (Raven @ Oct 28 2004, 17:53) |
а реальное выпивание бутля, |
QUOTE (DBColl @ Oct 26 2004, 23:50) |
Смотря что ты делаешь. Сингл или шард? |
2Aiwan:
>Fali, ты глянь как мужчинки засуетились :D
Просто у меня много очень хороших знакомых. :) Знала бы с какими вопросами к кому обращатся, спрашивала бы сразу у конкретных людей. :) Но, во-первых, мне неудобно их отвлекать... =) А во-вторых, здесь, как мне кажется, ответять быстрее и быстрее же поправят, если что не так. :)
А вообще, мне уже даже неудобно как-то... :) Так стараются помочь, а я похоже опять плохо выразила свою мысль, и потому результат выходит не совсем тот, что хотелось бы. :) В частности, опять идёт влияние на скрипты всего модуля, если я всё правильно поняла... А я не уверена, что мне такое позволят. =) Модуль-то не мой (точнее, шард), и здание просто подсоеденят к уже существующей системе, если на то будет получено разрешение. :)
2Twin:
А демонстрационный модуль не работает. :) Там нигде не получается отдохнуть -- ни в обозначенной зоне, ни вне её. :) И я так и не сообразила, куда нужно добавлять int SPECIAL_REST в свойствах локации. =)
Кстати, а как зону сделать невидимой? Сейчас она выделяется светло-синим при наведении, а как это выделение убрать, я так и не нашла... Если только другой вид тригера взять...
С дверьми ничего делать не нужно. :) Они и так уже сами закрываются. =)
А про второе предложение... Мне вот интересно, чего это человек так заинтересовался. =) Да еще и по аглицки зачем-то спрашивает. :))
ЗЫ:
Да... Вопрос про отдых явно просится в тему о скриптах. =)
Но откуда ж я могла знать, что он такой обширный, и что мне так захотят помочь... %)
ЗЫЫ:
А скрипт Baal'а работает. =) Только что проверила. :)
Правда, без последнего добавления, которое разрешает обычный отдых на других локациях...
http://fali.st.vstu.edu.ru/files/nwn/TrRest.zip (10 Кб)
Возможно ли сделать так, чтобы при вселении дм-а в НПС, сидящий НПС не вставал?
Надеюсь, я ясно выразила свою мысль?
QUOTE (Vhall’rafein @ Oct 28 2004, 19:11) |
Делаю сингл. А почему не существует однозначного ответа? |
QUOTE (fali @ Oct 28 2004, 19:42) |
А вообще, мне уже даже неудобно как-то... Так стараются помочь, а я похоже опять плохо выразила свою мысль, и потому результат выходит не совсем тот, что хотелось бы. |
QUOTE (fali @ Oct 28 2004, 19:42) |
В частности, опять идёт влияние на скрипты всего модуля, если я всё правильно поняла... А я не уверена, что мне такое позволят. =) Модуль-то не мой (точнее, шард), и здание просто подсоеденят к уже существующей системе, если на то будет получено разрешение. |
QUOTE (Nika @ Oct 28 2004, 22:28) |
Возможно ли сделать так, чтобы при вселении дм-а в НПС, сидящий НПС не вставал? Надеюсь, я ясно выразила свою мысль? |
fali
Да всё там работает... Просто чтобы персонаж мог вставть в тригер, который выделяется под курсором нужно использовать для этого либо правую кнопку мышки, либо клавиатуру... Иначе вставть внутрь "видимого" тригера у тебя не получится никогда... А визуальное выделение я оставилял для наглядности и при работе данного скрипта тип тригера (ловушка, переход и тп.) никакого значения не имеет. Сейчас уже перезалил на фтп с невидимым тригером.
У меня в тулсете Фаил, Редактор, о программе и т.д. что вообщем сверху написано нормально по русски,
а в окошках справа и слева от центрального изображения вместо букв вертиркальные палочки! Это что такое и как с этим бороться?
2 elf-demon у тебя есть dialog.tlk английский? Если нет, поставь и посмотри что будет (замнени в корне игры). Потом дальше будем думать. Взять его можно http://wrg.ru/files/NWN/dialog.tlk.sou.1.30org.rar
Где то на этом сайте упоминалась некая команда, которая аналогична ресту т.е. после её исполнения перс стоит с восстановленными заклами, хитами и прочьей лабудой -- не напомните мне эту команду? И работает ли она на плееров или только на НПС и монтров ?
Просто теоретически если такая команда работает на плееров, то тогда можно было бы повесит скрипт с таймером на креслице и тогда после того как плеер посидел на кресле определенное время то выполнялась бы эта команда и выглядело бы это так как будто плеер отдохнул --- и никакой анимации менять не придется.
А как кстати сделать триггер невидимым ?
2Aiwan:
>Так что не напрягайся, спрашивай все что наболело
Хорошо, тогда буду дальше спрашивать. =)
Вопрос: Как у непися сделать диалог, зависящий от расы, класса и пола? Например, девушку приветствует одним образом, девушку-воина другим, эльфа-мага -- третьим, и так далее...
Twin, проверила ещё раз. :) И правда работает. =)
Только если мышкой щёлкать (как я обычно в помещениях хожу) отдохнуть у меня всё равно не получилось... о_О Только если зайти с помощью клавиатуры. :)
QUOTE (Goblin @ Oct 29 2004, 15:16) |
А как кстати сделать триггер невидимым ? |
QUOTE (fali @ Oct 29 2004, 18:45) |
Вопрос: Как у непися сделать диалог, зависящий от расы, класса и пола? Например, девушку приветствует одним образом, девушку-воина другим, эльфа-мага -- третьим, и так далее... |
Neverwinter Script Source |
int StartingConditional() { // Restrict based on the player's class int iPassed = 0; if(GetLevelByClass(CLASS_TYPE_FIGHTER, GetPCSpeaker()) >= 1) iPassed = 1; // если не воин не начнетсЯ if(iPassed == 0) return FALSE; if(GetGender(GetPCSpeaker()) != GENDER_FEMALE) // если не дама, не начнетсЯ диалог return FALSE; } |
2 fali
http://www.igromania.ru/articles/?nw_63 линк на статью, она мне очень помогла разобратся с диологами когда я тока начанал ......
QUOTE (Goblin @ Oct 29 2004, 12:16) |
Где то на этом сайте упоминалась некая команда, которая аналогична ресту т.е. после её исполнения перс стоит с восстановленными заклами, хитами и прочьей лабудой -- не напомните мне эту команду? И работает ли она на плееров или только на НПС и монтров ? |
QUOTE (balrog @ Oct 29 2004, 19:57) |
линк на статью, она мне очень помогла разобратся с диологами когда я тока начанал ...... |
QUOTE |
Не рекомендую эту статью. Я ее изучал, там много ошибок причем критичных. Человек изучал тулсет для статьи а не жил им как мы. Читай мою, там лучше и точнее На правах рекламмы... |
QUOTE |
Вопрос: Как у непися сделать диалог, зависящий от расы, класса и пола? Например, девушку приветствует одним образом, девушку-воина другим, эльфа-мага -- третьим, и так далее... |
QUOTE |
off top - sorry Fali, are you girl or boy? Of corse on real life. |
QUOTE |
Тут же встречный вопрос - можно ли поставить кастомные сообщения при атаке, попадании, промахе, кастовании закла и тд ? |
Я без всяких токенов делала - выбираешь опцию text appears when, там выбираешь расу и/или пол и пишешь соответствующий диалог. А скрипт потом сохраняешь под нужным именем.
Единственное неудобство - приходится писать много разных вариантов для обоих полов каждой расы.
Aiwan
Ну спасибооо! Удружил! Теперь у меня вместо русских букв ангийские!! фигня блин! У меня раньше ваще вот как было всё:
Сначала у меня всё нормально было и я создавал модули на русском, правда тупо было что редактор разговоров и скриптов там всяких, сюжета было по английски!!( нет ли русификатора?)
А потом я переустановил винду( была WindowsXP Professional и сейчас такую же установил) и всё! устанавливаю НВН с того же диска а в тулсете палки вместо букв!! И ещё заметил:
В старой операционке(в которой шёл тулсет) пароль в подключении в интернет отображался точками(•••), а сейчас, когда не идёт тулсет, пароль отображается такимиже палочками!
2Aiwan:
QUOTE |
Сколько расс и сколько чего и кому? И самое главное, на сколько глубоко проработанн он должен быть? |
Neverwinter Script Source |
int StartingConditional() { if(GetGender(GetPCSpeaker()) != GENDER_FEMALE) return FALSE; return TRUE; } |
токен - предмет. в частности предмет-идентификатор
а ингишь выучить всяко полезно будет
QUOTE |
Между прочим, вопрос. В чем суть различия твоего и вот этого скрипта, созданого Мастером скриптов из диалога? Помимо того что здесь проверка только на принадлежность к женскому полу. =) Я не очень разберусь... |
2 elf-demon не нервничай Русский язык твоего тулсета и НВН такой же Dialog.tlk, только русский, вернее переведенный. А нужно мне было узнать, работает у тебя тулсет на английском, если да то все нормально. Что бы тебе было понятно, русский это просто НАЛОЖЕНИЕ на ангийский язык. СТОП! Глянь в папку override игры, есть там что ни будь? Например такие файлы как: fnt_dialog16x16.txi, fnt_dialog16x16.tga и т.д.? Это шрифты русские.
Скажи, сейчас все на английском? Но работает и меню и палитры? Да? Если да, то бери Dialog.tlk переведенный с диска своего (посмотри на диске два обычно) и заменяй. Если нет, то в сети есть. Не найдешь скажи я помогу. Если снова не будет пахать, то поставь шрифты русские в папку override. Если опять ничего не поможет, то удали из реестра все записи о НВН. Видно твои пираты что-то намудрили...
2 Fali
QUOTE (fali @ Oct 30 2004, 05:23) |
Правда, у меня почему-то на русские коментарии (вставляются автоматом при создании) при компиляции иногда ругаются... |
QUOTE (fali @ Oct 30 2004, 05:23) |
В чем суть различия твоего и вот этого скрипта, созданого Мастером скриптов из диалога? Помимо того что здесь проверка только на принадлежность к женскому полу. =) Я не очень разберусь... |
Neverwinter Script Source |
int StartingConditional() { int iPassed = 0; // Число iPassed равно нулю if(GetLevelByClass(CLASS_TYPE_FIGHTER, GetPCSpeaker()) >= 1) // если уровень класса воин у говорЯщего РС больше или равен единички то iPassed = 1; // ТО число iPassed равно единицы // а то что снизу это уровнение как бы с сокращением. Вверху это как бы записи: // пусть Х=тому то У= тому то бла бла а внизу в чистом виде y=x+z // Если число iPassed равно нулю, то ничего не произойдет и ... if(iPassed == 0) return FALSE; // возврат (return) ЛОЖЬ (FALSE), то есть скрипт не вернется в самый верх // к функции int StartingConditional() и не прикажет ей начать диалог с // персонажем показав именно ЭТУ строку удовлетворЯющую ее запросам return TRUE; // Это второе условие, т.е. скрипт как бы пробежал по коду и если iPassed = 1; // то он даже не опустится к return FALSE; так как у нас единичка и он сразу // побежит читать что еще там ниже. А ниже "return TRUE;" что значит возврат // ИСТИНА, и он типа: ОПА! И запускает функцию ктороая быстренько тормозит // пролетающую проверку движком по всем корневым строкам НПС сверху вниз } |
Neverwinter Script Source |
// тут без всЯких сокращений поэтому мало и понЯтней смотри: int StartingConditional() { if(GetGender(GetPCSpeaker()) != GENDER_FEMALE) // (УСЛОВИЕ) "if" ЕСЛИ пол (GetGender - возьми пол) говорЯщего игрока // НЕ женский (== это РАВНО условию != это ОТРИЦАНИЕ || или или // && это и ЭТО и ЭТО обязательно) // дак вот, ЕСЛИ пол говорЯщего игрока не равен женскому то возврат ЛОЖЬ return FALSE; return TRUE; // Любой другой будет верным условием результат // if -это условие если оно есть, то после него идет параметр условий и если оно // простое, как у нас return FALSE; то его не заключают в скобки {} если сложное // то заключат. Например там несколько строк и сложное описание. //Тогда отделим его скобами, а if обрабатывает первое что идет после него. } |
Aiwan
Да на английском все работает вот тока среди выбора всего (у меня еще на диске аддон Hordes of Underdark) ну например монстры, которые есть в Underdarke а в простом НВН их нету эти монстры никак не названы просто стоит тире и пустота но при этом можно на пустоту кликать мышкой и ставить себе в модуль выбранное. Шрифты у меня в папке стоят о которых ты говоришь но все равно как установил этот dialog тот сразу сделал все английским и что больше меня разочеровало - игра стала английской версией!! А это тупо!
На английском все и даже меню и палитры которые были русские! на диске dialog нету. Где найти?
QUOTE (elf-demon @ Oct 30 2004, 14:00) |
Да на английском все работает вот тока среди выбора всего (у меня еще на диске аддон Hordes of Underdark) ну например монстры, которые есть в Underdarke а в простом НВН их нету эти монстры никак не названы просто стоит тире и пустота но при этом можно на пустоту кликать мышкой и ставить себе в модуль выбранное. |
QUOTE (elf-demon @ Oct 30 2004, 14:00) |
Шрифты у меня в папке стоят о которых ты говоришь но все равно как установил этот dialog тот сразу сделал все английским и что больше меня разочеровало - игра стала английской версией!! А это тупо! |
Думаю, что если он заглянет на http://rpgplanet.ru то найдет все необходимое для руссификации...
2Ночной зверек:
Если я правильно поняла объяснения, Леон имел в виду "знаки", вставляемые в текст диалога. Вроде miss/mr, <class> или <race>... :)
2balrog:
Да, с этим я, кажется, уже разобралась. :)
2Aiwan:
QUOTE |
А вот почитай мою статью. Принципиально не скажу что это |
QUOTE |
Вот в принипе я разжевал, может что не совсем верно, но я старался :D |
QUOTE (fali @ Oct 30 2004, 20:37) |
Все буквы "я", вроде бы убирала... А всё равно, если внутри текста скрипта коментирование сидит -- ругается, если после закрывающей скобки "}" -- принимает. =) Даже с буквой "я", между прочим, не ругается тогда. |
QUOTE (fali @ Oct 30 2004, 20:37) |
А остальное... Что-то поняла, что-то не очень... Но объяснил действительно хорошо. |
fali
Cпасибо! Самый первый в твоём списке скачал и он перевёл Невервинтер на ура! ещё причем текст в игре так немного курсивом! Класс! Но вот проблемка в Тулсете тоже самое - Палитра сверху работает(русское) а всё остальное в окошках справа и слева - палочки! =(( Устаноил и dialog и шрифты к нему прилагались (в рхиве вместе сним были) а он на тулсет не подействовал! Не везёт мне!=((
elf-demon напиши мне ПУТЬ до твоей папки с игрой. Только точно, например C:\games\nwnx2\
Ясно? Я тебе вышлю файлик реестра, обновишь его и ini ивсе заработает как должно быть.
Aiwan
Вообщем случилось вот что:
Я скачал с твоего письма файлы на рабочий стол. потом нажал на фаил HotU и мне написали: хотите добавить в реестр? я нажал ДА! Появилась в реестре в том пути который ты мне указал новая папка с 2 файлами. Не подействовало на тулсет. Я поменял ini фаил в папке с игрой и это тоже ничего не дало - в тулсете палочки вместо букв! А вот в игре вместо нормального текста стали закарючки всякие!!!! Ой народ!! Я уже отчаился!! Видно - не судьба!! Помогите всё исправить как было и всё!! не получеться видно ничего!
Добавлено в [mergetime]1099231497[/mergetime]
Мдя бедный мой НВН уже много раз его меняли по языкам! один dialog я сменил по моему 4 раза! Блин лучше переустановлю!
Скачай лучше руссификатор. Если че я могу подкинуть.
Переустановить всегда успеешь. Если че, то лучше винт форматни.
ДА не мучайся ты! Возьми да и переустанови НВН ... или ты компактов не имеешь?.... сразу как-только такие глюки, берёшь да и переустонавливаешь
QUOTE (elf-demon @ Oct 31 2004, 19:56) |
Блин лучше переустановлю! |
Ну вот и всё!! Переустановил и играю! Правда модули создавать не могу из-за палочек, но что делать! Чем-то надо же жертвовать!
У меня такое впечатление, что палитры у тебя сдохли каким-то образом... А может их пираты убили?.. Хотя глупость... А вообще я первый раз встречаю, чтобы тул так вставлял...
QUOTE (elf-demon @ Nov 1 2004, 04:57) |
Правда модули создавать не могу из-за палочек, но что делать! Чем-то надо же жертвовать! |
QUOTE (Aiwan @ Nov 1 2004, 09:24) |
Если я не ошибаюсь, у Лекса была такая трабла. Помогло по моему только Format c: .. |
Да-да-да, тока format c: или где Невер у тя стоит? Или лучше disks clear. Лан, ты не обижайся. Нащет пиратов, дык у мя тож пиратские оба аддона!
Ось какая? Пропатчена до какой версии(игра)?
Некромес
Да я вообще не патчил может в этом и проблема!
DBColl
Поищу! Может и есть у кого!
elf-demon, ты шо? Как же не патчить? Без этого никуды.
Пропатчь, и русифицируй. Интересно 30 метров скачать не слабо?
Блин, щас преду дадут.
Некромес
Вот вот! Нафиг надо!! Лучше без тулсета посижу или потом ангийскую версию установлю и там на инглише посоздаю, чем буду качать 30 метров!!!!! Я ж на модеме а не на выделенке!!!
Пока читала форум, немного запуталась и отпостила вопрос несколько не туда. =)
Так что, копирую его сюда -- здесь он уместнее. :)
QUOTE ("fali") | ||
Между прочим, вот и у меня та же проблема... :) Уж как я не вертела это несчасное невидимое сидение, всё одно садятся лицом на восток. =) Решила оставить до лучших времён и потом выспросить, да забыла. :) Сейчас вот прочитала -- вспомнила. :) Так что, присоединяюсь к вопросу. :) Как сделать эти самые сидения, чтобы их можно было располагать на различных предметах по нескольку штук в ряд? =) Сделано же это как-то в Экзистауне... Там и на бревне можно рядком устроиться, и на тюк сена сесть... |
по поводу палочек: Я лечил переустановкой, хотя знаю, что можно в реестре что-то сделать, чтобы этот глюк вылечить... Глюк довольно распространенный.
ЗЫ: Какое тут оживление в мое отсутствие..
ЗЫЫ: fali чем то напоминает меня в марте 2003 года на рельсах..хорошее было время...
По поводу сидений: я так и не придумал, как эту проблему решать..
QUOTE (elf-demon @ Nov 1 2004, 21:50) |
Вот вот! Нафиг надо!! Лучше без тулсета посижу или потом ангийскую версию установлю и там на инглише посоздаю, чем буду качать 30 метров!!!!! Я ж на модеме а не на выделенке!!! |
Народ, у меня самый наверное простой вопрос : Я хочу русифицировать допустим модуль. Если я переведу только диалоги, названия и описание предметов, названия лок (не таги и не ресрефы), добавлю несколько заколок на карте --- то это никак не повлияет на скрипты или прочую работу шарда ?
не повлияет..но наверняка, что нить останеться по английски
Lex
Мне на Реалмсе(бывшем, ща rpgplanet) сказал один про реестр. вот:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\CodePage
надо значением параметра 1252 поставить c_1251.nls, возможно тоже самое сделать для 1250.
Не это случайно? Я так не делал! Опосаюсь чтоб не испортить что-нибудь!
Народ!!!!!!!! Кто подскажет нет ли где списка создавания вещей в НВН с помощью реагентов (тока это не способность перса а так у колдуньи одной можно в сундуке специальном сделать( соединить там например брюхо жука+ череп гаргульи+малахит ну что-то по типу этого!))
Извините что не в тему просто не знаю где ещё такой вопрос можно задать!
Это тебе на RPGPlanet...
QUOTE (elf-demon @ Nov 2 2004, 19:43) |
Народ!!!!!!!! Кто подскажет нет ли где списка создавания вещей в НВН с помощью реагентов (тока это не способность перса а так у колдуньи одной можно в сундуке специальном сделать( соединить там например брюхо жука+ череп гаргульи+малахит ну что-то по типу этого!)) Извините что не в тему просто не знаю где ещё такой вопрос можно задать! |
Aiwan Aiwan
Нету там такого!!!=(
Некромес
Да!! У колдуньи! В прохождении сказно что в шкафу свиток лежит и в нём написано, но я не магом играю а войном!! И свитка нету!! ( хотя может и не из-за того что я воин но всё равно нету!)
Ну, мля, это у Элтуры,да? Вообще-то там свиток появляется тока када ты принесешь какую либо книгу Иммаскарана . И в любом случае там надо накладывать какое-либо заклинание, типа кислотной стрены Мельфа.
Поэтому там тебе ниче не светит. Я тож за воина\Черного Стража играл.
Но как же мне сказал другой чел( он давно проходил) что воин тоже может создать...
QUOTE (elf-demon @ Nov 2 2004, 21:27) |
Но как же мне сказал другой чел( он давно проходил) что воин тоже может создать... |
Так там не надо колдовать по моему! Тока ложишь реагенты в этот сундук а он всё сам делает! Кстати книги все 5 ей отдал а внизу вместо свитка во всех шкафах - книги по истории невервинтера.!
QUOTE (elf-demon @ Nov 2 2004, 21:42) |
книги все 5 ей отдал а внизу вместо свитка во всех шкафах - книги по истории невервинтера.! |
Некромес
Блин жалко! Ну ладно.. Спасибо!! Прояснил ситуацию!!
elf-demonпжалста. Наконц-то кому-то помог.
Добрый вечер!
У меня тут несколько вопросов накопилось:
Ситуация номер раз. Необходимо чтобы персонаж (PC, хенчман или NPC), убивший определеного злодея "выполнял" определенную последовательность действий (к примеру):
1. Сразу после решающего удара (закла) падал бы на землю (EffectKnockdown());
2. Пролежав так секунд 5, бросал бы фразу типа: "Какого хера?" (стрингом над головой PC или NPC);
3. Подвергался бы действию какого нибудь закла (например Harm).
Наиболее логично было бы поставить эту последовательность действий на событие OnDeath того самого злодея. Вся соль состоит в том что сакраментальное: "Какого хера?" при этом выводится только при помощи функции FloatingTextStringOnCreature() (такая строчка воспринимается скорее как служебное сообщение типа "Критический удар", хотя я конечно придираюсь ). Конечно можно поставить всплытие этой строчки с задержкой на событие OnCombatRoundEnd для убийцы, однако получается мне придется модифицировать соответствующие скрипты всех возможных убийц (благо в моем случае их немного), а это не совсем красивое решение. К тому же не понятно как в этом случае будет определяться конец раунда, ведь перс будет подвергнут действию эффекта Knockdown. Скрипт уже существует и пашет, только вот ента строчка мне не совсем нравится, вернее ее шрифт.
Ситуация номер два. Есть довольно приличная композиция, которая вполне годится в качестве амбиента. Вся неприятность в том что это песня. Если бы в сети был инструментальный вариант песни такого бы вопроса естественно не возникло. Но увы . Посему у меня вопрос, который вполне может показаться смешным () тем кто хотя бы немного знаком с теорией вопроса.
ВОПРОС: Можно ли стандартный MP3-файл разложить на дорожки и впоследствии лишить композицию текстовой составляющей. Вопрос принципиальный, по сути идея квеста строится на этой самой композиции.
Ситуация номер три. Снимется ли со временем эффект наложенный на PC или его хенча при помощи функции ExtraordinaryEffect(). Отдыхом и диспеллами не снимается, проверено .
1. Чтобы крич сказал фразу - пользуйся коммандой SpeakString. Если событие стоит на OnDeath злодея - заставь убившего его игрока сказать фразу. Получится что то типа AssignCommand(oPC,SpeakString("Какого такого...")); .
Где oPC = GetLastKiller();
2. Скорее всего нельзя :/ Можешь попробовать скачать плагин для WinAmp - Voice Remover, чтобы убрать вокал, а дальше там с записью похимичить.
P.S. А зачем эффект KnockDown если можно ограничится командой PlayAnimation?
QUOTE (Аваддон @ Nov 3 2004, 18:00) |
P.S. А зачем эффект KnockDown если можно ограничится командой PlayAnimation? |
А может у него иммун на нокдауны?;-)
Серхио эээ... Тебе это куда? Если сурьезно то можно глянуть и настроить то что росишь...
QUOTE (Аваддон @ Nov 3 2004, 18:00) |
Можешь попробовать скачать плагин для WinAmp - Voice Remover, чтобы убрать вокал, а дальше там с записью похимичить. |
QUOTE (Аваддон @ Nov 3 2004, 20:51) |
А может у него иммун на нокдауны?;-) |
QUOTE (Aiwan @ Nov 3 2004, 23:42) |
Серхио эээ... Тебе это куда? Если сурьезно то можно глянуть и настроить то что росишь... |
Привет всем!
Вроде стал понимать скрипты на логическом уровне , до этого програмировал лишь в Delphi
У меня вопрос такой :
Как поправит такой баг . Игрок умер , перезаходит и , о чудо! , живой . Я пробовал править своим допотопотным скриптом , который дает вещь при смерти , и если в ooClientEnter скрипт находит такую вещь у игрока , то перемещает его в фугу . Но , во-первых с этим связана уча других багов , например если его реснут , то камень не исчезает . Игрок забывает его вытащить и при следующем заходе оказывается в фуге . Вторая часть бага , если 10<HPs<=0 , то при перезаходе у него восстанавливаются все жизни и спеллы. Как сделать , чтобы такого бага не было, помогите плз!!!
Ага, незабудь еще и спеллы воостанавливаются:)
Старенький скрипт. Написал его _kaa_. Только я боюсь в NwN: HotU спеллов намного больше чем здесь так что число менять придется. Но это уже сам тестируй.
Скрипт для сохранения здоровья и спеллов при перезаходе.
Автор: _kaa_
событие OnClientEnter модуля:
Neverwinter Script Source |
//by _Kaa_ 20.05.30 #include "nw_o0_itemmaker" void main() { object oPC = GetEnteringObject(); object oStore = GetModule(); string sStoreName = GetName(oPC)+GetPCPlayerName(oPC); // =[PC name] + [login name] SetLocalString(oPC,"HP_MyIdString",sStoreName); int iSavedHP = GetLocalInt(oStore,sStoreName); if (iSavedHP != 0) { effect efDamage = EffectDamage(GetMaxHitPoints(oPC)-iSavedHP,DAMAGE_TYPE_MAGICAL,DAMAGE_POWER_ENERGY); ApplyEffectToObject(DURATION_TYPE_INSTANT,efDamage,oPC); } int k,j,nSpells; for (k=1; k < 400; k++) { nSpells = GetLocalArrayInt(oStore,sStoreName+"_spells",k); if (nSpells) for (j=0; j <= GetHasSpell(k,oPC)-nSpells; j++) DecrementRemainingSpellUses(oPC, k); } } |
Neverwinter Script Source |
//by _Kaa_ 20.05.30 #include "nw_o0_itemmaker" void main() { object oPC = GetExitingObject(); object oStore = GetModule(); string sStoreName = GetLocalString(oPC,"HP_MyIdString"); SetLocalInt(oStore, sStoreName, GetCurrentHitPoints(oPC)); int k,nSpells; for (k=1;k<400;k++) { nSpells = GetHasSpell(k,oPC); if (nSpells) SetLocalArrayInt(oStore,sStoreName+"_spells",k,nSpells); } } |
Огромное спасибо !
<small>Добавлено в 23:27</small>
Еще один вопросик , кто-инбудь знает скрипт авто-удаления лута . А то после пяти часов работы шарда накапоивается куча лута и сервер начинает тормозить . Пробовал такой скрипт :
Neverwinter Script Source |
void TrashObject(object obj) { // Check for Plot Flag if (GetPlotFlag(obj)) SetPlotFlag(obj,FALSE); // if this is not a container, just destroy it and we're done if (GetHasInventory(obj) == FALSE) { DestroyObject(obj); } else { object oItem = GetFirstItemInInventory(obj); // destroy everything in the inventory first while (oItem != OBJECT_INVALID) { TrashObject(oItem); oItem = GetNextItemInInventory(obj); } // destroy the container itself DestroyObject(obj); } } void main() { object oArea = OBJECT_SELF; string AreaTag = GetTag(oArea); object oModule = GetModule(); int iItemDropLifeSpan = 20; // iCounterMax must always be greater than iItemDropLifeSpan int iCounterMax = 1000; int iTrashMark = 0; int threads = GetLocalInt(oModule,"GLOBAL_SCHEDULLER_THREADS"); int HEARTBEAT_TIME = GetLocalInt(oModule,"AREAS_COUNT") / threads * FloatToInt(RoundsToSeconds(1)) * GetLocalInt(oModule,"GLOBAL_SCHEDULLER_TIME_ROUNDS"); string sTrashMark = "iTrashMark"; int iCounter = GetLocalInt(oArea, "ItemTrashCounter"); iCounter++; iCounter = iCounter % iCounterMax; if (iCounter == 0) { iCounter++; } // 0 is reserved if (iCounter > iCounterMax) iCounter = 1; // in case when counter reaches limit SetLocalInt(oArea, "ItemTrashCounter", iCounter); object obj = GetFirstObjectInArea(oArea); while (obj != OBJECT_INVALID) { // match based on type first, because comparing int // is faster than string; wrong types don't reach // string comparison string sTag = GetTag(obj); string sName = GetName(obj); // this assumes that every item drop from a monster // comes in a placeable container with a tag name // of "BodyBag"; it seems to be true, but if this // assumption is false, this code needs to be fixed if ((GetObjectType(obj) == OBJECT_TYPE_PLACEABLE) && (sTag == "BodyBag" || sName == "Remains") || (GetObjectType(obj) == OBJECT_TYPE_CREATURE && GetIsDead(obj) && !GetIsPC(obj))) { iTrashMark = GetLocalInt(obj, sTrashMark); if (iTrashMark == 0) { SetLocalInt(obj, sTrashMark, iCounter); } else { int iTimeAlive = 0; if (iCounter >= iTrashMark) { iTimeAlive = iCounter - iTrashMark; } else { iTimeAlive = iCounterMax - iTrashMark + iCounter - 1; } if (iTimeAlive > iItemDropLifeSpan) { if (GetObjectType(obj) == OBJECT_TYPE_CREATURE) SetIsDestroyable(TRUE,FALSE,FALSE); TrashObject(obj); } } } obj = GetNextObjectInArea(oArea); } // SetLocalInt(oModule,AreaTag+"LOOT_INIT_TIMER_DONE",0); } |
Народ - дайте пжалста скрипт лечения у храмовика...Мне в диалоге его выствить надо =)
Чтобы как в сингле Арибет, например, лечила, если ее попросишь.
Очень нужно! У нас из-за этого гильдхол на шарде поставить не можем!
Считайте что вас человек 10 сразу просит!
Народ, как написать скрипт на движение камеры?
Ну, например, чтоб она крутилась вокруг PC?
http://www.wrg.ru/forums/index.php?showtopic=388
Скачивай и читай.
QUOTE (Wereman @ Nov 9 2004, 07:32) |
Народ - дайте пжалста скрипт лечения у храмовика...Мне в диалоге его выствить надо =) Чтобы как в сингле Арибет, например, лечила, если ее попросишь. |
Полностью и бесплатно
Вобщем нужен скрипт, чтоб в разговоре при фразе например: "Я слаб, вылечи меня" с перса снимались все вредные эффекты, полностью востанавливалисб хитпоинты и было это бесплатно...
Очень прошу, необходимо...
Все уже, не нало...
Надо! =)
На всякий пожарный... :)
Господа и дамы! Ситуация: НПС, который ко мне присоединился имеет все скрипты хенчмена, однако, пока не нажмешь на кнопку "Следовать" в окне персонажа - стоит не месте и смотрит на меня влюбленным взором.
Вопрос: Какой скрипт нужен и нужен ли, чтобы он следовал за мной без напоминаний. Заранее благодарю за ответы.
Айван: Лютина, давай в одной теме один вопрос. Не стоит дублировать. Я все читаю. И не только я
п.с. В теме про хеньчмана я ответил.
QUOTE |
Полностью и бесплатно |
QUOTE |
Надо! =) На всякий пожарный... |
Neverwinter Script Source |
#include "nw_i0_plot" void main() { object oPC = GetPCSpeaker(); int iHP =GetMaxHitPoints(); effect eHeal = EffectHeal (iHP); effect eHealVis = EffectVisualEffect (VFX_IMP_HEALING_X); ActionCastFakeSpellAtLocation(SPELL_HEALING_CIRCLE,GetLocation(oPC)); DelayCommand (2.0,ApplyEffectToObject(DURATION_TYPE_INSTANT,eHeal,oPC)); DelayCommand (2.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eHealVis,oPC,10.0)); DelayCommand (2.0, RemoveEffects(oPC)); } |
Прошу прощения, если такой вопрос уже был, кто- нибудь может мне помочь со скриптом, чтобы нпс узнавал игрока при разговоре с ним второй раз? (Будет говорить что- нибудь типа "а, это вы. Мне больше нечего вам сказать":) )
Zik , ты в скриптах чуть чуточку понимаешь? Надеюсь да. Тогда скажу так. Создай две ветки диалога - одну для первого разговора, другую для повторного. При первом разговори в конце диалога скриптом задай игроку локальную переменную (там в диалоге есть такая закладка Actions). А на вторую ветку диалога поставь в закладку "текс появляется:" и поставь проверку на эту переменную. Если она уже задана то активизируется вторая ветка диалога... Эмм... Понятно надеюсь? Если что - спроси объясню на пальцах:)
Zik Почитай мою статью на сайте в PDF. Там это есть.
Все понятно, благодарствую
Здравствуйте все,помогите разобратся как сделать так чтобы при вхождении игрока модуль ему выдавался заданый инвентарь(подстилка еда золото и тд), при этом чтобы не каждый раз, вошел-вышел получил вещи, а только один раз на каждого чара
Спасибо
Лито Привет!
Посмотри в базе скриптов пожалуйста. Я сам не могу инет тормозной Там должен быть скрипт на удаление инвентаря. Немного подкорректируешь и все. А что бы не было многоразового использования, это надо вешать локалку на чара. А это чуть выше написано что и как
QUOTE (Aiwan @ Nov 11 2004, 22:46) |
А что бы не было многоразового использования, это надо вешать локалку на чара. |
Аваддон, спасибо за скрипт лечения, что выше был. :)
Между прочим, у меня ещё вопрос появился. :)
Вопрос: Как делаются на шардах сундуки, в которых можно хранить вещи не опасаясь рестарта? Если кто-нибудь подскажет скрипт, буду очень благодарна. :) Но в большей мере меня интересует "технология" подобных сундуков... Если я правильно понимаю, нужно где-то хранить информацию о положенных в сундук вещах? Я слышала что-то про базы данных и про привязку вещей к игроку... Но не очень поняла, что к чему. Плюс, мне хочтся узнать, какие проблемы возникают при использовании таких сундуков? Например, не разрастётся ли от этого база данных или не отяжелеет ли чар? :) Какие ограничения тут есть или какие ограничения чаще всего делают на шардах? :)
Не нашел в базе ничего , думал хоть с переменными разбирусь, так Аваддон говорит что они в онлайне не работают,а без начального инвентаря на шарде никуда,сижу теперь побитый
2fali : Для справки -- в любом сундуке максимально 25 закладок (страниц) может быть. Проверял сам. Так что слишком отяжелеть чар не сможет
У меня, дополнение к вопросу fali : как в таком сундуке хранить сумку с каким-то содержимым. Не опустеет ли сумка после рестарта ?
2 Лито А если при первом заходе чара выдать ему какойнить невыкидываемый предмет, например книгу правил или еще чтото в том же духе? А при следующем заходе проверять именно наличие этого предмета.
Baal как не смешно все упрается в реализацию, я конечно могу сделать так чтобы книжку, хелпер там и тд,выдавали при заходе игрока, но как сделать проверку и чтобы это выдавалось один раз не представляю...
Распишите все пожалуйста если не трудно
На всякий случай напишу предметы которые хочу выдать игроку: подстилка еда н-количества золота н-количества, хелпер
хм... так тебе нужен скрипт?
Вот могу посоветыввать так:
Neverwinter Script Source |
void main() { object oPC; // PC сам определишь как тебе надо object oBook=GetItemPossessedBy(oPC, "ТЭГ_КНИГИ"); if(!GetIsObjectValid(oBook))// выполнить только если книги еще нет { object oItem = GetFirstItemInInventory (oPC); while(GetIsObjectValid(oItem)) { DestroyObject(oItem); // удаление вещей из инвентарЯ oItem = GetNextItemInInventory (oPC); } int i=0; while(i<14) { DestroyObject(GetItemInSlot(i, oPC)); // удаление вещей из слотов i++; } CreateItemOnObject("РЕСРЕФ_КНИГИ", oPC); CreateItemOnObject("РЕСРЕФ_ПЕРВОГО_ПРЕДМЕТА", oPC); CreateItemOnObject("РЕСРЕФ_ВТОРОГО_ПРЕДМЕТА", oPC); // и т.д. создавай что тебе нужно } } |
спасибо большое , и еще уточнение, это надо в ClientEnter вставлять, правильно?
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)