![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#4876
|
|
Level 3 ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Сиала ![]() |
Мне надо, чтобы заходя в комнату, зажигались факелы на стенах. Не светильники-объекты, а часть тайла. Без рычагов, без кнопок и действий. По триггеру. Собственно, тот скрипт, что я выложила, работает ровно так, как надо. Но спасибо за предложение. =) Я понял. Показал не ради загораемого факела плейсбла а на случай, если дополнительно к обновлению освещения тайла хочется добавить повышение освещения во всей локации. |
![]()
Сообщение
#4877
|
|
Level 3 ![]() Класс: Бард Характер: Neutral Evil Раса: Человек ![]() |
Подскажите, пожалуйста, скорее всего кто-либо сталкивался. Как отключить бартер в модуле?
|
![]()
Сообщение
#4878
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
|
![]()
Сообщение
#4879
|
|
Level 3 ![]() Класс: Бард Характер: Neutral Evil Раса: Человек ![]() |
|
![]()
Сообщение
#4880
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
На модульное событие потери вещи проверяй
1. Вещь существует (может удалилась) 2. Вещь не в инвентаре плэйса или существа 2. Вещь не выложена на пол 4. Вот и наш Бартер - отменяем действие 5. ???? 6. PROFIT! Сообщение отредактировал Melisse - Mar 22 2016, 09:33 |
![]()
Сообщение
#4881
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Я конечно не очень силён в дюпе... Но по логике нужно 2 события - передать итем второму игроку, дать ему сохраниться с ним и завалить сервер, пока не сохранился первый игрок. Передать можно через пол. А для завала сервера уже не важно - сработает ваш бартер или нет, если валить будут бартером. Уверен, есть и другие способы, не так давно был разговор про откат через полиморф.
|
![]()
Сообщение
#4882
|
|
Level 3 ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Сиала ![]() |
Я конечно не очень силён в дюпе... Тебе везет, завидую. Помимо описанного способа дюпа в котором не важно, как передается, есть завязанный на бартере дюп. Основной лечится nwnx-ом. @Melisse - все верно, только отмена действия это не совсем то, что может помочь, ибо действие уже будет произведено и бартер не закроется, а это то, о чем попросили. Самый простой и железный способ отменить любую попытку бартера без танцев с бубном это сохранение чара через ExportSingleCharacter на потере вещи, по принципу, как описал Melisse для определения ситуации бартера. При этом вещь вернется в бекпак персонажу. Там есть побочных эффект, что вещь нельзя до рестарта будет выложить еще раз - но это не страшно. А вообще, как правильно написали - если стоит фикс антипрозрачности через nwnх, то бартер безобиден для дюпа. Можешь просто на каждой потере сохранять чара, по перфомансу это тебе не удари и поможет со случаеми, который описал denis0k. При этом у тебя могут быть ситуации потери вещи, а не дюпа. Полностью засинхронизировать сохранение персонажей, чтобы не было дюпа или потерь вещей невозможно. Есть всегда, что в момент записи будет рестарт и там будет глюк. Это редко, но может быть. Если нужна помощь в конкретных кусках кода - обращайся. Так же могу поделиться всеми защитами от Дюпа. От всех известных дюпов есть в наличии решения, включая полиморфы. Сообщение отредактировал Feron - Mar 28 2016, 10:11 |
![]()
Сообщение
#4883
|
|
Level 3 ![]() Класс: Воин Характер: True Neutral Раса: Эльф ![]() |
Я надеюсь, что здесь кто-то есть, потому что очень нужна ваша помощь.
Такой вопрос: при установлении int в начале скрипта может быть такое, что он не перезаписывается в дальнейшем под условием? Это на контейнере, если что. Пример Neverwinter Script int lut1; if (Type == "lut_sm") int lut1 = 35; if (lut1 >> 12) делается что-то; При этом если проверять в первом условии переменные, то int равен 35, а не 0. Почему после первой проверки и, соответственно, во второй проверке он равен 0? Что я не понимаю?(( Сообщение отредактировал Aiwan - Mar 5 2017, 13:39 |
![]()
Сообщение
#4884
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
А весь скрипт большой? Кусок мало что говорит.
Он может не перезаписываться под твоим же условием. |
![]()
Сообщение
#4885
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Neverwinter Script if (lut1 >> 12) Если это условие просто БОЛЬШЕ, то должно быть так:Neverwinter Script if (lut1 > 12)
|
![]()
Сообщение
#4886
|
|
Level 5 ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Модмейкер История дома Салливан ![]() |
Привет! Всех с праздниками!
Помогите, пожалуйста, с очень простой штукой! Хочу, чтобы в катсцене говорили имя игрока (через SpeakString), но не могу найти, как его задать. Что-то типа<PCName>... В Лексиконе искала, не нашла, бикоз май инглиш из нот гуд (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#4887
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Привет! Всех с праздниками! Помогите, пожалуйста, с очень простой штукой! Хочу, чтобы в катсцене говорили имя игрока (через SpeakString), но не могу найти, как его задать. Что-то типа<PCName>... В Лексиконе искала, не нашла, бикоз май инглиш из нот гуд (IMG:style_emoticons/kolobok_light/smile.gif) Neverwinter Script string playerName = GetName(GetFirstPC());
|
![]()
Сообщение
#4888
|
|
Level 5 ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Модмейкер История дома Салливан ![]() |
greye, спасибо!
|
![]()
Сообщение
#4889
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
Уважаемые господа, как сделать, чтобы нужных неписей нельзя было оттолкнуть в стороны движением игрока?
|
![]()
Сообщение
#4890
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Я знаю только такой вариант - нужно на ОнСпавн наложить "эффект духа" на НПЦ, чтобы через него можно было проходить и он не учитывался поиском пути.
|
![]()
Сообщение
#4891
|
|
Level 5 ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Модмейкер История дома Салливан ![]() |
Вроде, если НПС нейтральный к игроку (т.е. подсвечивается синим, а не зеленым), то он не будет отскакивать.
|
![]()
Сообщение
#4892
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Какова цель?
Если чтобы непись стоял строго на месте, то можно попробовать пост. Чтобы возвращался, когда его таки спихнут. Ходьбой с клавиатуры можно даже застрявших "в текстурах" игроков выталкивать. Если чтобы игрок не мог куда-то пройти, то красиво - никак. При умении можно сквозь двери проходить. Если некрасиво - за неписём поставить триггер и телепортировать игрока назад. |
![]()
Сообщение
#4893
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
Спасибо за ответы выше. Появилась новая загвоздка х)
Мне нужно, чтобы игрок брал коробку, она клалась в инвентарь и он мог её снова выложить в виде той же коробки. Я реализовал то, чтобы на OnUse коробки она исчезала и давала предмет, но не знаю как её выложить в том же формате из инвентаря, получается просто мешочек. |
![]()
Сообщение
#4894
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Спасибо за ответы выше. Появилась новая загвоздка х) Обратная процедура - на событие потери итема (on item unacquired), итем удаляется, а по координатам итема создаётся плейсебл-коробка.Мне нужно, чтобы игрок брал коробку, она клалась в инвентарь и он мог её снова выложить в виде той же коробки. Я реализовал то, чтобы на OnUse коробки она исчезала и давала предмет, но не знаю как её выложить в том же формате из инвентаря, получается просто мешочек. Нашёл в старых скриптах: CODE object oItem = GetModuleItemLost();
location lLoc = GetLocation(oItem); string sTag = GetTag(oItem); if (sTag == "тег итема") { if (GetIsObjectValid(GetAreaFromLocation(lLoc))) // есть локация => выложили на пол, а не передали/продали { CreateObject(OBJECT_TYPE_PLACEABLE, "тег плейсебла", lLoc); DestroyObject(oItem); } return; } |
![]()
Сообщение
#4895
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
При создании скрипта выдает ошибку о том, что неправильный конец оператора.
|
![]()
Сообщение
#4896
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
При создании скрипта выдает ошибку о том, что неправильный конец оператора. Это вырезка из скрипта (IMG:style_emoticons/kolobok_light/smile.gif) Внутри void main() {} надо вставлять. Кусок скопирован из рабочего скрипта.Или вариант 2: удалить русский коммент. Непатченный компилятор агрится на букву "я" (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#4897
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
Еще раз огромное спасибо. Я попытался сделать диалог со следами, как в кампании, взял принцип оттуда, но не выходит. Почему?
|
![]()
Сообщение
#4898
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
ты покажи что конкретно не получается
|
![]()
Сообщение
#4899
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
|
![]()
Сообщение
#4900
|
|
Level 3 ![]() Класс: Пьяный Мастер Характер: True Neutral Раса: Человек ![]() |
На OnUsed следов прикрепил стандартный скрипт x1_placeablecon, подсмотрел как в кампании и прикрутил диалог. Или все-таки надо еще отдельно какой-то скрипт использовать?
Я сам себя загнал в угол, извиняюсь, нашел ошибку. Есчо глупейший вопрос. Нужен скрипт, чтобы игрок умирал и смог воскреснуть только через время (например 30 секунд), + потеря золота и опыта без потери уровня. Или чтобы после смерти он попадал в локацию чистилища и при разговоре с духом появлялся в том же месте где и умер, но с потерей золота и опыта. |
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 16:58 |