![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3211
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Если говорит: "Прощай!", то точек нет или они не правильно пробиты... Я думаю ты забыл пробить нижний дефис между приставкой и тегом.
Если тег N, то теги точек должны быть: EXIT_N TROP_N Звиняюсь... Тока доглядел чего ты в скрипте напортачил... Это универсальный скрипт и нечего в него еще и теги НПС пробивать... Neverwinter Script object oPoint1 = GetObjectByTag("TROP_N"+ GetTag(oSelf)); object oPoint2 = GetNearestObjectByTag("EXIT_N"+ GetTag(oSelf)); Тут в моем скрипте написано: Neverwinter Script object oPoint1 = GetObjectByTag("TROP_"+ GetTag(oSelf)); object oPoint2 = GetNearestObjectByTag("EXIT_"+ GetTag(oSelf)); Это значит что идет привязка точки к тегу НПСа (+ GetTag(oSelf)-это тег НПСа), а теги точек для твоего НПС с тегом N как раз и будут EXIT_N TROP_N попробуй догодаться какие теги нужны для твоего скрипта... Azzerrotter, надо вникать и пытаться думать. Без этого никакой мега крутой скрипт тебе не поможет. +1 (IMG:style_emoticons/kolobok_light/yes3.gif) Сообщение отредактировал gennady - Dec 14 2009, 16:40 |
![]()
Сообщение
#3212
|
|
Level 2 ![]() Класс: Воин Характер: True Neutral Раса: Эльф ![]() |
спс все по описанию вправил все запахало!
Сообщение отредактировал Azzerrotter - Dec 15 2009, 13:28 |
![]()
Сообщение
#3213
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Люди, помогиге пожалуйста! Я в этих скриптах практически ничего не понимаю, да они мне на самом деле то и не нужны. НО вот какой вопрос. Я начал переводить мод НВН "Кормические ночи". И тут стал такой вопрос, а где находятся реплики НПС'шников, которые появляются у них над головами во время скриптовых сцен? Залажу в НПС, далее в скрипты. Проверил все: ну Conversation, Perception и т.д. но ни в одном из них не нашел команды типа SpeakString или ActionSpeakString. А функция FloatingTextStringOnCreature вообще пассивна и никакого текста не отображает. Может я что-то не догоняю. И не там ищу? Помогите пожалуйста разобраться. Укажите, где этот текст должен быть точно: скрипт и функцию, если он в ней. И еще один вопрос, где должен находится текст в панели отчета? Ну типа "Вы вышли из тюрьмы и в глаза вам ударил яркий солнечный свет" - текст. Там должны по-моему быть такие команды FloatingTextStringOnCreature("Текст."); SendMessageToPC(oPC, "текст"). Очень прошу помогите плиз, а то буит очень обидно, когда ВСЕ диалоги будут на русском, а эти немногочисленные фразы в скриптовых сценах так и останутся непереведенными. Заранее спасибо
|
![]()
Сообщение
#3214
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
WARLORD, в скриптах или в стрингах.
Стринги - строки с описанием могут быть где угодно, хоть на самом НПС или триггере. |
![]()
Сообщение
#3215
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
WARLORD, в скриптах или в стрингах. Стринги - строки с описанием могут быть где угодно, хоть на самом НПС или триггере. Я уже нашел. Там скрипты называются cutscene 1,2,3 и т.д. Но вот еше один ламерский вопрос: как писать в скрипте на русском? а не абракадаброй опять сам разобрался (IMG:style_emoticons/kolobok_light/rolleyes.gif) надо было шрифт поменять |
![]()
Сообщение
#3216
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Скажите, можно ли добавалять фиты персонажу скриптово(на подобии нвна 2, тоесть социальные там всякие(ну вообщем для скрипта всеравног какие, главное можно ли?))
И второй вопрос можно ли добавить фит на оружие через скрипт, из тех что нет в палитре( и врядли они там будут, т.к. их я сделал, а добавлять в палитру нехотелось бы (IMG:style_emoticons/kolobok_light/prankster2.gif) ) |
![]()
Сообщение
#3217
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Вешать на шкуру. Или через NWNX, но это вариант не для сингла.
|
![]()
Сообщение
#3218
|
|
Level 2 ![]() Класс: Бледный Мастер Характер: Chaotic Neutral Раса: Полуэльф ![]() |
Помогите со скриптом пожалуйста. нужно что бы сундук(и др. объекты с инвентарем) пропадали когда из них забирают содержимое, и появлялись заново через 10 минут (вместе с содержимым).
Я поставил на OnClosed скрипт, ломающий объект, а вот восстановить никак не могу... Да, и если можно лучше что бы просто исчезал, а не ломался, и не когда закрывают, а когда забирают содержимое (ведь можно закрыть и не взять, а объект все равно сломается). |
![]()
Сообщение
#3219
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Ставить на onDisturbed.
Neverwinter Script #include "nw_i0_2q4luskan" Можно добавить переноску имени/тега/флажков и т. д. Если инвентарь переменный, то его тоже можно сохранять (а лучше генерить на открытие плейса).
void main() { object oChest = OBJECT_SELF; location lLoc = GetLocation(oChest); string sResRef = GetResRef(oChest); if(GetInventoryDisturbType() == INVENTORY_DISTURB_TYPE_REMOVED && !GetIsObjectValid(GetFirstItemInInventory(oChest)) ) { AssignCommand(GetModule(), DelayCommand(600.0f, CreateObjectVoid(OBJECT_TYPE_PLACEABLE, sResRef, lLoc))); DestroyObject(oChest); } } Сообщение отредактировал Ilerien - Feb 5 2010, 13:49 |
![]()
Сообщение
#3220
|
|
Level 2 ![]() Класс: Бледный Мастер Характер: Chaotic Neutral Раса: Полуэльф ![]() |
о, спасибо большое (IMG:style_emoticons/kolobok_light/thank_you.gif)
Хм..Не знает команды CreateObjectVoid, а чем она отличается от просто createobject? Добавлено: А, все, сорри, это я кривой, не скопировал первую строку, думал это комментарий (IMG:style_emoticons/kolobok_light/pardon.gif) Сообщение отредактировал Norfolk - Feb 5 2010, 13:56 |
![]()
Сообщение
#3221
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Что значит "не знает"? Эта функция лежит в стандартной библе nw_i0_2q4luskan. Отличается от простого создания обжекта тем, что возвращает не обжект, а войд - для того, чтобы можно было передать её в DelayCommand().
|
![]()
Сообщение
#3222
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
|
![]()
Сообщение
#3223
|
|
Level 4 ![]() ![]() Класс: Клерик Характер: Lawful Good Раса: Человек ![]() |
Хотел научить стражников ругаться и подбегать к игроку, если у него в руках находится оружие.
на onPerseption поставил такой кусок: Neverwinter Script object oPC = GetLastPerceived(); if (GetIsPC(oPC)&&GetLastPerceptionSeen()) { object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); if (oWeapon != OBJECT_INVALID) { ClearAllActions(); AssignCommand(OBJECT_SELF, ActionStartConversation(oPC, "noweapon")); SendMessageToPC(oPC, "Я вижу тебя!"); } } "Ай си ю" в лог говорит, а вот диалог не стартует. Нипесь привязан к вейпоинтам, быть может в них дело? Сообщение отредактировал Batkom - Feb 12 2010, 20:53 |
![]()
Сообщение
#3224
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Batkom, попробуй заставь его сначала подойти к игроку
|
![]()
Сообщение
#3225
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Человек ![]() |
возможно ActionDoCommand?
|
![]()
Сообщение
#3226
|
|
Level 2 ![]() Класс: Оборотень Характер: Lawful Good Раса: Человек ![]() |
1. Чета искал, искал и не нашел, можно ли такую фичу сделать, чтоб NPC мог пользоваться определенным предметом (точнее даже свойством предмета - заклинанием с него, уникальные способности там всякие). Скриптово можно только найти талант у NPC в определенной категории (атака, защита, лечение, зелье; на всех, на себя, на кого-то одного), и заставить его использовать, но при этом не контролируется, что именно будет использовать NPC. Можно ли это как то явно указывать. Я чувствую, стандартными средствами этого не сделать, но может в nwnx реализовано?
Мне в частности нужно, чтобы после смерти PC его хенч пытался его воскресить жезлом или свитком. Заклинанием можно заставить, но ждать до 5 круга заклятий для хенча-клерика совсем не вариант, а у остальных даже и этого нет. 2. Можно ли заставить NPC-клерика читать исцеляющие заклинания, если он их не запоминал? Кажись для них самопроизвольное чтение не работает и GetHasSpell() вернет 0... (IMG:style_emoticons/kolobok_light/unsure.gif) Сообщение отредактировал Mingun - Mar 21 2010, 09:18 |
![]()
Сообщение
#3227
|
|
Level 2 ![]() Класс: Оборотень Характер: Lawful Good Раса: Человек ![]() |
Да, и еще. Кто объяснит мне, почему народ так активно юзает CopyObject/DeleteObject для предметов, а не TakeFrom...|GiveTo... ? Переместить ведь должно быть быстрее и идеологически более правильно, чем копирование и последующее удаление? (IMG:style_emoticons/kolobok_light/snoozer_17.gif) (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
|
![]()
Сообщение
#3228
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Neverwinter Script void main() { object oSelf = OBJECT_SELF; object oWp01 = GetNearestObjectByTag("WP1_"+ GetTag(OBJECT_SELF)) // какая проблема здесь? он нехочет компилить... пишет: // ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПЕРЕМЕННОЙ object oWp05 = GetNearestObjectByTag("WP5_"+ GetTag(OBJECT_SELF)) object oWpT01 = GetNearestObjectByTag("WP1_Tavern"+ GetTag(OBJECT_SELF)) //суть этого всего: обозначить теги точек для определенного нпс. //Он будет ходить просто по 5ти точкам(гулять), и будет заходить в таверну. object oWpT05 = GetNearestObjectByTag("WP5_Tavern"+ GetTag(OBJECT_SELF)) object oWpH01 = GetNearestObjectByTag("WP1_HOME"+ GetTag(OBJECT_SELF)) //5 точек, ведушие нпс к дому object oWpH05 = GetNearestObjectByTag("WP5_HOME"+ GetTag(OBJECT_SELF)) if(GetArea(GetFirstPC()) != GetArea(OBJECT_SELF)) return; int T = GetTimeHour(); if (T<7 && T>15) AssignCommand(oSelf, ActionForceMoveToObject(oWp01, TRUE, 4.0)); AssignCommand(oSelf, ActionWait(2.0)); AssignCommand(oSelf, ActionForceMoveToObject(oWp05, TRUE, 4.0)); AssignCommand(oSelf, ActionWait(2.0)); // Как сделать цикл? необходимо, чтобы эти действия // //производились циклически, пока идет время от 7 до 15ти// if (T<15 && T>21) AssignCommand(oSelf, ActionForceMoveToObject(oWpT01, TRUE, 4.0)); AssignCommand(oSelf, ActionWait(2.0)); AssignCommand(oSelf, ActionForceMoveToObject(oWpT05, TRUE, 4.0)); AssignCommand(oSelf, ActionWait(2.0)); ExecuteScript(sit_on_ch_tav) //когда нпс подойдет, он должен быдет сесть на стул. if(T<21 && T>7) AssignCommand(oSelf, ActionForceMoveToObject(oWpH01, TRUE, 4.0)); AssignCommand(oSelf, ActionWait(2.0)); AssignCommand(oSelf, ActionForceMoveToObject(oWpH05, TRUE, 4.0)); AssignCommand(oSelf, ActionWait(2.0)); ExecuteScript(1sleep)//когда настанет ночь, нпс пойдет домой и ляжет спать я немного ужал этот скрипт, убрал повторяюшиеся действия, типа: object oWp01 = GetNearestObjectByTag("WP1_"+ GetTag(OBJECT_SELF)) Мне нужно чтобы этот скрипт работал, и оживил немножко моих нпс-селян. а то они ходят как зомби, или тупо стоят... както нетак=) PS Все вопросы внесены в сам скрипт |
![]()
Сообщение
#3229
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Ошибку выдает т.к. нет точки с запятой после сроки кода. А вот сам скрипт врятли тебе кто напишет... Могу порекомендовать тебе мой мануал по созданию скриптов НПС стоящих в ХБ слоте.
http://remmgen.narod.ru/tscript3.html#SC_HB Сообщение отредактировал gennady - Sep 4 2010, 16:26 |
![]()
Сообщение
#3230
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата 1. Чета искал, искал и не нашел, можно ли такую фичу сделать, чтоб NPC мог пользоваться определенным предметом (точнее даже свойством предмета - заклинанием с него, уникальные способности там всякие). Скриптово можно только найти талант у NPC в определенной категории (атака, защита, лечение, зелье; на всех, на себя, на кого-то одного), и заставить его использовать, но при этом не контролируется, что именно будет использовать NPC. Можно ли это как то явно указывать. Я чувствую, стандартными средствами этого не сделать, но может в nwnx реализовано? Да, в NWNX реализовано, плагин Funcs.Цитата 2. Можно ли заставить NPC-клерика читать исцеляющие заклинания, если он их не запоминал? Кажись для них самопроизвольное чтение не работает и GetHasSpell() вернет 0... Кусок кода из джасперовсого АИ:Neverwinter Script int AI_ActionCastSpontaeousSpell(int iSpellID, int nTalent, object oTarget) Насколько я понимаю, GetHasSpell() прекрасно работает, единственный момент - заставить непися кастить спелл, даже если у него его нет (IMG:style_emoticons/kolobok_light/smile.gif)
{ if(nTalent > i0 && GetHasSpell(iSpellID) && GetObjectSeen(oTarget)) { // Note: Not stored or used in time stop // 8: "[DCR: Casting] Workaround for Spontaeous [SpellID] " + IntToString(iSpellID) + " [Target] " + GetName(oTarget) DebugActionSpeakByInt(8, oTarget, iSpellID); // Equip the best shield we have AI_EquipBestShield(); // Decrement the spell being cast by one as we cheat cast it DecrementRemainingSpellUses(OBJECT_SELF, iSpellID); // Cheat cast, it'll remove inflict wounds if it is an inflict spell anyway. ActionCastSpellAtObject(iSpellID, oTarget, METAMAGIC_NONE, TRUE); return TRUE; } return FALSE; } Сообщение отредактировал Ilerien - Mar 21 2010, 13:57 |
![]()
Сообщение
#3231
|
|
Level 2 ![]() Класс: Оборотень Характер: Lawful Good Раса: Человек ![]() |
Насколько я понимаю, GetHasSpell() прекрасно работает, единственный момент - заставить непися кастить спелл, даже если у него его нет (IMG:style_emoticons/kolobok_light/smile.gif) Это то я понимаю, что работает функция как положено для заклинаний. Мне непонятно, почему у нее нет отдельного возвращаемого значения для заклинаний исцеления клериков, и приходится вручную реализовывать им спонтанное чтение. Да. Воистину неисповедимы пути биотварей... (IMG:style_emoticons/kolobok_light/biggrin.gif) А как заставить NPC скастовать то, чего у него нет, я знаю (IMG:style_emoticons/kolobok_light/prankster2.gif) Да, в NWNX реализовано, плагин Funcs. Можно чуток поконкретней? Что то я там такого не видел... может плохо смотрел? В смысле какая функция? Уже нашел. что то у них на сайте как то плохо описаны возможности, а в скрипте все есть (IMG:style_emoticons/kolobok_light/smile.gif) Хотя нет, радость преждевременна. Где сам то плагин funcs??? На nwnx.org его нет. Есть только Functions, а это, как я понимаю. не одно и тоже (IMG:style_emoticons/kolobok_light/bb.gif) Сообщение отредактировал Mingun - Mar 22 2010, 10:21 |
![]()
Сообщение
#3232
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Где сам то плагин funcs??? На nwnx.org его нет. Есть только Functions, а это, как я понимаю. не одно и тоже Funcs на SVN virusman'a
|
![]()
Сообщение
#3233
|
|
Level 2 ![]() Класс: Оборотень Характер: Lawful Good Раса: Человек ![]() |
Спасибо! Жалко, под винду нету (IMG:style_emoticons/kolobok_light/smile.gif) Придется поколдовать (IMG:style_emoticons/kolobok_light/biggrin.gif)
|
![]()
Сообщение
#3234
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Ну, убунта в виртуалке (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#3235
|
|
Level 2 ![]() Класс: Оборотень Характер: Lawful Good Раса: Человек ![]() |
Ну, убунта в виртуалке (IMG:style_emoticons/kolobok_light/smile.gif) Не-е-е, так не пойдет. Я ж не могу заставить игрока в мой модуль запускать невер в виртуалке (IMG:style_emoticons/kolobok_light/biggrin.gif) |
![]() ![]() |
Текстовая версия | Сейчас: 2nd May 2025 - 03:18 |