Помощь - Поиск - Пользователи - Календарь
Полная версия: ОДИНОЧНЫЙ ВОПРОС
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68
Lex
QUOTE (Dik Morris @ Oct 23 2005, 22:23)
ActionDoCommand

лишнее.
QUOTE (Dik Morris @ Oct 23 2005, 22:23)
Как пс обозначить

QUOTE (Dik Morris @ Oct 23 2005, 22:23)
фаллТоОпен

QUOTE (Dik Morris @ Oct 23 2005, 22:23)
GetLastOpenedBy()

неа.. он же ее не откроет.
GetLastUsedBy()
+ проверка на то, что это игрок GetIsPC()

Вообще говоря то, как определить игрока в разных местах модуля, имхо, должен знать каждый, кто притендует на скриптера. Это МИНИМУМ.
Nashman
Тоесть если я правельно понял то struct представляет из себя масив переменных разного типа? А где его можно исползовать?
Lex
не массив, так как индексации порядковой нет.
Структура она и есть структура.
QUOTE (Nashman @ Oct 24 2005, 00:21)
А где его можно исползовать?

ну если тебе не надо, не юзай. В обычных скриптах используется крайне редко.
AliceDiren
Lex, sorry, не подумала blush.gif
Nashman, самый простой пример использования структур - это описание NPC. Имя, возраст, класс, раса и т.п. Все это можно скомпановать в одну структуру, описывающую основные характеристики персонажа.
А вообще - зачем использовать структуры, если не знаешь куда ее применить?
Nashman
QUOTE
А вообще - зачем использовать структуры, если не знаешь куда ее применить?
Я просто перевожу Лексекон(Уматовая тема!!!), и из того что перевел, про структуру сразу мало что понял. crazy.gif .
А так я только сегодня першел от графики к скриптам. Так что это еще не первый туп... неразумный вопрос...

ПС: AliceDiren Спасибо!!! Ты мне идею подкинула.... good.gif
Вишес
Скажите кто нибудь пожалуйста, можно ли заставить персонажа ударить по пустому месту? Т.е. можно ли сделать анимацию удара?
Lex
поставь там нивидимый объект и заставь игрока его молотить.

Анимация, что как-то очень отдаленно напоминает бой это ANIMATION_LOOPING_TALK_FORCEFUL
Вишес
QUOTE
поставь там нивидимый объект и заставь игрока его молотить.

Такое решение мне в голову приходило. Но тогда мне надо, чтобы невидимый обьект появлялся прямо перед персонажем. Не просто рядом - а именно перед его носом. Можно ли это сделать скриптом?
dumbo
QUOTE (-fenix- @ Oct 23 2005, 21:25)
Функция не может быть переменной struct

это ты неправильно перевел. оригинал:
QUOTE
These are C-style structs, so you can't have member functions

сие означает, что внутри структуры не может быть полей-функций(в отличие от С++, где структуры практически не отличаются от классов).
а отдельно взятая функция может иметь тип struct. пример, дополняющий твой перевод:
Neverwinter Script Source
struct MyStruct MyStructFunction(int nA, float fB)
{
  struct MyStruct stResult;
  stResult.a = nA;
  stResult.b = fB;
  return stResult;
}
_kaa_
Как раз результат фукнции как структура наиболее интересен в nss, где пока нельзя вернуть массив как результат функции. Структура позволяет вернуть за раз более одного параметра, что часто бывает нужно. Тот же тип vector - и есть структура, частный случай.
Правда все преимущества перечеркиваются отсутствием функции SetLocalStruct() sad.gif
Chimeric
Пардон за вторжение грязными ногами в диспут ученых программистов, но хотелось бы узнать, как устроить личную музыкальную тему персонажу? Например, при разговоре с Арибет, Арином Гендом и прочими вальяжными неписями в оригинальной кампании NWN основная музыка зоны плавно, но быстро сменяется подобранной по фигуре мелодией, так же и возвращаясь по завершении беседы.
dumbo
прописать музыку в ambientmusic.2da(либо выбрать там подходящую), запомнить id, ей соответствующий(первый столбец в 2da) и вставить в скрипт(где-нибудь в начале диалога) вызов функции PlayCharacterTheme(int nTheme):
Neverwinter Script Source
#include "nw_i0_plot" // <- важно! (PlayCharacterTheme())
void main()
{
  PlayCharacterTheme(51); // mus_theme_aribgd - Aribeth Theme 1
}


когда нужно будет вернуть игравшую до этого музыку, сделать:
Neverwinter Script Source
#include "nw_i0_plot" // <- важно! (PlayOldTheme())
void main()
{
  PlayOldTheme();
}


и ваши ноги будут мягкими и шелковистыми! (а главное - чистыми wink.gif
Vanes
QUOTE
Структура позволяет вернуть за раз более одного параметра, что часто бывает нужно.

что еще важнее, так это то, что структура позволяет возвращать параметры разных типов...
например в свой системе лута я использую такую структуру:
CODE
struct stItemProperty
{
   int n;
   itemproperty ip;
   int subgrp;
   int price;
   string s;
   int nGC;
   int nGM;
};

без структуры мне бы пришлось делать минимум 3-4 таблицы, а так все в одном месте - жутко удобно...
Nashman
Привет,
Жители форума, нужна ваша помощь. Короче проблема состоит вот в чём:
- При создании тайлсетов – они не работают. Пробовал ВСЕ, ну может быть почти ВСЕ, и всеравно не работает. Где проблема не могу разобраться. И по этому прошу ПОЖАЛУЙСТА сделайте мне файлы что бы когда я их запихну в хак-пак они работали. В смысле тайлсеты.


helvene
QUOTE (Nashman @ Oct 25 2005, 17:58)
И по этому прошу ПОЖАЛУЙСТА сделайте мне файлы что бы когда я их запихну в хак-пак они работали. В смысле тайлсеты.

lol.gif
Смеялась. А работающий модуль вам сделать не надо?
Nashman
QUOTE
Смеялась. А работающий модуль вам сделать не надо?
ХА ха ха!!!
Где как не в СССР могут возникнуть такие вопросы. Может денег заплатить? Ужас!!!
Форум создан что бы брать советы и что бы давать их. Но так, как у меня не тот уровень знаний что бы их давать то пока я прошу.

ПС: Вот так вот... aggressive.gif
Добавлено в [mergetime]1130272594[/mergetime]
Хотя не только СССР, я извеняюсь, в США тоже.

ПС: Вот за что я люблю КАНАДУ!!!!
Lex
не смешно, Nashman.
QUOTE (Nashman @ Oct 25 2005, 18:58)
сделайте мне файлы что бы когда я их запихну в хак-пак они работали. В смысле тайлсеты.
ты хоть представляешь, что это такое?
Посмотри любой тайлсет. Это сотни моделей, текстуры и еще пара файлов. Думаешь такое тяп ляп и готово? В России, насколько я знаю, не ни одного собственного тайлсета. (доделаного до конца).
так что просить "сделайте мне тайлсет" это просто смешно.

QUOTE (Nashman @ Oct 26 2005, 00:35)
Форум создан что бы брать советы и что бы давать их.

Совет дать могу: используй готовое. Если не можешь, то бросай это и делай то, что можешь. Или ищи помощников.

Но совет и "сделайте мне" вещи малек разные, ты не находишь?
Добавлено в [mergetime]1130273177[/mergetime]
QUOTE (Nashman @ Oct 25 2005, 18:58)
При создании тайлсетов – они не работают. Пробовал ВСЕ, ну может быть почти ВСЕ, и всеравно не работает. Где проблема не могу разобраться.

из того набора слов я не смог понять НИЧЕГО.

- что ты пытаешься сделать?
- что не работает?
- что ты пробовал?
Nashman
QUOTE
Но совет и "сделайте мне" вещи малек разные, ты не находишь

Lex, я не правельно(наверное выразился). Я имею в ввиду, что когда я создаю по туториалу свои ланшафты, то они НЕ работают, я прочитал несколько таких статтей и все без толку, я ведь не хочу что бы мне моели делали, я это сам умею, а например:
одну дверь, одник кусок пола и ВСЕ!!! Я даже делая по статейке где-то за минут 15-10 зделал бы, но они не работают.

ПС: Надеюсь быть понятым или понятным... неважно... надеюсь мысль поняли. swoon.gif
helvene
QUOTE (Nashman @ Oct 25 2005, 23:35)
Где как не в СССР могут возникнуть такие вопросы.

Ой! путешественник во времени!

Nashman, что у вас с русским языком? Если вы думаете, что из вашего описания хоть что-то понятно...

QUOTE (Nashman @ Oct 25 2005, 23:49)
Я даже делая по статейке где-то за минут 15-10 зделал бы, но они не работают.

Делали или сделали бы?

QUOTE (Nashman @ Oct 25 2005, 23:49)
я это сам умею, а например: одну дверь, одник кусок пола и ВСЕ!

Ну, немного, но все равно похвально.

В каком месте не работает-то?

В чем тестировали, на каком этапе ошибка?
Nashman
QUOTE

В каком месте не работает-то?
Не знаю, но думаю неправельно или ІТР или set, хотя может быть и сама модель не правельная. Хотя два файла и создается woc и mdl.
Но при загрузке хакпака ошибки НЕТ! Так, как я еще никогда такого не делаал, то для меня трудно понять где ошибка, вот я прошу...ПЛС!!!

QUOTE
Ой! путешественник во времени
Получается, значит путишествую. biggrin.gif

После увиденого появился вопрос: Зачем в оригинальных мдл(ах) есть какая-то непонятная(мне) хрень в виде корпуса такая серая из себя?

ПС: Даже мне смешно... biggrin.gif
mamuc
..мдя ..почитал я тут выше изложеные излияния на тему " все плохо, ничего не так как хочу я..значит виноваты вы все"...
Nashman ты не первый работаешь с тулсетом ... до того это делали ой ой сколько людей .. и почему то у других получалось, а у тебя нет ...может наконец в зеркало посмотришь, когда виновника своих неудач ищешь ...
... только САМ работая и набирая опыт ( в том числе и на своих ошибках) ты сможешь( если действительно захочешь) прийти нормальному уровню в разработке, причем если САМ разберешся в своих недоделках и криворукотворчестве, то этот опыт наберешь гораздо быстрее....
создаеться такое впечатление, что ты все хочешь очень быстро, сразу и без всякого напряжения и при мизерном минимуме усилий с твоей стороны... и хватаешь сразу то то ,то это и все просто почему то обязано сразу получаться с первого раза.... ну не становяться сразу чемпионом мира за 5 минут - для этого надо и тренироваться и опыт набирать... так делай это , а не веди себя как маленький ребенок...

п.с. и следи за своим языком и письмом пожалуйста..ей богу читать трудно... а точно понять тем более...
Белатрис
А если я создам тригер и в "OnEnter" напишу название диалога, то при входе в тригер будет начинатся диалог?
Lex
куда название диалога? и с кем диалог? С триггером вродь низя. Сам с собой или с НПС.
dumbo
Белатрис,
в OnEnter триггера поставь такой скрипт(введи любое имя для скрипта и нажми Edit):
Neverwinter Script Source
void main()
{
  object oPC = GetEnteringObject();
  if (!GetIsPC(oPC)) return;
  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oPC, ActionStartConversation(oPC, "название диалога", TRUE));
}


edit: елы-палы, опять забыл nss закрыть... теперь умудрился color забыть закрыть... crazy.gif
helvene
QUOTE (Nashman @ Oct 26 2005, 00:40)
Но при загрузке хакпака ошибки НЕТ!

А ее так и не должно быть, если хак ни с чем не конфликтует и нигде не используется.
Кстати, ты абсолютно зря кладешь все файлы для тестирования в хак. Их пожно в оверрайд сложить, и тестирование становится намного легче.

QUOTE (Nashman @ Oct 26 2005, 00:40)
Так, как я еще никогда такого не делаал, то для меня трудно понять где ошибка, вот я прошу...ПЛС!!!

Для начала посмоотри на модели NWN Explorer'ом. Если там порядок - значит, дело в сборке тайлсета.

Кстати, в чем выражается ошибка, ты так и не написал.
Nashman
Короче прозьба снимается... Всем спасибо.

ПС: Сам изучил Делфи - сам изучу и НВН.
helvene
QUOTE (Nashman @ Oct 26 2005, 18:20)
Короче прозьба снимается... Всем спасибо.

ПС: Сам изучил Делфи - сам изучу и НВН

По-моему, если что-то не получается у вас, и вы не в состояние сформулировать, в чем суть проблемы - пенять надо на себя, а не на зеркало. Вам задали наводящие вопросы, вы даже на них толком не ответили.

P.S. Удачи в изучении.

LEX: присоединяюсь. Удачи в изучении.
Клемент Астилон
Сурово вы к парню... yes.gif
А вообще когда нужна помощь, старайтесь правильно сформулировать вопрос. Тогда больше вероятность положительного ответа. В данном случае, уважаемый Nashman, не понятна суть проблемы. Мы не телепаты, мысли не читаем.
Из того что я прочитал считаю что новичку в модуль мейкерстве, не стоит сразу лезть в такие дебри как свои тайлсеты... Для того чтобы правильно подключить тайлсет или просто модель, надо как минимум разбиратся в 2да, итп файлах, сет файлах, самой механике подключения хаков.

Не надо громко хлопать дверью, нужно просто подробнее описывать проблемы.
Как конкретно не работает? Не возможно зайти в модуль? Ничего не видно? Не добавляется в ресурсы тулсета?
Ссылку на сам хак и модуль(если не большой)

Здесь люди всегда готовы помочь, просто не надо психовать на свою ошибку. yes.gif

На будущее - просьба подробно описывать свой вопрос или проблему. diablo.gif
Nashman
Та плохо я пишу по РУсски -ПЛОХО!!!

Объясните пожалуйста некоторые вещи:
1)Для чего нужны расширения файлов(nss(скрипты?), are, gic, git, ncs, utc, ute, ifo, jrl, fac, uti)?
2) Как сделать так, что бы можно было(например в портале) выбрать куда тебе нужно, в какую локацию, или какое –то место на локации?


Dram
Привествую всех жителей форума, поможите начинающему скриптеру? good.gif
Скажите пожалуйста(желательно сначало по проще, а то временами не понимаю я victory.gif ) что за бяка такая и как с ней дружить swoon.gif вот
Neverwinter Script Source
GetUserDefinedEventNumber();
и цифирки 1001 и т.д. поможите...
Лито
Dram
У каждого объекта есть эвенты для скриптов(ну это ты знаешь, я думаюbiggrin.gif), а у каждого эвента есть свой номер.
В эвенте UserDefined, ты можешь заэмулировать любой другой эвент по своему желанию...Как бы получить второй такой же, грубо говоря.
Функция которую ты привел, возвращает номер эвента, который ты заэмулировал.

Могу и ошибаться, сразу предупреждаю.
Dik Morris
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oDJ = GetObjectByTag("DJEREMI");
ActionDoCommand(AssignCommand(oDJ,PlaySound("c_werewolf_bat1")));
ActionDoCommand(ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectPolymorph(POLYMORPH_TYPE_WEREWOLF,FALSE),oDJ));
ActionDoCommand(ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_POLYMORPH),oDJ));
ActionDoCommand(AssignCommand(oDJ,ActionAttack(oPC)));
ActionDoCommand(DestroyObject(OBJECT_SELF));
}

oDJ полиморфится в жуткого монстра - терминатораbb.gif , его характеристики поднимаются очень высоко, появ. много не нужных мне свойств.
Вопрос:
Можно ли, сделать чтобы oDJ полиморфился, но его характеристики оставались прежними? То есть не поднимались?
Nashman
QUOTE
2) Как сделать так, что бы можно было(например в портале) выбрать куда тебе нужно, в какую локацию, или какое –то место на локации

Можно легко. Делаешь диалог с порталом, далее в процессе диалога, можно закинуть игрока на нужный тебе вайпоинт, в нужной локации.
1) Диалог с плейсом
На вкладку onUser (в писменах портала) поставь вот такой скриптик:
Neverwinter Script Source
void main()
{
ActionStartConversation(GetLastUsedBy());
}

Не забуть повесить на плейс нужный диалог.
2) Телепорт игрока.
На вкладку в диалоге (совершены действия)
Поставь вот этот скрипт:
Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
object oWP = GetObjectByTag("ТАГ НУЖНОГО ВАЙПОИНТА");
ActionDoCommand(AssignCommand(oPC,ClearAllActions()));
ActionDoCommand(AssignCommand(oPC,ActionJumpToObject(oWP)));
}

Вроде все.
PS: если разнговор с порталом не нужен, то ставь вот ето на онЮзер портала:
Neverwinter Script Source
void main()
{
object oPC = GetLastUsedBy();
object oWP = GetObjectByTag("");
ActionDoCommand(AssignCommand(oPC,ClearAllActions()));
ActionDoCommand(AssignCommand(oPC,ActionJumpToObject(oWP)));
}

dumdo спасибо. yes.gif
dumbo
QUOTE (Dik Morris @ Oct 27 2005, 13:04)
Можно ли, сделать чтобы oDJ полиморфился, но его характеристики оставались прежними? То есть не поднимались?


Neverwinter Script Source
void main()
{
  object oPC = GetEnteringObject();
  object oDJ = GetObjectByTag("DJEREMI");
  ActionDoCommand(AssignCommand(oDJ,PlaySound("c_werewolf_bat1")));
  ActionDoCommand(SetCreatureAppearanceType(oDJ, APPEARANCE_TYPE_WEREWOLF));
  ActionDoCommand(AssignCommand(oDJ,ActionAttack(oPC)));
  ActionDoCommand(DestroyObject(OBJECT_SELF));
}

Dram
2 Лито.
Получается просто у меня этот скрипт будет идти как HEARBEAT верно? pilot.gif
dumbo
Dram,
почти все стандартные скрипты в слотах объектов проверяют соответствующую слоту настройку(переменную) и в зависимости от нее посылают сигнал, который приводит к запуску скрипта OnUserDefined. т.е. например:
в скрипте OnSpawn непися убираешь комметарий со строки SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT);. теперь стандартный скрипт OnHeartBeat будет вызывать скрипт OnUserDefined с номером события 1001.

также ты можешь сам опосредованно(через вызов SignalEvent) вызывать скрипт OnUserDefined, в котором ты вначале получаешь номер события(заданный при вызове SignalEvent) и в зависимости от оного производишь необходимые тебе действия.

note: более подробную информацию можно узнать в Lexicon'e.
Vhall
QUOTE (Nashman @ Oct 27 2005, 09:10)
1)Для чего нужны расширения файлов(nss(скрипты?), are, gic, git, ncs, utc, ute, ifo, jrl, fac, uti)?

Neverwinter Source Script
AREa
саппорт локи
--"--
Neverwinter Compiled Script
blUeprinT Creature
blUeprinT Encounter

InFOrmation
JouRnaL
FACtions
blUeprinT Item
L33t
Каким образом все-таки изменить цвет тайла? Что за тип данных location? Нифига не получается. У меня есть некая Area, типа баня. Я хочу сделать так, чтобы при открытии двери в комнату в ней зажигался свет. Каким образом это прописывается? Только пожалуйста полностью объясните, как для идиота. Я скрипты, можно сказать, первый раз пишу.
AliceDiren
QUOTE
Что за тип данных location?

Neverwinter Script Source
location loc = Location(objArea, vecPosition, fFacing);

в Лексиконе это подробно описано yes.gif
QUOTE
Каким образом все-таки изменить цвет тайла?

по-моему про это уже писали, но:
есть две функции
Neverwinter Script Source
// Set the main light color on the tile at lTileLocation.
// - lTileLocation: the vector part of this is the tile grid (x,y) coordinate of
//  the tile.
// - nMainLight1Color: TILE_MAIN_LIGHT_COLOR_*
// - nMainLight2Color: TILE_MAIN_LIGHT_COLOR_*
void SetTileMainLightColor(location lTileLocation, int nMainLight1Color, int nMainLight2Color)

и
Neverwinter Script Source
// Set the source light color on the tile at lTileLocation.
// - lTileLocation: the vector part of this is the tile grid (x,y) coordinate of
//  the tile.
// - nSourceLight1Color: TILE_SOURCE_LIGHT_COLOR_*
// - nSourceLight2Color: TILE_SOURCE_LIGHT_COLOR_*
void SetTileSourceLightColor(location lTileLocation, int nSourceLight1Color, int nSourceLight2Color)

после применения этих функций не забудь вызвать
Neverwinter Script Source
void RecomputeStaticLighting(object oArea)

Про включение света. Я бы заранее поставила у стен какие-нибудь светильники, а на двери на OnOpen активировала бы (зажигала бы) их и соответственно на OnClose гасила.
L33t
Ну, допустим. У меня есть некая область с комнатой, и из нее выход в комнату, от которой нужен ключ и которую просто так не видно (для избранных). Я врубаю на всей области нулевое освещение, задаю руками свет тайлов, а в закрытой комнате оставляю все черное. Я пишу скрипт на ОнОпен. Только вот объясните мне, как он должен выглядеть. Я в упор не понимаю, что писать в качестве параметра типа location. Я смотрел Лексикон - нифига там не подробное объяснение (во всяком случае, даже с третьего раза ничего не понял) - три строчки написано про то, какие там должны быть параметры - ни примеров нифига. Как параметр типа location должен выглядеть? Мне б пример кто выложил - вот это было бы дело.
AliceDiren
L33t, самый простой способ функцией
Neverwinter Script Source
// Get the location of oObject.
location GetLocation(object oObject);

Я так понимаю, что в этой комнате у тебя есть хоть какие-нибудь объекты. Бери их координаты и всё dntknw.gif
Например так:
Neverwinter Script Source
// ...
location lTarget = GetLocation(GetNearestObjectByTag("Таг любого объекта в комнате"));
// ...
L33t
Ну ладно, если есть то фигня. А если их нет? Каким образом это сделать?

А еще такая штука: я короче решил не освещать сами тайлы, а повесить в комнате две люстры и на открытие двери вешать их активацию. С этим все в порядке - они включаются и светят. Каким чертом их можно погасить? Функции деактивации объекта я не нашел - в Лексиконе тоже ничего подобного нет.
Nashman
QUOTE
Ну ладно, если есть то фигня. А если их нет? Каким образом это сделать?
Я думаю тебе надо создать что-то невидемое... Но зачем тогда комната, скрытая и в которой ничего нет?





AliceDiren
L33t, Аваддон предлагал вот такой скрипт (честно не помню, в какой теме видела):
Neverwinter Script Source
void main()
{
  object oSelf = OBJECT_SELF;
  if (GetIsDay()==FALSE && GetLocalInt(OBJECT_SELF,"on")!=1)
  {
  SetLocalInt(OBJECT_SELF,"on",1);
  PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
  effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_10);
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oSelf);
  }

  if (GetIsDay()==TRUE && GetLocalInt(OBJECT_SELF,"on")==1)
  {
  SetLocalInt(OBJECT_SELF,"on",0);
  PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
  effect eEffect = GetFirstEffect(oSelf);
  while (GetIsEffectValid(eEffect) == TRUE)
      {
      if (GetEffectType(eEffect) == EFFECT_TYPE_VISUALEFFECT)
          RemoveEffect(oSelf, eEffect);
          eEffect = GetNextEffect(oSelf);
      }
  }
}

Скрипт зажигает фонари, люстры и т.п. по ночам и гасит днем. Если немного доработать, то имхо тебе как раз подойдет. Ставится этот скрипт на OnHeartbeat объекта (в свойствах убери галочку статик).
Dik Morris
Скрипт на onPlayerLevelUp:
Neverwinter Script Source
#include "x0_i0_henchman"
void main()
{
object oS = GetObjectByTag("ТАГ");
LevelUpHenchman(oS);
}

Хенч не поднимает уровень!
PS: скрипт срабатывает если хенчман 1 уровня. Но этот 2.
AliceDiren
Перед тем как спросить я смотрел эту тему. Но как я понял, твой скрипт действует только для мультиклассовых персов, или я ошибаюсь?
А скриптик Айвана почти нечем от моего не отличается.
AliceDiren
Dik Morris, вот здесь есть уже готовые варианты того, что ты делаешь.
Dik Morris, мой работает и для одноклассовых персонажей. Просто он предусматривает возможность поднять уровень и для мультиклассовых. Если будешь его использовать, поставь локальную переменную на хенча ClassToUp = 1, тогда будет подниматься только первый или единственный класс персонажа.
L33t, будласка, всмысле не за что smile.gif
L33t
Данке шон однако!

Та я поняв (я тож оттуда smile.gif)
Белатрис
Как сделать так, что бы фразы которые были при первом разговоре с PC не появлялись во втором(в смыле при втором разговоре)?
Если нужен скрипт то напишите попобробней, где что.
Vhall
QUOTE
********************************************************************************

ВОПРОС
Как заставить НПС говорить подругому в диалоге если игрок уже с ним 1 раз поговорил.

ОТВЕТЫ
Скриптами.
1. d_st_firsttalk
Neverwinter Script Source
void main()
{
SetLocalInt(OBJECT_SELF,"FirstTalk",TRUE);
}


QUOTE

2. d_ch_firsttalk
Neverwinter Script Source
int StartingConditional()
{
return GetLocalInt(OBJECT_SELF,"FirstTalk");
}


QUOTE

Ставим скрипт 1 в том месте диалога (в закладку Actions), после прохождения которого НПС будет "знать" игрока и в след. диалоге уже говорить с ним как с знакомым. (например после того, как игрок представился)

Ставим скрипт 2 на той ветке, которая должна быть, если НПС знает игрока. (в закладке text appears when)
********************************************************************************
Dik Morris
AliceDiren
Сорри за настырность, но чтото не получается. Скорее всего я не так делаю.
Твой скрипт ставлю на onPlayrLevelUp в мод. свойствах.
В диалоге, вешаю на хенча переменную ClassToUp =1
Но при повышении уровня, хенч не его не повышает. Что ни так?
Белатрис, это делается скриптами посредством размещения локальных переменных.
Обрати внимание на ниже приведенную ссылку. Там очень подробно расписана работа, этих самых локальных переменных.
http://www.igromania.ru/articles/?nw_63
Golindor
Vhall , только не руби с плеча, вoпрос: можно ли выучить 3dmax, Aurora Toolset, рукoводствуясь только форумом? unsure.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.