Also ich kann ja sachen laden (scheine, deaths kills etc.) aber wie mache ich es das bei der skin auswahl die id ausgelsen wird und beim einloggen die skinauswahl übersprungen wird und die skin ID ausgelesen wird?
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
-
-
-
ich mache s aber nicht mit dini sondern MySQL ausserdem ist das TuTnet so der hammer
-
-
Das hilft auch nicht
-
Beim SpielerSpeichern: GetPlayerSkin(playerid);
Beim SpielerLaden: SetPlayerSkin(playerid,..);Das war es auch schon.
MfG. Haze
-
Poste doch einfach mal dein SpielerLaden und SpielerSpeichern.
-
Spieler laden:
public OnPasswordResponse(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
//passwort richtig //Spieler laden
sInfo[playerid][eingeloggt] = 1;
sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
SetPlayerScore(playerid,sInfo[playerid][level]);
sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
SetPlayerMoneyEx(playerid,cache_get_field_content_int(0,"money",dbhandle));
sInfo[playerid][adminlevel] = cache_get_field_content_int(0,"alevel",dbhandle);
sInfo[playerid][fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
sInfo[playerid][frang] = cache_get_field_content_int(0,"frang",dbhandle);
sInfo[playerid][spawnchange] = cache_get_field_content_int(0,"spawnchange",dbhandle);
sInfo[playerid][deaths] = cache_get_field_content_int(0,"deaths",dbhandle);
sInfo[playerid][kills] = cache_get_field_content_int(0,"kills",dbhandle);
sInfo[playerid][beruf] = cache_get_field_content_int(0,"beruf",dbhandle);
sInfo[playerid][perso] = cache_get_field_content_int(0,"perso",dbhandle);
sInfo[playerid][wanteds] = cache_get_field_content_int(0,"wanteds",dbhandle);
sInfo[playerid][warns] = cache_get_field_content_int(0,"warns",dbhandle);
sInfo[playerid][tutorial] = cache_get_field_content_int(0,"tutorial",dbhandle);
sInfo[playerid][bootsschein] = cache_get_field_content_int(0,"bootsschein",dbhandle);
sInfo[playerid][flugschein] = cache_get_field_content_int(0,"flugschein",dbhandle);
sInfo[playerid][angelschein] = cache_get_field_content_int(0,"angelschein",dbhandle);
sInfo[playerid][waffenschein] = cache_get_field_content_int(0,"waffenschein",dbhandle);
sInfo[playerid][fuehrerschein] = cache_get_field_content_int(0,"fuehrerschein",dbhandle);
sInfo[playerid][zollpass] = cache_get_field_content_int(0,"zollpass",dbhandle);
SetFSStyle(playerid,cache_get_field_content_int(0,"fightingstyle",dbhandle));
sInfo[playerid][weed] = cache_get_field_content_int(0,"weed",dbhandle);
sInfo[playerid][knollen] = cache_get_field_content_int(0,"knollen",dbhandle);
sInfo[playerid][chemicals] = cache_get_field_content_int(0,"chemicals",dbhandle);
sInfo[playerid][ecstasy] = cache_get_field_content_int(0,"ecstasy",dbhandle);
sInfo[playerid][drogenskill] = cache_get_field_content_int(0,"drogenskill",dbhandle);
sInfo[playerid][punkte] = cache_get_field_content_int(0,"punkte",dbhandle);
sInfo[playerid][bankkonto] = cache_get_field_content_int(0,"bankkonto",dbhandle);
sInfo[playerid][bankgeld] = cache_get_field_content_int(0,"bankgeld",dbhandle);
sInfo[playerid][handyguthaben] = cache_get_field_content_int(0,"handyguthaben",dbhandle);
sInfo[playerid][geschlecht] = cache_get_field_content_int(0,"geschlecht",dbhandle);
sInfo[playerid][skin] = cache_get_field_content_int(0,"skin",dbhandle);
loadPlayerCars(playerid);
new query[256];
mysql_format(dbhandle, query, sizeof query, "SELECT * FROM `bans` WHERE `Benutzername` = '%e' AND `active` = 1", GetName(playerid));
mysql_pquery(dbhandle, query, "@baninfo", "i", playerid);
}
else
{
//passwort falsch
SendClientMessage(playerid,COLOR_RED,"Das eingegebne Passwort ist falsch!");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde in der Datenbank gefunden! Bitte melde dich mit deinem Passwort an","Weiter","Abbrechen");
}
return 1;
}Spieler speichern
savePlayer(playerid)
{
if(sInfo[playerid][eingeloggt]==0)return 1;
//Spieler Speichern
new query[930];
format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',fraktion='%i',frang='%i',spawnchange='%i',deaths='%i',kills='%i',beruf='%i',perso='%i',wanteds='%i',warns='%i',tutorial='%i',bootsschein='%i',flugschein='%i',angelschein='%i',waffenschein='%i',fuehrerschein='%i',zollpass='%i',fightingstyle='%i',weed='%i',knollen='%i',chemicals='%i',ecstasy='%i',drogenskill='%i',punkte='%i',bankkonto='%i',bankgeld='%i',handyguthaben='%i',geschlecht='%i',skin='%i' WHERE id='%i'",
sInfo[playerid][level],GetPlayerMoneyEx(playerid),sInfo[playerid][adminlevel],sInfo[playerid][fraktion],sInfo[playerid][frang],sInfo[playerid][spawnchange],sInfo[playerid][deaths],sInfo[playerid][kills],sInfo[playerid][beruf],sInfo[playerid][perso],sInfo[playerid][wanteds],sInfo[playerid][warns],sInfo[playerid][tutorial],sInfo[playerid][bootsschein],sInfo[playerid][flugschein],sInfo[playerid][angelschein],sInfo[playerid][waffenschein],
//Hier fortsetzen
sInfo[playerid][fuehrerschein],sInfo[playerid][zollpass],getFSStyle(playerid),sInfo[playerid][weed],sInfo[playerid][knollen],sInfo[playerid][chemicals],sInfo[playerid][ecstasy],sInfo[playerid][drogenskill],sInfo[playerid][punkte],sInfo[playerid][bankkonto],sInfo[playerid][bankgeld],sInfo[playerid][handyguthaben],sInfo[playerid][geschlecht],sInfo[playerid][skin],sInfo[playerid][db_id]);
mysql_pquery(dbhandle,query,"","");
return 1;
} -
public OnPlayerRequestClass(playerid, classid)
{
if(sInfo[playerid][skin] != 0)
{
SetSpawnInfo(playerid,0,SpielerInfo[playerid][sSkin],SPAWNX,SPAWNY,SPAWNZ,SPAWNA,0,0,0,0,0,0); //Spawn-Position einfügen
SpawnPlayer(playerid);
}
return 1;
}Und bei OnPlayerSpawn:
if(sInfo[playerid][skin] != 0) SetPlayerSkin(playerid, sInfo[playerid][skin]);Falls du Skin 0 auch zu Auswahl stellst, musst du den Wert von skin in der Datenbank und in der Variable bei der Registration auf -1 setzen, ebenso bei den beiden Abfragen.
-
Was ist daran falsch?
public OnPlayerRequestClass(playerid, classid)
{
if(sInfo[playerid][skin] != 0)
{
//Spieler klassen
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
//Kamera Position bei der auswahl
SetPlayerPos(playerid, 2007.2924,1167.4884,10.8203);
SetPlayerCameraPos(playerid, 2015.6654,1167.0674,10.8203);
SetPlayerCameraLookAt(playerid, 2007.2924,1167.4884,10.8203);
SetPlayerFacingAngle(playerid, 263.4721);
return 1;
}Wemm ich die klasse auswähl ist da NUR der CJ skin und wenn ich auch spawn gehe dann hat der server ein standbild
//Edit unten
und mein OnplayerSpawn:
public OnPlayerSpawn(playerid)
{
if(sInfo[playerid][skin] != 0) SetPlayerSkin(playerid, sInfo[playerid][skin]);
if(sInfo[playerid][spawnchange] == 1){
SetPlayerPos(playerid, 1991.5596,1239.9175,10.8203);
}
if(!isPlayerInFrakt(playerid, 0)){
if(sInfo[playerid][spawnchange]==2)
{
new fID;
fID = sInfo[playerid][fraktion];
SetPlayerPos(playerid, fInfo[fID][f_x],fInfo[fID][f_y],fInfo[fID][f_z]);
SetPlayerFacingAngle(playerid, fInfo[fID][f_r]);
SetPlayerInterior(playerid, fInfo[fID][f_inter]);
SetPlayerVirtualWorld(playerid, fInfo[fID][f_world]);
SetPlayerColor(playerid, fInfo[fID][f_color]);
}
}
if(sInfo[playerid][spawnchange]==3)
{
for(new i=0; i<sizeof(hInfo); i++)
{
if(!hInfo[i][h_id])continue;
if(!strlen(hInfo[i][h_besitzer]))continue;
if(strcmp(hInfo[i][h_besitzer], getPlayerName(playerid), true))continue;
if(hInfo[i][ih_x] != 0.0)
{
//Im Haus Spawnen
SetPlayerPos(playerid, hInfo[i][ih_x], hInfo[i][ih_y], hInfo[i][ih_z]);
SetPlayerInterior(playerid, hInfo[i][h_interior]);
SetPlayerVirtualWorld(playerid, i);
}
else
{
//Vorm Haus spawnen
SetPlayerPos(playerid, hInfo[i][h_x], hInfo[i][h_y], hInfo[i][h_z]);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
}}
}
return 1;
} -
Warum denn so oft?!??
public OnPlayerRequestClass(playerid, classid)
{
if(sInfo[playerid][skin] != 0)
{
//Spieler klassen
SetSpawnInfo(playerid,0,sInfo[playerid][skin], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
return 1; //Du musst hier ein return setzen.
}
//Kamera Position bei der auswahl
SetPlayerPos(playerid, 2007.2924,1167.4884,10.8203);
SetPlayerCameraPos(playerid, 2015.6654,1167.0674,10.8203);
SetPlayerCameraLookAt(playerid, 2007.2924,1167.4884,10.8203);
SetPlayerFacingAngle(playerid, 263.4721);
return 1;
} -
Ich hab jz das Anstatt on AddPlayerClass
-
AddPlayerClass darfst du nicht einfach weg machen. Die müssen bleiben.
-
ok aber die skin wird nicht in der mysql datenbank gepsiechert
-
Bei OnPlayerSpawn dann:
if(sInfo[playerid][skin] != 0) SetPlayerSkin(playerid, sInfo[playerid][skin]);
zu:
if(sInfo[playerid][skin] != 0) SetPlayerSkin(playerid, sInfo[playerid][skin]);
else sInfo[playerid][skin] = GetPlayerSkin(playerid);
Du machst das wahrscheinlich noch nirgends. -
breadfish.de
Hat das Thema geschlossen.