Teleport befehl

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
  • Guten Tag
    Ich brauche einen Code dafür das sich spieler selbst teleportieren können


    also es soll so sein das er einen befehl eingibt wie zb "/ls" und das er dan dort hinteleportiert wirt wo ich die coordinaten angegeben habe.
    weiterhin soll der spieler selbst die nachricht bekommen "Du hast dich nach Los Santos Teleportiert" und alle anderen sollen die nachricht bekommen
    "(Spielername)hat sich nach Los Santos Teleportiert (/ls) " das problem ist das ich ziemlich neu bin in sachen scripten daher sagt mir auch bitte genau wo ich waqs genau einfügen muss und ob ich ihrgenwas beachten muss wen ich diesen befehl verdoppeln will blos halt dan zb "/sf"
    wäre nett wen mir jemand helfen könnte danke im vorraus

  • if(strcmp(cmdtext,"/meinbefehl",true)==0)


    Der Befehl "strcmp" vergleicht 2 Zeichenketten.


    Zeichenkette 1: cmdtext, also das, was der Spieler in den Chat eingibt.
    Zeichenkette 2: "/meinbefehl"
    true: Groß - und Kleinschreibung wird nicht beachtet.
    ==0: Wenn Zeichenkette 1 & Zeichenkette 2 übereinstimmen.


    {
    SetPlayerPos(playerid,x,y,z);
    }
    Dann fügst du unterhalb die Klammern ein und den Befehl, da noch die Koordinaten
    eintragen und es ist fertig :)

  • new State = GetPlayerState(playerid);
    new vehicleid = GetPlayerVehicleID(playerid);
    if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)
    {
    SetPlayerInterior(playerid, 0);
    SetVehiclePos(vehicleid,x,y,z);
    SetVehicleZAngle(vehicleid, 360);
    SetCameraBehindPlayer(playerid);
    return 1;
    }
    else
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,x,y,z);
    SetPlayerFacingAngle(playerid, 0);
    SetCameraBehindPlayer(playerid);
    return 1;
    }


    Sollte so gehen. (Musst du bei dir einrücken)

  • ok ich weis ich verlange viel aber ich habe wirklich kaum ahnung davon kan einer vllt so freundlich sein und mir jetzt den kopletten befehl einmal so schreiben das ich ihn nurnoch einfügen muss aber bite ohne die nachricht an alle user nur an den der sich geportet hat wäre nett danke

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • if(!strcmp(cmdtext, "/ls", true))
    {
    new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "%s hat sich nach Ls geportet.", pname);
    SendClientMessageToAll(0xAAAAAAAA, string);


    new State = GetPlayerState(playerid);
    new vehicleid = GetPlayerVehicleID(playerid);
    if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)
    {
    SetPlayerInterior(playerid, 0);
    SetVehiclePos(vehicleid,x,y,z);
    SetVehicleZAngle(vehicleid, 360);
    SetCameraBehindPlayer(playerid);
    return 1;
    }
    else
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,x,y,z);
    SetPlayerFacingAngle(playerid, 0);
    SetCameraBehindPlayer(playerid);
    return 1;
    }
    }
    }
    So ? X,Y,Z musst du durch deine Koordinaten ersetzen.

  • SendClientMessageToAll(0xAAAAAAAA, string); 
    verändern in
    SendClientMessage(playerid,0xAAAAAAAA, string);

  • du kannst es aber mit dieser abfrage , abfragen ob er ein admin ist davor !:


    if(IsPlayerAdmin(playerid) == true)
    {
    new string[128];
    format(string,sizeof(string),"%s hat sich zu ls Geportet!",Name(playerid))
    SendClientMessageToAll(GELB,string);
    SetPlayerPos(playerid,x,y,z); // die kordianten wo ls sein soll sprich wo in ls er sich porten soll beim befehl
    }
    else
    SendClientMessage(playerid,ROT,"Du bist kein Admin, unterlass es die befehle der Admins auszutesten!");
    return 0;


    stock Name(playerid)
    {
    new xname[MAX_PLAYER_NAME];
    GivePlayerName(playerid,xname,sizeof(xname);
    return Name;
    }
    //stock hat vlt. ein kleinen fehler aber sonst sollte es klappen


    Viel Spaß
    :thumbup: