Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local middle = {x=0,z=0}
- local offset = {x=-0.5,z=-0.5}
- local power = 0.035
- local defects = 50
- local maxpower = 4
- local controls = {
- forward = keys.w,
- backward = keys.s,
- left = keys.a,
- right = keys.d,
- sprint = keys.r,
- shift = keys.leftShift,
- jump = keys.space
- }
- local per = peripheral.wrap("back")
- local vpos
- local setMiddle = function(x,z) middle = {x=x,z=z} end
- local setOffset = function(x,z) offset = {x=x,z=z} end
- local setMaxPower = function(power) maxPower = math.min(power,10) end
- local getVPOS = function() return vpos end
- local getPlayerRot = function()
- local meta = per.getMetaOwner()
- return meta.yaw,meta.pitch
- end
- local getPlayerPos = function()
- local x,_,z = gps.locate()
- return x,z
- end
- local move = function()
- power = power + defects / 1000
- local degCalc = function(x,z)
- return math.deg(math.atan2(-x, z))
- end
- while true do
- local x,_,z = gps.locate()
- local x,z = x-(middle.x-offset.x),z-(middle.z-offset.z)
- local yaw = degCalc(x,z)
- local power = math.min(math.sqrt(x^2+z^2)*power,maxpower)
- per.launch(yaw-180,0,power)
- sleep()
- end
- end
- local function lookVector(angle)
- local rads = math.rad(angle - 180)
- return {
- x = math.cos(rads),
- y = 0,
- z = math.sin(rads)
- }
- end
- local menu = function()
- end
- local vPos = function()
- local event
- local detection = function()
- event = os.pullEvent("key")
- rotX,rotY = getPlayerPos()
- end
- local main = function()
- sleep(1)
- end
- parallel.waitForAll(detection,main)
- end
- pcall(parallel.waitForAll,vPos,move)
Add Comment
Please, Sign In to add comment