![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]() ![]()
Сообщение
#1
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Здравствуйте уважаемые сограждане!
Я тут думал и пришел к выводу, что игрок слишком жёстко заключён в рамки классов в невервинтере, поэтому у меня появились некоторые идеи как сделать игру интереснее и добавить некоторые фишки, такие как оборотничество(не класс), вампиричество и т. п и др. Моя проблема в том что я совершенно не разбираюсь в скриптах и поэтому надеюсь что вы поможите воплотить мои идеи. Если кому эти самы идеи интересны, отпишитесь, я с радостью предьявлю 2 из них в развернутом варианте, а пока подумаю над другими (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) |
![]() |
![]()
Сообщение
#2
|
|
Level 3 ![]() Класс: Псионик Характер: Neutral Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Цитата Нашёл небольшой баг, если выпить лекарство находясь в форме оборотня,то навсегда остаёшся "волком"!!! Замени скрипт on_activated на этот Neverwinter Script /* Автор: Lamonde, aka Veliant (nordock.ru) Дата: 09/08/2008 Код вешается на on_activate модуля */ void main() { object oPC = GetItemActivator(); // "кто" активировал object oItem = GetItemActivated(); // "что" активировал if (GetTag(oItem) == "pot_were_cure000") //если активированный предмет был лекарством, то {//начало object oMoonStone = GetItemPossessedBy(oPC, "moon_stone000"); //булыжник string sTime = "Time"; //время (строчка) int nTime = GetLocalInt(oMoonStone, sTime); //значение числовой переменной "Time" на булужнике //"Time" отвечает за кол-во прошедших ночей после заражения if(nTime >= 3)//если прошло 3 ночи { AssignCommand(oPC, ActionSpeakString("Это мне уже не поможет..."));//лекарство уже не поможет } else//если же еще не прошло 3 ночи { if (GetItemPossessedBy(oPC, "moon_stone000")==OBJECT_INVALID)//если игрок не заражен { AssignCommand(oPC, ActionSpeakString("Что за гадкий отвар?!..."));//лекарство ему ничего не сделает } else// но, если все таки заражен, то { int nHuman = IP_CONST_RACIALTYPE_HUMAN; int nElf = IP_CONST_RACIALTYPE_ELF; int nDwarf = IP_CONST_RACIALTYPE_DWARF; int nGnome = IP_CONST_RACIALTYPE_GNOME; int nHalfling = IP_CONST_RACIALTYPE_HALFLING; int nHalf_Elf = IP_CONST_RACIALTYPE_HALFELF; int nHalf_Orc = IP_CONST_RACIALTYPE_HALFORC; if (GetRacialType(oPC) == nHuman) //если человек, то { SetCreatureAppearanceType(oPC, APPEARANCE_TYPE_HUMAN); //меняем его апперку на человека } if (GetRacialType(oPC) == nElf) //если эльф, то { SetCreatureAppearanceType(oPC, APPEARANCE_TYPE_ELF); //меняем его апперку на эльфа } //ну и т.д. в том же духе if (GetRacialType(oPC) == nDwarf) { SetCreatureAppearanceType(oPC, APPEARANCE_TYPE_DWARF); } if (GetRacialType(oPC) == nGnome) { SetCreatureAppearanceType(oPC, APPEARANCE_TYPE_GNOME); } if (GetRacialType(oPC) == nHalfling) { SetCreatureAppearanceType(oPC, APPEARANCE_TYPE_HALFLING); } if (GetRacialType(oPC) == nHalf_Elf) { SetCreatureAppearanceType(oPC, APPEARANCE_TYPE_HALF_ELF); } if (GetRacialType(oPC) == nHalf_Orc) { SetCreatureAppearanceType(oPC, APPEARANCE_TYPE_HALF_ORC); } AssignCommand(oPC, ActionSpeakString("Болезнь отступила!...")); //на радостях DestroyObject(GetItemPossessedBy(oPC, "moon_stone000"));// выкидывает булыжник из инвента (IMG:style_emoticons/kolobok_light/smile.gif) } } }//конец } Цитата Ещё один нашел, даже если амулет на шее, ночью превращаешся в оборотня(хотя возможно это вызвано тем, что персонаж которым я заходил, уже заходил в этот модуль раньше и был заражён и стал оборотнем навсегда.) Так задумано, что во время лечения, он все еще продолжает превращаться в оборотня. Это не баг.Цитата 3-й баг, если играть шифтером, заразится, потом на ночь превратиться в (например) минотавра, а когда тебя сделает "волком", нажать отменить полиморф, снова стаёшь человеком. Предлагаю в скрипт болезни добавить пару строчек, которые если шифтер-не заражают, если берешь шифтера уже являясь ликантропом-болезнь сходит и появляется фраза, "я подкорил свою болезнь" Тогда надо, как-то править все полиморфные возможности классов (друид, сорс/виз, рейнджер, шифтер и т.д.).Огнеслав, в реале возникли проблемы, поэтому врят ли смогу дописать болезнь. Возможно кто-нибудь другой сможет закончить данную систему. П.С. Возможно, если будет по свободней с временем, вернусь к написанию кода, а так, думаю дал хороший толчек для продвижения. (IMG:style_emoticons/kolobok_light/smile.gif) |
![]() ![]() |
Текстовая версия | Сейчас: 29th April 2025 - 15:13 |