![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3071
|
|
Level 1 Класс: Варвар Характер: Lawful Good Раса: Полуорк ![]() |
Кто нибудь, пожалуйста, подскажите скрипт для шахида, он должен подбегать к NPC и взрываться.
|
![]() ![]()
Сообщение
#3072
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Помогите пожалуйста,у меня есть скрипт,и разговор,в котором должен этот скрипт действовать(хенч должен весь мой инвентарь положить себе)
Neverwinter Script void main() { object oMaster = GetPCSpeaker() object oItem = GetFirstItemInInventory(oMaster) object oNewMaster=GetNearestObjectByTag("HEN_GRORK",oMaster) CopyItem(oItem,oNewMaster,FALSE) { while(GetIsObjectValid(oItem)) { if(GetBaseItemType(oItem) == BASE_ITEM_LARGEBOX) { CreateItemOnObject(GetResRef(oItem), oNewMaster, 1); if(iDel==TRUE) DestroyObject(oItem, 0.5); } else { CopyItem(oItem, oNewMaster, TRUE); if(iDel==TRUE) DestroyObject(oItem); } oItem = GetNextItemInInventory(oMaster); } } } Скрипт ругается на четвертую строчку,уже пробовал убирать-добавлять точку с запятой,теги вродь object,int ,сам переписал весь код-все равно ругается.НА вся кслучай сразу говорю-скрипт ставил на совершение действия хенчем в разговоре Плиз,хелп (IMG:style_emoticons/kolobok_light/shout.gif) Помогите пожалуйста,у меня есть скрипт,и разговор,в котором должен этот скрипт действовать(хенч должен весь мой инвентарь положить себе) Neverwinter Script void main() { object oMaster = GetPCSpeaker() object oItem = GetFirstItemInInventory(oMaster) object oNewMaster=GetNearestObjectByTag("HEN_GRORK",oMaster) CopyItem(oItem,oNewMaster,FALSE) { while(GetIsObjectValid(oItem)) { if(GetBaseItemType(oItem) == BASE_ITEM_LARGEBOX) { CreateItemOnObject(GetResRef(oItem), oNewMaster, 1); if(iDel==TRUE) DestroyObject(oItem, 0.5); } else { CopyItem(oItem, oNewMaster, TRUE); if(iDel==TRUE) DestroyObject(oItem); } oItem = GetNextItemInInventory(oMaster); } } } Скрипт ругается на четвертую строчку(object oItem = GetFirstItemInInventory(oMaster)),уже пробовал убирать-добавлять точку с запятой,теги вродь object,int ,сам переписал весь код-все равно ругается.НА вся кслучай сразу говорю-скрипт ставил на совершение действия хенчем в разговоре Плиз,хелп (IMG:style_emoticons/kolobok_light/shout.gif) |
![]()
Сообщение
#3073
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Плиз,хелп shout.gif Не стоят точки с запятой в конце 3-5, 7 строк. Еще лишняя пара фигурных скобок - сразу после CopyItem и закрывающая в конце. К тому же не олределена переменная iDel типа int, насколько видно. Сообщение отредактировал greye - Mar 15 2009, 16:46 |
![]()
Сообщение
#3074
|
|
Level 1 ![]() Класс: Маг Характер: Lawful Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
Цитата Кто нибудь, пожалуйста, подскажите скрипт для шахида, он должен подбегать к NPC и взрываться. Ну вот например так Neverwinter Script float fDelay = GetDistanceToObject(GetNearestObjectByTag("npc_tag"))/15; //точно не помню эту формулу AssignCommand(OBJECT_SELF, ActionForceMoveToObject(GetObjectByTag("npc_tag"), TRUE)); DelayCommand(fDelay, ExecuteScript("detonate", OBJECT_SELF)); SetLocalInt(OBJECT_SELF,"ACTIVATED_OBJECT",TRUE); и в OnDamaged такое Neverwinter Script if(GetDamageDealtByType(DAMAGE_TYPE_FIRE) > 0 && GetCurrentHitPoints() < 0) ExecuteScript("detonate",OBJECT_SELF); detonate: Neverwinter Script void main() { object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(OBJECT_SELF), FALSE, OBJECT_TYPE_DOOR | OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE); while(GetIsObjectValid(oTarget)) { int nDamage = 450+d100(); nDamage = GetReflexAdjustedDamage(nDamage, oTarget, 45, SAVING_THROW_TYPE_FIRE); effect eDam = EffectDamage(nDamage, DAMAGE_TYPE_FIRE); ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIREBALL), oTarget); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_FLAME_M), oTarget); DestroyObject(OBJECT_SELF); oTarget = GetNextObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(OBJECT_SELF), FALSE, OBJECT_TYPE_DOOR | OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE); } int nCount=0; while(nCount<4) { float fRandom = GetRandomDelay(0.3,1.0); DelayCommand(fRandom, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVi sualEffect(VFX_COM_BLOOD_LRG_RED),oPC)); DelayCommand(fRandom, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVi sualEffect(VFX_COM_BLOOD_REG_RED),oPC)); DelayCommand(fRandom, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVi sualEffect(VFX_COM_CHUNK_RED_LARGE),oPC)); nCount++; } } |
![]()
Сообщение
#3075
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
ребята помогите. Начинаю грызть науку скриптования и главный вопрос по каст сценам. Пропишите ка создать как сцену которая наиналась бы с того что созданый вами персонаж лежал на кровати как бы в забытие и потом сцена переходила бы на воспоминания. похоже как в ПЛ, когда вас оттубасили два урка и вы валяетесь на кровати у Ви. Только наоборот. Сначала на кровати а потом сцена с забытием, которая переходит на новые и новые сценки?
СПС огромное. |
![]()
Сообщение
#3076
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
скриптовые сценки - одно из самых трудных. Не потому что там какие-то знания запредельные нужны, наоборот, там просто все. Но требует туеву кучу терпения.
Чтобы лежать на кровати - нужен специальный тайл с другим вокмешем, он у нас в хак-паке. В остальном то, что ты просишь обычно делают самостоятельно. На такой ролик может уйти несколько недель. Можешь для начала в ПЛ глянуть скрипты ролика забытья, чтобы проникнуться. Тут рядом есть темка для новичком по роликам, ознакомься с ней. Там Айв популярно разжевывает куда копать (IMG:style_emoticons/kolobok_light/smile.gif) |
![]() ![]()
Сообщение
#3077
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Не стоят точки с запятой в конце 3-5, 7 строк. Еще лишняя пара фигурных скобок - сразу после CopyItem и закрывающая в конце. К тому же не олределена переменная iDel типа int, насколько видно. Спасибо огромнейшее (IMG:style_emoticons/kolobok_light/yahoo.gif) все получилось! (IMG:style_emoticons/kolobok_light/thank_you.gif) Просто у мя не действует скрипт на копи инвентори =(а у мну как раз на него есть пример.пришлось самому все переделывать... Так,вот еще один вопросик:как сделать предмет бессмертным?Персонажа я умею таковым делать,а вот предмет не умею.плизз,хелп (IMG:style_emoticons/kolobok_light/help.gif) |
![]()
Сообщение
#3078
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
предмет в смысле placeable? Ящик там или дерево?
флажок plot в свойствах поставить. |
![]()
Сообщение
#3079
|
|
Level 3 ![]() Класс: Клерик Характер: Lawful Good Раса: Дварф ![]() |
А как реализовать прокачку героя до 60 лвл????
|
![]()
Сообщение
#3080
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
2da + скрипты. Но толку с этого немного, даже если пропишешь фиты 40-60 уровень.
Если в этой фразе ты ничего не понял - лучше не ломай над этим голову. наверняка есть другие задачи по модулю, более реалистичные и полезные. |
![]()
Сообщение
#3081
|
|
Level 3 ![]() Класс: Клерик Характер: Lawful Good Раса: Дварф ![]() |
Почему у меня не получается при диалоге с НПС (Продавец конец) немогу создать коня возле себя
пишу в диалоге в Action taken Neverwinter Script void main() { object oPC = GetPCSpeaker(); CreateObject(OBJECT_TYPE_CREATURE,"horse_ad1",GetLocation(oPC)); TakeGoldFromCreature(1000, oPC); НПС тока деньги забирает а коня нету. |
![]()
Сообщение
#3082
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
проверь res-ref лошади, который в скрипте "horse_ad1". У тебя в палитре должен быть такой объект с именно таким резрефом (не тэгом, а резрефом).
|
![]()
Сообщение
#3083
|
|
Level 3 ![]() Класс: Клерик Характер: Lawful Good Раса: Дварф ![]() |
хм....а я tag туда писал в место ResRef... его вроде уже нельзя изменить нада при создании менять
странно я думал tag уникальный индификатор я по нему переходы из локу в локу делал порталы. т.д. думал с обьектами также...Мда |
![]()
Сообщение
#3084
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ты просто недопонимаешь смысл тэга и резрефа.
Если по простому: тэг - неуникальный идентификатор размещенного в модуле объекта. Неуникальный, значит что ты можешь задать нескольким объектам одинаковый тэг.. а можешь и не задавать. Уникальность тэга для каждого объекта зависит от тебя. резреф - уникальный идентификатор объекта в палитре. Те в палитре может быть только 1 объект с таким резрефом. При этом в модуле все эти размещенные объекты будут иметь одинаковый резреф. при работе с объектами уже размещенными на локациях - используется тэг. Можно в принципе использовать и резреф, но функционал крайне ограничен, тэг удобнее и покрывает весь спектр возможных задач. При скриптовом создании новых объектов из палитры, используется только резреф. понятнее стало? зы: да, реф задается при создании. Но если объект уже есть в палитре, настроенный и все такое и влом создавать новый с правильным рез-рефом, делай копию. У копии поле рез-реф будет доступно для редактирования. |
![]()
Сообщение
#3085
|
|
Level 3 ![]() Класс: Клерик Характер: Lawful Good Раса: Дварф ![]() |
Да спасиба очень помогло
|
![]()
Сообщение
#3086
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Можно как-нибудь сделать вокруг врага ауру,которая отбивает стрелы/уменьшает силу ударов/ускоряет врага?и чтоб сама аура показывалась до того времени,пока у врага не останется половины жизней?
|
![]()
Сообщение
#3087
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Можно. Только отбивать стрелы не получится (но можно повысить АС против стрелкового). Все остальное можно.
|
![]()
Сообщение
#3088
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
вот нашел скрипт на нарубку железного деррева.
http://www.city-of-masters.ru/forums/index...amp;#entry94460 Я когда-то задавал вопрос, по поводу, можно ли создать оружие кторое будет дамажить только одних НПС (рассу-монстров), а других нет?! Так вот, можно ли этот скрипт переделать, и ставить на НПС, что бы только одно оружие их било, а другое ломалось? еще видел скрипт из одного модуля(не помнб какого), там монстры обладали свойством разьедать оржие, но повреждение оно им наносилось. Думаю обьеденить эти два скрипта. только как правильно прописать, что бы имея одно оржужие повреждения наносились, а другим (любым)--нет. а то что это "любое" оружие будет разьедаться --это уже найду в скриптах. СПС |
![]()
Сообщение
#3089
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
во-первых реально там ничего не ломается, а лишь выводится сообщение. Можно и ломку отскриптовать если шибко хочется.
во-вторых да, можно перенести на монстров. Надо ли доскриптовывать будет, или нет - хз. Зависит от условий у тебя. У меня спец. оружие было только двуручным, что избавляло меня от проблемы 2х оружий у игрока. Так же у меня не было напарника, поэтому атака дерева партией мною тоже не проверялась. Так же не учтена магия - мне было не актуально. (скрипт из недоделанного Пути Ниндзя, отсюда растут все мои допуски). разъедать оружие? Можно понижать характеристики у оружия, можно накапливать переменную на нем, по достижении критической величины "ломать" оружие. Ломка зависит от твоей системы ломки/починки. |
![]()
Сообщение
#3090
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
там понижаються характеристики и при понижение например до -3 бонус атаки--оружие дестроится.
|
![]()
Сообщение
#3091
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
понятно. В целом - ничего особенно сложного.
|
![]()
Сообщение
#3092
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
а какой скрипт вы ставили на деревья в ПЛ--там где дровосеки (по дороге на Верхний Хаспур) рубят деревья? после дестроя они(деревья) превращаются в поленья, которые потом можно было бы поднять.?
Я шарился по этим деревьям и в письменах ничего не нашел. можете ывложить такой скрипт? |
![]()
Сообщение
#3093
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
странно, вроде как там должны быть все скрипты. Посмотри на всякий случай скрипты дровосеков самих, возможно работу с деревьями я зашил в них.
|
![]()
Сообщение
#3094
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
ок, спс вечером посмотрю. Если не найду, можешь выложить такой скрипт, Лекс? А то я пока не могу такое написать--знаний не хватает (IMG:style_emoticons/kolobok_light/sad.gif)
ПС: еще такой вопросик не по теме. почему нельзя открыть сходу два тулсета, например версии 1.32 и 1.68 или 1.66--не важно. у меня не открывается (IMG:style_emoticons/kolobok_light/sad.gif) сори за "невтемный" вопрос. Сообщение отредактировал serafim - Apr 22 2009, 15:26 |
![]()
Сообщение
#3095
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Есть патч, который позволяет это сделать, но при этом надо запускать тулсеты из разных инсталляций НВН (т.е. из разных папок).
|
![]() ![]() |
Текстовая версия | Сейчас: 30th July 2025 - 13:38 |