Soll ich unter dem Callback OnPlayerConnect eine Funktion einbauen das die Werte Geld etc auf 0 gesetzt werden, da ich das Problem habe dass sich Accounts überschneiden
mfg
Soll ich unter dem Callback OnPlayerConnect eine Funktion einbauen das die Werte Geld etc auf 0 gesetzt werden, da ich das Problem habe dass sich Accounts überschneiden
mfg
Ja, solange du sie bei OnPlayerConnect richtig lädst..
Ja, solange du sie bei OnPlayerConnect richtig lädst..
So?
public OnPlayerConnect(playerid)
{
new text[264];
ResetPlayer(playerid);
if(GetPVarInt(playerid,"Eingeloggt") == 0)
{
if(mysql_CheckAccount(playerid) == 0)
{
format(text,sizeof(text),"{FFFFFF}Herzlich Willkommen auf Pure Deathmatch, {00B700}%s {FFFFFF}!\nEs wurde kein Account in der Datenbank mit deinem Namen gefunden.\nAccount legst du an, indem du ein Accountpasswort eingibst und auf Registrieren drückst.",PlayerName(playerid));
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Pure Deathmatch || Erstanmeldung",text,"Registrieren","Schließen");
ClearChat(playerid);
SendClientMessage(playerid,COLOR_YELLOW,"[SERVER] Erstanmeldung: Bitte gib ein Accountpasswort ein.");
}
else if(mysql_CheckAccount(playerid) == 1)
{
format(text,sizeof(text),"{FFFFFF}Herzlich Willkommen zurück auf Pure Gaming, {00B700}%s {FFFFFF}!\nBitte gib unten in das Eingabefeld dein Accountpasswort ein,\num dich einzuloggen. Anschließend werden deine Accountdaten geladen.",PlayerName(playerid));
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Pure Gaming || Authenfifizierung",text,"Login","Schließen");
ClearChat(playerid);
SendClientMessage(playerid,COLOR_YELLOW,"[SERVER] Authentifizierung: Bitte gib dein Passwort ein!");
}
}
return 1;
}
Stock ResetPlayer sind halt SpielerInfo[playerid][pKills] = 0 etc
Wie lautet die Money Variable in der Enum Struktur ?
DIese beim DIsconnect halt auch auf 0 setzen aber ich würde es beim jeden Connecten machen damit es nicht zu fehlern kommt.
LG RFT
Wie lautet die Money Variable in der Enum Struktur ?
DIese beim DIsconnect halt auch auf 0 setzen aber ich würde es beim jeden Connecten machen damit es nicht zu fehlern kommt.
LG RFT
Würde das so gehen? ohne Buggs etc.
stock ResetPlayer(playerid)
{
SpielerInfo[playerid][pGeld] = 0;
SpielerInfo[playerid][pLevel] = 0;
SpielerInfo[playerid][pKills] = 0;
SpielerInfo[playerid][pTode] = 0;
return 1;
}
//COnnect
public OnPlayerConnect(playerid)
{
new text[264];
ResetPlayer(playerid);
if(GetPVarInt(playerid,"Eingeloggt") == 0)
{
if(mysql_CheckAccount(playerid) == 0)
{
format(text,sizeof(text),"{FFFFFF}Herzlich Willkommen auf Pure Deathmatch, {00B700}%s {FFFFFF}!\nEs wurde kein Account in der Datenbank mit deinem Namen gefunden.\nAccount legst du an, indem du ein Accountpasswort eingibst und auf Registrieren drückst.",PlayerName(playerid));
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Pure Deathmatch || Erstanmeldung",text,"Registrieren","Schließen");
ClearChat(playerid);
SendClientMessage(playerid,COLOR_YELLOW,"[SERVER] Erstanmeldung: Bitte gib ein Accountpasswort ein.");
}
else if(mysql_CheckAccount(playerid) == 1)
{
format(text,sizeof(text),"{FFFFFF}Herzlich Willkommen zurück auf Pure Gaming, {00B700}%s {FFFFFF}!\nBitte gib unten in das Eingabefeld dein Accountpasswort ein,\num dich einzuloggen. Anschließend werden deine Accountdaten geladen.",PlayerName(playerid));
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Pure Gaming || Authenfifizierung",text,"Login","Schließen");
ClearChat(playerid);
SendClientMessage(playerid,COLOR_YELLOW,"[SERVER] Authentifizierung: Bitte gib dein Passwort ein!");
}
}
return 1;
}
Sollte so funktionieren ja.
Wenn du zum Beispiel einen Befehl machst... /spawnchange.
Und der Spieler mit der ID 0 macht /spawnchange, spawnt nun statt in SF in LV. (SF = 0; LV = 1)
Loggt sich nun der User mit der ID 0 aus, spawnt der nächste User, der mit der ID 0
den Server betritt, automatisch in LV, solange die Variable nicht auf 0 gesetzt wird.
Jetzt ist die Frage ob dir das egal ist
Wenn du zum Beispiel einen Befehl machst... /spawnchange.
Und der Spieler mit der ID 0 macht /spawnchange, spawnt nun statt in SF in LV. (SF = 0; LV = 1)
Loggt sich nun der User mit der ID 0 aus, spawnt der nächste User, der mit der ID 0
den Server betritt, automatisch in LV, solange die Variable nicht auf 0 gesetzt wird.
Jetzt ist die Frage ob dir das egal ist
Dafür habe ich dies
stock Resetcount(playerid)
{
if(dm[0][playerid] ==1)
{
if(dmcount[0] >0)
{
dmcount[0] --;
}
}
if(dm[1][playerid] ==1)
{
if(dmcount[1] >0)
{
dmcount[1] --;
}
}
if(dm[2][playerid] ==1)
{
if(dmcount[2] >0)
{
dmcount[2] --;
}
}
dm[0][playerid] = 0;
dm[1][playerid] = 0;
dm[2][playerid] = 0;
Killstreak[playerid] = 0;
Map[playerid] = 0;
return 1;
} Sollte gehen oder?