- Home /
how to stop InvokeRepeating when it calls a function in 0.1 second?
Hello,
i have InvokeRepeating to call a function (kills a monster and damage in 0.1second) the problem is when this monster is dead and he drops loot the invokeRepeating calls the loot function 5 times instead of one time only.
i tried cancelinvoke but didnt work and i tried to check for a boolean and make it false inside the function but didnt work.
i think the problem here is because the invokerepeating calls the function so many times before it cancels, so who can i stop that?
here is an example of what i am saying:
void Start ()
{
InvokeRepeating("DoingDPS",0,0.1f);
}
void DoingDPS () // original function
{
MonsterHealth-=Dps;
if(MonsterHealth<=0)
{
//Kill it and drop items
}
}
void DoingDPS () //function with bool check
{
MonsterHealth-=Dps;
if(MonsterHealth<=0)
{
if(DoOnce)
{
DoOnce=false;
//Kill it and drop items
}
}
}
void DoingDPS () // function with cancelinvoke
{
MonsterHealth-=Dps;
if(MonsterHealth<=0)
{
CancelInvoke("DoingDPS");
//Kill it and drop items
}
}
the invokeRepeating calls the loot function 5 times ins$$anonymous$$d of one time only.
Can wee see how do you call loot function and it is calling it 5 times? I am guessing that the CancelInvoke works but there is something else which is not functioning as expected.
Please don't use 0 as a second parameter . It's a little buggy. Use a little value like 0.001f .
i tried to just make an integer to increase, (x++;) and the same thing happend i got x=5 when i debugged the value of x.
also i tried to make the second parameter equals one not zero and nothing changed.
With the boolean check, the code executes as it should, so your problem lies elsewhere, perhaps setting DoOnce to true somewhere, or you have several instances of the code (5 monsters?)
Your answer
Follow this Question
Related Questions
I need to Stop and Restart a Co-Routine at anytime 1 Answer
InvokeRepeating is not stoping. 2 Answers
Invoke() and InvokeRepeating() not working on webplayer? 1 Answer
Repeating after variable delay 1 Answer
How many InvokeRepeating are okay? 0 Answers