function GhostKain(id)
{
CreatePerson("Kain", KainGhost, true);
switch (id)
{
case "1":
Foo("Kain", 151, 108, "west", 1);
Move("Kain", COMMAND_MOVE_WEST, 7, false);
Move("Kain", COMMAND_MOVE_NORTH, 1, false);
Move("Kain", COMMAND_MOVE_WEST, 3, false);
FollowingKain = 1;
break;
case "2":
Foo("Kain", 135, 92, "west", 1);
Move("Kain", COMMAND_MOVE_WEST, 9, false);
FollowingKain = 2;
break;
case "3":
Foo("Kain", 182, 92, "west", 1);
Move("Kain", COMMAND_MOVE_WEST, 3.4, false);
Move("Kain", COMMAND_MOVE_SOUTH, 6, false);
FollowingKain = 3;
break;
case "4":
Foo("Kain", 126, 44, "south", 1);
Move("Kain", COMMAND_MOVE_SOUTH, 4, false);
Move("Kain", COMMAND_MOVE_EAST, 2.55, false);
Move("Kain", COMMAND_MOVE_NORTH, 3, false);
Move("Kain", COMMAND_MOVE_EAST, 2, false);
Move("Kain", COMMAND_MOVE_SOUTH, 2, false);
Move("Kain", COMMAND_MOVE_EAST, 4, false);
break;
case "5":
Foo("Kain", 39, 92, "east", 1);
Move("Kain", COMMAND_MOVE_EAST, 5.55, false);
Move("Kain", COMMAND_MOVE_NORTH, 2, false);
QueuePersonCommand("Kain", COMMAND_FACE_EAST, false);
QueuePersonCommand("Kain", COMMAND_FACE_SOUTH, false);
SetPersonScript("Kain", SCRIPT_ON_ACTIVATE_TOUCH, "KainTalk()");
FollowingKain = 1000; //set really really really high so once you talk to him you can not do it again
FoundKain = 1;
break;
}
}
Foo(name, x, y, d, l)
sets x, y, direction and layer of named person
function KainTalk()
{
Talk("Kain Highwind", messagetexts[17]);
Delay(5000);
Talk("Kain Highwind", messagetexts[18]);
Delay(5000);
Talk("Kain Highwind", messagetexts[19]);
Delay(5000);
Talk("Kain Highwind", messagetexts[20]);
Delay(5000);
Talk("Kain Highwind", messagetexts[21]);
Delay(5000);
Talk("Kain Highwind", messagetexts[22]);
Delay(5000);
Talk("Kain Highwind", messagetexts[23]);
Delay(5000);
Talk("Kain Highwind", messagetexts[24]);
Delay(5000);
SetBlue();
}
Talk(); was one of the first things I coded (before I started designing my own msgboxes) when I started with Sphere 1.5. It came from the included help file. All I did to it was modify it so it did not require GetKey();
SetBlue(); gives the player the blue ring and changes the spriteset accordingly.