Да? Пожалуйста - скрипт висит на мече, добавляет перк, наследует... угадайте... правильно Scriptname SilverSwordScript extends ObjectReference
Можешь убрать extends ObjectReference и ничего не изменится, потому что определенных в ObjectReference функций скрипт не использует.
ObjectReference используется на большинстве объектов, так как в основном мы и оперируем
референсами объектов и логично наследовать именно его.
если обращение из квеста?
Обращаясь из скрипта, который висит на квесте, да вообще откуда угодно, ты получаешь тот же ObjectReference со всеми его функциями и свойствами.
Вы для интересу не копались в скриптах? Вот вам пример:
1. берем стандарный скрипт actor который мы получаем обращаесь к любому актору, в том числе и игроку.
2. Дописываем туда следующее
string Function makeMeHappy()
return "You Are Happy"
endFunction
3. Пишем тестовый скрипт как в туториале hello world только со следующим содержанием.
Event OnActivate(ObjectReference akActionRef)
Debug.MessageBox(Game.GetPlayer().makeMeHappy())
endEvent
4. Вешаем его на активатор и тестим в игре. Получим сообщение с текстом "You are happy".
Наталкивает на раздумья зачем нужны эти скриптовые объекты, и почему иногда встречаются такие пустые скрипты как ammo или weapon?