Hallo.
Ich habe eine kurze Frage. Ist es sehr Ressourcenlastig, wenn man einen dauerhaften Timer von 1 Sekunde reapen lässt, der folgenes abfragt:
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
// ---- Wenn er seine Zeit verbraucht hat! ---- //
if(PlayerInfo[i][Minuten] == 0 && PlayerInfo[i][Stunden] == 0 && PlayerInfo[i][Sekunden] <= 0)
{
new namedestyps[128];
GetPlayerName(i, namedestyps, sizeof(namedestyps));
new typ = GetPlayerID(namedestyps);
SpielerTod(typ);
SendClientMessage(i, COLOR_RED, "Deine Zeit ist abgelaufen!");
format(zeitdrawstring,sizeof(zeitdrawstring), "00:00:00");
TextDrawSetString(ZeitDraw[i],zeitdrawstring);
TextDrawHideForPlayer(i, ZeitDraw[i]);
PlayerInfo[i][Stunden] = 1;
return 1;
}
PlayerInfo[i][Sekunden] -= 1;
format(zeitdrawstring, sizeof(zeitdrawstring), "%d:%d:%d", PlayerInfo[i][Stunden], PlayerInfo[i][Minuten], PlayerInfo[i][Sekunden]);
TextDrawSetString(ZeitDraw[i], zeitdrawstring);
if(PlayerInfo[i][Sekunden]== -1 && PlayerInfo[i][Minuten] > 0)
{
PlayerInfo[i][Minuten] -= 1;
PlayerInfo[i][Sekunden] = 59;
}
else if(PlayerInfo[i][Sekunden] == -1 && PlayerInfo[i][Minuten] <= 0 && PlayerInfo[i][Stunden] > 0)
{
PlayerInfo[i][Stunden] -= 1;
PlayerInfo[i][Minuten] = 59;
PlayerInfo[i][Sekunden] = 59;
}
if(PlayerInfo[i][Sekunden]<=9)
{
format(zeitdrawstring, sizeof(zeitdrawstring), "%d:%d:0%d", PlayerInfo[i][Stunden], PlayerInfo[i][Minuten], PlayerInfo[i][Sekunden]);
TextDrawSetString(ZeitDraw[i], zeitdrawstring);
if(PlayerInfo[i][Minuten]<=9)
{
format(zeitdrawstring, sizeof(zeitdrawstring), "%d:0%d:0%d", PlayerInfo[i][Stunden], PlayerInfo[i][Minuten], PlayerInfo[i][Sekunden]);
TextDrawSetString(ZeitDraw[i], zeitdrawstring);
if(PlayerInfo[i][Stunden]<=9)
{
format(zeitdrawstring, sizeof(zeitdrawstring), "0%d:0%d:0%d", PlayerInfo[i][Stunden], PlayerInfo[i][Minuten], PlayerInfo[i][Sekunden]);
TextDrawSetString(ZeitDraw[i], zeitdrawstring);
}
}
else if(PlayerInfo[i][Stunden]<=9)
{
format(zeitdrawstring, sizeof(zeitdrawstring), "0%d:%d:0%d", PlayerInfo[i][Stunden], PlayerInfo[i][Minuten], PlayerInfo[i][Sekunden]);
TextDrawSetString(ZeitDraw[i], zeitdrawstring);
}
return 1;
}
else if(PlayerInfo[i][Minuten]<=9)
{
format(zeitdrawstring, sizeof(zeitdrawstring), "%d:0%d:%d", PlayerInfo[i][Stunden], PlayerInfo[i][Minuten], PlayerInfo[i][Sekunden]);
TextDrawSetString(ZeitDraw[i], zeitdrawstring);
if(PlayerInfo[i][Stunden]<=9)
{
format(zeitdrawstring, sizeof(zeitdrawstring), "0%d:0%d:%d", PlayerInfo[i][Stunden], PlayerInfo[i][Minuten], PlayerInfo[i][Sekunden]);
TextDrawSetString(ZeitDraw[i], zeitdrawstring);
return 1;
}
return 1;
}
else if(PlayerInfo[i][Stunden]<=9)
{
format(zeitdrawstring, sizeof(zeitdrawstring), "0%d:%d:%d", PlayerInfo[i][Stunden], PlayerInfo[i][Minuten], PlayerInfo[i][Sekunden]);
TextDrawSetString(ZeitDraw[i], zeitdrawstring);
if(PlayerInfo[i][Sekunden]<=9)
{
format(zeitdrawstring, sizeof(zeitdrawstring), "0%d:%d:0%d", PlayerInfo[i][Stunden], PlayerInfo[i][Minuten], PlayerInfo[i][Sekunden]);
TextDrawSetString(ZeitDraw[i], zeitdrawstring);
}
}
}
}
Oder gibt es vielleicht noch eine andere Methode, die Zeit ticken zu lassen?
mf.g.