morrow Опубликовано 19 марта, 2016 Жалоба Поделиться Опубликовано 19 марта, 2016 (изменено) Жаль, что не получится реализовать общий сундук, в который можно было бы вкладывать вещи в Балморе, а потом достать их в Дагон Феле, например. Или можно? Удобно же.Я вроде где-то читал о реализации такой вещицы. А, вот, MSFD:Info from the UESP: There is an undocumented feature in the Activate function by specifying the player after the function, for example: begin RemoteContainer short OnPCEquip if ( OnPCEquip == 1 ) set OnPCEquip to 0 "dh_remote_chest_01"->Activate, player endif If the container is persistent (references persist) this script should open the container wherever the player is. This is a great way to create 'carryable' containers by attaching a script similar to the above to a ring or similar item. Идея очень понравилась. К сожалению МСФД не расписывает подробней её проработку.Пока адаптировал плагин с лопатами и кладами подумал сделать такой отовсюду доступный контейнер:На объект (_BYT_remote_hole_anchor), который другим скриптом можно расставлять куда угодно, крепится такой скрипт: begin BYT_RemoteHole Short state Short button if ( OnActivate == 1 ) if ( player->HasItemEquipped, "_BYT_scoop" == 0 ) MessageBox, "Возьмите в руки совок!" "Ладно" Return elseif ( GetPCSneaking == 1 ) set state to 1 else PlaySound3D, "digging" "_BYT_remote_hole"->Activate, player endif endif If ( state == 1 ) MessageBox "Что сделать с кладом?", "Посмотреть содержимое", "Сровнять с землей и убрать" Set state to 2 EndIf If ( state == 2 ) Set button to GetButtonPressed if ( button == 0 ) PlaySound3D, "digging" Set state to 7 Return Elseif ( button == 1 ) Set state to 3 Endif EndIf If ( state == 3 ) MessageBox "Точно сровнять клад с землей?", "Да", "Нет" Set state to 4 EndIf If ( state == 4 ) Set button to GetButtonPressed if ( button == 0 ) Set state to 5 ElseIf ( button == 1 ) Set state to 0 Return EndIf EndIf If ( state == 5 ) Disable Set state to 6 Return EndIf If ( state == 6 ) SetDelete 1 Return EndIf If ( state == 7 ) "_BYT_remote_hole"->Activate, player Set state to 0 EndIf end Скрипт не работает как надо: активация объекта не приводит к открытию вседоступного контейнера (_BYT_remote_hole). Тупо ничего не происходит при попытке активировать.Пробовал делать исходный объект (_BYT_remote_hole_anchor) со скриптом, как активатором, так и контейнером, но результата нет. "Вседоступный" контейнер помещён в мир, Referenced Persist отмечено галкой. Исходный скрипт из МФСД предлагает проворачивать активацию контейнера через экипировку. Но контейнер или статик-то не наденешь, да и надо, чтобы объект визуально лежал на земле.Что делать? З.Ы. Пробовал исходный МСФД-шный скрипт прицепить к кольцу, но контейнер всё равно не активируется при экипировке колечка(((З.Ы.Ы. Попробовал в скрипте на исходном объекте (_BYT_remote_hole_anchor) заменить обе строки"_BYT_remote_hole"->Activate, playerна добавление в инвентарь кольца и его экипировку (пока без проверки надето и есть ли оно уже), но контейнер так и не открывается. Что-то не так с этой недокументированной функцией? Что-то не так со мной со скриптами? Изменено 19 марта, 2016 пользователем morrow Ссылка на комментарий Поделиться на другие сайты Поделиться
R-Zero Опубликовано 19 марта, 2016 Жалоба Поделиться Опубликовано 19 марта, 2016 Контейнеры в игре работают довольно криво. Попробуй сначала активировать его вручную один раз, потом через скрипт. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dun Dram Опубликовано 19 марта, 2016 Жалоба Поделиться Опубликовано 19 марта, 2016 "Вседоступный" контейнер помещён в мир, Referenced Persist отмечено галкой.А игрок был в ячейке, в которй этот контейнер находится? Вообще, идея не нова.http://mw.modhistory.com/download-95-1261http://mw.modhistory.com/download-95-3759 Ссылка на комментарий Поделиться на другие сайты Поделиться
morrow Опубликовано 19 марта, 2016 Автор Жалоба Поделиться Опубликовано 19 марта, 2016 (изменено) Контейнеры в игре работают довольно криво. Попробуй сначала активировать его вручную один раз, потом через скрипт.А игрок был в ячейке, в которй этот контейнер находится?Он у меня в центре Сейда Нина стоит. И в ячейке был и активировал его предварительно и постфактум. Не получается. Через кольцо сейчас попробую ещё раз, но уже проверял. Вообще, идея не нова.http://mw.modhistory...ownload-95-1261http://mw.modhistory...ownload-95-3759О, этих не видел. Посмотрю как там сделано. Upd:Посмотрел – безблагодатность. Там надо ходить в спец комнатку и активировать контейнер каждую загрузку игры и каждые 72 часа (похоже что; об этом и в МСФД говорится). Это как-то тупо и совсем не подходит под мою реализацию. Проще уж телепорт крепить на мой клад, чтобы игрока телепортировало в пещерку, изображающую клад изнутри… К слову в консоли этот "вседоступный" контейнер отображается как "_BYT_remote_hole0000000" а не просто "_BYT_remote_hole". Думал, что из-за этого не открывается, но не в этом дело. Изменено 19 марта, 2016 пользователем morrow Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 20 марта, 2016 Жалоба Поделиться Опубликовано 20 марта, 2016 (изменено) К слову в консоли этот "вседоступный" контейнер отображается как "_BYT_remote_hole0000000" а не просто "_BYT_remote_hole". Думал, что из-за этого не открывается, но не в этом дело.В консоли все так отображается. Не считая, конечно, копий объекта. "_BYT_remote_hole"->Activate, playerВ Морроувинде просто Activate (айди непися, заюзавшего объект, появилось только в Обливионе). Правда, не уверен, повлияет ли. Изменено 20 марта, 2016 пользователем Муурн Шепард Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти