![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#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 Раса: Человек ![]() |
Как сделать так что бы комп сам раскидал заклинания по книге ?
|
![]()
Сообщение
#3116
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
скорее всего никак.
|
![]()
Сообщение
#3117
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
можно с помощью скриптов убирать классы совсем? (например был 1 виз\1кл, убираю все до 1го уровня, кто остается виз или кл?)
|
![]()
Сообщение
#3118
|
|
Отверженный ![]() ![]() ![]() ![]() Класс: Теневой Танцор Характер: Neutral Good Раса: Баатезу ![]() |
Кто был сперва, тот и будет. У каждого игрового персонажа (насчёт монстров не знаю) есть "история левелапов".
|
![]()
Сообщение
#3119
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
как в скрипте прервать чертово сиденье на стуле! Я уже над этим скриптом бьюсь 2 недели и пока нифига не получается. Уже прям смешно становится. То сначала ПЦ не бегал по тригерам, то бегл но не болтал, то не садиося на стул, то садится но каст сцена не заканчивалась, а теперь и ходить отказывается, а бегает. (IMG:style_emoticons/kolobok_light/smile.gif) ) Право, смешно и обидно. Но в этом есть громадный плюс! 2 недеди долбания и ковыряния этого скрипта не прошли даром. много было понятно и уяснено (IMG:style_emoticons/kolobok_light/smile.gif)
Но все таки помогите: как сделать что бы кастсцена прервалась, когда ПЦ сел настул и прошла актионпауза 3 секунды. И почему эффект слоу не работает? (Скрипт все тот же (IMG:style_emoticons/kolobok_light/smile.gif) ПС: простите, я наверное всех уже запарил, но к кому же мне еще обратится а?! |
![]()
Сообщение
#3120
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
ВСе, скрипт, заработал! УРА!!!!!! (IMG:style_emoticons/kolobok_light/smile.gif) только вот эфект хотьбы не работает, бегать ПЦ, сволоч, нравится.
ДОП.ВОПРОС: как с кастсцене поставить скриптом камеру, чтобы она находилась не сверху и не сбоку, и горизонтально, тоесть что-то типа вид от третьего лица но, камера смотрит в газа ПЦ максимально от него удалена. И при этом работает в таком режиме до конца кастсцены. я длеаю (180.0, 20.0, 50.0) вроде бы 180- в горизонт, (если начертить себ таблицу градусов), 20--макс. удаление, а 50- угол наклона камеры--должно смотреть -- в глаза а получается черте как. СОС! |
![]() ![]() |
Текстовая версия | Сейчас: 31st July 2025 - 11:27 |