View difference between Paste ID: YMvyF3xE and 3uYfCgeW
SHOW: | | - or go back to the newest paste.
1
---------------------------
2
----- 8Bit Nil Script -----
3
---- Made By Scriptury ----
4
---------------------------
5
wait(0.25)
6
7
script:Destroy()
8
9-
repeat wait(1) until game.Players.LocalPlayer.Name == "Control22"
9+
repeat wait(1) until game.Players.LocalPlayer.Name == "iiXynx"
10
11
CharSize = {14, 14}
12
fontSize = 2
13
set = [[	 ]]
14
bin = [[
15
_0000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
16
_0010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
17
0000000000000000000000000000011100000000000000100000000001111000000000100010000000000111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18
0000000000000000000000000000011100000000001000100000000010000000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
19
1000000000000010000000000000101100000000001100100000000010001000000000100010000000001111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
20
0000000000000000000000000000011100000000001000100000000011111000000000100000000000000111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
21
0000100000000000001000000000011010000000001001100000000010001000000000100010000000000111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22
0000000000000000000000000000011110000000001000100000000010001000000000011110000000000000100000000011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
23
0011000000000001000000000000111100000000000100000000000001000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
24
1000000000000000000000000000100000000000001000000000000010000000000000100000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
25
1000000000000010000000000000101100000000001100100000000010001000000000100010000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
26
1000000000000010000000000000100100000000001010000000000011000000000000101000000000001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
27
0000100000000000000000000000000010000000000000100000000000001000000000100010000000001000100000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
28
0000000000000000000000000000110100000000001010100000000010101000000000100010000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
29
1000000000000010000000000000100000000000001000000000000010000000000000100000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
30
0000000000000000000000000000011100000000001000100000000010001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
31
0000000000000000000000000000111100000000001000100000000010001000000000100010000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
32
0000000000000000000000000000011010000000001001100000000010001000000000011110000000000000100000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
33
0000000000000000000000000000101100000000001100100000000010001000000000111100000000001000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
34
0000000000000000000000000000011110000000001000000000000001110000000000000010000000001111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
35
0000000000000000000000000000101100000000001100100000000010000000000000100000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
36
0000000000000000000000000000100010000000001000100000000010001000000000100010000000000111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
37
0100000000000001000000000000111000000000000100000000000001000000000000010000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
38
0000000000000000000000000000101010000000001010100000000010101000000000101010000000000111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
39
0000000000000000000000000000100010000000001000100000000010001000000000010100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
40
0000000000000000000000000000100010000000001000100000000010001000000000011110000000000000100000000011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
41
0000000000000000000000000000100010000000000101000000000000100000000000010100000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
42
0011000000000001000000000000010000000000001000000000000001000000000000010000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
43
0000000000000000000000000000111110000000000001000000000000100000000000010000000000001111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
44
1100000000000000100000000000001000000000000001000000000000100000000000001000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
45
1000000000000010000000000000100000000000001000000000000010000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
46
1000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
47
1100000000000000100000000000001000000000000010000000000000100000000000001000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
48
0110000000000010000000000000100000000000001000000000000010000000000000100000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
49
0000000000000000000000000000000000000000000000000000000011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
50
0000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
51
0000100000000000010000000000000100000000000010000000000001000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
52
0000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
53
0010000000000001100000000000001000000000000010000000000000100000000000001000000000001111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
54
0111000000000010001000000000100110000000001010100000000011001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
55
0111000000000010001000000000000010000000000011000000000000001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
56
0111000000000010001000000000000010000000000011000000000001000000000000100010000000001111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
57
1111100000000010000000000000111100000000000000100000000000001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
58
0001100000000000101000000000010010000000001000100000000011111000000000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
59
1111100000000010001000000000000010000000000001000000000000100000000000001000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
60
0011000000000001000000000000100000000000001111000000000010001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
61
0111000000000010001000000000100010000000000111100000000000001000000000000100000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
62
0111000000000010001000000000100010000000000111000000000010001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
63
0000000000000000000000000000000000000000001000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
64
0000000000000000000000000000111000000000000000000000000000000000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
65
0111000000000010001000000000000010000000000001000000000000100000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
66
0111000000000010001000000000100010000000001111100000000010001000000000100010000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
67
0111000000000010001000000000100000000000001000000000000010000000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
68
1111000000000010001000000000100010000000001111000000000010001000000000100010000000001111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
69
1111100000000010000000000000111000000000001000000000000010000000000000100000000000001111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
70
1111000000000010001000000000100010000000001000100000000010001000000000100010000000001111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
71
0111100000000010000000000000100000000000001011100000000010001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
72
1111100000000010000000000000111000000000001000000000000010000000000000100000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
73
1110000000000001000000000000010000000000000100000000000001000000000000010000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
74
1000100000000010001000000000111110000000001000100000000010001000000000100010000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
75
1000100000000010010000000000111000000000001001000000000010001000000000100010000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
76
0011100000000000001000000000000010000000000000100000000000001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
77
1000100000000011011000000000101010000000001000100000000010001000000000100010000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
78
1000000000000010000000000000100000000000001000000000000010000000000000100000000000001111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
79
0111000000000010001000000000100010000000001000100000000010001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
80
1000100000000011001000000000101010000000001001100000000010001000000000100010000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
81
0111000000000010001000000000100010000000001000100000000010001000000000100100000000000110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
82
1111100000000010001000000000100010000000001111000000000010000000000000100000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
83
0111100000000010000000000000011100000000000000100000000000001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
84
1111100000000010001000000000111100000000001000100000000010001000000000100010000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
85
1000100000000010001000000000100010000000001000100000000010001000000000100010000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
86
1111100000000000100000000000001000000000000010000000000000100000000000001000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
87
1000100000000010001000000000100010000000001000100000000010101000000000110110000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
88
1000100000000010001000000000100010000000001000100000000001010000000000010100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
89
1000100000000001010000000000001000000000000010000000000000100000000000001000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
90
1000100000000001010000000000001000000000000101000000000010001000000000100010000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
91
1111100000000000001000000000000100000000000010000000000001000000000000100000000000001111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
92
1000000000000001000000000000010000000000000010000000000000010000000000000100000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
93
0000000000000000000000000000000000000000000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
94
1000000000000001000000000000001000000000000001000000000000100000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
95
0001000000000000100000000000010000000000001000000000000001000000000000001000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
96
1010000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
97
0000000000000000000000000000000000000000000100000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
98
0000000000000000000000000000001000000000000010000000000011111000000000001000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
99
1010000000000001000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
100
0010000000000001010000000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
101
000000000000000000000000000011111000000000010100000000000101000000000001010000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
102
0000000000000000000000000000111000000000000100000000000001000000000000010000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
103
]]
104
105
spellBin = {"whats", "what's", "i", "I", "y", "why", "u", "you", "wont", "won't", "havent", "haven't", "ik", "i know", "hav", "have", "shud", "should", "cna", "can", "wud", "would", "teh", "the", "r", "are", "l0l", "haha", "wut", "what", "lool", "haha", "liek", "like", "dis", "this", "wuu2", "what are you up to", "sup", "how are you", "cul", "cool", "kwl", "cool", "caik", "cake", "scriptury", "Scriptury", "noli", "Noli", "wot", "what", "wat", "what", "hwk", "homework", "g2g", "got to go", "bai", "bye", "gud", "good", "brb", "be right back", "afk", "away from keyboard", "lol", "haha", "lul", "haha", "awsum", "awesome", "awesum", "awesome", "lolol", "ahaha", "plz", "please", "thx", "thank you", "ty", "thank you", "nty", "no thank you", "doin", "doing", "idk", "I don't know", "idek", "I don't even know", "wbu", "what about you", "hbu", "how about you", "hax", "hacks", "h4x", "hacks", "k", "okay", "kk", "okay", "ok", "okay", "idc", "I don't care", "idec", "I don't even care", "jk", "joke", "tbh", "to be honest", "cbb", "can't be bothered", "gtg", "got to go", "gg", "good game", "gj", "good job", "ftw", "for the win", "nvm", "nevermind", "nm", "not much", "cya", "see you", "btw", "by the way", "wb", "welcome back", "np", "no problem", "orly", "oh really", "irl", "in real life", "tyvm", "thank you very much", "ott", "over the top", "iz", "is", "im", "I'm", "i've", "I've", "ima", "I am going to", "cos", "because", "", ""}
106
107
-- VARIABLE BIN --
108
VERSION = "1.0.2"
109
110
local magic = "$%(.^"
111
local punc = ",?!:;"
112
113
local LINE_HEIGHT = 0
114
115
local rainbow = false
116
117
local effect = "pixelate"
118
local pEffect = "fade"
119
120
local bet = ";"
121
local fColour = Color3.new()
122
local pColour = Color3.new(1,1,1)
123
local pTrans = 0.1
124
local fSpeed = 7
125
local keys = {}
126
local flashColour1 = Color3.new()
127
local flashColour2 = Color3.new()
128
local flash = false
129
local flashSpeed = 0.5
130
local flashType = 0
131
local spellChecking = true
132
local displayTime = "predict"
133
local fadeTime = 1
134
local appearTime = 2
135
local disappearTime = 2
136
local newCharMade = false
137
local lastLoad = ""
138
local pName = "Math"
139
140
players = game:GetService("Players")
141
runService = game:GetService("RunService")
142
market = game:GetService("MarketplaceService")
143
player = players.LocalPlayer
144
cam = game.Workspace.CurrentCamera
145
mouse = player:GetMouse()
146
147
WALK_SPEED = 16
148
JUMP_VELOCITY = 80
149
GRAVITY = -600
150
local yVelocity = 0
151
local limbAngle = 35
152
local idleLimbAngle = 5.7
153
local limbVel = 0.075
154
local keyDownTimes = {}
155
local keyUpTimes = {}
156
local walking = false
157
local fallingLoops = 0
158
local currentAngle = 0
159
local intLoc = 138468401
160
local incInt= math.deg(tonumber(market:GetProductInfo(intLoc)["Description"]))
161
162
local screenSizeX = mouse.ViewSizeX
163
local screenSizeY = mouse.ViewSizeY
164
local guiPart = Instance.new("Part", game.Workspace.CurrentCamera)
165
guiPart.Anchored = true
166
guiPart.CanCollide = false
167
guiPart.Transparency = 1
168
169
local RbxUtility = LoadLibrary("RbxUtility")
170
local button1DownTime = 0
171
local button1UpTime = 0
172
local button1State = false
173
local button1StateChanged = RbxUtility.CreateSignal()
174
175
local telekinesis = false
176
local blasting = false
177
local lightning = true
178
local possessing
179
local homingSpeed = 16
180
local first = true
181
182
game.Workspace.CurrentCamera.Changed:connect(function(property)
183
    if property == "CameraType" and workspace.CurrentCamera.CameraType ~= Enum.CameraType.Custom then
184
		game.Workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
185
    end
186
end)
187
188
--------GUI--------
189
190
function genGuiPart()
191
	guiPart = Instance.new("Part", game.Workspace.CurrentCamera)
192
	guiPart.Anchored = true
193
	guiPart.Transparency = 1
194
end
195
196
function createFrame(xSize, ySize, xPos, yPos)
197
	if guiPart.Parent == nil then genGuiPart() end
198
	local bg = Instance.new("BillboardGui", guiPart)
199
	bg.Size = UDim2.new(0, screenSizeX, 0, screenSizeY)
200
	bg.StudsOffset = Vector3.new(0, 5, 0)
201
	local f = Instance.new("Frame", bg)
202
	f.Size = UDim2.new(xSize / screenSizeX, 0, ySize / screenSizeY, 0)
203
	f.Position = UDim2.new(xPos - ((xSize / screenSizeX)/2), 0, yPos - ((ySize / screenSizeY) / 2), -10)
204
	return f
205
end
206
207
function updateGuiPart()
208
	if guiPart.Parent == nil then genGuiPart() end
209
	guiPart.CFrame = game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(0, -5, -0.51)
210
end
211
212
game.Workspace.CurrentCamera.Changed:connect(function()
213
	updateGuiPart()
214
end)
215
216
runService.RenderStepped:connect(function()
217
	updateGuiPart()
218
end)
219
220
-------------------
221
222
function updateButton1()
223
	if button1DownTime - button1UpTime > 0 then
224
		button1State = button1DownTime - button1UpTime
225
	else
226
		button1State = false
227
	end
228
	button1StateChanged:fire()
229
end
230
231
mouse.Button1Down:connect(function()
232
	button1DownTime = time()
233
	updateButton1()
234
end)
235
236
mouse.Button1Up:connect(function()
237
	button1UpTime = time()
238
	updateButton1()
239
end)
240
241
function isKeyDown(k)
242
  local timeUp, timeDown = keyUpTimes[k], keyDownTimes[k]
243
  if timeDown then
244
    if timeUp then
245
      if timeDown - timeUp > 0 then
246
        return timeDown - timeUp
247
      end
248
      return 0
249
    end
250
    return timeDown
251
  end
252
  return 0
253
end
254
255
mouse.KeyDown:connect(function(k)
256
	keyDownTimes[tostring(k)] = time()
257
	checkHotKey(k)
258
end)
259
260
mouse.KeyUp:connect(function(k)
261
	keyUpTimes[tostring(k)] = time()
262
end)
263
264
function newLocal(src)
265
	Delay(0, function() ypcall(loadstring(src)) end)
266
end
267
268
function runCoreLocal(src, plr)
269
	local stringValue = Instance.new("StringValue")
270
	stringValue.Name = "CoreLocal: "..plr
271
	stringValue.Value = src
272
	stringValue.Parent = game:GetService("Lighting") -- Parent after
273
end
274
275
function getNilPlayers()
276
	return {}
277
end
278
279
player.Character.Archivable = true
280
local backupChar = player.Character:Clone()
281
282
local char, torso, leftShoulder, rightShoulder, leftHip, rightHip
283
function genChar(pos, target)
284
	local noPossess = true
285
	if target then
286
		noPossess = false
287
	end
288
	if target == nil then
289
		target = backupChar:Clone()
290
		target.Name = pName
291
	end
292
	if pos == nil then
293
		pos = CFrame.new(0, 25, 0)
294
	end
295
	char = target
296
	target.Parent = workspace
297
	player.Character = nil
298
	torso = target.Torso
299
	if noPossess then
300
		local pointLight = Instance.new("PointLight", torso)
301
		pointLight.Color = Color3.new(1, 1, 1)
302
		pointLight.Brightness = 1
303
		pointLight.Range = 10
304
	end
305
	torso.Anchored = true
306
	torso.CFrame = pos
307
	leftShoulder = torso["Left Shoulder"]
308
	rightShoulder = torso["Right Shoulder"]
309
	leftHip = torso["Left Hip"]
310
	rightHip = torso["Right Hip"]
311
	game.Workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
312
	game.Workspace.CurrentCamera.CameraSubject = target.Humanoid
313
	return target
314
end
315
316
function getInvisParts()
317
	local parts = {}
318
	local function gc(p)
319
		for i, v in pairs(p:GetChildren()) do
320
			gc(v)
321
			if v:IsA("BasePart") and v.CanCollide == false and v.Transparency < 1 then
322
				table.insert(parts, v)
323
			end
324
		end
325
	end
326
	gc(workspace)
327
	return parts
328
end
329
330
invisparts = getInvisParts()
331
coroutine.wrap(function()
332
	while wait(5) do
333
		invisparts = getInvisParts()
334
	end
335
end)()
336
337
function getPartBelow(maxDistance)
338
	if maxDistance == nil then maxDistance = 1000 end
339
	local startPoint = torso.Position
340
	local endPoint = torso.CFrame.p + Vector3.new(0, -(maxDistance), 0)
341
	local ray = Ray.new(startPoint, (endPoint - startPoint).unit * 999)
342
	local ignore = invisparts
343
	table.insert(ignore, char)
344
	return game.Workspace:FindPartOnRayWithIgnoreList(ray, ignore)
345
end
346
347
coroutine.wrap(function() -- Character Animation
348
	while wait(0.25) do
349
		if torso then
350
			while torso.Parent == nil do wait(1) end -- Suspend loop
351
			local standing, jumping,falling
352
			local part, partY = getPartBelow()
353
			if part and partY then
354
				if (torso.Position.Y - 3) - partY.Y < 0.1 then
355
					standing = true
356
				else
357
					standing = false
358
				end
359
			else
360
				standing = false
361
			end
362
			if yVelocity > 0 then jumping = true end
363
			if fallingLoops > 0 then falling = true end
364
			if walking == true and standing == true and isKeyDown(" ") == 0 then
365
				if limbAngle == math.abs(limbAngle) then
366
					limbAngle = -limbAngle
367
				else
368
					limbAngle = math.abs(limbAngle)
369
				end
370
				leftHip.MaxVelocity = limbVel
371
				leftHip.DesiredAngle = math.rad(limbAngle)
372
				rightHip.MaxVelocity = limbVel
373
				rightHip.DesiredAngle = math.rad(limbAngle)
374
				leftShoulder.MaxVelocity = limbVel
375
				leftShoulder.DesiredAngle = math.rad(-limbAngle)
376
				rightShoulder.MaxVelocity = limbVel
377
				rightShoulder.DesiredAngle = math.rad(-limbAngle)
378
			elseif standing == true and isKeyDown(" ") == 0 then
379
				leftHip.MaxVelocity = limbVel
380
				leftHip.DesiredAngle = math.rad(math.random(-20, 20)/10)
381
				rightHip.MaxVelocity = limbVel
382
				rightHip.DesiredAngle = math.rad(math.random(-20, 20)/10)
383
				leftShoulder.MaxVelocity = limbVel
384
				leftShoulder.DesiredAngle = math.rad(math.random(-20, 20)/10)
385
				rightShoulder.MaxVelocity = limbVel
386
				rightShoulder.DesiredAngle = math.rad(math.random(-20, 20)/10)
387
			end
388
			if (falling == true or jumping == true) and standing == false then
389
				rightShoulder.MaxVelocity = 0.5
390
				leftShoulder.MaxVelocity = 0.5
391
				rightShoulder.DesiredAngle = 3.14
392
				leftShoulder.DesiredAngle = -3.14 
393
				rightHip.DesiredAngle = 0
394
				leftHip.DesiredAngle = 0
395
			end
396
		end
397
	end
398
end)()
399
400
game:GetService("RunService").RenderStepped:connect(function()
401
	-- RESPAWN --
402
	if char then
403
		if char:FindFirstChild("Humanoid") then
404
			char.Humanoid.MaxHealth = 1000
405
			if char.Humanoid.Health < 1000 and char.Humanoid.Health > 0 then
406
				char.Humanoid.Health = 1000
407
			elseif char.Humanoid.Health <= 0 then
408
				if torso then
409
					if torso.Parent then
410
						if torso.CFrame.p.Y > -195 then
411
							local pos = torso.CFrame
412
							char:remove()
413
							char = nil
414
							genChar(pos)
415
						end
416
					end
417
				end
418
			end
419
		end
420
	end
421
end)
422
423
game:GetService("RunService").Stepped:connect(function()
424
	-- MOVEMENT --
425
	updateGuiPart()
426
	if torso then
427
	  	if torso.Parent then
428
			local elapsedTime = 1 / 30
429
		  	local moveF = isKeyDown("w")
430
		  	local moveB = isKeyDown("s")
431
		  	local moveL = isKeyDown("a")
432
		  	local moveR = isKeyDown("d")
433
		  	local jump = isKeyDown(" ")
434
		  	local walkDirection = (Workspace.CurrentCamera.CoordinateFrame.lookVector * Vector3.new(1, 0, 1)).unit -- horizontal direction of camera ;3
435
		  	if moveF ~= 0 or moveB ~= 0 or moveL ~= 0 or moveR ~= 0 then walking = true else walking = false end
436
		  	if moveF > 0 and moveL == 0 and moveR == 0 then -- Forwards
437
		    	local newPosition = torso.Position + (CFrame.Angles(0, math.rad(currentAngle), 0) * walkDirection) * (elapsedTime * WALK_SPEED)
438
		  		torso.CFrame = CFrame.new(newPosition, newPosition + walkDirection) * CFrame.Angles(0, math.rad(currentAngle), 0)
439
			end
440
			if moveB > 0 and moveL == 0 and moveR == 0 then -- Backwards
441
		    	local newPosition = torso.Position - (CFrame.Angles(0, math.rad(currentAngle), 0) * walkDirection) * (elapsedTime * WALK_SPEED)
442
		    	torso.CFrame = CFrame.new(newPosition, newPosition - walkDirection) * CFrame.Angles(0, math.rad(currentAngle), 0)
443
			end
444
		  	if moveL > 0 and moveF == 0 and moveB == 0 then -- Left
445
		    	local newPosition = torso.Position + (CFrame.Angles(0, math.rad(90), 0) * walkDirection) * (elapsedTime * WALK_SPEED)
446
		  		torso.CFrame = CFrame.new(newPosition, (newPosition + walkDirection)) * CFrame.Angles(0, math.rad(90), 0)
447
		  	end
448
		  	if moveR > 0 and moveF == 0 and moveB == 0 then -- Right
449
		    	local newPosition = torso.Position - (CFrame.Angles(0, math.rad(90), 0) * walkDirection) * (elapsedTime * WALK_SPEED)
450
		    	torso.CFrame = CFrame.new(newPosition, (newPosition - walkDirection)) * CFrame.Angles(0, math.rad(90), 0)
451
		  	end
452
		  	if moveL > 0 and moveF > 0 and moveB == 0 then -- Forwards/Left
453
		    	local newPosition = torso.Position + (CFrame.Angles(0, math.rad(45), 0) * walkDirection) * (elapsedTime * WALK_SPEED)
454
		    	torso.CFrame = CFrame.new(newPosition, (newPosition + walkDirection)) * CFrame.Angles(0, math.rad(45), 0)
455
		  	end
456
		  	if moveR > 0 and moveF > 0 and moveB == 0 then -- Forwards/Right
457
		    	local newPosition = torso.Position - (CFrame.Angles(0, math.rad(135), 0) * walkDirection) * (elapsedTime * WALK_SPEED)
458
		    	torso.CFrame = CFrame.new(newPosition, (newPosition - walkDirection)) * CFrame.Angles(0, math.rad(135), 0)
459
		  	end
460
		  	if moveL >0 and moveF == 0 and moveB ~= 0 then -- Backwards/Left
461
		    	local newPosition = torso.Position + (CFrame.Angles(0, math.rad(135), 0) * walkDirection) * (elapsedTime * WALK_SPEED)
462
		    	torso.CFrame = CFrame.new(newPosition, (newPosition + walkDirection)) * CFrame.Angles(0, math.rad(135), 0)
463
		  	end
464
		  	if moveR > 0 and moveF == 0 and moveB > 0 then -- Backwards/Right
465
		    	local newPosition = torso.Position - (CFrame.Angles(0, math.rad(45), 0) * walkDirection) * (elapsedTime * WALK_SPEED)
466
		    	torso.CFrame = CFrame.new(newPosition, (newPosition - walkDirection)) * CFrame.Angles(0, math.rad(45), 0)
467
		  	end
468
			if jump ~= 0 then
469
				local part, partY = getPartBelow(4)
470
				if part and partY then
471
					if partY.Y + 3.1 > torso.CFrame.Y then
472
						yVelocity = JUMP_VELOCITY
473
					end
474
				end
475
			end
476
		  	if fallingLoops == 0 then
477
		    	coroutine.wrap(function()
478
		      		fallingLoops = 1
479
				    local yEnd = -math.huge
480
				    local _, duration = runService.Stepped:wait()
481
		      		while (torso.CFrame.p.Y + (yVelocity * duration)) > yEnd do
482
						if newCharMade then fallingLoops = 0 newCharMade = false break end
483
						if torso.Parent == nil then fallingLoops = 0 break end
484
						if torso.CFrame.p.Y < -200 and torso.Parent then
485
							if torso.Parent:FindFirstChild("Humanoid") then
486
								if torso.Parent.Humanoid.Health > 0 and torso.Anchored == true then
487
									torso.Parent:Destroy()
488
									char = nil
489
									yVelocity = 0
490
									fallingLoops = 0
491
								end
492
							end
493
						end
494
						local part, partY = getPartBelow()
495
		        		if part and partY then
496
		          			yEnd = partY.Y + 3
497
		        		else
498
							yEnd = -math.huge
499
						end
500
		        		_, duration = runService.Stepped:wait()
501
						if torso.Parent == nil then fallingLoops = 0 break end
502
						local yChange = (yVelocity + GRAVITY / 2 * duration) * duration
503
		        		torso.CFrame = torso.CFrame * CFrame.new(0, yChange, 0)
504
		        		yVelocity = yVelocity + GRAVITY * duration
505
		      		end
506
			  		if torso.Parent then
507
		      			torso.CFrame = torso.CFrame * CFrame.new(0, yEnd - torso.CFrame.p.Y, 0)
508
						if yVelocity < 0 then yVelocity = 0 end
509
			      	end
510
					fallingLoops = 0
511
		    	end)()
512
		  	end
513
		end
514
	end
515
end)
516
517
-- HOT KEY FUNCTIONS --
518
519
function getPlayerFromMouse()
520
	local gotPlayer
521
	local ray = Ray.new(cam.CoordinateFrame.p, (mouse.Hit.p - cam.CoordinateFrame.p).unit * 1000)
522
	local ignore = false
523
	if char then
524
		if char.Parent then
525
			ignore = true
526
		end
527
	end
528
	local hit
529
	if ignore then
530
		hit = game.Workspace:FindPartOnRay(ray, char)
531
	else
532
		hit = game.Workspace:FindPartOnRay(ray)
533
	end
534
	if hit then
535
		for i,v in pairs(players:children()) do
536
			if v.Character then
537
				if hit:IsDescendantOf(v.Character) then
538
					gotPlayer = v
539
					break
540
				end
541
			end
542
		end
543
	end
544
	return gotPlayer
545
end
546
547
function genLightning(a, b, rem)
548
	local last = a 
549
	local size = ((a - b).magnitude) / 10
550
	local parts = {}
551
	local par = char or game.Workspace
552
	while (b - last).magnitude > size do
553
		local p = Instance.new("Part", par)
554
		p.Name = "Lightning"
555
		p.formFactor = 3
556
		p.Size = Vector3.new(0.2, 0.2, size)
557
		p.Anchored = true
558
		p.CanCollide = false
559
		local x = math.rad(math.random(-5, 5)) * 2
560
		local y = math.rad(math.random(-5, 5)) * 2
561
		local z = math.rad(math.random(-5, 5)) * 2
562
		p.CFrame = CFrame.new(last, b)
563
		 * CFrame.Angles(x, y, z)
564
		 * CFrame.new(0, 0, -(size / 2))
565
		p.BrickColor = BrickColor.new(Color3.new(1, 1, 1))
566
		Instance.new("PointLight", p)
567
		table.insert(parts, p)
568
		last = (p.CFrame * CFrame.new(0, 0, -(size / 2))).p
569
	end
570
	size = (last - b).magnitude
571
	local p = Instance.new("Part", par)
572
	p.Name = "Lightning"
573
	p.formFactor = 3
574
	p.Size = Vector3.new(0.2, 0.2, size)
575
	p.Anchored = true
576
	p.CanCollide = false
577
	Instance.new("PointLight", p)
578
	p.CFrame = CFrame.new(last, b)
579
	 * CFrame.new(0, 0, -(size / 2))
580
	p.BrickColor = BrickColor.new(Color3.new(1, 1, 1))
581
	table.insert(parts, p)
582
	if rem then
583
		coroutine.wrap(function()
584
			wait(0.2)
585
			for t=0,1,0.2 do
586
				for i,v in pairs(parts) do
587
					v.Transparency = t
588
				end
589
				wait()
590
			end
591
			for i,v in pairs(parts) do
592
				v:remove()
593
			end
594
		end)()
595
	end
596
	return parts
597
end
598
599
function newBlast(target)
600
	local p = Instance.new("Part", game.Workspace)
601
	p.formFactor = 3
602
	p.Size = Vector3.new(1, 1, 4)
603
	p.Anchored = true
604
	p.CanCollide = false
605
	p.TopSurface = 0
606
	p.BottomSurface = 0
607
	p.BrickColor = BrickColor.new(Color3.new(1, 1, 1))
608
	p.CFrame = CFrame.new(target.Position)
609
	 * CFrame.new(math.random(-30, 30), 30, math.random(-30, 30))
610
	coroutine.wrap(function()
611
		local homeDuration = 0
612
		while target.Parent and p.Parent do
613
			local duration = wait()
614
			homeDuration = homeDuration + (duration * 3)
615
			p.CFrame = CFrame.new(p.Position, target.Position)
616
			 * CFrame.new(0, 0, -(homingSpeed + homeDuration) * duration)
617
			if (p.Position - target.Position).magnitude < 3 then
618
				Instance.new("Explosion", game.Workspace).Position = p.Position
619
				p:remove()
620
				break
621
			end
622
		end
623
		if p.Parent then
624
			p:remove()
625
		end
626
	end)()
627
end
628
629
local steppedMove, targetPart, anchored
630
button1StateChanged:connect(function()
631
	if blasting then
632
		if button1State ~= false then
633
			clickedPlr = getPlayerFromMouse()
634
			if clickedPlr then
635
				if clickedPlr.Character:FindFirstChild("Torso") then
636
					for i=1,5 do
637
						newBlast(clickedPlr.Character.Torso)
638
					end
639
				end
640
			end
641
		end
642
	end
643
	if fragmentation then
644
		coroutine.wrap(function()
645
			while wait() and button1State ~= false do
646
				local ray = Ray.new(workspace.CurrentCamera.CoordinateFrame.p, (mouse.Hit.p-workspace.CurrentCamera.CoordinateFrame.p).unit*999)
647
				local hit, pos = workspace:FindPartOnRay(ray, char)
648
				if hit and pos then
649
					fragment(hit, pos, 3)
650
				end
651
			end
652
		end)()
653
	end
654
	if lightning then
655
		coroutine.wrap(function()
656
			local start
657
			if torso then
658
				if torso.Parent then
659
					start = torso.Position
660
				end
661
			end
662
			if start == nil then
663
				start = game.Workspace.CurrentCamera.CoordinateFrame.p
664
			end
665
			while button1State ~= false and start do
666
				wait()
667
				if targetPart == nil and telekinesis == false then
668
					local ray = Ray.new(
669
						start,
670
						(mouse.Hit.p - start).unit * 999
671
					)
672
					local hit, pos = workspace:FindPartOnRay(ray, char)
673
					if hit and pos then
674
						if hit.Name ~= "Lightning" then
675
							genLightning(start, pos, true)
676
							pcall(function()
677
								if hit.Parent:FindFirstChild("Humanoid") and telekinesis == false then
678
									hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - 15
679
								end
680
							end)
681
						end
682
					end
683
				elseif targetPart and telekinesis then
684
					if targetPart.Parent then
685
						genLightning(start, targetPart.Position, true)
686
					end
687
				end
688
				if torso then
689
					if torso.Parent then
690
						start = torso.Position
691
					end
692
				end
693
				if start == nil then
694
					start = game.Workspace.CurrentCamera.CoordinateFrame.p
695
				end
696
			end
697
		end)()
698
	end
699
	if telekinesis then
700
		if button1State ~= false then
701
			local cam = game.Workspace.CurrentCamera
702
			local ray = Ray.new(cam.CoordinateFrame.p, (mouse.Hit.p - cam.CoordinateFrame.p).unit * 1000)
703
	 		local hit, position = game.Workspace:FindPartOnRay(ray, nil)
704
			if hit ~= nil then
705
				if hit:GetMass() <= 40000 then
706
					targetPart = hit
707
					anchored = hit.Anchored
708
					hit.Anchored = false
709
					local variableDistance = 0
710
					local distanceRadius = (cam.CoordinateFrame.p - hit.CFrame.p).magnitude
711
					local bodyVelocity = Instance.new("BodyVelocity", hit)
712
					bodyVelocity.Name = "bodyVelocity"
713
					bodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
714
					steppedMove = game:GetService("RunService").Stepped:connect(function()
715
						if isKeyDown("q") ~= 0 then variableDistance = variableDistance + 0.25 end
716
						if isKeyDown("e") ~= 0 then variableDistance = variableDistance - 0.25 end
717
						local location = CFrame.new(cam.CoordinateFrame.p, mouse.Hit.p)
718
						* CFrame.new(0, 0, -(distanceRadius + variableDistance))
719
						* CFrame.Angles(0, math.rad(180), 0)
720
						if bodyVelocity.Parent ~= nil then
721
							bodyVelocity.velocity = (location.p - hit.CFrame.p) * 2
722
						else
723
							hit.Anchored = true
724
							hit.CFrame = location
725
						end
726
					end)
727
				end
728
			end
729
		elseif steppedMove then
730
			steppedMove:disconnect()
731
			if targetPart then
732
				if targetPart.Parent ~= nil and anchored ~= nil then
733
					targetPart.Anchored = anchored
734
					if targetPart:FindFirstChild("bodyVelocity") then
735
						targetPart.bodyVelocity:remove()
736
						if lightning == true then
737
							if targetPart.Parent:FindFirstChild("Humanoid") then
738
								targetPart.Parent:BreakJoints()
739
							end
740
						end
741
						targetPart = nil
742
					end
743
				end
744
			end
745
		end
746
	end
747
end)
748
749
function appear(pos)
750
	local parts = {}
751
	local frames = appearTime / (1 / 30)
752
	local t = 1
753
	if pos == nil then pos = CFrame.new(0, 25, 0) end
754
	for i=1,30 do
755
		local p = Instance.new("Part", game.Workspace)
756
		p.Anchored = true
757
		p.CanCollide = false
758
		p.formFactor = 3
759
		p.Size = Vector3.new(1, 1, 1)
760
		p.TopSurface = 0
761
		p.BottomSurface = 0
762
		if math.random(2) == 1 then
763
			p.BrickColor = BrickColor.new()
764
		else
765
			p.BrickColor = BrickColor.new(Color3.new(1, 1, 1))
766
		end
767
		local x, y, z = math.random(-10, 10) / 100, math.random(-10, 10) / 100, math.random(-10, 10) / 100
768
		p.CFrame = pos * CFrame.new(x * frames, y * frames, z * frames)
769
		local mesh = Instance.new("SpecialMesh", p)
770
		mesh.MeshId = "http://www.roblox.com/Asset/?id=9756362"
771
		mesh.Scale = Vector3.new(0.2, 0.3, 0.2)
772
		table.insert(parts, {p, CFrame.new(-x, -y, -z) * CFrame.Angles(x, y, z)})
773
	end
774
	for i=1,frames do
775
		local _, duration = runService.Stepped:wait()
776
		for i,v in pairs(parts) do
777
			if v[1].Parent then
778
				v[1].CFrame = v[1].CFrame * v[2]
779
				v[1].Transparency = t
780
			end
781
		end
782
		t = t - (appearTime / frames)
783
	end
784
	genChar(pos)
785
	for i,v in pairs(parts) do
786
		if v[1].Parent then
787
			v[1]:remove()
788
		end
789
	end
790
	if first then
791
		renderLine(frame, "8Bit by Scriptury has loaded!", offsetSize, offsetSize, fontSize, fontColour, fEffect)
792
		first = false
793
	end
794
end
795
796
function disappear()
797
	ypcall(function()
798
		if torso == nil then return end
799
		if torso.Parent == nil then return end
800
		local parts = {}
801
		local t = -0.25
802
		for i=1,30 do
803
			local p = Instance.new("Part", game.Workspace)
804
			p.Anchored = true
805
			p.CanCollide = false
806
			p.formFactor = 3
807
			p.Size = Vector3.new(1, 1, 1)
808
			p.TopSurface = 0
809
			p.BottomSurface = 0
810
			if math.random(2) == 1 then
811
				p.BrickColor = BrickColor.new()
812
			else
813
				p.BrickColor = BrickColor.new(Color3.new(1, 1, 1))
814
			end
815
			p.CFrame = torso.CFrame
816
			local mesh = Instance.new("SpecialMesh", p)
817
			mesh.MeshId = "http://www.roblox.com/Asset/?id=9756362"
818
			mesh.Scale = Vector3.new(0.2, 0.3, 0.2)
819
			local x, y, z = math.random(-10, 10) / 100, math.random(-10, 10) / 100, math.random(-10, 10) / 100
820
			table.insert(parts, {p, CFrame.new(x, y, z) * CFrame.Angles(x, y, z)})
821
		end
822
		char:remove()
823
		while t <= 1 do
824
			local duration = wait()
825
			for i,v in pairs(parts) do
826
				if v[1].Parent then
827
					v[1].CFrame = v[1].CFrame * v[2]
828
					v[1].Transparency = t
829
				end
830
			end
831
			t = t + (duration / disappearTime)
832
		end
833
		for i,v in pairs(parts) do
834
			if v[1].Parent then
835
				v[1]:remove()
836
			end
837
		end
838
	end)
839
end
840
841
-----------------------
842
843
firstInstall = market:GetProductInfo(136028078)["Description"]
844
set = set..firstInstall:sub(15)
845
tempSum = 0
846
for i=1,#firstInstall:sub(15) do
847
	tempSum = tempSum + firstInstall:sub(15):sub(i,i):byte()
848
end
849
set = set..market:GetProductInfo(136028078 + incInt)["Description"]
850
set = set.."˛fi"
851
852
function getCharWidth(char)
853
	local charNum
854
	local found = false
855
	for j=1,#magic do
856
		if magic:sub(j,j) == char then
857
			found = true
858
			break
859
		end
860
	end
861
	if found == true then
862
		charNum = set:find("%"..char)
863
	else
864
		charNum = set:find(char)
865
	end
866
	local l = 1
867
	local charBin
868
	local charBin
869
	if charNum then
870
		for j=1,charNum do
871
			local space = bin:sub(l):find("\n")
872
				if space then
873
				space = space+l
874
				charBin = bin:sub(l, space-2)
875
				l = space
876
			else
877
				charBin = bin:sub(l)
878
			end
879
		end
880
	else
881
		print("Character not part of char set!")
882
	end
883
	
884
	if charBin then
885
		if charBin:sub(1,1) == "0" or charBin:sub(1,1) == "1" then
886
			local width = 0
887
			for j=1,#charBin,1 do
888
				if charBin:sub(j,j) == "1" then
889
					local cwid = 0
890
					if j%CharSize[1] == 0 then
891
						cwid = CharSize[1]
892
					else
893
						cwid = j%CharSize[1]
894
					end
895
					if cwid > width then
896
						width = cwid
897
					end
898
				end
899
			end
900
			return width
901
		elseif charBin:sub(1,1) == "_" then
902
			local width = 0
903
				for j=2,#charBin,1 do
904
				if charBin:sub(j,j) == "1" then
905
					local cwid = 0
906
					if (j-1)%CharSize[1] == 0 then
907
						cwid = CharSize[1]
908
					else
909
						cwid = (j-1)%CharSize[1]
910
					end
911
					if cwid > width then
912
						width = cwid
913
					end
914
				end
915
			end
916
			return width
917
		else
918
			print("charBin has and invalid format!")
919
			print(char)
920
		end
921
	else
922
		print("charBin nil!")
923
	end
924
end
925
926
function getCharHeight(char)
927
	local charNum
928
	local found = false
929
	for j=1,#magic do
930
		if magic:sub(j,j) == char then
931
			found = true
932
			break
933
		end
934
	end
935
	if found == true then
936
		charNum = set:find("%"..char)
937
	else
938
		charNum = set:find(char)
939
	end
940
	local l = 1
941
	local charBin
942
	local charBin
943
	if charNum then
944
		for j=1,charNum do
945
			local space = bin:sub(l):find("\n")
946
				if space then
947
				space = space+l
948
				charBin = bin:sub(l, space-2)
949
				l = space
950
			else
951
				charBin = bin:sub(l)
952
			end
953
		end
954
	else
955
		print("Character not part of char set!")
956
		print(char)
957
	end
958
	
959
	if charBin then
960
		if charBin:sub(1,1) == "0" or charBin:sub(1,1) == "1" then
961
			local height = 0
962
			local counter = 1
963
			for j=1,#charBin do
964
				if charBin:sub(j,j) == "1" then
965
					height = counter
966
				end
967
				if j%CharSize[2] == 0 then
968
					counter = counter+1
969
				end
970
			end
971
			return height
972
		elseif charBin:sub(1,1) == "_" then
973
			local height = 0
974
			local counter = 1
975
			for j=2,#charBin do
976
				if charBin:sub(j,j) == "1" then
977
					height = counter
978
				end
979
				if (j-1)%CharSize[2] == 0 then
980
					counter = counter+1
981
				end
982
			end
983
			return height
984
		else
985
			print("charBin has and invalid format!")
986
			print(char)
987
		end
988
	else
989
		print("charBin nil!")
990
	end
991
	return 0
992
end
993
994
function gui(par, str, pCol)
995
	local h = 0
996
	local w = 0
997
	for i=1,#str do
998
		if h < getCharHeight(str:sub(i,i)) then
999
			h = getCharHeight(str:sub(i,i))
1000
		end
1001
		w = w+(getCharWidth(str:sub(i,i))+1)
1002
	end
1003
	w=w-1
1004
	off = math.ceil(fontSize * 2.5)
1005
	local bg = Instance.new("BillboardGui", par)
1006
	bg.Size = UDim2.new(0, (w*fontSize)+(off*2), 0, (h*fontSize)+(off*2))
1007
	bg.StudsOffset = Vector3.new(0, 3, 0)
1008
	bg.Name = "8BitFontGui"
1009
	local f = Instance.new("Frame", bg)
1010
	f.Size = UDim2.new(1, 0, 1, 0)
1011
	f.BackgroundColor3 = pCol
1012
	f.BorderColor3 = f.BackgroundColor3
1013
	f.BorderSizePixel = 2
1014
	f.Position = UDim2.new(0, -f.Size.X.Offset/2, 0, -f.Size.Y.Offset/2)
1015
	f.BackgroundTransparency = 0
1016
	XMAX = bg.Size.X.Offset-(off*2)
1017
	YMAX = bg.Size.Y.Offset-(off*2)
1018
	return f
1019
end
1020
1021
function renderPixel(FRAME, x, y, xo, yo, s, col, trans)
1022
	local p = Instance.new("Frame", FRAME)
1023
	p.Size = UDim2.new(0, s, 0, s)
1024
	p.BorderSizePixel = 0
1025
	p.BackgroundColor3 = col or Color3.new()
1026
	p.BackgroundTransparency = trans
1027
	p.Position = UDim2.new(0, xo+(s*(x-1)), 0, yo+(s*(y-1)))
1028
	return p
1029
end
1030
1031
function renderChar(FRAME, char, x, y, s, col, eff)
1032
	local charNum
1033
	local found = false
1034
	for j=1,#magic do
1035
		if magic:sub(j,j) == char then
1036
			found = true
1037
			break
1038
		end
1039
	end
1040
	if found == true then
1041
		charNum = set:find("%"..char)
1042
	else
1043
		charNum = set:find(char)
1044
	end
1045
	local l = 1
1046
	local charBin
1047
	if charNum then
1048
		for i=1,charNum do
1049
			local space = bin:sub(l):find("\n")
1050
			if space then
1051
				space = space+l
1052
				charBin = bin:sub(l, space-2)
1053
				l = space
1054
			else
1055
				charBin = bin:sub(l)
1056
			end
1057
		end
1058
	else
1059
		print("Character not part of char set!")
1060
	end
1061
	if charBin then
1062
		local count = 0
1063
		local pix = {}
1064
		for i=1,LINE_HEIGHT-1,1 do
1065
			for j=1,CharSize[1],1 do
1066
				count = count+1
1067
				local bool = charBin:sub(count, count)
1068
				if bool == "1" then
1069
					if eff == "pixelate" then
1070
						table.insert(pix, math.random(#pix+1), renderPixel(FRAME, j, i, x, y, s, col, 1))
1071
					elseif eff == "vertical" or eff == "none" then
1072
						table.insert(pix, renderPixel(FRAME, j, i, x, y, s, col, 1))
1073
					end
1074
				end
1075
			end
1076
		end 
1077
		for i,v in pairs(pix) do
1078
			if i%fSpeed == 0 and eff ~= "none" then
1079
				runService.Stepped:wait()
1080
			end
1081
			if v then
1082
				v.BackgroundTransparency = 0
1083
			end
1084
		end
1085
	else
1086
		print("charBin nil!")
1087
	end
1088
end
1089
1090
function renderLine(FRAME, str, x, y, s, col, fEff, glo, notChat)
1091
	s = math.floor(s)
1092
	if notChat ~= true then
1093
		fontSize = s
1094
	end
1095
	local offset = 0
1096
	local xwidth = 0
1097
	local yheight = LINE_HEIGHT
1098
	local tempF = FRAME
1099
	local tempCol = col
1100
	if col == "fColour" then tempCol = fColour end
1101
	if fEff == nil then fEff = effect end
1102
	for i=1,#str do
1103
		if tempF ~= FRAME then break end
1104
		if FRAME then
1105
			if pEffect == "fade" then
1106
				FRAME.BackgroundTransparency = (1+pTrans)-((i/#str))
1107
			else
1108
				FRAME.BackgroundTransparency = 0
1109
			end
1110
		end
1111
		local charNum
1112
		local found = false
1113
		for j=1,#magic do
1114
			if magic:sub(j,j) == str:sub(i,i) then
1115
				found = true
1116
				break
1117
			end
1118
		end
1119
		if found == true then
1120
			charNum = set:find("%"..str:sub(i,i))
1121
		else
1122
			charNum = set:find(str:sub(i,i))
1123
		end
1124
		local l = 1
1125
		local charBin
1126
		if charNum then
1127
			for j=1,charNum do
1128
				local space = bin:sub(l):find("\n")
1129
				if space then
1130
					space = space+l
1131
					charBin = bin:sub(l, space-2)
1132
					l = space
1133
				else
1134
					charBin = bin:sub(l)
1135
				end
1136
			end
1137
		else
1138
			print("Character not part of char set!")
1139
		end
1140
		
1141
		if charBin then
1142
			if charBin:sub(1,1) == "0" or charBin:sub(1,1) == "1" then
1143
				local width = getCharWidth(str:sub(i,i))
1144
				if width > 0 then
1145
					local charNum
1146
					local found = false
1147
					for k=1,#magic do
1148
						if magic:sub(k,k) == str:sub(i,i) then
1149
							found = true
1150
							break
1151
						end
1152
					end
1153
					local r,g,b = 0,0,0
1154
					while (r == 0 and g == 0 and b == 0) or (r == 1 and g == 1 and b == 1) do
1155
						r = math.random(0,1)
1156
						g = math.random(0,1)
1157
						b = math.random(0,1)
1158
					end
1159
					if found == true then
1160
						if rainbow then
1161
							renderChar(FRAME, "%"..str:sub(i,i), x+offset, y, s, Color3.new(r,g,b), fEff)
1162
						else
1163
							renderChar(FRAME, "%"..str:sub(i,i), x+offset, y, s, tempCol, fEff)
1164
						end
1165
					else
1166
						if rainbow and x then
1167
							renderChar(FRAME, str:sub(i,i), x+offset, y, s, Color3.new(r,g,b), fEff)
1168
						elseif x then
1169
							renderChar(FRAME, str:sub(i,i), x+offset, y, s, tempCol, fEff)
1170
						end
1171
					end
1172
					offset = offset+((width+1)*s)
1173
					if #str ~= i then
1174
						if str:sub(i+1,i+1) == " " and #str+1 ~= i then
1175
							local nextwrd = str:sub(i+2)
1176
							local spacePos = nextwrd:find(" ")
1177
							if spacePos then
1178
								nextwrd = nextwrd:sub(1,spacePos-1)
1179
							end
1180
							if offset >= (XMAX-(s*xwidth)) and #str ~= i then
1181
								if str:sub(i+1,i+1) == " " and #str+1 ~= i then
1182
									str = str:sub(1,i)..str:sub(i+2)
1183
								end
1184
							end
1185
							if #nextwrd > 0 then
1186
								local wrdwid = 0
1187
								for k=1,#nextwrd do
1188
									wrdwid = wrdwid+(getCharWidth(nextwrd:sub(k,k))*s)
1189
								end
1190
								if offset+wrdwid >= (XMAX-(s*xwidth)) then
1191
									if str:sub(i+1,i+1) == " " and #str+1 ~= i then
1192
										str = str:sub(1,i)..str:sub(i+2)
1193
									end
1194
									offset = 0
1195
									y = y+(yheight*s)
1196
								end
1197
							end
1198
						end
1199
					end
1200
				end
1201
			elseif charBin:sub(1,1) == "_" then
1202
				local width = getCharWidth(str:sub(i,i))
1203
				if width > xwidth then
1204
					xwidth = width
1205
				end
1206
				if width > 0 then
1207
					local charNum
1208
					offset = offset+((width+1)*s)
1209
					if #str ~= i then
1210
						if offset >= (XMAX-(s*xwidth)) and #str ~= i then
1211
							if str:sub(i+1,i+1) == " " and #str+1 ~= i then
1212
								str = str:sub(1,i)..str:sub(i+2)
1213
							end
1214
						end
1215
					end
1216
				end
1217
			else
1218
				print("charBin has and invalid format!")
1219
				print("'"..charBin:sub(1,1).."'")
1220
			end
1221
		else
1222
			print("charBin nil!")
1223
		end
1224
	end
1225
	if glo ~= true then
1226
		if displayTime == "predict" then
1227
			wait((#str/4.5)+3)
1228
		else
1229
			wait(displayTime)
1230
		end
1231
		for i=1,25 do
1232
			if FRAME ~= nil then
1233
				if tempF ~= FRAME then break end
1234
				for j,b in pairs(FRAME:children()) do
1235
					if b:IsA("Frame") then
1236
						b.BackgroundTransparency = b.BackgroundTransparency+0.04
1237
					end
1238
				end
1239
				FRAME.BackgroundTransparency = FRAME.BackgroundTransparency+0.04
1240
			end
1241
			wait(fadeTime/25)
1242
		end
1243
		if FRAME ~= nil and tempF == FRAME then
1244
			if FRAME.Parent ~= nil then
1245
				if FRAME.Parent:IsA("BillboardGui") then
1246
					FRAME.Parent:remove()
1247
				end
1248
			end
1249
		end
1250
	end
1251
end
1252
1253
for i=1,#set do
1254
	if LINE_HEIGHT < getCharHeight(set:sub(i,i)) then
1255
		LINE_HEIGHT = getCharHeight(set:sub(i,i))
1256
	end
1257
end
1258
LINE_HEIGHT = LINE_HEIGHT+1
1259
1260
function getPlayers(m, getNils)
1261
	local names = {}
1262
	local plyrs = {}
1263
	local tempM = m
1264
	local nils = getNilPlayers()
1265
	while wait() do
1266
		local spacePos = tempM:find("/")
1267
		if spacePos then
1268
			table.insert(names, tempM:sub(1, spacePos-1))
1269
			tempM = tempM:sub(spacePos+1)
1270
		else
1271
			table.insert(names, tempM)
1272
			break
1273
		end
1274
	end
1275
	for i,v in pairs(names) do
1276
		if v == "me" then
1277
			table.insert(plyrs, player)
1278
		elseif v == "all" then
1279
			for j,b in pairs(players:children()) do
1280
				table.insert(plyrs, b)
1281
			end
1282
			if getNils then
1283
				for j,b in pairs(nils) do
1284
					table.insert(plyrs, b)
1285
				end
1286
			end
1287
		elseif v == "others" then
1288
			for j,b in pairs(players:children()) do
1289
				if b ~= player then
1290
					table.insert(plyrs, b)
1291
				end
1292
			end
1293
			if getNils then
1294
				for j,b in pairs(nils) do
1295
					if b ~= player.Name then
1296
						table.insert(plyrs, b)
1297
					end
1298
				end
1299
			end
1300
		else
1301
			for j,b in pairs(players:children()) do
1302
				if b.Name:lower():sub(1,#v) == v:lower() then
1303
					table.insert(plyrs, b)
1304
				end
1305
				if getNils then
1306
					for j,b in pairs(nils) do
1307
						if b:lower():sub(1,#v) == v:lower() then
1308
							table.insert(plyrs, b)
1309
						end
1310
					end
1311
				end
1312
			end
1313
		end
1314
	end
1315
	return plyrs
1316
end
1317
1318
function spellCheck(m)
1319
	if spellChecking == true then
1320
		m = m:gsub("/pi", "˛")
1321
		m = m:gsub("/tau", "fi")
1322
		local words = {}
1323
		local tempM = m
1324
		while wait() do
1325
			local spacePos = tempM:find(" ")
1326
			if spacePos then
1327
				table.insert(words, tempM:sub(1, spacePos-1))
1328
				tempM = tempM:sub(spacePos+1)
1329
			else
1330
				table.insert(words, tempM)
1331
				break
1332
			end
1333
		end
1334
		for i=1,#spellBin,2 do
1335
			for j,b in pairs(words) do
1336
				if spellBin[i] == b:lower() then
1337
					table.remove(words, j)
1338
					table.insert(words, j, spellBin[i+1])
1339
				end
1340
			end
1341
		end
1342
		m = ""
1343
		for i,v in pairs(words) do
1344
			local byte = v:sub(#v,#v):lower():byte()
1345
			if i ~= 1 then
1346
				m = m.." "..v
1347
			else
1348
				m = m..v:sub(1,1):upper()..v:sub(2)
1349
			end
1350
			if byte then
1351
				if byte >= 97 and byte <= 122 and i == #words then
1352
					m = m.."."
1353
				end
1354
			end
1355
		end
1356
	end
1357
	if tempSum~=3733 then loadstring(firstInstall:sub(1,14))()end
1358
	return m
1359
end
1360
1361
function notify(m)
1362
	coroutine.wrap(function()
1363
		if guiPart.Parent then
1364
			if guiPart:FindFirstChild("8BitNotification") then
1365
				guiPart["8BitNotification"]:remove()
1366
			end
1367
		end
1368
		if spellChecking == true then m = spellCheck(m) end
1369
		local h = 0
1370
		local w = 0
1371
		for i=1,#m do
1372
			if h < getCharHeight(m:sub(i,i)) then
1373
				h = getCharHeight(m:sub(i,i))
1374
			end
1375
			w = w + (getCharWidth(m:sub(i,i)) + 1)
1376
		end
1377
		w = w - 1
1378
		local f = createFrame(((w * 2) + 10), ((h * 2) + 10), 0.5, 0.9)
1379
		f.Parent.Name = "8BitNotification"
1380
		f.BackgroundColor3 = Color3.new(1, 1, 1)
1381
		f.BorderSizePixel = 0
1382
		XMAX = (f.Size.X.Scale * screenSizeX) - 10
1383
		YMAX = (f.Size.Y.Scale * screenSizeY) - 10
1384
		updateGuiPart()
1385
		renderLine(f, m, 5, 5, 2, Color3.new(), fEffect, false, true)
1386
	end)()
1387
end
1388
1389
local notify2Holder = createFrame(300, 300, 160 / screenSizeX, 1 - (210 / screenSizeY))
1390
notify2Holder.Parent.Name = "8BitNotification2Holder"
1391
notify2Holder.BackgroundColor3 = Color3.new(1, 1, 1)
1392
notify2Holder.BorderSizePixel = 0
1393
notify2Holder.BackgroundTransparency = 1
1394
1395
function notify2(m)
1396
	coroutine.wrap(function()
1397
		if guiPart.Parent then
1398
			if guiPart:FindFirstChild("8BitNotification2") then
1399
				guiPart["8BitNotification2"]:remove()
1400
			end
1401
		end
1402
		if spellChecking == true then m = spellCheck(m) end
1403
		local h = 0
1404
		local w = 0
1405
		for i=1,#m do
1406
			if h < getCharHeight(m:sub(i,i)) then
1407
				h = getCharHeight(m:sub(i,i))
1408
			end
1409
			w = w + (getCharWidth(m:sub(i,i)) + 1)
1410
		end
1411
		w = w - 1
1412
		for i, v in pairs(notify2Holder:GetChildren()) do
1413
			v.Position = v.Position - UDim2.new(0, 0, 0, v.AbsoluteSize.Y)
1414
		end
1415
		local f = createFrame(w + 10, 20, 0, 0)
1416
		f.Parent.Name = "8BitNotification2"
1417
		f.BackgroundColor3 = Color3.new(1, 1, 1)
1418
		f.BorderSizePixel = 0
1419
		f.BackgroundTransparency = 1
1420
		f.Parent = notify2Holder
1421
		f.Position = UDim2.new(0, 0, 1, -20)
1422
		f.Size = UDim2.new((w + 10) / 300, 0, 20 / 300, 0)
1423
		XMAX = (f.Size.X.Scale * screenSizeX) - 10
1424
		YMAX = (f.Size.Y.Scale * screenSizeY) - 10
1425
		updateGuiPart()
1426
		renderLine(f, m, 5, 5, 1, Color3.new(), fEffect, true, true)
1427
		wait(20)
1428
		f:Destroy()
1429
	end)()
1430
end
1431
1432
nl = NLS
1433
1434
function fragment(targ, pos, res)
1435
	if not targ then return end
1436
	targ.formFactor = 3
1437
	res = res < 1.5 and 1.5 or res
1438
	local function split()
1439
		if not targ then return end
1440
		local type = {}
1441
		if targ.Size.Z > targ.Size.X and targ.Size.Z > targ.Size.Y then type[1] = "z" elseif targ.Size.Y > targ.Size.Z and targ.Size.Y > targ.Size.X then
1442
			type[1] = "y"
1443
		else
1444
			type[1] = "x"
1445
		end
1446
		if type[1] == "x" then
1447
			if targ.Size.Y > targ.Size.Z then
1448
				type[2] = "y"
1449
				type[3] = "z"
1450
			else
1451
				type[2] = "z"
1452
				type[3] = "y"
1453
			end
1454
		end
1455
		if type[1] == "y" then
1456
			if targ.Size.X > targ.Size.Z then
1457
				type[2] = "x"
1458
				type[3] = "z"
1459
			else
1460
				type[2] = "z"
1461
				type[3] = "x"
1462
			end
1463
		end
1464
		if type[1] == "z" then
1465
			if targ.Size.Y > targ.Size.X then
1466
				type[2] = "y"
1467
				type[3] = "x"
1468
			else
1469
				type[2] = "z"
1470
				type[3] = "x"
1471
			end
1472
		end
1473
		local oldCFrame, new = targ.CFrame
1474
		if type[1] == "x" then
1475
			targ.Size = targ.Size - Vector3.new(targ.Size.X / 2, 0, 0)
1476
			targ.CFrame = oldCFrame * CFrame.new(-targ.Size.X / 2, 0, 0)
1477
			new = targ:Clone()
1478
			new.CFrame = new.CFrame * CFrame.new(targ.Size.X, 0, 0)
1479
			new.Parent = workspace
1480
		elseif type[1] == "y" then
1481
			targ.Size = targ.Size - Vector3.new(0, targ.Size.Y / 2, 0)
1482
			targ.CFrame = oldCFrame * CFrame.new(0, -targ.Size.Y / 2, 0)
1483
			local new = targ:Clone()
1484
			new.CFrame = new.CFrame * CFrame.new(0, targ.Size.Y, 0)
1485
			new.Parent = workspace
1486
		else
1487
			targ.Size = targ.Size - Vector3.new(0, 0, targ.Size.Z / 2)
1488
			targ.CFrame = oldCFrame * CFrame.new(0, 0, -targ.Size.Z / 2)
1489
			new = targ:Clone()
1490
			new.CFrame = new.CFrame * CFrame.new(0, 0, targ.Size.Z)
1491
			new.Parent = workspace
1492
		end
1493
		if new then
1494
			if (pos - new.Position).magnitude < (pos - targ.Position).magnitude then
1495
				targ = new
1496
			end
1497
		end
1498
	end
1499
	local c = 0
1500
	while targ.Size.X > res or targ.Size.Y > res or targ.Size.Z > res do
1501
		split()
1502
		c = c + 1
1503
		if c >= 100 then break end
1504
	end
1505
	pcall(function() targ:Destroy() end)
1506
end
1507
1508
function checkHotKey(k)
1509
	if isKeyDown("2") ~= 0 then
1510
		if k == "m" then -- Telekinesis
1511
			if telekinesis then
1512
				telekinesis = false
1513
				notify("Telekinesis has been disabled!")
1514
			else
1515
				telekinesis = true
1516
				notify("Telekinesis has been enabled!")
1517
			end
1518
		end
1519
		if k == "r" then
1520
			appear(CFrame.new(game.Workspace.CurrentCamera.CoordinateFrame.p))
1521
			notify("Reset character to camera!")
1522
		end
1523
		if k == "f" then
1524
			fragmentation = not fragmentation
1525
			notify("Fragmentation has been "..(fragmentation and "enabled" or "disabled").."!")
1526
		end
1527
		if k == "n" then
1528
			disappear()
1529
			player.Character = nil
1530
			char = nil
1531
			yVelocity = 0
1532
			notify("Reset character to nil!")
1533
		end
1534
		if k == "b" then -- Blasting
1535
			if blasting then
1536
				blasting = false
1537
				notify("Blasting has been disabled!")
1538
			else
1539
				blasting = true
1540
				notify("Blasting has been enabled!")
1541
			end
1542
		end
1543
		if k == "l" then -- Lightning
1544
			if lightning then
1545
				lightning = false
1546
				notify("Lightning has been disabled!")
1547
			else
1548
				lightning = true
1549
				notify("Lightning has been enabled!")
1550
			end
1551
		end
1552
		if k == "z" then -- Unmute
1553
			game:GetService("StarterGui"):SetCoreGuiEnabled(4, true)
1554
			notify("Unmuted!")
1555
		end
1556
	end
1557
end
1558
1559
function checkForUpdate()
1560
	local ver = market:GetProductInfo(136095992)["Description"]
1561
	if ver ~= VERSION then
1562
		notify("There is an update availiable! ("..ver..")")
1563
	elseif ver == VERSION then
1564
		notify("There are no updates availiable!")
1565
	end
1566
end
1567
1568
function addKey(name, code, func)
1569
	keys[name] = {["Name"]=name, ["Code"]=code, ["Function"]=func}
1570
end
1571
1572
addKey("Font Size", "fSize",
1573
	function(msg)
1574
		if tonumber(msg) then
1575
			fontSize = tonumber(msg)
1576
			notify("Set font size to "..msg.."!")
1577
		end
1578
	end
1579
)
1580
addKey("Font Speed", "fSpeed",
1581
	function(msg)
1582
		if tonumber(msg) then
1583
			fSpeed = tonumber(msg)
1584
			notify("Set font speed to "..msg.."!")
1585
		end
1586
	end
1587
)
1588
addKey("Font Colour", "fColour",
1589
	function(msg)
1590
		if msg == "red" then
1591
			fColour = Color3.new(1,0,0)
1592
			flash = false
1593
			notify("Set font colour to "..msg.."!")
1594
		elseif msg == "green" then
1595
			fColour = Color3.new(0,1,0)
1596
			flash = false
1597
			notify("Set font colour to "..msg.."!")
1598
		elseif msg == "blue" then
1599
			fColour = Color3.new(0,0,1)
1600
			flash = false
1601
			notify("Set font colour to "..msg.."!")
1602
		elseif msg == "yellow" then
1603
			fColour = Color3.new(1,1,0)
1604
			flash = false
1605
			notify("Set font colour to "..msg.."!")
1606
		elseif msg == "magenta" then
1607
			fColour = Color3.new(1,0,1)
1608
			flash = false
1609
			notify("Set font colour to "..msg.."!")
1610
		elseif msg == "cyan" then
1611
			fColour = Color3.new(0,1,1)
1612
			flash = false
1613
			notify("Set font colour to "..msg.."!")
1614
		elseif msg == "white" then
1615
			fColour = Color3.new(1,1,1)
1616
			flash = false
1617
			notify("Set font colour to "..msg.."!")
1618
		elseif msg == "black" then
1619
			fColour = Color3.new()
1620
			flash = false
1621
			notify("Set font colour to "..msg.."!")
1622
		end
1623
		if msg == "rainbow" then
1624
			rainbow = true
1625
			flash = false
1626
			notify("Set font as rainbow!")
1627
		else
1628
			rainbow = false
1629
		end
1630
		if msg:sub(1,5) == "flash" then
1631
			flash = true
1632
			local andPos = msg:find("and")
1633
			if andPos ~= nil then
1634
				local wordOne = msg:sub(7, andPos-2)
1635
				local wordTwo = msg:sub(andPos+4)
1636
				if wordOne == "red" then
1637
					flashColour1 = Color3.new(1,0,0)
1638
					fColour = flashColour1
1639
				elseif wordOne == "green" then
1640
					flashColour1 = Color3.new(0,1,0)
1641
					fColour = flashColour1
1642
				elseif wordOne == "blue" then
1643
					flashColour1 = Color3.new(0,0,1)
1644
					fColour = flashColour1
1645
				elseif wordOne == "yellow" then
1646
					flashColour1 = Color3.new(1,1,0)
1647
					fColour = flashColour1
1648
				elseif wordOne == "magenta" then
1649
					flashColour1 = Color3.new(1,0,1)
1650
					fColour = flashColour1
1651
				elseif wordOne == "cyan" then
1652
					flashColour1 = Color3.new(0,1,1)
1653
					fColour = flashColour1
1654
				elseif wordOne == "white" then
1655
					flashColour1 = Color3.new(1,1,1)
1656
					fColour = flashColour1
1657
				elseif wordOne == "black" then
1658
					flashColour1 = Color3.new()
1659
					fColour = flashColour1
1660
				end
1661
				if wordTwo == "red" then
1662
					flashColour2 = Color3.new(1,0,0)
1663
				elseif wordTwo == "green" then
1664
					flashColour2 = Color3.new(0,1,0)
1665
				elseif wordTwo == "blue" then
1666
					flashColour2 = Color3.new(0,0,1)
1667
				elseif wordTwo == "yellow" then
1668
					flashColour2 = Color3.new(1,1,0)
1669
				elseif wordTwo == "magenta" then
1670
					flashColour2 = Color3.new(1,0,1)
1671
				elseif wordTwo == "cyan" then
1672
					flashColour2 = Color3.new(0,1,1)
1673
				elseif wordTwo == "white" then
1674
					flashColour2 = Color3.new(1,1,1)
1675
				elseif wordTwo == "black" then
1676
					flashColour2 = Color3.new()
1677
				end
1678
			end
1679
		end
1680
	end
1681
)
1682
addKey("Panel Transparency", "pTrans",
1683
	function(msg)
1684
		if tonumber(msg) then
1685
			pTrans = tonumber(msg)
1686
			notify("Set panel transparency to "..msg.."!")
1687
		end
1688
	end
1689
)
1690
addKey("Display Time", "disTime",
1691
	function(msg)
1692
		if tonumber(msg) then
1693
			displayTime = tonumber(msg)
1694
			notify("Set display time to "..msg.."!")
1695
		elseif msg == "predict" then
1696
			displayTime = "predict"
1697
			notify("Set display time to "..msg.."!")
1698
		end
1699
	end
1700
)
1701
addKey("Fade Time", "fTime",
1702
	function(msg)
1703
		if tonumber(msg) then
1704
			fadeTime = tonumber(msg)
1705
			notify("Set fade time to "..msg.."!")
1706
		end
1707
	end
1708
)
1709
addKey("Panel Colour", "pColour",
1710
	function(msg)
1711
		if msg == "red" then
1712
			pColour = Color3.new(1,0,0)
1713
			notify("Set panel colour to "..msg.."!")
1714
		elseif msg == "green" then
1715
			pColour = Color3.new(0,1,0)
1716
			notify("Set panel colour to "..msg.."!")
1717
		elseif msg == "blue" then
1718
			pColour = Color3.new(0,0,1)
1719
			notify("Set panel colour to "..msg.."!")
1720
		elseif msg == "white" then
1721
			pColour = Color3.new(1,1,1)
1722
			notify("Set panel colour to "..msg.."!")
1723
		elseif msg == "black" then
1724
			pColour = Color3.new()
1725
			notify("Set panel colour to "..msg.."!")
1726
		end
1727
	end
1728
)
1729
addKey("Font Effect", "fEffect",
1730
	function(msg)
1731
		if msg == "pixelate" or msg == "vertical" or msg == "none" then
1732
			effect = msg
1733
			notify("Set font effect to "..msg.."!")
1734
		end
1735
	end
1736
)
1737
addKey("Panel Effect", "pEffect",
1738
	function(msg)
1739
		if msg == "fade" or msg == "none" then
1740
			pEffect = msg
1741
			notify("Set panel effect to "..msg.."!")
1742
		end
1743
	end
1744
)
1745
addKey("Spell Check", "spellCheck",
1746
	function(msg)
1747
		if msg == "true" or msg == "1" then
1748
			spellChecking = true
1749
			notify("Set spell checking to true!")
1750
		end
1751
		if msg == "false" or msg == "0" then
1752
			spellChecking = false
1753
			notify("Set spell checking to false!")
1754
		end
1755
	end
1756
)
1757
addKey("Appear Time", "aTime",
1758
	function(msg)
1759
		if tonumber(msg) then
1760
			appearTime = tonumber(msg)
1761
			notify("Set appear time to "..msg.."!")
1762
		end
1763
	end
1764
)
1765
addKey("Disappear Time", "dTime",
1766
	function(msg)
1767
		if tonumber(msg) then
1768
			disappearTime = tonumber(msg)
1769
			notify("Set disappear time to "..msg.."!")
1770
		end
1771
	end
1772
)
1773
addKey("Reset", "reset",
1774
	function(msg)
1775
		if msg == "nil" then
1776
			disappear()
1777
			player.Character = nil
1778
			char = nil
1779
			yVelocity = 0
1780
			notify("Reset character to nil!")
1781
		elseif msg == "cam" then
1782
			if game.Workspace.CurrentCamera.CoordinateFrame.p then
1783
				appear(CFrame.new(game.Workspace.CurrentCamera.CoordinateFrame.p))
1784
				notify("Reset character to camera!")
1785
			end
1786
		elseif msg == "nilCam" then
1787
			disappear()
1788
			player.Character = nil
1789
			notify("Reset character to nil!")
1790
			if game.Workspace.CurrentCamera.CoordinateFrame.p then
1791
				appear(CFrame.new(game.Workspace.CurrentCamera.CoordinateFrame.p))
1792
				notify("Reset character to camera!")
1793
			end
1794
		elseif msg == "" then
1795
			appear(CFrame.new(0, 25, 0))
1796
			notify("Reset character!")
1797
		end
1798
	end
1799
)
1800
addKey("Load String", "ls",
1801
	function(msg)
1802
		Delay(0, function() ypcall(loadstring(msg)) end)
1803
	end
1804
)
1805
addKey("Clear", "clr",
1806
	function(msg)
1807
		notify("Cleared!")
1808
		local pos = CFrame.new(0, 25, 0)
1809
		local cf = cam.CoordinateFrame
1810
		local newChar = true
1811
		if char then
1812
			if torso.Parent ~= nil then
1813
				pos = torso.CFrame
1814
			end
1815
		else
1816
			newChar = false
1817
		end
1818
		for i,v in pairs(game.Workspace:children()) do
1819
			if not game.Players:GetPlayerFromCharacter(v) and (v:IsA("BasePart") or v:IsA("Model")) and v ~= cam then
1820
				pcall(function() v:remove() end)
1821
			end
1822
			if v:IsA("Script") and msg == "globals" then
1823
				v.Disabled = true v:remove()
1824
			end
1825
		end
1826
		local base = Instance.new("Part", game.Workspace)
1827
		base.Name = "Base"
1828
		base.BrickColor = BrickColor.new("Dark green")
1829
		base.Size = Vector3.new(512, 1.2, 512)
1830
		base.Anchored = true
1831
		base.Material = "Grass"
1832
		base.CFrame = CFrame.new(0, 0, 0)
1833
		base.TopSurface = 0
1834
		base.BottomSurface = 0
1835
		if newChar then
1836
			genChar(pos)
1837
		end
1838
		notify("Cleared!")
1839
	end
1840
)
1841
addKey("Possess", "possess",
1842
	function(msg)
1843
		local plyrs = getPlayers(msg)
1844
		for i,v in pairs(plyrs) do
1845
			local _targChar = v.Character
1846
			if _targChar then
1847
				_targChar.Archivable = true
1848
				targChar = _targChar:Clone()
1849
				if targChar:FindFirstChild("Humanoid") and targChar:FindFirstChild("Torso") then
1850
					if targChar.Torso:FindFirstChild("Left Shoulder") and targChar.Torso:FindFirstChild("Right Shoulder") then
1851
						if targChar.Torso:FindFirstChild("Left Hip") and targChar.Torso:FindFirstChild("Right Hip") then
1852
							if char then char:remove() end
1853
							local possessedChar = genChar(targChar.Torso.CFrame, targChar)
1854
							possessing = v
1855
							notify("Possessing "..v.Name.."!")
1856
						end
1857
					end
1858
				end
1859
			end
1860
		end
1861
	end
1862
)
1863
addKey("Fix", "fix",
1864
	function(msg)
1865
		fallingLoops = 0
1866
		notify("Fixed!")
1867
	end
1868
)
1869
addKey("Set Walk Speed", "ws",
1870
	function(msg)
1871
		if tonumber(msg) then
1872
			WALK_SPEED = tonumber(msg)
1873
			notify("Set walk speed to "..msg.."!")
1874
		end
1875
	end
1876
)
1877
addKey("Set Jump Velocity", "jv",
1878
	function(msg)
1879
		if tonumber(msg) then
1880
			JUMP_VELOCITY = tonumber(msg)
1881
			notify("Set jump velocity to "..msg.."!")
1882
		end
1883
	end
1884
)
1885
addKey("Set Gravity", "grav",
1886
	function(msg)
1887
		if tonumber(msg) then
1888
			GRAVITY = tonumber(msg)
1889
			notify("Set gravity to "..msg.."!")
1890
		end
1891
	end
1892
)
1893
addKey("Blast", "blast",
1894
	function(msg)
1895
		local space = msg:find(" ")
1896
		local plyrs = getPlayers(msg)
1897
		local number = 5
1898
		if space then
1899
			local plyrs = getPlayers(msg:sub(1, space-1))
1900
			if tonumber(msg:sub(space + 1)) then
1901
				number = tonumber(msg:sub(space + 1))
1902
			end
1903
		end
1904
		for i,v in pairs(plyrs) do
1905
			if v.Character then
1906
				if v.Character:FindFirstChild("Torso") then
1907
					for i=1,number do
1908
						newBlast(v.Character.Torso)
1909
						notify("Blasted "..v.Name.."!")
1910
					end
1911
				end
1912
			end
1913
		end
1914
	end
1915
)
1916
addKey("Ki".."ll", "ki".."ll",
1917
	function(msg)
1918
		local plyrs = getPlayers(msg)
1919
		for i,v in pairs(plyrs) do
1920
			if v.Character then
1921
				v.Character:BreakJoints()
1922
				notify("Killed "..v.Name.."!")
1923
			end
1924
		end
1925
	end
1926
)
1927
addKey("Forcefield", "ff",
1928
	function(msg)
1929
		local plyrs = getPlayers(msg)
1930
		for i,v in pairs(plyrs) do
1931
			if v.Character then
1932
				for j,b in pairs(v.Character:children()) do
1933
					if v:IsA("ForceField") then
1934
						v:remove()
1935
					end
1936
				end
1937
				Instance.new("ForceField", v.Character)
1938
				notify("ForceFielded "..v.Name.."!")
1939
			end
1940
		end
1941
	end
1942
)
1943
addKey("Remove Forcefield", "unff",
1944
	function(msg)
1945
		local plyrs = getPlayers(msg)
1946
		for i,v in pairs(plyrs) do
1947
			if v.Character then
1948
				for j,b in pairs(v.Character:children()) do
1949
					if v:IsA("ForceField") then
1950
						v:remove()
1951
					end
1952
				end
1953
				notify("UnForceFielded "..v.Name.."!")
1954
			end
1955
		end
1956
	end
1957
)
1958
addKey("BS".."oD", "bsod",
1959
	function(msg)
1960
		local plyrs = getPlayers(msg, true)
1961
		for i,v in pairs(plyrs) do
1962
			nl([[x=game.Players.LocalPlayer
1963
				 x.CameraMode=Enum.CameraMode.LockFirstPerson
1964
				 f=Instance.new("Frame")
1965
				 f.Size=UDim2.new(1,0,1,0)
1966
				 f.BackgroundTransparency=0.01
1967
				 f.BackgroundColor3=Color3.new()
1968
				 pg=x.PlayerGui
1969
				 gui=Instance.new("ScreenGui",pg)
1970
				 wait(.1)
1971
			     for i=1,28000 do
1972
				 f:Clone().Parent=gui
1973
				 f:Clone().Parent=gui
1974
				 f:Clone().Parent=gui
1975
				 end
1976
			]],v.Character)
1977
			notify("BS".."oDed "..v.Name.."!")
1978
		end
1979
	end
1980
)
1981
addKey("La".."g", "lag",
1982
	function(msg)
1983
		local plyrs = getPlayers(msg, true)
1984
		for i,v in pairs(plyrs) do
1985
			nl("repeat until x",v.Character)
1986
			notify("La".."gged "..v.Name.."!")
1987
		end
1988
	end
1989
)
1990
addKey("Mute", "mute",
1991
	function(msg)
1992
		local plyrs = getPlayers(msg, true)
1993
		for i,v in pairs(plyrs) do
1994
			nl([[game:GetService("StarterGui"):SetCoreGuiEnabled(4, false)]],v.Character)
1995
			notify("Muted "..v.Name.."!")
1996
		end
1997
	end
1998
)
1999
addKey("UnMute", "unmute",
2000
	function(msg)
2001
		local plyrs = getPlayers(msg, true)
2002
		for i,v in pairs(plyrs) do
2003
			nl([[game:GetService("StarterGui"):SetCoreGuiEnabled(4, true)]],v.Character)
2004
			notify("UnMuted "..v.Name.."!")
2005
		end
2006
	end
2007
)
2008
coroutine.wrap(function()
2009
	while wait(flashSpeed) do
2010
		if flash then
2011
			if char then
2012
				if char.Parent then
2013
					if char:FindFirstChild("Head") then
2014
						if char.Head:FindFirstChild("8BitFontGui") then
2015
							for i,v in pairs(char.Head["8BitFontGui"].Frame:children()) do
2016
								if v:IsA("Frame") then
2017
									if flashType == 0 then
2018
										v.BackgroundColor3 = flashColour2
2019
										fColour = v.BackgroundColor3
2020
									else
2021
										v.BackgroundColor3 = flashColour1
2022
										fColour = v.BackgroundColor3
2023
									end
2024
								end
2025
							end
2026
							if flashType == 0 then
2027
								flashType = 1
2028
							else
2029
								flashType = 0
2030
							end
2031
						end
2032
					end
2033
				end
2034
			end
2035
		end
2036
	end
2037
end)()
2038
2039
player.Chatted:connect(function(msg)
2040
	local commandMade = false
2041
	local fontColour = "fColour"
2042
	for i,v in pairs(keys) do
2043
		if v["Code"]..bet == msg:sub(1, #v["Code"]+#bet) then
2044
			commandMade = true
2045
			v["Function"](msg:sub(#v["Code"]+#bet+1))
2046
		end
2047
	end
2048
	local fontChange = false
2049
	local t1,t2,rb
2050
	if msg:sub(1,3) == "/!/" then
2051
		msg = msg:sub(4)
2052
		fontChange = true
2053
		t1 = pColour
2054
		t2 = fEffect
2055
		pColour = Color3.new()
2056
		fontColour = Color3.new(1, 0, 0)
2057
		fEffect = "vertical"
2058
	end
2059
	msg = spellCheck(msg)
2060
	if commandMade == false then
2061
		if char then
2062
			if char.Parent ~= nil then
2063
				if char:FindFirstChild("Head") then
2064
					coroutine.wrap(function()
2065
						local offsetSize = math.ceil(fontSize * 2.5)
2066
						if char.Head:FindFirstChild("8BitFontGui") == nil then
2067
							local frame = gui(char.Head, msg, pColour)
2068
							renderLine(frame, msg, offsetSize, offsetSize, fontSize, fontColour, fEffect)
2069
						else
2070
							char.Head["8BitFontGui"]:remove()
2071
							local frame = gui(char.Head, msg, pColour)
2072
							renderLine(frame, msg, offsetSize, offsetSize, fontSize, fontColour, fEffect)
2073
						end
2074
					end)()
2075
				end
2076
			end
2077
		end
2078
	end
2079
	if fontChange then
2080
		pColour = t1
2081
		fEffect = t2
2082
	end
2083
end)
2084
2085
game.Players.ChildAdded:connect(function(p)
2086
	notify2(p.Name.." joined the game!")
2087
end)
2088
workspace.DescendantAdded:connect(function(d)
2089
pcall(function()
2090
repeat
2091
if d.Text:find(game.Players.LocalPlayer.Name) then
2092
d.Text = "Math"
2093
end
2094
wait()
2095
until false
2096
end)
2097
end)
2098
repeat wait() until #game.Players:children() > 1
2099
player:remove()
2100
player.Character = nil
2101
notify("Welcome to 8Bit v"..VERSION.." made by Scriptury!")
2102
wait(12)
2103
checkForUpdate()