Hey meine Spielerfunktionen in einem 1Sekunden Timer der sich wiederholt, start bei Serverstart, funktioniert nicht mehr so richtig, aber vor kurzem ging es noch einwandfrei.
Der Timer funktioniert aber die Schleifenfunktion im Timer geht irgendwie nicht mehr und ich kann den Fehler selbst nicht finden
Code:
forward SecTimer();
public SecTimer()
{
new str[256], vehid, wepid;
for (new i=0; i < MAX_PLAYERS; i++)
{
wepid = GetPlayerWeapon(i);
if(wepid != 0 && wepid != 1 && wepid != 4 && wepid != 8 && wepid != 15)
{
if(PlayerInfo[i][pWanteds] == 0 && PlayerInfo[i][pLastTeam] != 2)
{
SendClientMessage(i, WANTED_1, "Waffenbesitz ist illegal. Du erhältst 2 Wanteds.");
PlayerInfo[i][pWanteds] += 2;
format(str, sizeof(str), "Neues Wantedlevel: %d", PlayerInfo[i][pWanteds]);
SendClientMessage(i, WANTED_2, str);
}
}
SetPlayerTeam(i, i);
CheckGuns(i);
CheckXP(i);
if(PlayerInfo[i][pJail] > 0)
{
PlayerInfo[i][pJail] -= 1;
if(PlayerInfo[i][pJail] == 0)
{
SpawnPlayer(i);
GameTextForPlayer(i, "~g~FREIHEIT", 5000, 3);
}
}
if(Troll[i] == true)
{
if(IsPlayerInAnyVehicle(i))
{
vehid = GetPlayerVehicleID(i);
if(TrollCounter[i] != 1)
{
TrollCounter[i] = 1;
SetVehicleHealth(vehid, 240.00);
}
if(TrollCounter[i] == 1)
{
TrollCounter[i] = 0;
SetVehicleHealth(vehid, 1000.00);
}
}
}
if(TicketTimer[i] > 0)
{
TicketTimer[i] -= 1;
if(TicketTimer[i] == 0)
{
if(PlayerInfo[i][pWanteds] <= 5)
{
PlayerInfo[i][pWanteds] = 6;
format(str, sizeof(str), "Neues Wantedlevel: %d", PlayerInfo[i][pWanteds]);
SendClientMessage(i, WANTED_1, "Du hast das Ticket nicht bezahlt und hast nun 6 Wanteds.");
SendClientMessage(i, WANTED_2, str);
}
else
{
PlayerInfo[i][pWanteds] += 2;
format(str, sizeof(str), "Neues Wantedlevel: %d", PlayerInfo[i][pWanteds]);
SendClientMessage(i, WANTED_1, "Du hast das Ticket nicht bezahlt und erhältst 2 Wanteds.");
SendClientMessage(i, WANTED_2, str);
}
}
}
if(PlayerInfo[i][pKicked] > 1)
{
Kick(i);
}
if(PlayerInfo[i][pCuffed] > 0)
{
PlayerInfo[i][pCuffed] -= 1;
if(PlayerInfo[i][pCuffed] == 0)
{
SetPlayerSpecialAction(i, SPECIAL_ACTION_NONE);
}
}
// Anti Money Hack
ResetPlayerMoney(i);
GivePlayerMoney(i, PlayerInfo[i][pMoney]);
if(PlayerInfo[i][pLastHit] > 0)
{
PlayerInfo[i][pLastHit] -= 1;
}
if(PlayerInfo[i][pLastTeam] == 1)
{
PlayerInfo[i][pLevel] = PlayerInfo[i][pSkill1];
}
else
{
PlayerInfo[i][pLevel] = PlayerInfo[i][pSkill2];
}
SetPlayerScore(i, PlayerInfo[i][pLevel]);
}
}
Alles anzeigen