Könnte mir jemand mal zeigen , wie ich nach der Skinauswahl den Skin auch speicher? also das der bei dem nächsten login auch der Gleiche ist ohne immer auszuwählen.
Skins/ Spawn
- R4z0R
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Hast du überhaupt ein Login- & Registersystem?
-
Vorhanden^^
-
Bei deinem Loginscript:
SetPlayerSkin(playerid, dini_Int(Account, "Skin"));Und dann bei deinem OnPlayerDisconnect:
dini_IntSet(Account, "Skin", GetPlayerSkin(playerid)); -
Gut , und die Skins dann mit addplayerclass?
-
Also bei Onplayerdisconnet kommt bei mir "undefined Symbol Account" in meinen fall Spielerdatei..
-
dann musst du das auch noch in den Spielerladen und Spielerspeichern Stock einbinden
-
wer jetz? und wie ?
-
wir übersehen dass jetzt mal.
Schick mal deinen Stock Spielerladen und Stock Spielerspeichern -
Ich?
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
}
return 1;
}stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
} -
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
dini_IntSet(Spielerdatei,"Skin",GetPVarInt(playerid,"Skin"));
}
return 1;
}stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
}Du müsstest oben noch ein Enum haben. Da musst du dannnoch ,Skin eintragen
-
also skin? danke dir. und dann halt die Normalen Skins mit Addplayer Skins?
-
Also jein du hast bei OnPlayerDisconnect SpielerSpeichern(playerid); Stehen oder?
PS: Das mit Addplayer ist ja für die skin auswahl da müsstest du also wenn der skin == 0 ist die skin auswahl anzeigen lassen wenn du das so machen willst. Und wenn nicht 0 dann normal spawnen und aus der datei auslesen. Zum auslesen brauchst du aber einen Stock. Das finde ich meiner seits mit der Skin auswahl sehr umständlich. Ich würde diese übergehen und dann einfach einen Standart skin setzen und diesen dann durch einen befehl änder bar machen oder halt einen laden erstellen wo man halt den skin dann auch aussuchen kann
-
mayo müsste es nicht bei onplayerspawn mit den skin was sein?
hab es gerade getestet und er lädt ih nicht
-
hmm und wie erstelle ich einen Skinshop? XD
-
Ja also ihr müsst ja auch dann erstma einen stock erstelen also ganz unten in Skript.
stock HatSpielerSkin(playerid,skin)
{
if(sSpieler[playerid][Skin] == skin) return 1;//hier müsst ihr das anpassen
return 0;
}Dann geht ihr zu OnPlayerConnect.
und lest die Datei zeile "Skin" aus und bring das in einen String.
Dann macht ihr z.B. SetPlayerSkin(playerid,skin);fertig
//edit
Wenn ihr mehr hilfe braucht sagt bescheid -
Bei mir kommt dann undefind "Account"
-
zeilen?
-
dini_IntSet(Spielerdatei,"Skin", GetPlayerSkin(playerid));
-
<< braucht mehr hilfe bin ein totaler noob in sachen scripting