Files
integration/luprex/lua/login.lua

86 lines
2.6 KiB
Lua
Raw Normal View History

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
2024-02-07 15:59:17 -05:00
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
2026-04-14 02:05:15 -04:00
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
2026-04-13 16:08:23 -04:00
function sphere.lookhotkeys(add)
add("Z", "Sphere Hi", function () dprint("Doing Sphere Hi") end)
add("X", "Sphere Bye", function () dprint("Doing Sphere Bye") end)
add("C", "Sphere Yo", function () dprint("Doing Sphere Yo") end)
2025-04-07 16:48:27 -04:00
end
2025-04-07 16:48:27 -04:00
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
2026-04-09 14:43:11 -04:00
-- look-at widget is 'hotkeys'.
if class.lookhotkeys ~= nil then
2026-04-09 14:43:11 -04:00
return "hotkeys"
end
2026-04-14 02:05:15 -04:00
-- 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
2026-04-09 14:43:11 -04:00
2025-06-02 19:21:17 -04:00
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
2026-04-09 14:43:11 -04:00