Skin speichern problem

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
  • Moinsen,


    habe neulich angefangen scripten zu lernen, was mir bis jetzt für meine verhältnisse auch recht gut geling.
    Es wird ein nutzername, ein passwort, geld des spielers sowie die skinid in einer Mysql-Datenbank gespeichert.


    Sofern man als Spieler disconnected wird auch alles vollständig gespeichert, bei einem restart verbindet man jedoch wieder mit der skinid 0 (also cj)



    Hat evt jemand ne ahnung wieso, weshalb und warum? 8|



    Hier einmal ein paar codeausschnitte:


    hier der code indem alles gespeichert wird:


    Code
    savePlayer(playerid)
    {
    	if(sInfo[playerid][eingeloggt]==0)return 1;
    	{
    	new query[512];
    	format(query,sizeof(query),"UPDATE user SET level='%i',money='%i', adminlevel='%i', permban='%i', skin='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][adminlevel], sInfo[playerid][permban], sInfo[playerid][skin], sInfo[playerid][id]);
    	mysql_function_query(dbhandle, query, false,"","");
    	}
    	return 1;
    }




    hier werden die userdaten nach eingeben eines korrekten passwortes geladen:




    ich hoffe mir kann jemand weiterhelfen, bin echt am verzweifeln :/ :(


    mfg
    Helixxx

  • habe jetzt folgendes "gebastelt:

    Code
    ocmd:test1(playerid)
    {
    
    
    	SendClientMessage(playerid, gelb, "Test1:");
    	SendClientMessage(playerid, gelb, sInfo[playerid][skin]);
    	return 1;
    }


    dieser befehl sollte ja eigentlich die skinid ausgeben, welche beim spieler laden gelden wurde, richtig?



    Jedoch zeigt der befehl mal was ganz anderes an :




    edit://
    hab das hier mal in den public OnPasswordResponse rangehangen:

    Code
    printf("Adminlevel: %d", sInfo[playerid][adminlevel]);
    printf("SkinID: %d", sInfo[playerid][skin]);
    
    
    
    
    und hier einmal das ergebnis:
    [code]
    [12:29:57] Adminlevel: 5
    [12:29:57] SkinID: 0

    3 Mal editiert, zuletzt von Helixxx ()

  • format(query,sizeof(query),"UPDATE user SET level='%i',money='%i', adminlevel='%i', permban='%i', skin='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][adminlevel], sInfo[playerid][permban], sInfo[playerid][skin], sInfo[playerid][id]);


    Liegt an sInfo[playerid][skin], ersetze das mit GetPlayerSkin(playerid)

  • da habe ich auch schon drann gedacht und es wie folgt umgebaut:


    Code
    new query[512],skinID;
    skinID = GetPlayerSkin(playerid);
     format(query,sizeof(query),"UPDATE user SET level='%i',money='%i', adminlevel='%i', permban='%i', skin='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][adminlevel], sInfo[playerid][permban], skinID, sInfo[playerid][id]);
    mysql_function_query(dbhandle, query, false,"","");


    jedoch hat sich nichts geändert :/

  • okay, hier einmal ein der gewünschte mysql log(hab mich einmal während des spiels einegloggt und wieder ausgeloggt:


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich seh in der Log nicht dass du den Spieler speicherst sondern nur lädtst?


    e. Machmal bei OnPlayerDisconnect, savePlayer(playerid);
    Und poste das Ergebnis der Log datei nochmal

  • hab ich :/


    Code
    public OnPlayerDisconnect(playerid, reason)
    {
    	savePlayer(playerid);
    	resetPlayer(playerid);
    	return 1;
    }


    bevor jemand nach dem inhalt der resetPlayer funktion fragt:


    Code
    resetPlayer(playerid)
    {
    	sInfo[playerid][eingeloggt] =0;
    	sInfo[playerid][level] =0;
    	sInfo[playerid][id] =0;
    	return 1;
    }


    edit:
    konnte den fehler selber beheben indem ich in meinen gmx befehl ein resetPlayer(); eingefügt habe. vielen dank euch allen :thumbup:

    6 Mal editiert, zuletzt von Helixxx ()