skin speichert nicht nach /gmx

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
  • enum spieler_daten
    {
    wanted,
    skin,
    Float:lastx,Float:lasty,Float:lastz,
    eingeloggt,
    Admin,
    leader,
    team,
    aFuhrerschein,
    }
    public OnPlayerDisconnect(playerid, reason)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(fexist(accFormat) && Spieler[playerid][eingeloggt])
    {
    dini_IntSet(accFormat,"Admin",Spieler[playerid][Admin]);
    dini_IntSet(accFormat,"team",Spieler[playerid][team]);
    dini_IntSet(accFormat,"leader",Spieler[playerid][leader]);
    dini_IntSet(accFormat,"aFuhrerschein",Spieler[playerid][aFuhrerschein]);
    dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
    dini_IntSet(accFormat,"skin",Spieler[playerid][skin]);
    dini_FloatSet(accFormat,"lastx",Spieler[playerid][lastx]);
    dini_FloatSet(accFormat,"lasty",Spieler[playerid][lasty]);
    dini_FloatSet(accFormat,"lastz",Spieler[playerid][lastz]);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
    }
    Spieler[playerid][Admin] = 0;
    Spieler[playerid][team] = 0;
    Spieler[playerid][leader] = 0;
    Spieler[playerid][eingeloggt] = 0;
    Spieler[playerid][aFuhrerschein] = 0;
    Spieler[playerid][wanted] = 0;
    Spieler[playerid][skin] = 0;
    Spieler[playerid][lastx] = (0.0);
    Spieler[playerid][lasty] = (0.0);
    Spieler[playerid][lastz] = (0.0);
    public OnPlayerSpawn(playerid)
    {

    //SetPlayerPos(playerid, 1230.5754,-1825.4458,13.4117);
    new pname[MAX_PLAYERS],accFormat[128];


    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(dini_Isset(accFormat,"skin"))
    {


    }
    if(Spieler[playerid][team] == 0)
    {
    SetPlayerPos(playerid, 1219.0143,-1812.4454,16.5938);
    SetPlayerInterior(playerid, 0);
    }
    if(Spieler[playerid][team] == 1)
    {
    SetPlayerPos(playerid,2817.3821,-1171.2654,1025.5703 );
    SetPlayerInterior(playerid, 0);
    }


    return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(response)
    {
    switch(dialogid) // dialogid auswählen
    {
    case DIALOG_LOGIN: // ID Login
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");

    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0) // Passwort Direkt aus der Datei Laden
    {
    Spieler[playerid][Admin] = dini_Int(accFormat,"Admin");
    Spieler[playerid][team] = dini_Int(accFormat,"team");
    Spieler[playerid][leader] = dini_Int(accFormat,"leader");
    Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
    Spieler[playerid][aFuhrerschein] = dini_Int(accFormat,"aFuhrerschein");
    Spieler[playerid][skin] = dini_Int(accFormat,"skin");
    Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
    Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
    Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
    Spieler[playerid][eingeloggt] = 1; // Spieler ist nun erfolgreich eingeloggt
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");


    Bitte um Hilfe
    MFG mipu

    Einmal editiert, zuletzt von Optiimal ()

  • Also daraus kann man nicht viel schliessen da ich nirgends sehe das der skin an Spieler[playerid][skin] weitergegeben wird. Zwar wird beim disconnect
    gespeichert aber ist da auch was drin ?

  • Spieler[playerid][skin] = GetPlayerSkin(playerid);


    So hätte die pInfo schonmal den Playerskin, wie du dann speicherst weisst du ja schon.
    Wo du das einfügst musst du selbst entscheiden, weiß ja nicht wie dein Register/Login System aufgebaut ist.

    Einmal editiert, zuletzt von Anubis ()

  • eine neue Variable ist für den Vorgang nicht nötig bzw. geht sogar Direkt beim verlassen des Servers...

    Ja hast recht, hatte es gerade editiert. Nur ich hatte mal das problem das beim disconnect immer eine 0 gespeichert wurde und als ich dann eine variable benutzt habe war das problem weg.Warum und weshalb......ist mir rätselhaft.

  • ^hmm das funkt einfach nicht habe das jetzt so gemacht


    public OnPlayerDisconnect(playerid, reason)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(fexist(accFormat) && Spieler[playerid][eingeloggt])
    {
    dini_IntSet(accFormat,"Admin",Spieler[playerid][Admin]);
    dini_IntSet(accFormat,"team",Spieler[playerid][team]);
    dini_IntSet(accFormat,"leader",Spieler[playerid][leader]);
    dini_IntSet(accFormat,"aFuhrerschein",Spieler[playerid][aFuhrerschein]);
    dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
    dini_IntSet("datei","key",GetPlayerSkin(playerid));
    dini_FloatSet(accFormat,"lastx",Spieler[playerid][lastx]);
    dini_FloatSet(accFormat,"lasty",Spieler[playerid][lasty]);
    dini_FloatSet(accFormat,"lastz",Spieler[playerid][lastz]);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));


    public OnPlayerSpawn(playerid)
    {

    //SetPlayerPos(playerid, 1230.5754,-1825.4458,13.4117);
    new pname[MAX_PLAYERS],accFormat[128];


    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    Spieler[playerid][skin] = GetPlayerSkin(playerid);


    MFG Mipu

  • klar wenn du nur kopierst, du musst es deinem Code auch anpassen würde mich auch nicht wundern ^^



    zudem bei OnPlayerSpawn ...


    if(!Spieler[playerid][skin])Spieler[playerid][skin] = GetPlayerSkin(playerid);
    else SetPlayerSkin(playerid,Spieler[playerid][skin]);


    Damit der Skin nicht immer neu gesetzt wird denn ich denke das war nicht der Sinn der Sache sonst wäre es ja eine Sinnlose Sache

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • also da habe ich nur das hier


    if(strcmp(strget(cmdtext,0),"/gmx",true) == 0)
    {
    if(Spieler[playerid][Admin] >= 4 )
    {
    SendRconCommand("gmx");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }