![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3091
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
понятно. В целом - ничего особенно сложного.
|
![]()
Сообщение
#3092
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
а какой скрипт вы ставили на деревья в ПЛ--там где дровосеки (по дороге на Верхний Хаспур) рубят деревья? после дестроя они(деревья) превращаются в поленья, которые потом можно было бы поднять.?
Я шарился по этим деревьям и в письменах ничего не нашел. можете ывложить такой скрипт? |
![]()
Сообщение
#3093
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
странно, вроде как там должны быть все скрипты. Посмотри на всякий случай скрипты дровосеков самих, возможно работу с деревьями я зашил в них.
|
![]()
Сообщение
#3094
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
ок, спс вечером посмотрю. Если не найду, можешь выложить такой скрипт, Лекс? А то я пока не могу такое написать--знаний не хватает (IMG:style_emoticons/kolobok_light/sad.gif)
ПС: еще такой вопросик не по теме. почему нельзя открыть сходу два тулсета, например версии 1.32 и 1.68 или 1.66--не важно. у меня не открывается (IMG:style_emoticons/kolobok_light/sad.gif) сори за "невтемный" вопрос. Сообщение отредактировал serafim - Apr 22 2009, 15:26 |
![]()
Сообщение
#3095
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Есть патч, который позволяет это сделать, но при этом надо запускать тулсеты из разных инсталляций НВН (т.е. из разных папок).
|
![]()
Сообщение
#3096
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
нашел эти скрипты. сенкс.
но появилась проблемка. Я хотел сделать так: рубаешь дерево--повляеться срубаное дерево (это получилось); потом рубаешь срубаное дерево и появляються поленья (это тоже получилось). Но беда вот в чем--скрипты я пока недопонимаю, поэтому делаю методом компилирования и "тыка" (IMG:style_emoticons/kolobok_light/smile.gif) Когда ты рубаешь дерево--только после его разрушения появляеться срубленое дерево, а когда ты рубаешь струбленое дерево--только после его дестроя должны появится поленья. А у меня при каджом ударе по срубленому дереву появляются поленья. Че за фиговина? скрипт я вставлял в срубленое дерево тотже, что стоит на деревьях в ПЛ (дорога на вехний Хаспур), только поменял названия "ресрефа" поленьи. А получаеться такая ерунда. что делать? Сообщение отредактировал serafim - Apr 23 2009, 09:51 |
![]()
Сообщение
#3097
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
А у меня при каджом ударе по срубленому дереву появляются поленья. Че за фиговина? скрипт скорее всего стоит на onDamage. А описанное тобой - "на уничтожение". Те надо ставить на onDeath. Только там нюансов много. Вообще удаленно, не видя скриптов, помочь сложно. Я про это тебе уже говорил. |
![]()
Сообщение
#3098
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
точно! промограл ! СПс Лекс! так хрен знает когда бы заметил (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#3099
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
ребята, хелп (IMG:style_emoticons/kolobok_light/smile.gif) (в который раз(IMG:style_emoticons/kolobok_light/smile.gif)
Короче, писать скрипты пока еще не умею, делаю все методом тыка и компилирования. мне нужен был скрипт такого рода: Игрок наступает на тригер--запускаеться кастсцена, такого рода: Игрок подходет к месту №1--на ходу произносит фразу; Дальше, подходит к месту №2--на ходу произносит фразу; Дальше, подходит к месту №3-- садится на стул и произносит фразу после паузы; После чего режим каст сцены исчезает. Вот такое у меня детище получилось. Сразу гворю--- НЕ РЖАТЬ (IMG:style_emoticons/kolobok_light/smile.gif) я обьясняю, что ПОКА, мастерством написания скриптов не владею. НЕдавно 2 дня изучал 2да файлы, что бы подобавлять свои текстуры, фото и тому подобное. теперь пришла пора непосредственно более сеьезно изучать Тулсет и скрипты... А, еще мне бы хотелось что бы в скрипте игрок не бежал как лошадь а нормально ходил. Какая это функция я не вьехал. понял что-то типа ка инвиз, который накладывается на игрока в каст сцене, а потом снимается. Так вот посмотрите что есть что, исправте пожалуйста и допишите, пожалуйста. СПС. ВОТ: Neverwinter Script void main()
{ object oPC = GetEnteringObject(); // Берем того, кто наступил на триггер object oChair = GetObjectByTag("Chair_cast_01"); object oWP_1 = GetWaypointByTag("WP_cast_01"); object oWP_2 = GetWaypointByTag("WP_cast_02"); object oWP_3 = GetWaypointByTag("WP_cast_03"); if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1) return; { SetLocalInt(OBJECT_SELF, "TRIGGER", 1); SetCutsceneMode(oPC); AssignCommand(oPC, ClearAllActions()); ActionDoCommand(AssignCommand(oPC, ActionMoveToObject(oWP_1))); ActionDoCommand(AssignCommand(oPC, SpeakString("Бла-бла-бла..."))); ActionWait(3.5); ActionDoCommand(AssignCommand(oPC, ActionMoveToObject(oWP_2))); ActionDoCommand(AssignCommand(oPC, SpeakString("Тра-ля-ля..."))); ActionWait(2.5); ActionDoCommand(AssignCommand(oPC, ActionMoveToObject(oWP_3))); AssignCommand(oPC, ActionSit(oChair)); ActionWait(1.5); ActionDoCommand(AssignCommand(oPC, SpeakString("Трам-тара-рам"))); ActionDoCommand(AssignCommand(oPC, ActionDoCommand(SetCutsceneMode(oPC, FALSE)))); } } Сообщение отредактировал serafim - Apr 27 2009, 11:28 |
![]()
Сообщение
#3100
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Все действия записаны на триггер... А нужно на героя. С игроком что-то сделать посредством скриптов у тебя явно не получится! (IMG:style_emoticons/kolobok_light/biggrin.gif)
Тебе нужно создать команды для героя, т.с. последовательный стой акций. Вообще оператор ActionDoCommand нужен для создания акции из нужной функции, а вот просто с акцией не стоит его использовать... Чтобы герой не застрял на точках, тут нужна другая функция ActionForceMoveToObjec значение (FALSE –идти TRUE – бежать) дальше расстояние fRange подхода до точки, дальше время fTimeout, после чего НПС прыгнет на нужную точку… // Force the action subject to move to oMoveTo. void ActionForceMoveToObject(object oMoveTo, int bRun=FALSE, float fRange=1.0f, float fTimeout=30.0f) Функция SpeakString есть и как акция - ActionSpeakString. Логичней использовать её... Чтобы герой остановился при входе на триггер нужно прописать так: AssignCommand(oPC, ClearAllActions(TRUE)); Иначе он будет бежать по инерции до точки клика... |
![]()
Сообщение
#3101
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
Мда... половины конечно не понял... ну буду копатся дальше.
И вопрос, а как это ставить на игрока скрипт???? |
![]()
Сообщение
#3102
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Тут есть две сложности...
Первая - это герой не слушается функции, поэтому если так уж нужна именно ходьба. то вешаем эффект... Вторая - это акция сидения, т.е. после неё команды более не будут исполнятся, поэтому нужно их переложить на триггер. Вот тут и нужно использовать оператор ActionDoCommand. Что получим в итоге: Neverwinter Script // СНЯТЬ ЭФФЕКТ
// int iOne - EFFECT_TYPE_... void DelOneEffectOnPC(object oObject, int iOne) { effect eEffect = GetFirstEffect(oObject); while (GetIsEffectValid(eEffect)) { if (GetEffectType(eEffect) == iOne) RemoveEffect(oObject, eEffect); eEffect = GetNextEffect(oObject); } } /////////////////////////////////////////////////////////////////////////////// void main() { object oSelf = OBJECT_SELF; object oPC = GetEnteringObject(); // Берем того, кто наступил на триггер object oChair = GetObjectByTag("Chair_cast_01"); object oWP_1 = GetWaypointByTag("WP_cast_01"); object oWP_2 = GetWaypointByTag("WP_cast_02"); object oWP_3 = GetWaypointByTag("WP_cast_03"); effect eSlow = EffectSlow(); if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1) return; SetLocalInt(OBJECT_SELF, "TRIGGER", 1); SetCutsceneMode(oPC); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSlow, oPC); //СТРОЙ АКЦИЙ ДЛЯ ГЕРОЯ AssignCommand(oPC, ClearAllActions(TRUE)); AssignCommand(oPC, ActionForceMoveToObject(oWP_1, FALSE, 1.0, 10.0)); AssignCommand(oPC, ActionSpeakString("Бла-бла-бла...")); AssignCommand(oPC, ActionWait(3.5)); AssignCommand(oPC, ActionForceMoveToObject(oWP_2, FALSE, 1.0, 10.0)); AssignCommand(oPC, ActionSpeakString("Тра-лe-лe...")); AssignCommand(oPC, ActionWait(2.5)); AssignCommand(oPC, ActionForceMoveToObject(oWP_3, FALSE, 1.0, 10.0)); AssignCommand(oPC, ActionDoCommand(DelOneEffectOnPC(oPC, EFFECT_TYPE_SLOW))); //СТРОЙ АКЦИЙ ДЛЯ ТРИГГЕРА AssignCommand(oPC, ActionDoCommand(AssignCommand(oSelf, ActionWait(1.5)))); AssignCommand(oPC, ActionDoCommand(AssignCommand(oSelf, AssignCommand(oPC, SpeakString("Трам-тара-рам!"))))); AssignCommand(oPC, ActionDoCommand(AssignCommand(oSelf, ActionWait(1.5)))); AssignCommand(oPC, ActionDoCommand(AssignCommand(oSelf, ActionDoCommand(SetCutsceneMode(oPC, FALSE))))); //СТРОЙ АКЦИЙ ДЛЯ ГЕРОЯ AssignCommand(oPC, ActionSit(oChair)); } Сообщение отредактировал gennady - Apr 27 2009, 14:25 |
![]()
Сообщение
#3103
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
Ген, спасибо огромное. теперь все ясно.
Этот скрипт поможет мне в дальнейшем ... Вы все тут Гении скриптинга, что тут скажешь(IMG:style_emoticons/kolobok_light/smile.gif) ... А вот вопрос, как долго ты Ген, и все остальные изучали скрипты чтоб вот так как два пальца ... их щелкать. Так, чистое любопытсвтво (IMG:style_emoticons/kolobok_light/smile.gif) еещ раз СПС. ребят, а как вы в ПЛ сделали масштабную карту передвижения?? какие графические редакторы и тому подобное?? |
![]()
Сообщение
#3104
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
- 3д макс - создание основы для карты
- прописывание нового тайлсета (в котором 1 групповой тайл - основа карта) - куча плейсов - элементы карты (деревья, горы, города) - скрипты в невышдшем Пути все то же самое, только скрипты другие. Свободное перемещение между любыми точками карты, стычки и тд. |
![]()
Сообщение
#3105
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
не фурычат вот эти три функции:
Neverwinter Script AssignCommand(oPC, ActionForceMoveToObject(oWP_1, FALSE, 1.0, 10.0)); AssignCommand(oPC, ActionForceMoveToObject(oWP_2, FALSE, 1.0, 10.0)); AssignCommand(oPC, ActionForceMoveToObject(oWP_3, FALSE, 1.0, 10.0)); пишет: переменная без определенного типа. Что это? как это исправить? (IMG:style_emoticons/kolobok_light/smile.gif) СПС! |
![]()
Сообщение
#3106
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Выкладывать надо весь скрипт целиком.
Очевиднр, oWP_1,2,3 не определены. |
![]()
Сообщение
#3107
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
Вирусмен,
скрипт выложен Геной, он на три поста выше (IMG:style_emoticons/kolobok_light/smile.gif) то что oWP_1,2,3 --неопределены я то понял. а что это значит? и как решить эту проблему?--нет. |
![]()
Сообщение
#3108
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
АУ!!!!!
помогите, плиззз. |
![]()
Сообщение
#3109
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
всё прекрасно компилируется:
Код 29.04.2009 19:41:19: 0 Errors. 'test' compiled successfully мб ты что-то менял? |
![]()
Сообщение
#3110
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
Да, в том то и дело, что ничего не менял.
Если я убираю в команде-- иди к обьекту oWP_1,2,3-- время то, все идет нормально, тольк персонаж скачет галопом, а вебпоинтах останавливается, а мне этого не нужно. Ладно, пороюсь еще, ведь пока сам недогоню, ничего же сделать несмогу. СПС всем! |
![]()
Сообщение
#3111
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
скрипт наконец заработал. просто не поставил одну функцию. но вот беда, на персонажа ефект замедления не действует. Если отключить режим кастсцены то пишет-- РС иммунен к замедлениею. Что за фигня??? Как только что сделанй РС 1-го уровня обладает иммуном к замедлениею?? (скрипт лежит выше--Гены).
И еще РС садится на стул и непроизносит третью фразу, а просто сидит и кастсцена продолжается, приходится выбивать игру. (IMG:style_emoticons/kolobok_light/sad.gif) И еще: я смотрел в ПЛ, функции игрока в срипте (например кастсцена Воин Орды), сторится на DelayCommand. Я так понял эта команда влияет на игрока и НПС, а не на триггер. может через нее попробовать? |
![]()
Сообщение
#3112
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
И еще РС садится на стул и непроизносит третью фразу, а просто сидит и кастсцена продолжается, приходится выбивать игру. sad.gif свойство функции ActionSit. Акция не заканчивается сама, соотв. все что за ней - не будет работать пока ты сам сиденье не прервешь. Частично решается через привязку акций на другой объект. Но учти, что во время сиденья РС мало что может сделать. Говорить - пожалуй единственное приличное дейсво. Только делать его нужно в этом случае через SpeakString с нужными задержками. ActionSpeakString по вышеуказанным причинам не сработает. DelayCommand ни на что не влияет. Она фактически задержка для функции. В сложных роликах где неполучается обойтись стеком акций, приходится прибегать к этой функции для синхронизации действий. |
![]()
Сообщение
#3113
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Всем привет
нужен скрипт на подобии того, что в самом начале HotU Персонаж автолевелиться до определнного уровня в соответствии со своей специальностью (в нашем случае маг с 1 до 40) И еще вопрос: предположим перед автолевелом я сбрасываю лвл до 1 и потом уже автолевелюсь до 40го, можно посредством скриптов добавить мультикласс? Зарнее благодарю Цитата И еще вопрос: предположим перед автолевелом я сбрасываю лвл до 1 и потом уже автолевелюсь до 40го, можно посредством скриптов добавить мультикласс? предположим я сбросил маша с 15го до 1го и мне нужно его проавтолевелить, можно сделать так: 5 маг 35 жрец |
![]()
Сообщение
#3114
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Neverwinter Script // Levels up a creature using default settings. // If successfull it returns the level the creature now is, or 0 if it fails. // If you want to give them a different level (ie: Give a Fighter a level of Wizard) // you can specify that in the nClass. // However, if you specify a class to which the creature no package specified, // they will use the default package for that class for their levelup choices. // (ie: no Barbarian Savage/Wizard Divination combinations) // If you turn on bReadyAllSpells, all memorized spells will be ready to cast without resting. // if nPackage is PACKAGE_INVALID then it will use the starting package assigned to that class or just the class package int LevelUpHenchman(object oCreature, int nClass = CLASS_TYPE_INVALID, int bReadyAllSpells = FALSE, int nPackage = PACKAGE_INVALID) в помощь. |
![]()
Сообщение
#3115
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Как сделать так что бы комп сам раскидал заклинания по книге ?
|
![]() ![]() |
Текстовая версия | Сейчас: 6th May 2025 - 23:47 |