Skin setzen per MySQL

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
  • Hey ich will wissen wie ich beim Spawnen nach dem Login den SKin der in der MySQL ist dem Spieler zu setzen.


    Muss bei SpawnPlayerInfo bei dem Skin sInfo[playerid][skin] eingegeben werden oder wie?




    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>0)
    {
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password='%s'",name,passwort);
    mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
    SetSpawnInfo(playerid,0,32,399.8955,-1534.8057,32.2734,0,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    SetPlayerColor(playerid,COLOR_WHITE);
    }



    oder so


    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>0)
    {
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password='%s'",name,passwort);
    mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
    SetSpawnInfo(playerid,0,sInfo[playerid][skin],399.8955,-1534.8057,32.2734,0,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    SetPlayerColor(playerid,COLOR_WHITE);
    }



    Oder ist beides Falsch?

    Mit freundlichen Grüßen,
    Derakar

  • So kann das doch nicht gehen, du liest ja auch nicht den Wert aus der Datenbank aus.
    Das Script kann ja nicht wissen welche Skin-ID du in der Datenbank stehen hast.
    Da wo du den Spieler laden lässt musst du das einfügen:
    sInfo[playerid][skin] = cache_get_field_content_int(0,"skin",HANDLE);
    SpawnPlayer(playerid);


    Unter OnPlayerSpawn fügst du das dann ein:
    SetPlayerSkin(playerid,sInfo[playerid][skin]);