Скрипты: Просьбы о написании, Все просьбы по написанию скриптов |
Здравствуйте, гость ( Вход | Регистрация )
Скрипты: Просьбы о написании, Все просьбы по написанию скриптов |
Apr 2 2006, 18:46
Сообщение
#1
|
|
Миловидный Бегрюссунг Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
Если вам нужен скрипт, который вы не наши на форуме и не в состоянии написать сами, то тут можете попросить других форумчан о помощи. Таким образом в теме только запрос и скрипт под него, ничего более. Если вам нужно оптимизировать скрипт или понять, почему он плохо работает, то вам сюда.
___ База скриптов (NWN) Скрипты для новичков (NWN) Вопросы по скриптам (NWN) Построение скриптовых сцен (NWN) Вопросы по скриптам (NWN2) Так как скриптинг не сильно изменился, то большая часть вещей, написаная под НВН1 нормально работает и в НВН2. Посмотрите в этих темах, вполне возможно вы найдете интересующую вас информацию. |
Jan 2 2009, 20:29
Сообщение
#2
|
|
Level 7 Класс: Некромант Характер: True Neutral Раса: Нежить |
Среда NWN2
Neverwinter Script void main() { object oPC = GetEnteringObject(); int nFaction = 0, i = 0; if (GetIsPC(oPC)) { for (i=0; i<18; i++) { if (GetTag(GetItemInSlot(i, oPC))=="ITEMIN") {nFaction = 9; break;} } if (!nFaction) { object oItem = GetFirstItemInInventory(oPC); while (nFaction ==-1 || oItem != OBJECT_INVALID) { if (GetTag(oItem)=="ITEMIN") nFaction = 9; } } if (!nFaction) nFaction = GetAlignmentGoodEvil(oPC); int nEvil=0, nMad=0, nGood=0, nNeutral=0; //Влияют на изменение репутации к соответствующим сторонам switch (nFaction) { case 0: break; case 9: {nMad = 100; nGood = 1; nNeutral = 0; nEvil = 2;}; break; //Присваивания верные только 100, остальные в зависимости от отношений фракций друг к другу (-100..100) case ALIGNMENT_GOOD: {nGood = 100; nNeutral = 1; nMad = 2; nEvil = 3;}; break; case ALIGNMENT_EVIL: {nEvil = 100; nNeutral = 1; nMad = 2; nGood = 3;}; break; case ALIGNMENT_NEUTRAL: {nNeutral = 100; nGood = 1; nEvil = 2; nMad = 3;}; break; } AdjustReputation(oPC, GetObjectByTag("EvilMember"), nEvil); //Везде в кавычках тег существа из нужной фракции AdjustReputation(oPC, GetObjectByTag("GoodMember"), nGood); AdjustReputation(oPC, GetObjectByTag("NeutralMember"), nNeutral); AdjustReputation(oPC, GetObjectByTag("MadMember"), nMad); } } Насчет последнего не понял: смотря для чего тебе надо, либо убей персонажа, либо надо писать другой скрипт для ExecuteScript или onUserDefinedevent. Поправьте, если что не так. Конкретику отправил в ПМ. Сообщение отредактировал greye - Jan 3 2009, 01:07 |
Текстовая версия | Сейчас: 28th April 2024 - 10:14 |