Immer CJ Skin

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
  • Guten Abend,


    Ich bekomme beim Einloggen immer meinen CJ Skin, obwohl in der Datenbank eine andere SkinID steht.
    public OnPlayerRequestClass(playerid, classid)
    {
    if(Spieler[playerid][UserLogged] == 0)
    {
    SetSpawnInfo(playerid,0,79,1129.0286,-1488.7848,22.7690,358.3466,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    }
    else if(Spieler[playerid][UserLogged] == 1)
    {
    switch(Spieler[playerid][UserFraktion])
    {
    case 0:
    {
    SetSpawnInfo(playerid,0,cache_get_field_content_int(0,"UserSkin",handle),1129.0286,-1488.7848,22.7690,358.3466,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    }
    }
    }
    return 1;
    }


    Vielleicht kann mir einer helfen..

  • Jap wird es, das Problem ist ja, dass es nur beim Skin ist, das andere wird ja gespeichert, vielleicht muss ich dazu sagen:


    Das ist nur, wenn ich Ingame bin und in der Konsole "gmx" eingebe^


    /edit


    Unter Wiki ist die erste 0 das Team

  • Nun habe ich das so:
    public OnPlayerSpawn(playerid)
    {
    new query[128];
    format(query,sizeof query,"SELECT UserSkin FROM Accounts WHERE UserName='%s'",Name(playerid));
    mysql_function_query(handle,query,true,"OnSkin","i",playerid);
    return 1;
    }
    public OnSkin(playerid)
    {
    SetPlayerSkin(playerid,cache_get_field_content_int(0,"UserSkin",handle));
    return 1;
    }
    und es geht immer noch nicht.

  • Wieso ein extra Callback nur für den Skin ? 8|
    Beim Einloggen, sprich Passwort richtig etc, ein SELECT Query ab der alle Spielerdaten ausliest.
    Dann beim jeweiligen Query, lädts du auch den Skin.


    Spieler[playerid][Skin]=cache_get_field_content_int(0,"Skin");
    Lässt ihn Spawnen mit SpawnPlayer(playerid);
    Und bei OnPlayerSpawn settest du ihm den Skin
    SetPlayerSkin(playerid,Spieler[playerid][Skin]);

  • Ich habe das nicht ganz verstanden.


    Hier wird beim Einloggen alles abgefragt und auch das Passwort ob das stimmt oder nicht.


    format(query,sizeof query,"SELECT * FROM Accounts WHERE UserName='%s' AND UserPasswort='%s'",Name(playerid),pww);
    Wo muss ich das mit dem Skin einfügen?

  • format(query,sizeof query,"SELECT * FROM Accounts WHERE UserName='%s' AND UserPasswort='%s'",Name(playerid),pww);
    mysql_tquery(deineConnection,query,"loadMyPlayer","i",playerid);


    forward loadMyPlayer(playerid);
    public loadMyPlayer(playerid){
    new rows,fields;
    cache_get_data(rows,fields,deineConnection);
    if(!rows)return print("Keine Spielerdaten geladen");
    else{
    .
    .
    .
    .
    Spieler[playerid][Skin]=cache_get_field_content_int(0,"Skin",deineConnection);
    SpawnPlayer(playerid);
    return 1;
    }
    }


    public OnPlayerSpawn(playerid){
    SetPlayerSkin(playerid,Spieler[playerid][Skin]);
    return 1;
    }



    So ungefähr, nur halt an deinen Code anpassen :)

  • Mir fällt gerade auf, wenn ich Ingame bin und "gmx" in die Konsole eingebe, habe ich das mal geprintet, kommt das:
    UPDATE Accounts SET UserLevel='0',UserAdmin='0',UserGeld='0',UserSkin='0',UserBank='0',UserRucksack='0',UserFlaschen='0',UserFraktion='0'


    Überall 0

    2 Mal editiert, zuletzt von TheBester ()