makeclass("world") makeclass('login') makeclass("engio") makeclass('cube') makeclass('sphere') -- This gets called on every login except the admin user. function login.init() local player = global.get("nextplayer") global.set("nextplayer", player + 1) dprint("login.init initializing player ", player) actor.player = player tangible.animinit{tan=actor, anim={bp="character", mesh="manny", plane="earth", xyz={player * 100, 0, 90}}} end -- This gets called on the admin user. You can call login.init in here if you want. function world.init() dprint("world.init") global.set("nextplayer", 0) tangible.build{class=cube, anim={plane="earth", xyz={500,-100,0}, mat_color={1,0,0}}} tangible.build{class=sphere, anim={plane="earth", xyz={500,100,0}, mat_color={0,0,1}}} login.init() end function engio.move(action, xyz, facing) -- todo: sanity check the parameters. dprint("engio.move ", action, " ", xyz[1], " ", xyz[2], " ", xyz[3]) tangible.animate{tan=actor, anim={action=action, interactive=true, xyz=xyz, facing=facing}} end function moveto(x, y) local z = tangible.animfinal(actor).xyz[3] tangible.animate{tan=actor, anim={action="moveto", xyz={x, y, z}, facing=math.auto}} end function cube.lookmenu(add) add("Cube Hi", function () dprint("Doing Cube Hi") end) add("Cube Bye", function () dprint("Doing Cube Bye") end) add("Cube Yo", function () dprint("Doing Cube Yo") end) end function sphere.lookhotkeys(add) add("FaceL", "Sphere Hi", function () dprint("Doing Sphere Hi") end) add("FaceM", "Sphere Bye", function () dprint("Doing Sphere Bye") end) add("FaceR", "Sphere Yo", function () dprint("Doing Sphere Yo") end) end function engio.getlookat() local class = tangible.getclass(place) -- if the tangible is not of any class, return empty string. if class == nil then return "" end -- if the class has a function 'lookhotkeys', then the correct -- look-at widget is 'hotkeys'. if class.lookhotkeys ~= nil then return "hotkeys" end -- if the class has a function 'lookmenu', then the correct -- look-at widget is 'menu'. if class.lookmenu ~= nil then return "menu" end -- otherwise, if the class has a function 'getlookat', use that. if class.getlookat ~= nil then return class.getlookat() end -- by default, return the empty string. return "" end function jp3() tangible.animate{tan=actor, anim={action="play", seq="jump"}} tangible.animate{tan=actor, anim={action="play", seq="jump"}} tangible.animate{tan=actor, anim={action="play", seq="jump"}} end