Ok, I created folder actors/teapot2, which is the copy of actors/teapot, I edited teapot2.script like this:
#include "scripts\base.inc"
////////////////////////////////////////////////////////////////////////////////
on "LookAt"
{
actor.GoTo(171, 465);
actor.TurnTo(DI_UPLEFT);
actor.Talk("There is a teapot lying on the floor.");
}
////////////////////////////////////////////////////////////////////////////////
on "Take"
{
actor.GoTo(171, 465);
actor.TurnTo(DI_UPLEFT);
actor.Talk("I'll take itttttt.");
Game.Interactive = false;
actor.PlayAnim("take_down");
actor.AddMesh("actors\trinity\teapot_taken.ms3d", "teapot2", "Bip01 R Finger12");
this.Active = false;
Game.TakeItem("teapot2");
actor.PlayAnim("take_up");
actor.PlayAnimChannel(1, "holding_item");
Game.Interactive = true;
}
My items.item file
ITEM
{
CURSOR_COMBINED = TRUE
CAPTION = "Teapot"
NAME = "teapot"
IMAGE = "items\teapot.png"
CURSOR = "items\teapot.png"
; CURSOR_HOVER = "items\book_h.bmp"
SCRIPT = "items\teapot.script"
}
ITEM
{
CURSOR_COMBINED = TRUE
CAPTION = "Teapot2"
NAME = "teapot2"
IMAGE = "items\teapot.png"
CURSOR = "items\teapot.png"
; CURSOR_HOVER = "items\book_h.bmp"
SCRIPT = "items\teapot2.script"
}
Teapot2 script from items directory
#include "scripts\base.inc"
////////////////////////////////////////////////////////////////////////////////
on "LookAt"
{
actor.Talk("An oddly textured teapot.");
}
////////////////////////////////////////////////////////////////////////////////
on "Take"
{
Game.SelectedItem = "teapot2";
}
////////////////////////////////////////////////////////////////////////////////
on "LeftClick"
{
Game.SelectedItem = "teapot2";
}
And lines that I added to scene_init.script
if(!Game.IsItemTaken("teapot2"))
{
var Teapot2 = Scene.LoadActor3D("actors\teapot2\teapot2.act3d");
Teapot2.SkipTo(163, 442);
Teapot2.Direction = DI_DOWNLEFT;
}
And now I have 2 teapots, which are acting exactly the same way ;/ What's wrong with that?