/teleport to me

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 Leute!!
    Ich habe mir überlegt, dass wir für unseren Server, noch ein Adminbefehl bräuchten.
    Und zwar /teleport to me [id].
    Was ich damit haben will:
    Die Spieler-ID wird dann zum Admin geportet.
    Es gibt auch die Möglichkeit:
    /teleport to [Ort] [id]
    Was damit gemeint ist:
    Die Spieler-ID wird statt zum Admin zu bestimmten Orten geportet(z.B.PD, Stadthalle, Airport, ...)
    Könntet ihr mir da helfen??
    Wäre echt nett.
    MFG Raphii

    Scripter aus Leidenschaft!
    Tod dem Godfather, lasst Selfmade-Scripts freie Möglichkeiten!

  • Hier meinste sowas?



    if(!strcmp(strget(cmdtext, 0),"/gethere"))
    {
    new target = strval(strget(cmdtext, 1));
    if(!strlen(strget(cmdtext, 1))) { SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /gethere [ID]"); return 1; }
    if(!IsPlayerConnected(target)) { SendClientMessage(playerid,COLOR_RED,"Diese ID ist nicht vergeben"); return 1; }
    if(PlayerInfo[playerid][adminlvl] >= 2)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetPlayerPos(target,X,Y+1,Z);
    }
    return 1;
    }



    if(!strcmp(strget(cmdtext, 0),"/goto"))
    {
    new target = strval(strget(cmdtext, 1));
    if(!strlen(strget(cmdtext, 1))) { SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /goto [ID]"); return 1; }
    if(!IsPlayerConnected(target)) { SendClientMessage(playerid,COLOR_RED,"Diese ID ist nicht vergeben"); return 1; }
    if(PlayerInfo[playerid][adminlvl] >= 1)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(target,X,Y,Z);
    SetPlayerPos(playerid,X,Y+1,Z);
    }
    return 1;
    }

  • sowas?

    if(!strcmp(strget(cmdtext, 0),"/bring"))
    {
    new target = strval(strget(cmdtext, 1));
    new target2 = strval(strget(cmdtext, 2));
    if(!strlen(strget(cmdtext, 1))) { SendClientMessage(playerid,COLOR_GRAD2,"USAGE: /bring [first] [second]"); return 1; }
    if(!IsPlayerConnected(target)) { SendClientMessage(playerid,COLOR_RED,"Die erste ID ist nicht vergeben"); return 1; }
    if(!IsPlayerConnected(target2)) { SendClientMessage(playerid,COLOR_RED,"Die Zweite ID ist nicht vergeben"); return 1; }
    if(PlayerInfo[playerid][adminlvl] >= 2)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(target,X,Y,Z);
    SetPlayerPos(target2,X,Y+1,Z);
    }
    return 1;
    }

  • Ich meine es so:
    sagen wir ich bin beim PD.Und ID 9 will Cop werden.Nur ich kann ihn einladen.
    Und er is in LV.Dann mach ich den Befehl und er wird neben mich geportet.
    Geht sowas.
    (im prinzip hat shadow recht.

    Scripter aus Leidenschaft!
    Tod dem Godfather, lasst Selfmade-Scripts freie Möglichkeiten!

  • Ich meine es so:
    sagen wir ich bin beim PD.Und ID 9 will Cop werden.Nur ich kann ihn einladen.
    Und er is in LV.Dann mach ich den Befehl und er wird neben mich geportet.
    Geht sowas.
    (im prinzip hat shadow recht.


    Das ist ja der /gethere command von AmoK:


    if(!strcmp(strget(cmdtext, 0),"/gethere")) {  new target = strval(strget(cmdtext, 1));
      if(!strlen(strget(cmdtext, 1))) { SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /gethere [ID]"); return 1; }
      if(!IsPlayerConnected(target)) { SendClientMessage(playerid,COLOR_RED,"Diese ID ist nicht vergeben"); return 1; }
      if(PlayerInfo[playerid][adminlvl] >= 2)
      {
      new Float:X,Float:Y,Float:Z;
      GetPlayerPos(playerid,X,Y,Z);
      SetPlayerPos(target,X,Y+1,Z);
      }
      return 1;
     }



    Cmd: by AmoK damit es kein Ärger gibt :P

  • Mach folgendes unter OnPlayerCommandText:

    //----------------------------------[GETHERE]-----------------------------------------------
    if(strcmp(cmd, "/gethere", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /gethere [ID/NAME]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if (IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[plo][pAdmin] > 1337)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ask the admin to goto you.");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 3)
    {
    GetPlayerPos(playerid, plocx, plocy, plocz);
    if(PlayerInfo[playerid][pInt] > 0)
    {
    SetPlayerInterior(plo,PlayerInfo[playerid][pInt]);
    PlayerInfo[plo][pInt] = PlayerInfo[playerid][pInt];
    PlayerInfo[plo][pLocal] = PlayerInfo[playerid][pLocal];
    }
    if(PlayerInfo[playerid][pInt] == 0)
    {
    SetPlayerInterior(plo,0);
    }
    if(plocz > 930.0 && PlayerInfo[playerid][pInt] == 0) //the highest land point in sa = 526.8
    {
    SetPlayerInterior(plo,1);
    PlayerInfo[plo][pInt] = 1;
    }
    if (GetPlayerState(plo) == 2)
    {
    TelePos[plo][0] = 0.0;
    TelePos[plo][1] = 0.0;
    new tmpcar = GetPlayerVehicleID(plo);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    }
    else
    {
    SetPlayerPos(plo,plocx,plocy+2, plocz);
    }
    SendClientMessage(plo, COLOR_GRAD1, " You have been teleported");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " you are not authorized to use that command!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d is not an active player.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    Mit freundlichen Grüßen
    Illex

  • mal einfacher, nicht aus gf...


    if(strcmp("/bring",t,true)==0)
    {
    if(DEINE IS PLAYERADMINABFRAGE EINSETZEN)
    {
    if(strlen(tt))
    {
    new id = strval(tt);
    new Float:x,Float:y,Float:z;
    new i;
    GetPlayerPos(playerid,x,y,z);
    i=GetPlayerInterior(playerid);
    SetPlayerPos(id,x+2,y+2,z);
    SetPlayerInterior(id,i);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Benutze: /bring <id>");
    }
    }
    }

    Mfg kony




  • machs doch so... dann brauchst du kein ReturnUser:
    if(strcmp(strget(cmdtext,0),"/get",true) == 0)
    {
    if(pInfo[playerid][admin] >= 3)
    {
    if(!strlen(strget(cmdtext,1)))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Verwendung: /get [spielerid]");
    return 1;
    }
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    new vehicleid = GetPlayerVehicleID(ziel);
    new State = GetPlayerState(ziel);
    SetPlayerPos(ziel,x+2,y,z);
    if(IsPlayerInAnyVehicle(ziel) && State == PLAYER_STATE_DRIVER)
    {
    SetVehiclePos(vehicleid,x+2,y,z);
    PutPlayerInVehicle(ziel,vehicleid,0);
    }
    new spieler[40];
    new msg[200];
    GetPlayerName(playerid,spieler,sizeof(spieler));
    format(msg,sizeof(msg),"Du wurdest von %s teleportiert.",spieler);
    SendClientMessage(ziel,COLOR_WHITE,msg);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"You have to be admin level 3 to use this command!");
    }
    return 1;
    }


    ist aus meinem admin-sys und es müsste eig funktionieren...

    Die deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.


    _____________________________________________________________________________


    Einige Filterscripts von mir...

  • Er will keinen /gethere befehl von einem GF, sondert einen Befehl wie er oben geschrieben hat mit Ortsangabe.
    Hier ist dein Befehl, du musst ihn noch mit Koordinaten und weiteren Punkten ergänzen, "me", "ls", "sf" sind drin als Beispiele. Benötigt dcmd, sscanf und du musst als Rcon eingeloggt sein...
    dcmd_teleport(playerid, params[])
    {
    if(!IsPlayerAdmin(playerid)) return 1; // Nur Rcon Admins
    new
    name[MAX_PLAYER_NAME],
    string[80],
    location[20],
    giveplayerid;
    if(sscanf(params, "su", location, giveplayerid)) return SendClientMessage(playerid, FARBE, "BENUTZUNG: /teleport [Ort] [Spieler]");
    if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, FARBE, "Ungültige Spielerid");
    if(strcmp(location, "me", false) == 0)
    {
    new
    Float:pX,
    Float:pY,
    Float:pZ;
    GetPlayerPos(playerid, pX, pY, pZ);
    SetPlayerPos(giveplayerid, pX, pY, pZ+0.5);

    }
    else if(strcmp(location, "ls", false) == 0) SetPlayerPos(giveplayerid, KOORDINATE_LSX, KOORDINATE_LSY, KOORDINATE_LSZ); // hier Koordinaten eintragen
    else if(strcmp(location, "sf", false) == 0) SetPlayerPos(giveplayerid, KOORDINATE_SFX, KOORDINATE_SFY, KOORDINATE_SFZ); // hier Koordinaten eintragen
    else return SendClientMessage(playerid, FARBE, "Ungültiger Ort");
    GetPlayerName(giveplayerid, name, sizeof(name));
    format(string, sizeof(string), " Du hast %s zu %s teleportiert", name, location);
    SendClientMessage(playerid, FARBE, string);
    SendClientMessage(giveplayerid, FARBE, " Du wurdest teleportiert");
    return 1;
    }