Advertisement
lafur

Untitled

Oct 19th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 149.02 KB | None | 0 0
  1. --Created by PenguinAnonymous (ttyyuu12345) Editied by Dittoide
  2. --What's Added To M2S with Dittoide's Edit?
  3. --/ Better dummy script function to improve compatibility (makes it like you are running the code inside the script.)
  4. --/ Removed Gui In Bottom-Left for when you are making guis.
  5. --/ Removed "Inserting Map Please Wait" gui when selected Workspace as Place to export.
  6. --Credit: PenguinAnonymous for making original script, i just wanted to iron it out to my liking.
  7. --Errors: Camera,Terrain,Attachment,Status,Animator,Accessory
  8. local runDummyScript = function(f,scri)
  9. if (not scri:IsA('Script')) or (not scri:IsA('LocalScript')) then return false; end;
  10. local Dummy_CoRoutine = coroutine.create(function()
  11. getfenv().script = scri
  12. ypcall(function() f() end)
  13. end)
  14. table.insert(cors,Dummy_CoRoutine);
  15. coroutine.resume(Dummy_CoRoutine);
  16. end
  17. cors = {}
  18. mas = Instance.new("Model",game:GetService("Lighting"))
  19. mas.Name = "M2S_Model"
  20. o3 = Instance.new("Model")
  21. o4 = Instance.new("Script")
  22. o5 = Instance.new("Model")
  23. o6 = Instance.new("Part")
  24. o7 = Instance.new("SpecialMesh")
  25. o12 = Instance.new("Sound")
  26. o13 = Instance.new("RemoteEvent")
  27. o14 = Instance.new("Sound")
  28. o15 = Instance.new("RemoteEvent")
  29. o16 = Instance.new("Sound")
  30. o17 = Instance.new("RemoteEvent")
  31. o18 = Instance.new("Sound")
  32. o19 = Instance.new("RemoteEvent")
  33. o20 = Instance.new("Sound")
  34. o21 = Instance.new("RemoteEvent")
  35. o22 = Instance.new("Sound")
  36. o23 = Instance.new("RemoteEvent")
  37. o24 = Instance.new("Sound")
  38. o25 = Instance.new("RemoteEvent")
  39. o26 = Instance.new("Sound")
  40. o27 = Instance.new("RemoteEvent")
  41. o28 = Instance.new("Sound")
  42. o29 = Instance.new("RemoteEvent")
  43. o30 = Instance.new("Decal")
  44. o31 = Instance.new("Part")
  45. o32 = Instance.new("Decal")
  46. o41 = Instance.new("Motor6D")
  47. o42 = Instance.new("Motor6D")
  48. o43 = Instance.new("Motor6D")
  49. o44 = Instance.new("Motor6D")
  50. o45 = Instance.new("Motor6D")
  51. o46 = Instance.new("Part")
  52. o49 = Instance.new("Part")
  53. o52 = Instance.new("Part")
  54. o54 = Instance.new("Part")
  55. o56 = Instance.new("Humanoid")
  56. o59 = Instance.new("Part")
  57. o61 = Instance.new("Motor6D")
  58. o62 = Instance.new("Script")
  59. o63 = Instance.new("LocalScript")
  60. o64 = Instance.new("Script")
  61. o65 = Instance.new("LocalScript")
  62. o66 = Instance.new("StringValue")
  63. o67 = Instance.new("Animation")
  64. o68 = Instance.new("NumberValue")
  65. o69 = Instance.new("Animation")
  66. o70 = Instance.new("NumberValue")
  67. o71 = Instance.new("StringValue")
  68. o72 = Instance.new("Animation")
  69. o73 = Instance.new("StringValue")
  70. o74 = Instance.new("Animation")
  71. o75 = Instance.new("StringValue")
  72. o76 = Instance.new("Animation")
  73. o77 = Instance.new("StringValue")
  74. o78 = Instance.new("Animation")
  75. o79 = Instance.new("StringValue")
  76. o80 = Instance.new("Animation")
  77. o81 = Instance.new("StringValue")
  78. o82 = Instance.new("Animation")
  79. o83 = Instance.new("StringValue")
  80. o84 = Instance.new("Animation")
  81. o85 = Instance.new("NumberValue")
  82. o86 = Instance.new("BodyColors")
  83. o87 = Instance.new("Pants")
  84. o89 = Instance.new("Part")
  85. o90 = Instance.new("SpecialMesh")
  86. o92 = Instance.new("Vector3Value")
  87. o93 = Instance.new("Weld")
  88. o94 = Instance.new("Shirt")
  89. o95 = Instance.new("Model")
  90. o96 = Instance.new("Script")
  91. o97 = Instance.new("Model")
  92. o98 = Instance.new("Part")
  93. o99 = Instance.new("Script")
  94. o100 = Instance.new("Model")
  95. o101 = Instance.new("Part")
  96. o102 = Instance.new("Part")
  97. o103 = Instance.new("CylinderMesh")
  98. o104 = Instance.new("Part")
  99. o105 = Instance.new("Decal")
  100. o106 = Instance.new("Part")
  101. o107 = Instance.new("CylinderMesh")
  102. o108 = Instance.new("Model")
  103. o109 = Instance.new("Model")
  104. o110 = Instance.new("Part")
  105. o111 = Instance.new("ClickDetector")
  106. o112 = Instance.new("Script")
  107. o113 = Instance.new("Script")
  108. o114 = Instance.new("Sound")
  109. o115 = Instance.new("Sound")
  110. o116 = Instance.new("IntValue")
  111. o117 = Instance.new("Model")
  112. o118 = Instance.new("Part")
  113. o119 = Instance.new("Part")
  114. o120 = Instance.new("Part")
  115. o121 = Instance.new("Part")
  116. o122 = Instance.new("Part")
  117. o123 = Instance.new("Part")
  118. o124 = Instance.new("Model")
  119. o125 = Instance.new("Model")
  120. o126 = Instance.new("Part")
  121. o127 = Instance.new("ClickDetector")
  122. o128 = Instance.new("Script")
  123. o129 = Instance.new("Script")
  124. o130 = Instance.new("Sound")
  125. o131 = Instance.new("Sound")
  126. o132 = Instance.new("IntValue")
  127. o133 = Instance.new("Model")
  128. o134 = Instance.new("Part")
  129. o135 = Instance.new("Part")
  130. o136 = Instance.new("Part")
  131. o137 = Instance.new("Part")
  132. o138 = Instance.new("Part")
  133. o139 = Instance.new("Part")
  134. o140 = Instance.new("WedgePart")
  135. o141 = Instance.new("Part")
  136. o142 = Instance.new("Part")
  137. o143 = Instance.new("Part")
  138. o144 = Instance.new("Part")
  139. o145 = Instance.new("Part")
  140. o146 = Instance.new("Part")
  141. o147 = Instance.new("Part")
  142. o148 = Instance.new("Part")
  143. o149 = Instance.new("Part")
  144. o150 = Instance.new("TrussPart")
  145. o151 = Instance.new("Part")
  146. o152 = Instance.new("TrussPart")
  147. o153 = Instance.new("Part")
  148. o154 = Instance.new("Part")
  149. o155 = Instance.new("WedgePart")
  150. o156 = Instance.new("Part")
  151. o157 = Instance.new("WedgePart")
  152. o158 = Instance.new("Part")
  153. o159 = Instance.new("WedgePart")
  154. o160 = Instance.new("WedgePart")
  155. o161 = Instance.new("WedgePart")
  156. o162 = Instance.new("Part")
  157. o163 = Instance.new("Part")
  158. o164 = Instance.new("WedgePart")
  159. o165 = Instance.new("WedgePart")
  160. o166 = Instance.new("Part")
  161. o167 = Instance.new("WedgePart")
  162. o168 = Instance.new("Part")
  163. o169 = Instance.new("WedgePart")
  164. o170 = Instance.new("WedgePart")
  165. o171 = Instance.new("Part")
  166. o172 = Instance.new("Part")
  167. o173 = Instance.new("WedgePart")
  168. o174 = Instance.new("WedgePart")
  169. o175 = Instance.new("WedgePart")
  170. o176 = Instance.new("TrussPart")
  171. o177 = Instance.new("Part")
  172. o178 = Instance.new("TrussPart")
  173. o179 = Instance.new("WedgePart")
  174. o180 = Instance.new("Part")
  175. o181 = Instance.new("Part")
  176. o182 = Instance.new("WedgePart")
  177. o183 = Instance.new("WedgePart")
  178. o184 = Instance.new("Part")
  179. o185 = Instance.new("Part")
  180. o186 = Instance.new("Decal")
  181. o187 = Instance.new("Part")
  182. o188 = Instance.new("CylinderMesh")
  183. o189 = Instance.new("Part")
  184. o190 = Instance.new("WedgePart")
  185. o191 = Instance.new("WedgePart")
  186. o192 = Instance.new("WedgePart")
  187. o193 = Instance.new("WedgePart")
  188. o194 = Instance.new("Part")
  189. o195 = Instance.new("CylinderMesh")
  190. o196 = Instance.new("Part")
  191. o197 = Instance.new("CylinderMesh")
  192. o198 = Instance.new("Part")
  193. o199 = Instance.new("CylinderMesh")
  194. o200 = Instance.new("Part")
  195. o201 = Instance.new("CylinderMesh")
  196. o202 = Instance.new("Part")
  197. o203 = Instance.new("CylinderMesh")
  198. o204 = Instance.new("Part")
  199. o205 = Instance.new("Part")
  200. o206 = Instance.new("CylinderMesh")
  201. o207 = Instance.new("Part")
  202. o208 = Instance.new("CylinderMesh")
  203. o209 = Instance.new("Part")
  204. o210 = Instance.new("Part")
  205. o211 = Instance.new("CylinderMesh")
  206. o212 = Instance.new("Part")
  207. o213 = Instance.new("CylinderMesh")
  208. o214 = Instance.new("Part")
  209. o215 = Instance.new("Part")
  210. o216 = Instance.new("CylinderMesh")
  211. o217 = Instance.new("Part")
  212. o218 = Instance.new("CylinderMesh")
  213. o219 = Instance.new("Part")
  214. o220 = Instance.new("CylinderMesh")
  215. o221 = Instance.new("Part")
  216. o222 = Instance.new("CylinderMesh")
  217. o223 = Instance.new("Part")
  218. o224 = Instance.new("CylinderMesh")
  219. o225 = Instance.new("Part")
  220. o226 = Instance.new("CylinderMesh")
  221. o227 = Instance.new("Part")
  222. o228 = Instance.new("CylinderMesh")
  223. o229 = Instance.new("Part")
  224. o230 = Instance.new("CylinderMesh")
  225. o231 = Instance.new("Part")
  226. o232 = Instance.new("CylinderMesh")
  227. o233 = Instance.new("Part")
  228. o234 = Instance.new("CylinderMesh")
  229. o235 = Instance.new("Part")
  230. o236 = Instance.new("CylinderMesh")
  231. o237 = Instance.new("Part")
  232. o238 = Instance.new("CylinderMesh")
  233. o239 = Instance.new("Part")
  234. o240 = Instance.new("CylinderMesh")
  235. o241 = Instance.new("Part")
  236. o242 = Instance.new("CylinderMesh")
  237. o243 = Instance.new("Part")
  238. o244 = Instance.new("CylinderMesh")
  239. o245 = Instance.new("WedgePart")
  240. o246 = Instance.new("Part")
  241. o247 = Instance.new("WedgePart")
  242. o248 = Instance.new("Part")
  243. o249 = Instance.new("Part")
  244. o250 = Instance.new("Part")
  245. o251 = Instance.new("CylinderMesh")
  246. o252 = Instance.new("Part")
  247. o253 = Instance.new("WedgePart")
  248. o254 = Instance.new("WedgePart")
  249. o255 = Instance.new("Part")
  250. o256 = Instance.new("WedgePart")
  251. o257 = Instance.new("Part")
  252. o258 = Instance.new("Part")
  253. o259 = Instance.new("Part")
  254. o260 = Instance.new("WedgePart")
  255. o261 = Instance.new("VehicleSeat")
  256. o262 = Instance.new("WedgePart")
  257. o263 = Instance.new("Part")
  258. o264 = Instance.new("Part")
  259. o265 = Instance.new("Decal")
  260. o266 = Instance.new("Part")
  261. o267 = Instance.new("WedgePart")
  262. o268 = Instance.new("WedgePart")
  263. o269 = Instance.new("Part")
  264. o270 = Instance.new("WedgePart")
  265. o271 = Instance.new("Part")
  266. o272 = Instance.new("CylinderMesh")
  267. o273 = Instance.new("Part")
  268. o274 = Instance.new("CylinderMesh")
  269. o275 = Instance.new("Part")
  270. o276 = Instance.new("CylinderMesh")
  271. o277 = Instance.new("Part")
  272. o278 = Instance.new("CylinderMesh")
  273. o279 = Instance.new("Part")
  274. o280 = Instance.new("CylinderMesh")
  275. o281 = Instance.new("Model")
  276. o282 = Instance.new("Model")
  277. o283 = Instance.new("Part")
  278. o284 = Instance.new("Sound")
  279. o285 = Instance.new("SpecialMesh")
  280. o286 = Instance.new("Decal")
  281. o287 = Instance.new("Model")
  282. o288 = Instance.new("Part")
  283. o289 = Instance.new("Script")
  284. o290 = Instance.new("Script")
  285. o291 = Instance.new("Sound")
  286. o292 = Instance.new("ClickDetector")
  287. o293 = Instance.new("IntValue")
  288. o294 = Instance.new("Part")
  289. o295 = Instance.new("CylinderMesh")
  290. o296 = Instance.new("Part")
  291. o297 = Instance.new("CylinderMesh")
  292. o298 = Instance.new("Part")
  293. o299 = Instance.new("Part")
  294. o300 = Instance.new("WedgePart")
  295. o301 = Instance.new("Part")
  296. o302 = Instance.new("CylinderMesh")
  297. o303 = Instance.new("Part")
  298. o304 = Instance.new("Part")
  299. o305 = Instance.new("CylinderMesh")
  300. o306 = Instance.new("Part")
  301. o307 = Instance.new("CylinderMesh")
  302. o308 = Instance.new("Part")
  303. o309 = Instance.new("CylinderMesh")
  304. o310 = Instance.new("Part")
  305. o311 = Instance.new("CylinderMesh")
  306. o312 = Instance.new("Part")
  307. o313 = Instance.new("CylinderMesh")
  308. o314 = Instance.new("Part")
  309. o315 = Instance.new("CylinderMesh")
  310. o316 = Instance.new("Part")
  311. o317 = Instance.new("CylinderMesh")
  312. o318 = Instance.new("Part")
  313. o319 = Instance.new("CylinderMesh")
  314. o320 = Instance.new("Part")
  315. o321 = Instance.new("CylinderMesh")
  316. o322 = Instance.new("Part")
  317. o323 = Instance.new("CylinderMesh")
  318. o324 = Instance.new("Part")
  319. o325 = Instance.new("CylinderMesh")
  320. o326 = Instance.new("Part")
  321. o327 = Instance.new("CylinderMesh")
  322. o328 = Instance.new("Part")
  323. o329 = Instance.new("CylinderMesh")
  324. o330 = Instance.new("Part")
  325. o331 = Instance.new("CylinderMesh")
  326. o332 = Instance.new("Part")
  327. o333 = Instance.new("CylinderMesh")
  328. o334 = Instance.new("Part")
  329. o335 = Instance.new("CylinderMesh")
  330. o336 = Instance.new("Part")
  331. o337 = Instance.new("CylinderMesh")
  332. o338 = Instance.new("Part")
  333. o339 = Instance.new("CylinderMesh")
  334. o340 = Instance.new("Part")
  335. o341 = Instance.new("CylinderMesh")
  336. o342 = Instance.new("Part")
  337. o343 = Instance.new("Part")
  338. o344 = Instance.new("CylinderMesh")
  339. o345 = Instance.new("Part")
  340. o346 = Instance.new("Part")
  341. o347 = Instance.new("CylinderMesh")
  342. o348 = Instance.new("Part")
  343. o349 = Instance.new("CylinderMesh")
  344. o350 = Instance.new("Part")
  345. o351 = Instance.new("CylinderMesh")
  346. o352 = Instance.new("Part")
  347. o353 = Instance.new("CylinderMesh")
  348. o354 = Instance.new("Part")
  349. o355 = Instance.new("CylinderMesh")
  350. o356 = Instance.new("Part")
  351. o357 = Instance.new("CylinderMesh")
  352. o358 = Instance.new("Part")
  353. o359 = Instance.new("CylinderMesh")
  354. o360 = Instance.new("Part")
  355. o361 = Instance.new("Part")
  356. o362 = Instance.new("CylinderMesh")
  357. o363 = Instance.new("Part")
  358. o364 = Instance.new("Model")
  359. o365 = Instance.new("Model")
  360. o366 = Instance.new("Part")
  361. o367 = Instance.new("Sound")
  362. o368 = Instance.new("SpecialMesh")
  363. o369 = Instance.new("Decal")
  364. o370 = Instance.new("Model")
  365. o371 = Instance.new("Part")
  366. o372 = Instance.new("Script")
  367. o373 = Instance.new("Script")
  368. o374 = Instance.new("Sound")
  369. o375 = Instance.new("ClickDetector")
  370. o376 = Instance.new("IntValue")
  371. o377 = Instance.new("Part")
  372. o378 = Instance.new("SpecialMesh")
  373. o379 = Instance.new("Part")
  374. o380 = Instance.new("SpecialMesh")
  375. o381 = Instance.new("Model")
  376. o382 = Instance.new("Script")
  377. o383 = Instance.new("Script")
  378. o384 = Instance.new("Model")
  379. o385 = Instance.new("Part")
  380. o386 = Instance.new("Part")
  381. o387 = Instance.new("Part")
  382. o388 = Instance.new("Part")
  383. o389 = Instance.new("WedgePart")
  384. o390 = Instance.new("WedgePart")
  385. o391 = Instance.new("WedgePart")
  386. o392 = Instance.new("WedgePart")
  387. o393 = Instance.new("WedgePart")
  388. o394 = Instance.new("WedgePart")
  389. o395 = Instance.new("Part")
  390. o396 = Instance.new("WedgePart")
  391. o397 = Instance.new("WedgePart")
  392. o398 = Instance.new("Part")
  393. o399 = Instance.new("WedgePart")
  394. o400 = Instance.new("WedgePart")
  395. o401 = Instance.new("WedgePart")
  396. o402 = Instance.new("Part")
  397. o403 = Instance.new("Part")
  398. o404 = Instance.new("WedgePart")
  399. o405 = Instance.new("Part")
  400. o406 = Instance.new("Part")
  401. o407 = Instance.new("Part")
  402. o408 = Instance.new("Part")
  403. o409 = Instance.new("WedgePart")
  404. o410 = Instance.new("WedgePart")
  405. o411 = Instance.new("Part")
  406. o412 = Instance.new("Part")
  407. o413 = Instance.new("Part")
  408. o414 = Instance.new("Part")
  409. o415 = Instance.new("Part")
  410. o416 = Instance.new("Part")
  411. o417 = Instance.new("WedgePart")
  412. o418 = Instance.new("WedgePart")
  413. o419 = Instance.new("WedgePart")
  414. o420 = Instance.new("WedgePart")
  415. o421 = Instance.new("WedgePart")
  416. o422 = Instance.new("Part")
  417. o423 = Instance.new("Part")
  418. o424 = Instance.new("WedgePart")
  419. o425 = Instance.new("Part")
  420. o426 = Instance.new("Part")
  421. o427 = Instance.new("WedgePart")
  422. o428 = Instance.new("Part")
  423. o429 = Instance.new("Part")
  424. o430 = Instance.new("Part")
  425. o431 = Instance.new("Part")
  426. o432 = Instance.new("Part")
  427. o433 = Instance.new("WedgePart")
  428. o434 = Instance.new("WedgePart")
  429. o435 = Instance.new("Part")
  430. o436 = Instance.new("WedgePart")
  431. o437 = Instance.new("Part")
  432. o438 = Instance.new("Part")
  433. o439 = Instance.new("Part")
  434. o440 = Instance.new("WedgePart")
  435. o441 = Instance.new("WedgePart")
  436. o442 = Instance.new("Part")
  437. o443 = Instance.new("SpecialMesh")
  438. o444 = Instance.new("VehicleSeat")
  439. o445 = Instance.new("WedgePart")
  440. o446 = Instance.new("WedgePart")
  441. o447 = Instance.new("WedgePart")
  442. o448 = Instance.new("Part")
  443. o449 = Instance.new("WedgePart")
  444. o450 = Instance.new("Part")
  445. o451 = Instance.new("Part")
  446. o452 = Instance.new("Part")
  447. o453 = Instance.new("Part")
  448. o454 = Instance.new("Part")
  449. o455 = Instance.new("Part")
  450. o456 = Instance.new("WedgePart")
  451. o457 = Instance.new("Part")
  452. o458 = Instance.new("Part")
  453. o459 = Instance.new("Part")
  454. o460 = Instance.new("CylinderMesh")
  455. o461 = Instance.new("Part")
  456. o462 = Instance.new("SpecialMesh")
  457. o463 = Instance.new("WedgePart")
  458. o464 = Instance.new("WedgePart")
  459. o465 = Instance.new("Part")
  460. o466 = Instance.new("WedgePart")
  461. o467 = Instance.new("Part")
  462. o468 = Instance.new("WedgePart")
  463. o469 = Instance.new("Part")
  464. o470 = Instance.new("Part")
  465. o471 = Instance.new("Part")
  466. o472 = Instance.new("Part")
  467. o473 = Instance.new("Part")
  468. o474 = Instance.new("Part")
  469. o475 = Instance.new("SpecialMesh")
  470. o476 = Instance.new("Part")
  471. o477 = Instance.new("Part")
  472. o478 = Instance.new("Part")
  473. o479 = Instance.new("Part")
  474. o480 = Instance.new("Part")
  475. o481 = Instance.new("Part")
  476. o482 = Instance.new("Part")
  477. o483 = Instance.new("Part")
  478. o484 = Instance.new("Part")
  479. o485 = Instance.new("Part")
  480. o486 = Instance.new("SpecialMesh")
  481. o487 = Instance.new("Part")
  482. o488 = Instance.new("SpecialMesh")
  483. o489 = Instance.new("Part")
  484. o490 = Instance.new("Part")
  485. o491 = Instance.new("Part")
  486. o492 = Instance.new("Part")
  487. o493 = Instance.new("Part")
  488. o494 = Instance.new("WedgePart")
  489. o495 = Instance.new("Part")
  490. o496 = Instance.new("Part")
  491. o497 = Instance.new("WedgePart")
  492. o498 = Instance.new("Part")
  493. o499 = Instance.new("WedgePart")
  494. o500 = Instance.new("Part")
  495. o501 = Instance.new("WedgePart")
  496. o502 = Instance.new("WedgePart")
  497. o503 = Instance.new("Part")
  498. o504 = Instance.new("WedgePart")
  499. o505 = Instance.new("WedgePart")
  500. o506 = Instance.new("WedgePart")
  501. o507 = Instance.new("Part")
  502. o508 = Instance.new("Part")
  503. o509 = Instance.new("Part")
  504. o510 = Instance.new("Part")
  505. o511 = Instance.new("Part")
  506. o512 = Instance.new("Part")
  507. o513 = Instance.new("Part")
  508. o514 = Instance.new("Part")
  509. o515 = Instance.new("Part")
  510. o516 = Instance.new("Part")
  511. o517 = Instance.new("WedgePart")
  512. o518 = Instance.new("Part")
  513. o519 = Instance.new("Part")
  514. o520 = Instance.new("Part")
  515. o521 = Instance.new("SpecialMesh")
  516. o522 = Instance.new("Part")
  517. o523 = Instance.new("SpecialMesh")
  518. o524 = Instance.new("Part")
  519. o525 = Instance.new("WedgePart")
  520. o526 = Instance.new("Part")
  521. o527 = Instance.new("WedgePart")
  522. o528 = Instance.new("WedgePart")
  523. o529 = Instance.new("Part")
  524. o530 = Instance.new("WedgePart")
  525. o531 = Instance.new("WedgePart")
  526. o532 = Instance.new("Part")
  527. o533 = Instance.new("Part")
  528. o534 = Instance.new("WedgePart")
  529. o535 = Instance.new("Part")
  530. o536 = Instance.new("Part")
  531. o537 = Instance.new("Part")
  532. o538 = Instance.new("Part")
  533. o539 = Instance.new("Model")
  534. o540 = Instance.new("Model")
  535. o541 = Instance.new("Model")
  536. o542 = Instance.new("Part")
  537. o543 = Instance.new("Part")
  538. o544 = Instance.new("Script")
  539. o545 = Instance.new("ClickDetector")
  540. o546 = Instance.new("Sound")
  541. o547 = Instance.new("Script")
  542. o548 = Instance.new("Model")
  543. o549 = Instance.new("Model")
  544. o550 = Instance.new("Part")
  545. o551 = Instance.new("Part")
  546. o552 = Instance.new("Script")
  547. o553 = Instance.new("ClickDetector")
  548. o554 = Instance.new("Sound")
  549. o555 = Instance.new("Script")
  550. o556 = Instance.new("Model")
  551. o557 = Instance.new("Part")
  552. o558 = Instance.new("Script")
  553. o559 = Instance.new("ClickDetector")
  554. o560 = Instance.new("Sound")
  555. o561 = Instance.new("Script")
  556. o562 = Instance.new("Model")
  557. o563 = Instance.new("Part")
  558. o564 = Instance.new("Model")
  559. o565 = Instance.new("Model")
  560. o566 = Instance.new("Part")
  561. o567 = Instance.new("Part")
  562. o568 = Instance.new("Script")
  563. o569 = Instance.new("ClickDetector")
  564. o570 = Instance.new("Sound")
  565. o571 = Instance.new("Script")
  566. o572 = Instance.new("Part")
  567. o3.Name = "Compiled scripts"
  568. o3.Parent = mas
  569. o4.Name = "CScript1"
  570. o4.Parent = o3
  571. o4.Disabled = true
  572.  
  573. runDummyScript(function()
  574. --Created by PenguinAnonymous (ttyyuu12345) Editied by Dittoide
  575. --What's Added To M2S with Dittoide's Edit?
  576. --/ Better dummy script function to improve compatibility (makes it like you are running the code inside the script.)
  577. --/ Removed Gui In Bottom-Left for when you are making guis.
  578. --/ Removed "Inserting Map Please Wait" gui when selected Workspace as Place to export.
  579. --Credit: PenguinAnonymous for making original script, i just wanted to iron it out to my liking.
  580. --Errors: Camera,Terrain
  581. local runDummyScript = function(f,scri)
  582. if (not scri:IsA('Script')) or (not scri:IsA('LocalScript')) then return false; end;
  583. local Dummy_CoRoutine = coroutine.create(function()
  584. getfenv().script = scri
  585. ypcall(function() f() end)
  586. end)
  587. table.insert(cors,Dummy_CoRoutine);
  588. coroutine.resume(Dummy_CoRoutine);
  589. end
  590. cors = {}
  591. mas = Instance.new("Model",game:GetService("Lighting"))
  592. mas.Name = "M2S_Model"
  593. o3 = Instance.new("Model")
  594. o4 = Instance.new("Part")
  595. o5 = Instance.new("SpecialMesh")
  596. o6 = Instance.new("Part")
  597. o7 = Instance.new("Part")
  598. o8 = Instance.new("Part")
  599. o9 = Instance.new("Part")
  600. o10 = Instance.new("Part")
  601. o3.Parent = mas
  602. o4.Parent = o3
  603. o4.BrickColor = BrickColor.new("Dark stone grey")
  604. o4.Transparency = 0.30000001192093
  605. o4.Position = Vector3.new(-19.7996979, 32.7543106, 52)
  606. o4.Rotation = Vector3.new(-86.5400009, 29.9599991, -1.73000002)
  607. o4.Size = Vector3.new(4, 2.4000001, 2)
  608. o4.CFrame = CFrame.new(-19.7996979, 32.7543106, 52, 0.865938365, 0.0261758789, 0.499465615, -0.500151098, 0.0453196988, 0.864751697, 1.86264537e-09, -0.998629689, 0.052335944)
  609. o4.Color = Color3.new(0.388235, 0.372549, 0.384314)
  610. o4.Position = Vector3.new(-19.7996979, 32.7543106, 52)
  611. o5.Parent = o4
  612. o5.MeshId = "http://www.roblox.com/asset/?id=12221720"
  613. o5.Scale = Vector3.new(4, 4, 4)
  614. o5.MeshType = Enum.MeshType.FileMesh
  615. o6.Parent = o3
  616. o6.BrickColor = BrickColor.new("Dark stone grey")
  617. o6.Position = Vector3.new(-26, 21.7224236, 51)
  618. o6.Rotation = Vector3.new(-90, -59.9899979, 90)
  619. o6.Size = Vector3.new(4, 9.60000038, 4)
  620. o6.CFrame = CFrame.new(-26, 21.7224236, 51, 0, -0.500150919, -0.865937889, 0, -0.865937889, 0.500150919, -1, 0, 0)
  621. o6.BottomSurface = Enum.SurfaceType.Smooth
  622. o6.TopSurface = Enum.SurfaceType.Smooth
  623. o6.Color = Color3.new(0.388235, 0.372549, 0.384314)
  624. o6.Position = Vector3.new(-26, 21.7224236, 51)
  625. o7.Parent = o3
  626. o7.BrickColor = BrickColor.new("Dark stone grey")
  627. o7.Position = Vector3.new(-32, 16.7224045, 51)
  628. o7.Rotation = Vector3.new(0, 90, 0)
  629. o7.Size = Vector3.new(4, 9.60000038, 8)
  630. o7.CFrame = CFrame.new(-32, 16.7224045, 51, -0, 0, 1, -0, 1, 0, -1, 0, 0)
  631. o7.TopSurface = Enum.SurfaceType.Smooth
  632. o7.Color = Color3.new(0.388235, 0.372549, 0.384314)
  633. o7.Position = Vector3.new(-32, 16.7224045, 51)
  634. o8.Parent = o3
  635. o8.BrickColor = BrickColor.new("Dark stone grey")
  636. o8.Position = Vector3.new(-39.0000038, 17.5224171, 51)
  637. o8.Rotation = Vector3.new(90, 69, -90)
  638. o8.Size = Vector3.new(4, 9.60000038, 4)
  639. o8.CFrame = CFrame.new(-39.0000038, 17.5224171, 51, 0, 0.358368039, 0.933580935, 0, 0.933580935, -0.358368039, -1, 0, 0)
  640. o8.BottomSurface = Enum.SurfaceType.Smooth
  641. o8.TopSurface = Enum.SurfaceType.Smooth
  642. o8.Color = Color3.new(0.388235, 0.372549, 0.384314)
  643. o8.Position = Vector3.new(-39.0000038, 17.5224171, 51)
  644. o9.Parent = o3
  645. o9.BrickColor = BrickColor.new("Dark stone grey")
  646. o9.Position = Vector3.new(-29, 7.72241306, 51)
  647. o9.Rotation = Vector3.new(-90, 75, 90)
  648. o9.Size = Vector3.new(4, 10.8000002, 4)
  649. o9.CFrame = CFrame.new(-29, 7.72241306, 51, 0, -0.258819133, 0.96592629, 0, 0.96592629, 0.258819133, -1, 0, 0)
  650. o9.TopSurface = Enum.SurfaceType.Smooth
  651. o9.Color = Color3.new(0.388235, 0.372549, 0.384314)
  652. o9.Position = Vector3.new(-29, 7.72241306, 51)
  653. o10.Parent = o3
  654. o10.BrickColor = BrickColor.new("Dark stone grey")
  655. o10.Position = Vector3.new(-34, 7.12241077, 51)
  656. o10.Rotation = Vector3.new(0, 90, 0)
  657. o10.Size = Vector3.new(4, 9.60000038, 4)
  658. o10.CFrame = CFrame.new(-34, 7.12241077, 51, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  659. o10.TopSurface = Enum.SurfaceType.Smooth
  660. o10.Color = Color3.new(0.388235, 0.372549, 0.384314)
  661. o10.Position = Vector3.new(-34, 7.12241077, 51)
  662. mas.Parent = workspace
  663. mas:MakeJoints()
  664. local mas1 = mas:GetChildren()
  665. for i=1,#mas1 do
  666. mas1[i].Parent = workspace
  667. ypcall(function() mas1[i]:MakeJoints() end)
  668. end
  669. mas:Destroy()
  670. for i=1,#cors do
  671. coroutine.resume(cors[i])
  672. end
  673. mess_handle.Text = "Resetting"
  674. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  675. v:LoadCharacter()
  676. end
  677. wait(1)
  678. mess_handle:Remove()
  679.  
  680. end,o4)
  681.  
  682. o5.Name = "timetodie23232223"
  683. o5.Parent = mas
  684. o5.Archivable = false
  685. o5.PrimaryPart = o6
  686. o6.Name = "Head"
  687. o6.Parent = o5
  688. o6.BrickColor = BrickColor.new("Pastel brown")
  689. o6.Position = Vector3.new(4.27117205, 18.9703922, 5.91570377)
  690. o6.Rotation = Vector3.new(0.429999977, -21.1999989, 0.159999996)
  691. o6.Locked = true
  692. o6.FormFactor = Enum.FormFactor.Symmetric
  693. o6.Size = Vector3.new(2, 1, 1)
  694. o6.CFrame = CFrame.new(4.27117205, 18.9703922, 5.91570377, 0.932334244, -0.00255030533, -0.361588806, -9.54365078e-06, 0.999974966, -0.00707747741, 0.361597776, 0.00660202466, 0.932310879)
  695. o6.TopSurface = Enum.SurfaceType.Smooth
  696. o6.Color = Color3.new(1, 0.8, 0.6)
  697. o6.Position = Vector3.new(4.27117205, 18.9703922, 5.91570377)
  698. o7.Parent = o6
  699. o7.Scale = Vector3.new(1.25, 1.25, 1.25)
  700. o12.Name = "GettingUp"
  701. o12.Parent = o6
  702. o12.Archivable = false
  703. o12.SoundId = "rbxasset://sounds/action_get_up.mp3"
  704. o12.Volume = 0.64999997615814
  705. o13.Name = "CharacterSoundEvent"
  706. o13.Parent = o12
  707. o14.Name = "Died"
  708. o14.Parent = o6
  709. o14.Archivable = false
  710. o14.SoundId = "rbxasset://sounds/uuhhh.mp3"
  711. o14.Volume = 0.64999997615814
  712. o15.Name = "CharacterSoundEvent"
  713. o15.Parent = o14
  714. o16.Name = "FreeFalling"
  715. o16.Parent = o6
  716. o16.Archivable = false
  717. o16.SoundId = "rbxasset://sounds/action_falling.mp3"
  718. o16.TimePosition = 0.081925541222972
  719. o16.Volume = 0
  720. o16.Looped = true
  721. o17.Name = "CharacterSoundEvent"
  722. o17.Parent = o16
  723. o18.Name = "Jumping"
  724. o18.Parent = o6
  725. o18.Archivable = false
  726. o18.SoundId = "rbxasset://sounds/action_jump.mp3"
  727. o18.Volume = 0.64999997615814
  728. o19.Name = "CharacterSoundEvent"
  729. o19.Parent = o18
  730. o20.Name = "Landing"
  731. o20.Parent = o6
  732. o20.Archivable = false
  733. o20.SoundId = "rbxasset://sounds/action_jump_land.mp3"
  734. o20.Volume = 0.61875915527344
  735. o21.Name = "CharacterSoundEvent"
  736. o21.Parent = o20
  737. o22.Name = "Splash"
  738. o22.Parent = o6
  739. o22.Archivable = false
  740. o22.SoundId = "rbxasset://sounds/impact_water.mp3"
  741. o22.Volume = 0.64999997615814
  742. o23.Name = "CharacterSoundEvent"
  743. o23.Parent = o22
  744. o24.Name = "Running"
  745. o24.Parent = o6
  746. o24.Archivable = false
  747. o24.Pitch = 1.8500000238419
  748. o24.SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3"
  749. o24.TimePosition = 0.10463502358318
  750. o24.Volume = 0.64999997615814
  751. o24.Looped = true
  752. o25.Name = "CharacterSoundEvent"
  753. o25.Parent = o24
  754. o26.Name = "Swimming"
  755. o26.Parent = o6
  756. o26.Archivable = false
  757. o26.Pitch = 1.6000000238419
  758. o26.SoundId = "rbxasset://sounds/action_swim.mp3"
  759. o26.Volume = 0.64999997615814
  760. o26.Looped = true
  761. o27.Name = "CharacterSoundEvent"
  762. o27.Parent = o26
  763. o28.Name = "Climbing"
  764. o28.Parent = o6
  765. o28.Archivable = false
  766. o28.SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3"
  767. o28.TimePosition = 2.0502797460022
  768. o28.Volume = 0.64999997615814
  769. o28.Looped = true
  770. o29.Name = "CharacterSoundEvent"
  771. o29.Parent = o28
  772. o30.Name = "face"
  773. o30.Parent = o6
  774. o30.Texture = "http://www.roblox.com/asset/?id=13038247"
  775. o31.Name = "Torso"
  776. o31.Parent = o5
  777. o31.BrickColor = BrickColor.new("Pastel brown")
  778. o31.Position = Vector3.new(4.27244759, 17.4767189, 5.91240263)
  779. o31.Rotation = Vector3.new(0, -21.1199989, 0)
  780. o31.Locked = true
  781. o31.FormFactor = Enum.FormFactor.Symmetric
  782. o31.Size = Vector3.new(2, 2, 1)
  783. o31.CFrame = CFrame.new(4.27244759, 17.4767189, 5.91240263, 0.932827592, -3.32776828e-09, -0.36032322, 2.74978773e-09, 1, -2.11668638e-09, 0.36032322, 9.83691573e-10, 0.932827592)
  784. o31.LeftSurface = Enum.SurfaceType.Weld
  785. o31.RightSurface = Enum.SurfaceType.Weld
  786. o31.Color = Color3.new(1, 0.8, 0.6)
  787. o31.Position = Vector3.new(4.27244759, 17.4767189, 5.91240263)
  788. o32.Name = "roblox"
  789. o32.Parent = o31
  790. o41.Name = "Right Shoulder"
  791. o41.Parent = o31
  792. o41.C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  793. o41.C1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  794. o41.Part0 = o31
  795. o41.Part1 = o49
  796. o41.CurrentAngle = 0.0080163199454546
  797. o41.MaxVelocity = 0.10000000149012
  798. o42.Name = "Left Shoulder"
  799. o42.Parent = o31
  800. o42.C0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  801. o42.C1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  802. o42.Part0 = o31
  803. o42.Part1 = o46
  804. o42.CurrentAngle = -0.0055708615109324
  805. o42.MaxVelocity = 0.10000000149012
  806. o43.Name = "Right Hip"
  807. o43.Parent = o31
  808. o43.C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  809. o43.C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  810. o43.Part0 = o31
  811. o43.Part1 = o54
  812. o43.MaxVelocity = 0.10000000149012
  813. o44.Name = "Left Hip"
  814. o44.Parent = o31
  815. o44.C0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  816. o44.C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  817. o44.Part0 = o31
  818. o44.Part1 = o52
  819. o44.MaxVelocity = 0.10000000149012
  820. o45.Name = "Neck"
  821. o45.Parent = o31
  822. o45.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  823. o45.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  824. o45.Part0 = o31
  825. o45.Part1 = o6
  826. o45.CurrentAngle = 0.0033947732299566
  827. o45.MaxVelocity = 0.10000000149012
  828. o46.Name = "Left Arm"
  829. o46.Parent = o5
  830. o46.BrickColor = BrickColor.new("Pastel brown")
  831. o46.Position = Vector3.new(2.87787318, 17.4596024, 5.35841894)
  832. o46.Rotation = Vector3.new(0.340000004, -22.4399986, 0.049999997)
  833. o46.CanCollide = false
  834. o46.Locked = true
  835. o46.FormFactor = Enum.FormFactor.Symmetric
  836. o46.Size = Vector3.new(1, 2, 1)
  837. o46.CFrame = CFrame.new(2.87787318, 17.4596024, 5.35841894, 0.924307168, -0.000812845305, -0.38164863, -0.00141419878, 0.999983549, -0.00555483857, 0.381646872, 0.0056741056, 0.924290895)
  838. o46.Color = Color3.new(1, 0.8, 0.6)
  839. o46.Position = Vector3.new(2.87787318, 17.4596024, 5.35841894)
  840. o49.Name = "Right Arm"
  841. o49.Parent = o5
  842. o49.BrickColor = BrickColor.new("Pastel brown")
  843. o49.Position = Vector3.new(5.67286825, 17.4916096, 6.45005751)
  844. o49.Rotation = Vector3.new(0.170000002, -20.9300003, 0.0700000003)
  845. o49.CanCollide = false
  846. o49.Locked = true
  847. o49.FormFactor = Enum.FormFactor.Symmetric
  848. o49.Size = Vector3.new(1, 2, 1)
  849. o49.CFrame = CFrame.new(5.67286825, 17.4916096, 6.45005751, 0.934021831, -0.00116504193, -0.357214272, 0.000176517278, 0.999996066, -0.00279990816, 0.35721615, 0.00255212141, 0.934018314)
  850. o49.Color = Color3.new(1, 0.8, 0.6)
  851. o49.Position = Vector3.new(5.67286825, 17.4916096, 6.45005751)
  852. o52.Name = "Left Leg"
  853. o52.Parent = o5
  854. o52.BrickColor = BrickColor.new("Pastel brown")
  855. o52.Position = Vector3.new(3.80603385, 15.4980507, 5.73224115)
  856. o52.Rotation = Vector3.new(0, -21.1199989, 0)
  857. o52.CanCollide = false
  858. o52.Locked = true
  859. o52.FormFactor = Enum.FormFactor.Symmetric
  860. o52.Size = Vector3.new(1, 2, 1)
  861. o52.CFrame = CFrame.new(3.80603385, 15.4980507, 5.73224115, 0.932827592, -3.32776828e-09, -0.36032322, 2.74978773e-09, 1, -2.11668638e-09, 0.36032322, 9.83691573e-10, 0.932827592)
  862. o52.BottomSurface = Enum.SurfaceType.Smooth
  863. o52.Color = Color3.new(1, 0.8, 0.6)
  864. o52.Position = Vector3.new(3.80603385, 15.4980507, 5.73224115)
  865. o54.Name = "Right Leg"
  866. o54.Parent = o5
  867. o54.BrickColor = BrickColor.new("Pastel brown")
  868. o54.Position = Vector3.new(4.73886156, 15.4974003, 6.09256411)
  869. o54.Rotation = Vector3.new(0, -21.1199989, 0)
  870. o54.CanCollide = false
  871. o54.Locked = true
  872. o54.FormFactor = Enum.FormFactor.Symmetric
  873. o54.Size = Vector3.new(1, 2, 1)
  874. o54.CFrame = CFrame.new(4.73886156, 15.4974003, 6.09256411, 0.932827592, -3.32776828e-09, -0.36032322, 2.74978773e-09, 1, -2.11668638e-09, 0.36032322, 9.83691573e-10, 0.932827592)
  875. o54.BottomSurface = Enum.SurfaceType.Smooth
  876. o54.Color = Color3.new(1, 0.8, 0.6)
  877. o54.Position = Vector3.new(4.73886156, 15.4974003, 6.09256411)
  878. o56.Parent = o5
  879. o56.RightLeg = o54
  880. o56.LeftLeg = o52
  881. o56.Torso = o59
  882. o59.Name = "HumanoidRootPart"
  883. o59.Parent = o5
  884. o59.Transparency = 1
  885. o59.Position = Vector3.new(4.27244759, 17.4983177, 5.91240263)
  886. o59.Rotation = Vector3.new(0, -21.1199989, 0)
  887. o59.CanCollide = false
  888. o59.Locked = true
  889. o59.FormFactor = Enum.FormFactor.Symmetric
  890. o59.Size = Vector3.new(2, 2, 1)
  891. o59.CFrame = CFrame.new(4.27244759, 17.4983177, 5.91240263, 0.932827592, -3.32776828e-09, -0.36032322, 2.74978773e-09, 1, -2.11668638e-09, 0.36032322, 9.83691573e-10, 0.932827592)
  892. o59.BottomSurface = Enum.SurfaceType.Smooth
  893. o59.TopSurface = Enum.SurfaceType.Smooth
  894. o59.Position = Vector3.new(4.27244759, 17.4983177, 5.91240263)
  895. o61.Name = "RootJoint"
  896. o61.Parent = o59
  897. o61.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  898. o61.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  899. o61.Part0 = o59
  900. o61.Part1 = o31
  901. o61.MaxVelocity = 0.10000000149012
  902. o62.Name = "Sound"
  903. o62.Parent = o5
  904.  
  905. runDummyScript(function()
  906. --[[
  907. Author: @spotco
  908. This script creates sounds which are placed under the character head.
  909. These sounds are used by the "LocalSound" script.
  910.  
  911. To modify this script, copy it to your "StarterPlayer/StarterCharacterScripts" folder keeping the same script name ("Sound").
  912. The default Sound script loaded for every character will then be replaced with your copy of the script.
  913. ]]--
  914. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  915. local Players = game:GetService("Players")
  916.  
  917. local SOUND_EVENT_FOLDER_NAME = "DefaultSoundEvents"
  918. local DEFAULT_SERVER_SOUND_EVENT_NAME = "DefaultServerSoundEvent"
  919.  
  920. local SoundEventFolder = ReplicatedStorage:FindFirstChild(SOUND_EVENT_FOLDER_NAME)
  921. local DefaultServerSoundEvent = nil
  922.  
  923. local useSoundDispatcher = UserSettings():IsUserFeatureEnabled("UserUseSoundDispatcher")
  924. if useSoundDispatcher then
  925. if not SoundEventFolder then
  926. SoundEventFolder = Instance.new("Folder")
  927. SoundEventFolder.Name = SOUND_EVENT_FOLDER_NAME
  928. SoundEventFolder.Archivable = false
  929. SoundEventFolder.Parent = ReplicatedStorage
  930. end
  931.  
  932. DefaultServerSoundEvent = SoundEventFolder:FindFirstChild(DEFAULT_SERVER_SOUND_EVENT_NAME)
  933. else
  934. DefaultServerSoundEvent = ReplicatedStorage:FindFirstChild(DEFAULT_SERVER_SOUND_EVENT_NAME)
  935. end
  936.  
  937. if not DefaultServerSoundEvent then
  938. if useSoundDispatcher then
  939. DefaultServerSoundEvent = Instance.new("RemoteEvent", SoundEventFolder)
  940. else
  941. DefaultServerSoundEvent = Instance.new("RemoteEvent", ReplicatedStorage)
  942. end
  943.  
  944. DefaultServerSoundEvent.Name = DEFAULT_SERVER_SOUND_EVENT_NAME
  945. DefaultServerSoundEvent.OnServerEvent:Connect(function() end)
  946. end
  947.  
  948. local function CreateNewSound(name, id, looped, pitch, parent)
  949. local sound = Instance.new("Sound")
  950. sound.SoundId = id
  951. sound.Name = name
  952. sound.archivable = false
  953. sound.Pitch = pitch
  954. sound.Looped = looped
  955. sound.MinDistance = 5
  956. sound.MaxDistance = 150
  957. sound.Volume = 0.65
  958. sound.Parent = parent
  959.  
  960. if DefaultServerSoundEvent then
  961. local CharacterSoundEvent = Instance.new("RemoteEvent", sound)
  962. CharacterSoundEvent.Name = "CharacterSoundEvent"
  963. CharacterSoundEvent.OnServerEvent:Connect(function(player, playing, resetPosition)
  964. if type(playing) ~= "boolean" then
  965. return
  966. end
  967. if type(resetPosition) ~= "boolean" then
  968. return
  969. end
  970.  
  971. if player.Character ~= script.Parent then
  972. return
  973. end
  974. for _, p in pairs(Players:GetPlayers()) do
  975. if p ~= player then
  976. -- Connect to the dispatcher to check if the player has loaded.
  977. if useSoundDispatcher then
  978. SoundEventFolder:FindFirstChild("SoundDispatcher"):Fire(p, sound, playing, resetPosition)
  979. else
  980. DefaultServerSoundEvent:FireClient(p, sound, playing, resetPosition)
  981. end
  982. end
  983. end
  984. end)
  985. end
  986. return sound
  987. end
  988.  
  989. local head = script.Parent:FindFirstChild("Head")
  990. if not head then
  991. error("Sound script parent has no child Head.")
  992. return
  993. end
  994.  
  995. CreateNewSound("GettingUp", "rbxasset://sounds/action_get_up.mp3", false, 1, head)
  996. CreateNewSound("Died", "rbxasset://sounds/uuhhh.mp3", false, 1, head)
  997. CreateNewSound("FreeFalling", "rbxasset://sounds/action_falling.mp3", true, 1, head)
  998. CreateNewSound("Jumping", "rbxasset://sounds/action_jump.mp3", false, 1, head)
  999. CreateNewSound("Landing", "rbxasset://sounds/action_jump_land.mp3", false, 1, head)
  1000. CreateNewSound("Splash", "rbxasset://sounds/impact_water.mp3", false, 1, head)
  1001. CreateNewSound("Running", "rbxasset://sounds/action_footsteps_plastic.mp3", true, 1.85, head)
  1002. CreateNewSound("Swimming", "rbxasset://sounds/action_swim.mp3", true, 1.6, head)
  1003. CreateNewSound("Climbing", "rbxasset://sounds/action_footsteps_plastic.mp3", true, 1, head)
  1004. end,o62)
  1005.  
  1006. o63.Name = "LocalSound"
  1007. o63.Parent = o62
  1008.  
  1009. runDummyScript(function()
  1010. --[[
  1011. Author: @spotco
  1012. This script runs locally for the player of the given humanoid.
  1013. This script triggers humanoid sound play/pause actions locally.
  1014.  
  1015. The Playing/TimePosition properties of Sound objects bypass FilteringEnabled, so this triggers the sound
  1016. immediately for the player and is replicated to all other players.
  1017.  
  1018. This script is optimized to reduce network traffic through minimizing the amount of property replication.
  1019. ]]--
  1020.  
  1021. --All sounds are referenced by this ID
  1022. local SFX = {
  1023. Died = 0;
  1024. Running = 1;
  1025. Swimming = 2;
  1026. Climbing = 3,
  1027. Jumping = 4;
  1028. GettingUp = 5;
  1029. FreeFalling = 6;
  1030. FallingDown = 7;
  1031. Landing = 8;
  1032. Splash = 9;
  1033. }
  1034.  
  1035. local useUpdatedLocalSoundFlag = UserSettings():IsUserFeatureEnabled("UserFixCharacterSoundIssues")
  1036.  
  1037. local Humanoid = nil
  1038. local Head = nil
  1039. --SFX ID to Sound object
  1040. local Sounds = {}
  1041. local SoundService = game:GetService("SoundService")
  1042. local soundEventFolderName = "DefaultSoundEvents"
  1043. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  1044. local AddCharacterLoadedEvent = nil
  1045. local RemoveCharacterEvent = nil
  1046. local soundEventFolder = ReplicatedStorage:FindFirstChild(soundEventFolderName)
  1047. local useSoundDispatcher = UserSettings():IsUserFeatureEnabled("UserUseSoundDispatcher")
  1048.  
  1049. if useSoundDispatcher then
  1050. if not soundEventFolder then
  1051. soundEventFolder = Instance.new("Folder", ReplicatedStorage)
  1052. soundEventFolder.Name = soundEventFolderName
  1053. soundEventFolder.Archivable = false
  1054. end
  1055.  
  1056. -- Load the RemoveCharacterEvent
  1057. RemoveCharacterEvent = soundEventFolder:FindFirstChild("RemoveCharacterEvent")
  1058. if RemoveCharacterEvent == nil then
  1059. RemoveCharacterEvent = Instance.new("RemoteEvent", soundEventFolder)
  1060. RemoveCharacterEvent.Name = "RemoveCharacterEvent"
  1061. end
  1062.  
  1063. AddCharacterLoadedEvent = soundEventFolder:FindFirstChild("AddCharacterLoadedEvent")
  1064. if AddCharacterLoadedEvent == nil then
  1065. AddCharacterLoadedEvent = Instance.new("RemoteEvent", soundEventFolder)
  1066. AddCharacterLoadedEvent.Name = "AddCharacterLoadedEvent"
  1067. end
  1068.  
  1069. -- Notify the server a new character has been loaded
  1070. AddCharacterLoadedEvent:FireServer()
  1071.  
  1072. -- Notify the sound dispatcher this character has left.
  1073. game.Players.LocalPlayer.CharacterRemoving:connect(function(character)
  1074. RemoveCharacterEvent:FireServer(game.Players.LocalPlayer)
  1075. end)
  1076. end
  1077.  
  1078. do
  1079. local Figure = script.Parent.Parent
  1080. Head = Figure:WaitForChild("Head")
  1081. while not Humanoid do
  1082. for _,NewHumanoid in pairs(Figure:GetChildren()) do
  1083. if NewHumanoid:IsA("Humanoid") then
  1084. Humanoid = NewHumanoid
  1085. break
  1086. end
  1087. end
  1088. if Humanoid then break end
  1089. Figure.ChildAdded:wait()
  1090. end
  1091. Sounds[SFX.Died] = Head:WaitForChild("Died")
  1092. Sounds[SFX.Running] = Head:WaitForChild("Running")
  1093. Sounds[SFX.Swimming] = Head:WaitForChild("Swimming")
  1094. Sounds[SFX.Climbing] = Head:WaitForChild("Climbing")
  1095. Sounds[SFX.Jumping] = Head:WaitForChild("Jumping")
  1096. Sounds[SFX.GettingUp] = Head:WaitForChild("GettingUp")
  1097. Sounds[SFX.FreeFalling] = Head:WaitForChild("FreeFalling")
  1098. Sounds[SFX.Landing] = Head:WaitForChild("Landing")
  1099. Sounds[SFX.Splash] = Head:WaitForChild("Splash")
  1100.  
  1101. local DefaultServerSoundEvent = nil
  1102. if useSoundDispatcher then
  1103. DefaultServerSoundEvent = soundEventFolder:FindFirstChild("DefaultServerSoundEvent")
  1104. else
  1105. DefaultServerSoundEvent = game:GetService("ReplicatedStorage"):FindFirstChild("DefaultServerSoundEvent")
  1106. end
  1107.  
  1108. if DefaultServerSoundEvent then
  1109. DefaultServerSoundEvent.OnClientEvent:connect(function(sound, playing, resetPosition)
  1110. if resetPosition and sound.TimePosition ~= 0 then
  1111. sound.TimePosition = 0
  1112. end
  1113. if sound.IsPlaying ~= playing then
  1114. sound.Playing = playing
  1115. end
  1116. end)
  1117. end
  1118. end
  1119.  
  1120. local IsSoundFilteringEnabled = function()
  1121. return game.Workspace.FilteringEnabled and SoundService.RespectFilteringEnabled
  1122. end
  1123.  
  1124. local Util
  1125. Util = {
  1126.  
  1127. --Define linear relationship between (pt1x,pt2x) and (pt2x,pt2y). Evaluate this at x.
  1128. YForLineGivenXAndTwoPts = function(x,pt1x,pt1y,pt2x,pt2y)
  1129. --(y - y1)/(x - x1) = m
  1130. local m = (pt1y - pt2y) / (pt1x - pt2x)
  1131. --float b = pt1.y - m * pt1.x;
  1132. local b = (pt1y - m * pt1x)
  1133. return m * x + b
  1134. end;
  1135.  
  1136. --Clamps the value of "val" between the "min" and "max"
  1137. Clamp = function(val,min,max)
  1138. return math.min(max,math.max(min,val))
  1139. end;
  1140.  
  1141. --Gets the horizontal (x,z) velocity magnitude of the given part
  1142. HorizontalSpeed = function(Head)
  1143. local hVel = Head.Velocity + Vector3.new(0,-Head.Velocity.Y,0)
  1144. return hVel.magnitude
  1145. end;
  1146.  
  1147. --Gets the vertical (y) velocity magnitude of the given part
  1148. VerticalSpeed = function(Head)
  1149. return math.abs(Head.Velocity.Y)
  1150. end;
  1151.  
  1152. --Setting Playing/TimePosition values directly result in less network traffic than Play/Pause/Resume/Stop
  1153. --If these properties are enabled, use them.
  1154. Play = function(sound)
  1155. if IsSoundFilteringEnabled() then
  1156. sound.CharacterSoundEvent:FireServer(true, true)
  1157. end
  1158. if sound.TimePosition ~= 0 then
  1159. sound.TimePosition = 0
  1160. end
  1161. if not sound.IsPlaying then
  1162. sound.Playing = true
  1163. end
  1164. end;
  1165.  
  1166. Pause = function(sound)
  1167. if IsSoundFilteringEnabled() then
  1168. sound.CharacterSoundEvent:FireServer(false, false)
  1169. end
  1170. if sound.IsPlaying then
  1171. sound.Playing = false
  1172. end
  1173. end;
  1174.  
  1175. Resume = function(sound)
  1176. if IsSoundFilteringEnabled() then
  1177. sound.CharacterSoundEvent:FireServer(true, false)
  1178. end
  1179. if not sound.IsPlaying then
  1180. sound.Playing = true
  1181. end
  1182. end;
  1183.  
  1184. Stop = function(sound)
  1185. if IsSoundFilteringEnabled() then
  1186. sound.CharacterSoundEvent:FireServer(false, true)
  1187. end
  1188. if sound.IsPlaying then
  1189. sound.Playing = false
  1190. end
  1191. if sound.TimePosition ~= 0 then
  1192. sound.TimePosition = 0
  1193. end
  1194. end;
  1195. }
  1196.  
  1197. do
  1198. -- List of all active Looped sounds
  1199. local playingLoopedSounds = {}
  1200.  
  1201. -- Last seen Enum.HumanoidStateType
  1202. local activeState = nil
  1203.  
  1204. local fallSpeed = 0
  1205.  
  1206. -- Verify and set that "sound" is in "playingLoopedSounds".
  1207. function setSoundInPlayingLoopedSounds(sound)
  1208. for i=1, #playingLoopedSounds do
  1209. if playingLoopedSounds[i] == sound then
  1210. return
  1211. end
  1212. end
  1213. table.insert(playingLoopedSounds,sound)
  1214. end
  1215.  
  1216. -- Stop all active looped sounds except parameter "except". If "except" is not passed, all looped sounds will be stopped.
  1217. function stopPlayingLoopedSoundsExcept(except)
  1218. for i=#playingLoopedSounds,1,-1 do
  1219. if playingLoopedSounds[i] ~= except then
  1220. Util.Pause(playingLoopedSounds[i])
  1221. table.remove(playingLoopedSounds,i)
  1222. end
  1223. end
  1224. end
  1225.  
  1226. -- Table of Enum.HumanoidStateType to handling function
  1227. local stateUpdateHandler = {
  1228. [Enum.HumanoidStateType.Dead] = function()
  1229. stopPlayingLoopedSoundsExcept()
  1230. local sound = Sounds[SFX.Died]
  1231. Util.Play(sound)
  1232. end;
  1233.  
  1234. [Enum.HumanoidStateType.RunningNoPhysics] = function(speed)
  1235. stateUpdated(Enum.HumanoidStateType.Running, speed)
  1236. end;
  1237.  
  1238. [Enum.HumanoidStateType.Running] = function(speed)
  1239. local sound = Sounds[SFX.Running]
  1240. stopPlayingLoopedSoundsExcept(sound)
  1241.  
  1242. if(useUpdatedLocalSoundFlag and activeState == Enum.HumanoidStateType.Freefall and fallSpeed > 0.1) then
  1243. -- Play a landing sound if the character dropped from a large distance
  1244. local vol = math.min(1.0, math.max(0.0, (fallSpeed - 50) / 110))
  1245. local freeFallSound = Sounds[SFX.FreeFalling]
  1246. freeFallSound.Volume = vol
  1247. Util.Play(freeFallSound)
  1248. fallSpeed = 0
  1249. end
  1250. if useUpdatedLocalSoundFlag then
  1251. if speed ~= nil and speed > 0.5 then
  1252. Util.Resume(sound)
  1253. setSoundInPlayingLoopedSounds(sound)
  1254. elseif speed ~= nil then
  1255. stopPlayingLoopedSoundsExcept()
  1256. end
  1257. else
  1258. if Util.HorizontalSpeed(Head) > 0.5 then
  1259. Util.Resume(sound)
  1260. setSoundInPlayingLoopedSounds(sound)
  1261. else
  1262. stopPlayingLoopedSoundsExcept()
  1263. end
  1264. end
  1265. end;
  1266.  
  1267. [Enum.HumanoidStateType.Swimming] = function(speed)
  1268. local threshold
  1269. if useUpdatedLocalSoundFlag then threshold = speed else threshold = Util.VerticalSpeed(Head) end
  1270. if activeState ~= Enum.HumanoidStateType.Swimming and threshold > 0.1 then
  1271. local splashSound = Sounds[SFX.Splash]
  1272. splashSound.Volume = Util.Clamp(
  1273. Util.YForLineGivenXAndTwoPts(
  1274. Util.VerticalSpeed(Head),
  1275. 100, 0.28,
  1276. 350, 1),
  1277. 0,1)
  1278. Util.Play(splashSound)
  1279. end
  1280.  
  1281. do
  1282. local sound = Sounds[SFX.Swimming]
  1283. stopPlayingLoopedSoundsExcept(sound)
  1284. Util.Resume(sound)
  1285. setSoundInPlayingLoopedSounds(sound)
  1286. end
  1287. end;
  1288.  
  1289. [Enum.HumanoidStateType.Climbing] = function(speed)
  1290. local sound = Sounds[SFX.Climbing]
  1291. if useUpdatedLocalSoundFlag then
  1292. if speed ~= nil and math.abs(speed) > 0.1 then
  1293. Util.Resume(sound)
  1294. stopPlayingLoopedSoundsExcept(sound)
  1295. else
  1296. Util.Pause(sound)
  1297. stopPlayingLoopedSoundsExcept(sound)
  1298. end
  1299. else
  1300. if Util.VerticalSpeed(Head) > 0.1 then
  1301. Util.Resume(sound)
  1302. stopPlayingLoopedSoundsExcept(sound)
  1303. else
  1304. stopPlayingLoopedSoundsExcept()
  1305. end
  1306. end
  1307.  
  1308. setSoundInPlayingLoopedSounds(sound)
  1309. end;
  1310.  
  1311. [Enum.HumanoidStateType.Jumping] = function()
  1312. if activeState == Enum.HumanoidStateType.Jumping then
  1313. return
  1314. end
  1315. stopPlayingLoopedSoundsExcept()
  1316. local sound = Sounds[SFX.Jumping]
  1317. Util.Play(sound)
  1318. end;
  1319.  
  1320. [Enum.HumanoidStateType.GettingUp] = function()
  1321. stopPlayingLoopedSoundsExcept()
  1322. local sound = Sounds[SFX.GettingUp]
  1323. Util.Play(sound)
  1324. end;
  1325.  
  1326. [Enum.HumanoidStateType.Freefall] = function()
  1327. if activeState == Enum.HumanoidStateType.Freefall then
  1328. return
  1329. end
  1330. local sound = Sounds[SFX.FreeFalling]
  1331. sound.Volume = 0
  1332. stopPlayingLoopedSoundsExcept()
  1333.  
  1334. fallSpeed = math.max(fallSpeed, math.abs(Head.Velocity.y))
  1335. end;
  1336.  
  1337. [Enum.HumanoidStateType.FallingDown] = function()
  1338. stopPlayingLoopedSoundsExcept()
  1339. end;
  1340.  
  1341. [Enum.HumanoidStateType.Landed] = function()
  1342. stopPlayingLoopedSoundsExcept()
  1343. if Util.VerticalSpeed(Head) > 75 then
  1344. local landingSound = Sounds[SFX.Landing]
  1345. landingSound.Volume = Util.Clamp(
  1346. Util.YForLineGivenXAndTwoPts(
  1347. Util.VerticalSpeed(Head),
  1348. 50, 0,
  1349. 100, 1),
  1350. 0,1)
  1351. Util.Play(landingSound)
  1352. end
  1353. end;
  1354.  
  1355. [Enum.HumanoidStateType.Seated] = function()
  1356. stopPlayingLoopedSoundsExcept()
  1357. end;
  1358. }
  1359.  
  1360.  
  1361.  
  1362. -- Handle state event fired or OnChange fired
  1363. function stateUpdated(state, speed)
  1364. if stateUpdateHandler[state] ~= nil then
  1365. if useUpdatedLocalSoundFlag and (state == Enum.HumanoidStateType.Running
  1366. or state == Enum.HumanoidStateType.Climbing
  1367. or state == Enum.HumanoidStateType.Swimming
  1368. or state == Enum.HumanoidStateType.RunningNoPhysics) then
  1369. stateUpdateHandler[state](speed)
  1370. else
  1371. stateUpdateHandler[state]()
  1372. end
  1373. end
  1374. activeState = state
  1375. end
  1376.  
  1377. Humanoid.Died:connect( function() stateUpdated(Enum.HumanoidStateType.Dead) end)
  1378. Humanoid.Running:connect( function(speed) stateUpdated(Enum.HumanoidStateType.Running, speed) end)
  1379. Humanoid.Swimming:connect( function(speed) stateUpdated(Enum.HumanoidStateType.Swimming, speed) end)
  1380. Humanoid.Climbing:connect( function(speed) stateUpdated(Enum.HumanoidStateType.Climbing, speed) end)
  1381. Humanoid.Jumping:connect( function() stateUpdated(Enum.HumanoidStateType.Jumping) end)
  1382. Humanoid.GettingUp:connect( function() stateUpdated(Enum.HumanoidStateType.GettingUp) end)
  1383. Humanoid.FreeFalling:connect( function() stateUpdated(Enum.HumanoidStateType.Freefall) end)
  1384. Humanoid.FallingDown:connect( function() stateUpdated(Enum.HumanoidStateType.FallingDown) end)
  1385.  
  1386.  
  1387.  
  1388. -- required for proper handling of Landed event
  1389.  
  1390. Humanoid.StateChanged:connect(function(old, new)
  1391. stateUpdated(new)
  1392. end)
  1393.  
  1394.  
  1395.  
  1396. function onUpdate(stepDeltaSeconds, tickSpeedSeconds)
  1397. local stepScale = stepDeltaSeconds / tickSpeedSeconds
  1398. do
  1399. local sound = Sounds[SFX.FreeFalling]
  1400. if activeState == Enum.HumanoidStateType.Freefall then
  1401. if Head.Velocity.Y < 0 and Util.VerticalSpeed(Head) > 75 then
  1402. Util.Resume(sound)
  1403.  
  1404. --Volume takes 1.1 seconds to go from volume 0 to 1
  1405. local ANIMATION_LENGTH_SECONDS = 1.1
  1406.  
  1407. local normalizedIncrement = tickSpeedSeconds / ANIMATION_LENGTH_SECONDS
  1408. sound.Volume = Util.Clamp(sound.Volume + normalizedIncrement * stepScale, 0, 1)
  1409. else
  1410. sound.Volume = 0
  1411. end
  1412. else
  1413. Util.Pause(sound)
  1414. end
  1415. end
  1416.  
  1417. do
  1418. local sound = Sounds[SFX.Running]
  1419. if activeState == Enum.HumanoidStateType.Running then
  1420. if Util.HorizontalSpeed(Head) < 0.5 then
  1421. Util.Pause(sound)
  1422. end
  1423. end
  1424. end
  1425. end
  1426.  
  1427.  
  1428. local lastTick = tick()
  1429. local TICK_SPEED_SECONDS = 0.25
  1430. while true do
  1431. onUpdate(tick() - lastTick,TICK_SPEED_SECONDS)
  1432. lastTick = tick()
  1433. wait(TICK_SPEED_SECONDS)
  1434. end
  1435.  
  1436. end
  1437.  
  1438. end,o63)
  1439.  
  1440. o64.Name = "Health"
  1441. o64.Parent = o5
  1442.  
  1443. runDummyScript(function()
  1444. -- Gradually regenerates the Humanoid's Health over time.
  1445.  
  1446. local REGEN_RATE = 1/100 -- Regenerate this fraction of MaxHealth per second.
  1447. local REGEN_STEP = 1 -- Wait this long between each regeneration step.
  1448.  
  1449. --------------------------------------------------------------------------------
  1450.  
  1451. local Character = script.Parent
  1452. local Humanoid = Character:WaitForChild'Humanoid'
  1453.  
  1454. --------------------------------------------------------------------------------
  1455.  
  1456. while true do
  1457. while Humanoid.Health < Humanoid.MaxHealth do
  1458. local dt = wait(REGEN_STEP)
  1459. local dh = dt*REGEN_RATE*Humanoid.MaxHealth
  1460. Humanoid.Health = math.min(Humanoid.Health + dh, Humanoid.MaxHealth)
  1461. end
  1462. Humanoid.HealthChanged:Wait()
  1463. end
  1464. end,o64)
  1465.  
  1466. o65.Name = "Animate"
  1467. o65.Parent = o5
  1468.  
  1469. runDummyScript(function()
  1470. local Figure = script.Parent
  1471. local Torso = Figure:WaitForChild("Torso")
  1472. local RightShoulder = Torso:WaitForChild("Right Shoulder")
  1473. local LeftShoulder = Torso:WaitForChild("Left Shoulder")
  1474. local RightHip = Torso:WaitForChild("Right Hip")
  1475. local LeftHip = Torso:WaitForChild("Left Hip")
  1476. local Neck = Torso:WaitForChild("Neck")
  1477. local Humanoid = Figure:WaitForChild("Humanoid")
  1478. local pose = "Standing"
  1479.  
  1480. local currentAnim = ""
  1481. local currentAnimInstance = nil
  1482. local currentAnimTrack = nil
  1483. local currentAnimKeyframeHandler = nil
  1484. local currentAnimSpeed = 1.0
  1485. local animTable = {}
  1486. local animNames = {
  1487. idle = {
  1488. { id = "http://www.roblox.com/asset/?id=180435571", weight = 9 },
  1489. { id = "http://www.roblox.com/asset/?id=180435792", weight = 1 }
  1490. },
  1491. walk = {
  1492. { id = "http://www.roblox.com/asset/?id=180426354", weight = 10 }
  1493. },
  1494. run = {
  1495. { id = "run.xml", weight = 10 }
  1496. },
  1497. jump = {
  1498. { id = "http://www.roblox.com/asset/?id=125750702", weight = 10 }
  1499. },
  1500. fall = {
  1501. { id = "http://www.roblox.com/asset/?id=180436148", weight = 10 }
  1502. },
  1503. climb = {
  1504. { id = "http://www.roblox.com/asset/?id=180436334", weight = 10 }
  1505. },
  1506. sit = {
  1507. { id = "http://www.roblox.com/asset/?id=178130996", weight = 10 }
  1508. },
  1509. toolnone = {
  1510. { id = "http://www.roblox.com/asset/?id=182393478", weight = 10 }
  1511. },
  1512. toolslash = {
  1513. { id = "http://www.roblox.com/asset/?id=129967390", weight = 10 }
  1514. -- { id = "slash.xml", weight = 10 }
  1515. },
  1516. toollunge = {
  1517. { id = "http://www.roblox.com/asset/?id=129967478", weight = 10 }
  1518. },
  1519. wave = {
  1520. { id = "http://www.roblox.com/asset/?id=128777973", weight = 10 }
  1521. },
  1522. point = {
  1523. { id = "http://www.roblox.com/asset/?id=128853357", weight = 10 }
  1524. },
  1525. dance1 = {
  1526. { id = "http://www.roblox.com/asset/?id=182435998", weight = 10 },
  1527. { id = "http://www.roblox.com/asset/?id=182491037", weight = 10 },
  1528. { id = "http://www.roblox.com/asset/?id=182491065", weight = 10 }
  1529. },
  1530. dance2 = {
  1531. { id = "http://www.roblox.com/asset/?id=182436842", weight = 10 },
  1532. { id = "http://www.roblox.com/asset/?id=182491248", weight = 10 },
  1533. { id = "http://www.roblox.com/asset/?id=182491277", weight = 10 }
  1534. },
  1535. dance3 = {
  1536. { id = "http://www.roblox.com/asset/?id=182436935", weight = 10 },
  1537. { id = "http://www.roblox.com/asset/?id=182491368", weight = 10 },
  1538. { id = "http://www.roblox.com/asset/?id=182491423", weight = 10 }
  1539. },
  1540. laugh = {
  1541. { id = "http://www.roblox.com/asset/?id=129423131", weight = 10 }
  1542. },
  1543. cheer = {
  1544. { id = "http://www.roblox.com/asset/?id=129423030", weight = 10 }
  1545. },
  1546. }
  1547. local dances = {"dance1", "dance2", "dance3"}
  1548.  
  1549. -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
  1550. local emoteNames = { wave = false, point = false, dance1 = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
  1551.  
  1552. function configureAnimationSet(name, fileList)
  1553. if (animTable[name] ~= nil) then
  1554. for _, connection in pairs(animTable[name].connections) do
  1555. connection:disconnect()
  1556. end
  1557. end
  1558. animTable[name] = {}
  1559. animTable[name].count = 0
  1560. animTable[name].totalWeight = 0
  1561. animTable[name].connections = {}
  1562.  
  1563. -- check for config values
  1564. local config = script:FindFirstChild(name)
  1565. if (config ~= nil) then
  1566. -- print("Loading anims " .. name)
  1567. table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
  1568. table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
  1569. local idx = 1
  1570. for _, childPart in pairs(config:GetChildren()) do
  1571. if (childPart:IsA("Animation")) then
  1572. table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
  1573. animTable[name][idx] = {}
  1574. animTable[name][idx].anim = childPart
  1575. local weightObject = childPart:FindFirstChild("Weight")
  1576. if (weightObject == nil) then
  1577. animTable[name][idx].weight = 1
  1578. else
  1579. animTable[name][idx].weight = weightObject.Value
  1580. end
  1581. animTable[name].count = animTable[name].count + 1
  1582. animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
  1583. -- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
  1584. idx = idx + 1
  1585. end
  1586. end
  1587. end
  1588.  
  1589. -- fallback to defaults
  1590. if (animTable[name].count <= 0) then
  1591. for idx, anim in pairs(fileList) do
  1592. animTable[name][idx] = {}
  1593. animTable[name][idx].anim = Instance.new("Animation")
  1594. animTable[name][idx].anim.Name = name
  1595. animTable[name][idx].anim.AnimationId = anim.id
  1596. animTable[name][idx].weight = anim.weight
  1597. animTable[name].count = animTable[name].count + 1
  1598. animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
  1599. -- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
  1600. end
  1601. end
  1602. end
  1603.  
  1604. -- Setup animation objects
  1605. function scriptChildModified(child)
  1606. local fileList = animNames[child.Name]
  1607. if (fileList ~= nil) then
  1608. configureAnimationSet(child.Name, fileList)
  1609. end
  1610. end
  1611.  
  1612. script.ChildAdded:connect(scriptChildModified)
  1613. script.ChildRemoved:connect(scriptChildModified)
  1614.  
  1615.  
  1616. for name, fileList in pairs(animNames) do
  1617. configureAnimationSet(name, fileList)
  1618. end
  1619.  
  1620. -- ANIMATION
  1621.  
  1622. -- declarations
  1623. local toolAnim = "None"
  1624. local toolAnimTime = 0
  1625.  
  1626. local jumpAnimTime = 0
  1627. local jumpAnimDuration = 0.3
  1628.  
  1629. local toolTransitionTime = 0.1
  1630. local fallTransitionTime = 0.3
  1631. local jumpMaxLimbVelocity = 0.75
  1632.  
  1633. -- functions
  1634.  
  1635. function stopAllAnimations()
  1636. local oldAnim = currentAnim
  1637.  
  1638. -- return to idle if finishing an emote
  1639. if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
  1640. oldAnim = "idle"
  1641. end
  1642.  
  1643. currentAnim = ""
  1644. currentAnimInstance = nil
  1645. if (currentAnimKeyframeHandler ~= nil) then
  1646. currentAnimKeyframeHandler:disconnect()
  1647. end
  1648.  
  1649. if (currentAnimTrack ~= nil) then
  1650. currentAnimTrack:Stop()
  1651. currentAnimTrack:Destroy()
  1652. currentAnimTrack = nil
  1653. end
  1654. return oldAnim
  1655. end
  1656.  
  1657. function setAnimationSpeed(speed)
  1658. if speed ~= currentAnimSpeed then
  1659. currentAnimSpeed = speed
  1660. currentAnimTrack:AdjustSpeed(currentAnimSpeed)
  1661. end
  1662. end
  1663.  
  1664. function keyFrameReachedFunc(frameName)
  1665. if (frameName == "End") then
  1666.  
  1667. local repeatAnim = currentAnim
  1668. -- return to idle if finishing an emote
  1669. if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
  1670. repeatAnim = "idle"
  1671. end
  1672.  
  1673. local animSpeed = currentAnimSpeed
  1674. playAnimation(repeatAnim, 0.0, Humanoid)
  1675. setAnimationSpeed(animSpeed)
  1676. end
  1677. end
  1678.  
  1679. -- Preload animations
  1680. function playAnimation(animName, transitionTime, humanoid)
  1681.  
  1682. local roll = math.random(1, animTable[animName].totalWeight)
  1683. local origRoll = roll
  1684. local idx = 1
  1685. while (roll > animTable[animName][idx].weight) do
  1686. roll = roll - animTable[animName][idx].weight
  1687. idx = idx + 1
  1688. end
  1689. -- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
  1690. local anim = animTable[animName][idx].anim
  1691.  
  1692. -- switch animation
  1693. if (anim ~= currentAnimInstance) then
  1694.  
  1695. if (currentAnimTrack ~= nil) then
  1696. currentAnimTrack:Stop(transitionTime)
  1697. currentAnimTrack:Destroy()
  1698. end
  1699.  
  1700. currentAnimSpeed = 1.0
  1701.  
  1702. -- load it to the humanoid; get AnimationTrack
  1703. currentAnimTrack = humanoid:LoadAnimation(anim)
  1704. currentAnimTrack.Priority = Enum.AnimationPriority.Core
  1705.  
  1706. -- play the animation
  1707. currentAnimTrack:Play(transitionTime)
  1708. currentAnim = animName
  1709. currentAnimInstance = anim
  1710.  
  1711. -- set up keyframe name triggers
  1712. if (currentAnimKeyframeHandler ~= nil) then
  1713. currentAnimKeyframeHandler:disconnect()
  1714. end
  1715. currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
  1716.  
  1717. end
  1718.  
  1719. end
  1720.  
  1721. -------------------------------------------------------------------------------------------
  1722. -------------------------------------------------------------------------------------------
  1723.  
  1724. local toolAnimName = ""
  1725. local toolAnimTrack = nil
  1726. local toolAnimInstance = nil
  1727. local currentToolAnimKeyframeHandler = nil
  1728.  
  1729. function toolKeyFrameReachedFunc(frameName)
  1730. if (frameName == "End") then
  1731. -- print("Keyframe : ".. frameName)
  1732. playToolAnimation(toolAnimName, 0.0, Humanoid)
  1733. end
  1734. end
  1735.  
  1736.  
  1737. function playToolAnimation(animName, transitionTime, humanoid, priority)
  1738.  
  1739. local roll = math.random(1, animTable[animName].totalWeight)
  1740. local origRoll = roll
  1741. local idx = 1
  1742. while (roll > animTable[animName][idx].weight) do
  1743. roll = roll - animTable[animName][idx].weight
  1744. idx = idx + 1
  1745. end
  1746. -- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
  1747. local anim = animTable[animName][idx].anim
  1748.  
  1749. if (toolAnimInstance ~= anim) then
  1750.  
  1751. if (toolAnimTrack ~= nil) then
  1752. toolAnimTrack:Stop()
  1753. toolAnimTrack:Destroy()
  1754. transitionTime = 0
  1755. end
  1756.  
  1757. -- load it to the humanoid; get AnimationTrack
  1758. toolAnimTrack = humanoid:LoadAnimation(anim)
  1759. if priority then
  1760. toolAnimTrack.Priority = priority
  1761. end
  1762.  
  1763. -- play the animation
  1764. toolAnimTrack:Play(transitionTime)
  1765. toolAnimName = animName
  1766. toolAnimInstance = anim
  1767.  
  1768. currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
  1769. end
  1770. end
  1771.  
  1772. function stopToolAnimations()
  1773. local oldAnim = toolAnimName
  1774.  
  1775. if (currentToolAnimKeyframeHandler ~= nil) then
  1776. currentToolAnimKeyframeHandler:disconnect()
  1777. end
  1778.  
  1779. toolAnimName = ""
  1780. toolAnimInstance = nil
  1781. if (toolAnimTrack ~= nil) then
  1782. toolAnimTrack:Stop()
  1783. toolAnimTrack:Destroy()
  1784. toolAnimTrack = nil
  1785. end
  1786.  
  1787.  
  1788. return oldAnim
  1789. end
  1790.  
  1791. -------------------------------------------------------------------------------------------
  1792. -------------------------------------------------------------------------------------------
  1793.  
  1794.  
  1795. function onRunning(speed)
  1796. if speed > 0.01 then
  1797. playAnimation("walk", 0.1, Humanoid)
  1798. if currentAnimInstance and currentAnimInstance.AnimationId == "http://www.roblox.com/asset/?id=180426354" then
  1799. setAnimationSpeed(speed / 14.5)
  1800. end
  1801. pose = "Running"
  1802. else
  1803. if emoteNames[currentAnim] == nil then
  1804. playAnimation("idle", 0.1, Humanoid)
  1805. pose = "Standing"
  1806. end
  1807. end
  1808. end
  1809.  
  1810. function onDied()
  1811. pose = "Dead"
  1812. end
  1813.  
  1814. function onJumping()
  1815. playAnimation("jump", 0.1, Humanoid)
  1816. jumpAnimTime = jumpAnimDuration
  1817. pose = "Jumping"
  1818. end
  1819.  
  1820. function onClimbing(speed)
  1821. playAnimation("climb", 0.1, Humanoid)
  1822. setAnimationSpeed(speed / 12.0)
  1823. pose = "Climbing"
  1824. end
  1825.  
  1826. function onGettingUp()
  1827. pose = "GettingUp"
  1828. end
  1829.  
  1830. function onFreeFall()
  1831. if (jumpAnimTime <= 0) then
  1832. playAnimation("fall", fallTransitionTime, Humanoid)
  1833. end
  1834. pose = "FreeFall"
  1835. end
  1836.  
  1837. function onFallingDown()
  1838. pose = "FallingDown"
  1839. end
  1840.  
  1841. function onSeated()
  1842. pose = "Seated"
  1843. end
  1844.  
  1845. function onPlatformStanding()
  1846. pose = "PlatformStanding"
  1847. end
  1848.  
  1849. function onSwimming(speed)
  1850. if speed > 0 then
  1851. pose = "Running"
  1852. else
  1853. pose = "Standing"
  1854. end
  1855. end
  1856.  
  1857. function getTool()
  1858. for _, kid in ipairs(Figure:GetChildren()) do
  1859. if kid.className == "Tool" then return kid end
  1860. end
  1861. return nil
  1862. end
  1863.  
  1864. function getToolAnim(tool)
  1865. for _, c in ipairs(tool:GetChildren()) do
  1866. if c.Name == "toolanim" and c.className == "StringValue" then
  1867. return c
  1868. end
  1869. end
  1870. return nil
  1871. end
  1872.  
  1873. function animateTool()
  1874.  
  1875. if (toolAnim == "None") then
  1876. playToolAnimation("toolnone", toolTransitionTime, Humanoid, Enum.AnimationPriority.Idle)
  1877. return
  1878. end
  1879.  
  1880. if (toolAnim == "Slash") then
  1881. playToolAnimation("toolslash", 0, Humanoid, Enum.AnimationPriority.Action)
  1882. return
  1883. end
  1884.  
  1885. if (toolAnim == "Lunge") then
  1886. playToolAnimation("toollunge", 0, Humanoid, Enum.AnimationPriority.Action)
  1887. return
  1888. end
  1889. end
  1890.  
  1891. function moveSit()
  1892. RightShoulder.MaxVelocity = 0.15
  1893. LeftShoulder.MaxVelocity = 0.15
  1894. RightShoulder:SetDesiredAngle(3.14 /2)
  1895. LeftShoulder:SetDesiredAngle(-3.14 /2)
  1896. RightHip:SetDesiredAngle(3.14 /2)
  1897. LeftHip:SetDesiredAngle(-3.14 /2)
  1898. end
  1899.  
  1900. local lastTick = 0
  1901.  
  1902. function move(time)
  1903. local amplitude = 1
  1904. local frequency = 1
  1905. local deltaTime = time - lastTick
  1906. lastTick = time
  1907.  
  1908. local climbFudge = 0
  1909. local setAngles = false
  1910.  
  1911. if (jumpAnimTime > 0) then
  1912. jumpAnimTime = jumpAnimTime - deltaTime
  1913. end
  1914.  
  1915. if (pose == "FreeFall" and jumpAnimTime <= 0) then
  1916. playAnimation("fall", fallTransitionTime, Humanoid)
  1917. elseif (pose == "Seated") then
  1918. playAnimation("sit", 0.5, Humanoid)
  1919. return
  1920. elseif (pose == "Running") then
  1921. playAnimation("walk", 0.1, Humanoid)
  1922. elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
  1923. -- print("Wha " .. pose)
  1924. stopAllAnimations()
  1925. amplitude = 0.1
  1926. frequency = 1
  1927. setAngles = true
  1928. end
  1929.  
  1930. if (setAngles) then
  1931. local desiredAngle = amplitude * math.sin(time * frequency)
  1932.  
  1933. RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
  1934. LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
  1935. RightHip:SetDesiredAngle(-desiredAngle)
  1936. LeftHip:SetDesiredAngle(-desiredAngle)
  1937. end
  1938.  
  1939. -- Tool Animation handling
  1940. local tool = getTool()
  1941. if tool and tool:FindFirstChild("Handle") then
  1942.  
  1943. local animStringValueObject = getToolAnim(tool)
  1944.  
  1945. if animStringValueObject then
  1946. toolAnim = animStringValueObject.Value
  1947. -- message recieved, delete StringValue
  1948. animStringValueObject.Parent = nil
  1949. toolAnimTime = time + .3
  1950. end
  1951.  
  1952. if time > toolAnimTime then
  1953. toolAnimTime = 0
  1954. toolAnim = "None"
  1955. end
  1956.  
  1957. animateTool()
  1958. else
  1959. stopToolAnimations()
  1960. toolAnim = "None"
  1961. toolAnimInstance = nil
  1962. toolAnimTime = 0
  1963. end
  1964. end
  1965.  
  1966. -- connect events
  1967. Humanoid.Died:connect(onDied)
  1968. Humanoid.Running:connect(onRunning)
  1969. Humanoid.Jumping:connect(onJumping)
  1970. Humanoid.Climbing:connect(onClimbing)
  1971. Humanoid.GettingUp:connect(onGettingUp)
  1972. Humanoid.FreeFalling:connect(onFreeFall)
  1973. Humanoid.FallingDown:connect(onFallingDown)
  1974. Humanoid.Seated:connect(onSeated)
  1975. Humanoid.PlatformStanding:connect(onPlatformStanding)
  1976. Humanoid.Swimming:connect(onSwimming)
  1977.  
  1978. -- setup emote chat hook
  1979. game:GetService("Players").LocalPlayer.Chatted:connect(function(msg)
  1980. local emote = ""
  1981. if msg == "/e dance" then
  1982. emote = dances[math.random(1, #dances)]
  1983. elseif (string.sub(msg, 1, 3) == "/e ") then
  1984. emote = string.sub(msg, 4)
  1985. elseif (string.sub(msg, 1, 7) == "/emote ") then
  1986. emote = string.sub(msg, 8)
  1987. end
  1988.  
  1989. if (pose == "Standing" and emoteNames[emote] ~= nil) then
  1990. playAnimation(emote, 0.1, Humanoid)
  1991. end
  1992.  
  1993. end)
  1994.  
  1995.  
  1996. -- main program
  1997.  
  1998. -- initialize to idle
  1999. playAnimation("idle", 0.1, Humanoid)
  2000. pose = "Standing"
  2001.  
  2002. while Figure.Parent ~= nil do
  2003. local _, time = wait(0.1)
  2004. move(time)
  2005. end
  2006.  
  2007.  
  2008.  
  2009. end,o65)
  2010.  
  2011. o66.Name = "idle"
  2012. o66.Parent = o65
  2013. o67.Name = "Animation1"
  2014. o67.Parent = o66
  2015. o67.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  2016. o68.Name = "Weight"
  2017. o68.Parent = o67
  2018. o68.Value = 9
  2019. o69.Name = "Animation2"
  2020. o69.Parent = o66
  2021. o69.AnimationId = "http://www.roblox.com/asset/?id=180435792"
  2022. o70.Name = "Weight"
  2023. o70.Parent = o69
  2024. o70.Value = 1
  2025. o71.Name = "walk"
  2026. o71.Parent = o65
  2027. o72.Name = "WalkAnim"
  2028. o72.Parent = o71
  2029. o72.AnimationId = "http://www.roblox.com/asset/?id=180426354"
  2030. o73.Name = "run"
  2031. o73.Parent = o65
  2032. o74.Name = "RunAnim"
  2033. o74.Parent = o73
  2034. o74.AnimationId = "http://www.roblox.com/asset/?id=180426354"
  2035. o75.Name = "jump"
  2036. o75.Parent = o65
  2037. o76.Name = "JumpAnim"
  2038. o76.Parent = o75
  2039. o76.AnimationId = "http://www.roblox.com/asset/?id=125750702"
  2040. o77.Name = "climb"
  2041. o77.Parent = o65
  2042. o78.Name = "ClimbAnim"
  2043. o78.Parent = o77
  2044. o78.AnimationId = "http://www.roblox.com/asset/?id=180436334"
  2045. o79.Name = "toolnone"
  2046. o79.Parent = o65
  2047. o80.Name = "ToolNoneAnim"
  2048. o80.Parent = o79
  2049. o80.AnimationId = "http://www.roblox.com/asset/?id=182393478"
  2050. o81.Name = "fall"
  2051. o81.Parent = o65
  2052. o82.Name = "FallAnim"
  2053. o82.Parent = o81
  2054. o82.AnimationId = "http://www.roblox.com/asset/?id=180436148"
  2055. o83.Name = "sit"
  2056. o83.Parent = o65
  2057. o84.Name = "SitAnim"
  2058. o84.Parent = o83
  2059. o84.AnimationId = "http://www.roblox.com/asset/?id=178130996"
  2060. o85.Name = "ScaleDampeningPercent"
  2061. o85.Parent = o65
  2062. o85.Value = 0.39999997615814
  2063. o86.Parent = o5
  2064. o86.HeadColor = BrickColor.new("Pastel brown")
  2065. o86.LeftArmColor = BrickColor.new("Pastel brown")
  2066. o86.LeftLegColor = BrickColor.new("Pastel brown")
  2067. o86.RightArmColor = BrickColor.new("Pastel brown")
  2068. o86.RightLegColor = BrickColor.new("Pastel brown")
  2069. o86.TorsoColor = BrickColor.new("Pastel brown")
  2070. o87.Name = "Pants"
  2071. o87.Parent = o5
  2072. o87.PantsTemplate = "http://www.roblox.com/asset/?id=1439542143"
  2073. o89.Name = "Handle"
  2074. o89.Parent = mas
  2075. o89.Position = Vector3.new(4.26113749, 19.3688087, 5.9416008)
  2076. o89.Rotation = Vector3.new(0.409999996, -21.1899986, 0.149999991)
  2077. o89.CanCollide = false
  2078. o89.Locked = true
  2079. o89.FormFactor = Enum.FormFactor.Custom
  2080. o89.Size = Vector3.new(1.45002651, 2.35999823, 1.24000001)
  2081. o89.CFrame = CFrame.new(4.26113749, 19.3688087, 5.9416008, 0.932404339, -0.00241823541, -0.361408919, -7.89341357e-06, 0.999977529, -0.00671136798, 0.361416966, 0.00626056409, 0.932383358)
  2082. o89.BottomSurface = Enum.SurfaceType.Smooth
  2083. o89.TopSurface = Enum.SurfaceType.Smooth
  2084. o89.Position = Vector3.new(4.26113749, 19.3688087, 5.9416008)
  2085. o90.Parent = o89
  2086. o90.MeshId = "http://www.roblox.com/asset/?id=188565062 "
  2087. o90.TextureId = "http://www.roblox.com/asset/?id=188565095 "
  2088. o90.MeshType = Enum.MeshType.FileMesh
  2089. o92.Name = "OriginalSize"
  2090. o92.Parent = o89
  2091. o92.Value = Vector3.new(1.45002651, 2.35999823, 1.24000001)
  2092. o93.Name = "AccessoryWeld"
  2093. o93.Parent = o89
  2094. o93.C0 = CFrame.new(8.65748007e-09, 0.199999809, -0.0252722446, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  2095. o93.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  2096. o93.Part0 = o89
  2097. o93.Part1 = o6
  2098. o94.Name = "Shirt"
  2099. o94.Parent = o5
  2100. o94.ShirtTemplate = "http://www.roblox.com/asset/?id=1439532842"
  2101. o95.Name = "Compiled scripts"
  2102. o95.Parent = mas
  2103. o96.Name = "CScript1"
  2104. o96.Parent = o95
  2105. o96.Disabled = true
  2106.  
  2107. runDummyScript(function()
  2108. --Created by PenguinAnonymous (ttyyuu12345) Editied by Dittoide
  2109. --What's Added To M2S with Dittoide's Edit?
  2110. --/ Better dummy script function to improve compatibility (makes it like you are running the code inside the script.)
  2111. --/ Removed Gui In Bottom-Left for when you are making guis.
  2112. --/ Removed "Inserting Map Please Wait" gui when selected Workspace as Place to export.
  2113. --Credit: PenguinAnonymous for making original script, i just wanted to iron it out to my liking.
  2114. --Errors: Camera,Terrain,Attachment,Status,Animator,Accessory
  2115. local runDummyScript = function(f,scri)
  2116. if (not scri:IsA('Script')) or (not scri:IsA('LocalScript')) then return false; end;
  2117. local Dummy_CoRoutine = coroutine.create(function()
  2118. getfenv().script = scri
  2119. ypcall(function() f() end)
  2120. end)
  2121. table.insert(cors,Dummy_CoRoutine);
  2122. coroutine.resume(Dummy_CoRoutine);
  2123. end
  2124. cors = {}
  2125. mas = Instance.new("Model",game:GetService("Lighting"))
  2126. mas.Name = "M2S_Model"
  2127. o3 = Instance.new("Model")
  2128. o4 = Instance.new("Script")
  2129. o5 = Instance.new("Model")
  2130. o6 = Instance.new("Model")
  2131. o7 = Instance.new("Part")
  2132. o8 = Instance.new("SpecialMesh")
  2133. o9 = Instance.new("Part")
  2134. o10 = Instance.new("Part")
  2135. o11 = Instance.new("Part")
  2136. o12 = Instance.new("Part")
  2137. o13 = Instance.new("Part")
  2138. o14 = Instance.new("Model")
  2139. o15 = Instance.new("Part")
  2140. o16 = Instance.new("SpecialMesh")
  2141. o21 = Instance.new("Sound")
  2142. o22 = Instance.new("RemoteEvent")
  2143. o23 = Instance.new("Sound")
  2144. o24 = Instance.new("RemoteEvent")
  2145. o25 = Instance.new("Sound")
  2146. o26 = Instance.new("RemoteEvent")
  2147. o27 = Instance.new("Sound")
  2148. o28 = Instance.new("RemoteEvent")
  2149. o29 = Instance.new("Sound")
  2150. o30 = Instance.new("RemoteEvent")
  2151. o31 = Instance.new("Sound")
  2152. o32 = Instance.new("RemoteEvent")
  2153. o33 = Instance.new("Sound")
  2154. o34 = Instance.new("RemoteEvent")
  2155. o35 = Instance.new("Sound")
  2156. o36 = Instance.new("RemoteEvent")
  2157. o37 = Instance.new("Sound")
  2158. o38 = Instance.new("RemoteEvent")
  2159. o39 = Instance.new("Decal")
  2160. o40 = Instance.new("Part")
  2161. o41 = Instance.new("Decal")
  2162. o50 = Instance.new("Motor6D")
  2163. o51 = Instance.new("Motor6D")
  2164. o52 = Instance.new("Motor6D")
  2165. o53 = Instance.new("Motor6D")
  2166. o54 = Instance.new("Motor6D")
  2167. o55 = Instance.new("Part")
  2168. o58 = Instance.new("Part")
  2169. o61 = Instance.new("Part")
  2170. o63 = Instance.new("Part")
  2171. o65 = Instance.new("Humanoid")
  2172. o68 = Instance.new("Part")
  2173. o70 = Instance.new("Motor6D")
  2174. o71 = Instance.new("Script")
  2175. o72 = Instance.new("LocalScript")
  2176. o73 = Instance.new("Script")
  2177. o74 = Instance.new("LocalScript")
  2178. o75 = Instance.new("StringValue")
  2179. o76 = Instance.new("Animation")
  2180. o77 = Instance.new("NumberValue")
  2181. o78 = Instance.new("Animation")
  2182. o79 = Instance.new("NumberValue")
  2183. o80 = Instance.new("StringValue")
  2184. o81 = Instance.new("Animation")
  2185. o82 = Instance.new("StringValue")
  2186. o83 = Instance.new("Animation")
  2187. o84 = Instance.new("StringValue")
  2188. o85 = Instance.new("Animation")
  2189. o86 = Instance.new("StringValue")
  2190. o87 = Instance.new("Animation")
  2191. o88 = Instance.new("StringValue")
  2192. o89 = Instance.new("Animation")
  2193. o90 = Instance.new("StringValue")
  2194. o91 = Instance.new("Animation")
  2195. o92 = Instance.new("StringValue")
  2196. o93 = Instance.new("Animation")
  2197. o94 = Instance.new("NumberValue")
  2198. o95 = Instance.new("BodyColors")
  2199. o96 = Instance.new("Pants")
  2200. o98 = Instance.new("Part")
  2201. o99 = Instance.new("SpecialMesh")
  2202. o101 = Instance.new("Vector3Value")
  2203. o102 = Instance.new("Weld")
  2204. o103 = Instance.new("Shirt")
  2205. o3.Name = "Compiled scripts"
  2206. o3.Parent = mas
  2207. o4.Name = "CScript1"
  2208. o4.Parent = o3
  2209. o4.Disabled = true
  2210.  
  2211. runDummyScript(function()
  2212. --Created by PenguinAnonymous (ttyyuu12345) Editied by Dittoide
  2213. --What's Added To M2S with Dittoide's Edit?
  2214. --/ Better dummy script function to improve compatibility (makes it like you are running the code inside the script.)
  2215. --/ Removed Gui In Bottom-Left for when you are making guis.
  2216. --/ Removed "Inserting Map Please Wait" gui when selected Workspace as Place to export.
  2217. --Credit: PenguinAnonymous for making original script, i just wanted to iron it out to my liking.
  2218. --Errors: Camera,Terrain
  2219. local runDummyScript = function(f,scri)
  2220. if (not scri:IsA('Script')) or (not scri:IsA('LocalScript')) then return false; end;
  2221. local Dummy_CoRoutine = coroutine.create(function()
  2222. getfenv().script = scri
  2223. ypcall(function() f() end)
  2224. end)
  2225. table.insert(cors,Dummy_CoRoutine);
  2226. coroutine.resume(Dummy_CoRoutine);
  2227. end
  2228. cors = {}
  2229. mas = Instance.new("Model",game:GetService("Lighting"))
  2230. mas.Name = "M2S_Model"
  2231. o3 = Instance.new("Model")
  2232. o4 = Instance.new("Part")
  2233. o5 = Instance.new("SpecialMesh")
  2234. o6 = Instance.new("Part")
  2235. o7 = Instance.new("Part")
  2236. o8 = Instance.new("Part")
  2237. o9 = Instance.new("Part")
  2238. o10 = Instance.new("Part")
  2239. o3.Parent = mas
  2240. o4.Parent = o3
  2241. o4.BrickColor = BrickColor.new("Dark stone grey")
  2242. o4.Transparency = 0.30000001192093
  2243. o4.Position = Vector3.new(-19.7996979, 32.7543106, 52)
  2244. o4.Rotation = Vector3.new(-86.5400009, 29.9599991, -1.73000002)
  2245. o4.Size = Vector3.new(4, 2.4000001, 2)
  2246. o4.CFrame = CFrame.new(-19.7996979, 32.7543106, 52, 0.865938365, 0.0261758789, 0.499465615, -0.500151098, 0.0453196988, 0.864751697, 1.86264537e-09, -0.998629689, 0.052335944)
  2247. o4.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2248. o4.Position = Vector3.new(-19.7996979, 32.7543106, 52)
  2249. o5.Parent = o4
  2250. o5.MeshId = "http://www.roblox.com/asset/?id=12221720"
  2251. o5.Scale = Vector3.new(4, 4, 4)
  2252. o5.MeshType = Enum.MeshType.FileMesh
  2253. o6.Parent = o3
  2254. o6.BrickColor = BrickColor.new("Dark stone grey")
  2255. o6.Position = Vector3.new(-26, 21.7224236, 51)
  2256. o6.Rotation = Vector3.new(-90, -59.9899979, 90)
  2257. o6.Size = Vector3.new(4, 9.60000038, 4)
  2258. o6.CFrame = CFrame.new(-26, 21.7224236, 51, 0, -0.500150919, -0.865937889, 0, -0.865937889, 0.500150919, -1, 0, 0)
  2259. o6.BottomSurface = Enum.SurfaceType.Smooth
  2260. o6.TopSurface = Enum.SurfaceType.Smooth
  2261. o6.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2262. o6.Position = Vector3.new(-26, 21.7224236, 51)
  2263. o7.Parent = o3
  2264. o7.BrickColor = BrickColor.new("Dark stone grey")
  2265. o7.Position = Vector3.new(-32, 16.7224045, 51)
  2266. o7.Rotation = Vector3.new(0, 90, 0)
  2267. o7.Size = Vector3.new(4, 9.60000038, 8)
  2268. o7.CFrame = CFrame.new(-32, 16.7224045, 51, -0, 0, 1, -0, 1, 0, -1, 0, 0)
  2269. o7.TopSurface = Enum.SurfaceType.Smooth
  2270. o7.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2271. o7.Position = Vector3.new(-32, 16.7224045, 51)
  2272. o8.Parent = o3
  2273. o8.BrickColor = BrickColor.new("Dark stone grey")
  2274. o8.Position = Vector3.new(-39.0000038, 17.5224171, 51)
  2275. o8.Rotation = Vector3.new(90, 69, -90)
  2276. o8.Size = Vector3.new(4, 9.60000038, 4)
  2277. o8.CFrame = CFrame.new(-39.0000038, 17.5224171, 51, 0, 0.358368039, 0.933580935, 0, 0.933580935, -0.358368039, -1, 0, 0)
  2278. o8.BottomSurface = Enum.SurfaceType.Smooth
  2279. o8.TopSurface = Enum.SurfaceType.Smooth
  2280. o8.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2281. o8.Position = Vector3.new(-39.0000038, 17.5224171, 51)
  2282. o9.Parent = o3
  2283. o9.BrickColor = BrickColor.new("Dark stone grey")
  2284. o9.Position = Vector3.new(-29, 7.72241306, 51)
  2285. o9.Rotation = Vector3.new(-90, 75, 90)
  2286. o9.Size = Vector3.new(4, 10.8000002, 4)
  2287. o9.CFrame = CFrame.new(-29, 7.72241306, 51, 0, -0.258819133, 0.96592629, 0, 0.96592629, 0.258819133, -1, 0, 0)
  2288. o9.TopSurface = Enum.SurfaceType.Smooth
  2289. o9.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2290. o9.Position = Vector3.new(-29, 7.72241306, 51)
  2291. o10.Parent = o3
  2292. o10.BrickColor = BrickColor.new("Dark stone grey")
  2293. o10.Position = Vector3.new(-34, 7.12241077, 51)
  2294. o10.Rotation = Vector3.new(0, 90, 0)
  2295. o10.Size = Vector3.new(4, 9.60000038, 4)
  2296. o10.CFrame = CFrame.new(-34, 7.12241077, 51, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  2297. o10.TopSurface = Enum.SurfaceType.Smooth
  2298. o10.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2299. o10.Position = Vector3.new(-34, 7.12241077, 51)
  2300. mas.Parent = workspace
  2301. mas:MakeJoints()
  2302. local mas1 = mas:GetChildren()
  2303. for i=1,#mas1 do
  2304. mas1[i].Parent = workspace
  2305. ypcall(function() mas1[i]:MakeJoints() end)
  2306. end
  2307. mas:Destroy()
  2308. for i=1,#cors do
  2309. coroutine.resume(cors[i])
  2310. end
  2311. mess_handle.Text = "Resetting"
  2312. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  2313. v:LoadCharacter()
  2314. end
  2315. wait(1)
  2316. mess_handle:Remove()
  2317.  
  2318. end,o4)
  2319.  
  2320. o5.Parent = mas
  2321. o6.Parent = o5
  2322. o7.Parent = o6
  2323. o7.BrickColor = BrickColor.new("Dark stone grey")
  2324. o7.Transparency = 0.30000001192093
  2325. o7.Position = Vector3.new(-19.7996979, 32.7543106, 52)
  2326. o7.Rotation = Vector3.new(-86.5400009, 29.9599991, -1.73000002)
  2327. o7.Anchored = true
  2328. o7.Size = Vector3.new(4, 2.4000001, 2)
  2329. o7.CFrame = CFrame.new(-19.7996979, 32.7543106, 52, 0.865948319, 0.0261648297, 0.499448657, -0.500133574, 0.0452957153, 0.864762843, 3.50177288e-06, -0.998630941, 0.0523096323)
  2330. o7.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2331. o7.Position = Vector3.new(-19.7996979, 32.7543106, 52)
  2332. o8.Parent = o7
  2333. o8.MeshId = "http://www.roblox.com/asset/?id=12221720"
  2334. o8.Scale = Vector3.new(4, 4, 4)
  2335. o8.MeshType = Enum.MeshType.FileMesh
  2336. o9.Parent = o6
  2337. o9.BrickColor = BrickColor.new("Dark stone grey")
  2338. o9.Position = Vector3.new(-26, 21.7224236, 51)
  2339. o9.Rotation = Vector3.new(-90, -59.9899979, 90)
  2340. o9.Anchored = true
  2341. o9.Size = Vector3.new(4, 9.60000038, 4)
  2342. o9.CFrame = CFrame.new(-26, 21.7224236, 51, 3.40938568e-05, -0.500193477, -0.86591363, -9.14931297e-06, -0.86591363, 0.500193477, -1, -9.14931297e-06, -3.40938568e-05)
  2343. o9.BottomSurface = Enum.SurfaceType.Smooth
  2344. o9.TopSurface = Enum.SurfaceType.Smooth
  2345. o9.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2346. o9.Position = Vector3.new(-26, 21.7224236, 51)
  2347. o10.Parent = o6
  2348. o10.BrickColor = BrickColor.new("Dark stone grey")
  2349. o10.Position = Vector3.new(-32, 16.7224045, 51)
  2350. o10.Rotation = Vector3.new(0, 90, 0)
  2351. o10.Anchored = true
  2352. o10.Size = Vector3.new(4, 9.60000038, 8)
  2353. o10.CFrame = CFrame.new(-32, 16.7224045, 51, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  2354. o10.TopSurface = Enum.SurfaceType.Smooth
  2355. o10.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2356. o10.Position = Vector3.new(-32, 16.7224045, 51)
  2357. o11.Parent = o6
  2358. o11.BrickColor = BrickColor.new("Dark stone grey")
  2359. o11.Position = Vector3.new(-39.0000038, 17.5224171, 51)
  2360. o11.Rotation = Vector3.new(90.0099945, 69, -90.0099945)
  2361. o11.Anchored = true
  2362. o11.Size = Vector3.new(4, 9.60000038, 4)
  2363. o11.CFrame = CFrame.new(-39.0000038, 17.5224171, 51, -4.99486923e-05, 0.358418405, 0.933561087, 9.2536211e-06, 0.933561087, -0.358418405, -1, -9.2536211e-06, -4.99486923e-05)
  2364. o11.BottomSurface = Enum.SurfaceType.Smooth
  2365. o11.TopSurface = Enum.SurfaceType.Smooth
  2366. o11.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2367. o11.Position = Vector3.new(-39.0000038, 17.5224171, 51)
  2368. o12.Parent = o6
  2369. o12.BrickColor = BrickColor.new("Dark stone grey")
  2370. o12.Position = Vector3.new(-29, 7.72241306, 51)
  2371. o12.Rotation = Vector3.new(-90, 75, 90)
  2372. o12.Anchored = true
  2373. o12.Size = Vector3.new(4, 10.8000002, 4)
  2374. o12.CFrame = CFrame.new(-29, 7.72241306, 51, -1.26361847e-05, -0.258770168, 0.965938866, -1.68383121e-06, 0.965938926, 0.258770168, -0.99999994, 1.68383121e-06, -1.26361847e-05)
  2375. o12.TopSurface = Enum.SurfaceType.Smooth
  2376. o12.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2377. o12.Position = Vector3.new(-29, 7.72241306, 51)
  2378. o13.Parent = o6
  2379. o13.BrickColor = BrickColor.new("Dark stone grey")
  2380. o13.Position = Vector3.new(-34, 7.12241077, 51)
  2381. o13.Rotation = Vector3.new(0, 90, 0)
  2382. o13.Anchored = true
  2383. o13.Size = Vector3.new(4, 9.60000038, 4)
  2384. o13.CFrame = CFrame.new(-34, 7.12241077, 51, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  2385. o13.TopSurface = Enum.SurfaceType.Smooth
  2386. o13.Color = Color3.new(0.388235, 0.372549, 0.384314)
  2387. o13.Position = Vector3.new(-34, 7.12241077, 51)
  2388. o14.Name = "timetodie23232223"
  2389. o14.Parent = mas
  2390. o14.Archivable = false
  2391. o14.PrimaryPart = o15
  2392. o15.Name = "Head"
  2393. o15.Parent = o14
  2394. o15.BrickColor = BrickColor.new("Pastel brown")
  2395. o15.Position = Vector3.new(-24.0668049, 6.47494841, 40.683567)
  2396. o15.Rotation = Vector3.new(-0.269999981, -34.9199982, -0.159999996)
  2397. o15.Locked = true
  2398. o15.FormFactor = Enum.FormFactor.Symmetric
  2399. o15.Size = Vector3.new(2, 1, 1)
  2400. o15.CFrame = CFrame.new(-24.0668049, 6.47494841, 40.683567, 0.819974363, 0.00224036095, -0.572395802, -1.41710725e-05, 0.99999243, 0.00389366131, 0.572400212, -0.00318458513, 0.819968224)
  2401. o15.TopSurface = Enum.SurfaceType.Smooth
  2402. o15.Color = Color3.new(1, 0.8, 0.6)
  2403. o15.Position = Vector3.new(-24.0668049, 6.47494841, 40.683567)
  2404. o16.Parent = o15
  2405. o16.Scale = Vector3.new(1.25, 1.25, 1.25)
  2406. o21.Name = "GettingUp"
  2407. o21.Parent = o15
  2408. o21.Archivable = false
  2409. o21.SoundId = "rbxasset://sounds/action_get_up.mp3"
  2410. o21.Volume = 0.64999997615814
  2411. o22.Name = "CharacterSoundEvent"
  2412. o22.Parent = o21
  2413. o23.Name = "Died"
  2414. o23.Parent = o15
  2415. o23.Archivable = false
  2416. o23.SoundId = "rbxasset://sounds/uuhhh.mp3"
  2417. o23.Volume = 0.64999997615814
  2418. o24.Name = "CharacterSoundEvent"
  2419. o24.Parent = o23
  2420. o25.Name = "FreeFalling"
  2421. o25.Parent = o15
  2422. o25.Archivable = false
  2423. o25.SoundId = "rbxasset://sounds/action_falling.mp3"
  2424. o25.TimePosition = 0.20340387445407
  2425. o25.Volume = 1
  2426. o25.Looped = true
  2427. o26.Name = "CharacterSoundEvent"
  2428. o26.Parent = o25
  2429. o27.Name = "Jumping"
  2430. o27.Parent = o15
  2431. o27.Archivable = false
  2432. o27.SoundId = "rbxasset://sounds/action_jump.mp3"
  2433. o27.Volume = 0.64999997615814
  2434. o28.Name = "CharacterSoundEvent"
  2435. o28.Parent = o27
  2436. o29.Name = "Landing"
  2437. o29.Parent = o15
  2438. o29.Archivable = false
  2439. o29.SoundId = "rbxasset://sounds/action_jump_land.mp3"
  2440. o29.Volume = 1
  2441. o30.Name = "CharacterSoundEvent"
  2442. o30.Parent = o29
  2443. o31.Name = "Splash"
  2444. o31.Parent = o15
  2445. o31.Archivable = false
  2446. o31.SoundId = "rbxasset://sounds/impact_water.mp3"
  2447. o31.Volume = 0.64999997615814
  2448. o32.Name = "CharacterSoundEvent"
  2449. o32.Parent = o31
  2450. o33.Name = "Running"
  2451. o33.Parent = o15
  2452. o33.Archivable = false
  2453. o33.Pitch = 1.8500000238419
  2454. o33.SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3"
  2455. o33.TimePosition = 0.85750264926479
  2456. o33.Volume = 0.64999997615814
  2457. o33.Looped = true
  2458. o34.Name = "CharacterSoundEvent"
  2459. o34.Parent = o33
  2460. o35.Name = "Swimming"
  2461. o35.Parent = o15
  2462. o35.Archivable = false
  2463. o35.Pitch = 1.6000000238419
  2464. o35.SoundId = "rbxasset://sounds/action_swim.mp3"
  2465. o35.Volume = 0.64999997615814
  2466. o35.Looped = true
  2467. o36.Name = "CharacterSoundEvent"
  2468. o36.Parent = o35
  2469. o37.Name = "Climbing"
  2470. o37.Parent = o15
  2471. o37.Archivable = false
  2472. o37.SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3"
  2473. o37.Volume = 0.64999997615814
  2474. o37.Looped = true
  2475. o38.Name = "CharacterSoundEvent"
  2476. o38.Parent = o37
  2477. o39.Name = "face"
  2478. o39.Parent = o15
  2479. o39.Texture = "http://www.roblox.com/asset/?id=13038247"
  2480. o40.Name = "Torso"
  2481. o40.Parent = o14
  2482. o40.BrickColor = BrickColor.new("Pastel brown")
  2483. o40.Position = Vector3.new(-24.0679245, 4.97538948, 40.6851578)
  2484. o40.Rotation = Vector3.new(0, -35.1300011, 0)
  2485. o40.Locked = true
  2486. o40.FormFactor = Enum.FormFactor.Symmetric
  2487. o40.Size = Vector3.new(2, 2, 1)
  2488. o40.CFrame = CFrame.new(-24.0679245, 4.97538948, 40.6851578, 0.817877471, -1.04487619e-07, -0.575392425, 5.639804e-08, 1, -1.01428057e-07, 0.575392425, 5.05047169e-08, 0.817877471)
  2489. o40.LeftSurface = Enum.SurfaceType.Weld
  2490. o40.RightSurface = Enum.SurfaceType.Weld
  2491. o40.Color = Color3.new(1, 0.8, 0.6)
  2492. o40.Position = Vector3.new(-24.0679245, 4.97538948, 40.6851578)
  2493. o41.Name = "roblox"
  2494. o41.Parent = o40
  2495. o50.Name = "Right Shoulder"
  2496. o50.Parent = o40
  2497. o50.C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  2498. o50.C1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  2499. o50.Part0 = o40
  2500. o50.Part1 = o58
  2501. o50.CurrentAngle = 0.0067748897708952
  2502. o50.MaxVelocity = 0.10000000149012
  2503. o51.Name = "Left Shoulder"
  2504. o51.Parent = o40
  2505. o51.C0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  2506. o51.C1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  2507. o51.Part0 = o40
  2508. o51.Part1 = o55
  2509. o51.CurrentAngle = -0.0048912507481873
  2510. o51.MaxVelocity = 0.10000000149012
  2511. o52.Name = "Right Hip"
  2512. o52.Parent = o40
  2513. o52.C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  2514. o52.C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  2515. o52.Part0 = o40
  2516. o52.Part1 = o63
  2517. o52.MaxVelocity = 0.10000000149012
  2518. o53.Name = "Left Hip"
  2519. o53.Parent = o40
  2520. o53.C0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  2521. o53.C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  2522. o53.Part0 = o40
  2523. o53.Part1 = o61
  2524. o53.MaxVelocity = 0.10000000149012
  2525. o54.Name = "Neck"
  2526. o54.Parent = o40
  2527. o54.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  2528. o54.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  2529. o54.Part0 = o40
  2530. o54.Part1 = o15
  2531. o54.CurrentAngle = 0.0017011311138049
  2532. o54.MaxVelocity = 0.10000000149012
  2533. o55.Name = "Left Arm"
  2534. o55.Parent = o14
  2535. o55.BrickColor = BrickColor.new("Pastel brown")
  2536. o55.Position = Vector3.new(-25.2920303, 4.99553108, 39.8180618)
  2537. o55.Rotation = Vector3.new(0.0799999982, -35.6100006, 0.0299999993)
  2538. o55.CanCollide = false
  2539. o55.Locked = true
  2540. o55.FormFactor = Enum.FormFactor.Symmetric
  2541. o55.Size = Vector3.new(1, 2, 1)
  2542. o55.CFrame = CFrame.new(-25.2920303, 4.99553108, 39.8180618, 0.812950552, -0.000495347544, -0.582332551, -0.000223319279, 0.999999285, -0.00116239686, 0.582332671, 0.00107502041, 0.812949896)
  2543. o55.Color = Color3.new(1, 0.8, 0.6)
  2544. o55.Position = Vector3.new(-25.2920303, 4.99553108, 39.8180618)
  2545. o58.Name = "Right Arm"
  2546. o58.Parent = o14
  2547. o58.BrickColor = BrickColor.new("Pastel brown")
  2548. o58.Position = Vector3.new(-22.8415451, 5.00299072, 41.5513611)
  2549. o58.Rotation = Vector3.new(-0.189999998, -35.2900009, 0.049999997)
  2550. o58.CanCollide = false
  2551. o58.Locked = true
  2552. o58.FormFactor = Enum.FormFactor.Symmetric
  2553. o58.Size = Vector3.new(1, 2, 1)
  2554. o58.CFrame = CFrame.new(-22.8415451, 5.00299072, 41.5513611, 0.816229939, -0.000772229396, -0.577726662, 0.00288561243, 0.999992073, 0.00274024741, 0.577719927, -0.0039037643, 0.816225767)
  2555. o58.Color = Color3.new(1, 0.8, 0.6)
  2556. o58.Position = Vector3.new(-22.8415451, 5.00299072, 41.5513611)
  2557. o61.Name = "Left Leg"
  2558. o61.Parent = o14
  2559. o61.BrickColor = BrickColor.new("Pastel brown")
  2560. o61.Position = Vector3.new(-24.4768639, 2.99952984, 40.3974609)
  2561. o61.Rotation = Vector3.new(0, -35.1300011, 0)
  2562. o61.CanCollide = false
  2563. o61.Locked = true
  2564. o61.FormFactor = Enum.FormFactor.Symmetric
  2565. o61.Size = Vector3.new(1, 2, 1)
  2566. o61.CFrame = CFrame.new(-24.4768639, 2.99952984, 40.3974609, 0.817877471, -1.04487619e-07, -0.575392425, 5.639804e-08, 1, -1.01428057e-07, 0.575392425, 5.05047169e-08, 0.817877471)
  2567. o61.BottomSurface = Enum.SurfaceType.Smooth
  2568. o61.Color = Color3.new(1, 0.8, 0.6)
  2569. o61.Position = Vector3.new(-24.4768639, 2.99952984, 40.3974609)
  2570. o63.Name = "Right Leg"
  2571. o63.Parent = o14
  2572. o63.BrickColor = BrickColor.new("Pastel brown")
  2573. o63.Position = Vector3.new(-23.6589851, 2.99616575, 40.9728546)
  2574. o63.Rotation = Vector3.new(0, -35.1300011, 0)
  2575. o63.CanCollide = false
  2576. o63.Locked = true
  2577. o63.FormFactor = Enum.FormFactor.Symmetric
  2578. o63.Size = Vector3.new(1, 2, 1)
  2579. o63.CFrame = CFrame.new(-23.6589851, 2.99616575, 40.9728546, 0.817877471, -1.04487619e-07, -0.575392425, 5.639804e-08, 1, -1.01428057e-07, 0.575392425, 5.05047169e-08, 0.817877471)
  2580. o63.BottomSurface = Enum.SurfaceType.Smooth
  2581. o63.Color = Color3.new(1, 0.8, 0.6)
  2582. o63.Position = Vector3.new(-23.6589851, 2.99616575, 40.9728546)
  2583. o65.Parent = o14
  2584. o65.RightLeg = o63
  2585. o65.LeftLeg = o61
  2586. o65.Torso = o68
  2587. o68.Name = "HumanoidRootPart"
  2588. o68.Parent = o14
  2589. o68.Transparency = 1
  2590. o68.Position = Vector3.new(-24.0679245, 5, 40.6851578)
  2591. o68.Rotation = Vector3.new(0, -35.1300011, 0)
  2592. o68.CanCollide = false
  2593. o68.Locked = true
  2594. o68.FormFactor = Enum.FormFactor.Symmetric
  2595. o68.Size = Vector3.new(2, 2, 1)
  2596. o68.CFrame = CFrame.new(-24.0679245, 5, 40.6851578, 0.817877471, -1.04487619e-07, -0.575392425, 5.639804e-08, 1, -1.01428057e-07, 0.575392425, 5.05047169e-08, 0.817877471)
  2597. o68.BottomSurface = Enum.SurfaceType.Smooth
  2598. o68.TopSurface = Enum.SurfaceType.Smooth
  2599. o68.Position = Vector3.new(-24.0679245, 5, 40.6851578)
  2600. o70.Name = "RootJoint"
  2601. o70.Parent = o68
  2602. o70.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  2603. o70.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  2604. o70.Part0 = o68
  2605. o70.Part1 = o40
  2606. o70.MaxVelocity = 0.10000000149012
  2607. o71.Name = "Sound"
  2608. o71.Parent = o14
  2609.  
  2610. runDummyScript(function()
  2611. --[[
  2612. Author: @spotco
  2613. This script creates sounds which are placed under the character head.
  2614. These sounds are used by the "LocalSound" script.
  2615.  
  2616. To modify this script, copy it to your "StarterPlayer/StarterCharacterScripts" folder keeping the same script name ("Sound").
  2617. The default Sound script loaded for every character will then be replaced with your copy of the script.
  2618. ]]--
  2619. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  2620. local Players = game:GetService("Players")
  2621.  
  2622. local SOUND_EVENT_FOLDER_NAME = "DefaultSoundEvents"
  2623. local DEFAULT_SERVER_SOUND_EVENT_NAME = "DefaultServerSoundEvent"
  2624.  
  2625. local SoundEventFolder = ReplicatedStorage:FindFirstChild(SOUND_EVENT_FOLDER_NAME)
  2626. local DefaultServerSoundEvent = nil
  2627.  
  2628. local useSoundDispatcher = UserSettings():IsUserFeatureEnabled("UserUseSoundDispatcher")
  2629. if useSoundDispatcher then
  2630. if not SoundEventFolder then
  2631. SoundEventFolder = Instance.new("Folder")
  2632. SoundEventFolder.Name = SOUND_EVENT_FOLDER_NAME
  2633. SoundEventFolder.Archivable = false
  2634. SoundEventFolder.Parent = ReplicatedStorage
  2635. end
  2636.  
  2637. DefaultServerSoundEvent = SoundEventFolder:FindFirstChild(DEFAULT_SERVER_SOUND_EVENT_NAME)
  2638. else
  2639. DefaultServerSoundEvent = ReplicatedStorage:FindFirstChild(DEFAULT_SERVER_SOUND_EVENT_NAME)
  2640. end
  2641.  
  2642. if not DefaultServerSoundEvent then
  2643. if useSoundDispatcher then
  2644. DefaultServerSoundEvent = Instance.new("RemoteEvent", SoundEventFolder)
  2645. else
  2646. DefaultServerSoundEvent = Instance.new("RemoteEvent", ReplicatedStorage)
  2647. end
  2648.  
  2649. DefaultServerSoundEvent.Name = DEFAULT_SERVER_SOUND_EVENT_NAME
  2650. DefaultServerSoundEvent.OnServerEvent:Connect(function() end)
  2651. end
  2652.  
  2653. local function CreateNewSound(name, id, looped, pitch, parent)
  2654. local sound = Instance.new("Sound")
  2655. sound.SoundId = id
  2656. sound.Name = name
  2657. sound.archivable = false
  2658. sound.Pitch = pitch
  2659. sound.Looped = looped
  2660. sound.MinDistance = 5
  2661. sound.MaxDistance = 150
  2662. sound.Volume = 0.65
  2663. sound.Parent = parent
  2664.  
  2665. if DefaultServerSoundEvent then
  2666. local CharacterSoundEvent = Instance.new("RemoteEvent", sound)
  2667. CharacterSoundEvent.Name = "CharacterSoundEvent"
  2668. CharacterSoundEvent.OnServerEvent:Connect(function(player, playing, resetPosition)
  2669. if type(playing) ~= "boolean" then
  2670. return
  2671. end
  2672. if type(resetPosition) ~= "boolean" then
  2673. return
  2674. end
  2675.  
  2676. if player.Character ~= script.Parent then
  2677. return
  2678. end
  2679. for _, p in pairs(Players:GetPlayers()) do
  2680. if p ~= player then
  2681. -- Connect to the dispatcher to check if the player has loaded.
  2682. if useSoundDispatcher then
  2683. SoundEventFolder:FindFirstChild("SoundDispatcher"):Fire(p, sound, playing, resetPosition)
  2684. else
  2685. DefaultServerSoundEvent:FireClient(p, sound, playing, resetPosition)
  2686. end
  2687. end
  2688. end
  2689. end)
  2690. end
  2691. return sound
  2692. end
  2693.  
  2694. local head = script.Parent:FindFirstChild("Head")
  2695. if not head then
  2696. error("Sound script parent has no child Head.")
  2697. return
  2698. end
  2699.  
  2700. CreateNewSound("GettingUp", "rbxasset://sounds/action_get_up.mp3", false, 1, head)
  2701. CreateNewSound("Died", "rbxasset://sounds/uuhhh.mp3", false, 1, head)
  2702. CreateNewSound("FreeFalling", "rbxasset://sounds/action_falling.mp3", true, 1, head)
  2703. CreateNewSound("Jumping", "rbxasset://sounds/action_jump.mp3", false, 1, head)
  2704. CreateNewSound("Landing", "rbxasset://sounds/action_jump_land.mp3", false, 1, head)
  2705. CreateNewSound("Splash", "rbxasset://sounds/impact_water.mp3", false, 1, head)
  2706. CreateNewSound("Running", "rbxasset://sounds/action_footsteps_plastic.mp3", true, 1.85, head)
  2707. CreateNewSound("Swimming", "rbxasset://sounds/action_swim.mp3", true, 1.6, head)
  2708. CreateNewSound("Climbing", "rbxasset://sounds/action_footsteps_plastic.mp3", true, 1, head)
  2709. end,o71)
  2710.  
  2711. o72.Name = "LocalSound"
  2712. o72.Parent = o71
  2713.  
  2714. runDummyScript(function()
  2715. --[[
  2716. Author: @spotco
  2717. This script runs locally for the player of the given humanoid.
  2718. This script triggers humanoid sound play/pause actions locally.
  2719.  
  2720. The Playing/TimePosition properties of Sound objects bypass FilteringEnabled, so this triggers the sound
  2721. immediately for the player and is replicated to all other players.
  2722.  
  2723. This script is optimized to reduce network traffic through minimizing the amount of property replication.
  2724. ]]--
  2725.  
  2726. --All sounds are referenced by this ID
  2727. local SFX = {
  2728. Died = 0;
  2729. Running = 1;
  2730. Swimming = 2;
  2731. Climbing = 3,
  2732. Jumping = 4;
  2733. GettingUp = 5;
  2734. FreeFalling = 6;
  2735. FallingDown = 7;
  2736. Landing = 8;
  2737. Splash = 9;
  2738. }
  2739.  
  2740. local useUpdatedLocalSoundFlag = UserSettings():IsUserFeatureEnabled("UserFixCharacterSoundIssues")
  2741.  
  2742. local Humanoid = nil
  2743. local Head = nil
  2744. --SFX ID to Sound object
  2745. local Sounds = {}
  2746. local SoundService = game:GetService("SoundService")
  2747. local soundEventFolderName = "DefaultSoundEvents"
  2748. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  2749. local AddCharacterLoadedEvent = nil
  2750. local RemoveCharacterEvent = nil
  2751. local soundEventFolder = ReplicatedStorage:FindFirstChild(soundEventFolderName)
  2752. local useSoundDispatcher = UserSettings():IsUserFeatureEnabled("UserUseSoundDispatcher")
  2753.  
  2754. if useSoundDispatcher then
  2755. if not soundEventFolder then
  2756. soundEventFolder = Instance.new("Folder", ReplicatedStorage)
  2757. soundEventFolder.Name = soundEventFolderName
  2758. soundEventFolder.Archivable = false
  2759. end
  2760.  
  2761. -- Load the RemoveCharacterEvent
  2762. RemoveCharacterEvent = soundEventFolder:FindFirstChild("RemoveCharacterEvent")
  2763. if RemoveCharacterEvent == nil then
  2764. RemoveCharacterEvent = Instance.new("RemoteEvent", soundEventFolder)
  2765. RemoveCharacterEvent.Name = "RemoveCharacterEvent"
  2766. end
  2767.  
  2768. AddCharacterLoadedEvent = soundEventFolder:FindFirstChild("AddCharacterLoadedEvent")
  2769. if AddCharacterLoadedEvent == nil then
  2770. AddCharacterLoadedEvent = Instance.new("RemoteEvent", soundEventFolder)
  2771. AddCharacterLoadedEvent.Name = "AddCharacterLoadedEvent"
  2772. end
  2773.  
  2774. -- Notify the server a new character has been loaded
  2775. AddCharacterLoadedEvent:FireServer()
  2776.  
  2777. -- Notify the sound dispatcher this character has left.
  2778. game.Players.LocalPlayer.CharacterRemoving:connect(function(character)
  2779. RemoveCharacterEvent:FireServer(game.Players.LocalPlayer)
  2780. end)
  2781. end
  2782.  
  2783. do
  2784. local Figure = script.Parent.Parent
  2785. Head = Figure:WaitForChild("Head")
  2786. while not Humanoid do
  2787. for _,NewHumanoid in pairs(Figure:GetChildren()) do
  2788. if NewHumanoid:IsA("Humanoid") then
  2789. Humanoid = NewHumanoid
  2790. break
  2791. end
  2792. end
  2793. if Humanoid then break end
  2794. Figure.ChildAdded:wait()
  2795. end
  2796. Sounds[SFX.Died] = Head:WaitForChild("Died")
  2797. Sounds[SFX.Running] = Head:WaitForChild("Running")
  2798. Sounds[SFX.Swimming] = Head:WaitForChild("Swimming")
  2799. Sounds[SFX.Climbing] = Head:WaitForChild("Climbing")
  2800. Sounds[SFX.Jumping] = Head:WaitForChild("Jumping")
  2801. Sounds[SFX.GettingUp] = Head:WaitForChild("GettingUp")
  2802. Sounds[SFX.FreeFalling] = Head:WaitForChild("FreeFalling")
  2803. Sounds[SFX.Landing] = Head:WaitForChild("Landing")
  2804. Sounds[SFX.Splash] = Head:WaitForChild("Splash")
  2805.  
  2806. local DefaultServerSoundEvent = nil
  2807. if useSoundDispatcher then
  2808. DefaultServerSoundEvent = soundEventFolder:FindFirstChild("DefaultServerSoundEvent")
  2809. else
  2810. DefaultServerSoundEvent = game:GetService("ReplicatedStorage"):FindFirstChild("DefaultServerSoundEvent")
  2811. end
  2812.  
  2813. if DefaultServerSoundEvent then
  2814. DefaultServerSoundEvent.OnClientEvent:connect(function(sound, playing, resetPosition)
  2815. if resetPosition and sound.TimePosition ~= 0 then
  2816. sound.TimePosition = 0
  2817. end
  2818. if sound.IsPlaying ~= playing then
  2819. sound.Playing = playing
  2820. end
  2821. end)
  2822. end
  2823. end
  2824.  
  2825. local IsSoundFilteringEnabled = function()
  2826. return game.Workspace.FilteringEnabled and SoundService.RespectFilteringEnabled
  2827. end
  2828.  
  2829. local Util
  2830. Util = {
  2831.  
  2832. --Define linear relationship between (pt1x,pt2x) and (pt2x,pt2y). Evaluate this at x.
  2833. YForLineGivenXAndTwoPts = function(x,pt1x,pt1y,pt2x,pt2y)
  2834. --(y - y1)/(x - x1) = m
  2835. local m = (pt1y - pt2y) / (pt1x - pt2x)
  2836. --float b = pt1.y - m * pt1.x;
  2837. local b = (pt1y - m * pt1x)
  2838. return m * x + b
  2839. end;
  2840.  
  2841. --Clamps the value of "val" between the "min" and "max"
  2842. Clamp = function(val,min,max)
  2843. return math.min(max,math.max(min,val))
  2844. end;
  2845.  
  2846. --Gets the horizontal (x,z) velocity magnitude of the given part
  2847. HorizontalSpeed = function(Head)
  2848. local hVel = Head.Velocity + Vector3.new(0,-Head.Velocity.Y,0)
  2849. return hVel.magnitude
  2850. end;
  2851.  
  2852. --Gets the vertical (y) velocity magnitude of the given part
  2853. VerticalSpeed = function(Head)
  2854. return math.abs(Head.Velocity.Y)
  2855. end;
  2856.  
  2857. --Setting Playing/TimePosition values directly result in less network traffic than Play/Pause/Resume/Stop
  2858. --If these properties are enabled, use them.
  2859. Play = function(sound)
  2860. if IsSoundFilteringEnabled() then
  2861. sound.CharacterSoundEvent:FireServer(true, true)
  2862. end
  2863. if sound.TimePosition ~= 0 then
  2864. sound.TimePosition = 0
  2865. end
  2866. if not sound.IsPlaying then
  2867. sound.Playing = true
  2868. end
  2869. end;
  2870.  
  2871. Pause = function(sound)
  2872. if IsSoundFilteringEnabled() then
  2873. sound.CharacterSoundEvent:FireServer(false, false)
  2874. end
  2875. if sound.IsPlaying then
  2876. sound.Playing = false
  2877. end
  2878. end;
  2879.  
  2880. Resume = function(sound)
  2881. if IsSoundFilteringEnabled() then
  2882. sound.CharacterSoundEvent:FireServer(true, false)
  2883. end
  2884. if not sound.IsPlaying then
  2885. sound.Playing = true
  2886. end
  2887. end;
  2888.  
  2889. Stop = function(sound)
  2890. if IsSoundFilteringEnabled() then
  2891. sound.CharacterSoundEvent:FireServer(false, true)
  2892. end
  2893. if sound.IsPlaying then
  2894. sound.Playing = false
  2895. end
  2896. if sound.TimePosition ~= 0 then
  2897. sound.TimePosition = 0
  2898. end
  2899. end;
  2900. }
  2901.  
  2902. do
  2903. -- List of all active Looped sounds
  2904. local playingLoopedSounds = {}
  2905.  
  2906. -- Last seen Enum.HumanoidStateType
  2907. local activeState = nil
  2908.  
  2909. local fallSpeed = 0
  2910.  
  2911. -- Verify and set that "sound" is in "playingLoopedSounds".
  2912. function setSoundInPlayingLoopedSounds(sound)
  2913. for i=1, #playingLoopedSounds do
  2914. if playingLoopedSounds[i] == sound then
  2915. return
  2916. end
  2917. end
  2918. table.insert(playingLoopedSounds,sound)
  2919. end
  2920.  
  2921. -- Stop all active looped sounds except parameter "except". If "except" is not passed, all looped sounds will be stopped.
  2922. function stopPlayingLoopedSoundsExcept(except)
  2923. for i=#playingLoopedSounds,1,-1 do
  2924. if playingLoopedSounds[i] ~= except then
  2925. Util.Pause(playingLoopedSounds[i])
  2926. table.remove(playingLoopedSounds,i)
  2927. end
  2928. end
  2929. end
  2930.  
  2931. -- Table of Enum.HumanoidStateType to handling function
  2932. local stateUpdateHandler = {
  2933. [Enum.HumanoidStateType.Dead] = function()
  2934. stopPlayingLoopedSoundsExcept()
  2935. local sound = Sounds[SFX.Died]
  2936. Util.Play(sound)
  2937. end;
  2938.  
  2939. [Enum.HumanoidStateType.RunningNoPhysics] = function(speed)
  2940. stateUpdated(Enum.HumanoidStateType.Running, speed)
  2941. end;
  2942.  
  2943. [Enum.HumanoidStateType.Running] = function(speed)
  2944. local sound = Sounds[SFX.Running]
  2945. stopPlayingLoopedSoundsExcept(sound)
  2946.  
  2947. if(useUpdatedLocalSoundFlag and activeState == Enum.HumanoidStateType.Freefall and fallSpeed > 0.1) then
  2948. -- Play a landing sound if the character dropped from a large distance
  2949. local vol = math.min(1.0, math.max(0.0, (fallSpeed - 50) / 110))
  2950. local freeFallSound = Sounds[SFX.FreeFalling]
  2951. freeFallSound.Volume = vol
  2952. Util.Play(freeFallSound)
  2953. fallSpeed = 0
  2954. end
  2955. if useUpdatedLocalSoundFlag then
  2956. if speed ~= nil and speed > 0.5 then
  2957. Util.Resume(sound)
  2958. setSoundInPlayingLoopedSounds(sound)
  2959. elseif speed ~= nil then
  2960. stopPlayingLoopedSoundsExcept()
  2961. end
  2962. else
  2963. if Util.HorizontalSpeed(Head) > 0.5 then
  2964. Util.Resume(sound)
  2965. setSoundInPlayingLoopedSounds(sound)
  2966. else
  2967. stopPlayingLoopedSoundsExcept()
  2968. end
  2969. end
  2970. end;
  2971.  
  2972. [Enum.HumanoidStateType.Swimming] = function(speed)
  2973. local threshold
  2974. if useUpdatedLocalSoundFlag then threshold = speed else threshold = Util.VerticalSpeed(Head) end
  2975. if activeState ~= Enum.HumanoidStateType.Swimming and threshold > 0.1 then
  2976. local splashSound = Sounds[SFX.Splash]
  2977. splashSound.Volume = Util.Clamp(
  2978. Util.YForLineGivenXAndTwoPts(
  2979. Util.VerticalSpeed(Head),
  2980. 100, 0.28,
  2981. 350, 1),
  2982. 0,1)
  2983. Util.Play(splashSound)
  2984. end
  2985.  
  2986. do
  2987. local sound = Sounds[SFX.Swimming]
  2988. stopPlayingLoopedSoundsExcept(sound)
  2989. Util.Resume(sound)
  2990. setSoundInPlayingLoopedSounds(sound)
  2991. end
  2992. end;
  2993.  
  2994. [Enum.HumanoidStateType.Climbing] = function(speed)
  2995. local sound = Sounds[SFX.Climbing]
  2996. if useUpdatedLocalSoundFlag then
  2997. if speed ~= nil and math.abs(speed) > 0.1 then
  2998. Util.Resume(sound)
  2999. stopPlayingLoopedSoundsExcept(sound)
  3000. else
  3001. Util.Pause(sound)
  3002. stopPlayingLoopedSoundsExcept(sound)
  3003. end
  3004. else
  3005. if Util.VerticalSpeed(Head) > 0.1 then
  3006. Util.Resume(sound)
  3007. stopPlayingLoopedSoundsExcept(sound)
  3008. else
  3009. stopPlayingLoopedSoundsExcept()
  3010. end
  3011. end
  3012.  
  3013. setSoundInPlayingLoopedSounds(sound)
  3014. end;
  3015.  
  3016. [Enum.HumanoidStateType.Jumping] = function()
  3017. if activeState == Enum.HumanoidStateType.Jumping then
  3018. return
  3019. end
  3020. stopPlayingLoopedSoundsExcept()
  3021. local sound = Sounds[SFX.Jumping]
  3022. Util.Play(sound)
  3023. end;
  3024.  
  3025. [Enum.HumanoidStateType.GettingUp] = function()
  3026. stopPlayingLoopedSoundsExcept()
  3027. local sound = Sounds[SFX.GettingUp]
  3028. Util.Play(sound)
  3029. end;
  3030.  
  3031. [Enum.HumanoidStateType.Freefall] = function()
  3032. if activeState == Enum.HumanoidStateType.Freefall then
  3033. return
  3034. end
  3035. local sound = Sounds[SFX.FreeFalling]
  3036. sound.Volume = 0
  3037. stopPlayingLoopedSoundsExcept()
  3038.  
  3039. fallSpeed = math.max(fallSpeed, math.abs(Head.Velocity.y))
  3040. end;
  3041.  
  3042. [Enum.HumanoidStateType.FallingDown] = function()
  3043. stopPlayingLoopedSoundsExcept()
  3044. end;
  3045.  
  3046. [Enum.HumanoidStateType.Landed] = function()
  3047. stopPlayingLoopedSoundsExcept()
  3048. if Util.VerticalSpeed(Head) > 75 then
  3049. local landingSound = Sounds[SFX.Landing]
  3050. landingSound.Volume = Util.Clamp(
  3051. Util.YForLineGivenXAndTwoPts(
  3052. Util.VerticalSpeed(Head),
  3053. 50, 0,
  3054. 100, 1),
  3055. 0,1)
  3056. Util.Play(landingSound)
  3057. end
  3058. end;
  3059.  
  3060. [Enum.HumanoidStateType.Seated] = function()
  3061. stopPlayingLoopedSoundsExcept()
  3062. end;
  3063. }
  3064.  
  3065.  
  3066.  
  3067. -- Handle state event fired or OnChange fired
  3068. function stateUpdated(state, speed)
  3069. if stateUpdateHandler[state] ~= nil then
  3070. if useUpdatedLocalSoundFlag and (state == Enum.HumanoidStateType.Running
  3071. or state == Enum.HumanoidStateType.Climbing
  3072. or state == Enum.HumanoidStateType.Swimming
  3073. or state == Enum.HumanoidStateType.RunningNoPhysics) then
  3074. stateUpdateHandler[state](speed)
  3075. else
  3076. stateUpdateHandler[state]()
  3077. end
  3078. end
  3079. activeState = state
  3080. end
  3081.  
  3082. Humanoid.Died:connect( function() stateUpdated(Enum.HumanoidStateType.Dead) end)
  3083. Humanoid.Running:connect( function(speed) stateUpdated(Enum.HumanoidStateType.Running, speed) end)
  3084. Humanoid.Swimming:connect( function(speed) stateUpdated(Enum.HumanoidStateType.Swimming, speed) end)
  3085. Humanoid.Climbing:connect( function(speed) stateUpdated(Enum.HumanoidStateType.Climbing, speed) end)
  3086. Humanoid.Jumping:connect( function() stateUpdated(Enum.HumanoidStateType.Jumping) end)
  3087. Humanoid.GettingUp:connect( function() stateUpdated(Enum.HumanoidStateType.GettingUp) end)
  3088. Humanoid.FreeFalling:connect( function() stateUpdated(Enum.HumanoidStateType.Freefall) end)
  3089. Humanoid.FallingDown:connect( function() stateUpdated(Enum.HumanoidStateType.FallingDown) end)
  3090.  
  3091.  
  3092.  
  3093. -- required for proper handling of Landed event
  3094.  
  3095. Humanoid.StateChanged:connect(function(old, new)
  3096. stateUpdated(new)
  3097. end)
  3098.  
  3099.  
  3100.  
  3101. function onUpdate(stepDeltaSeconds, tickSpeedSeconds)
  3102. local stepScale = stepDeltaSeconds / tickSpeedSeconds
  3103. do
  3104. local sound = Sounds[SFX.FreeFalling]
  3105. if activeState == Enum.HumanoidStateType.Freefall then
  3106. if Head.Velocity.Y < 0 and Util.VerticalSpeed(Head) > 75 then
  3107. Util.Resume(sound)
  3108.  
  3109. --Volume takes 1.1 seconds to go from volume 0 to 1
  3110. local ANIMATION_LENGTH_SECONDS = 1.1
  3111.  
  3112. local normalizedIncrement = tickSpeedSeconds / ANIMATION_LENGTH_SECONDS
  3113. sound.Volume = Util.Clamp(sound.Volume + normalizedIncrement * stepScale, 0, 1)
  3114. else
  3115. sound.Volume = 0
  3116. end
  3117. else
  3118. Util.Pause(sound)
  3119. end
  3120. end
  3121.  
  3122. do
  3123. local sound = Sounds[SFX.Running]
  3124. if activeState == Enum.HumanoidStateType.Running then
  3125. if Util.HorizontalSpeed(Head) < 0.5 then
  3126. Util.Pause(sound)
  3127. end
  3128. end
  3129. end
  3130. end
  3131.  
  3132.  
  3133. local lastTick = tick()
  3134. local TICK_SPEED_SECONDS = 0.25
  3135. while true do
  3136. onUpdate(tick() - lastTick,TICK_SPEED_SECONDS)
  3137. lastTick = tick()
  3138. wait(TICK_SPEED_SECONDS)
  3139. end
  3140.  
  3141. end
  3142.  
  3143. end,o72)
  3144.  
  3145. o73.Name = "Health"
  3146. o73.Parent = o14
  3147.  
  3148. runDummyScript(function()
  3149. -- Gradually regenerates the Humanoid's Health over time.
  3150.  
  3151. local REGEN_RATE = 1/100 -- Regenerate this fraction of MaxHealth per second.
  3152. local REGEN_STEP = 1 -- Wait this long between each regeneration step.
  3153.  
  3154. --------------------------------------------------------------------------------
  3155.  
  3156. local Character = script.Parent
  3157. local Humanoid = Character:WaitForChild'Humanoid'
  3158.  
  3159. --------------------------------------------------------------------------------
  3160.  
  3161. while true do
  3162. while Humanoid.Health < Humanoid.MaxHealth do
  3163. local dt = wait(REGEN_STEP)
  3164. local dh = dt*REGEN_RATE*Humanoid.MaxHealth
  3165. Humanoid.Health = math.min(Humanoid.Health + dh, Humanoid.MaxHealth)
  3166. end
  3167. Humanoid.HealthChanged:Wait()
  3168. end
  3169. end,o73)
  3170.  
  3171. o74.Name = "Animate"
  3172. o74.Parent = o14
  3173.  
  3174. runDummyScript(function()
  3175. local Figure = script.Parent
  3176. local Torso = Figure:WaitForChild("Torso")
  3177. local RightShoulder = Torso:WaitForChild("Right Shoulder")
  3178. local LeftShoulder = Torso:WaitForChild("Left Shoulder")
  3179. local RightHip = Torso:WaitForChild("Right Hip")
  3180. local LeftHip = Torso:WaitForChild("Left Hip")
  3181. local Neck = Torso:WaitForChild("Neck")
  3182. local Humanoid = Figure:WaitForChild("Humanoid")
  3183. local pose = "Standing"
  3184.  
  3185. local currentAnim = ""
  3186. local currentAnimInstance = nil
  3187. local currentAnimTrack = nil
  3188. local currentAnimKeyframeHandler = nil
  3189. local currentAnimSpeed = 1.0
  3190. local animTable = {}
  3191. local animNames = {
  3192. idle = {
  3193. { id = "http://www.roblox.com/asset/?id=180435571", weight = 9 },
  3194. { id = "http://www.roblox.com/asset/?id=180435792", weight = 1 }
  3195. },
  3196. walk = {
  3197. { id = "http://www.roblox.com/asset/?id=180426354", weight = 10 }
  3198. },
  3199. run = {
  3200. { id = "run.xml", weight = 10 }
  3201. },
  3202. jump = {
  3203. { id = "http://www.roblox.com/asset/?id=125750702", weight = 10 }
  3204. },
  3205. fall = {
  3206. { id = "http://www.roblox.com/asset/?id=180436148", weight = 10 }
  3207. },
  3208. climb = {
  3209. { id = "http://www.roblox.com/asset/?id=180436334", weight = 10 }
  3210. },
  3211. sit = {
  3212. { id = "http://www.roblox.com/asset/?id=178130996", weight = 10 }
  3213. },
  3214. toolnone = {
  3215. { id = "http://www.roblox.com/asset/?id=182393478", weight = 10 }
  3216. },
  3217. toolslash = {
  3218. { id = "http://www.roblox.com/asset/?id=129967390", weight = 10 }
  3219. -- { id = "slash.xml", weight = 10 }
  3220. },
  3221. toollunge = {
  3222. { id = "http://www.roblox.com/asset/?id=129967478", weight = 10 }
  3223. },
  3224. wave = {
  3225. { id = "http://www.roblox.com/asset/?id=128777973", weight = 10 }
  3226. },
  3227. point = {
  3228. { id = "http://www.roblox.com/asset/?id=128853357", weight = 10 }
  3229. },
  3230. dance1 = {
  3231. { id = "http://www.roblox.com/asset/?id=182435998", weight = 10 },
  3232. { id = "http://www.roblox.com/asset/?id=182491037", weight = 10 },
  3233. { id = "http://www.roblox.com/asset/?id=182491065", weight = 10 }
  3234. },
  3235. dance2 = {
  3236. { id = "http://www.roblox.com/asset/?id=182436842", weight = 10 },
  3237. { id = "http://www.roblox.com/asset/?id=182491248", weight = 10 },
  3238. { id = "http://www.roblox.com/asset/?id=182491277", weight = 10 }
  3239. },
  3240. dance3 = {
  3241. { id = "http://www.roblox.com/asset/?id=182436935", weight = 10 },
  3242. { id = "http://www.roblox.com/asset/?id=182491368", weight = 10 },
  3243. { id = "http://www.roblox.com/asset/?id=182491423", weight = 10 }
  3244. },
  3245. laugh = {
  3246. { id = "http://www.roblox.com/asset/?id=129423131", weight = 10 }
  3247. },
  3248. cheer = {
  3249. { id = "http://www.roblox.com/asset/?id=129423030", weight = 10 }
  3250. },
  3251. }
  3252. local dances = {"dance1", "dance2", "dance3"}
  3253.  
  3254. -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
  3255. local emoteNames = { wave = false, point = false, dance1 = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
  3256.  
  3257. function configureAnimationSet(name, fileList)
  3258. if (animTable[name] ~= nil) then
  3259. for _, connection in pairs(animTable[name].connections) do
  3260. connection:disconnect()
  3261. end
  3262. end
  3263. animTable[name] = {}
  3264. animTable[name].count = 0
  3265. animTable[name].totalWeight = 0
  3266. animTable[name].connections = {}
  3267.  
  3268. -- check for config values
  3269. local config = script:FindFirstChild(name)
  3270. if (config ~= nil) then
  3271. -- print("Loading anims " .. name)
  3272. table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
  3273. table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
  3274. local idx = 1
  3275. for _, childPart in pairs(config:GetChildren()) do
  3276. if (childPart:IsA("Animation")) then
  3277. table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
  3278. animTable[name][idx] = {}
  3279. animTable[name][idx].anim = childPart
  3280. local weightObject = childPart:FindFirstChild("Weight")
  3281. if (weightObject == nil) then
  3282. animTable[name][idx].weight = 1
  3283. else
  3284. animTable[name][idx].weight = weightObject.Value
  3285. end
  3286. animTable[name].count = animTable[name].count + 1
  3287. animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
  3288. -- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
  3289. idx = idx + 1
  3290. end
  3291. end
  3292. end
  3293.  
  3294. -- fallback to defaults
  3295. if (animTable[name].count <= 0) then
  3296. for idx, anim in pairs(fileList) do
  3297. animTable[name][idx] = {}
  3298. animTable[name][idx].anim = Instance.new("Animation")
  3299. animTable[name][idx].anim.Name = name
  3300. animTable[name][idx].anim.AnimationId = anim.id
  3301. animTable[name][idx].weight = anim.weight
  3302. animTable[name].count = animTable[name].count + 1
  3303. animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
  3304. -- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
  3305. end
  3306. end
  3307. end
  3308.  
  3309. -- Setup animation objects
  3310. function scriptChildModified(child)
  3311. local fileList = animNames[child.Name]
  3312. if (fileList ~= nil) then
  3313. configureAnimationSet(child.Name, fileList)
  3314. end
  3315. end
  3316.  
  3317. script.ChildAdded:connect(scriptChildModified)
  3318. script.ChildRemoved:connect(scriptChildModified)
  3319.  
  3320.  
  3321. for name, fileList in pairs(animNames) do
  3322. configureAnimationSet(name, fileList)
  3323. end
  3324.  
  3325. -- ANIMATION
  3326.  
  3327. -- declarations
  3328. local toolAnim = "None"
  3329. local toolAnimTime = 0
  3330.  
  3331. local jumpAnimTime = 0
  3332. local jumpAnimDuration = 0.3
  3333.  
  3334. local toolTransitionTime = 0.1
  3335. local fallTransitionTime = 0.3
  3336. local jumpMaxLimbVelocity = 0.75
  3337.  
  3338. -- functions
  3339.  
  3340. function stopAllAnimations()
  3341. local oldAnim = currentAnim
  3342.  
  3343. -- return to idle if finishing an emote
  3344. if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
  3345. oldAnim = "idle"
  3346. end
  3347.  
  3348. currentAnim = ""
  3349. currentAnimInstance = nil
  3350. if (currentAnimKeyframeHandler ~= nil) then
  3351. currentAnimKeyframeHandler:disconnect()
  3352. end
  3353.  
  3354. if (currentAnimTrack ~= nil) then
  3355. currentAnimTrack:Stop()
  3356. currentAnimTrack:Destroy()
  3357. currentAnimTrack = nil
  3358. end
  3359. return oldAnim
  3360. end
  3361.  
  3362. function setAnimationSpeed(speed)
  3363. if speed ~= currentAnimSpeed then
  3364. currentAnimSpeed = speed
  3365. currentAnimTrack:AdjustSpeed(currentAnimSpeed)
  3366. end
  3367. end
  3368.  
  3369. function keyFrameReachedFunc(frameName)
  3370. if (frameName == "End") then
  3371.  
  3372. local repeatAnim = currentAnim
  3373. -- return to idle if finishing an emote
  3374. if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
  3375. repeatAnim = "idle"
  3376. end
  3377.  
  3378. local animSpeed = currentAnimSpeed
  3379. playAnimation(repeatAnim, 0.0, Humanoid)
  3380. setAnimationSpeed(animSpeed)
  3381. end
  3382. end
  3383.  
  3384. -- Preload animations
  3385. function playAnimation(animName, transitionTime, humanoid)
  3386.  
  3387. local roll = math.random(1, animTable[animName].totalWeight)
  3388. local origRoll = roll
  3389. local idx = 1
  3390. while (roll > animTable[animName][idx].weight) do
  3391. roll = roll - animTable[animName][idx].weight
  3392. idx = idx + 1
  3393. end
  3394. -- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
  3395. local anim = animTable[animName][idx].anim
  3396.  
  3397. -- switch animation
  3398. if (anim ~= currentAnimInstance) then
  3399.  
  3400. if (currentAnimTrack ~= nil) then
  3401. currentAnimTrack:Stop(transitionTime)
  3402. currentAnimTrack:Destroy()
  3403. end
  3404.  
  3405. currentAnimSpeed = 1.0
  3406.  
  3407. -- load it to the humanoid; get AnimationTrack
  3408. currentAnimTrack = humanoid:LoadAnimation(anim)
  3409. currentAnimTrack.Priority = Enum.AnimationPriority.Core
  3410.  
  3411. -- play the animation
  3412. currentAnimTrack:Play(transitionTime)
  3413. currentAnim = animName
  3414. currentAnimInstance = anim
  3415.  
  3416. -- set up keyframe name triggers
  3417. if (currentAnimKeyframeHandler ~= nil) then
  3418. currentAnimKeyframeHandler:disconnect()
  3419. end
  3420. currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
  3421.  
  3422. end
  3423.  
  3424. end
  3425.  
  3426. -------------------------------------------------------------------------------------------
  3427. -------------------------------------------------------------------------------------------
  3428.  
  3429. local toolAnimName = ""
  3430. local toolAnimTrack = nil
  3431. local toolAnimInstance = nil
  3432. local currentToolAnimKeyframeHandler = nil
  3433.  
  3434. function toolKeyFrameReachedFunc(frameName)
  3435. if (frameName == "End") then
  3436. -- print("Keyframe : ".. frameName)
  3437. playToolAnimation(toolAnimName, 0.0, Humanoid)
  3438. end
  3439. end
  3440.  
  3441.  
  3442. function playToolAnimation(animName, transitionTime, humanoid, priority)
  3443.  
  3444. local roll = math.random(1, animTable[animName].totalWeight)
  3445. local origRoll = roll
  3446. local idx = 1
  3447. while (roll > animTable[animName][idx].weight) do
  3448. roll = roll - animTable[animName][idx].weight
  3449. idx = idx + 1
  3450. end
  3451. -- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
  3452. local anim = animTable[animName][idx].anim
  3453.  
  3454. if (toolAnimInstance ~= anim) then
  3455.  
  3456. if (toolAnimTrack ~= nil) then
  3457. toolAnimTrack:Stop()
  3458. toolAnimTrack:Destroy()
  3459. transitionTime = 0
  3460. end
  3461.  
  3462. -- load it to the humanoid; get AnimationTrack
  3463. toolAnimTrack = humanoid:LoadAnimation(anim)
  3464. if priority then
  3465. toolAnimTrack.Priority = priority
  3466. end
  3467.  
  3468. -- play the animation
  3469. toolAnimTrack:Play(transitionTime)
  3470. toolAnimName = animName
  3471. toolAnimInstance = anim
  3472.  
  3473. currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
  3474. end
  3475. end
  3476.  
  3477. function stopToolAnimations()
  3478. local oldAnim = toolAnimName
  3479.  
  3480. if (currentToolAnimKeyframeHandler ~= nil) then
  3481. currentToolAnimKeyframeHandler:disconnect()
  3482. end
  3483.  
  3484. toolAnimName = ""
  3485. toolAnimInstance = nil
  3486. if (toolAnimTrack ~= nil) then
  3487. toolAnimTrack:Stop()
  3488. toolAnimTrack:Destroy()
  3489. toolAnimTrack = nil
  3490. end
  3491.  
  3492.  
  3493. return oldAnim
  3494. end
  3495.  
  3496. -------------------------------------------------------------------------------------------
  3497. -------------------------------------------------------------------------------------------
  3498.  
  3499.  
  3500. function onRunning(speed)
  3501. if speed > 0.01 then
  3502. playAnimation("walk", 0.1, Humanoid)
  3503. if currentAnimInstance and currentAnimInstance.AnimationId == "http://www.roblox.com/asset/?id=180426354" then
  3504. setAnimationSpeed(speed / 14.5)
  3505. end
  3506. pose = "Running"
  3507. else
  3508. if emoteNames[currentAnim] == nil then
  3509. playAnimation("idle", 0.1, Humanoid)
  3510. pose = "Standing"
  3511. end
  3512. end
  3513. end
  3514.  
  3515. function onDied()
  3516. pose = "Dead"
  3517. end
  3518.  
  3519. function onJumping()
  3520. playAnimation("jump", 0.1, Humanoid)
  3521. jumpAnimTime = jumpAnimDuration
  3522. pose = "Jumping"
  3523. end
  3524.  
  3525. function onClimbing(speed)
  3526. playAnimation("climb", 0.1, Humanoid)
  3527. setAnimationSpeed(speed / 12.0)
  3528. pose = "Climbing"
  3529. end
  3530.  
  3531. function onGettingUp()
  3532. pose = "GettingUp"
  3533. end
  3534.  
  3535. function onFreeFall()
  3536. if (jumpAnimTime <= 0) then
  3537. playAnimation("fall", fallTransitionTime, Humanoid)
  3538. end
  3539. pose = "FreeFall"
  3540. end
  3541.  
  3542. function onFallingDown()
  3543. pose = "FallingDown"
  3544. end
  3545.  
  3546. function onSeated()
  3547. pose = "Seated"
  3548. end
  3549.  
  3550. function onPlatformStanding()
  3551. pose = "PlatformStanding"
  3552. end
  3553.  
  3554. function onSwimming(speed)
  3555. if speed > 0 then
  3556. pose = "Running"
  3557. else
  3558. pose = "Standing"
  3559. end
  3560. end
  3561.  
  3562. function getTool()
  3563. for _, kid in ipairs(Figure:GetChildren()) do
  3564. if kid.className == "Tool" then return kid end
  3565. end
  3566. return nil
  3567. end
  3568.  
  3569. function getToolAnim(tool)
  3570. for _, c in ipairs(tool:GetChildren()) do
  3571. if c.Name == "toolanim" and c.className == "StringValue" then
  3572. return c
  3573. end
  3574. end
  3575. return nil
  3576. end
  3577.  
  3578. function animateTool()
  3579.  
  3580. if (toolAnim == "None") then
  3581. playToolAnimation("toolnone", toolTransitionTime, Humanoid, Enum.AnimationPriority.Idle)
  3582. return
  3583. end
  3584.  
  3585. if (toolAnim == "Slash") then
  3586. playToolAnimation("toolslash", 0, Humanoid, Enum.AnimationPriority.Action)
  3587. return
  3588. end
  3589.  
  3590. if (toolAnim == "Lunge") then
  3591. playToolAnimation("toollunge", 0, Humanoid, Enum.AnimationPriority.Action)
  3592. return
  3593. end
  3594. end
  3595.  
  3596. function moveSit()
  3597. RightShoulder.MaxVelocity = 0.15
  3598. LeftShoulder.MaxVelocity = 0.15
  3599. RightShoulder:SetDesiredAngle(3.14 /2)
  3600. LeftShoulder:SetDesiredAngle(-3.14 /2)
  3601. RightHip:SetDesiredAngle(3.14 /2)
  3602. LeftHip:SetDesiredAngle(-3.14 /2)
  3603. end
  3604.  
  3605. local lastTick = 0
  3606.  
  3607. function move(time)
  3608. local amplitude = 1
  3609. local frequency = 1
  3610. local deltaTime = time - lastTick
  3611. lastTick = time
  3612.  
  3613. local climbFudge = 0
  3614. local setAngles = false
  3615.  
  3616. if (jumpAnimTime > 0) then
  3617. jumpAnimTime = jumpAnimTime - deltaTime
  3618. end
  3619.  
  3620. if (pose == "FreeFall" and jumpAnimTime <= 0) then
  3621. playAnimation("fall", fallTransitionTime, Humanoid)
  3622. elseif (pose == "Seated") then
  3623. playAnimation("sit", 0.5, Humanoid)
  3624. return
  3625. elseif (pose == "Running") then
  3626. playAnimation("walk", 0.1, Humanoid)
  3627. elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
  3628. -- print("Wha " .. pose)
  3629. stopAllAnimations()
  3630. amplitude = 0.1
  3631. frequency = 1
  3632. setAngles = true
  3633. end
  3634.  
  3635. if (setAngles) then
  3636. local desiredAngle = amplitude * math.sin(time * frequency)
  3637.  
  3638. RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
  3639. LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
  3640. RightHip:SetDesiredAngle(-desiredAngle)
  3641. LeftHip:SetDesiredAngle(-desiredAngle)
  3642. end
  3643.  
  3644. -- Tool Animation handling
  3645. local tool = getTool()
  3646. if tool and tool:FindFirstChild("Handle") then
  3647.  
  3648. local animStringValueObject = getToolAnim(tool)
  3649.  
  3650. if animStringValueObject then
  3651. toolAnim = animStringValueObject.Value
  3652. -- message recieved, delete StringValue
  3653. animStringValueObject.Parent = nil
  3654. toolAnimTime = time + .3
  3655. end
  3656.  
  3657. if time > toolAnimTime then
  3658. toolAnimTime = 0
  3659. toolAnim = "None"
  3660. end
  3661.  
  3662. animateTool()
  3663. else
  3664. stopToolAnimations()
  3665. toolAnim = "None"
  3666. toolAnimInstance = nil
  3667. toolAnimTime = 0
  3668. end
  3669. end
  3670.  
  3671. -- connect events
  3672. Humanoid.Died:connect(onDied)
  3673. Humanoid.Running:connect(onRunning)
  3674. Humanoid.Jumping:connect(onJumping)
  3675. Humanoid.Climbing:connect(onClimbing)
  3676. Humanoid.GettingUp:connect(onGettingUp)
  3677. Humanoid.FreeFalling:connect(onFreeFall)
  3678. Humanoid.FallingDown:connect(onFallingDown)
  3679. Humanoid.Seated:connect(onSeated)
  3680. Humanoid.PlatformStanding:connect(onPlatformStanding)
  3681. Humanoid.Swimming:connect(onSwimming)
  3682.  
  3683. -- setup emote chat hook
  3684. game:GetService("Players").LocalPlayer.Chatted:connect(function(msg)
  3685. local emote = ""
  3686. if msg == "/e dance" then
  3687. emote = dances[math.random(1, #dances)]
  3688. elseif (string.sub(msg, 1, 3) == "/e ") then
  3689. emote = string.sub(msg, 4)
  3690. elseif (string.sub(msg, 1, 7) == "/emote ") then
  3691. emote = string.sub(msg, 8)
  3692. end
  3693.  
  3694. if (pose == "Standing" and emoteNames[emote] ~= nil) then
  3695. playAnimation(emote, 0.1, Humanoid)
  3696. end
  3697.  
  3698. end)
  3699.  
  3700.  
  3701. -- main program
  3702.  
  3703. -- initialize to idle
  3704. playAnimation("idle", 0.1, Humanoid)
  3705. pose = "Standing"
  3706.  
  3707. while Figure.Parent ~= nil do
  3708. local _, time = wait(0.1)
  3709. move(time)
  3710. end
  3711.  
  3712.  
  3713.  
  3714. end,o74)
  3715.  
  3716. o75.Name = "idle"
  3717. o75.Parent = o74
  3718. o76.Name = "Animation1"
  3719. o76.Parent = o75
  3720. o76.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  3721. o77.Name = "Weight"
  3722. o77.Parent = o76
  3723. o77.Value = 9
  3724. o78.Name = "Animation2"
  3725. o78.Parent = o75
  3726. o78.AnimationId = "http://www.roblox.com/asset/?id=180435792"
  3727. o79.Name = "Weight"
  3728. o79.Parent = o78
  3729. o79.Value = 1
  3730. o80.Name = "walk"
  3731. o80.Parent = o74
  3732. o81.Name = "WalkAnim"
  3733. o81.Parent = o80
  3734. o81.AnimationId = "http://www.roblox.com/asset/?id=180426354"
  3735. o82.Name = "run"
  3736. o82.Parent = o74
  3737. o83.Name = "RunAnim"
  3738. o83.Parent = o82
  3739. o83.AnimationId = "http://www.roblox.com/asset/?id=180426354"
  3740. o84.Name = "jump"
  3741. o84.Parent = o74
  3742. o85.Name = "JumpAnim"
  3743. o85.Parent = o84
  3744. o85.AnimationId = "http://www.roblox.com/asset/?id=125750702"
  3745. o86.Name = "climb"
  3746. o86.Parent = o74
  3747. o87.Name = "ClimbAnim"
  3748. o87.Parent = o86
  3749. o87.AnimationId = "http://www.roblox.com/asset/?id=180436334"
  3750. o88.Name = "toolnone"
  3751. o88.Parent = o74
  3752. o89.Name = "ToolNoneAnim"
  3753. o89.Parent = o88
  3754. o89.AnimationId = "http://www.roblox.com/asset/?id=182393478"
  3755. o90.Name = "fall"
  3756. o90.Parent = o74
  3757. o91.Name = "FallAnim"
  3758. o91.Parent = o90
  3759. o91.AnimationId = "http://www.roblox.com/asset/?id=180436148"
  3760. o92.Name = "sit"
  3761. o92.Parent = o74
  3762. o93.Name = "SitAnim"
  3763. o93.Parent = o92
  3764. o93.AnimationId = "http://www.roblox.com/asset/?id=178130996"
  3765. o94.Name = "ScaleDampeningPercent"
  3766. o94.Parent = o74
  3767. o94.Value = 0.39999997615814
  3768. o95.Parent = o14
  3769. o95.HeadColor = BrickColor.new("Pastel brown")
  3770. o95.LeftArmColor = BrickColor.new("Pastel brown")
  3771. o95.LeftLegColor = BrickColor.new("Pastel brown")
  3772. o95.RightArmColor = BrickColor.new("Pastel brown")
  3773. o95.RightLegColor = BrickColor.new("Pastel brown")
  3774. o95.TorsoColor = BrickColor.new("Pastel brown")
  3775. o96.Name = "Pants"
  3776. o96.Parent = o14
  3777. o96.PantsTemplate = "http://www.roblox.com/asset/?id=1439542143"
  3778. o98.Name = "Handle"
  3779. o98.Parent = mas
  3780. o98.Position = Vector3.new(-24.0806046, 6.87327433, 40.703331)
  3781. o98.Rotation = Vector3.new(-0.239999995, -34.9300003, -0.140000001)
  3782. o98.CanCollide = false
  3783. o98.Locked = true
  3784. o98.FormFactor = Enum.FormFactor.Custom
  3785. o98.Size = Vector3.new(1.45002651, 2.35999823, 1.24000001)
  3786. o98.CFrame = CFrame.new(-24.0806046, 6.87327433, 40.703331, 0.81987673, 0.00198863354, -0.572536647, -1.19155866e-05, 0.99999404, 0.00345628988, 0.572540045, -0.00282691, 0.819871843)
  3787. o98.BottomSurface = Enum.SurfaceType.Smooth
  3788. o98.TopSurface = Enum.SurfaceType.Smooth
  3789. o98.Position = Vector3.new(-24.0806046, 6.87327433, 40.703331)
  3790. o99.Parent = o98
  3791. o99.MeshId = "http://www.roblox.com/asset/?id=188565062 "
  3792. o99.TextureId = "http://www.roblox.com/asset/?id=188565095 "
  3793. o99.MeshType = Enum.MeshType.FileMesh
  3794. o101.Name = "OriginalSize"
  3795. o101.Parent = o98
  3796. o101.Value = Vector3.new(1.45002651, 2.35999823, 1.24000001)
  3797. o102.Name = "AccessoryWeld"
  3798. o102.Parent = o98
  3799. o102.C0 = CFrame.new(8.65748007e-09, 0.199999809, -0.0252722446, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  3800. o102.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  3801. o102.Part0 = o98
  3802. o102.Part1 = o15
  3803. o103.Name = "Shirt"
  3804. o103.Parent = o14
  3805. o103.ShirtTemplate = "http://www.roblox.com/asset/?id=1439532842"
  3806. mas.Parent = workspace
  3807. mas:MakeJoints()
  3808. local mas1 = mas:GetChildren()
  3809. for i=1,#mas1 do
  3810. mas1[i].Parent = workspace
  3811. ypcall(function() mas1[i]:MakeJoints() end)
  3812. end
  3813. mas:Destroy()
  3814. for i=1,#cors do
  3815. coroutine.resume(cors[i])
  3816. end
  3817. mess_handle.Text = "Resetting"
  3818. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  3819. v:LoadCharacter()
  3820. end
  3821. wait(1)
  3822. mess_handle:Remove()
  3823.  
  3824. end,o96)
  3825.  
  3826. o97.Parent = mas
  3827. o98.Name = "Infected"
  3828. o98.Parent = o97
  3829. o98.BrickColor = BrickColor.new("Bright violet")
  3830. o98.Position = Vector3.new(-28, 9.27394962, 73)
  3831. o98.Rotation = Vector3.new(0, -90, 0)
  3832. o98.Anchored = true
  3833. o98.FormFactor = Enum.FormFactor.Plate
  3834. o98.Size = Vector3.new(4, 1.20000005, 4)
  3835. o98.CFrame = CFrame.new(-28, 9.27394962, 73, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  3836. o98.TopSurface = Enum.SurfaceType.Smooth
  3837. o98.Color = Color3.new(0.419608, 0.196078, 0.486275)
  3838. o98.Position = Vector3.new(-28, 9.27394962, 73)
  3839. o99.Name = "Regen"
  3840. o99.Parent = o98
  3841.  
  3842. runDummyScript(function()
  3843. --Made by darkwings125, just group with the model to get it to work. This button also works for planes.
  3844. --Do not change anything besides the lines mentioned below.
  3845.  
  3846. model = script.Parent.Parent--Indicates that the script interacts with the model the button is grouped with.
  3847. messageText = ""--If you want a message to appear upon pressing, type it here.
  3848.  
  3849. message = Instance.new("Message")
  3850. message.Text = messageText
  3851. backup = model:clone()
  3852. enabled = true
  3853.  
  3854. function regenerate()
  3855. message.Parent = game.Workspace
  3856. model:remove()
  3857.  
  3858. wait(0.1)--Change this number to display the regen message as long as you want in seconds.
  3859.  
  3860. model = backup:clone()
  3861. model.Parent = game.Workspace
  3862. model:makeJoints()
  3863. message.Parent = nil
  3864.  
  3865. script.Disabled = true
  3866. script.Parent.BrickColor = BrickColor.new(26)--Black
  3867. wait(5)--Change this number to change the time in between regenerations via the button, in seconds..
  3868. script.Parent.BrickColor = BrickColor.new(104)--Purple
  3869. script.Disabled = false
  3870. end
  3871.  
  3872. function onHit(hit)
  3873. if (hit.Parent:FindFirstChild("Humanoid") ~= nil) and enabled then
  3874. regenerate()
  3875. end
  3876. end
  3877.  
  3878. script.Parent.Touched:connect(onHit)
  3879.  
  3880. --And it's done. If there's anything wrong with this button, PM me. -EdduTheArdo
  3881. end,o99)
  3882.  
  3883. o100.Name = "GoldenMechV2"
  3884. o100.Parent = o97
  3885. o101.Parent = o100
  3886. o101.BrickColor = BrickColor.new("Really black")
  3887. o101.Position = Vector3.new(-43.4783554, 7.46022511, 44.9495049)
  3888. o101.Rotation = Vector3.new(-179.959991, -3.31999993, 179.899994)
  3889. o101.FormFactor = Enum.FormFactor.Symmetric
  3890. o101.Size = Vector3.new(7, 3, 7)
  3891. o101.CFrame = CFrame.new(-43.4783554, 7.46022511, 44.9495049, -0.99831754, -0.00174688792, -0.0579567961, -0.00179327442, 0.999998093, 0.000748362683, 0.0579553805, 0.000851036049, -0.998318791)
  3892. o101.BottomSurface = Enum.SurfaceType.Smooth
  3893. o101.TopSurface = Enum.SurfaceType.Smooth
  3894. o101.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  3895. o101.Position = Vector3.new(-43.4783554, 7.46022511, 44.9495049)
  3896. o102.Parent = o100
  3897. o102.BrickColor = BrickColor.new("Bright red")
  3898. o102.Position = Vector3.new(-22.9255829, 33.2069778, 32.2562599)
  3899. o102.Rotation = Vector3.new(-89.9499969, -0.099999994, -86.6800003)
  3900. o102.FormFactor = Enum.FormFactor.Symmetric
  3901. o102.Size = Vector3.new(2, 6, 2)
  3902. o102.CFrame = CFrame.new(-22.9255829, 33.2069778, 32.2562599, 0.0579567961, 0.99831754, -0.00174688792, -0.000748362683, 0.00179327442, 0.999998093, 0.998318791, -0.0579553805, 0.000851036049)
  3903. o102.BottomSurface = Enum.SurfaceType.Weld
  3904. o102.TopSurface = Enum.SurfaceType.Smooth
  3905. o102.Color = Color3.new(0.768628, 0.156863, 0.109804)
  3906. o102.Position = Vector3.new(-22.9255829, 33.2069778, 32.2562599)
  3907. o103.Parent = o102
  3908. o103.Scale = Vector3.new(0.600000024, 1, 0.600000024)
  3909. o104.Parent = o100
  3910. o104.BrickColor = BrickColor.new("Bright red")
  3911. o104.Position = Vector3.new(-48.0344276, 40.1448364, 53.7528191)
  3912. o104.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  3913. o104.FormFactor = Enum.FormFactor.Symmetric
  3914. o104.Size = Vector3.new(10, 8, 3)
  3915. o104.CFrame = CFrame.new(-48.0344276, 40.1448364, 53.7528191, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  3916. o104.BottomSurface = Enum.SurfaceType.Weld
  3917. o104.TopSurface = Enum.SurfaceType.Smooth
  3918. o104.Color = Color3.new(0.768628, 0.156863, 0.109804)
  3919. o104.Position = Vector3.new(-48.0344276, 40.1448364, 53.7528191)
  3920. o105.Parent = o104
  3921. o105.Texture = "http://www.roblox.com/asset/?id=26729786"
  3922. o105.Face = Enum.NormalId.Back
  3923. o106.Parent = o100
  3924. o106.BrickColor = BrickColor.new("Bright red")
  3925. o106.Position = Vector3.new(-29.1571808, 31.1582794, 76.6905899)
  3926. o106.Rotation = Vector3.new(-89.9499969, -0.099999994, -86.6800003)
  3927. o106.FormFactor = Enum.FormFactor.Symmetric
  3928. o106.Size = Vector3.new(2, 10, 2)
  3929. o106.CFrame = CFrame.new(-29.1571808, 31.1582794, 76.6905899, 0.0579567961, 0.99831754, -0.00174688792, -0.000748362683, 0.00179327442, 0.999998093, 0.998318791, -0.0579553805, 0.000851036049)
  3930. o106.BottomSurface = Enum.SurfaceType.Weld
  3931. o106.TopSurface = Enum.SurfaceType.Smooth
  3932. o106.Color = Color3.new(0.768628, 0.156863, 0.109804)
  3933. o106.Position = Vector3.new(-29.1571808, 31.1582794, 76.6905899)
  3934. o107.Parent = o106
  3935. o107.Scale = Vector3.new(0.600000024, 1, 0.600000024)
  3936. o108.Name = "Missile"
  3937. o108.Parent = o100
  3938. o109.Name = "Button"
  3939. o109.Parent = o108
  3940. o110.Name = "Button"
  3941. o110.Parent = o109
  3942. o110.BrickColor = BrickColor.new("Bright green")
  3943. o110.Reflectance = 0.5
  3944. o110.Position = Vector3.new(-46.6083717, 57.1597786, 39.1583672)
  3945. o110.Rotation = Vector3.new(90.0499954, 0.099999994, 86.6800003)
  3946. o110.FormFactor = Enum.FormFactor.Plate
  3947. o110.Size = Vector3.new(3, 0.400000006, 2)
  3948. o110.CFrame = CFrame.new(-46.6083717, 57.1597786, 39.1583672, 0.0579567961, -0.99831754, 0.00174688792, -0.000748362683, -0.00179327442, -0.999998093, 0.998318791, 0.0579553805, -0.000851036049)
  3949. o110.BottomSurface = Enum.SurfaceType.Weld
  3950. o110.TopSurface = Enum.SurfaceType.Smooth
  3951. o110.Color = Color3.new(0.294118, 0.592157, 0.294118)
  3952. o110.Position = Vector3.new(-46.6083717, 57.1597786, 39.1583672)
  3953. o111.Parent = o110
  3954. o111.MaxActivationDistance = 50
  3955. o112.Name = "Missile"
  3956. o112.Parent = o110
  3957.  
  3958. runDummyScript(function()
  3959. -- Cannon by TankLeadfoot
  3960.  
  3961. local b = Instance.new("Part")
  3962. b.Name = "Missile"
  3963. b.Size = Vector3.new(2, 2, 6)
  3964. b.Color = Color3.new(0, 0, 0)
  3965. b.CanCollide = true
  3966. b.Anchored = false
  3967. b.Shape = 1
  3968. b.formFactor = 0
  3969. b.BackSurface = 0
  3970. b.BottomSurface = 0
  3971. b.FrontSurface = 0
  3972. b.LeftSurface = 0
  3973. b.RightSurface = 0
  3974. b.TopSurface = 0
  3975.  
  3976. local m = Instance.new("SpecialMesh")
  3977. m.MeshType = 3
  3978. m.Parent = b
  3979.  
  3980. while (script:findFirstChild("Explosion") == nil) do wait(0.1) end
  3981. script.Explosion:Clone().Parent = b
  3982. while (script:findFirstChild("Swoosh") == nil) do wait(0.1) end
  3983. script.Swoosh:Clone().Parent = b
  3984. while (script:findFirstChild("Missile") == nil) do wait(0.1) end
  3985. script.Missile:Clone().Parent = b
  3986.  
  3987. while (b:findFirstChild("Swoosh") == nil) do wait(0.1) end
  3988. b.Swoosh:Play()
  3989.  
  3990. local Lock = nil
  3991.  
  3992. script.Parent.BrickColor = BrickColor.new(37)
  3993.  
  3994. script.Parent.ClickDetector.MouseClick:connect(function()
  3995. if (Lock == nil) and (script.Parent.Parent.Parent.Missiles:findFirstChild("Missile"..script.Parent.Clip.Value) ~= nil) then
  3996. Lock = true
  3997. script.Parent.BrickColor = BrickColor.new(21)
  3998.  
  3999. b.CFrame = script.Parent.Parent.Parent.Missiles:findFirstChild("Missile"..script.Parent.Clip.Value).CFrame + (script.Parent.Parent.Parent.Missiles.Missile1.CFrame.lookVector).unit * 5
  4000. b.Velocity = (script.Parent.Parent.Parent.Missiles.Missile1.CFrame.lookVector).unit * 500
  4001. b:Clone().Parent = game.Workspace
  4002.  
  4003.  
  4004. script.Parent.Clip.Value = script.Parent.Clip.Value - 1
  4005.  
  4006. if (script.Parent.Clip.Value <= 0) then
  4007. script.Parent.Clip.Value = 6
  4008. script.Parent.BrickColor = BrickColor.new(4)
  4009. wait(360)
  4010. else
  4011. wait(2)
  4012. end
  4013.  
  4014. script.Parent.BrickColor = BrickColor.new(37)
  4015. Lock = nil
  4016. end
  4017. end)
  4018.  
  4019. end,o112)
  4020.  
  4021. o113.Name = "Missile"
  4022. o113.Parent = o112
  4023.  
  4024. runDummyScript(function()
  4025. -- Cannon Ball by TankLeadfoot
  4026.  
  4027. local b = Instance.new("Explosion")
  4028. b.Name = "Boom"
  4029. b.BlastRadius = 50
  4030.  
  4031. local Lock = nil
  4032.  
  4033. function onTouch(hit)
  4034. if (Lock == nil) then
  4035. Lock = true
  4036. script.Parent.Anchored = true
  4037. script.Parent.CanCollide = false
  4038. script.Parent.Transparency = 1
  4039.  
  4040. if (script.Parent:findFirstChild("Explosion") ~= nil) then
  4041. script.Parent.Explosion:Play()
  4042. end
  4043. b.Position = script.Parent.Position
  4044. b:Clone().Parent = script.Parent
  4045.  
  4046. wait(1)
  4047. script.Parent:Remove()
  4048. end
  4049. end
  4050.  
  4051. script.Parent.Touched:connect(onTouch)
  4052.  
  4053. end,o113)
  4054.  
  4055. o114.Name = "Explosion"
  4056. o114.Parent = o112
  4057. o114.SoundId = "rbxasset://sounds/collide.wav"
  4058. o114.Volume = 1
  4059. o115.Name = "Swoosh"
  4060. o115.Parent = o112
  4061. o115.SoundId = "rbxasset://sounds/Rocket whoosh 01.wav"
  4062. o115.Volume = 1
  4063. o115.Looped = true
  4064. o116.Name = "Clip"
  4065. o116.Parent = o110
  4066. o116.Value = 4
  4067. o117.Name = "Missiles"
  4068. o117.Parent = o108
  4069. o118.Name = "Missile6"
  4070. o118.Parent = o117
  4071. o118.Transparency = 1
  4072. o118.Position = Vector3.new(-37.3524323, 58.6738472, 41.6272049)
  4073. o118.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4074. o118.CanCollide = false
  4075. o118.FormFactor = Enum.FormFactor.Symmetric
  4076. o118.Size = Vector3.new(1, 1, 1)
  4077. o118.CFrame = CFrame.new(-37.3524323, 58.6738472, 41.6272049, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4078. o118.BackSurface = Enum.SurfaceType.Weld
  4079. o118.BottomSurface = Enum.SurfaceType.Smooth
  4080. o118.TopSurface = Enum.SurfaceType.Smooth
  4081. o118.Position = Vector3.new(-37.3524323, 58.6738472, 41.6272049)
  4082. o119.Name = "Missile5"
  4083. o119.Parent = o117
  4084. o119.BrickColor = BrickColor.new("Bright red")
  4085. o119.Transparency = 1
  4086. o119.Position = Vector3.new(-37.5263062, 58.6760941, 38.6322479)
  4087. o119.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4088. o119.CanCollide = false
  4089. o119.FormFactor = Enum.FormFactor.Symmetric
  4090. o119.Size = Vector3.new(1, 1, 1)
  4091. o119.CFrame = CFrame.new(-37.5263062, 58.6760941, 38.6322479, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4092. o119.BackSurface = Enum.SurfaceType.Weld
  4093. o119.BottomSurface = Enum.SurfaceType.Smooth
  4094. o119.TopSurface = Enum.SurfaceType.Smooth
  4095. o119.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4096. o119.Position = Vector3.new(-37.5263062, 58.6760941, 38.6322479)
  4097. o120.Name = "Missile4"
  4098. o120.Parent = o117
  4099. o120.Transparency = 1
  4100. o120.Position = Vector3.new(-37.7001762, 58.6783371, 35.6372948)
  4101. o120.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4102. o120.CanCollide = false
  4103. o120.FormFactor = Enum.FormFactor.Symmetric
  4104. o120.Size = Vector3.new(1, 1, 1)
  4105. o120.CFrame = CFrame.new(-37.7001762, 58.6783371, 35.6372948, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4106. o120.BackSurface = Enum.SurfaceType.Weld
  4107. o120.BottomSurface = Enum.SurfaceType.Smooth
  4108. o120.TopSurface = Enum.SurfaceType.Smooth
  4109. o120.Position = Vector3.new(-37.7001762, 58.6783371, 35.6372948)
  4110. o121.Name = "Missile3"
  4111. o121.Parent = o117
  4112. o121.Transparency = 1
  4113. o121.Position = Vector3.new(-37.3471947, 55.6738548, 41.6246529)
  4114. o121.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4115. o121.CanCollide = false
  4116. o121.FormFactor = Enum.FormFactor.Symmetric
  4117. o121.Size = Vector3.new(1, 1, 1)
  4118. o121.CFrame = CFrame.new(-37.3471947, 55.6738548, 41.6246529, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4119. o121.BackSurface = Enum.SurfaceType.Weld
  4120. o121.BottomSurface = Enum.SurfaceType.Smooth
  4121. o121.TopSurface = Enum.SurfaceType.Smooth
  4122. o121.Position = Vector3.new(-37.3471947, 55.6738548, 41.6246529)
  4123. o122.Name = "Missile2"
  4124. o122.Parent = o117
  4125. o122.Transparency = 1
  4126. o122.Position = Vector3.new(-37.5210648, 55.6760979, 38.6296959)
  4127. o122.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4128. o122.CanCollide = false
  4129. o122.FormFactor = Enum.FormFactor.Symmetric
  4130. o122.Size = Vector3.new(1, 1, 1)
  4131. o122.CFrame = CFrame.new(-37.5210648, 55.6760979, 38.6296959, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4132. o122.BackSurface = Enum.SurfaceType.Weld
  4133. o122.BottomSurface = Enum.SurfaceType.Smooth
  4134. o122.TopSurface = Enum.SurfaceType.Smooth
  4135. o122.Position = Vector3.new(-37.5210648, 55.6760979, 38.6296959)
  4136. o123.Name = "Missile1"
  4137. o123.Parent = o117
  4138. o123.Transparency = 1
  4139. o123.Position = Vector3.new(-37.6949348, 55.6783447, 35.6347389)
  4140. o123.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4141. o123.CanCollide = false
  4142. o123.FormFactor = Enum.FormFactor.Symmetric
  4143. o123.Size = Vector3.new(1, 1, 1)
  4144. o123.CFrame = CFrame.new(-37.6949348, 55.6783447, 35.6347389, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4145. o123.BackSurface = Enum.SurfaceType.Weld
  4146. o123.BottomSurface = Enum.SurfaceType.Smooth
  4147. o123.TopSurface = Enum.SurfaceType.Smooth
  4148. o123.Position = Vector3.new(-37.6949348, 55.6783447, 35.6347389)
  4149. o124.Name = "Missile"
  4150. o124.Parent = o100
  4151. o125.Name = "Button"
  4152. o125.Parent = o124
  4153. o126.Name = "Button"
  4154. o126.Parent = o125
  4155. o126.BrickColor = BrickColor.new("Bright green")
  4156. o126.Reflectance = 0.5
  4157. o126.Position = Vector3.new(-44.9276237, 57.1380806, 68.1096191)
  4158. o126.Rotation = Vector3.new(90.0499954, 0.099999994, 86.6800003)
  4159. o126.FormFactor = Enum.FormFactor.Plate
  4160. o126.Size = Vector3.new(3, 0.400000006, 2)
  4161. o126.CFrame = CFrame.new(-44.9276237, 57.1380806, 68.1096191, 0.0579567961, -0.99831754, 0.00174688792, -0.000748362683, -0.00179327442, -0.999998093, 0.998318791, 0.0579553805, -0.000851036049)
  4162. o126.BottomSurface = Enum.SurfaceType.Weld
  4163. o126.TopSurface = Enum.SurfaceType.Smooth
  4164. o126.Color = Color3.new(0.294118, 0.592157, 0.294118)
  4165. o126.Position = Vector3.new(-44.9276237, 57.1380806, 68.1096191)
  4166. o127.Parent = o126
  4167. o127.MaxActivationDistance = 50
  4168. o128.Name = "Missile"
  4169. o128.Parent = o126
  4170.  
  4171. runDummyScript(function()
  4172. -- Cannon by TankLeadfoot
  4173.  
  4174. local b = Instance.new("Part")
  4175. b.Name = "Missile"
  4176. b.Size = Vector3.new(2, 2, 6)
  4177. b.Color = Color3.new(0, 0, 0)
  4178. b.CanCollide = true
  4179. b.Anchored = false
  4180. b.Shape = 1
  4181. b.formFactor = 0
  4182. b.BackSurface = 0
  4183. b.BottomSurface = 0
  4184. b.FrontSurface = 0
  4185. b.LeftSurface = 0
  4186. b.RightSurface = 0
  4187. b.TopSurface = 0
  4188.  
  4189. local m = Instance.new("SpecialMesh")
  4190. m.MeshType = 3
  4191. m.Parent = b
  4192.  
  4193. while (script:findFirstChild("Explosion") == nil) do wait(0.1) end
  4194. script.Explosion:Clone().Parent = b
  4195. while (script:findFirstChild("Swoosh") == nil) do wait(0.1) end
  4196. script.Swoosh:Clone().Parent = b
  4197. while (script:findFirstChild("Missile") == nil) do wait(0.1) end
  4198. script.Missile:Clone().Parent = b
  4199.  
  4200. while (b:findFirstChild("Swoosh") == nil) do wait(0.1) end
  4201. b.Swoosh:Play()
  4202.  
  4203. local Lock = nil
  4204.  
  4205. script.Parent.BrickColor = BrickColor.new(37)
  4206.  
  4207. script.Parent.ClickDetector.MouseClick:connect(function()
  4208. if (Lock == nil) and (script.Parent.Parent.Parent.Missiles:findFirstChild("Missile"..script.Parent.Clip.Value) ~= nil) then
  4209. Lock = true
  4210. script.Parent.BrickColor = BrickColor.new(21)
  4211.  
  4212. b.CFrame = script.Parent.Parent.Parent.Missiles:findFirstChild("Missile"..script.Parent.Clip.Value).CFrame + (script.Parent.Parent.Parent.Missiles.Missile1.CFrame.lookVector).unit * 5
  4213. b.Velocity = (script.Parent.Parent.Parent.Missiles.Missile1.CFrame.lookVector).unit * 500
  4214. b:Clone().Parent = game.Workspace
  4215.  
  4216.  
  4217. script.Parent.Clip.Value = script.Parent.Clip.Value - 1
  4218.  
  4219. if (script.Parent.Clip.Value <= 0) then
  4220. script.Parent.Clip.Value = 6
  4221. script.Parent.BrickColor = BrickColor.new(4)
  4222. wait(360)
  4223. else
  4224. wait(2)
  4225. end
  4226.  
  4227. script.Parent.BrickColor = BrickColor.new(37)
  4228. Lock = nil
  4229. end
  4230. end)
  4231.  
  4232. end,o128)
  4233.  
  4234. o129.Name = "Missile"
  4235. o129.Parent = o128
  4236.  
  4237. runDummyScript(function()
  4238. -- Cannon Ball by TankLeadfoot
  4239.  
  4240. local b = Instance.new("Explosion")
  4241. b.Name = "Boom"
  4242. b.BlastRadius = 50
  4243.  
  4244. local Lock = nil
  4245.  
  4246. function onTouch(hit)
  4247. if (Lock == nil) then
  4248. Lock = true
  4249. script.Parent.Anchored = true
  4250. script.Parent.CanCollide = false
  4251. script.Parent.Transparency = 1
  4252.  
  4253. if (script.Parent:findFirstChild("Explosion") ~= nil) then
  4254. script.Parent.Explosion:Play()
  4255. end
  4256. b.Position = script.Parent.Position
  4257. b:Clone().Parent = script.Parent
  4258.  
  4259. wait(1)
  4260. script.Parent:Remove()
  4261. end
  4262. end
  4263.  
  4264. script.Parent.Touched:connect(onTouch)
  4265.  
  4266. end,o129)
  4267.  
  4268. o130.Name = "Explosion"
  4269. o130.Parent = o128
  4270. o130.SoundId = "rbxasset://sounds/collide.wav"
  4271. o130.Volume = 1
  4272. o131.Name = "Swoosh"
  4273. o131.Parent = o128
  4274. o131.SoundId = "rbxasset://sounds/Rocket whoosh 01.wav"
  4275. o131.Volume = 1
  4276. o131.Looped = true
  4277. o132.Name = "Clip"
  4278. o132.Parent = o126
  4279. o132.Value = 4
  4280. o133.Name = "Missiles"
  4281. o133.Parent = o124
  4282. o134.Name = "Missile6"
  4283. o134.Parent = o133
  4284. o134.Transparency = 1
  4285. o134.Position = Vector3.new(-35.6716843, 58.6521492, 70.5784607)
  4286. o134.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4287. o134.CanCollide = false
  4288. o134.FormFactor = Enum.FormFactor.Symmetric
  4289. o134.Size = Vector3.new(1, 1, 1)
  4290. o134.CFrame = CFrame.new(-35.6716843, 58.6521492, 70.5784607, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4291. o134.BackSurface = Enum.SurfaceType.Weld
  4292. o134.BottomSurface = Enum.SurfaceType.Smooth
  4293. o134.TopSurface = Enum.SurfaceType.Smooth
  4294. o134.Position = Vector3.new(-35.6716843, 58.6521492, 70.5784607)
  4295. o135.Name = "Missile5"
  4296. o135.Parent = o133
  4297. o135.Transparency = 1
  4298. o135.Position = Vector3.new(-35.8455582, 58.6543961, 67.5835037)
  4299. o135.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4300. o135.CanCollide = false
  4301. o135.FormFactor = Enum.FormFactor.Symmetric
  4302. o135.Size = Vector3.new(1, 1, 1)
  4303. o135.CFrame = CFrame.new(-35.8455582, 58.6543961, 67.5835037, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4304. o135.BackSurface = Enum.SurfaceType.Weld
  4305. o135.BottomSurface = Enum.SurfaceType.Smooth
  4306. o135.TopSurface = Enum.SurfaceType.Smooth
  4307. o135.Position = Vector3.new(-35.8455582, 58.6543961, 67.5835037)
  4308. o136.Name = "Missile4"
  4309. o136.Parent = o133
  4310. o136.BrickColor = BrickColor.new("Bright red")
  4311. o136.Transparency = 1
  4312. o136.Position = Vector3.new(-36.0194283, 58.6566391, 64.5885468)
  4313. o136.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4314. o136.CanCollide = false
  4315. o136.FormFactor = Enum.FormFactor.Symmetric
  4316. o136.Size = Vector3.new(1, 1, 1)
  4317. o136.CFrame = CFrame.new(-36.0194283, 58.6566391, 64.5885468, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4318. o136.BackSurface = Enum.SurfaceType.Weld
  4319. o136.BottomSurface = Enum.SurfaceType.Smooth
  4320. o136.TopSurface = Enum.SurfaceType.Smooth
  4321. o136.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4322. o136.Position = Vector3.new(-36.0194283, 58.6566391, 64.5885468)
  4323. o137.Name = "Missile3"
  4324. o137.Parent = o133
  4325. o137.Transparency = 1
  4326. o137.Position = Vector3.new(-35.6664467, 55.6521568, 70.5759048)
  4327. o137.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4328. o137.CanCollide = false
  4329. o137.FormFactor = Enum.FormFactor.Symmetric
  4330. o137.Size = Vector3.new(1, 1, 1)
  4331. o137.CFrame = CFrame.new(-35.6664467, 55.6521568, 70.5759048, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4332. o137.BackSurface = Enum.SurfaceType.Weld
  4333. o137.BottomSurface = Enum.SurfaceType.Smooth
  4334. o137.TopSurface = Enum.SurfaceType.Smooth
  4335. o137.Position = Vector3.new(-35.6664467, 55.6521568, 70.5759048)
  4336. o138.Name = "Missile2"
  4337. o138.Parent = o133
  4338. o138.Transparency = 1
  4339. o138.Position = Vector3.new(-35.8403168, 55.6543999, 67.5809479)
  4340. o138.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4341. o138.CanCollide = false
  4342. o138.FormFactor = Enum.FormFactor.Symmetric
  4343. o138.Size = Vector3.new(1, 1, 1)
  4344. o138.CFrame = CFrame.new(-35.8403168, 55.6543999, 67.5809479, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4345. o138.BackSurface = Enum.SurfaceType.Weld
  4346. o138.BottomSurface = Enum.SurfaceType.Smooth
  4347. o138.TopSurface = Enum.SurfaceType.Smooth
  4348. o138.Position = Vector3.new(-35.8403168, 55.6543999, 67.5809479)
  4349. o139.Name = "Missile1"
  4350. o139.Parent = o133
  4351. o139.Transparency = 1
  4352. o139.Position = Vector3.new(-36.0141869, 55.6566467, 64.5859909)
  4353. o139.Rotation = Vector3.new(1.76999998, -86.6800003, 1.73000002)
  4354. o139.CanCollide = false
  4355. o139.FormFactor = Enum.FormFactor.Symmetric
  4356. o139.Size = Vector3.new(1, 1, 1)
  4357. o139.CFrame = CFrame.new(-36.0141869, 55.6566467, 64.5859909, 0.0579567961, -0.00174688792, -0.99831754, -0.000748362683, 0.999998093, -0.00179327442, 0.998318791, 0.000851036049, 0.0579553805)
  4358. o139.BackSurface = Enum.SurfaceType.Weld
  4359. o139.BottomSurface = Enum.SurfaceType.Smooth
  4360. o139.TopSurface = Enum.SurfaceType.Smooth
  4361. o139.Position = Vector3.new(-36.0141869, 55.6566467, 64.5859909)
  4362. o140.Parent = o100
  4363. o140.BrickColor = BrickColor.new("Bright red")
  4364. o140.Position = Vector3.new(-43.6037216, 29.4613075, 43.4707489)
  4365. o140.Rotation = Vector3.new(0.0399999991, 3.31999993, 0.099999994)
  4366. o140.FormFactor = Enum.FormFactor.Symmetric
  4367. o140.Size = Vector3.new(7, 3, 4)
  4368. o140.CFrame = CFrame.new(-43.6037216, 29.4613075, 43.4707489, 0.99831754, -0.00174688792, 0.0579567961, 0.00179327442, 0.999998093, -0.000748362683, -0.0579553805, 0.000851036049, 0.998318791)
  4369. o140.BackSurface = Enum.SurfaceType.Weld
  4370. o140.BottomSurface = Enum.SurfaceType.Weld
  4371. o140.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4372. o140.Position = Vector3.new(-43.6037216, 29.4613075, 43.4707489)
  4373. o141.Parent = o100
  4374. o141.BrickColor = BrickColor.new("Bright red")
  4375. o141.Position = Vector3.new(-30.4933071, 3.49379253, 44.1926575)
  4376. o141.Rotation = Vector3.new(90.8499985, 13.5499992, 86.5800018)
  4377. o141.FormFactor = Enum.FormFactor.Symmetric
  4378. o141.Shape = Enum.PartType.Cylinder
  4379. o141.Size = Vector3.new(3, 3, 3)
  4380. o141.CFrame = CFrame.new(-30.4933071, 3.49379253, 44.1926575, 0.057942111, -0.970421553, 0.234360203, -0.000789284939, -0.234799057, -0.972043633, 0.998319626, 0.0561372824, -0.0143706929)
  4381. o141.BottomSurface = Enum.SurfaceType.Smooth
  4382. o141.LeftSurface = Enum.SurfaceType.Hinge
  4383. o141.RightSurface = Enum.SurfaceType.Hinge
  4384. o141.TopSurface = Enum.SurfaceType.Smooth
  4385. o141.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4386. o141.Position = Vector3.new(-30.4933071, 3.49379253, 44.1926575)
  4387. o142.Parent = o100
  4388. o142.BrickColor = BrickColor.new("Bright red")
  4389. o142.Position = Vector3.new(-29.5079994, 3.49877977, 61.1640854)
  4390. o142.Rotation = Vector3.new(88.5699997, -24.2600002, 86.3600006)
  4391. o142.FormFactor = Enum.FormFactor.Symmetric
  4392. o142.Shape = Enum.PartType.Cylinder
  4393. o142.Size = Vector3.new(3, 3, 3)
  4394. o142.CFrame = CFrame.new(-29.5079994, 3.49877977, 61.1640854, 0.057957951, -0.909877658, -0.410808414, -0.00118278491, 0.411437273, -0.911437333, 0.998318315, 0.0533109382, 0.0227698702)
  4395. o142.BottomSurface = Enum.SurfaceType.Smooth
  4396. o142.LeftSurface = Enum.SurfaceType.Hinge
  4397. o142.RightSurface = Enum.SurfaceType.Hinge
  4398. o142.TopSurface = Enum.SurfaceType.Smooth
  4399. o142.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4400. o142.Position = Vector3.new(-29.5079994, 3.49877977, 61.1640854)
  4401. o143.Parent = o100
  4402. o143.BrickColor = BrickColor.new("Bright red")
  4403. o143.Position = Vector3.new(-35.4849129, 3.49484396, 44.4824371)
  4404. o143.Rotation = Vector3.new(92.1399994, 32.1199989, 86.0800018)
  4405. o143.FormFactor = Enum.FormFactor.Symmetric
  4406. o143.Shape = Enum.PartType.Cylinder
  4407. o143.Size = Vector3.new(3, 3, 3)
  4408. o143.CFrame = CFrame.new(-35.4849129, 3.49484396, 44.4824371, 0.0579487942, -0.844944894, 0.531704843, -0.000840289518, -0.532640934, -0.846340895, 0.998319209, 0.0485976487, -0.0315758958)
  4409. o143.BottomSurface = Enum.SurfaceType.Smooth
  4410. o143.LeftSurface = Enum.SurfaceType.Hinge
  4411. o143.RightSurface = Enum.SurfaceType.Hinge
  4412. o143.TopSurface = Enum.SurfaceType.Smooth
  4413. o143.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4414. o143.Position = Vector3.new(-35.4849129, 3.49484396, 44.4824371)
  4415. o144.Parent = o100
  4416. o144.BrickColor = BrickColor.new("Bright red")
  4417. o144.Position = Vector3.new(-34.4996338, 3.48213696, 61.4538383)
  4418. o144.Rotation = Vector3.new(95.3399963, 57.8199997, 83.75)
  4419. o144.FormFactor = Enum.FormFactor.Symmetric
  4420. o144.Shape = Enum.PartType.Cylinder
  4421. o144.Size = Vector3.new(3, 3, 3)
  4422. o144.CFrame = CFrame.new(-34.4996338, 3.48213696, 61.4538383, 0.0579573996, -0.52945894, 0.846353412, -0.000790686347, -0.847802579, -0.530311346, 0.998318732, 0.0300662667, -0.049555067)
  4423. o144.BottomSurface = Enum.SurfaceType.Smooth
  4424. o144.LeftSurface = Enum.SurfaceType.Hinge
  4425. o144.RightSurface = Enum.SurfaceType.Hinge
  4426. o144.TopSurface = Enum.SurfaceType.Smooth
  4427. o144.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4428. o144.Position = Vector3.new(-34.4996338, 3.48213696, 61.4538383)
  4429. o145.Parent = o100
  4430. o145.BrickColor = BrickColor.new("Bright red")
  4431. o145.Position = Vector3.new(-39.4781761, 3.487674, 44.7142754)
  4432. o145.Rotation = Vector3.new(122.129997, 83.7599945, 57.7599983)
  4433. o145.FormFactor = Enum.FormFactor.Symmetric
  4434. o145.Shape = Enum.PartType.Cylinder
  4435. o145.Size = Vector3.new(3, 3, 3)
  4436. o145.CFrame = CFrame.new(-39.4781761, 3.487674, 44.7142754, 0.0579589233, -0.0918883085, 0.99408114, -0.000783773605, -0.995758891, -0.0919976979, 0.998318672, 0.00455295295, -0.0577851348)
  4437. o145.BottomSurface = Enum.SurfaceType.Smooth
  4438. o145.LeftSurface = Enum.SurfaceType.Hinge
  4439. o145.RightSurface = Enum.SurfaceType.Hinge
  4440. o145.TopSurface = Enum.SurfaceType.Smooth
  4441. o145.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4442. o145.Position = Vector3.new(-39.4781761, 3.487674, 44.7142754)
  4443. o146.Parent = o100
  4444. o146.BrickColor = BrickColor.new("Bright red")
  4445. o146.Position = Vector3.new(-38.492897, 3.47495151, 61.6856308)
  4446. o146.Rotation = Vector3.new(-89.5400009, -7.08999968, -86.6500015)
  4447. o146.FormFactor = Enum.FormFactor.Symmetric
  4448. o146.Shape = Enum.PartType.Cylinder
  4449. o146.Size = Vector3.new(3, 3, 3)
  4450. o146.CFrame = CFrame.new(-38.492897, 3.47495151, 61.6856308, 0.0579508133, 0.990654528, -0.123471893, -0.000766836922, 0.123723879, 0.992316365, 0.998319149, -0.0574108586, 0.00792957004)
  4451. o146.BottomSurface = Enum.SurfaceType.Smooth
  4452. o146.LeftSurface = Enum.SurfaceType.Hinge
  4453. o146.RightSurface = Enum.SurfaceType.Hinge
  4454. o146.TopSurface = Enum.SurfaceType.Smooth
  4455. o146.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4456. o146.Position = Vector3.new(-38.492897, 3.47495151, 61.6856308)
  4457. o147.Parent = o100
  4458. o147.BrickColor = BrickColor.new("Really black")
  4459. o147.Position = Vector3.new(-42.1205292, 4.46479177, 42.3642235)
  4460. o147.Rotation = Vector3.new(-179.959991, -3.31999993, 179.899994)
  4461. o147.FormFactor = Enum.FormFactor.Symmetric
  4462. o147.Size = Vector3.new(24, 3, 2)
  4463. o147.CFrame = CFrame.new(-42.1205292, 4.46479177, 42.3642235, -0.99831754, -0.00174688792, -0.0579567961, -0.00179327442, 0.999998093, 0.000748362683, 0.0579553805, 0.000851036049, -0.998318791)
  4464. o147.BackSurface = Enum.SurfaceType.Weld
  4465. o147.BottomSurface = Enum.SurfaceType.Smooth
  4466. o147.TopSurface = Enum.SurfaceType.Weld
  4467. o147.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  4468. o147.Position = Vector3.new(-42.1205292, 4.46479177, 42.3642235)
  4469. o148.Parent = o100
  4470. o148.BrickColor = BrickColor.new("Bright red")
  4471. o148.Position = Vector3.new(-44.4697685, 3.4786973, 45.0040512)
  4472. o148.Rotation = Vector3.new(80.2299957, -71.1800003, 79.6500015)
  4473. o148.FormFactor = Enum.FormFactor.Symmetric
  4474. o148.Shape = Enum.PartType.Cylinder
  4475. o148.Size = Vector3.new(3, 3, 3)
  4476. o148.CFrame = CFrame.new(-44.4697685, 3.4786973, 45.0040512, 0.057945665, -0.317266703, -0.946564376, -0.000719263277, 0.948144019, -0.317840219, 0.998319507, 0.0190982912, 0.0547126345)
  4477. o148.BottomSurface = Enum.SurfaceType.Smooth
  4478. o148.LeftSurface = Enum.SurfaceType.Hinge
  4479. o148.RightSurface = Enum.SurfaceType.Hinge
  4480. o148.TopSurface = Enum.SurfaceType.Smooth
  4481. o148.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4482. o148.Position = Vector3.new(-44.4697685, 3.4786973, 45.0040512)
  4483. o149.Parent = o100
  4484. o149.BrickColor = BrickColor.new("Really black")
  4485. o149.Position = Vector3.new(-41.8307457, 4.46105003, 47.3558159)
  4486. o149.Rotation = Vector3.new(-179.959991, -3.31999993, 179.899994)
  4487. o149.FormFactor = Enum.FormFactor.Symmetric
  4488. o149.Size = Vector3.new(24, 3, 2)
  4489. o149.CFrame = CFrame.new(-41.8307457, 4.46105003, 47.3558159, -0.99831754, -0.00174688792, -0.0579567961, -0.00179327442, 0.999998093, 0.000748362683, 0.0579553805, 0.000851036049, -0.998318791)
  4490. o149.BottomSurface = Enum.SurfaceType.Smooth
  4491. o149.FrontSurface = Enum.SurfaceType.Weld
  4492. o149.TopSurface = Enum.SurfaceType.Weld
  4493. o149.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  4494. o149.Position = Vector3.new(-41.8307457, 4.46105003, 47.3558159)
  4495. o150.Parent = o100
  4496. o150.BrickColor = BrickColor.new("Bright red")
  4497. o150.Position = Vector3.new(-39.8707466, 17.9500961, 64.2807693)
  4498. o150.Rotation = Vector3.new(-179.959991, -3.31999993, 179.899994)
  4499. o150.Size = Vector3.new(2, 18, 2)
  4500. o150.CFrame = CFrame.new(-39.8707466, 17.9500961, 64.2807693, -0.99831754, -0.00174688792, -0.0579567961, -0.00179327442, 0.999998093, 0.000748362683, 0.0579553805, 0.000851036049, -0.998318791)
  4501. o150.BackSurface = Enum.SurfaceType.Smooth
  4502. o150.BottomSurface = Enum.SurfaceType.Weld
  4503. o150.FrontSurface = Enum.SurfaceType.Smooth
  4504. o150.LeftSurface = Enum.SurfaceType.Smooth
  4505. o150.RightSurface = Enum.SurfaceType.Smooth
  4506. o150.TopSurface = Enum.SurfaceType.Weld
  4507. o150.Color = Color3.new(0.768628, 0.156863, 0.109804)
  4508. o150.Position = Vector3.new(-39.8707466, 17.9500961, 64.2807693)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement