Мне нужен совет для базовых сценариев в CryEngine 3

Я хочу добавить некоторые параметры в плеер. например, "Голод", "Жажда" (Survival Stuff) Могу ли я сделать это с помощью сценария lua? Потому что Player - это то, что уже настроено в движке. Могу ли я получить к нему доступ? Или какой лучший способ сделать это?

1 ответ

Если это тот случай, когда игрок является неизменяемым или вы не можете добавить в него новые поля (userdata и т. Д.), То обычно можно построить таблицу с неизменяемыми данными (в данном случае, игроком) в виде индексный ключ для полей, представляющих данные, которые вы хотите отслеживать.

local hunger = setmetatable({}, {__mode = 'k'}) -- Use weak keys for the GC.
hunger[Player1] = 10

Например, вы можете использовать эту идиому в любое время, когда захотите "добавить" дополнительную информацию к такому объекту, данным пользователя или таблице. Это просто общая идея Lua, отдельная от любого конкретного движка. В зависимости от того, как работает CryEngine, вам может понадобиться hunger глобальная переменная, а не локальная.

Другие вопросы по тегам