Здравствуйте, гость ( Вход | Регистрация )
Отправлено: Jun 2 2010, 02:32 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Ух-ты! Вот спасибо. (впрочем, я еще конечно поканителюсь с переходом на 1.69, конечно, не известно, чем это грозит, главное, чтобы с тайлсетом ничего не стряслось) |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136176 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: Jun 1 2010, 22:25 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Чорт, на 1,69 переходить совсем не хочется, много лишнего и с dialog.tlk проблемы. Впрочем, NWNX все равно подключать собирался. Спасибо. |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136173 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: Jun 1 2010, 18:51 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Спасибо, я балбес, SetName нашел, а вот SetDescription нету. Он в каком-то инклюде? |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136171 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: Jun 1 2010, 17:25 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Доброе время суток. Сейчас ваяю крафт. Решил сделать некий конструктор. Однако, дабы избежать перегруженности палитры предметов, было решено генерировать предметы полностью динамически. Застопорился только в одном: Как сменить предмету имя и описание? Это вообще возможно из скриптов? |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136169 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: May 27 2010, 12:32 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Ага. Еще вариант: добавить в onhb хенча Neverwinter Script if (GetIsPC(GetFactionLeader(OBJECT_SELF))) SetLocalInt(OBJECT_SELF, "HENCHED", FALSE); Считаю, что проверку HENCHED нужно делать при отображении в диалоге строки "Пойдем со мной" |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136138 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: May 27 2010, 00:43 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Огромное спасибо. Давно хотел сделать такую штуку, но было лень. Поковырял компанию, немного переработал оригинальные скрипты. В дальнейшем собираюсь переделать работу с предметами и сам скрипт под мультиплеер с записью свойств в MySQL Смысл таков: На локацию вешается локалинт ITEM_KEY = 0 как счетчик. В недоступном месте стоит вейпоинт backup_waypoint. При заходе в локацию, на игрока вешается эффект провала заклинания и прочищаются все эффекты кроме естественных. С предметами сделано довольно странно, но для сингла сойдет: 1) Предметы копируются к вейпоинту с новыми тегами 2) На оригинальных предметах прочищаются все свойства и устанавливается локалстринг с тегом копии При выходе из локации с игрока снимаются эффект спеллфейла и полиморфа(иначе нельзя будет восстановить свойства на заполиморфимшеся друле), а потом с предметами происходит следующее: 1) Изымается локалстринг с тегом буферного предмета 2) Копируются все свойства с буферного на оригинальный предмет 3) Буферный предмет уничтожается Раскомментировал, как мог. На onEnter локации: Neverwinter Script #include "x2_inc_itemprop" int GetIsAlcohol(object oItem) { itemproperty ip; ip = GetFirstItemProperty(oItem); if(GetIsItemPropertyValid(GetNextItemProperty(oItem) )) return FALSE; if(GetItemPropertyType(ip) == ITEM_PROPERTY_CAST_SPELL) { if(GetItemPropertySubType(ip) == IP_CONST_CASTSPELL_SPECIAL_ALCOHOL_BEER || GetItemPropertySubType(ip) == IP_CONST_CASTSPELL_SPECIAL_ALCOHOL_SPIRITS || GetItemPropertySubType(ip) == IP_CONST_CASTSPELL_SPECIAL_ALCOHOL_WINE) return TRUE; } return FALSE; } int GetIsPoisonAmmo(object oItem) { itemproperty ip; ip = GetFirstItemProperty(oItem); if(GetIsItemPropertyValid(GetNextItemProperty(oItem) )) return FALSE; if(IPGetItemHasItemOnHitPropertySubType(oItem, IP_CONST_ONHIT_ITEMPOISON)) return TRUE; return FALSE; } int GetIsDyeKit(object oItem) { if(GetBaseItemType(oItem) == BASE_ITEM_MISCSMALL) { itemproperty ip = GetFirstItemProperty(oItem); if(GetItemPropertyType(ip) == ITEM_PROPERTY_CAST_SPELL) { int nSubType = GetItemPropertySubType(ip); return (nSubType >= 490 && nSubType <= 497); } return FALSE; } return FALSE; } //Копирует предмет void RemoveAllProperties(object oItem, object oPC, int nSlot = -1) { if(oPC != OBJECT_INVALID) { if(oItem == OBJECT_INVALID)//Если не передается предмет, но передается слот, то работать с предетом на слоте { oItem = GetItemInSlot(nSlot, oPC); if(oItem == OBJECT_INVALID) return; } else { int nType = GetBaseItemType(oItem); if(nType == BASE_ITEM_TORCH || nType == BASE_ITEM_TRAPKIT || nType == BASE_ITEM_HEALERSKIT || nType == BASE_ITEM_GRENADE || nType == BASE_ITEM_THIEVESTOOLS || nType == 109 || // crafting stuff nType == 110 || nType == 112) return; } } if(GetIsAlcohol(oItem) || GetIsPoisonAmmo(oItem) || GetIsDyeKit(oItem)) return; if(oItem == OBJECT_INVALID) return; // вейпоинт, куда складываются копии предметов //Должен быть недоступен игроку object oWP = GetWaypointByTag("backup_waypoint"); //счетчик предметов, должен быть установлен для объекта выполнения заранее и не должен сбрасываться int nKey = GetLocalInt(OBJECT_SELF, "ITEM_KEY"); nKey++; SetLocalInt(OBJECT_SELF, "ITEM_KEY", nKey); string sKey = IntToString(nKey); object oCopy = CopyObject(oItem, GetLocation(oWP), OBJECT_INVALID, "back_item" + sKey); //После копирования на предмет записывается его ключ SetLocalString(oItem, "ITEM_KEY", sKey); itemproperty ip = GetFirstItemProperty(oItem); while(GetIsItemPropertyValid(ip)) { RemoveItemProperty(oItem, ip); ip = GetNextItemProperty(oItem); } } //Убирает эффекты с существа, оставляя естественные эффекты, например EFFECT_TYPE_POISON void RemoveEffects(object oObject) { effect eEff = GetFirstEffect(oObject); while(GetIsEffectValid(eEff)) { int nType = GetEffectType(eEff); if(GetEffectSubType(eEff) != SUBTYPE_EXTRAORDINARY && (nType == EFFECT_TYPE_ABILITY_INCREASE || nType == EFFECT_TYPE_AC_INCREASE || nType == EFFECT_TYPE_ATTACK_INCREASE || nType == EFFECT_TYPE_BLINDNESS || nType == EFFECT_TYPE_CHARMED || nType == EFFECT_TYPE_CONCEALMENT || nType == EFFECT_TYPE_CONFUSED || nType == EFFECT_TYPE_CURSE || nType == EFFECT_TYPE_DAMAGE_IMMUNITY_INCREASE || nType == EFFECT_TYPE_DAMAGE_INCREASE || nType == EFFECT_TYPE_DAMAGE_REDUCTION || nType == EFFECT_TYPE_DAMAGE_RESISTANCE || nType == EFFECT_TYPE_DAZED || nType == EFFECT_TYPE_DEAF || nType == EFFECT_TYPE_DOMINATED || nType == EFFECT_TYPE_ELEMENTALSHIELD || nType == EFFECT_TYPE_ETHEREAL || nType == EFFECT_TYPE_FRIGHTENED || nType == EFFECT_TYPE_HASTE || nType == EFFECT_TYPE_IMMUNITY || nType == EFFECT_TYPE_IMPROVEDINVISIBILITY || nType == EFFECT_TYPE_INVISIBILITY || nType == EFFECT_TYPE_INVULNERABLE || nType == EFFECT_TYPE_ABILITY_INCREASE || nType == EFFECT_TYPE_NEGATIVELEVEL || nType == EFFECT_TYPE_PARALYZE || nType == EFFECT_TYPE_POLYMORPH || nType == EFFECT_TYPE_REGENERATE || nType == EFFECT_TYPE_SANCTUARY || nType == EFFECT_TYPE_SAVING_THROW_INCREASE || nType == EFFECT_TYPE_SEEINVISIBLE || nType == EFFECT_TYPE_SILENCE || nType == EFFECT_TYPE_SKILL_INCREASE || nType == EFFECT_TYPE_SLOW || nType == EFFECT_TYPE_SPELL_IMMUNITY || nType == EFFECT_TYPE_SPELL_RESISTANCE_INCREASE || nType == EFFECT_TYPE_SPELLLEVELABSORPTION || nType == EFFECT_TYPE_TEMPORARY_HITPOINTS || nType == EFFECT_TYPE_TRUESEEING || nType == EFFECT_TYPE_ULTRAVISION || nType == EFFECT_TYPE_INVULNERABLE)) RemoveEffect(oObject, eEff); eEff = GetNextEffect(oObject); } } void main() { object oEnter = GetEnteringObject(); //Если игрок сохранился, вышел из игры и загрузился потом, ничего с ним не делать //INSIDE - Локальная переменная для избежания глюков с save\load int nInside = GetLocalInt(oEnter, "INSIDE"); if(nInside == 1) return; SetLocalInt(oEnter, "INSIDE", 1); RemoveEffects(oEnter); effect eSpellFailure = EffectSpellFailure(100, SPELL_SCHOOL_GENERAL); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSpellFailure, oEnter); object oItem = GetFirstItemInInventory(oEnter); while(oItem != OBJECT_INVALID) { RemoveAllProperties(oItem, oEnter, -1); oItem = GetNextItemInInventory(oEnter); } //Убираем свойства с предметов в слотах экиперовки //Если лексикон не врет, то искомые слоты с 0(INVENTORY_SLOT_HEAD) по 13(INVENTORY_SLOT_BOLTS) int iSlot = 0; while(iSlot<14) { RemoveAllProperties(OBJECT_INVALID, oEnter, iSlot); iSlot++; } } На onExit: Neverwinter Script #include "x2_inc_itemprop" // Восстанавливаем свойства предметов void RestoreAllProperties(object oItem, object oPC, int nSlot = -1) { if(oPC != OBJECT_INVALID) { if(oItem == OBJECT_INVALID)//Если не передается предмет, но передается слот, то работать с предетом на слоте oItem = GetItemInSlot(nSlot, oPC); if(oItem == OBJECT_INVALID) return; } string sKey = GetLocalString(oItem, "ITEM_KEY"); object oOriginalItem = GetObjectByTag("back_item" + sKey); if(oOriginalItem != OBJECT_INVALID) { //Копировать все свойства предмета на новый IPCopyItemProperties(oOriginalItem, oItem); DestroyObject(oOriginalItem); DeleteLocalString(oItem, "ITEM_KEY"); } } //Убирает свойства с создания void RemoveEffects(object oObject) { effect eEff = GetFirstEffect(oObject); while(GetIsEffectValid(eEff)) { if(GetEffectType(eEff) == EFFECT_TYPE_SPELL_FAILURE || GetEffectType(eEff) == EFFECT_TYPE_POLYMORPH) RemoveEffect(oObject, eEff); eEff = GetNextEffect(oObject); } } void main() { object oExit = GetExitingObject(); SetLocalInt(oExit, "INSIDE", 0); // Локальная переменная для избежания глюков с save\load if(GetObjectType(oExit) == OBJECT_TYPE_CREATURE) { RemoveEffects(oExit); object oItem = GetFirstItemInInventory(oExit); float fDelay = 4.0; //Задержка для избежания глюков с прогрузкой, можно увеличить while(oItem != OBJECT_INVALID) { DelayCommand(fDelay, RestoreAllProperties(oItem, oExit, -1)); oItem = GetNextItemInInventory(oExit); } //Убираем свойства с предметов в слотах экиперовки //Если лексикон не врет, то искомые слоты с 0(INVENTORY_SLOT_HEAD) по 13(INVENTORY_SLOT_BOLTS) int iSlot = 0; while(iSlot<14) { DelayCommand(fDelay, RestoreAllProperties(OBJECT_INVALID, oExit, iSlot)); iSlot++; } } } } |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136131 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: May 25 2010, 11:11 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
|
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136115 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: May 24 2010, 21:52 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
В том то и вся соль, обход неписей по идее должен совершаться два раза в сутки. [измините за оффтоп, лирика] Собственный модуль, не привязанный к забытым королевствам. Когда-то держал в локальной сети скромненький шардик, менее, чем на сто локаций с несбалансированным рулесетом. Было весело, но года через три шард загнулся. Сейчас вот довожу до ума правила, выкидываю чужие хаки, (из гемовского хака я правда оставил чудную башню и холмики, надеюсь, никто обижаться не будет) рисую локации, балансирую спавны. Акцент собираюсь делать на динамических головоломках в данжах и активном участии ДМ в игре. Как доваяю до той кондиции, чтобы не стыдно было сервер запускать, выпущу в большой мир. [/измините за оффтоп, лирика] |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136111 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: May 24 2010, 16:39 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Только AssignCommand(OBJECT_SELF, - делать не нужно, можно сразу .... и заводить переменную для свича не обязательно, достаточно switch d6() Вот это не знал, спасибо. Кстати, так подумал, десяток ниписей в таком колизее мгновенно загадит весь чат. Стоит сделать проверку Neverwinter Script if (d6()>5) ActionSpeakString(sVoice, TALKVOLUME_SHOUT); Можно спикстринг заменить на Neverwinter Script PlayVoiceChat(VOICE_CHAT_BATTLECRY1); или что-то другое из группы VOICE_CHAT_* У меня есть вопрос: Сейчас пишу пресловутый распорядок дня для неписей. Имею два пути решения. 1) на onhb у каждого npc стоит проверка времени(day/night) и если никого нет в локации, а ему пора спать, он тихо - мирно прыгает домой.(все равно у npc что-то исполняется на onhb, почему бы не добавить туда еще...) 2) на onhb у плейсибла стоит проверка времени и таблица npc, которым нужно приказать спать. Если проверка успешна, плейсибл обзванивает всех ниписей и расставляет их по домам. Так, как это дело пишется для шарда, то самое важное тут - быстродействие. Так вот, что будет работать быстрее? |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136109 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: May 23 2010, 16:36 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Да, да, очень похоже. |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136097 · Ответов: 3359 · Просмотров: 648,536 |
Отправлено: May 21 2010, 23:44 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Neverwinter Script void main() int iEmotion; int iAnimation; string sVoice; iEmotion = d6(); switch (iEmotion) { case 1: iAnimation = ANIMATION_FIREFORGET_SALUTE; sVoice="bla bla bla"; break; case 2: iAnimation = ANIMATION_FIREFORGET_DRINK; sVoice="bla bla bla"; break; case 3: iAnimation = ANIMATION_FIREFORGET_TAUNT; sVoice="bla bla bla"; break; case 4: iAnimation = ANIMATION_FIREFORGET_VICTORY1; sVoice="bla bla bla"; break; case 5: iAnimation = ANIMATION_FIREFORGET_VICTORY2; sVoice="bla bla bla"; break; case 6: iAnimation = ANIMATION_FIREFORGET_VICTORY3; sVoice="bla bla bla"; break; } AssignCommand(OBJECT_SELF, ActionPlayAnimation(iAnimation)); AssignCommand(OBJECT_SELF, ActionSpeakString(sVoice, TALKVOLUME_SHOUT)); } В свойствах создания есть вкладка скриптов, a там на OnHeartBeat |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136092 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: May 20 2010, 23:50 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Не смог найти ни здесь ни на ваулте, но вроде бы это тут обсуждалось. Ни у кого не завалялось ссылочки на оверрайд стандартного тайлсета, дабы вместо бесконечной степи за границей локации игры было какое-то заполнение? |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136087 · Ответов: 3359 · Просмотров: 648,536 |
Отправлено: May 20 2010, 19:21 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Сделать новый базовый итем, занимающий в инвентаре много места (допустим, 7х7). Это, конечно, для книг не подойдёт, но карту таким образом сделать вполне получится. Это не есть круто с эргономической и логической точек зрения, если только не сказать, что карта была высечена на каменной скрижали. сделать карту в АСКИшных символах и воткнуть в описание предмета (IMG:style_emoticons/kolobok_light/smile.gif) Можно даже цветную, цветовые тэги канают для описания предметов. Если не найду решение, то буду делать именно так. так и в журнал ее можно засунуть, а запись в журнал добавлять используя предмет Изображение или ascii? |
Форум: Custom Content · Просмотр сообщения: #136084 · Ответов: 111 · Просмотров: 121,640 |
Отправлено: May 20 2010, 14:52 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
|
Форум: Custom Content · Просмотр сообщения: #136079 · Ответов: 111 · Просмотров: 121,640 |
Отправлено: May 19 2010, 17:57 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Доброе время суток. На днях озаботился вопросом вставки кастомной текстурки карты мира в игру. Самый простой путь - моделька карты с текстурой как плейсибл. Однако же, хотелось бы иметь карту как предмет, а картинку в его описании. Есть же изображение в виде иконки, прилагающейся к описанию. А ведь так можно реализовать иллюстрированные книги или натурально запятнанные кровью записки. Есть ли какие-то идеи по реализации данной задумки? |
Форум: Custom Content · Просмотр сообщения: #136072 · Ответов: 111 · Просмотров: 121,640 |
Отправлено: May 19 2010, 16:58 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Доброе время суток. Не так давно озаботился созданием чего-то подобного. Планируется создать общий интерактивный граф умений и эдакий калькулятор персонажа для версии NWN 1.68. Не знает ли кто, имеется ли где-нибудь что-нибудь подобное, чтобы мне не повторять изобретение велосипеда? |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #136069 · Ответов: 0 · Просмотров: 5,575 |
Отправлено: Feb 12 2010, 20:51 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Хотел научить стражников ругаться и подбегать к игроку, если у него в руках находится оружие. на onPerseption поставил такой кусок: Neverwinter Script object oPC = GetLastPerceived(); if (GetIsPC(oPC)&&GetLastPerceptionSeen()) { object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); if (oWeapon != OBJECT_INVALID) { ClearAllActions(); AssignCommand(OBJECT_SELF, ActionStartConversation(oPC, "noweapon")); SendMessageToPC(oPC, "Я вижу тебя!"); } } "Ай си ю" в лог говорит, а вот диалог не стартует. Нипесь привязан к вейпоинтам, быть может в них дело? |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #135369 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: Jul 25 2007, 00:06 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Список всех констант STANDARD_FACTION_* : STANDARD_FACTION_COMMONER STANDARD_FACTION_DEFENDER STANDARD_FACTION_HOSTILE STANDARD_FACTION_MERCHANT Как кастомную фракцию задать не знаю. Нашел вот что еще: Neverwinter Script Source ClearPersonalReputation( object oTarget, object oSource = OBJECT_SELF ); Пока не разобрался, как работает. Существуют ли какие-либо решения относительно того же воровства? |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #110985 · Ответов: 3359 · Просмотров: 648,536 |
Отправлено: Jul 24 2007, 22:55 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Теплых ветров. Вопрос №1: Сильно ли влияют на потребление ресурсов локальные переменные? (скажем на undropable предмете в инвентаре игрока висит последний посещенный игроком город, место смерти, отношение к игроку в некоторых поселениях, последнее зафиксированное состояние хитов, список последних зафиксированных статусов, список убитых боссов, степень опьянения) Вопрос №2: Я желаю модифицировать скрипт карманного воровства. В стандартных скриптах похожего по семантике названия я не встречал(впрочем как и скрипта какого-нибудь кнокбека). Умения, в отличие от спеллов, вшиты в движок или сидят в 2da таблицах?(впрочем, в это слабо верится) (Хочу реализовать коробочку, лежащие в которой предметы нельзя украсть) Вопрос №3: Как из скрипта сменить отношение к игроку кастомной фракции?(допустим "silverbrig_citizens") Отсюда еще вытекает вопрос, как определить кастомную фракцию? (Нужно реализовать следующее: если игрока убивает представитель стражи такого-то города, игрок воскрешается и садится в тюрьму этого города и отношение к нему сей фракции меняется на значение по умолчанию [50]) Вопрос №4: Есть ли смысл использования DelayCommand(); с большим параметром delay? (для того, чтобы открыть дверь камеры в той же тюрьме через 30 мин или через пару часов[побег не исключен (IMG:style_emoticons/kolobok_light/biggrin.gif) ]) Вроде все, что пока не смог сам решить, нуп давно не был на WRG. (IMG:style_emoticons/kolobok_light/unsure.gif) |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #110982 · Ответов: 3359 · Просмотров: 648,536 |
Отправлено: Feb 26 2007, 21:25 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Наконец то взялся за нвн2 и тут же впал в ступор. Простейший скрипт посадки на стул x2_am_sit(замечу даже стандартный) не хочет работать. Персонаж просто подходит к стулу, на панели очередности действий появляется действие "сидеть" и все. Собственно пятую точку персонаж прикладывать к деревянному другу не желает. Что я упустил? |
Форум: Neverwinter Nights 2 Obsidian Toolset · Просмотр сообщения: #105051 · Ответов: 829 · Просмотров: 448,506 |
Отправлено: Oct 11 2006, 11:23 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Я сейчас понял, что у меня не хватает фантазии, чтобы использовать все возможности. Хотя даже тот примитив, что задумал реализовать довольно напряжно, из-за перенаворочености интерфейса. |
Форум: Neverwinter Nights 2 Obsidian Toolset · Просмотр сообщения: #94354 · Ответов: 116 · Просмотров: 82,075 |
Отправлено: Oct 7 2006, 09:06 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Мои извенения. Проглядел.. (IMG:style_emoticons/kolobok_light/sorry.gif) Чтобы было удобно работать в тулсете, нужно, как минимум, два монитора 1280*1024. Сама мощь редактора впечатляет если долго стараться, можно даже что-то построить. Ввиду возможностей к построению локаций тулсета, его неудобства и того, что другого тулсета нам не дадут, будем осваивать этот, но дико матеря Obsidian и мысленно приговаривая их к смерти, через грязные надругательства. |
Форум: Neverwinter Nights 2 Obsidian Toolset · Просмотр сообщения: #93945 · Ответов: 116 · Просмотров: 82,075 |
Отправлено: Oct 7 2006, 02:02 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Поюзал тулсет, поофигевал от загружености интерфейса, порадовался за движок, подумал, что под создание городов или отдельных групп ландшафта неплохо было бы написать соответствующий плагинчик. З.Ы. Обьясните мне глупому, как двигать камеру. |
Форум: Neverwinter Nights 2 Obsidian Toolset · Просмотр сообщения: #93936 · Ответов: 116 · Просмотров: 82,075 |
Отправлено: Sep 15 2006, 13:46 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
Обьект дестроится, действие остается. |
Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #91742 · Ответов: 3670 · Просмотров: 712,141 |
Отправлено: Sep 12 2006, 13:17 | |
Level 4 Группа: Candidate Сообщений: 96 Регистрация: 30.06.2005 Пользователь №: 1,238 |
QUOTE(Aiwan @ Sep 12 2006, 08:02) [snapback]91517[/snapback] Я так и не понял что надо. Если плащи 1.68 то скопируй строку из ресурсов нвн 1.68 и вставь в baseitems.2da. Сенк, уже так и сделал. А на ваулте для этого дела лежит софтинка. |
Форум: Custom Content · Просмотр сообщения: #91529 · Ответов: 642 · Просмотров: 244,302 |
Открытая тема (есть новые ответы) Открытая тема (нет новых ответов) Горячая тема (есть новые ответы) Горячая тема (нет новых ответов) |
Опрос (есть новые голоса) Опрос (нет новых голосов) Закрытая тема Тема перемещена |
Текстовая версия | Сейчас: 3rd June 2024 - 15:00 |