- Initiateur de la discussion
- Banni

yunever
Geek
- Messages
- 64
- Score réaction
- 6
- Points
- 65
Salut à tous,
Je suis actuellement entrain d'essayer de créer un addon mais j'ai un petit problème. Ce que je recherche à faire c'est un système où lorsque x = 2, une notification soit envoyée et qu'une perte de vie de "dmg2" points sur une durée de "timed2" s'effectue. Tout allait correctement jusqu'au moment ou j'ai remarqué que je pouvais contracter deux fois la "malédiction" simultanément ce que je ne veux pas. C'est pourquoi j'ai mis un timer.Remove afin de supprimer le timer lançant le math.random pendant "timedelay2" et j'ai ajouté un timer afin que toute cette grosse fonction se répète tout les "timedelay2". Mais le problème c'est que lorsque x = 2, la fonction s'arrête complètement et ne se relance pas tout les "timedelay2" comme il est demandé dans le timer. Voici mon code merci de votre aide !
J'ai essayé de le faire de deux façons différentes :
(la premiere sans prendre en compte les variables)
la seconde :
Je suis actuellement entrain d'essayer de créer un addon mais j'ai un petit problème. Ce que je recherche à faire c'est un système où lorsque x = 2, une notification soit envoyée et qu'une perte de vie de "dmg2" points sur une durée de "timed2" s'effectue. Tout allait correctement jusqu'au moment ou j'ai remarqué que je pouvais contracter deux fois la "malédiction" simultanément ce que je ne veux pas. C'est pourquoi j'ai mis un timer.Remove afin de supprimer le timer lançant le math.random pendant "timedelay2" et j'ai ajouté un timer afin que toute cette grosse fonction se répète tout les "timedelay2". Mais le problème c'est que lorsque x = 2, la fonction s'arrête complètement et ne se relance pas tout les "timedelay2" comme il est demandé dans le timer. Voici mon code merci de votre aide !
J'ai essayé de le faire de deux façons différentes :
(la premiere sans prendre en compte les variables)
Code:
local dmg2 = 1 local chance2 = 2 local timed2 = 10 local timedelay2 = 1 util.AddNetworkString( "d2" ) net.Receive( "d2", function(len, ply, amount, self)
---- random number--------- function random2() x = math.random( 1, chance2 ) print(x) end-- random2 function check2() if x == 2 and ply:Alive() then ply:SendLua("GAMEMODE:AddNotify(\"cc.\", NOTIFY_GENERIC, 5)") end--if end-- stop 2
----------dmg----------- function fundmg2() if x == 2 and ply:Alive() == true then timer.Create("dmgtimer2",1, 10, function() ply:SetHealth(ply:Health()-dmg2) timer.Stop("global2") end)-- timer else timer.Start("global2") end--if end--fundmg2
---------------------function------- timer.Create("global2",10, 0, function() random2() check2() fundmg2() end)--timer end)--network
Code:
local dmg1 = 1local chance1 = 2local time1 = 10local timedelay1 = 1 util.AddNetworkString( "name1" ) net.Receive( "name1", function(len, ply, amount, self) timer.Create("stop1", timedelay1, 0, function() x = math.random( 1, chance1 ) print(x.."n1") if x == 2and ply:Alive() then ply:SendLua("GAMEMODE:AddNotify(\"n1.\", NOTIFY_GENERIC, 5)") timer.Create("name1", 1, time1, function()if ply:Alive() then ply:SetHealth(ply:Health()-dmg1) timer.Remove("stop1") --timer.Stop("stop1")else timer.Remove("name1") endend) endend ) --timerend ) --function