Aide modification addon

  • 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:

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
Celui modifier:

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
Merci d'avance pour l'aide
 
Dernière édition:
Faety

Faety

Nouveau né
Messages
24
Score réaction
2
Points
25
Salut, tu peux utiliser :
Code:
self.Weapon:SetNextPrimaryFire( CurTime() + 5 )
Change 5 par le nombre de secondes que tu veux entre chaque attaques.
 
  • Initiateur de la discussion
R

Rayteur

Geek
Messages
87
Score réaction
8
Points
90
Faety à dit:
Salut, tu peux utiliser :
Code:
self.Weapon:SetNextPrimaryFire( CurTime() + 5 )
Change 5 par le nombre de secondes que tu veux entre chaque attaques.
Salut, je met sa a quel ligne stp ? après l'appel de la fonction ? (par rapport a l'exemple 1)
 
Faety

Faety

Nouveau né
Messages
24
Score réaction
2
Points
25
Tu mets ça après :
Code:
function SWEP:PrimaryAttack()
 
  • Initiateur de la discussion
R

Rayteur

Geek
Messages
87
Score réaction
8
Points
90
sa marche pas du tous, on peut spam maintenant sa ne fais pas de delay entre les attaques(j'ai virer mes truc timerPrimary = 0 etc)
 
  • Initiateur de la discussion
R

Rayteur

Geek
Messages
87
Score réaction
8
Points
90
Up s'il vous plaît
 
Discord d'entraide
Rejoignz-nous sur Discord