Zu Koordinaten teleportieren.

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 liebe Community.
    Bis jetzt habe ich viele Antworten per SuFu oder TopThemen bekommen.
    Nun habe ich aber doch eine Frage, die ich nicht beantwortet finden kann.


    Also ich möchte gerne Ingame den Befehl /teleport eingeben und danach die Koords.


    Also z.B /teleport 364.3292 173.8366 1008.3828 oder so.


    Ich scheiter daran diese Übergabe Parameter also die Koordx Koordy und Koordz (364.3292,173.8366,1008.3828) mit zuteilen bei der Eingabe.


    Hat jemand eine Umsetzungsidee für mich =)?

  • enum ppos
    {
    Float:old_x,
    Float:old_y,
    Float:old_z,
    Float:old_a,
    }
    new SpielerPos[MAX_PLAYERS][ppos];
    if (strcmp("/savepos", cmdtext, true, 10) == 0)
    {
    GetPlayerPos(playerid,SpielerPos[playerid][old_x],SpielerPos[playerid][old_y],SpielerPos[playerid][old_z]);
    GetPlayerFacingAngle(playerid,SpielerPos[playerid][old_a]);
    GameTextForPlayer(playerid,"Pos Saved!",3000,3);
    return 1;
    }
    if (strcmp("/backtopos", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,SpielerPos[playerid][old_x],SpielerPos[playerid][old_y],SpielerPos[playerid][old_z]);
    SetPlayerFacingAngle(playerid,SpielerPos[playerid][old_a]);
    GameTextForPlayer(playerid,"Back Portet!",3000,3);
    return 1;
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • das geht aber einfacher


    unter OnPlayerCommandText
    dcmd(savepos,7,cmdtext);
    dcmd(backtopos,9,cmdtext);


    dcmd_savepos(playerid,paramas[])
    new Float xx Float yy Float zz
    {
    GetPlayerPos(playerid,xx,yy,zz);
    }
    #prama unused paramas


    dcmd_backtopos(playerid,paramas[])
    {
    SetPlayerPos(playerid,xx,yy,zz);
    }
    #pragma unused paramas


    natürlich muss man dcmd definiert haben
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

  • @ Weed: Nein^^
    @ Blackfox: Augen auf, das war nicht seine Frage
    @ 8D.:
    dcmd(teleport,8,cmdtext);
    //-------------
    dcmd_teleport(playerid,params[]) {
    new Float:x, Float:y, Float:z;
    if(sscanf(params,"fff",x,y,z)) return SendClientMessage(playerid,FARBE,"/teleport x y z");
    SetPlayerPos(playerid,x,y,z);
    return 1;
    }
    Als dcmd & sscanf Form

  • Danke musste zwar noch ein paar Dinge einfügen aber geht jetzt =).