Positionspeicherung

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
  • Hey, wollte nen Befehl machen, wo sich der Spieler speichern kann.


    Er soll die Position mitspeichern, tut er aber nicht...


    Codeausschnitt:


    new Spielerdatei[64];
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    new angle;


    dini_FloatSet(Spielerdatei,"X",x);
    dini_FloatSet(Spielerdatei,"Y",y);
    dini_FloatSet(Spielerdatei,"Z",z);
    dini_IntSet(Spielerdatei,"Interior",GetPlayerInterior(playerid));
    dini_IntSet(Spielerdatei,"Angle",GetPlayerFacingAngle(playerid,angle));


    Die Position in der Spielerdatei ist immer gleich ( auch wenn ich den Befehl eingebe )


    Hoffe ihr könnt mir helfen...

  • Zitat von Fabian™

    Du musst es auch in deinen Account rein speichern, so bringt der Befehl überhaupt gar nichts!


    Steht da doch?

    Zitat

    dini_FloatSet(Spielerdatei,"X",x);
    dini_FloatSet(Spielerdatei,"Y",y);
    dini_FloatSet(Spielerdatei,"Z",z);
    dini_IntSet(Spielerdatei,"Interior",GetPlayerInterior(playerid));
    dini_IntSet(Spielerdatei,"Angle",GetPlayerFacingAngle(playerid,angle));


    Was fehlt ist die Angabe zu der Accountdatei.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • und die lösung wurde dort auch nicht genannt, weil wo soll er denn die koordianten x,y, und z nehmen? wenn dann müsste er mit nem enum, SetPVarFloat o. A. arbeiten!
    Ich bin auch nicht auf Posts aus, nur ich hab ein Fehler von ihm korrigiert? Weil sonst würde zb nachher nen Thread kommen, indem er fragt, warum die FacingAngle nicht gespeichert wird.

  • Außerdem zusätzlich zu der Lösung von T4125Gamer, musst du für die Angle das genau, wie bei der Position machen.


    Sprich:

    new Float:angle;
    GetPlayerFacingAngle(playerid, angle);
    dini_FloatSet(Spielerdatei,"Angle",angle);


    dini_IntSet(Spielerdatei,"Angle",GetPlayerFacingAngle(playerid,angle));


    Geht nicht.


    PullDown:
    Warum ich das hier noch Poste? Ganz einfach. Er hat in seinem Befehl das noch stehen und es ist falsch. Bevor er jetzt noch ein Thread für "Wieso speichert er die Angle nicht" aufmacht, verbesser ich es hier. ;)

  • new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);


    da holt er die Positionen her.
    der Fehler ist nur, dass er den Dateipfad nicht formatiert hat und somit es nicht gespeichert wird.
    da brauchste kein Enum für !!?!?!?!


    dini_FloatSet(Spielerdatei,"X",x);
    dini_FloatSet(Spielerdatei,"Y",y);
    dini_FloatSet(Spielerdatei,"Z",z);




    und hier werden die Floats gespeichert.....


    OMG, lern mal bitte die Grundlagen bevor du Leuten helfen willst....


    Mfg


    PullDown


    //edit : zusatz : und mit dem Float hätte er dann schon gemerkt. ;)


  • Da hast du wohl was vergessen :wacko:
    http://wiki.sa-mp.com/wiki/Floatround

  • Hey, wenn ich off gehe und wieder on gehe, spawnt er mich iwi immer in die Pos 0.0.0
    In der Spielerdatei aber, steht, wenn ich off gehe die richtige Pos...


    Was ist falsch?


    OnPlayerDisconnect


    new Spielerdatei[64];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    new Float:angle;


    dini_FloatSet(Spielerdatei,"X",x);
    dini_FloatSet(Spielerdatei,"Y",y);
    dini_FloatSet(Spielerdatei,"Z",z);
    dini_IntSet(Spielerdatei,"Interior",GetPlayerInterior(playerid));
    dini_FloatSet(Spielerdatei,"Angle",GetPlayerFacingAngle(playerid,angle));


    OnPlayerSpawn


    new Float:x,Float:y,Float:z;
    new Spielerdatei[64];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
    //GangZoneShowForAll(spawnzone,Rot);

    x=dini_Float(Spielerdatei,"X");
    y=dini_Float(Spielerdatei,"Y");
    z=dini_Float(Spielerdatei,"Z");
    SetPlayerPos(playerid,x,y,z);
    SetPlayerFacingAngle(playerid,dini_Int(Spielerdatei,"Angle"));
    SetPlayerInterior(playerid,dini_Int(Spielerdatei,"Interior"));

    SetPlayerHealth(playerid,dini_Int(Spielerdatei,"Leben"));
    SetPlayerArmour(playerid,dini_Int(Spielerdatei,"Armour"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe1"),dini_Int(Spielerdatei,"Waffe1Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe2"),dini_Int(Spielerdatei,"Waffe2Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe3"),dini_Int(Spielerdatei,"Waffe3Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe4"),dini_Int(Spielerdatei,"Waffe4Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe5"),dini_Int(Spielerdatei,"Waffe5Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe6"),dini_Int(Spielerdatei,"Waffe6Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe7"),dini_Int(Spielerdatei,"Waffe7Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe8"),dini_Int(Spielerdatei,"Waffe8Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe9"),dini_Int(Spielerdatei,"Waffe8Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe10"),dini_Int(Spielerdatei,"Waffe10Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe11"),dini_Int(Spielerdatei,"Waffe11Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe12"),dini_Int(Spielerdatei,"Waffe12Munition"));
    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe13"),dini_Int(Spielerdatei,"Waffe13Munition"));


    stock SpielerSpeichern



    dini_FloatSet(Spielerdatei,"Leben",GetPlayerHealth(playerid,leben));
    dini_FloatSet(Spielerdatei,"Armour",GetPlayerArmour(playerid,armour));


    new Waffen[13][2];
    for (new i = 0; i < 13; i++)
    {
    GetPlayerWeaponData(playerid, i, Waffen[i][0], Waffen[i][1]);
    dini_IntSet(Spielerdatei,"Waffe1",Waffen[0][0]);
    dini_IntSet(Spielerdatei,"Waffe1Munition",Waffen[0][1]);
    dini_IntSet(Spielerdatei,"Waffe2",Waffen[1][0]);
    dini_IntSet(Spielerdatei,"Waffe2Munition",Waffen[1][1]);
    dini_IntSet(Spielerdatei,"Waffe3",Waffen[2][0]);
    dini_IntSet(Spielerdatei,"Waffe3Munition",Waffen[2][1]);
    dini_IntSet(Spielerdatei,"Waffe4",Waffen[3][0]);
    dini_IntSet(Spielerdatei,"Waffe4Munition",Waffen[3][1]);
    dini_IntSet(Spielerdatei,"Waffe5",Waffen[4][0]);
    dini_IntSet(Spielerdatei,"Waffe5Munition",Waffen[4][1]);
    dini_IntSet(Spielerdatei,"Waffe6",Waffen[5][0]);
    dini_IntSet(Spielerdatei,"Waffe6Munition",Waffen[5][1]);
    dini_IntSet(Spielerdatei,"Waffe7",Waffen[6][0]);
    dini_IntSet(Spielerdatei,"Waffe7Munition",Waffen[6][1]);
    dini_IntSet(Spielerdatei,"Waffe8",Waffen[7][0]);
    dini_IntSet(Spielerdatei,"Waffe8Munition",Waffen[7][1]);
    dini_IntSet(Spielerdatei,"Waffe9",Waffen[8][0]);
    dini_IntSet(Spielerdatei,"Waffe9Munition",Waffen[8][1]);
    dini_IntSet(Spielerdatei,"Waffe10",Waffen[9][0]);
    dini_IntSet(Spielerdatei,"Waffe10Munition",Waffen[9][1]);
    dini_IntSet(Spielerdatei,"Waffe11",Waffen[10][0]);
    dini_IntSet(Spielerdatei,"Waffe11Munition",Waffen[10][1]);
    dini_IntSet(Spielerdatei,"Waffe12",Waffen[11][0]);
    dini_IntSet(Spielerdatei,"Waffe12Munition",Waffen[11][1]);
    dini_IntSet(Spielerdatei,"Waffe13",Waffen[12][0]);
    dini_IntSet(Spielerdatei,"Waffe13Munition",Waffen[12][1]);
    }



    Achja, beim Leben steht in der Spielerdatei:


    1.00000
    und bei armour auch...


    Die waffen bekommt man jez iwi auch nicht mehr wieder


    Kann mir jemand helfen?