Positionen speichern?

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
  • mit /save ingame und wird dann im gta sa ordner gespeichert.

  • Kurz Selbst geschrieben:

    if(strcmp("/savepos",10,true) == 0)
    {
    new Float:x,Float:y,Float:z,Float:a;
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,a);
    return 1;
    }


    if(strcmp("/loadpos",10,true) == 0)
    {
    SetPlayerPos(playerid,x,y,z);
    SetPlayerFacingAngle(playerid,a);
    return 1;
    }


    müsste eigl klappen sonst kann nur aufm strcmp dings falsch sein ( kann das net auswendig schreibn XD


    /EDIT achso meinteste das o.o

  • Mel.. :D Fürs kurze Speichern muss es so aussehen:


    // Nach oben unter die Includes:
    new Float:Xx[MAX_PLAYERS], Float:Yy[MAX_PLAYERS], Float:Zz[MAX_PLAYERS], Float:Aa[MAX_PLAYERS];


    // OnPlayerCommandText
    if (strcmp("/save", cmdtext, true, 5) == 0)
    {
    GetPlayerPos(playerid, Xx[playerid], Yy[playerid], Zz[playerid]);
    GetPlayerFacingAngle(playerid, Aa[playerid]);
    return 1;
    }

    if (strcmp("/load", cmdtext, true, 5) == 0)
    {
    SetPlayerPos(playerid, Xx[playerid], Yy[playerid], Zz[playerid]);
    SetPlayerFacingAngle(playerid, Aa[playerid]);
    return 1;
    }


    Und ja für das andere brauchste ein Accountsystem

  • Ahh...okay jetzt versteh ich es^
    Ich hab gedacht, er ist ein Spieler und möchte beliebige Coords abspeichern
    Nimm am besten einen Timer



    //Oben auf dein Script
    new Float: XCoord, Float: YCoord, Float: ZCoord;
    GetPlayerPos( XCoord, Float: YCoord, Float: ZCoord);


    enum Coordsspeicher
    {
    Float:xSave,
    Float:ySave,
    Float:zSave
    }
    new Coordsspeicher[MAX_PLAYERS][SavePlayerPosEnum];



    Coordsspeicher[playerid][xSave] = XCoord;
    Coordsspeicher[playerid][ySave] = YCoord;
    Coordsspeicher[playerid][zSave] = ZCoord;


    //Dann brauchst einen Timer der dir die Coords regelmässig in Coords speichert


    forward CoordSpeicherplatz()


    public CoordSpeicherplatz()
    {
    new arrCoords[2][64];
    new strFromFile2[64];
    new File: file = fopen("CoordSpeicherplatz.cfg", io_read);
    if (file)
    {
    new idx;
    while (idx < sizeof(Coordsspeicher))
    {
    fread(file, strFromFile2);
    split(strFromFile2, arrCoords, '|');
    strmid(Coordsspeicher[playerid][xSave],arrCoords[0], 0, strlen(arrCoords[1]), 255);
    strmid(Coordsspeicher[playerid][ySave],arrCoords[1], 0, strlen(arrCoords[2]), 255);
    strmid(Coordsspeicher[playerid][zSave],arrCoords[2], 0, strlen(arrCoords[3]), 255);


    //UnterOnGamemodeinit


    SetTimer("CoordSpeicherplatz", 5000, true);


    public OnPlayerDisconnect(playerid)
    {
    CoordSpeicherplatz()
    }


    public OnPlayerSpawn(playerid)
    {
    SetPlayerPos(playerid, Coordsspeicher[playerid][xSave], Coordsspeicher[playerid][ySave], Coordsspeicher[playerid][zSave] );
    }

    [align=center]
    Mta Script Editor - Work in Progress