SHOW:
|
|
- or go back to the newest paste.
1 | ||
2 | --Converted with ttyyuu12345's model to script plugin v4 | |
3 | function sandbox(var,func) | |
4 | local env = getfenv(func) | |
5 | local newenv = setmetatable({},{ | |
6 | __index = function(self,k) | |
7 | if k=="script" then | |
8 | return var | |
9 | else | |
10 | return env[k] | |
11 | end | |
12 | end, | |
13 | }) | |
14 | setfenv(func,newenv) | |
15 | return func | |
16 | end | |
17 | cors = {} | |
18 | mas = Instance.new("Model",game:GetService("Lighting")) | |
19 | - | Tool0 = Instance.new("Tool") |
19 | + | Script0 = Instance.new("Script") |
20 | - | Part1 = Instance.new("Part") |
20 | + | Script1 = Instance.new("Script") |
21 | - | SpecialMesh2 = Instance.new("SpecialMesh") |
21 | + | Script2 = Instance.new("Script") |
22 | - | Script3 = Instance.new("Script") |
22 | + | Sound3 = Instance.new("Sound") |
23 | Sound4 = Instance.new("Sound") | |
24 | - | Script5 = Instance.new("Script") |
24 | + | Sound5 = Instance.new("Sound") |
25 | - | Tool0.Name = "Gun" |
25 | + | Sound6 = Instance.new("Sound") |
26 | - | Tool0.Parent = mas |
26 | + | Sound7 = Instance.new("Sound") |
27 | - | Tool0.GripForward = Vector3.new(0.014998313, 0, -0.999887586) |
27 | + | Sound8 = Instance.new("Sound") |
28 | - | Tool0.GripPos = Vector3.new(0, 0, 1) |
28 | + | Sound9 = Instance.new("Sound") |
29 | - | Tool0.GripRight = Vector3.new(0.89165622, 0.452515543, 0.0133748427) |
29 | + | Sound10 = Instance.new("Sound") |
30 | - | Tool0.GripUp = Vector3.new(-0.45246467, 0.891756594, -0.00678696996) |
30 | + | Sound11 = Instance.new("Sound") |
31 | - | Part1.Name = "Handle" |
31 | + | Part12 = Instance.new("Part") |
32 | - | Part1.Parent = Tool0 |
32 | + | Decal13 = Instance.new("Decal") |
33 | - | Part1.Rotation = Vector3.new(-89.2299957, -0.389999986, -116.759995) |
33 | + | Decal14 = Instance.new("Decal") |
34 | - | Part1.RotVelocity = Vector3.new(1, 1, 1) |
34 | + | Decal15 = Instance.new("Decal") |
35 | - | Part1.Size = Vector3.new(1, 1, 5) |
35 | + | Decal16 = Instance.new("Decal") |
36 | - | Part1.CFrame = CFrame.new(-15.0473862, 6.09787512, -13.2487059, -0.450310409, 0.892846406, -0.00678965962, -0.0150141492, 3.12112206e-05, 0.999887347, 0.892745912, 0.45036158, 0.0133912731) |
36 | + | Decal17 = Instance.new("Decal") |
37 | - | Part1.Position = Vector3.new(-15.0473862, 6.09787512, -13.2487059) |
37 | + | Decal18 = Instance.new("Decal") |
38 | - | Part1.Orientation = Vector3.new(-89.1399994, -26.8899994, -89.8799973) |
38 | + | ParticleEmitter19 = Instance.new("ParticleEmitter") |
39 | - | SpecialMesh2.Parent = Part1 |
39 | + | Script20 = Instance.new("Script") |
40 | - | SpecialMesh2.MeshId = "rbxassetid://625948113" |
40 | + | Script0.Name = "BloodLoader" |
41 | - | SpecialMesh2.Scale = Vector3.new(0.300000012, 0.300000012, 0.300000012) |
41 | + | Script0.Parent = mas |
42 | - | SpecialMesh2.TextureId = "rbxassetid://625948238" |
42 | + | table.insert(cors,sandbox(Script0,function() |
43 | - | SpecialMesh2.MeshType = Enum.MeshType.FileMesh |
43 | + | print("Draco_Studios' Blood Script has been loaded!") |
44 | - | SpecialMesh2.Scale = Vector3.new(0.300000012, 0.300000012, 0.300000012) |
44 | + | if script.Parent:FindFirstChild("DeleteMe") then |
45 | - | Script3.Name = "SoundScript" |
45 | + | script.Parent.DeleteMe:Destroy() |
46 | - | Script3.Parent = Part1 |
46 | + | |
47 | - | table.insert(cors,sandbox(Script3,function() |
47 | + | script.Parent=game.ServerScriptService |
48 | - | --Made by BLUEHHOOD-- |
48 | + | game.Players.PlayerAdded:connect(function(p) |
49 | p.CharacterAdded:connect(function(c) | |
50 | script.BloodPool:Clone().Parent=c | |
51 | - | while true do |
51 | + | c.Humanoid.Died:connect(function() |
52 | - | wait(0) |
52 | + | wait(6) |
53 | - | script.Sound:Play(150558724)--Change this to the musicid you want. Also change the sound inside of the script.-- |
53 | + | script.BloodPool:Clone().Parent=c |
54 | - | wait(70)--Change this to how long you want the music to play-- |
54 | + | end) |
55 | end) | |
56 | end) | |
57 | - | Sound4.Parent = Script3 |
57 | + | |
58 | - | Sound4.SoundId = "rbxassetid://180955656" |
58 | + | Script1.Name = "BloodPool" |
59 | - | Sound4.Looped = true |
59 | + | Script1.Parent = Script0 |
60 | - | Script5.Name = "SwordScript" |
60 | + | table.insert(cors,sandbox(Script1,function() |
61 | - | Script5.Parent = Part1 |
61 | + | local Char=script.Parent |
62 | - | table.insert(cors,sandbox(Script5,function() |
62 | + | local Hum=Char:WaitForChild("Humanoid") |
63 | - | --Fixed by ImGuestLie |
63 | + | local Tor=Char:WaitForChild("Torso") |
64 | local M=math.random | |
65 | - | antiTK = true |
65 | + | local R=math.rad |
66 | - | |
66 | + | local rates={0.05,0.075,0.1,0.15} |
67 | - | teamgroups = { |
67 | + | |
68 | - | |
68 | + | local smooth=function(P) |
69 | - | --[[ HOW TO USE TEAMGROUPS: |
69 | + | local SM=Enum.SurfaceType.SmoothNoOutlines |
70 | - | Put as many teams as you want in a table inside of teamgroups |
70 | + | P.TopSurface=SM |
71 | - | format for a teamcolor is BrickColor.new("TeamColor") |
71 | + | P.BottomSurface=SM |
72 | - | type the EXACT teamcolor |
72 | + | P.RightSurface=SM |
73 | - | |
73 | + | P.LeftSurface=SM |
74 | - | When a player is on a team in a teamgroup, and the person (s)he is trying to kill is also in the same teamgroup, |
74 | + | P.FrontSurface=SM |
75 | - | the user will not get damaged. |
75 | + | P.BackSurface=SM |
76 | - | |
76 | + | |
77 | - | Basically this is like anti-TK but across multiple teams. |
77 | + | |
78 | - | --]] |
78 | + | local function BloodPool(Part,Size) |
79 | - | |
79 | + | local Pool=Instance.new("Part",game.Workspace) |
80 | - | |
80 | + | Pool.TopSurface=0 |
81 | - | |
81 | + | Pool.CanCollide=false |
82 | - | --Example of a teamgroup: |
82 | + | Pool.BrickColor=BrickColor.new("Crimson") |
83 | - | --{ BrickColor.new("Bright red"), BrickColor.new("Bright blue") } |
83 | + | Instance.new("CylinderMesh",Pool) |
84 | - | |
84 | + | Pool.Anchored=true |
85 | - | |
85 | + | Pool.Name="BloodPoolPart" |
86 | - | } |
86 | + | smooth(Pool) |
87 | - | |
87 | + | Pool.FormFactor=Enum.FormFactor.Custom |
88 | - | --END OF CONFIGURABLE OPTIONS-- |
88 | + | Pool.Size=Size |
89 | local c=Part.CFrame*CFrame.new(M(-3.01,3.01),-2.9,M(-3.01,3.01)) | |
90 | - | r = game:service("RunService") |
90 | + | coroutine.resume(coroutine.create(function() |
91 | local rate=rates[M(1,#rates)] | |
92 | - | function candamage(myteam,theirteam) |
92 | + | game.Debris:AddItem(Pool,15) |
93 | - | if antiTK == true and myteam == theirteam then return false end |
93 | + | for i=1,M(25,70) do |
94 | - | for i,v in pairs(teamgroups) do |
94 | + | wait() |
95 | - | local ismyteam = false |
95 | + | Pool.CFrame=c |
96 | - | local istheirteam = false |
96 | + | Pool.Size=Pool.Size+Vector3.new(rate,0,rate) |
97 | - | for _,v in pairs(teamgroups[i]) do |
97 | + | end |
98 | - | if v == myteam then ismyteam = true end |
98 | + | wait(5) |
99 | - | if v == theirteam then istheirteam = true end |
99 | + | Pool:Destroy() |
100 | end)) | |
101 | - | if ismyteam == true and istheirteam == true then |
101 | + | |
102 | - | return false |
102 | + | |
103 | - | end |
103 | + | local function BloodDrops(Size,Area) |
104 | local Blood=Instance.new("Part",game.Workspace) | |
105 | - | return true |
105 | + | Blood.BrickColor=BrickColor.new("Crimson") |
106 | Blood.TopSurface=0 | |
107 | Blood.CanCollide=false | |
108 | - | local acceptableparts = { |
108 | + | Blood.Anchored=false |
109 | - | "Head"; "Left Arm"; "Left Leg"; "Right Arm"; "Right Leg"; "Torso"; |
109 | + | Blood.FormFactor=Enum.FormFactor.Custom |
110 | - | } |
110 | + | Blood.Size=Size |
111 | Blood.CFrame=Area*CFrame.new(M(-1.00,1.00),M(-1.00,1.00),M(-1.00,1.00)) | |
112 | - | function matches(partname) |
112 | + | return Blood |
113 | - | for i,v in pairs(acceptableparts) do |
113 | + | |
114 | - | if partname == v then |
114 | + | |
115 | - | return true |
115 | + | |
116 | - | end |
116 | + | local Heath=Hum.Health |
117 | ||
118 | - | return false |
118 | + | Hum.Changed:connect(function() |
119 | if Hum.Health<Heath then | |
120 | Heath=Hum.Health | |
121 | - | local damage = 5 |
121 | + | for i=1, math.random(4,10)do |
122 | local Size=Vector3.new(M(-0.25,0.25),.2,M(-.25,.25)) | |
123 | - | function blow(hit) |
123 | + | local Blood=BloodDrops(Size,Tor.CFrame) |
124 | - | if (hit.Parent == nil) then return end |
124 | + | local Stopper=false |
125 | - | |
125 | + | local Size2=Vector3.new(M(-0.25,0.25),.2,M(-.25,.25)) |
126 | - | if matches(hit.Name) then |
126 | + | BloodPool(Tor,Size2) |
127 | end | |
128 | - | local humanoid = hit.Parent:findFirstChild("Humanoid") |
128 | + | |
129 | - | local vCharacter = Tool.Parent |
129 | + | end) |
130 | - | local vPlayer = game.Players:playerFromCharacter(vCharacter) |
130 | + | |
131 | - | local hum = vCharacter:findFirstChild("Humanoid") |
131 | + | Script2.Name = "DiedScript" |
132 | - | if humanoid and humanoid ~= hum and hum then |
132 | + | Script2.Parent = mas |
133 | - | -- final check, make sure sword is in-hand |
133 | + | table.insert(cors,sandbox(Script2,function() |
134 | - | local guygettingsliced = game.Players:GetPlayerFromCharacter(hit.Parent) --OH LOOK, here's an edit |
134 | + | function Died(p) |
135 | - | local right_arm = vCharacter:FindFirstChild("Right Arm") |
135 | + | wait(.001) |
136 | - | if (right_arm) then |
136 | + | local tracks=script:GetChildren() |
137 | - | local joint = right_arm:FindFirstChild("RightGrip") |
137 | + | local rn=math.random(1,#tracks) |
138 | - | if (joint and (joint.Part0 == sword or joint.Part1 == sword)) then |
138 | + | local track=tracks[rn] |
139 | - | if guygettingsliced then --If he's a player |
139 | + | if track~=nil then |
140 | - | if candamage(vPlayer.TeamColor, guygettingsliced.TeamColor) == true then |
140 | + | track:play() |
141 | - | tagHumanoid(humanoid, vPlayer) |
141 | + | wait(5) |
142 | - | humanoid:TakeDamage(damage) |
142 | + | track:pause() |
143 | - | wait(1) |
143 | + | |
144 | - | untagHumanoid(humanoid) |
144 | + | |
145 | - | end |
145 | + | |
146 | - | else --If he's not a player (AI, shop, etc) |
146 | + | function Hum(p) |
147 | - | tagHumanoid(humanoid, vPlayer) |
147 | + | hum = p:findFirstChild("Humanoid") |
148 | - | humanoid:TakeDamage(damage) |
148 | + | if hum ~= nil then |
149 | - | wait(1) |
149 | + | hum.Died:connect(function(hum) Died(p) end) |
150 | - | untagHumanoid(humanoid) |
150 | + | end |
151 | - | end |
151 | + | end |
152 | ||
153 | - | end |
153 | + | function Enter(p) |
154 | - | |
154 | + | p.CharacterAdded:connect(Hum) |
155 | end | |
156 | game.Players.PlayerAdded:connect(Enter) | |
157 | ||
158 | end)) | |
159 | Sound3.Parent = Script2 | |
160 | Sound3.SoundId = "rbxassetid://232921590" | |
161 | - | function tagHumanoid(humanoid, player) |
161 | + | Sound4.Parent = Script2 |
162 | - | local creator_tag = Instance.new("ObjectValue") |
162 | + | Sound4.SoundId = "rbxassetid://232921580" |
163 | - | creator_tag.Value = player |
163 | + | Sound5.Parent = Script2 |
164 | - | creator_tag.Name = "creator" |
164 | + | Sound5.SoundId = "rbxassetid://232921573" |
165 | - | creator_tag.Parent = humanoid |
165 | + | Sound6.Parent = Script2 |
166 | Sound6.SoundId = "rbxassetid://169907033" | |
167 | Sound7.Parent = Script2 | |
168 | - | function untagHumanoid(humanoid) |
168 | + | Sound7.SoundId = "rbxassetid://167094166" |
169 | - | if humanoid ~= nil then |
169 | + | Sound8.Parent = Script2 |
170 | - | local tag = humanoid:findFirstChild("creator") |
170 | + | Sound8.SoundId = "rbxassetid://166221396" |
171 | - | if tag ~= nil then |
171 | + | Sound9.Parent = Script2 |
172 | - | tag.Parent = nil |
172 | + | Sound9.SoundId = "rbxassetid://166221367" |
173 | - | end |
173 | + | Sound10.Parent = Script2 |
174 | Sound10.SoundId = "rbxassetid://166221318" | |
175 | Sound11.Parent = Script2 | |
176 | Sound11.SoundId = "rbxassetid://166221285" | |
177 | Part12.Name = "Boom Brick" | |
178 | - | function attack() |
178 | + | Part12.Parent = mas |
179 | - | damage = slash_damage |
179 | + | Part12.BrickColor = BrickColor.new("Really red") |
180 | - | SlashSound:play() |
180 | + | Part12.Anchored = true |
181 | - | local anim = Instance.new("StringValue") |
181 | + | Part12.Size = Vector3.new(20, 12, 12) |
182 | - | anim.Name = "toolanim" |
182 | + | Part12.CFrame = CFrame.new(-9, 8, -14, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
183 | - | anim.Value = "Slash" |
183 | + | Part12.Color = Color3.new(1, 0, 0) |
184 | - | anim.Parent = Tool |
184 | + | Part12.Position = Vector3.new(-9, 8, -14) |
185 | Part12.Color = Color3.new(1, 0, 0) | |
186 | Decal13.Parent = Part12 | |
187 | - | function lunge() |
187 | + | Decal13.Texture = "http://www.roblox.com/asset/?id=1135924277" |
188 | - | damage = lunge_damage |
188 | + | Decal13.Face = Enum.NormalId.Back |
189 | Decal14.Parent = Part12 | |
190 | - | LungeSound:play() |
190 | + | Decal14.Texture = "http://www.roblox.com/asset/?id=1135924277" |
191 | Decal14.Face = Enum.NormalId.Bottom | |
192 | - | local anim = Instance.new("StringValue") |
192 | + | Decal15.Parent = Part12 |
193 | - | anim.Name = "toolanim" |
193 | + | Decal15.Texture = "http://www.roblox.com/asset/?id=1135924277" |
194 | - | anim.Value = "Lunge" |
194 | + | Decal16.Parent = Part12 |
195 | - | anim.Parent = Tool |
195 | + | Decal16.Texture = "http://www.roblox.com/asset/?id=1135924277" |
196 | - | |
196 | + | Decal16.Face = Enum.NormalId.Left |
197 | - | |
197 | + | Decal17.Parent = Part12 |
198 | - | force = Instance.new("BodyVelocity") |
198 | + | Decal17.Texture = "http://www.roblox.com/asset/?id=1135924277" |
199 | - | force.velocity = Vector3.new(0,10,0) --Tool.Parent.Torso.CFrame.lookVector * 80 |
199 | + | Decal17.Face = Enum.NormalId.Right |
200 | - | force.maxForce = Vector3.new(0,2900,0) |
200 | + | Decal18.Parent = Part12 |
201 | - | force.Parent = Tool.Parent.Torso |
201 | + | Decal18.Texture = "http://www.roblox.com/asset/?id=1135924277" |
202 | - | wait(.25) |
202 | + | Decal18.Face = Enum.NormalId.Top |
203 | - | swordOut() |
203 | + | ParticleEmitter19.Parent = Part12 |
204 | - | wait(.25) |
204 | + | ParticleEmitter19.Color = ColorSequence.new(Color3.new(1, 0.470588, 0.164706),Color3.new(1, 0.470588, 0.164706)) |
205 | - | force.Parent = nil |
205 | + | ParticleEmitter19.Color = ColorSequence.new(Color3.new(1, 0.470588, 0.164706),Color3.new(1, 0.470588, 0.164706)) |
206 | - | wait(.5) |
206 | + | Script20.Parent = Part12 |
207 | - | swordUp() |
207 | + | table.insert(cors,sandbox(Script20,function() |
208 | function onTouched(hit) | |
209 | - | damage = slash_damage |
209 | + | local ex = Instance.new("Explosion") |
210 | ex.Parent = game.Workspace | |
211 | ex.Position = hit.Position | |
212 | - | function swordUp() |
212 | + | ex.BlastPressure = 150000 |
213 | - | Tool.GripForward = Vector3.new(-1,0,0) |
213 | + | ex.BlastRadius = 10 |
214 | - | Tool.GripRight = Vector3.new(0,1,0) |
214 | + | end |
215 | - | Tool.GripUp = Vector3.new(0,0,1) |
215 | + | script.Parent.Touched:connect(onTouched) |
216 | ||
217 | ||
218 | - | function swordOut() |
218 | + | |
219 | - | Tool.GripForward = Vector3.new(0,0,1) |
219 | + | |
220 | - | Tool.GripRight = Vector3.new(0,-1,0) |
220 | + | |
221 | - | Tool.GripUp = Vector3.new(-1,0,0) |
221 | + | |
222 | pcall(function() v:MakeJoints() end) | |
223 | end | |
224 | - | function swordAcross() |
224 | + | |
225 | - | -- parry |
225 | + | |
226 | spawn(function() | |
227 | pcall(v) | |
228 | end) | |
229 | - | Tool.Enabled = true |
229 | + |