Hallo,
problem, wie müsste ich mein timer einstellen so das es für jeden einzelnen spieler funktioniert.
Zur zeit funktioniert es so das es nur für einen speielr (der erste der connectetd) funktioniert.
Beispiel 1
Code
public OnGameModeInit()
{
new playerid[MAX_PLAYERS];
SetTimerEx("TimeOnServer", 1000, true, "i", playerid);
....
Code
forward TimeOnServer(playerid);
public TimeOnServer(playerid)
{
SpielerInfo[playerid][pPlayerTimeSec] ++;
if(SpielerInfo[playerid][pPlayerTimeSec]>=60)
{
SpielerInfo[playerid][pPlayerTimeSec]=0;
SpielerInfo[playerid][pPlayerTimeMin]++;
}
if(SpielerInfo[playerid][pPlayerTimeMin]>=60)
{
SpielerInfo[playerid][pPlayerTimeMin]=0;
SpielerInfo[playerid][pPlayerTimeHour]++;
SpielerInfo[playerid][pSkill]++;
PlayerPlaySound(playerid,1149,0,0,0);
SendClientMessage(playerid, red, "[SKILL] {FFFFFF}Du hast +1 Skillpunkt erhalten");
}
if(SpielerInfo[playerid][pPlayerTimeHour]>=24)
{
SpielerInfo[playerid][pPlayerTimeHour]=0;
SpielerInfo[playerid][pPlayerTimeDay]++;
}
if(SpielerInfo[playerid][pSkill]>=10)
{
SpielerInfo[playerid][pSkill]=0;
SpielerInfo[playerid][pLevel]++;
SendClientMessage(playerid, red, "[SKILL] {FFFFFF}Du hast +1 Level erhalten");
}
}
Alles anzeigen
Beispiel 2
Ich habe es mal bei OnPlayerConnect
player eingesetzt jedoch addiert sich immer die Zahle jeh nach wieviele leute draufjoinen.
Wenn z.b. einer drauf ist zählt es 1,2,3,4
Wenn 2 dann 2,4,6,8
Wenn 3 dann 3,6,9
u.s.w
Ich müsste also KillTimer benutzen jedoch wie mache ich das das KillTimer nur für eine person benutzt wird?
Kann mir das mal jemand an einem beispiel zeigen.
So habe ich das jetzt jedoch stoppt er hier dne timer von jeden (ist ja eig. auch klar)
Code
public OnPlayerConnect(playerid)
{
PlayerTimer = SetTimerEx("TimeOnServer", 1000, true, "i", playerid);
Ich danke für jede hilfe