![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#4436
|
|
Level 2 ![]() Класс: Псионик Характер: Chaotic Evil Раса: Чудовище ![]() |
У нас разные понятия об эффективности кода.
Кстати, покажешь этот нормальный скрипт? Только не тот который кночит чара. |
![]()
Сообщение
#4437
|
|
Level 6 ![]() ![]() Класс: Маг Характер: Lawful Evil Раса: Нежить ![]() |
Ну, в принципе... если требуется именно анимация на спине, тогда да, это вполне разумный вариант.
|
![]()
Сообщение
#4438
|
|
Level 2 ![]() Класс: Вор Характер: Lawful Good Раса: Человек ![]() |
У меня возник такой вопрос даже 2
1- Как привезать скрипт к свитку ? 2- Как поставить огранечение по уровню к томуже свитку ? Заранее при много блогодарен |
![]()
Сообщение
#4439
|
|
Level 2 ![]() Класс: Псионик Характер: Chaotic Evil Раса: Чудовище ![]() |
1. В скрипте события загрузки модуля('OnModuleLoad') пишем эту
Neverwinter Script SetModuleSwitch (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE); строчку, потом создаем скрипт с таким же именем как тег у свитка. Копируем в скрипт вот это http://pastie.org/pastes/1359105/text (украдено с lexicon'а) и дописываем по своему желанию.2. Ограничение по уровню ставим в том же скрипте функцией GetHitDice() либо если включен ILR, в св-вах шмотки накручиваем стоимость. |
![]()
Сообщение
#4440
|
|
Level 6 ![]() ![]() Класс: Клерик Характер: Chaotic Neutral Раса: Животное ![]() |
Копируем в скрипт вот это http://pastie.org/pastes/1359105/text (украдено с lexicon'а) Стоит добавить, что если используются дефолтные скрипты в слотах OnEquip - x2_mod_def_equ OnUnEquip - x2_mod_def_unequ OnAcquire - x2_mod_def_aqu OnUnAcqucire - x2_mod_def_unaqu OnActivate - x2_mod_def_act То копировать ничего не надо. А если кастомные, тогда или копировать в каждый новый скрипт, то что в ссылке (что муторно) или просто вызвать с кастомных скриптов, соответствующие дефолтные |
![]()
Сообщение
#4441
|
|
Level 2 ![]() Класс: Вор Характер: Lawful Good Раса: Человек ![]() |
Что то я вообше не догнал
Можно по подробнее сам скрипт куда пехать тег придмета А на счёт OnModuleLoad куда сунуть SetModuleSwitch (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE); У меня вот такой: Neverwinter Script // HCR v3.2.0 -
//:://////////////////////////////////////////////////////////////////////////// //:: FileName: HC_On_Mod_Load //:://////////////////////////////////////////////////////////////////////////// /* */ //:://////////////////////////////////////////////////////////////////////////// #include "HC_Inc" #include "HC_Inc_On_Load" #include "HC_Inc_HTF" #include "X2_Inc_Switches" //PC Vampire Subrace System by Fallen code: #include "x2_inc_switches" //ATS code: #include "ats_inc_init" //PCs Autosaving #include "pc_export_inc" //Player Guild System #include "inc_gsystem_evnt" //:://////////////////////////////////////////////////////////////////////////// void main() { //************************************************** ************************** //PCs Autosaving function pc_export_onmoduleload(); //---------------------------------------------------------------------------- //PC Vampire Subrace System by Fallen: // //if you are using another spellscript override you will need to execute the //"f_vampirespells" script right before returning to the spell. If an altered //spell is ran by f_vampirespells SetModuleOverrideSpellScriptFinished will be //set (see x2_inc_switches and x2_inc_spellhook for more info). SetModuleOverrideSpellscript("f_vampirespells"); // ----------------------------------------------------------- // //ATS code { object oMod=GetModule(); ATS_Initialize(); //Player Guild System PGSModuleLoadEvent(); } // ----------------------------------------------------------- // //HCR code: if (!preEvent()) return; // Bioware Module Switches. if (GetGameDifficulty() >= GAME_DIFFICULTY_CORE_RULES) { // * Setting the switch below will enable a seperate Use Magic Device // * Skillcheck for rogues. This only applies to scrolls. //SetModuleSwitch(MODULE_SWITCH_ENABLE_UMD_SCROLLS, TRUE); // * Activating the switch below will make AOE spells hurt neutral NPCS by // * default. SetModuleSwitch(MODULE_SWITCH_AOE_HURT_NEUTRAL_NPC S, TRUE); } // * AI: Activating the switch below will make the creaures using the WalkWaypoint function // * able to walk across areas SetModuleSwitch(MODULE_SWITCH_ENABLE_CROSSAREA_WAL KWAYPOINTS, TRUE); // * Spells: Activating the switch below will make the Glyph of Warding spell behave differently: // * The visual glyph will disappear after 6 seconds, making them impossible to spot //SetModuleSwitch(MODULE_SWITCH_ENABLE_INVISIBLE_GLY PH_OF_WARDING, TRUE); // * Craft Feats: Want 50 charges on a newly created wand? We found this unbalancing, // * but since it is described this way in the book, here is the switch to get it back... //SetModuleSwitch(MODULE_SWITCH_ENABLE_CRAFT_WAND_50 _CHARGES, TRUE); // * Craft Feats: Use this to disable Item Creation Feats if you do not want // * them in your module //SetModuleSwitch(MODULE_SWITCH_DISABLE_ITEM_CREATIO N_FEATS, TRUE); // * Palemaster: Deathless master touch in PnP only affects creatures up to a certain size. // * We do not support this check for balancing reasons, but you can still activate it... //SetModuleSwitch(MODULE_SWITCH_SPELL_CORERULES_DMAS TERTOUCH, TRUE); // * Epic Spellcasting: Some Epic spells feed on the liveforce of the caster. However this // * did not fit into NWNs spell system and was confusing, so we took it out... //SetModuleSwitch(MODULE_SWITCH_EPIC_SPELLS_HURT_CAS TER, TRUE); // * //SetModuleSwitch(MODULE_SWITCH_RESTRICT_USE_POISON_ TO_FEAT, TRUE); // * Spellcasting: Some people don't like caster's abusing expertise to raise their AC // * Uncommenting this line will drop expertise mode whenever a spell is cast by a player //SetModuleSwitch(MODULE_VAR_AI_STOP_EXPERTISE_ABUSE , TRUE); // * SpellScript: This is the name of the spell router script. SetModuleOverrideSpellscript("hc_spell_router"); // Hark - Remarked out all PWDB stuff since it isnt used anymore. //if (GetLocalInt(oMod, "AlreadyExecutedOMD") == 1) // { // postEvent(); // return; // } //else // { SetLocalInt(oMod, "AlreadyExecutedOMD", 1); } //ExecuteScript("hc_pwdb_data", oMod); //SetLocalInt(GetModule(), "ModLoadEvent", 1); //int PWDB_HEARTBEAT_EVENT = 502; //event evEvent = EventUserDefined(PWDB_HEARTBEAT_EVENT); //SignalEvent(OBJECT_SELF, evEvent); // Execute the default script and set the HTF area variables. ExecuteScript("hc_defaults", oMod); ExecuteScript("hc_setareavars", oMod); // Store the starting year, month, day and hour. if (!GetPersistentInt(oMod, "HourStart")) SetPersistentInt(oMod, "HourStart", GetTimeHour()); if (!GetPersistentInt(oMod, "DayStart")) SetPersistentInt(oMod, "DayStart", GetCalendarDay()); if (!GetPersistentInt(oMod, "MonthStart")) SetPersistentInt(oMod, "MonthStart", GetCalendarMonth()); if (!GetPersistentInt(oMod, "YearStart")) SetPersistentInt(oMod, "YearStart", GetCalendarYear()); // Restore the calendar if one was saved. int iCurYear = GetPersistentInt(oMod, "CurrentYear"); if (iCurYear > 0) { int iCurMonth = GetPersistentInt(oMod, "CurrentMonth"); int iCurDay = GetPersistentInt(oMod, "CurrentDay"); int iCurHour = GetPersistentInt(oMod, "CurrentHour"); int iCurMin = GetPersistentInt(oMod, "CurrentMin"); SetCalendar(iCurYear, iCurMonth, iCurDay); SetTime(iCurHour, iCurMin, 0, 0); } // HCR v3.1. //LoopHTFSystemChk(); postEvent(); { //Music Changer: } ExecuteScript("toj_cm_ol",GetModule()); } //:://////////////////////////////////////////////////////////////////////////// |
![]()
Сообщение
#4442
|
|
Level 6 ![]() ![]() Класс: Клерик Характер: Chaotic Neutral Раса: Животное ![]() |
|
![]()
Сообщение
#4443
|
|
Level 2 ![]() Класс: Вор Характер: Lawful Good Раса: Человек ![]() |
Что то я вообше не догнал Можно по подробнее сам скрипт куда пехать тег придмета А на счёт OnModuleLoad куда сунуть SetModuleSwitch (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE); У меня вот такой: Neverwinter Script // HCR v3.2.0 - //:://////////////////////////////////////////////////////////////////////////// //:: FileName: HC_On_Mod_Load //:://////////////////////////////////////////////////////////////////////////// /* */ //:://////////////////////////////////////////////////////////////////////////// #include "HC_Inc" #include "HC_Inc_On_Load" #include "HC_Inc_HTF" #include "X2_Inc_Switches" //PC Vampire Subrace System by Fallen code: #include "x2_inc_switches" //ATS code: #include "ats_inc_init" //PCs Autosaving #include "pc_export_inc" //Player Guild System #include "inc_gsystem_evnt" //:://////////////////////////////////////////////////////////////////////////// void main() { //************************************************** ************************** //PCs Autosaving function pc_export_onmoduleload(); //---------------------------------------------------------------------------- //PC Vampire Subrace System by Fallen: // //if you are using another spellscript override you will need to execute the //"f_vampirespells" script right before returning to the spell. If an altered //spell is ran by f_vampirespells SetModuleOverrideSpellScriptFinished will be //set (see x2_inc_switches and x2_inc_spellhook for more info). SetModuleOverrideSpellscript("f_vampirespells"); // ----------------------------------------------------------- // //ATS code { object oMod=GetModule(); ATS_Initialize(); //Player Guild System PGSModuleLoadEvent(); } // ----------------------------------------------------------- // //HCR code: if (!preEvent()) return; // Bioware Module Switches. if (GetGameDifficulty() >= GAME_DIFFICULTY_CORE_RULES) { // * Setting the switch below will enable a seperate Use Magic Device // * Skillcheck for rogues. This only applies to scrolls. //SetModuleSwitch(MODULE_SWITCH_ENABLE_UMD_SCROLLS, TRUE); // * Activating the switch below will make AOE spells hurt neutral NPCS by // * default. SetModuleSwitch(MODULE_SWITCH_AOE_HURT_NEUTRAL_NPC S, TRUE); } // * AI: Activating the switch below will make the creaures using the WalkWaypoint function // * able to walk across areas SetModuleSwitch(MODULE_SWITCH_ENABLE_CROSSAREA_WAL KWAYPOINTS, TRUE); // * Spells: Activating the switch below will make the Glyph of Warding spell behave differently: // * The visual glyph will disappear after 6 seconds, making them impossible to spot //SetModuleSwitch(MODULE_SWITCH_ENABLE_INVISIBLE_GLY PH_OF_WARDING, TRUE); // * Craft Feats: Want 50 charges on a newly created wand? We found this unbalancing, // * but since it is described this way in the book, here is the switch to get it back... //SetModuleSwitch(MODULE_SWITCH_ENABLE_CRAFT_WAND_50 _CHARGES, TRUE); // * Craft Feats: Use this to disable Item Creation Feats if you do not want // * them in your module //SetModuleSwitch(MODULE_SWITCH_DISABLE_ITEM_CREATIO N_FEATS, TRUE); // * Palemaster: Deathless master touch in PnP only affects creatures up to a certain size. // * We do not support this check for balancing reasons, but you can still activate it... //SetModuleSwitch(MODULE_SWITCH_SPELL_CORERULES_DMAS TERTOUCH, TRUE); // * Epic Spellcasting: Some Epic spells feed on the liveforce of the caster. However this // * did not fit into NWNs spell system and was confusing, so we took it out... //SetModuleSwitch(MODULE_SWITCH_EPIC_SPELLS_HURT_CAS TER, TRUE); // * //SetModuleSwitch(MODULE_SWITCH_RESTRICT_USE_POISON_ TO_FEAT, TRUE); // * Spellcasting: Some people don't like caster's abusing expertise to raise their AC // * Uncommenting this line will drop expertise mode whenever a spell is cast by a player //SetModuleSwitch(MODULE_VAR_AI_STOP_EXPERTISE_ABUSE , TRUE); // * SpellScript: This is the name of the spell router script. SetModuleOverrideSpellscript("hc_spell_router"); // Hark - Remarked out all PWDB stuff since it isnt used anymore. //if (GetLocalInt(oMod, "AlreadyExecutedOMD") == 1) // { // postEvent(); // return; // } //else // { SetLocalInt(oMod, "AlreadyExecutedOMD", 1); } //ExecuteScript("hc_pwdb_data", oMod); //SetLocalInt(GetModule(), "ModLoadEvent", 1); //int PWDB_HEARTBEAT_EVENT = 502; //event evEvent = EventUserDefined(PWDB_HEARTBEAT_EVENT); //SignalEvent(OBJECT_SELF, evEvent); // Execute the default script and set the HTF area variables. ExecuteScript("hc_defaults", oMod); ExecuteScript("hc_setareavars", oMod); // Store the starting year, month, day and hour. if (!GetPersistentInt(oMod, "HourStart")) SetPersistentInt(oMod, "HourStart", GetTimeHour()); if (!GetPersistentInt(oMod, "DayStart")) SetPersistentInt(oMod, "DayStart", GetCalendarDay()); if (!GetPersistentInt(oMod, "MonthStart")) SetPersistentInt(oMod, "MonthStart", GetCalendarMonth()); if (!GetPersistentInt(oMod, "YearStart")) SetPersistentInt(oMod, "YearStart", GetCalendarYear()); // Restore the calendar if one was saved. int iCurYear = GetPersistentInt(oMod, "CurrentYear"); if (iCurYear > 0) { int iCurMonth = GetPersistentInt(oMod, "CurrentMonth"); int iCurDay = GetPersistentInt(oMod, "CurrentDay"); int iCurHour = GetPersistentInt(oMod, "CurrentHour"); int iCurMin = GetPersistentInt(oMod, "CurrentMin"); SetCalendar(iCurYear, iCurMonth, iCurDay); SetTime(iCurHour, iCurMin, 0, 0); } // HCR v3.1. //LoopHTFSystemChk(); postEvent(); { //Music Changer: } ExecuteScript("toj_cm_ol",GetModule()); } //:://////////////////////////////////////////////////////////////////////////// А как быть со свитком Я хочу телепорт через свиток зделать Если вам не трудно помогите плиз Предположим что мне надо поподать постоянно в точку ( 001 ) а тег свитка TP_001 А ResRef ( item01 ) |
![]()
Сообщение
#4444
|
|
Level 6 ![]() ![]() Класс: Клерик Характер: Chaotic Neutral Раса: Животное ![]() |
Так. Постараюсь доступным языком. Сначала идешь в слот OnModuleLoad. Вставляешь сразу же после
void main() { такие строчки Neverwinter Script ExecuteScript( "x2_mod_def_load", OBJECT_SELF); SetModuleSwitch ( MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE); Потом идешь в OnEquip и если там стоит не x2_mod_def_equ вставляешь в скрипт Neverwinter Script ExecuteScript( "x2_mod_def_equ", OBJECT_SELF); Если тот - ничего не делаешь. Ту же процедуру проводишь для других слотов по списку ниже, заменяя данные на нужные OnUnEquip - x2_mod_def_unequ OnAcquire - x2_mod_def_aqu OnUnAcqucire - x2_mod_def_unaqu OnActivate - x2_mod_def_act Потом создаешь любой итем и даешь ему свойство Каст спелл-активатед итем. Создаешь новый скрипт ( в котором и пишешь, что должно произойти при активации) с именем таким же, как и тэг у итема Скрипт должен быть примерно следующий: Neverwinter Script int nEvent =GetUserDefinedItemEventNumber(); if (nEvent == X2_ITEM_EVENT_ACTIVATE) { //Тут что должно произойти } Вобщем как-то так Предположим что мне надо поподать постоянно в точку ( 001 ) а тег свитка TP_001 А ResRef ( item01 ) Значит делаешь то, что я описал выше. Создаешь скрипт TP_001 и пишешь в нем Neverwinter Script int nEvent =GetUserDefinedItemEventNumber(); if (nEvent == X2_ITEM_EVENT_ACTIVATE) { object oPC = GetItemActivator(); //наш игрок object oTarget = GetObjectByTag("WP_001"); // Предварительно созданный в нужном месте ВП // Кидаем чара if (GetIsPC(oPC)) AssignCommand(oPC, ClearAllActions()); AssignCommand(oPC, JumpToObject(oTarget)); } Как-то так Сообщение отредактировал kiruhs - Dec 8 2010, 20:06 |
![]()
Сообщение
#4445
|
|
Level 2 ![]() Класс: Вор Характер: Lawful Good Раса: Человек ![]() |
Потом идешь в OnEquip
Чёт у мея токого нет Единственное что похоже это OnPlayerEquipItem но там пусто вообше |
![]()
Сообщение
#4446
|
|
Level 6 ![]() ![]() Класс: Клерик Характер: Chaotic Neutral Раса: Животное ![]() |
|
![]()
Сообщение
#4447
|
|
Level 2 ![]() Класс: Вор Характер: Lawful Good Раса: Человек ![]() |
не работает
kiruhs, Может если тебе не трудно полностью напишиш скрипты |
![]()
Сообщение
#4448
|
|
Level 6 ![]() ![]() Класс: Клерик Характер: Chaotic Neutral Раса: Животное ![]() |
kiruhs, Может если тебе не трудно полностью напишиш скрипты Скрипты, по сути, я тебе уже написал. Дальше, осталось только вместо тебя модуль сделать. Извини, но это уже слишком (IMG:style_emoticons/kolobok_light/rolleyes.gif) ЗЫ. Глянь - http://www.city-of-masters.ru/forums/index...?showtopic=1612 и не выдумывай велосипед Сообщение отредактировал kiruhs - Dec 8 2010, 21:45 |
![]()
Сообщение
#4449
|
|
Level 2 ![]() Класс: Вор Характер: Lawful Good Раса: Человек ![]() |
ну и за это сосибо большое за помошь
|
![]()
Сообщение
#4450
|
|
Level 1 Класс: Оборотень Характер: Chaotic Good Раса: Танар'ри ![]() |
Снова здрасте.
Как сделать так, чтобы во время диалога игрок сдал свое оружие NPC, а потом мог забрать его обратно? |
![]()
Сообщение
#4451
|
|
Level 2 ![]() Класс: Вор Характер: Lawful Good Раса: Человек ![]() |
У меня возник еше такой вопрос
как зделать проверку на обьект в деологе что бы если есть такой придмет то апределёный пункт деалога не показывается ? У меня возник еше такой вопрос как зделать проверку на предмет в деологе что бы если есть такой придмет то апределёная ветка деалога не показывается ? У меня возник еше такой вопрос как зделать проверку на обьект в деологе что бы если есть такой придмет то апределёный пункт деалога не показывается ? У меня возник еше такой вопрос как зделать проверку на обьект в деологе что бы если есть такой придмет то апределёный пункт деалога не показывается ? |
![]()
Сообщение
#4452
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Как ето зделать нописано в мануалах пицот раз. Сматри в базе скрептов в саседнем топеке.
|
![]()
Сообщение
#4453
|
|
Level 3 ![]() Класс: Воин Характер: True Neutral Раса: Эльф ![]() |
При запуске свойств НПС у меня открывается такая ошибка: "TdlgCreatureEdit::LoadClasses: Invalid Strref found in Name field of Classes.2DA. Please fix the Strref for Purple_Dragon_Knight and try again"
Я проверил 2DA, вроде ничего подозрительного в нем нет (на мой непросвещенный взгляд), я заменил 2DA на такой же с другого компа (который неделю назад прекрасно работал, 2DA, а не комп, хотя комп тоже...). В результате все та же ошибка и когда тестирую модуль никаких созданий, мною поставленных, там нет. Что это, вообще, и как это исправить? |
![]()
Сообщение
#4454
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Dialog.tlk не трогал?
|
![]()
Сообщение
#4455
|
|
Level 3 ![]() Класс: Воин Характер: True Neutral Раса: Эльф ![]() |
В него не лез. Только скопировал недавно. Вообще, вчера было все хорошо. После этого я ничего особенного не делал. А сейчас вот так.
|
![]()
Сообщение
#4456
|
|
Level 1 Класс: Оборотень Характер: Chaotic Good Раса: Танар'ри ![]() |
Кажется, мой вопрос не был замечен, так что повторяю.
Как сделать так, чтобы во время диалога игрок сдал свое оружие NPC, а потом мог забрать его обратно? |
![]()
Сообщение
#4457
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Код Как сделать так, чтобы во время диалога игрок сдал свое оружие NPC, а потом мог забрать его обратно? Скриптами. |
![]()
Сообщение
#4458
|
|
Level 2 ![]() Класс: Псионик Характер: Chaotic Evil Раса: Чудовище ![]() |
StasMokos
Поставь критикал ребилд 1.69. Aldaron Возможно SetLocalObject поможет. |
![]()
Сообщение
#4459
|
|
Level 1 Класс: Оборотень Характер: Chaotic Good Раса: Танар'ри ![]() |
elsefalse
А подробнее можно? |
![]()
Сообщение
#4460
|
|
Level 1 Класс: Маг Характер: True Neutral Раса: Человек ![]() |
Откуда качать всё необходимое для игры на это шарде?
|
![]() ![]() |
Текстовая версия | Сейчас: 18th August 2025 - 19:36 |