Created
November 11, 2018 17:34
-
-
Save xDeda/af0f7770177c3d2fd274d45831bff296 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
toDespawn={} -- define a table variable that you can put spawned items into | |
-- | |
function eventMouse(name,xco,yco) -- name = name of clicker, xco = x cord of click, yco = y cord of click | |
ax = tfm.get.room.playerList[name].x -- x cord of mouse that clicked | |
by = tfm.get.room.playerList[name].y -- y cord of mouse that clicked | |
x = ax - xco -- x cord of mouse minus x cord of click | |
y = by - yco -- y cord of mouse minus y cord of click | |
-- if mouse cords are both bigger than mouse click cords (which means mouse has clicked to the RIGHT and DOWN of his own mouse) | |
if ax < xco and by < yco then | |
print("| right | down |") | |
xo = x-x-x -- making a new variable (from x) that is flipped from positive to negative but with same numerical value | |
yo = y-y-y -- same | |
xs = xo/10 -- define the speed derived from the opposite (and lower (division)) value of the thing (???) | |
ys = yo/10 -- same | |
elseif ax > xco and by < yco then -- if left and down of click | |
print(" | left | down | ") | |
xo = x-x-x | |
yo = y-y-y | |
xs = xo/10 | |
ys = yo/10 | |
elseif ax < xco and by > yco then -- if right and up of click | |
print(" | right | up | ") | |
xo = x-x-x | |
yo = y-y-y | |
xs = xo/10 | |
ys = yo/10 | |
elseif ax > xco and by > yco then -- if left and up of click | |
print(" | left | up | ") | |
xo = x-x-x | |
yo = y-y-y | |
xs = xo/10 | |
ys = yo/10 | |
end | |
id = tfm.exec.addShamanObject(6, xco, yco, 0, xs, ys, false) -- shoot the ball (id 6) from mouse-click position (xco, yco) with the derived speed (xs, ys) | |
table.insert(toDespawn,{os.time(),id}) -- insert into list over items to be despawned by cleaner-upper below | |
end | |
-- clean up spawned items | |
function eventLoop(time,remaining) -- activates every half second, variables (time,remaining) don't matter in this script | |
for i,cannon in ipairs(toDespawn) do -- for item,item in toDespawn table | |
if cannon[1] <= os.time()-3000 then -- if item is older than 3000 milliseconds | |
tfm.exec.removeObject(cannon[2]) -- fucking remove them m8 | |
table.remove(toDespawn,i) -- remove from list of things to be despawned | |
end | |
end | |
end | |
-- initiate the script and bind mouseclicks | |
for name, player in pairs(tfm.get.room.playerList) do -- loop every mouse, takes two mice in a single loop | |
system.bindMouse(name,true) -- player one bound now | |
system.bindMouse(player,true) -- second player in the single loop bound | |
end | |
-- if a mouse enters the room | |
function eventNewPlayer(name) | |
system.bindMouse(name,true) | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment