Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
Sep 8 2017, 18:24
Сообщение
#4936
|
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек |
Появился новый вопрос, хы. Мне нужно, чтобы открывалась ветка диалога при определенном уровне, но так, чтобы не приходилось перебирать каждый классовый уровень персонажа в проверке, а то это будет некорректно работать, если игрок нескольких классов.
|
Sep 8 2017, 21:04
Сообщение
#4937
|
|
|
Миловидный Бегрюссунг Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
Все есть в скриптах для новичков. Позавчера читал, когда писал прошлый скрипт.
|
Sep 9 2017, 12:34
Сообщение
#4938
|
|
|
Level 11 Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов |
Как оно скомпилировалось? location lActivator = GetItemActivatedTarget(); Возвращает object же. ну так, по памяти пишу... там нужно было GetItemActivatedTargetLocation() (IMG:style_emoticons/kolobok_light/smile.gif) но ведь скопмпилировалось же у него! (IMG:style_emoticons/kolobok_light/smile.gif) Цитата Можно сделать, чтобы животные дикие разбегались от игрока? используй функции, ActionMoveAwayFromLocation ActionMoveAwayFromObject в скрипте на OnPerception (примерное название) в слотах моба Вот Айван привел кусочек скрипта как раз на это событие Сообщение отредактировал Melisse - Sep 9 2017, 12:34 |
Sep 10 2017, 22:01
Сообщение
#4939
|
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек |
В базе скриптов есть скрипт на рубку дерева, вопрос следующий: как сделать рандомный предмет получаемый при срубе из нескольких на выбор. Я вижу как все это прописано в OnDamaged, но не знаю как правильно построить функцию рандома, сам пытался, но все через Ж.
|
Sep 11 2017, 08:13
Сообщение
#4940
|
|
|
Level 19 Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов |
Функция рандома там встроена (IMG:style_emoticons/kolobok_light/smile.gif) Генерирует число в заданном диапазоне. Тебе нужно только в зависимости от числа-результата задать ресреф нужного итема.
|
Sep 11 2017, 10:24
Сообщение
#4941
|
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек |
Да, я знаю, что она есть, но не знаю как её правильно вставить в скрипт, чтобы его не сломать.
|
Sep 11 2017, 17:26
Сообщение
#4942
|
|
|
Level 19 Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов |
Что-то типа:
CODE int x = random(3) + 1; if (x == 1) { resref = "item1"; } else if (x == 2) { resref = "item2"; } else if (x == 3) { resref = "item3"; } Потом этот ресреф скормить функции создания. Писал по памяти (IMG:style_emoticons/kolobok_light/smile.gif) |
Sep 11 2017, 21:20
Сообщение
#4943
|
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек |
Спасибо, буду ковыряться х)
А возможно сделать, чтобы ветка диалога открылась только если рядом находится плейсебл с определенным тегом/ресрефом? |
Sep 11 2017, 22:18
Сообщение
#4944
|
|
|
Level 11 Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов |
Нужно поставить в диалог на вкладку с названием "Текст проявляет при...", если у тебя русская версия тулсета Neverwinter Script int StartingConditional()
{ object oPC = GetPCSpeaker(); object oPlaceable = GetNearestObjectByTag ("ТЭГ_ОБЪЕКТА", oPC , 1); if (GetIsObjectValid(oPlaceable) && GetDistanceBetween (oPC, oPlaceable) < 30.0f) // в радиусе 30 метров от игрока { return TRUE; } return FALSE; } |
Sep 12 2017, 11:35
Сообщение
#4945
|
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек |
Огромное спасибо, это то, что нужно!
А в совершенных действиях можно, чтобы этот ближний плейс заменился на другой? |
Sep 12 2017, 16:39
Сообщение
#4946
|
|
|
Level 11 Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов |
Попробуй это, но уверенности нет
Проверь правописание функций - потому что без тулсета, навскидку Neverwinter Script void CreatePlaceable (object oSubject) ;
void main() { object oPC = GetPCSpeaker(); object oPlaceable = GetNearestObjectByTag ("ТЭГ_ОБЪЕКТА", oPC , 1); if (GetIsObjectValid(oPlaceable)) { location lLoc = GetLocation(oPlaceable); SetLocalLocation (oPC, "lLocationPlaceable", lLoc); AssignCommand(oPC, DelayCommand(3.0f, CreatePlaceable (oPC))); DestroyObject (oPlaceable); } } void CreatePlaceable (object oSubject) { location lCreate = GetLocalLocation (oSubject , "lLocationPlaceable"); CreateObject (OBJECT_TYPE_PLACEABLE, "РЕС_РЕФ_ПЛЭЙСА_ДЛЯ_СОЗДАНИЯ", lCreate); } Сообщение отредактировал Melisse - Sep 12 2017, 16:41 |
Sep 12 2017, 17:05
Сообщение
#4947
|
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек |
Спасибище гигантское, это работает именно так, как мне надо было! Это здорово.
|
Sep 13 2017, 18:06
Сообщение
#4948
|
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек |
Уууу, я сделал ворона с нужными мне характеристиками, но с него падают стандартные перья. Как мне от них избавиться?
|
Sep 17 2017, 17:22
Сообщение
#4949
|
|
|
Level 1 Класс: Варвар Характер: Chaotic Neutral Раса: Человек |
Всем привет, села перепроходить HOTU и столкнулась с проблемой, у меня застопорился роман. Короче, роман с Валеном и за стадию 3, то есть третий диалог, оно не идет вообще. Пыталась копаться в sav файле, нашла там нужную переменную, но половина кодировки неправильная а чем нужнооткрывать его не знаю, я открывала в ноутпаде. Порылась в редакторах сейвов, они обычно редактируют самого персонажа и переменные которые к нему привязаны, нужную найти так и не смогла. В conversation editor нашла что переменная, которая мне нужна, это ivalenstage и она должна быть равна 3, но из всего этого непонятно как она меняется, или сразу после диалога и там стоит задержка, или нужно для этого поднимать "очки влияния". Вроде делала все то же самое как в предыдущем прохождении когда все работало. Может, кто-нибудь подкинет скрипт чтобы получить нужное значение переменной или подскажет что для этого нужно в консоли написать? Так, после каждого сюжетного квеста примерно в конце локации стабильно появлялся диалог, а тут дошла до третьей главы, на всякий случай переиграла с начала 2й главы разик, так ничего и нет.
Извините, я знаю что это очень тупо, но я без понятия куда это писать. Я не могу создавать темы в форуме по самой игре, и вообще нигде. (IMG:style_emoticons/kolobok_light/unsure.gif) |
Sep 17 2017, 17:32
Сообщение
#4950
|
|
|
Миловидный Бегрюссунг Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
Попробуйте ваш сейв переименовать в .MOD, будет возможно отредактировать вашего персонажа и переменные в тулсете.
|
Sep 17 2017, 17:41
Сообщение
#4951
|
|
|
Level 1 Класс: Варвар Характер: Chaotic Neutral Раса: Человек |
|
Sep 17 2017, 22:04
Сообщение
#4952
|
|
|
Миловидный Бегрюссунг Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
Сейв это модуль со всеми переменными и изменениями. Только вот не знаю, как дальше быть. В сейв его сохранять или модулем, а потом в нем сделать сейв.
|
Sep 17 2017, 22:31
Сообщение
#4953
|
|
|
Level 1 Класс: Варвар Характер: Chaotic Neutral Раса: Человек |
Попробовала, получила значение переменной. Оно правильное, именно то, которое проверяет скрипт. плюс, там еще куча других переменных, которые нигде как-будто бы в диалоге не проверяются. Я ничего уже не понимаю. Сам скрипт и значения. Надо сказать, в самом скриптописании я понимаю очень мало, так что если кто-нибудь может объяснить где я напорола буду очень благодарна. Или все-таки iResult должен быть 3 а та переменная какое-то другое число?
Значения 1 Значения 2 Сам скрипт Попробовала, получила значение переменной. Оно правильное, именно то, которое проверяет скрипт. плюс, там еще куча других переменных, которые нигде как-будто бы в диалоге не проверяются. Я ничего уже не понимаю. Сам скрипт и значения. Надо сказать, в скриптах я не очень понимаю. iResult равна iValenStage или не обязательно? Да, после смены расширения обратно отказывается грузить. Но, я думаю, это можно поправить через консоль. Нашла код dm_setmodulevarint, там только набрать переменную и значение, знать бы что пошло не так и что менять. Блин, я создала монстра. Почему нельзя просто редактировать? |
Sep 18 2017, 00:19
Сообщение
#4954
|
|
|
Миловидный Бегрюссунг Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
iValenStage глобальная переменная, должна ровняться 3 и она проверяется на модуле а не на персонаже.
Ох уж эти любовные дела... (IMG:style_emoticons/kolobok_light/spruce_up.gif) |
Sep 18 2017, 11:25
Сообщение
#4955
|
|
|
Level 1 Класс: Варвар Характер: Chaotic Neutral Раса: Человек |
iValenStage глобальная переменная, должна ровняться 3 и она проверяется на модуле а не на персонаже. Ох уж эти любовные дела... (IMG:style_emoticons/kolobok_light/spruce_up.gif) Эмм, но она уже равняется 3. Мне даже не надо ничего менять. Но скрипт не проверяет ее почему-то. Может, попробовать runscript? Триггер сбитый? Или скачать другую версию игры? У меня релиз от GOG, с патчем 1.69 сначала был, а потом я на всякий случай 1.71 поставила. Естественно, без толку. Блин, я уже дня три шаманю, мне хотя бы чисто принципиальность не дает отступиться пока не сработает. Так, значит тот код изменяет переменные не в модуле а на персонаже? Он не требовал выбрать персонажа, но и success тоже не писал когда я им что-то менять пробовала. |
Sep 18 2017, 12:35
Сообщение
#4956
|
|
|
Миловидный Бегрюссунг Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
Так, значит тот код изменяет переменные не в модуле а на персонаже? С точностью до наоборот. она проверяется на модуле а не на персонаже. Как вариант изменить скрипт. Для этого надо взять пустой модуль, скомпилировать скрипт и в открытом модуле взять код в виде файла, закинуть в папку оверрайд и запустить сейв игры. Тогда игра возьмет код из папки оверрайт. Так исправляются баги модулей, что бы сейвы работали. Исправления кладутся в хак. В НВН приоретет такой, оверайд, хак, ресурсы игры. Помочь с написанием не могу. НВН нет давно. Ща попробую по памяти. Neverwinter Script int StartingConditional() { object oPC = GetPCSpeaker(); int iQuest = GetLocalInt(GetModule(), "iValenStage"); if (iQuest == 3) // Если локалка равна трем. { SpeakString("Проверка удачная"); return TRUE; // Возврат ИСТИНА, т.е. старт диалога } return FALSE; // В противном случае отбой } Если нижний скрипт вставить в оверрайд то сработает 100%. Потом его удали из оверрайда и все. Имя скрипта должно ровняться имени того скрипта который ты хочешь заменить. Neverwinter Script int StartingConditional() { object oPC = GetPCSpeaker(); if (GetIsPC(oPC)) // Если точно игрок { SpeakString("Проверка удачная"); return TRUE; // Возврат ИСТИНА, т.е. старт диалога } return FALSE; // В противном случае отбой } п.с. А вообще, если мужик не реагирует на твое внимание, даже после стольких усилий, плюнь на него (IMG:style_emoticons/kolobok_light/smile.gif) |
Sep 18 2017, 12:43
Сообщение
#4957
|
|
|
Level 1 Класс: Варвар Характер: Chaotic Neutral Раса: Человек |
Спасибо, очень помогли)) Попробую. (IMG:style_emoticons/kolobok_light/blush.gif)
|
Sep 29 2017, 11:18
Сообщение
#4958
|
|
|
Level 5 ![]() ![]() Класс: Вор Характер: Neutral Good Раса: Человек |
Я, может, не в ту дверь стучусь, но может кто сумеет помочь? Скачал Невер, захожу в тулсет, а рабочее поле всё в чёрных точках каких-то.(IMG:https://image.ibb.co/h2cOdw/image.png)
|
Sep 29 2017, 12:01
Сообщение
#4959
|
|
|
Ушедший на войну Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент |
Не сталкивался с таким, но по ощущениям - проблема в совместимости старого кода граф. движка с драйверами современной видюхи. Если у "соседа" с древней видюхой всё работает с этого же инсталлятора игры, а у тебя сеточка, то скорее всего дело именно в этом.
Может делались какие-то принудительные кастомные настройки видюхи в системе руками до этого? |
Sep 30 2017, 08:22
Сообщение
#4960
|
|
|
Level 5 ![]() ![]() Класс: Вор Характер: Neutral Good Раса: Человек |
Ничего специфического, насколько помню. Что характерно, эта сеточка отображается только в рабочем поле тулсета, в игре же отсутствует.
какие-то принудительные кастомные настройки видюхи в системе Можно подробнее пожалуйста, для несведущего? Сообщение отредактировал ReZkiy - Sep 30 2017, 08:20 |
![]() ![]() |
| Текстовая версия | Сейчас: 20th August 2025 - 04:14 |