off.
One more question, please:
Can I withdraw the TIMER_DATA_HNDL_CLOSE flag in timer callback?
Or it is safe to use CloneHandle there:
Spoiler
PHP Code:
DataPack hPack = new DataPack();
hPack.WriteCell(g_ConVarWitchCount.IntValue);
hPack.WriteFloat(vecPrime[0]);
hPack.WriteFloat(vecPrime[1]);
hPack.WriteFloat(vecPrime[2]);
CreateTimer(GetRandomFloat(g_ConVarDelayMin.FloatValue, g_ConVarDelayMax.FloatValue), Timer_SpawnWitch, hPack, TIMER_DATA_HNDL_CLOSE | TIMER_FLAG_NO_MAPCHANGE);
// ...
public Action Timer_SpawnWitch(Handle timer, DataPack hPack)
{
hPack.Reset();
int iWitches = hPack.ReadCell();
float vecPrime[3];
vecPrime[0] = hPack.ReadFloat();
vecPrime[1] = hPack.ReadFloat();
vecPrime[2] = hPack.ReadFloat();
SetWitch(vecPrime);
iWitches--;
if (iWitches > 0) {
hPack.Reset();
hPack.WriteCell(iWitches);
CreateTimer(GetRandomFloat(g_ConVarIntervalMin.FloatValue, g_ConVarIntervalMax.FloatValue), Timer_SpawnWitch, CloneHandle(hPack), TIMER_DATA_HNDL_CLOSE | TIMER_FLAG_NO_MAPCHANGE);
}
}
thanks.
__________________