Skin wird nicht richtig geladen aus der Datenbank

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
  • Halli Hallo,


    ich habe schon rum geschaut und die Suchfunktion benutzt aber bin noch nicht fündig geworden.


    Ich habe das Problem das Ich selbst mein Skin nicht sehe aber die anderen auf dem Server sehen den richtigen.
    Kurz gesagt ich sehe immer den CJ Skin und die anderen sehen mein Skin den ich gesetzt habe.
    Bei den anderen ist das gleiche ich sehe deren Skin aber selbst sehen sie ihren eigenen Skin nicht.


    Weitere Informationen:
    Der Skin wird erfolgreich in die Datenbank gespeichert und auch ausgelesen.
    Nur bin ich mir mit dem auslesen etwas unsicher.


    Das ist ein kleiner ausschnitt wenn ich den Account lade.



    sInfo[playerid][skin] = cache_get_field_content_int(0,"skin",dbhandle);
    SetPlayerSkin(playerid,sInfo[playerid][skin]);


    Jedoch habe ich es ebenfalls drin in public OnPlayerRequestClass(playerid, classid)



    SetSpawnInfo(playerid,0,sInfo[playerid][skin],0,0,0,0,0,0,0,0,0,0);
    SetPlayerSkin(playerid,sInfo[playerid][skin]);


    Ich war mir unsicher ob ich das SetPlayerSkin dranhängen soll oder nicht.
    Da durch habe ich es schon so bekommen wie es jetzt ist, vorher habe ich bei jeden den CJ Skin gesehen und nun funktioniert es zur hälfte.


    Ich hoffe das Ihr mir dabei helfen könnt.


    Mit freundlichen Grüßen,
    StandbyGamer

    Mit Freundlichen Grüßen

    StandbyGamer

  • Nur mal zum testen, und damit wir wissen wie wir weiter vorgehen. Füge mal den Befehl bei OnPlayerCommandText ein:
    if(!strcmp(cmdtext, "/testskin", true)) SetPlayerSkin(playerid, 283), return 1;


    Siehst du dann den Sheriff Skin, wenn du den Befehl eingibst?

  • Also am Befehl würde es nicht liegen ich habe es ja in ocmd geschrieben.
    Alles funktioniert benutze ich den Befehl sehe ich selbst den Skin auch mach ich jedoch ein relog dann sehe ich wieder den CJ Skin. Andere sehen aber den richtigen Skin.



    ocmd:setskin(playerid,params[])
    {
    new pID,pskin;
    if(sscanf(params,"ui",pID,pskin))return SendClientMessage(playerid,FARBE_GELB,"INFO: /setskin [playerid] [skinid]");
    if(pskin>299) return SendClientMessage(playerid,FARBE_ROT,"SYSTEM: Bitte wähle ein Skin von 0 - 299 aus!");
    SetPlayerSkin(pID, pskin);
    sInfo[pID][skin] = GetPlayerSkin(pID);
    savePlayer(pID);
    return 1;
    }

    Mit Freundlichen Grüßen

    StandbyGamer

  • Ändere in dem Befehl nur zur Sicherheit:
    sInfo[pID][skin] = GetPlayerSkin(pID);
    zu:
    sInfo[pID][skin] = pskin;


    Das kann bei langsamen Verbindungen sonst zu Problemen führen.


    Dann setze bei OnPlayerSpawn das hier mal hin:
    SetPlayerSkin(playerid, sInfo[playerid][skin]);