![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#4901
|
|
Level 1 Класс: Некромант Характер: Chaotic Evil Раса: Полуэльф ![]() |
Всем привет ! Нужна помощь . Как через toolset добавить к посоху или амулету эффект превращение в любого монстра с его же характеристиками ?
|
![]()
Сообщение
#4902
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
(IMG:style_emoticons/kolobok_light/shout.gif) Помогите! Как сделать, чтобы переходя через триггер персонаж получал опыт и запись в журнале? И как сделать респаун некоторых сундуков и мобов? (IMG:style_emoticons/kolobok_light/shout.gif)
И еще такая глупость. Играем с человеком и диалог у непися настроен так, что после одного разговора ты с ним больше не поговоришь. Как сделать, чтобы этот диалог смог прочитать каждый по отдельности, а не только один из нас? |
![]()
Сообщение
#4903
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Цитата Всем привет ! Нужна помощь . Как через toolset добавить к посоху или амулету эффект превращение в любого монстра с его же характеристиками ? одним тулсетом тут не обойтись, нужно редактировать 2да файлы, добавлять хакпак и писать скрипт Цитата И еще такая глупость. Играем с человеком и диалог у непися настроен так, что после одного разговора ты с ним больше не поговоришь. Как сделать, чтобы этот диалог смог прочитать каждый по отдельности, а не только один из нас? тут сложно посоветовать что-то, нужно разбираться в каждом конкретном случае и без написания новых скриптов тут не обойтись тоже Цитата Помогите! Как сделать, чтобы переходя через триггер персонаж получал опыт и запись в журнале? И как сделать респаун некоторых сундуков и мобов? 1. нужно написать скрипт, где будет даваться опыт и выставляться шаг журнала в нужном квесте. Скрипт поместить в событие OnEnter 2. респавн сундуков - тоже надо писать скрипт. 3. для респавна существ можно использовать Encaunter (Встреча) он растягивается как триггер, там можно назначать время и типы существ для спавна. Сообщение отредактировал Melisse - Aug 31 2017, 15:07 |
![]()
Сообщение
#4904
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
Ну это и так все понятно было, не такой глупый. Скрипты помогите составить, хотя бы с опытом и записью в журнале при переходе. Не думаю, что там много.
|
![]()
Сообщение
#4905
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
http://www.city-of-masters.ru/forums/index.php?showtopic=5 база данных по скриптам. Там все твои вопросы разбирали.
|
![]()
Сообщение
#4906
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Цитата Скрипты помогите составить, хотя бы с опытом и записью в журнале при переходе. Не думаю, что там много. Вы просто описываете так - не понятно что вам надо, надо больше конкретики, если хотите помощи Вот для того чтобы наступить и получить опыт и перейти на шаг в журнале Neverwinter Script void main() { object oPlayer = GetEnteringObject (); if (GetIsPC(oPlayer)) { GiveXPToCreature (oPlayer, 999999999999); // цифра 2 - это необходимый вам шаг журнала AddJournalQuestEntry ("ТЭГ_ВАШЕГО_ЖУРНАЛА", 2, oPC, FALSE, FALSE, FALSE); } } К тому же, тут на форуме много всяких вариантов скриптов. Вот Айван вам даже ссылку дал на базу Еще можете посмотреть тут на форуме или тут тоже для новичков полезно Сообщение отредактировал Melisse - Aug 31 2017, 19:51 |
![]()
Сообщение
#4907
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
Спасибо! Строку с опытом нормально читает, а на даче опыта выдает ошибку "ПЕРЕМЕННАЯ, ОПРЕДЕЛЕННАЯ БЕЗ ТИПА"
Ошибку на записи в журнале то есть... Совсем глаза сломал. |
![]()
Сообщение
#4908
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
так надо журнал создать с этим тэгом и там сделать необходимое число шагов. В данной функции выставляется шаг 2, меняйте на то что вам требуется.
Я выше скинула вам ссылки на туториалы - это основа аврора-тулсета. Такие простые вещи как создание журнала то уж можно разобраться и без подсказок, благо там все разжёвано. Сообщение отредактировал Melisse - Sep 1 2017, 22:40 |
![]()
Сообщение
#4909
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
У меня журнал создан, ну вы уж совсем за идиота держите :/
|
![]()
Сообщение
#4910
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Ошибка элементарная. Тот кто наступл на триггер определен как oPlayer, а в журнале он определен как оРС, который никак нигде не определен. Вот и ошибка.
Neverwinter Script void main()
{ object oPlayer = GetEnteringObject (); if (GetIsPC(oPlayer)) { GiveXPToCreature (oPlayer, 999999999999); // цифра 2 - это необходимый вам шаг журнала AddJournalQuestEntry ("ТЭГ_ВАШЕГО_ЖУРНАЛА", 2, oPlayer) } } |
![]()
Сообщение
#4911
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
Низкий вам поклон за терпение. Я тут сделал нового призываемого спутника через предмет и столкнулся с проблемой, что воспользовавшись этим предметом снова призывается второй спутник, а первый не исчезает, так можно наклепать кучку. Что делать? (IMG:style_emoticons/kolobok_light/unsure.gif)
|
![]()
Сообщение
#4912
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
У любого объекта есть тэг. По тэгу можно найти и проверить валидность. Если объект нашёлся, можно не создавать новый или уничтожить старый.
Искать что-то типа: GetObjectByTag, GetIsObjectValid, DestroyObject. |
![]()
Сообщение
#4913
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Цитата У меня журнал создан, ну вы уж совсем за идиота держите :/ да у меня и в мыслях не было, я ж помочь хочу.. Вы не пишите ошибку, которую выдает компилятор, никакой другой информации, а просто говорите что не работает - так это может быть по десятку причин. Цитата Я тут сделал нового призываемого спутника через предмет и столкнулся с проблемой, что воспользовавшись этим предметом снова призывается второй спутник, а первый не исчезает, так можно наклепать кучку. Что делать? Если вы вызываете спутника через CreateObject, то тогда вам придется проверять через GetObjectTag тэг вызванного спутника, как сказал denis0k Neverwinter Script .... if(GetIsObjectValid(GetObjectByTag("ТЭГ_СПУТНИКА"))) { return; } ... если вы вызовите его как суммона через EffectSummonCreature() то при втором вызове он автоматом пересоздается. Neverwinter Script ...
effect eSummon = EffectSummonCreature("РСЕРЕФ_ВАШЕГО СУЩЕСТВА", VFX_ВИЗУАЛЬНЫЙ ЭФФЕКТ); ApplyEffectAtLocation (DURATION_TYPE_PERMANENT, eSummon, GetLocation(oPlayer)); ... Сообщение отредактировал Melisse - Sep 4 2017, 13:12 |
![]()
Сообщение
#4914
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
Вот так оно выглядит и плодит их безмерно.
Neverwinter Script void main() { object oActivator = GetItemActivator(); object oActivated = GetItemActivated(); string sTag = GetTag(oActivated); if (sTag == "MatildaX") { effect eSummon = EffectSummonCreature("matilda"); ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect(eSummon), oActivator); return; } |
![]()
Сообщение
#4915
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Попробуйте это
Neverwinter Script void main()
{ object oActivator = GetItemActivator(); object oActivated = GetItemActivated(); string sTag = GetTag(oActivated); if (sTag == "MatildaX") { if(!GetIsObjectValid (GetAssociate(ASSOCIATE_TYPE_SUMMONED, oActivator ))) { effect eSummonedMonster = EffectSummonCreature("matilda", SPELL_SUMMON_CREATURE_I); ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetLocation(oActivator), HoursToSeconds(24)); } } } |
![]()
Сообщение
#4916
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
В строке
Neverwinter Script ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetLocation(oActivator), HoursToSeconds(24)); ОШИБКА: ПЕРЕМЕННАЯ, ОПРЕДЕЛЕННАЯ БЕЗ ТИПА
|
![]()
Сообщение
#4917
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummonedMonster, GetLocation(oActivator), HoursToSeconds(24));
|
![]()
Сообщение
#4918
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
Да, на ошибки больше не ругается, но призывать никого не призывает теперь вообще х)
|
![]()
Сообщение
#4919
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Neverwinter Script void main() { object oActivator = GetItemActivator(); object oActivated = GetItemActivated(); string sTag = GetTag(oActivated); if (sTag == "MatildaX") { if(!GetIsObjectValid (GetAssociate(ASSOCIATE_TYPE_SUMMONED, oActivator ))) { effect eSummonedMonster = EffectSummonCreature("matilda"); ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummonedMonster, GetLocation(oActivator), HoursToSeconds(24)); } else { SendMessageToPC (oPC, "У вас уже есть призванное существо"); } } } Проверь теги предмета и существа |
![]()
Сообщение
#4920
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
oPC на oActivator исправил, ибо опять ругалось.
Тег предмета верный, у существа стоял ResRef, раньше через него и работало, но даже если поставить тег - ничего не происходит. В общем раньше можно было наплодить много, а сейчас вообще ни одного. Просто пишет, что используется специальная сила предмета и ничего не происходит. |
![]()
Сообщение
#4921
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Попробуй так, может быть не читает локацию
Neverwinter Script void main()
{ object oActivator = GetItemActivator(); object oActivated = GetItemActivated(); string sTag = GetTag(oActivated); location lActivator = GetItemActivatedTarget(); if (sTag == "MatildaX") { object oSummon = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oActivator, 1); if(!GetIsObjectValid (oSummon )) { effect eSummonedMonster = EffectSummonCreature("matilda", VFX_FNF_GAS_EXPLOSION_EVIL, 0.5f); ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummonedMonster, lActivator, HoursToSeconds(24)); } else { SendMessageToPC (oActivator , "У вас уже есть призванное существо"); } } } Сообщение отредактировал Melisse - Sep 5 2017, 17:18 |
![]()
Сообщение
#4922
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
К сожалению все равно не срабатывает (IMG:style_emoticons/kolobok_light/sad.gif)
|
![]()
Сообщение
#4923
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Как оно скомпилировалось?
location lActivator = GetItemActivatedTarget(); Возвращает object же. |
![]()
Сообщение
#4924
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Elendion, для начала нужны азы программирования. Как определить объект, как его описать, как начать скрипт, как закончить и т.д. Без этого будет каша.
Начать нужно с маленького модуля тестировать простые действия, подошел, поговорил, отошел, сел, встал, пукнул громко и так далее. Потом писать что-то в модуль. ИМХО. |
![]()
Сообщение
#4925
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
Посидел помучался, сделал х)
Можно сделать, чтобы животные дикие разбегались от игрока? |
![]() ![]() |
Текстовая версия | Сейчас: 26th April 2025 - 04:07 |