SaveTeleport System

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
  • Hallo Leute ,


    ich bastel gerade an einem Teleport System , wobei man sich einen Teleport Saven kann.
    Jedenfalls bekomme ich ein paar Erros , die ich mir nicht erklären kann.



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/SavePos", true) == 0)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    dini_FloatSet("/Teleport/file.ini", "F_X", X);
    dini_FloatSet("/Teleport/file.ini", "F_Y", Y);
    dini_FloatSet("/Teleport/file.ini", "F_Z", Z);
    }
    return 1;

    if(strcmp(cmdtext, "/Teleport", true) == 0)
    {
    new Float:X, Float:Y, FloatZ;
    X = dini_Float("/Teleport/file.ini", "F_X");
    Y = dini_Float("/Teleport/file.ini", "F_Y");
    Z = dini_Float("/Teleport/file.ini", "F_Z");
    SetPlayerPos(playerid, X, Y, Z);
    }
    return 1;


    return 0;
    }





    C:\DOKUME~1\HP_BES~1.003\Desktop\test.pwn(82) : warning 225: unreachable code
    C:\DOKUME~1\HP_BES~1.003\Desktop\test.pwn(87) : error 017: undefined symbol "Z"
    C:\DOKUME~1\HP_BES~1.003\Desktop\test.pwn(88) : error 017: undefined symbol "Z"
    C:\DOKUME~1\HP_BES~1.003\Desktop\test.pwn(84) : warning 203: symbol is never used: "FloatZ"
    C:\DOKUME~1\HP_BES~1.003\Desktop\test.pwn(92) : warning 225: unreachable code
    C:\DOKUME~1\HP_BES~1.003\Desktop\test.pwn(92) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.





    Ich hoffe ihr könnt mir helfen :)

  • Meinst du dann also so ?




    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/SavePos", true) == 0)
    {
    dini_Create("/Teleport/file.ini");


    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    dini_FloatSet("/Teleport/file.ini", "F_X", X);
    dini_FloatSet("/Teleport/file.ini", "F_Y", Y);
    dini_FloatSet("/Teleport/file.ini", "F_Z", Z);
    return 1;
    }




    if(strcmp(cmdtext, "/Teleport", true) == 0)
    {
    new Float:X, Float:Y, FloatZ;
    X = dini_Float("/Teleport/file.ini", "F_X");
    Y = dini_Float("/Teleport/file.ini", "F_Y");
    Z = dini_Float("/Teleport/file.ini", "F_Z");
    SetPlayerPos(playerid, X, Y, Z);
    return 1;
    }


    return 0;
    }



    Jap , denke schon ;D ...
    Jetzt habe ich noch die Errors :
    C:\DOKUME~1\HP_BES~1.003\Desktop\test.pwn(91) : error 017: undefined symbol "Z"
    C:\DOKUME~1\HP_BES~1.003\Desktop\test.pwn(92) : error 017: undefined symbol "Z"
    C:\DOKUME~1\HP_BES~1.003\Desktop\test.pwn(88) : warning 203: symbol is never used: "FloatZ"
    C:\DOKUME~1\HP_BES~1.003\Desktop\test.pwn(88 -- 97) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/SavePos", true) == 0)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    dini_FloatSet("/Teleport/file.ini", "F_X", X);
    dini_FloatSet("/Teleport/file.ini", "F_Y", Y);
    dini_FloatSet("/Teleport/file.ini", "F_Z", Z);
    return 1;
    }
    if(strcmp(cmdtext, "/Teleport", true) == 0)
    {
    new Float:X, Float:Y, Float:Z;
    X = dini_Float("/Teleport/file.ini", "F_X");
    Y = dini_Float("/Teleport/file.ini", "F_Y");
    Z = dini_Float("/Teleport/file.ini", "F_Z");
    SetPlayerPos(playerid, X, Y, Z);
    return 1;
    }
    return 0;
    }
    unreachable code bedeutet unerreichbarer code, kommt normalerweise wenn man unter dem return mit dem man die Funktion beendet eine neue Funktion schreibt x)
    Greetz

  • Vielen Dank an alle ;)


    So ich werde es nun Ingame ausprobieren ..






    Edit :
    Funktioniert nicht richtig , nur "X" wird glaube ich richtig bearbeitet ,denn ich habe noch eine kleine Funktion eingebaut.


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/SavePos", true) == 0)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    dini_FloatSet("/Teleport/file.ini", "F_X", X);
    dini_FloatSet("/Teleport/file.ini", "F_Y", Y);
    dini_FloatSet("/Teleport/file.ini", "F_Z", Z);
    new postext[45];
    format(postext, sizeof(postext), "You have saved the position : %f , %f , %f",X, Y, Z);


    SendClientMessage(playerid, 0x0000FFFF, postext);
    return 1;
    }
    if(strcmp(cmdtext, "/Teleport", true) == 0)
    {
    new Float:X, Float:Y, Float:Z;
    X = dini_Float("/Teleport/file.ini", "F_X");
    Y = dini_Float("/Teleport/file.ini", "F_Y");
    Z = dini_Float("/Teleport/file.ini", "F_Z");
    SetPlayerPos(playerid, X, Y, Z);
    return 1;
    }
    return 0;
    }



    Und dann , wenn ich Save kommt nur die X Koordinaten raus , und wenn ich mich Teleportieren möchte , setzt er mich zu dem verbuggten Spawn , nähe der Farm unter der Erde ...

    Einmal editiert, zuletzt von Anthemes ()