Spawn prob mit dini

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
  • ich hab ein loginscript mit dini hab aber jetzt das problem das immer wenn ich join in blue berry lande...
    hab schon geschaut ob er evtl die x,y,z floats nicht richtig speichert.. ist aber nicht der fall....
    ich hau mal n teil vom code rein


    public OnPlayerDisconnect(playerid, reason)
    {
    new pname[MAX_PLAYERS],accFormat[128],Float:saveX, Float:saveY, Float:saveZ;
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(fexist(accFormat) && Spieler[playerid][eingeloggt])
    {
    dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
    dini_IntSet(accFormat,"job",Spieler[playerid][job]);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    GetPlayerPos(playerid,saveX, saveY, saveZ);
    dini_FloatSet(accFormat,"lastx",saveX);
    dini_FloatSet(accFormat,"lasty",saveY);
    dini_FloatSet(accFormat,"lastz",saveZ);


    }



    public OnPlayerSpawn(playerid)
    {


    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);

    if(dini_Isset(accFormat,"lastx"))
    {
    SetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
    }
    if(dini_Isset(accFormat,"skin"))
    {
    SetPlayerSkin(playerid,dini_Int(accFormat, "skin"));
    }


    ich hoffe ihr könnt mir helfen =)


    thx schonmal im voraus

  • Hier bitte, du hast die Werte noch nicht ausgelesen gehabt, ich habs dir mal direkt gemacht ^^:
    public OnPlayerSpawn(playerid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(dini_Isset(accFormat,"lastx"))
    {
    SetPlayerPos(playerid,dini_Float(accFormat,"lastx"), dini_Float(accFormat,"lasty"), dini_Float(accFormat,"lastz"));
    }
    if(dini_Isset(accFormat,"skin"))
    {
    SetPlayerSkin(playerid,dini_Int(accFormat, "skin"));
    }
    //Restlicher Code ...
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • forward UpdateUserFile();


    public OnGameModeInit()
    {
    SetTimer("UpdateUserFile", 600000, 1); //Alle 10min Funktion aufrufen
    }


    public UpdateUserFile()
    {
    for(new playerid = 0; playerid != MAX_PLAYERS; playerid++)
    {
    //Der Code zum abspeichern der Daten
    //Die SpielerID ist 'playerid'
    }
    return true;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • also quasi so?


    public UpdateUserFile()
    {
    for(new playerid = 0; playerid != MAX_PLAYERS; playerid++)
    {
    new pname[MAX_PLAYERS],accFormat[128],Float:saveX, Float:saveY, Float:saveZ;
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(fexist(accFormat) && Spieler[playerid][eingeloggt])
    {
    dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
    dini_IntSet(accFormat,"job",Spieler[playerid][job]);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    GetPlayerPos(playerid,saveX, saveY, saveZ);
    dini_FloatSet(accFormat,"lastx",saveX);
    dini_FloatSet(accFormat,"lasty",saveY);
    dini_FloatSet(accFormat,"lastz",saveZ);
    }
    }
    return true;
    }



    sry das ich n paar mal nachfrage scripte erst seit n paar tagen..

  • Jo perfekt

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!