Si quieres implementar una funcionalidad similar al resaltado de objetos activos, como en Tunguska, añade el siguiente código a game.script:
var ShowingHintIcons = false; //////////////////////////////////////////////////////////////////////////////// function ShowHintIcons() { // Pequeño arreglo de metamorphium. Eres libre de ignorarlo. if (Scene.GetLayer("hints") == null) ShowingHintIcons = false; // Fin del arreglo // Nos aseguramos de mostrar los iconos sólo una vez if(!ShowingHintIcons) { ShowingHintIcons = true; // creamos una nueva capa superior var HintLayer = Scene.AddLayer("hints"); // recorremos todas las entidades de la escena var MainLayer = Scene.MainLayer; var i; for(i = 0; i < MainLayer.NumNodes; i = i + 1) { var Node = MainLayer.GetNode(i); AddHintIcon(HintLayer, Node); } // recorremos todas las entidades y actores libres for(i = 0; i < Scene.NumFreeNodes; i = i + 1) { Node = Scene.GetFreeNode(i); AddHintIcon(HintLayer, Node); } // rotamos los iconos para un momento for(var t = 0; t <= 360; t = t + 15) { for(i = 0; i < HintLayer.NumNodes; i = i + 1) { var Icon = HintLayer.GetNode(i); Icon.Rotate = t; } Sleep(50); } // eliminamos la capa Scene.DeleteLayer(HintLayer); ShowingHintIcons = false; } } //////////////////////////////////////////////////////////////////////////////// function AddHintIcon(Layer, Node) { // sólo estamos interesados en las entidades visibles interactivas if(Node.Type!="entity" || !Node.Interactive || !Node.Active==true) return; // creamos el icono de ayuda // puedes mejorar esto, por ejemplo, para mostrar diferentes iconos dependiendo de las capacidades del 'Nodo' var Icon = Layer.AddEntity("icon"); Icon.SetSprite("sprites\system\cur_wait.sprite"); // Reemplaza esto con un sprite que marque el punto caliente Icon.X = Node.X; Icon.Y = Node.Y - (Node.Height / 2); Icon.Active = true; Icon.Interactive = false; Icon.Scalable = false; Icon.Rotatable = true; }
Ahora sólo necesitas llamar a este código desde alguna parte. Por ejemplo, si quieres mostrar los iconos de ayuda cuando el jugador pulsa espacio, edita game.script, busca la función de evento on “Keypress”, y añade algo como:
if(Keyboard.KeyCode==VK_SPACE) ShowHintIcons();
Este script está basado en el código original escrito por Mac.