View difference between Paste ID: TBnv0EDY and VzfRWsE6
SHOW: | | - or go back to the newest paste.
1
--[[
2
  _____                        ____               
3
 |  ___| __ ___ _______ _ __  / ___|___  _ __ ___ 
4
 | |_ | '__/ _ \_  / _ \ '_ \| |   / _ \| '__/ _ \
5
 |  _|| | | (_) / /  __/ | | | |__| (_) | | |  __/
6
 |_|  |_|  \___/___\___|_| |_|\____\___/|_|  \___|
7-
	 Lightning speed and strength
7+
     Lightning speed and strength
8-
		 conjured directly from the depths of logic!   
8+
         conjured directly from the depths of logic!   
9-
			Prismatic-Network 2013 (C) by Psykko
9+
            Prismatic-Network 2013 (C) by Psykko
10
<--------------------------------------------------------------------------->
11
 - Developer(s): Psykko
12
 - Complete: 100%
13
 - ScriptName: 'CheckpointSystem'
14
 - Comment: N/A
15
<--------------------------------------------------------------------------->
16
]]
17
18-
LOC = {}
18+
-- Rewritten by Rochet2
19
20
local CD = 20 -- 20 sec
21
22-
function LOC.Options(event, player, message)
22+
local LOC = {}
23-
	if (message == "#save") then -- command to save location
23+
local function OnChat(event, player, message)
24-
		if (LOC[tostring(player)] == nil) then
24+
    if (message == "#save") then -- command to save location
25-
			LOC[tostring(player)] = {cooldown = 0, map = player:GetMapId(), x = player:GetX(),y = player:GetY(),z = player:GetZ()}
25+
        local str = tostring(player)
26-
			player:SendBroadcastMessage("|cffff6060[Prismatic-Network]: |cff00ccffYour Location has been Saved.") -- text on save
26+
        local x,y,z,o = player:GetLocation()
27-
		else
27+
        LOC[str] =
28-
			if (GetCooldown(player).cooldown ~= 0) then
28+
        {
29-
				LOC[tostring(player)] = {cooldown = GetCooldown(player).cooldown, map = player:GetMapId(), x = player:GetX(),y = player:GetY(),z = player:GetZ()}
29+
            cooldown = (LOC[str] and LOC[str].cooldown) or 0,
30-
			else
30+
            location = {player:GetMapId(),x,y,z},
31-
				LOC[tostring(player)] = {cooldown = 0, map = player:GetMapId(), x = player:GetX(),y = player:GetY(),z = player:GetZ()}
31+
        }
32-
			end	
32+
        player:SendBroadcastMessage("|cffff6060[Prismatic-Network]: |cff00ccffYour Location has been Saved.")
33-
			player:SendBroadcastMessage("|cffff6060[Prismatic-Network]: |cff00ccffYour Checkpoint has been changed to his Location.") -- text on save the next point
33+
        return false
34-
		end
34+
    elseif (message == "#go") then    -- command to teleport to checkpoint
35-
		return 0;
35+
        local str = tostring(player)
36-
	end
36+
        if (LOC[str]) then
37-
	if (message == "#go") then	-- command to teleport to checkpoint
37+
            local ctime = os.time()
38-
		if (GetCoords(player) ~= false) then
38+
            if (LOC[str].cooldown < ctime) then
39-
			if (GetCooldown(player).cooldown == 0) then
39+
                player:Teleport(table.unpack(LOC[str].location))
40-
				player:Teleport(GetCoords(player))
40+
                player:SendBroadcastMessage("|cffff6060[Prismatic-Network]: |cff00ccffYou have been Teleported to your Checkpoint. You can use this Command in 10seconds again.") -- text on teleport
41-
				player:SendBroadcastMessage("|cffff6060[Prismatic-Network]: |cff00ccffYou have been Teleported to your Checkpoint. You can use this Command in 10seconds again.") -- text on teleport
41+
                LOC[str].cooldown = ctime + CD
42-
				GetCooldown(player).cooldown = os.time() + CD
42+
            else
43-
			else
43+
                player:SendBroadcastMessage("|cffff6060[Prismatic-Network]: |cff00ccffPlease wait "..(LOC[str].cooldown - ctime).." seconds to teleport again.") -- text on cooldown
44-
				player:SendBroadcastMessage("|cffff6060[Prismatic-Network]: |cff00ccffPlease wait "..GetCooldown(player).cooldown - os.time().." seconds to teleport again.") -- text on cooldown
44+
            end
45-
			end
45+
        else
46-
		else
46+
            player:SendBroadcastMessage("|cffff6060[Prismatic-Network]: |cff00ccffYou havent set a Checkpoint yet.") -- text on no saved location
47-
			player:SendBroadcastMessage("|cffff6060[Prismatic-Network]: |cff00ccffYou havent set a Checkpoint yet.") -- text on no saved location
47+
        end
48-
		end
48+
        return false
49-
		return 0;
49+
    end    
50-
	end	
50+
51-
end	
51+
52
RegisterServerHook(16, OnChat)