changes
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
makeclass('player')
|
||||
makeclass('buff')
|
||||
|
||||
function player.interface(actor,place)
|
||||
gui.menu_item("cb_north","Go North")
|
||||
gui.menu_item("cb_south","Go South")
|
||||
gui.menu_item("cb_west" ,"Go West")
|
||||
gui.menu_item("cb_east" ,"Go East")
|
||||
gui.menu_item("cb_emit" ,"Emit Buff")
|
||||
gui.menu_item("cb_map" ,"Where Am I?")
|
||||
end
|
||||
|
||||
function player.cb_where(actor,place)
|
||||
pprint(tangible.xyz(actor))
|
||||
end
|
||||
|
||||
function player.cb_north(actor,place) tangible.animate(actor,{action="walk",dy= 1}) end
|
||||
function player.cb_south(actor,place) tangible.animate(actor,{action="walk",dy=-1}) end
|
||||
function player.cb_west (actor,place) tangible.animate(actor,{action="walk",dx=-1}) end
|
||||
function player.cb_east (actor,place) tangible.animate(actor,{action="walk",dx= 1}) end
|
||||
|
||||
function player.cb_emit(actor,place)
|
||||
tangible.build{class='buff',x=0,y=0,z=0,plane='main',graphic='Ring'}
|
||||
end
|
||||
|
||||
function seq(a,b,c) return a<=b and b<=c or false end
|
||||
|
||||
function player.cb_map(actor,place)
|
||||
local rad=2
|
||||
local map={}
|
||||
local lis=tangible.near(actor,rad,true,false)
|
||||
local ax,ay=tangible.xyz(actor)
|
||||
for _,t in ipairs(lis) do
|
||||
local x,y=tangible.xyz(t)
|
||||
local dx=ax-x
|
||||
local dy=ay-y
|
||||
local class=tangible.getclass(t)
|
||||
if seq(-rad,dx,rad) and seq(-rad,dy,rad) then
|
||||
local offset=(dy+rad)*(rad*2+1)+dx+rad
|
||||
if not map[offset] then map[offset]={} end
|
||||
if class=='buff' then map[offset].buff=true
|
||||
elseif class=='player' then map[offset].player=true
|
||||
end
|
||||
end
|
||||
end
|
||||
for dy=-rad,rad do for line=1,3 do
|
||||
local str=""
|
||||
for dx=-rad,rad do
|
||||
local offset=(dy+rad)*(rad*2+1)+dx+rad
|
||||
str=str.."---"
|
||||
end
|
||||
print(str)
|
||||
end end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user