vale, otro problema:
Quiero, mediante un puzzle, echar agua al fuego, que este se apague y queden ascuas (conseguido).
tambien quiero colocar sobre una estreves un trozo de papel albal que tengo en el inventario, para poder colocar ahí las ascuas. y aquí es donde surge el problema.
Si no me equivoco mucho, debo poner un evento llamado
on "albal" en el script de la estreves. Y en el script del
albalvacio (el de la scene) he puesto
this.active = false al principio, con lo cual consigo que no se vea al principio de la scene. El problema surge cuando quiero ponerlo en true desde el script de la estreves. Tambien he quitado en el editor de escenas el item, para poder hacer que aparezca y desaparezca de manera manual mediante el código (como me sugirió Juan Bonair hace tiempo).
Pues bien, resulta que no sé cómo poner el
albalvacio.active = true, para que aparezca cuando combino el albal con la esteves. Me da el siguiente error:
17:03:27: Compiling script 'scenes\new_scene\scr\estreves.script'...
17:03:27: Error@line 33: Variable 'albalvacio' is referenced but not defined
¿por qué no está definido? ¿cómo lo defino? os dejo los 3 scripts, el de la
estreves, el del item
albal, y el del objeto de la escena
albalvacio.
esteves:
#include "scripts\base.inc"
////////////////////////////////////////////////////////////////////////////////
on "LookAt"
{
actor.TurnTo(this);
actor.Talk("Es una estreves.");
actor.Talk("Suele usarse para poner cosas calientes encima.");
}
////////////////////////////////////////////////////////////////////////////////
on "Take"
{
actor.TurnTo(this);
actor.Talk("Está bien ahí.");
}
////////////////////////////////////////////////////////////////////////////////
on "Talk"
{
actor.Talk("No me da la gana.");
}
////////////////////////////////////////////////////////////////////////////////
on "LeftClick"
{
actor.GoToObject(this);
}
////////////////////////////////////////////////////////////////////////////////
on "albal"
{
actor.TurnTo(this);
Game.DropItem("albal");
albalvacio.Active = true;
}
Item albal:
#include "scripts\base.inc"
////////////////////////////////////////////////////////////////////////////////
on "LookAt"
{
actor.Talk("Papel albal. Del coco.");
}
////////////////////////////////////////////////////////////////////////////////
on "Take"
{
Game.SelectedItem = "albal";
}
////////////////////////////////////////////////////////////////////////////////
on "Talk"
{
actor.Talk("paso.");
}
albalvacio de la scene:
#include "scripts\base.inc"
this.Active = false;
////////////////////////////////////////////////////////////////////////////////
on "LookAt"
{
actor.TurnTo(this);
actor.Talk("El trozo de papel albal está colocado encima de la estreves.");
}
////////////////////////////////////////////////////////////////////////////////
on "Take"
{
actor.GoToObject(this);
actor.PlayAnim("actors\molly\ur\take1.sprite");
Game.TakeItem("albal");
this.Active = false;
actor.PlayAnim("actors\molly\ur\take2.sprite");
actor.Talk("pa la saca.");
}
////////////////////////////////////////////////////////////////////////////////
on "Talk"
{
actor.Talk("No.");
}
////////////////////////////////////////////////////////////////////////////////
on "LeftClick"
{
actor.GoToObject(this);
}
Lo peor del asunto es que seguro que es una tontada donde está el fallo...
