Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AddCSLuaFile("cl_init.lua")
- AddCSLuaFile("shared.lua")
- include('shared.lua')
- function ENT:Initialize()
- self.Entity:SetModel("models/weapons/w_snowball_thrown.mdl");
- //self.Entity:PhysicsInit(SOLID_VPHYSICS);
- self.Entity:SetMoveType(MOVETYPE_VPHYSICS);
- self.Entity:SetSolid(SOLID_VPHYSICS);
- self.Entity:SetCollisionGroup( COLLISION_GROUP_PROJECTILE )
- self:PhysicsInitSphere( 30, "ice" )
- local phys = self:GetPhysicsObject()
- if phys:IsValid() then
- phys:Wake()
- phys:EnableGravity(true);
- phys:SetBuoyancyRatio(0);
- end
- self.Trail = util.SpriteTrail(self.Entity, 0, Color(150,200,255,50), false, 15, 1, 2, 1/(15+1)*0.5, "trails/laser.vmt")
- end
- function ENT:Think()
- end
- function ENT:SpawnFunction(ply, tr)
- if (!tr.Hit) then return end
- local SpawnPos = tr.HitPos + tr.HitNormal * 16;
- local ent = ents.Create("ent_snowball_nodamage");
- ent:SetPos(SpawnPos);
- ent:Spawn();
- ent:Activate();
- ent:SetOwner(ply)
- return ent;
- end
- function ENT:PhysicsCollide(data)
- local pos = self.Entity:GetPos() --Get the position of the snowball
- local effectdata = EffectData()
- data.HitObject:ApplyForceCenter(self:GetPhysicsObject():GetVelocity() * 40)
- effectdata:SetStart( pos )
- effectdata:SetOrigin( pos )
- effectdata:SetScale( 1.5 )
- self:EmitSound("hit.wav")
- util.Effect( "WheelDust", effectdata ) -- effect
- util.Effect( "GlassImpact", effectdata ) -- effect
- local explosion = ents.Create("env_explosion")
- explosion:SetPos(pos)
- explosion:Spawn()
- explosion:SetKeyValue( "iMagnitude", "125" ) --Valeur à changer pour les dégats
- explosion:Fire( "Explode", 0, 0 )
- explosion:EmitSound( "BaseExplosionEffect.Sound", 1, 1)
- for k, v in pairs(ents.FindInSphere(pos,300)) do
- if v:IsPlayer() then
- local VitesseFreezeRunT = 200 --Mettre valeur desiré
- local VitesseFreezeWalkT = 100 --Mettre valeur desiré
- local VitesseDefautRun = v:GetRunSpeed()
- local VitesseDefautWalk = v:GetWalkSpeed()
- v:SetRunSpeed(VitesseFreezeRunT)
- v:SetWalkSpeed(VitesseFreezeWalkT)
- timer.Simple(3, function() v:SetRunSpeed(VitesseDefautRun) end ) -- L'effet ne dure que 3sec
- timer.Simple(3, function() v:SetWalkSpeed(VitesseDefautWalk) end )
- else
- end
- end
- effectdata:SetStart( pos )
- effectdata:SetOrigin( pos )
- effectdata:SetScale( 1.5 )
- util.Effect( "WheelDust", effectdata )
- util.Effect( "GlassImpact", effectdata )
- util.Effect("Explosion", effectdata)
- self.Entity:Remove();
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement