Понтово-понтово, тем более достаточно инфы можно найти при желании. В Ваулте есть скрипты, по ним тож хорошо учиться - как и что работает
Lemegeton
Dec 25 2004, 15:35
Одно дело конкретный скрипт, который ты захотел создать и тебе показали, как, и совсем другое дело, когда берется абстрактный скрипт и разбирается. Первое, к сожалению, необходимо для начинающих "самоучек" (академических "профи" программирования мы вообще не рассматриваем), а второе подойдет лишь сильно увлекающимся и/или "продвинутым" людям. Я, например, люблю поковырятся в стандартных модулях на предмет решения какой-либо задачи.
Согласен с
Lemegeton-ом. Проще (мне) учиться по готовому коду. Что я и делал
MasterMage
Dec 25 2004, 16:48
Aiwan спсибо, а почуме перс не прыгает к точке, а только к объекту?? Вчера скрипт писал на респаун для своего модуля, так воть...пришлось объетк вклинивать, так как точка не призналась(скрипт написать?

)
2MasterMage
У меня тоже так было, я подключал библиотеку #include "x0_i0_secret"
вот так например - скрипт на использование портала, но можно вместо GetLastUsedBy поставить GetLastRespawnButtonPresser() тогда при нажатии на кнопку респаун будет кидать к указаной точке
Neverwinter Script Source |
#include "x0_i0_secret" void main() { object oPC = GetLastUsedBy(); object oJump = GetWaypointByTag("WayPoint"); TransportToWaypoint(oPC,oJump); } |
с библиотекой появляется функция GetWaypointByTag
Falcon
Dec 25 2004, 17:39
доброго дня. ворос глупый но всеже. можно ли сдлать дв стартовые точки, что бы для чаров стартовая точка была для всех хаотиков одна а лавфул и нейтралов другая, не хочется делать общуюю точку старта. начинаем делать шард по хроникам амбера, и изначально раздельять хаос и амбер по анлиджемнту, и дальнейшие поступки пц смещают его либо к единорогу либо к змею.
MasterMage
Dec 25 2004, 18:08
Falcon читал нигу, хорошая вещь
Aiwan Neverwinter Script Source |
void main() { object oWP=GetObjectByTag("Recall"); object oRespawner = GetLastRespawnButtonPresser(); ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner); ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner); SetLocalInt(oRespawner,"Dead",TRUE); SetLocalLocation(oRespawner,"START_POINT", GetLocation(oRespawner)); AssignCommand(oRespawner,ActionJumpToObject(oWP)); } |
Слушай, я скачал твою статью...титориал...Но не понятно, почему не появляется та классная песня...я ее в папку с .bmu засунул, но в модуле не достать...И как твой хак посмотреть...что там
Подскажите пожалуйста, что изменяет\дополняет этот файл
http://www.vhall.hotmail.ru/dls01_edge.2da Добавлено в [mergetime]1103993077[/mergetime] и еще. что такое *.txi файлы?
Rezident
Dec 25 2004, 20:05
QUOTE (Aiwan @ Dec 25 2004, 00:33) |
В принципе это реализовано стандартными средствами в НВН. |
Я все это понимаю, однакоя не нашел описания таких вещей в вашем тайле. Поэтому и справшивал. Я вот тоже скриптописанию и возможностям учусь по разного рода постам или скриптовым базам. Ладно скрипты. Их я еще писать пока слабо умею (читать читаю, а вот писал не более 10 стркового пока что скрипта). А вот с некотрыми возможностями и нюансами проблема.
Так что настйчиво прошу мастеров форума: обьясните пожалуста где и как там реальзуется повышение или понижение кармы в случае убийства нужного НПС. Я очень долго искал, но так нигде и не нашел.
И еще одно. Прозьба к МамтерМагу. Пожалуста помоги скриптом в области места респаунда для всего можуля. Очень тебя прошу...
Кстати тот скрипт что мне дали на произнесение диалока 1 раз, работет с точностью до наоборот. НПС "НЕ" произносит фразу 1 раз, все следующие разы невозможно заставить его замолчать
QUOTE (Lemegeton @ Dec 25 2004, 15:35) |
Одно дело конкретный скрипт, который ты захотел создать и тебе показали, как, и совсем другое дело, когда берется абстрактный скрипт и разбирается. Первое, к сожалению, необходимо для начинающих "самоучек" (академических "профи" программирования мы вообще не рассматриваем), а второе подойдет лишь сильно увлекающимся и/или "продвинутым" людям. Я, например, люблю поковырятся в стандартных модулях на предмет решения какой-либо задачи. |
Ну.. это как в школе
У тебя есть задачка - условие (то что хочешь сделать) и учебник по предмету (лексикон, туториалы). Ты можешь почитать учебник и решить задачку сам или попросить соседку-отличницу за шоколадку решить задачку (зайти на форум WRG! и попросить чтобы написали скрипт

). Результат в обоих случаях будет одинаковый, а вот можно ли что-то для себя вынести, если тебе отличница решит - вопрос
В itp файле есть такая штука как "uint32 strref = значение". Откуда взято это значение? Если из dialog.tlk то как вписывать кастомные модели в палитру?
Забыли меня
QUOTE (Falcon @ Dec 25 2004, 20:39) |
доброго дня. ворос глупый но всеже. можно ли сдлать дв стартовые точки, что бы для чаров стартовая точка была для всех хаотиков одна а лавфул и нейтралов другая,... |
При старте модуля проверяй алигмент входящего, если он соответствует каким то параметрам отсылай в точку А (вейп) еслим другим в точку В (вейп другой) если все путем оставляй в точке старта. Ясно или нужен код?
QUOTE (MasterMage @ Dec 25 2004, 21:08) |
Слушай, я скачал твою статью...титориал...Но не понятно, почему не появляется та классная песня...я ее в папку с .bmu засунул, но в модуле не достать...И как твой хак посмотреть...что там |
Ты небось ХОТУ юзал пр и этом? А там 2да могут позабивать все. Открой хак глянь названия 2Да шек и добавь из ХотУ такие же дополнив строками что я сделал. Залей назад в хак и будет тебе счастье.
QUOTE (Vhall’rafein @ Dec 25 2004, 22:23) |
и еще. что такое *.txi файлы? |
Это служебные файлы для текстур. К примеру вода ведь как бы отражается и прочая анимашка, это все в нем...
QUOTE (Rezident @ Dec 25 2004, 23:05) |
все это понимаю, однакоя не нашел описания таких вещей в вашем тайле. |
Вот стандартный скрипт. В нем написана стандартная фракция за которую дадут РС по жопе. Добавь пару своих и опиши как плохо будет тому кто убил бедного коммонера.
Neverwinter Script Source |
//::////////////////////////////////////////////////// //:: NW_C2_DEFAULT7 /* Default OnDeath event handler for NPCs.
Adjusts killer's alignment if appropriate and alerts allies to our death. */ //::////////////////////////////////////////////////// //:: Copyright © 2002 Floodgate Entertainment //:: Created By: Naomi Novik //:: Created On: 12/22/2002 //:://////////////////////////////////////////////////
#include "x0_i0_spawncond"
void main() { int nClass = GetLevelByClass(CLASS_TYPE_COMMONER); int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
// If we're a good/neutral commoner, // adjust the killer's alignment evil if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL)) { object oKiller = GetLastKiller(); AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5); // ВОТ ТВОИ ДАННЫЕ }
// Call to allies to let them know we're dead SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);
//Shout Attack my target, only works with the On Spawn In setup SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);
// NOTE: the OnDeath user-defined event does not // trigger reliably and should probably be removed if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT)) { SignalEvent(OBJECT_SELF, EventUserDefined(1007)); } } |
QUOTE (Vhall’rafein @ Dec 26 2004, 00:01) |
В itp файле есть такая штука как "uint32 strref = значение". Откуда взято это значение? Если из dialog.tlk то как вписывать кастомные модели в палитру? |
(описание: Unit32 StrRef - ID из Dialog.tlk
ResRef ResRef - название для палитры(местность, группа, и.т.д.) . Ты пишешь что это будет за местность. Вообще лучше в форум 3Дмакса ползи...
Добавлено в [mergetime]1104010029[/mergetime]
Этот файл регулирует горизонт твоего тайлсета. Там написано кто с кем в каом режиме пересекается и отображется за линией карты.
QUOTE (Aiwan @ Dec 26 2004, 00:24) |
Вообще лучше в форум 3Дмакса ползи... |
э нет... ты туда не заглядываешь...
Спасибо, кстати
Falcon
Dec 26 2004, 12:01
QUOTE (Aiwan @ Dec 26 2004, 00:24) |
При старте модуля проверяй алигмент входящего, если он соответствует каким то параметрам отсылай в точку А (вейп) еслим другим в точку В (вейп другой) если все путем оставляй в точке старта. Ясно или нужен код? |
Нужен код. я еще не настолько разобрался чеб с нуля писать, хоть скрипт и не сложный но все же проше разобрать чужой код, подправить под себя.
Зы очень хороший форум, едиственный в совем роде. спасибо ребята, нашел тут много нужного.
и еще вопрос вдогонку. подскажите де прочитать про написание системы лута. может у когто есть примеры какието. дето на старом форуме находил тему, с хорошим описанием, теперь немогу. надо что бы после смерти моба пада юзейбл копрс, чесез 10 секун исчезал ну и что бы можно было центраизованно управлять возможностю и качеством выпадения вещей. тоесть.
MasterMage
Dec 26 2004, 14:39
Rezident Ето ты меня спрашиваешь? А какой скрипт точно нужен. Респаун я сам недавно написал, могу кинуть вместе со скриптом, который назад кидает в точку смерти

А насчет диалога, то тебе неправильно дали, я сам недавно доперал, пока не увидел, что тут отпостили...Так вот...попробуй FALSE и TRUE поменять местами....У меня такое дело было
Aiwan Нет, ну не понимаю я тебя...

Как открыть его. Я в модуле открываю, но мну предупреждают об какое-то опасности якобы с модулем....Может это нормально, но мне страхово....(естессвенно открываю не в своем, а тестовом) Да и твои модули не пошли, так как не установил я 2 аддон....Потом как нить установлю
QUOTE (Falcon @ Dec 26 2004, 15:01) |
Нужен код. я еще не настолько разобрался чеб с нуля писать, хоть скрипт и не сложный но все же проше разобрать чужой код, подправить под себя. |
Ок, пол часа тебе уделю. Может кому еще пригодится... Код НЕ ПРОВЕРЯЛ потестите и если чаво пишите.
Neverwinter Script Source |
//::////////////////////////////////////////////// //:: Copyright © 2004 WRG! //:: OnModuleEnter //::////////////////////////////////////////////// /* Скрипт заготовка на вход сингл модулей */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 26.12.2004 //::////////////////////////////////////////////// void main() { object oMod = GetModule(); object oPC = GetEnteringObject(); object oGood = GetWaypointByTag("WP_GOOD"); object oEvil = GetWaypointByTag("WP_EVIL"); object oChaotic = GetWaypointByTag("WP_CHAOTIC"); if (GetLocalInt(oMod, "START_GAME")) { return; } { SetLocalInt(oMod, "START_GAME", TRUE); TakeGoldFromCreature(GetGold(oPC),oPC,TRUE); // ЗОЛОТИШКО ДОЛОЙ! //------------------ УБИВАЕМ ВЕСЬ ИНВЕНТАРЬ ------------------------------------ object oItem = GetFirstItemInInventory(oPC); while(GetIsObjectValid(oItem)) { DestroyObject(oItem); oItem = GetNextItemInInventory(oPC); } //------------------ УБИВАЕМ ВЕСЮ АМУНИЦИЮ ------------------------------------- int i=0; while(i<14) { DestroyObject(GetItemInSlot(i, oPC)); i++; } //------------------------ СОЗДАЕМ ПРЕДМЕТЫ КАЖДОМУ КЛАССУ --------------------- int PCClass = GetClassByPosition(1, oPC); switch (PCClass) { case CLASS_TYPE_BARBARIAN: // Наведи на CLASS_TYPE_ и нажми F2 будет весь список классов { CreateItemOnObject("Res-Ref вещи из палитры", oPC,1); //Создаем свои вещи каждому классу break; } case CLASS_TYPE_BARD: { CreateItemOnObject("Res-Ref вещи из палитры", oPC,1); //Создаем свои вещи каждому классу break; } case CLASS_TYPE_SORCERER: { CreateItemOnObject("Res-Ref вещи из палитры", oPC,1); break; } } AssignCommand(oPC, ActionEquipMostEffectiveArmor()); // Одеваем лучшую броньку в инвентаре //-------------------- ОПРЕДЕЛЯЕМ ПРЕДМЕТЫ ----------------------------------- object oItemCr = GetFirstItemInInventory(oPC); while(GetIsObjectValid(oItemCr)) { SetIdentified(oItemCr,TRUE); oItemCr = GetNextItemInInventory(oPC); } //========================= РАЗБИРАЕМСЯ ДАЛЬШЕ =============================== if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD) { AssignCommand(oPC, ActionJumpToObject(oGood)); } if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_EVIL) { AssignCommand(oPC, ActionJumpToObject(oEvil)); } if (GetAlignmentLawChaos(oPC) == ALIGNMENT_CHAOTIC) { AssignCommand(oPC, ActionJumpToObject(oChaotic)); } // Дальше сам сможешь... } } |
QUOTE (Falcon @ Dec 26 2004, 15:01) |
Зы очень хороший форум, едиственный в совем роде. спасибо ребята, нашел тут много нужного. |

Добро пожаловать!
Добавлено в [mergetime]1104063180[/mergetime] QUOTE (MasterMage @ Dec 26 2004, 17:39) |
Как открыть его. Я в модуле открываю, но мну предупреждают об какое-то опасности якобы с модулем....Может это нормально, но мне страхово.... |
Естественно это СТАНДАРТНЫЙ скрипт НПС. Посему тебя и предупреждають

Не дрефь, меняй для своего модуля.
MasterMage
Dec 27 2004, 19:47
Aiwan ну ладно

Все круто....я начился скриптам, диалогам, недавно написал несколько квестов сам без мастера, куча локаций,

УРААААААА (и все благодаря вам всем

)...
но вопросы остаются, ведь всю жизнь мы учимся....
Как изменить кол-во опыта за встречу с врагами, а то на невыпонимом уровне сложности 4 опыта для 26 уровня....

Ну так совсем не годится....а вот если врага НПС ставить, то 150...Но хочу больше...Модуль у мну для ПС от 20 левела...
Falcon
Dec 27 2004, 20:01
QUOTE (Aiwan @ Dec 26 2004, 15:10) |
Ок, пол часа тебе уделю. Может кому еще пригодится... Код НЕ ПРОВЕРЯЛ потестите и если чаво пишите. |
у мню имеет следующий вид
CODE |
#include "nw_i0_tool"
void main() { object oTarget=GetPCSpeaker(); string sRace=GetSubRace(oTarget); if (GetAlignmentLawChaos(oTarget) == ALIGNMENT_CHAOTIC) { ExploreAreaForPlayer(GetObjectByTag("Chaos"),oTarget); AssignCommand(oTarget, JumpToLocation(GetLocation(GetObjectByTag ("chaos_start")))); } else if (GetAlignmentLawChaos(oTarget) == ALIGNMENT_NEUTRAL) { ExploreAreaForPlayer(GetObjectByTag("Citadel4"),oTarget); AssignCommand(oTarget, JumpToLocation(GetLocation(GetObjectByTag ("neytr_start")))); } else { ExploreAreaForPlayer(GetObjectByTag("Kolvir"),oTarget); AssignCommand(oTarget,JumpToLocation(GetLocation(GetObjectByTag ("kolvir_start")))); } } |
DBColl
Dec 27 2004, 20:58
QUOTE (Falcon @ Dec 27 2004, 19:01) |
object oTarget=GetPCSpeaker(); |
Если скрипт у тебя стоит в OnClientEnter модуля, то для получения объекта входящего ПС тебе надо брать его по-другому:
Neverwinter Script Source |
object oTarget=GetEnteringObject(); |
Замени это и все должно работать.
Rezident
Dec 28 2004, 03:22
QUOTE (MasterMage @ Dec 26 2004, 14:39) |
Rezident Ето ты меня спрашиваешь? А какой скрипт точно нужен. Респаун я сам недавно написал, могу кинуть вместе со скриптом, который назад кидает в точку смерти А насчет диалога, то тебе неправильно дали, я сам недавно доперал, пока не увидел, что тут отпостили...Так вот...попробуй FALSE и TRUE поменять местами....У меня такое дело было |
У меня модуль уже состоит из 85 локаций. Планируется не менее 500.
В первые 25 процентов сюжетных квэстов персонажа должно кидать в одно место, а как тольк он доберется до 26% сюжетного квеста ему нужно смить локацию респа.
Но это грубый подсчет.Короче сейчас нужно, чтобы персонаж после смерти респился в определнном месте и с нужными мне условиями (отнять нужное мне чисто Экспы и денег). Причем для всего модуля целиком.
Потом может как нибудь придумаю чтоб после посежения нужной локации место респа сменилось раз и навсегда.
Сейчас бы просто респ наладить
QUOTE (Rezident @ Dec 28 2004, 06:22) |
У меня модуль уже состоит из 85 локаций. Планируется не менее 500. |
Rezident , пойми, локации это не модуль! Диалоги, игровая механика модуля, все это надо делать и все это важно. Остановись пока. Что бы оживить 90 локаций ПЛ нам потребовалось больше года.
Falcon
Dec 28 2004, 11:45
QUOTE (DBColl @ Dec 27 2004, 20:58) |
Если скрипт у тебя стоит в OnClientEnter модуля, то для получения объекта входящего ПС тебе надо брать его по-другому:
Neverwinter Script Source | object oTarget=GetEnteringObject(); |
Замени это и все должно работать. |
не я все таки решил сделать одну локу стартовую, посемуу меня усе пашет, а из нее разбарсывать людей через диалог с НПЦ. обьясняю почему - тоже нпц рассказывает про правила обязанности и права а так же описывает немного игровой мир.
<small>Добавлено в 11:57</small>
QUOTE (Aiwan @ Dec 28 2004, 09:49) |
Rezident , пойми, локации это не модуль! Диалоги, игровая механика модуля, все это надо делать и все это важно. Остановись пока. Что бы оживить 90 локаций ПЛ нам потребовалось больше года. |
незнаю я планирую всего около 120 лок, изних именно беговых около 40 остальное масетрские магазины и прочее. но тут соглаен нарисовать локу у меня уходит 30-40 минут оживить ее около 4 часов это при наплыве вдохновения т без создания квестов только мерчанты, прохожие и прочая дребедень. прока просто рисуем костяк шарда. квесты даже незенаю, стоит ли начинать делать.
вопрос нумбер айн, нужен пример кода для создания субрас но ........ субрасса должа зависеть от рассы цвета кожи и волос. тоесть хочц сделать из отражений войнов что описанны в "ружьях авалона" 6 пальцев там зеленая кожа черный волосы. в приниципе делаться будет из орков, но нужно именно наличие зеленой кожи и черных волос.
зы вопос нумбер цвай. подстажиет ге почитать про систему лута. как организовывется, куски кода.
2 Аваддон, ты переводил систему гильдий, разобрался как она работает ? я чего-то ничего не понимаю, что она вообще делает и как. и хотел сказать огромное спасибо за ЦНР, прикрули его к модулю в течении 5 минут

получил кучу удовольствия от того что не надо думать над крафтом. Вселенсике респекты. так же юзаю твою систему отдыха, нравиться больше чем нордоковская. рпавда хотел сделать что бы в ней спать было можно не раньше чем через 8 часво, но передумал, и так :)напряжно. тока дрова у меня будут брать с собой в путь по дороге не нарубят. тоесть приходитться нести большой груз с собой. всем спасибо за помощь
Comper
Dec 28 2004, 13:53
Для того, чтоб на линуксе работал NWNX обязательно ставить ODBC?
DBColl
Dec 28 2004, 13:59
QUOTE (Falcon @ Dec 28 2004, 10:45) |
2 абандон |
QUOTE (Falcon @ Dec 28 2004, 14:45) |
субрасса должа зависеть от рассы цвета кожи и волос. тоесть хочц сделать из отражений войнов что описанны в "ружьях авалона" 6 пальцев там зеленая кожа черный волосы. в приниципе делаться будет из орков, но нужно именно наличие зеленой кожи и черных волос. |
Забудь.
Falcon
Dec 28 2004, 15:58
QUOTE (DBColl @ Dec 28 2004, 13:59) |
Мне кажется он не ответит на такое обращение... |
исправил

сории быстро набираю
Falcon
Dec 28 2004, 16:02
QUOTE (Aiwan @ Dec 28 2004, 14:17) |
Забудь. |
Понял.
ок вопрос нумбер драй
я раскидал ПЦ хаотов в хаос, лавфулов в амбер нейтралов еще куда надо, а как их пометить, чеб определенный фракции мди к ним дружелюбны определенные враждебны. и можно ли автоматом хаотов делать к амберцам дизлайками ?
MasterMage
Dec 28 2004, 19:25
Rezident
зачем писать скрипт.....Зайди в модель компаний НВН, там как раз нужный тебе...
А вот простой, без отнятия экспы и золотишка:)
Neverwinter Script Source |
void main() { object oWP=GetObjectByTag("Recall"); object oRespawner = GetLastRespawnButtonPresser(); ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner); ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner); SetLocalInt(oRespawner,"Dead",TRUE); SetLocalLocation(oRespawner,"START_POINT", GetLocation(oRespawner)); AssignCommand(oRespawner,ActionJumpToObject(oWP));
} |
а вот назад
Neverwinter Script Source |
void main() { object oPC=GetEnteringObject(); effect oEf=EffectVisualEffect(VFX_FNF_IMPLOSION); effect oEf2=EffectVisualEffect(VFX_IMP_HEALING_X); SetLocalInt(oPC,"Dead",FALSE); DelayCommand(0.5,ApplyEffectToObject(DURATION_TYPE_INSTANT,oEf,oPC)); DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_INSTANT,oEf2,oPC)); DelayCommand(2.0,AssignCommand(oPC,JumpToLocation(GetLocalLocation(oPC,"START_POINT")))); } |
Aiwan мой вопрос забыли?

....ты прав....Вот у мну 22 локации, но уже куча написанных без мастера квестов, сюжет по книге и диалоги....(нини, я не хвастаюсь)
DBColl
Dec 28 2004, 19:44
QUOTE (MasterMage @ Dec 28 2004, 18:25) |
.Вот у мну 22 локации, но уже куча написанных без мастера квестов, сюжет по книге и диалоги....(нини, я не хвастаюсь) |
Отлично. Трезвая оценка собственных сил.
Про лут написано в разделе про шарды. Там ссылка на разобранную систему и что-то еще.
Tarron
Dec 28 2004, 21:32
Вот млин инета небыло долго .
За время накопилась огромная куча вопросов .Постю сюда мб кто и ответит=)
1- ВАЖНО Возможно сделать скрипт чтобы охранники злого города атакили всех кто не ивил.
2- доброго всех кто ивил
3- Гварды атакили всех у кого нет определенного предмета
4- ВАЖНО Как реализовать респоун вещей в сундуках по времени(шмотка фиксовая сундук бессмертный)
5- можно реализовать респоун деревьев? (рубишь достаешь дерево через минут 10 опять приходишь на вырубку)
6- Как сделать чтобы дерево билось только топором
7- ОЧЕНЬ важно . Как сделать чтобы монстр выбрасывал свой лут
в 20% случаев после смерти(монстры кидают фикс предмет надо чтоб он хоть как-то сохранял свою ценность)
8- Персонаж при смерти ронял бы 1 вещь из того что на нем одето(появляеться смысл убивать плэеров и погибать часто тоже резону становиться меньше)
9- Как изменить алаймент на 1 в ивили если убил когото или на 1 в гуд если когото другого=) ну или сдела чтонить хорошее.
10- Что сменить в скрипте смерти чтобы отношение оставалось прежним а не менялось на дефолт
11- Как сделать изменение отношения какойнить фракции к плэеру.
Заранее извиняюсь за такой дикий пост уже представляю мысли- ну чувак ваще озверел все за него делать мы должны=)
Просто кто поможет большое спасибо.
А да и самое важное ПЛЗ у меня очень мало трафа обьясните здесь плз как вставить картинки в загрузку зоны (видел пост такой но там кудато отсылают а искать трафа совсем нету ну или дайте хотябы ссылку точно на статью плз)Огромное заранее спасибо.
1, 2. На скрипт onPerseption гвардов вешаем проверку элаймента.
3. На скрипт onPerseption гвардов вешаем проверку предмета в инвенторе или слоте игрока.
4. Я бы сделал через спавн в закрытой локе крича. У него в спавн скрипте запускается создание шмотки в сундуке, а через ExecuteScript(XX.0,"script")
где ХХ это задержка в секундах (те через сколько секунд создастся новый предмет.)
а "скрипт" это имя спавн-скрипта. Надо не забыть проверку, что если предмет уже есть, то новый делать не надо.
5. точно таким же подходом, как и 4. Только немного модифицир.
6. Хм...сложный вопрос. Я пока не придумал хорогшего способа.
7. К шардовикам.
8. На смерть игрока рандом число от 1 до 14, копия вещи со слота с этим номером на землю, потом удаление вещи у игрока.
9. Скриптами. Кого тама надо убить, чтобы двинуть элаймент? Если плэера, то на смерть игрока, если НПС, то на его смерть.
10. Убери строки отчистки персональной репутации. (там есть коментарий)
11. AdjustReputation В нее загоняешь игрока, члена фракции и число.
Tarron
Dec 28 2004, 22:32
Млин всё круто но =))))
Скрипты кто подмогет как выглядят на первые пункты они плз с элайментом и еси кому не в лом с дропом вещи при смерти.(ну полный я ламер)
и еще про картинки плз чтонить вразумительное уже 4 раза тему заминали=) (я без претензий просто очень надо)
Блин...про картинки: есть прога на волте скринмакей или что-то такое. Она превращает картинку в нужный вид.
1,2:
добавка к стандартному скрипту:
Neverwinter Script Source |
object oPC = GetLastPerceived(); int iSeen = GetLastPerceptionSeen(); int PCAL = GetAlignmentGoodEvil(oPC); if (GetIsPC(oPC)) { if (iSeen) { if (PCAL!=ALIGNMENT_EVIL) DetermineCombatRound(oPC); } } |
Это для охраны злого города. Остальное по аналогии.
Есть минусы, ессно. Но суть ясна.
3:
добавка к стандартному скрипту:
Neverwinter Script Source |
object oPC = GetLastPerceived(); int iSeen = GetLastPerceptionSeen(); int ITM = HasItem(oPC,"TAG_OF_ITEM"); if (GetIsPC(oPC)) { if (iSeen) { if (!ITM) DetermineCombatRound(oPC); } } |
Для работы этого куска кода надо добавить в начале скрипта, до void main() вот это : #include "nw_i0_plot"
4:
спавн скрипт крича (spw_chestmaster) в закрытой локе :
Neverwinter Script Source |
void main() { object oChest = GetObjectByTag("YOUR_PLOT_CHEST"); object oItem = GetFirstItemInInventory(oChest); while GetIsObjectValid(oItem) // отчистка сундука от всего, что в нем есть { DestroyObject(oItem); oItem = GetNextItemInInventory(oChest); } CreateItemOnObject("TAG_OF_ITEM",oChest,1); // создание фикс. вещи ExecuteScript(600.0,"spw_chestmaster"); // через 600 секунд повторить. } |
все писалось без Тсулсета, соотв. без проверки на ошибки. Будут, сообщайте.
Tarron
Dec 28 2004, 22:44
Спасибо за скрипт.
ОГРОМНОЕ.
Плз если кто знает дайте плз конкретную ссылку.Трафик у меня платный=(((
Tarron
Dec 28 2004, 23:01
О блин грит сенкс ты спас мой трафик+))
Falcon
Dec 28 2004, 23:27
QUOTE (Lex @ Dec 28 2004, 21:23) |
Про лут написано в разделе про шарды. Там ссылка на разобранную систему и что-то еще. |
чегой-то ненашел
http://www.wrg.ru/forums/index.php?showtopic=251а вообще...
там (в разделе Шарды) на самом деле много там поднималось. Просто внизу страницы выбери отображать все темы (а не за последние 30 дней). Там 2 страницы.
Tarron
Dec 29 2004, 12:21
Можно плз поподробнее как через спаун шмота в сундуке в закрытой локе сделать чтоб шмот спавнился в других сундуках я не очень понимаю как сделать (знаю что все так делают)=))
для полного дауна плз.
да и еще Ну для совсем полного дебила при добавлении 1 скрипта про алаймент в дефолтный на строчке
object oPC = GetLastPerceived();
пишет ошибку при компиляции
nw_c2_default2.nss(14): ОШИБКА: НЕПОНЯТНОЕ УСЛОВИЕ КОМПИЛЯТОРА
обьясни полену как добавить этот кусок в дефолтный скрипт OnPerception
Lemegeton
Dec 29 2004, 14:40
QUOTE |
поподробнее как через спаун шмота в сундуке в закрытой локе сделать чтоб шмот спавнился в других сундуках |
Кхе, Лекс слегка непонятно выразился. Данный скрипт вешается на OnSpawn существа, "находящегося", а точнее, появляющегося, на этой локе. После этого, существо можно хоть убить.
QUOTE |
пишет ошибку при компиляции |
Нет контекста, но, возможно, ты добавляешь строки перед открывающей "{"

. Посмотри.
Кхе, там, в стандартном скрипте (HоU, во всяком случае), уже есть строчки
Neverwinter Script Source |
object oPercep = GetLastPerceived(); int bSeen = GetLastPerceptionSeen(); |
Лучше уже обозначенными переменными пользоваться.
А еще лучше, не заменять стандартный файл, а создать свой. Хотя, по-любому, заменить его сложно.
Tarron
Dec 29 2004, 16:18
Все спасибо я скрипты воткнул атакуют злых все верно но только после того как ты с ним заговоришь или кликнешь на него по другому нет.
Lemegeton
Dec 29 2004, 17:15
Странно. Ты воспользовался стандартными переменными? Тут может быть фишка с GetLastPercieved. При повторном использовании он может дать другой результат. Не проверял, но так должно быть по смыслу.
Все. Ухожу на каникулы. До 11.01.2005! Всем удачно встретить Новый Год.
MasterMage
Dec 29 2004, 18:20
Как опыт увеличить за врагов на встрече? А за тех, что НПС....Уровень повышать????
А как написать, чтоб прихвостень стал равным с тобой уровнем, когда присоединяется? Все для Henchmena я ставил с оригинал НВН....
Lemegeton
Dec 29 2004, 19:11
QUOTE |
Как опыт увеличить за врагов на встрече? |
1. Через 2да (запаришься);
2. Событие OnDeath и ф-ция GiveXP.
QUOTE |
А за тех, что НПС....Уровень повышать???? |
Почему? Экспа определяется, в основном, разницей в уровне... Т.е. если ты раскачался до небес, и завалил этого НПЦ с одного удара тебе уровень поднимать не надо...
QUOTE |
А как написать, чтоб прихвостень стал равным с тобой уровнем, когда присоединяется? Все для Henchmena я ставил с оригинал НВН.... |
Посмотри внимательно. В тулсете, у прихвостня в событиях, там где скрипты, есть кнопочка, которая подгружает готовый набор событий. Там уже есть набор для SoU хенчей.
Все. Ухожу на каникулы. До 11.01.2005! Всем удачно встретить Новый Год.
DBColl
Dec 29 2004, 20:36
QUOTE (MasterMage @ Dec 29 2004, 17:20) |
Как опыт увеличить за врагов на встрече? А за тех, что НПС....Уровень повышать???? |
В настройках модуля есть XP Scale. Подвигай ее.
MasterMage
Dec 29 2004, 20:47
DBColl Lemegeton пасиб за советы....сеньки как говрится....Щас посмотрим...... А вы как диалоги делаете и (сюжеты тоже)? Через переменные? Просто интересно...
DBColl
Dec 29 2004, 20:57
QUOTE (MasterMage @ Dec 29 2004, 19:47) |
А вы как диалоги делаете и (сюжеты тоже)? Через переменные? Просто интересно... |
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.