Savedpositions.txt

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 habe alle möglichen Threads und Foren durchgekämmt. Keine Lösung hat funktioniert.


    Das Problem ist, dass mit /save keine Koordinaten in der Datei gespeichert werden. Die Datei wird auch nicht erstellt.


    Problem besteht bei mir bei Windows 7 und bei Windows 8.1 Pro. (Beide 64-Bit)


    - Als Administrator starten = CHECKED!
    - Windows 98/ME im Kompatibilitätsmodus = CHECKED!
    - GTA-SA neu installiert = CHECKED!
    - SAMP neu installiert = CHECKED!
    - Grand Theft Auto User Files Ordner gelöscht und neu erstellen lassen = CHECKED!
    - savedpositions.txt manuell erstellt = CHECKED!
    - Fremde savedpositions.txt genommen und getestet = CHECKED!
    - Originale gta_sa.exe ausprobiert = CHECKED!
    - No CD gta_sa.exe ausprobiert = CHECKED!
    - savedpositions.txt schreibgeschützt = CHECKED!
    - ...\AppData\Local\VirtualStore\Program Files\Rockstar Games\GTA San Andreas überprüft = CHECKED!


    - Kompatibilitätsdateien anschalten = UNCHECKED!, weil der Button nicht vorhanden ist!


    Hat irgendwer noch einen Lösungsvorschlag?

    Einmal editiert, zuletzt von Artus ()

  • Hab dir mal eine andere Lösung erstellt, in den Scriptfiles musst du einen Ordner namens SavePos erstellen.


    Anwenden: /csave [name] wie bei /save [name]


    ocmd:csave(playerid, params[])
    {
    new name[128];
    if(sscanf(params,"s",name)) return SendClientMessage(playerid, 0x00000000,"/csave [NAME]");
    {
    new file[128];
    new Float:x, Float:y, Float:z;
    format(file, sizeof(file), "\\SavePos\\%s.ini", name);
    if(!dini_Exists(file))
    dini_Create(file);
    GetPlayerPos(playerid, x, y, z);
    dini_FloatSet(file, "posX", x);
    dini_FloatSet(file, "posY", y);
    dini_FloatSet(file, "posZ", z);
    SendClientMessage(playerid, 0x00000000, "Du hast erfolgreich die Coordinate gespeichert.");
    }
    return 1;
    }

  • Ich habe früher gescriptet und wollte jetzt wieder reinkommen. Habe dann versucht den Befehl selber zu machen. Bei der Fahrzeugspeicherung schreibt er garnichts in die Datei und bei der normalen Koordinatenspeicherung nur "AddPlayerClass("


    Hier ist der Befehl:


    ocmd:psave(playerid, params[])
    {
    new str[16];
    if(sscanf(params,"s[16]", str)) return SendClientMessage(playerid, orange, "Nutzung: /psave [Beschreibung]");
    {
    new Float:x, Float:y, Float:z, Float:ang, model, strg[128];
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, ang);
    if(IsPlayerInAnyVehicle(playerid))
    {
    model = GetVehicleModel(GetPlayerVehicleID(playerid));
    new File:pos = fopen("/savedpositions.txt", io_write); // Datei wird geöffnet
    if(pos) // Wenn die Datei geöffnet wurde
    {
    format(strg, 16, "CreateVehicle(%i,%f,%f,%f,%f,0,0,300); %s\r\n", model, x, y, z, ang, str);
    fwrite(pos, strg); // Schreibt string in die Datei (\r\n = neue Zeile)
    fclose(pos); // Schließt die Datei
    }
    }
    else
    {
    new File:pos = fopen("/savedpositions.txt", io_write); // Datei wird geöffnet
    if(pos) // Wenn die Datei geöffnet wurde
    {
    format(strg, 16, "AddPlayerClass(0,%f,%f,%f,%f,0,0,0,0,0,0); %s\r\n", x, y, z, ang, str);
    fwrite(pos, strg); // Schreibt string in die Datei (\r\n = neue Zeile)
    fclose(pos); // Schließt die Datei
    }
    }
    }
    return 1;
    }

  • Eins weiß ich wohl, der String muss zu 100% erhöht werden, da reichen 128 Zeichen nicht.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ocmd:psave(playerid,params[]){
    new Float:Pos[4],model,string[400];
    if(!params[0])return SendClientMessage(playerid,orange,"Nutzung; /psave [Beschreibung]");
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]),GetPlayerFacingAngle(playerid,Pos[3]);
    if(IsPlayerInAnyVehicle(playerid)){
    model = GetVehicleModel(GetPlayerVehicleID(playerid));
    new File:pos = fopen("/savedpositions.txt",io_append);
    if(pos){
    format(string,400,"CreateVehicle(%d,%f,%f,%f,%f,0,0,300); %s\r\n",model,Pos[0],Pos[1],Pos[2],Pos[3],params);
    fwrite(pos,string);
    fclose(pos);
    }
    return 1;
    }
    new File:pos = fopen("/savedpositions.txt",io_append);
    if(pos){
    format(string,400,"AddPlayerClass(0,%f,%f,%f,%f,0,0,0,0,0,0); %s\r\n",Pos[0],Pos[1],Pos[2],Pos[3],params);
    fwrite(pos,string);
    fclose(pos);
    }
    return 1;
    }


    Schreib das ebenfalls mal so ;)

  • Man sollte io_append statt io_write nutzen, sonst überschreibt man die Datein bei jedem Save ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski