![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2836
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(shadowdweller @ Sep 4 2006, 01:33) [snapback]91002[/snapback] Но дело в том, то в скрипте не получается сделать DelayCommand, т.е. скрипт компилится, но при тестировании AdjustReputation происходит не через 30 секунд, а практически сразу. NSS AdjustReputation(oPC, oTarget, -100); DelayCommand(30.0,AdjustReputation(oPC, oTarget, -100)); Вот ошибка. Сразу две строки одинаковые. Одна выполняется через 30 сек. Другая сразу. |
![]()
Сообщение
#2837
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Можно еще сделать рядом с кроватью НПС триггер, и написать, когда игрок войдет на триггер "Вы наделали много шума, когда подходили к кровати. Спящий проснулся от шума, увидел вас, и схватился за меч". В этом случае достаточно НПС сделать по отношению к игроку только врагом. Т.е. хватит 3-х строчек:
NSS SetIsTemporaryEnemy(oPC, oTarget);
ActionAttack(oPC); DetermineCombatRound(oPC); |
![]()
Сообщение
#2838
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Даже дружественного НПС можно убить, если, конечно, сложность в настройках не минимальная - так что лучше действительно через триггер или что-либо подобное - хотя почему бы не позволить игроку прирезать кого-нибудь во сне, многих такая возможность обрадует. Либо сделать НПС достаточно сильным, чтобы не возникало желания с ним сражаться, пускай даже с уже раненым - хорошо, что Coup de Grace перестает работать, если спящий больше 4го уровня.
|
![]()
Сообщение
#2839
|
|
Level 3 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
NSS //:://///////////////////////////////////////////////// //:: X0_O2_ANYUNIQ.NSS //:: OnOpened/OnDeath script for a treasure container. //:: Treasure type: Any, random selection from whatever is in base container //:: Treasure level: TREASURE_TYPE_UNIQUE //:: //:: Copyright © 2002 Floodgate Entertainment //:: Created By: Naomi Novik //:: Created On: 11/21/2002 //:://///////////////////////////////////////////////// #include "x0_i0_treasure" void main() { CTG_CreateTreasure(TREASURE_TYPE_UNIQUE, GetLastOpener(), OBJECT_SELF); } Скрипт на ящиках, где появляются разные сокровища, подскажите пожалуйста, какой функцией заставить спавниться сокровища, скажем через каждые 10 минут в этом ящике. |
![]()
Сообщение
#2840
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Mandrake
Как вариант, можно вешать переменную, а потом проверять ее в скрипте. (ХБ) но ИМХО, все же лучше посмотреть что нибуть подобное на ваулте. (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#2841
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
А зачем в ящике сокровища каждые 10 минут и монстры?
|
![]()
Сообщение
#2842
|
|
Level 2 ![]() Класс: Оборотень Характер: True Neutral Раса: Эльф ![]() |
У меня такая проблема: хотим поиграть по сети в мой модуль, но никто не видит сервера, который я создаю.Видит все модули кроме моего. Вот у меня и вопрос - может надо было обязательно писать что-то в модульных свойствах=>События? Подскажите что может мешать.
|
![]()
Сообщение
#2843
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
QUOTE(Lordeath @ Sep 4 2006, 19:22) [snapback]91051[/snapback] У меня такая проблема: хотим поиграть по сети в мой модуль, но никто не видит сервера, который я создаю.Видит все модули кроме моего. Вот у меня и вопрос - может надо было обязательно писать что-то в модульных свойствах=>События? Подскажите что может мешать. Название модуля скажи. Какой сервак - вин\линь? Сам-то зайти в свой модуль можешь? |
![]()
Сообщение
#2844
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Milfes
Спасибо. Пробую - работает. Zirrex Через триггер - тоже отличная идея, только мне надо, чтобы NPC просыпался сам, т.е. если игрок не уложился во времени, не забрал из сундука нужный предмет и не смотался, его атакуют. Можно это как-то на триггер поставить? Aiwan QUOTE NSS AdjustReputation(oPC, oTarget, -100); DelayCommand(30.0,AdjustReputation(oPC, oTarget, -100)); Вот ошибка. Сразу две строки одинаковые. Одна выполняется через 30 сек. Другая сразу. А как исправить? Вообще, огромное спасибо всем за помощь. Можно, спрошу еще? Есть такой скрипт, который на входе в область уничтожает весь инвентарь, все золото и все Equipped Items. Но мне нужно, чтобы ы инвентаре игрока появилась какая-нибудь одежда. В общем, возникает такая проблема: если две последние строчки скрпита выглядят так: NSS TakeGoldFromCreature(GetGold(oEnter), oEnter, TRUE); object oClothes = CreateItemOnObject("NW_CLOTH004", oEnter); } РС остается при всем своем золоте, а если так: NSS AssignCommand(oEnter, TakeGoldFromCreature(GetGold(oEnter),oEnter,TRUE)); object oClothes = CreateItemOnObject("NW_CLOTH004", oEnter); } То никакая одежда в инвентаре не появляется. Почему? Как с этим бороться? |
![]()
Сообщение
#2845
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE(shadowdweller @ Sep 5 2006, 12:56) [snapback]91077[/snapback] А как исправить? Просто удалить ненужную строку, в этом случае - AdjustReputation(oPC, oTarget, -100);. QUOTE(shadowdweller @ Sep 5 2006, 12:56) [snapback]91077[/snapback] Есть такой скрипт, который на входе в область уничтожает весь инвентарь, все золото и все Equipped Items. Но мне нужно, чтобы ы инвентаре игрока появилась какая-нибудь одежда. В последнем примере кода, золото должно уничтожатся. (В первом не работает по той простой причине, что эта функция не применима к эвентам локаций и модуля) Предметы не создаются, т.к нужно указывать не ТАГ предмета, а РесРеф. PS: Кстати рекомендую почитaть следующею тему, думаю будет достаточно полезной. Сообщение отредактировал Dik Morris - Sep 5 2006, 14:55 |
![]()
Сообщение
#2846
|
|
Level 2 ![]() Класс: Тайный Лучник Характер: True Neutral Раса: Эльф ![]() |
Доброго времени суток!!!
Ща наверно задам очеть сложный ( и тупо-сформулированный вопрос). Я делаю модуль про воров и есть проблема можно ли сделать так что непись 1 не ощущает тебя когда ты подкрадываешся со спины (а когда повернется сразу замечает) 2 плохо видит когда темно ( а когда день то видит прекрасно) 3 лучше слышит тебя когда бежиш ( а когда в крысу шкеришся вообще не замечает) Заранее благодарен!!! |
![]()
Сообщение
#2847
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Простых или очевидных методов решения этих задач нет.
|
![]()
Сообщение
#2848
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Misty Archer @ Sep 5 2006, 18:26) [snapback]91106[/snapback] 1 не ощущает тебя когда ты подкрадываешся со спины (а когда повернется сразу замечает) Я сделал свою функцию обнаружения для такого случая, включающую в себя угол обзора (220 градусов, те подходить можно сзади намана) QUOTE(Misty Archer @ Sep 5 2006, 18:26) [snapback]91106[/snapback] 2 плохо видит когда темно ( а когда день то видит прекрасно) зависит от того, что значит видит.. если это отражается на скиловых бросках - без проблем. Если просто GetIsSeen, то придется еще поизвращаться. QUOTE(Misty Archer @ Sep 5 2006, 18:26) [snapback]91106[/snapback] 3 лучше слышит тебя когда бежиш ( а когда в крысу шкеришся вообще не замечает) бег вроде нет, а форму можно. имхо: ты щас в этом увязнешь, если начнешь делать. гемора много, толку для МОДУЛЯ мало. Эти примочки луже потом, если решишься, делай. |
![]()
Сообщение
#2849
|
|
Level 2 ![]() Класс: Обыватель Характер: Chaotic Neutral Раса: Полуэльф ![]() |
Простите, не сможет ли кто объяснить доступно такому чайнику, как я, что такое хакпак с моделями и зачем он? У меня Проклятье Левора на 2 CD от Neogame, из трёх модулей на диске был первый. у вас скачал и поставил два остальных, работают, только в опции меню "Другие модули", там таких ещё 15. Нужны ли хакпаки? И как модули 2 и 3 поставить в главном меню в Прок Левора? Не судите строго ! Спасибо.
Простите, не сможете ли объяснить доступно такому чайнику, как я, что такое хакпак с моделями и зачем он? У меня Проклятье Левора на 2 CD от Neogame, из трёх модулей на диске был первый. у вас скачал и поставил два остальных, работают, только в опции меню "Другие модули", там таких ещё 15. Нужны ли хакпаки? И как модули 2 и 3 поставить в главном меню в Прок Левора, чтобы загружались из Прокл Левора, а не из Других модулей? Не судите строго ! Спасибо за хорошую игру! |
![]()
Сообщение
#2850
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Я уже ответил два раза. Или на все посты копировать свои ответы? Как тут не осерчать...
Вот тут на сайте ответил. Хак пак - это дополнительные ресурсы к игре. Если не будет хватать что-то то модули не запустятся. Если работают, то значит все нормально. Модули в главное меню можно поставить пропатчив патчами для СД версии. |
![]()
Сообщение
#2851
|
|
Level 2 ![]() Класс: Тайный Лучник Характер: True Neutral Раса: Эльф ![]() |
Lex
По поводу первого вопроса: у тебя остался скрипт или подробная информация ( про угол обзора в 220 градусов) Если да то можно ли для разных существ сделать угол обзора разным. Заранее благодарен. |
![]()
Сообщение
#2852
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
NSS int NER_GetObjectSeen(object oTarget, object oCreature, int fVisualAngle = 220)
{ vector vTarget = GetPosition(oTarget); vector vCreature = GetPosition(oCreature); float fTargetXNew = vCreature.x - vTarget.x; float fTargetYNew = vCreature.y - vTarget.y; float fFacing = GetFacing(oCreature); float fDistance = GetDistanceBetween(oTarget,oCreature); float fTangle = asin(fTargetYNew/fDistance); float RESULT; if (fTargetXNew < 0.0) { if (fFacing < 180.0) RESULT = fFacing + fTangle; else RESULT = 360 - fFacing - fTangle; } else { if (fFacing < 180.0) RESULT = 180 - fFacing + fTangle; else RESULT = - 180 + fFacing - fTangle; } if (GetObjectSeen(oTarget,oCreature)) { if ( abs(FloatToInt(RESULT)) <= (fVisualAngle/2) ) return TRUE; } return FALSE; } |
![]()
Сообщение
#2853
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Доброго времени суток всем!
Aiwan Спасибо. Тема, действительно, оказалась полезной. Кстати, подумав, c DelayCommand разобралась, ты подтвердил мои догадки. А теперь возник ну совершенно дурацкий вопрос: почему могут не работать дневные и ночные вэйпойнты, находящиеся в разных локациях? Переменную на свойства модуля надо ставить? (IMG:style_emoticons/kolobok_light/unsure.gif) |
![]()
Сообщение
#2854
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(shadowdweller @ Sep 9 2006, 02:31) [snapback]91376[/snapback] ременную на свойства модуля надо ставить? Вот эту... (IMG:style_emoticons/kolobok_light/declare.gif) NSS X2_SWITCH_CROSSAREA_WALKWAYPOINTS
|
![]()
Сообщение
#2855
|
|
Level 2 ![]() Класс: Тайный Лучник Характер: True Neutral Раса: Эльф ![]() |
Лекс, на какую строку существа ставить энтот скрипт?
|
![]()
Сообщение
#2856
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
это всего лишь функция. У себя я ее использую, когда игрок трогает чужие вещи (ящики, двери). Проверяю этой функцией, видит ли игрока кто-нить или не видит, чтобы потом уже реакцию запускать.
|
![]()
Сообщение
#2857
|
|
Level 1 Класс: Волшебник Характер: Chaotic Evil Раса: Эльф ![]() |
Что нужно сделать чтоб можно было садиться на стул?
Если есть такая тема или кто то задавл такой вопрос дайте пожалуйста ссылку на ответ. |
![]()
Сообщение
#2858
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
РАЗ, ДВА.
З.Ы. Поиск великая вещь. (IMG:style_emoticons/kolobok_light/wink3.gif) Сообщение отредактировал -fenix- - Sep 12 2006, 09:16 |
![]()
Сообщение
#2859
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
QUOTE Ellioth DarkMaider Что нужно сделать чтоб можно было садиться на стул? У меня выглядит так. Делаешь стул юзабельным, и вот это OnUsed: NSS void main() { object oChair = OBJECT_SELF; if(!GetIsObjectValid(GetSittingCreature(oChair))) { AssignCommand(GetLastUsedBy(), ActionSit(oChair)); } } Только места перед стулом побольше оставь для маневра. |
![]()
Сообщение
#2860
|
|
Level 1 Класс: Волшебник Характер: Chaotic Evil Раса: Эльф ![]() |
Пасибо... Теперь объясните куда это все писать (IMG:style_emoticons/kolobok_light/crazy.gif)
Сообщение отредактировал Ellioth DarkMaider - Sep 13 2006, 06:39 |
![]() ![]() |
Текстовая версия | Сейчас: 27th July 2025 - 14:27 |