Wie mache ich es das ein skin gespeichert 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
  • 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?

  • ich mache s aber nicht mit dini sondern MySQL ausserdem ist das TuTnet so der hammer

  • 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;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • 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;
    }

  • 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.