Styx> Рискну предположить:
Нет, так нельзя
1. От прямых вызовов слов по именам в критических мастах мы отказываемся, так как это снижает скорость.
2. Механизм уже реализован.
Пример из той же тюрьмы:
code forth
: npc-die+! ( 'word npc_id# -- )
Append word to execute on kill npc with npc_id
>r
npc-die-map@ r@ m@ ( 'w list R: id )
?dup null? if
new-list
then
tuck
list+
npc-die-map@ r> m!
;
' jail-check 653 npc-die+!
' jail-check 172 npc-die+!
Так вот, нынешний движок одинаково вызывает нужные слова, заданные адресом, как по npc_id, так и по object_id. Т.е. нужно будет что-то вроде
code forth
' die-check player@ "ObjectId" p@ npc-die+!
Слово npc-die+! нужно будет из тюрьмы в основные библиотеки перекинуть. Ну и в Wiki это дело описать