- Initiateur de la discussion
R
Rayteur
Geek
- Messages
- 87
- Score réaction
- 8
- Points
- 90
Bonjour, actuellement je modifie un addon pour avoir un timer entre chaque attaque de la part du joueur, mais le problème c'est que le timer s'applique aussi au autres joueurs (ce qui est un peut beaucoup gênant), quelqu'un pourrais m'aider a trouver comment faire pour que le timer soit uniquement pour le joueur l'ayant utiliser ?
Celui de base:
Celui modifier:
Merci d'avance pour l'aide
Celui de base:
Code:
function SWEP:PrimaryAttack() self.Weapon:SendWeaponAnim( ACT_VM_FIDGET ) timer.Simple(0.35, function() local tr = util.TraceLine(util.GetPlayerTrace(self.Owner)) local pos = self.Owner:GetPos() local dir = self.Owner:GetAimVector() local forward = Vector(dir.x, dir.y, 0) * 10000 local tracedata = {} tracedata.start = pos tracedata.endpos = pos + forward tracedata.filter = self.Owner, ents.GetAll() local trace = util.TraceLine(tracedata) local abVector = trace.HitPos - pos local normVector = abVector:GetNormal() local grow_seq = { "grow", "grow_fast" } if (self.Owner:KeyDown(IN_RELOAD)) then self:CanisterAttack( tr.HitPos ) else self:CliffAttack(normVector, self.Owner:GetPos(), table.Random(grow_seq)) end end) self:SetNextPrimaryFire(CurTime() + 0.7) self:SetNextSecondaryFire(CurTime() + 0.7) self.Owner:SetAnimation( PLAYER_ATTACK1 ) timer.Create( "IdleTimer", 1.3, 1, function() self:Playidle() end ) end
Code:
timerPrimary = 0
function SWEP:PrimaryAttack() if timerPrimary == 0 then timerPrimary = 1 self.Weapon:SendWeaponAnim( ACT_VM_FIDGET ) timer.Simple(0.35, function() local tr = util.TraceLine(util.GetPlayerTrace(self.Owner)) local pos = self.Owner:GetPos() local dir = self.Owner:GetAimVector() local forward = Vector(dir.x, dir.y, 0) * 10000 local tracedata = {} tracedata.start = pos tracedata.endpos = pos + forward tracedata.filter = self.Owner, ents.GetAll() local trace = util.TraceLine(tracedata) local abVector = trace.HitPos - pos local normVector = abVector:GetNormal() local grow_seq = { "grow", "grow_fast" } if (self.Owner:KeyDown(IN_RELOAD)) then self:CanisterAttack( tr.HitPos ) else self:CliffAttack(normVector, self.Owner:GetPos(), table.Random(grow_seq)) end end) self:SetNextPrimaryFire(CurTime() + 0.7) self:SetNextSecondaryFire(CurTime() + 0.7) self.Owner:SetAnimation( PLAYER_ATTACK1 ) timer.Create( "IdleTimer", 1.3, 1, function() self:Playidle() end ) timer.Simple( 8, function() timerPrimary = 0 end) end end
Dernière édition: