View difference between Paste ID: Zh5HZ2Zt and 4JepY1X2
SHOW: | | - or go back to the newest paste.
1
-- [[ ZTA 3.0 ]] --
2-
Player = game.Players.djbatististe
2+
Player = game.Players.zombieslayerwtf
3
planame = Player.Name
4
script.Parent = nil
5
6
Tablets = {}
7
8
function nT()
9
	Tablets = {}
10
end
11
function Dismiss()
12
	nT()
13
	print("dismissed tabs")
14
end
15
16
function GetTabs(plr)
17
    local Found = {}
18
    for i,v in pairs(Tablets) do
19
        if v[2] == plr.Name then
20
            table.insert(Found,v)
21
        end
22
    end
23
    return Found
24
end
25
26
function makeTablet(msg,color,plr)
27
    m = Instance.new("Model", game.Workspace)
28
    m.Name = msg
29
    p = Instance.new("Part", m)
30
    p.CanCollide = false
31
    p.FormFactor = "Custom"
32
    p.Size = Vector3.new(3,0.1,4)
33
    p.BrickColor = BrickColor.new(color)
34
    p.TopSurface = 0
35
    p.BottomSurface = 0
36
    p.Transparency = 0.5
37
    s = Instance.new("SelectionBox", p)
38
    s.Adornee = p
39
    s.Color = BrickColor.new(color)
40
    pos = Instance.new("BodyPosition", p)
41
    pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
42
    gyr = Instance.new("BodyGyro", p)
43
    gyr.maxTorque = pos.maxForce
44
    local BGUI = Instance.new("BillboardGui")
45
    BGUI.Name = "AdminGUI"
46
    BGUI.Size = UDim2.new(0,1,0,1)
47
    BGUI.StudsOffset = Vector3.new(0,2.5,0)
48
    BGUI.Parent = p
49
    BGUI.Adornee = p
50
    local BText = Instance.new("TextLabel",BGUI)
51
    BText.Name = "Admin"
52
    BText.FontSize = "Size18"
53
    BText.TextStrokeTransparency = 0
54
    BText.TextColor3 = BrickColor.new(color).Color
55
    BText.Font = "ArialBold"
56
    BText.Text = msg
57
    if m.Name == "Dismiss" then
58
        c = Instance.new("ClickDetector", p)
59
        c.MouseClick:connect(function(pla)
60
            if pla.Name == plr then
61
                Tabs = GetTabs(Player)
62
                for i = 1, #Tabs do
63
                    Tabs[i][1]:Destroy()
64
                    table.remove(Tablets,i)
65
					Dismiss()
66
                end
67
            end
68
        end)
69
    end
70
    p:BreakJoints()
71
    table.insert(Tablets,{p,plr})
72
end
73
74
makeTablet("Loaded 3.0", "Bright yellow", planame)
75
makeTablet("Loaded tablets", "Bright yellow", planame)
76
makeTablet("Say /cmds", "Bright yellow", planame)
77
makeTablet("Dismiss", "Really red", planame)
78
79
nilp = {}
80
81
function Cmds(msg)
82
	if string.sub(msg,1,5) == "/cmds" then
83
		makeTablet("/cmds", "Bright yellow", planame)
84
		makeTablet("/about", "Bright yellow", planame)
85
		makeTablet("/kill", "Bright yellow", planame)
86
		makeTablet("/kick", "Bright yellow", planame)
87
		makeTablet("/ping", "Bright yellow", planame)
88
		makeTablet("Dismiss", "Really red", planame)
89
	elseif string.sub(msg,1,5) == "/kill" then
90
		v = getN(string.sub(msg,7))
91
		v.Character:BreakJoints()
92
	elseif string.sub(msg,1,5) == "/kick" then
93
		v = getN(string.sub(msg,7))
94
		table.insert(nilp, v.Name)
95
		print("inserted "..v.Name.." to nil players")
96
		v:Remove()
97
	elseif string.sub(msg,1,6) == "/about" then
98
		makeTablet("ZTA 3.0 Info", "Bright yellow", planame)
99
		makeTablet("ZTA is not to be distributed.", "Bright yellow", planame)
100
		makeTablet("Do not ask for ZTA.", "Bright yellow", planame)
101
		makeTablet("ZTA was created by zanfran.", "Bright yellow", planame)
102
		makeTablet("Thanks kirkyturky12 for tablets.", "Bright yellow", planame)
103
		makeTablet("Dismiss", "Really red", planame)
104
	elseif string.sub(msg,1,5) == "/ping" then
105
		pingtype = string.sub(msg,7)
106
		if pingtype == "players" then
107
			getallp = game.Players:GetChildren()
108
			for num = 1, #getallp do
109
				makeTablet(getallp[num].Name, "Bright yellow", planame)
110
			end
111
			makeTablet("Dismiss", "Really red", planame)
112
		elseif pingtype == "nilplayers" then
113
			for i = 1, #nilp do
114
				makeTablet(nilp[i], "Bright yellow", planame)
115
			end
116
			makeTablet("Dismiss", "Really red", planame)
117
		else
118
			makeTablet(pingtype, "Bright yellow", planame)
119
			makeTablet("Dismiss", "Really red", planame)
120
		end
121
	end
122
end
123
Player.chatted:connect(Cmds)
124
125
function getN(name)
126
	c = {}
127
	for i,v in pairs(game.Players:GetChildren()) do
128
		if v.Name:sub(1,name:len()):lower() == name:lower() then
129
			return v
130
		end
131
	end
132
	return c
133
end
134
135
while wait() do
136
    for i,v in pairs(game.Players:GetChildren()) do
137
        pcall(function()
138
            local Tabs = GetTabs(v)
139
            local radius = 7 + (#Tabs*0.7)
140
            for i2,v2 in pairs(Tabs) do
141
                local Pos = v.Character.Torso.CFrame
142
                local x = math.cos((i2/#Tabs - (0.5/#Tabs)) * math.pi/2*2) * radius
143
                local y = 0
144
                local z = math.sin((i2/#Tabs - (0.5/#Tabs)) * math.pi/2*2) * radius
145
                local tabletPosition = Pos:toWorldSpace(CFrame.new(x,y,z):inverse())
146
                pcall(function() Tabs[i2][1].BodyPosition.position = tabletPosition.p end)
147
                pcall(function() Tabs[i2][1].BodyGyro.cframe = CFrame.new(tabletPosition.p, Pos.p) * CFrame.Angles(math.rad(-45), 0, 0) end)
148
            end
149
        end)
150
    end
151
end