Dann kann es den Skin auch nicht updaten.
Wie sieht denn dein Code von der Registration aus, und wo setzt du den Wert von "PlayerInfo[playerid][pID]"?
Dialog_Register:
case DIALOG_REGISTER: { if(!response) return Kick(playerid); if(strlen(inputtext) < 6) { format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben. Bitte trage ein Sechsstelliges Passwort ein!", SpielerName(playerid)); ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch"); } if(response) { WP_Hash(PlayerInfo[playerid][pPassword], 129, inputtext); mysql_format(db,szQuery,sizeof szQuery,"INSERT INTO `accounts` (`username`,`password`) VALUES ('%e','%e')",SpielerName(playerid),PlayerInfo[playerid][pPassword]); mysql_function_query(db, szQuery, true, "OnQueryFinish", "ii", THREAD_NO_RESULT, playerid); ShowPlayerDialog(playerid, DIALOG_GESCHLECHT, DIALOG_STYLE_LIST, "Geschlecht", "Mann\nFrau", "Auswahl", "Abbruch"); } }
Hier werden die sachen nach der Altereingabe gesetzt sprich nach der Registration:
case DIALOG_ALTER: { if(!response) return ShowPlayerDialog(playerid, DIALOG_ALTER, DIALOG_STYLE_INPUT, "Alter", "Bitte trage dein Alter in das Dialogfenster ein.", "Auswahl", "Abbruch"); if(response) { if(strval(inputtext) < 5 || strval(inputtext) > 99) return ShowPlayerDialog(playerid, DIALOG_ALTER, DIALOG_STYLE_INPUT, "Alter", "Fehler! Dein Alter muss zwischen 5 und 99 Jahren liegen. Bitte trage ein Korrektes Alter ein.", "Auswahl", "Abbruch"); format(szQuery, sizeof(szQuery), "Ok, du bist also [%d] Jahre alt.", strval(inputtext)); SendClientMessage(playerid, -1, szQuery); PlayerInfo[playerid][pAge] = strval(inputtext); PlayerInfo[playerid][pLevel] = 1; SetPlayerHealth(playerid, 100); PlayerInfo[playerid][pSkin] = noobskin; SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]); //SetSpawnInfo(playerid, 0, 137, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0); SpielerSpeichern(playerid); CancelSelectTextDraw(playerid); SpawnPlayer(playerid); } }
Ehm den wert von PlayerInfo[playerid][pID] setze ich eig nicht der wird nur hier geladen :
forward OnQueryFinish(resultid, extraid, ConnectionHandle);public OnQueryFinish(resultid, extraid, ConnectionHandle){ new Rows, Fields; if(resultid != THREAD_NO_RESULT) { cache_get_data(Rows, Fields); } switch(resultid) { case THREAD_LOAD_ACCOUNTS: { if(Rows) { new tmp[130]; cache_get_field_content(0, "ID", tmp); PlayerInfo[extraid][pID] = strval(tmp); cache_get_field_content(0, "Password", tmp); format(PlayerInfo[extraid][pPassword], 129, "%s", tmp); cache_get_field_content(0, "Level", tmp); PlayerInfo[extraid][pLevel] = strval(tmp); cache_get_field_content(0, "Gender", tmp); PlayerInfo[extraid][pGender] = strval(tmp); cache_get_field_content(0, "Age", tmp); PlayerInfo[extraid][pAge] = strval(tmp); cache_get_field_content(0, "Admin", tmp); PlayerInfo[extraid][pAdmin] = strval(tmp); cache_get_field_content(0, "Skin", tmp); PlayerInfo[extraid][pSkin] = strval(tmp); format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid)); ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch"); } else if(!Rows) { format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid)); ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch"); } } } return 1;}und hier soweit ich micht nicht irre:[pwn]SpielerSpeichern(playerid){ new query[1024]; mysql_format(db,query,sizeof(query),"UPDATE `accounts` SET `Level`='%i',`Gender`='%i',`Age`='%i',`Admin`='%i',", PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pGender],PlayerInfo[playerid][pAge],PlayerInfo[playerid][pAdmin]); mysql_format(db,query,sizeof(query),"%s`Skin`='%i' WHERE `ID`='%i'", query,PlayerInfo[playerid][pSkin],PlayerInfo[playerid][pID]); printf("query: %s", query); mysql_tquery(db,query); printf("Der Account von %s wurde erfolgreich gespeichert!",SpielerName(playerid)); return 1;}
SpielerSpeichern(playerid) { new query[1024]; mysql_format(db,query,sizeof(query),"UPDATE `accounts` SET `Level`='%i',`Gender`='%i',`Age`='%i',`Admin`='%i',", PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pGender],PlayerInfo[playerid][pAge],PlayerInfo[playerid][pAdmin]); mysql_format(db,query,sizeof(query),"%s`Skin`='%i' WHERE `ID`='%i'", query,PlayerInfo[playerid][pSkin],PlayerInfo[playerid][pID]); printf("query: %s", query); mysql_tquery(db,query); printf("Der Account von %s wurde erfolgreich gespeichert!",SpielerName(playerid)); return 1; }