Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопросы новичков
Город Мастеров > РЕДАКТОРЫ > 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, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103
Aiwan
QUOTE (Аваддон @ Nov 12 2004, 10:23)
А вот это не врите  в мультиплеере локалка на чаре не сохраняется - я проверял. Только на шмотках. Так что придется с БД.

sorry.gif Виноват... biggrin.gif Я с мультиплеером вообще не дружу pilot.gif
Lex
Фали, на вопросы по шардовым делам тут ты врядли найдешь ответ. Тут мало шардовиков. Спрашивай в разделе Шарды..
Vanes
Лито, вот мой чек, который стоит на он энетер модуля
Neverwinter Script Source
object oPC = GetEnteringObject();

// другие проверки

// ---- Newbie Section ------------------------------------------------------ //
   if(GetIsPC(oPC) && !(GetXP(oPC)) && !GetIsDM(oPC)){

       SetXP(oPC, 1);

   // Removing PC's Items In Slots
       for(i=0; i<=13; i++){
           oItem = GetItemInSlot(i, oPC);
           DestroyObject(oItem);
       }

   // Removing PC's Gold
       int nAmount = GetGold(oPC);
       AssignCommand(oPC, TakeGoldFromCreature(nAmount, oPC, TRUE));

   // Removing PC's Inventory.
       oItem = GetFirstItemInInventory(oPC);
       while(oItem!=OBJECT_INVALID){
           DestroyObject(oItem);
           oItem = GetNextItemInInventory(oPC);
       }
   }
// ---- End Newbie Section -------------------------------------------------- //

// другие проверки

сюда же при желании вставляется стартовый набор ньюби-итемов...

если в кратце - то чек идет по кол-во экспы у чара...
у впервые созданного чара экспы всегда 0...
еще один момент - если на шарде чар может потерять экспу: поставь проверку на кол-во оставшейся после снятия экспы - если будет <=0 делай SetXP(oPC, 1);

зы не претендую тут на авторство, подобные скрипты используются на многих известных мне шардах
Лито
Этот тоже хорош, пасибо good.gif
fali
Lex, я бы спросила... Только вот не вижу темы там, для вопросов... *ищет*
А создавать новую тему из-за одного сундука, кажется как-то не очень правильно... :)

ЗЫ: К тому же, думаю, что если здесь не ответят, то и там вряд ли. :) Мне кажется, эту тему читают все тулсетовцы -- как модуле, так и шардостроители. :) Хотя, конечно, я могу ошибаться...
Аваддон
fali в сундуках система такая. Когда игрок кладет в него вещь в базе данных его имя+логин и к ним заносится еще тег вещи. Потом когда она отрывает сундук база данных читается и в сундуке вещи создаются по тегам. только здесь тоже есть грабли - нельзя хранить вещи в сумках и вещи которых нет в палитре. А если тебе нужен эта система скриптов - набери на ваультре Persistent Storage.
fali
Аваддон, спасибо за объяснение. :)
QUOTE
нельзя хранить вещи в сумках и вещи которых нет в палитре

Насчет сумок я помню тут на форуме что-то было... Только никак не найду, где...
А насчет вещей... Это значит, что нельзя в таком сундуке хранить, например, одежду, внешность которой изменена с помощью крафта?
Аваддон
Ну разумеется. Мысли логически. Если у изменненой вещи нет оригинального тэга (а его и не будет) то она будет создана по своему базовому теги - тоесть в первоначальном виде.
fali
Аваддон, жаль... :)
Но всё равно спасибо. :)
MasterMage
Помогите, плиззззззз!!!!!
Я не понимаю, как сделать диалог, в котором болтаю не я с НПС-ом, а НПС с НПС-ом... То есть сообщения появляются белым цветом над их головами.... И чтоб они начали появляться, когда я появляюся рядом.
Можете дать ссылку на статью, где хоть более менее прилично(полно)рассказано о скриптах,.....ъ
заранее спасибо.... unsure.gif
Lex
строка над головой: SpeakString();
завтра в базу положу мой скрипт для разговора 2-Х существ.
MasterMage
Пасиб, но только(как не стыдно это признавать) я не знаю, куда созданные скрипты сувать(сори за такое слово).... В диалоге знаю, а так...Например, чтоб НПС мог сесть...Ходить, вытерать пыль....
И еще... Как сделать так, чтоб предметы в сундуках и бочках генерировались согласно уровню нашедшего...Просто самому расскладывать - ....ну не думаю, что это выход
Добавлено в [mergetime]1100622992[/mergetime]
А как вставить в свой модуль помощников.... Можно как нить их создать, а потом готовый скрипт втавить..Есть такое уже в кампании? А как настроить респаун и портал отзыва и вещь призыва к порталу(как реликвия Жнеца к примеру)
Lex
по сундукам - тут обсуждалась система лута и наполнения сундуков. Скрипты стандартные биоваровские есть и другие системы..поищи тут или на рельсах старых.
по хенчшам - сделай помощника в тулсете. Потом открой в стандартной палитре помощника биоваровского, запиши его скрипты и кинь твоему помощнику. функция AddHenchman() добавляет его в партию игрока.
по настройке портала и тд - надо стандартную компанию смотреть..в принципе и так можно написать, но у меня под рукой нет тулсета
Aiwan
Зачем тебе такие задачи? Ты решай те, что тебе по зубам. Начни с азов, к примеру узнай зачем нуен каждый слот НПС и что происходит в нем pilot.gif
MasterMage
Aiwan
Ох...Я прочитал кучу твоих статей(3-4, вроде...smile.gif) так воть не получается по твоему сделать одну фразу белым цветом... Пишет, что никак не скомпилировать....Уф...
У мну почему-то не пишется русскими в редакторе скриптов
Добавлено в [mergetime]1100624622[/mergetime]
Слоты слотами., а я даже не понимаю, как и куда вставлять скрипты....А можно какниь бе них обойтись..Или же лучше научиться! Просто у мну идея хорошая для модуля, но нет возможностей...пока ограничился локациями и диалогами с квестам...
elf-demon
Aiwan
у вас на сайте статья прикольная про скрипты а то я вних не очень допираю=(
Так вот статья - "Aurora Toolset" Описание функций тулсета.
Там только часть 1 аь остальные? не мог бы дать мне все? либо суда на флрум скинь ссылки либо на мыло -
elf-demon@yandex.ru
Cпасибо!
Aiwan
QUOTE (MasterMage @ Nov 16 2004, 23:01)
У мну почему-то не пишется русскими в редакторе скриптов

Русским не пишет в скрипт едиторе. Ctrl+F и в строке поиска пиши, потом копируй в скрипт.
elf-demon зайди по ссылке в Старый Город Мастеров. Найди тему Valleo, Описание Функций Тулсета на русском. Она пришпилена.
baskan
Вопрос..
У меня в модульных свойствах в ячейке Респавна игрока после смерти написан такой скрипт

Neverwinter Script Source
void main()
{
object oPC = GetLastRespawnButtonPresser();
string sFName = GetName(oPC);
int xp = GetXP(oPC);
string sName = GetPCPlayerName(oPC);
int iSide = GetCampaignInt(GOOD_EVIL_,sFName+sName);
int n;
n=GetHitDice(oPC);
if ((xp-(30*n))>=0) SetXP(oPC,(xp-30*n)); else SetXP(oPC,0);
ApplyEffectToObject(T_INSTANT, EffectResurrection(), oPC);
switch (iSide)
{
case 1:
AssignCommand(oPC,ActionJumpToObject(GetObjectByTag("wp_good_fuga")));
break;
case 2:
AssignCommand(oPC,ActionJumpToObject(GetObjectByTag("wp_evil_fuga")));
break;
case 3:
AssignCommand(oPC,ActionJumpToObject(GetObjectByTag("wp_fuga")));
break;
}
}


Так вот вопрос..Почему у меня нетралы после смерти не появляютсья в своей фуге? С гудаим и ивелами все норм, а вот с нетралами неполучаеться
<small>Добавлено в 16:12</small>
и еще вопрос, вот игрок на шарде если умирает, перезаходит и он уже живой!..Как это исправить?
Aiwan
Neverwinter Script Source
int iSide = GetCampaignInt(GOOD_EVIL_,sFName+sName);

Потаму как Нейтралов скрипт не трогает.
baskan
QUOTE (Aiwan @ Nov 17 2004, 17:45)
Neverwinter Script Source
int iSide = GetCampaignInt(GOOD_EVIL_,sFName+sName);

Потаму как Нейтралов скрипт не трогает.

А что нужно еще дописать?
Raven
QUOTE
и еще вопрос, вот игрок на шарде если умирает, перезаходит и он уже живой!..Как это исправить?


Смотри >>тут<<
MasterMage
Спасибо, но есть еще вопрос...
Пишу скрипт по твоему, Айван, указанию(в статье)....
Открыть дверь

void main()
{
object oDoor = GetObjectByTag("walldoor");
}

но скрипт не действует(я его в разговор вписываю)....
Может надо писать по другому....

Плизззз....
Напиши КАК ОН ДОЛЖЕН БЫТЬ В РЕДАКТОРЕ..... dntknw.gif
P.S. - файл сохранялся нормально....
А если писал:

void main()
{
ActionOpenDoor(object oDoor = GetObjectByTag ("walldoor"));
}
тоже ничего, но на этот раз не сохраняется...все время ошибка....
Aiwan
baskan во первых, твой скрипт или инклюд или содержит инклюду. Он не компелится так как в нем есть объекты без описания а гадать я не имею времени. Приведи полностью код.
Во вторых тебе надо в форум шардов.
QUOTE (baskan @ Nov 17 2004, 18:32)
и еще вопрос, вот игрок на шарде если умирает, перезаходит и он уже живой!..Как это исправить?

Где-то это уже рассматривали, поищи. И сам подумай, у тебя наверняка стоят какие-то скрипты на все это, от смерти до входа и респавна. И как мы можем тебе подсказать то чего не знаем smile.gif Ты используешь какой-то готовый шард? Ставь задачи КОНКРЕТНО. Тогда ответят. Иначе пропустят и не потаму что влом писать, а потаму как непонятно о чем речь.
Добавлено в [mergetime]1100719173[/mergetime]
Neverwinter Script Source
void main()
{
object oDoor = GetObjectByTag("walldoor");
}

Этот скрипт повествует о том, что объект Дверь, это обект с Тегом "walldoor". И все. БОЛЬШЕ НИЧЕГО В НЕМ НЕТ.
Напиши ЧТО ТЫ ХОЧЕШЬ. Я тебе скажу где ты ошибся. Я догадываюсь ты хотел что-то сделать с дверью? lol.gif Но с телепатией у меня слабовать, так что описывай...
Добавлено в [mergetime]1100719246[/mergetime]
QUOTE (MasterMage @ Nov 18 2004, 01:13)
Пишу скрипт по твоему, Айван, указанию(в статье)....

Не стоит пинять на зеркало... biggrin.gif Ай яй яй!
MasterMage
biggrin.gif biggrin.gif Хорошо...Просто я не понял...
Я хотел, чтоб после X-слова стражник открыл мне дверь...Ну захотелось мне так....Ну что такого?... crazy.gif
Воть... unsure.gif
А так я уже почти понял...почти, как писать легкие скрипты....почти...(15%) biggrin.gif
elf-demon
Aiwan
Так там и есть только эта первая часть всей статьи! А я говорил про другие части! biggrin.gif
Aiwan
QUOTE (elf-demon @ Nov 18 2004, 01:57)
Aiwan
Так там и есть только эта первая часть всей статьи! А я говорил про другие части!

Зайдите на nwn.fireground.ru/forum и там в закладке работы с Тулсетом - эта статья вся есть
Добавлено в [mergetime]1100727835[/mergetime]
QUOTE (MasterMage @ Nov 18 2004, 01:35)
Я хотел, чтоб после X-слова стражник открыл мне дверь...Ну захотелось мне так....Ну что такого?...

Тогда надо так:

Neverwinter Script Source
void main()
{
object oDoor = GetObjectByTag("walldoor");
SetLocked(oDoor, FALSE);
}


Ставь на ветку.
Добавлено в [mergetime]1100727895[/mergetime]
FALSE - переводится как ЛОЖЬ. Значит дверь будет открыта. TRUE - ИСТИНА. Будет закрыта.
baskan
А как сделать так, чтобы при заходе игркоа на сервер ему выдавался определенный предмет?(но чтобы если он уже есть в инвентаре, то уже не давалось)
DBColl
В OnClentEnter ставишь:
Neverwinter Script Source
object oPC = GetEnteringObject();
if (GetTag(GetItemPossessedBy(oPC, "тег_предмета")) == "тег_предмета")
{
    return;
}
else
{
    CreateItemOnObject(OBJECT_TYPE_ITEM, "ResRefItem", oPC);
    .......................   
}


Типа того...
Аваддон
DBColl , во как pilot.gif а я всегда проверяю GetIsObjectValid(GetItemPossessedBy(oPC, "тег_предмета"))
MasterMage
Aiwan пасиб, пробую...
Добавлено в [mergetime]1100799364[/mergetime]
Так если, сначала пишется переменная и ее значение, а затем задается функция(что с переменной произойдет), дя?... Хм....
А как сделать так, чтоб стражник патрулировал местность...ставишь ему точку, так он туда идет и стопорится, т.е. назад нини... dntknw.gif
Добавлено в [mergetime]1100801501[/mergetime]
void main()


{
string sStringToSpeak = ("sss");
int nTalkVolume=TALKVOLUME_TALK;
ActionSpeakString(string sStringToSpeak, int nTalkVolume);
}
что не так....
Надоело unsure.gif все время ошибка...в каждом скрипте black eye.gif
MasterMage
void main()
{
object oPC = GetEnteringObject();
object oNPC = GetObjectByTag("kel");
object oKel = GetWaypointByTag("D_KEL");
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oKel)));
ActionDoCommand(AssignCommand(oNPC, SetFacingPoint(GetPosition(oPC))));
}
все сохранилось, но Kel не подходит.....а почему??? unsure.gif
кстати, Айван, в твоей статье был скрипт тренеровачный-ролик...так вот он у мну пошел, но двигалась только камра и все...sad.gif
elf-demon
Aiwan
Нашёл! Спасибо! yes.gif
maxxim
хм толково, спсибо понемного начинаю вникать в скриптинг. но все таки, ктото может поооодробно расписать как привязывать цдкей к перонажу. прочитал одноименный топ, пробовал, неполучилось. и немогу понять чем протрейсерить чебы понять геде именно не рабьотает. хотя в базу ключ пишется но меняй не меняй чар не бутиться.
Aiwan
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oNPC = GetObjectByTag("kel");
object oKel = GetWaypointByTag("D_KEL");
AssignCommand(oNPC, ActionMoveToObject(oKel));
AssignCommand(oNPC, ActionDoCommand(SetFacingPoint(GetPosition(oPC))));
}

Это триггер? Ты понимаешь что тут написано? Скажи словами.
QUOTE (MasterMage @ Nov 19 2004, 01:13)
кстати, Айван, в твоей статье был скрипт тренеровачный-ролик...так вот он у мну пошел, но двигалась только камра и все...

Версия НВН? Если выше 1.32 то ясно...
Маэв Лютина
Господа и дамы, очередная трудность: установила себе несколько хаков. Они идут для всех версий, как написано в их описаниях. Я не могу найти объекты этих хаков в плейсиблах. Что делать? В фичурсах их тоже нету. И де они могут быть? dntknw.gif
Аваддон
Быть может в каждом хаке есть свои .2da файлы. В них прописаны новые плейсейблы и модели к ним из хака. Когдаты подключаешь хаки к модулю они наверное начинаются ругаться между собой и ничего из за этого найти не можешь.
Тебе надо в директории nwn в папке utils запустить nwhak и открыть им свои хаки которые поключаешь. Выдрать из них 2da файлы с одинковыми названиями и сравнивать каждый файл из одного хака с файлом из другого хака. Когда найдешь где же там прописаный новые модели(обычно в глаза прям бросается) тебе нужно будет эти два одинаковых 2da редактировать. Тоесть что то новое из одного перенести в другое.
Утилиту для редактирования 2da можешь найти на ваульте.
Aiwan
QUOTE (Маэв Лютина @ Nov 19 2004, 08:27)
В фичурсах их тоже нету. И де они могут быть?

Т.е. ты смотрела их модели в списке всех плейсеблов? Тогда Аваддон прав. Могу порекомендовать поменять местами хаки. В смысле очередности, что-то пропадет что-то появится. 2Да-шки забивают что-то.
Ilharess
Приветствую. Ни кто не знает с чему равна скорость мобов в нвн.
В нвн метрах в секунду...
DBColl
В нвн используется фактически реальная "метровая" система. Так что НВН-метры (относительно размеров существ, строений и прочего) вполне соотносимы к реальному метражу в жизни.

Скорость мобов можно выставлять в их свойствах (Movement...). Делится по шкале от Immobile до DM-Speed.
Ilharess
Это понятно, млин плохо обяснилsad.gif есть функция GetDistanceToObject вовращает дистанцию в метрах, у моба в свойствах стоит скрость движения нормал.. Ни кто цисленные значения не знает? ну путь там поделить на время идт...smile.gif
Аваддон
Ilharess Чего то я тебя не могу понять GetDistanceToObject это расстояние до объекта, а не скорость. Чего ты хочешь с этим сделать вообще? Если тебя скорость интересует ковыряй creaturesspeed.2da
DBColl
Это записано в одной из 2da-шек. Поищи, должно быть wink.gif.
MasterMage
Айван, там написано, что задан объект, сам перс(PC), точка маршрута, а затем объект идет к PC и поворачивается к нему лицом
Добавлено в [mergetime]1100868209[/mergetime]
установка на триггер
1.30 версия NWN.. yes.gif
Aiwan
А лучше обрисуй задачу yes.gif Ilharess. Может оказаться что ты буксуешь на месте или вообще не туда идешь biggrin.gif
Ilharess
Спасибо обошелся без расчета скростейsmile.gif
Ilharess
NW_FLAG_... какие существуют и чего означают?
Добавлено в [mergetime]1100942832[/mergetime]
И еще вопрос как в нвн организовать стек action'овsmile.gif
DBColl
Ilharess
Посмотри скрипт nwscript.nss. Там все константы описаны wink.gif.
QUOTE (Ilharess @ Nov 20 2004, 10:28)
И еще вопрос как в нвн организовать стек action'ов

Его не надо организовывать. Он сам... Хех.
Neverwinter Script Source
ActionMoveToObject(...);
ActionSpeakString(...);
ActionDoCommand(SetLocalInt(oPC, "var", TRUE));

Вот тебе стек акций, который будет выполняться следующим образом:
1. Непись ("хозяин" скрипта) идет куда-то...
2. После того, как дошел(!), говорит что-то.
3. После этого всего на PC устанавливается некая переменная.
Aiwan
QUOTE (Ilharess @ Nov 20 2004, 14:28)
И еще вопрос как в нвн организовать стек action'ов

Почитай тему про катсцены, тут приклееную.
MasterMage
Aiwan
как сделать так, чтоб после наступления на триггер, НПС больше не выполнял действие...
Ну вот наступил, НПС подошел, начал диалог, вернулся....Но когда я снова наступаю, все происходит снова....Как изменить???
___
У мну тот скрипт, выше что...Все правильно, просто в теге ошибся
biggrin.gif
Добавлено в [mergetime]1100946206[/mergetime]
и еще(я тебе еще не надоел? unsure.gif )у мну НПС не садится на стул...скрипт написал, но он не выполняется, хотя поставил на OnUsed стула
Raven
Ты написал скрипт на OnUsed стула, но НПЦ не садится? Ну навена нада сначала нада заставить НПЦ юзать стул
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.