/goto [ID] und /gethere [ID]

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.


    Habe in der Sufu nix gefunden -.-


    Frage also mal hier :):D


    Ich suche etwas, womit Admins andere Spieler zu sich porten könne (/gethere) und zu anderen spielern hintporten knnen (/goto).


    Kann mir jemand soetwas machen?
    Die Adminabfrage könnte ich alleine, den rest abba nicht ^^

    Liebe Grüße


    Marcel

  • #define grau 0xAFAFAFAF


    dcmd_goto(playerid,params[])
    {
    new pID;
    if(sscanf(params, "u", pID)) return SendClientMessage(playerid,grau,"Benutzung: /goto [Playerid]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,grau,"Kein Spieler mit angegebener ID Online");
    if(Spieler[playerid][Admin]<2) return 0; //Anpassen!!!
    new Float:x, Float:y, Float:z;
    GetPlayerPos(pID, x, y, z);
    new pint = GetPlayerInterior(pID);
    new pvtw = GetPlayerVirtualWorld(pID);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    SetVehiclePos(vehicleid,x,y,z);
    SetVehicleVirtualWorld(vehicleid,pvtw);
    LinkVehicleToInterior(vehicleid,pint);
    SetPlayerInterior(playerid, pint);
    SetPlayerVirtualWorld(playerid, pvtw);
    }
    else
    {
    SetPlayerPos(playerid, x+1, y+1, z+1);
    SetPlayerInterior(playerid, pint);
    SetPlayerVirtualWorld(playerid, pvtw);
    }
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(pID, name, sizeof(name));
    format(string, sizeof(string), "Du hast dich zu %s geportet.", name );
    SendClientMessage(playerid, grau, string);
    return 1;
    }


    dcmd_gethere(playerid,params[])
    {
    new pID;
    if(sscanf(params, "u", pID)) return SendClientMessage(playerid,grau,"Benutzung: /gethere [Playerid]");
    if(!IsPlayerConnected(pID) || IsPlayerNPC(pID)) return SendClientMessage(playerid,grau,"Kein Spieler mit angegebener ID Online");
    if(Spieler[playerid][Admin] < 2) return 0; //ANpassen!!!
    new Float:x, Float:y, Float:z;
    new admint = GetPlayerInterior(playerid);
    new name[MAX_PLAYER_NAME],aname[MAX_PLAYER_NAME], string[50];
    new admvrt = GetPlayerVirtualWorld(playerid);
    GetPlayerPos(playerid, x, y, z);
    GetPlayerName(playerid, aname, sizeof(aname));
    GetPlayerName(pID, name, sizeof(name));
    format(string, sizeof(string), "Du wurdest teleportiert.", aname);
    SendClientMessage(pID, grau, string);
    if(!IsPlayerInAnyVehicle(pID))
    {
    SetPlayerPos(pID, x+2, y+2, z);
    SetPlayerInterior(pID, admint);
    SetPlayerVirtualWorld(pID, admvrt);
    }
    else
    {
    SetVehiclePos(GetPlayerVehicleID(pID),x+2,y+2,z);
    SetVehicleVirtualWorld(GetPlayerVehicleID(pID),admvrt);
    LinkVehicleToInterior(GetPlayerVehicleID(pID),admint);
    SetPlayerInterior(pID, admint);
    }
    return 1;
    }


    Pass das deinem system noch bisschen an

  • if(strcmp(cmd, "/goto", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /goto [playerid]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    new inte, inteplo;
    plo = ReturnUser(tmp);
    if (IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if (SpielerInfo[playerid][pAdmin] >= 1)
    {
    if(Spectate[playerid] != 999)
    {
    Spectate[playerid] = 256;
    }
    GetPlayerPos(plo, plocx, plocy, plocz);
    inte = GetPlayerInterior(playerid);
    inteplo = GetPlayerInterior(plo);
    if (GetPlayerState(playerid) == 2)
    {
    if(inte == inteplo)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
    SpielerInfo[playerid][pInt] = SpielerInfo[plo][pInt];
    SpielerInfo[playerid][pLocal] = SpielerInfo[plo][pLocal];
    }
    else
    {
    SendClientMessage(plo, COLOR_GRAD1, " Wenn du nicht im gleichen Innenraum wie dein Ziel ist");
    SendClientMessage(plo, COLOR_GRAD1, " und du im Fahrzeug bist, kann nicht teleportiert werden.");
    }
    }
    else
    {
    SetPlayerPos(playerid,plocx,plocy+2, plocz);
    SetPlayerInterior(playerid, inteplo);
    }
    SendClientMessage(playerid, COLOR_GRAD1, " Du wurdest Teleportiert");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein aktiver Spieler.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }
    //----------------------------------[GETHERE]-----------------------------------------------
    if(strcmp(cmd, "/gethere", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /gethere [playerid]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    new inte, inteplo;
    plo = ReturnUser(tmp);
    if (IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if (SpielerInfo[playerid][pAdmin] >= 3)
    {
    GetPlayerPos(playerid, plocx, plocy, plocz);
    inte = GetPlayerInterior(playerid);
    inteplo = GetPlayerInterior(plo);
    if (GetPlayerState(plo) == 2)
    {
    if(inte == inteplo)
    {
    TelePos[plo][0] = 0.0;
    TelePos[plo][1] = 0.0;
    new tmpcar = GetPlayerVehicleID(plo);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    SpielerInfo[plo][pInt] = SpielerInfo[playerid][pInt];
    SpielerInfo[plo][pLocal] = SpielerInfo[playerid][pLocal];
    }
    else
    {
    SendClientMessage(plo, COLOR_GRAD1, " Wenn du nicht im gleichen Innenraum wie dein Ziel ist");
    SendClientMessage(plo, COLOR_GRAD1, " und der Spieler im Fahrzeug ist, kann nicht teleportiert werden.");
    }
    }
    else
    {
    SetPlayerPos(plo,plocx,plocy+2, plocz);
    SetPlayerInterior(plo,inte);
    SpielerInfo[plo][pInt] = SpielerInfo[playerid][pInt];
    SpielerInfo[plo][pLocal] = SpielerInfo[playerid][pLocal];
    }
    SendClientMessage(plo, COLOR_GRAD1, " Du wurdest Teleportiert");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein aktiver Spieler.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    Bitte schön

  • Flojoe7 danke aber wo muss ich das rein machen ? bei OnPlayerCommandText kommen 10 erros


    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1027) : error 017: undefined symbol "cmd"
    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1031) : error 017: undefined symbol "tmp"
    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1031) : error 017: undefined symbol "strtok"
    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1032) : error 017: undefined symbol "tmp"
    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1034) : error 017: undefined symbol "COLOR_GRAD2"
    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1040) : error 017: undefined symbol "ReturnUser"
    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1045) : error 017: undefined symbol "SpielerInfo"
    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1045) : warning 215: expression has no effect
    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1045) : error 001: expected token: ";", but found "]"
    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1045) : error 029: invalid expression, assumed zero
    C:\Users\Jan\Desktop\GTA server\gamemodes\Gaming-life.pwn(1045) : fatal error 107: too many error messages on one line

  • Lol ja unter OnplayerC....T...


    Ich lade dir das mal morgen als FS hoch dann kannst du es rüber kopieren

  • Ja...und das sind wieder so Oberschlaue, die meinen wenn sie sich ihre Commands aus ihrem GF kopieren und hier reinposten ist alles gut. (Bezogen auf Flojoe7)



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.