Wunsch von mir für das Befehl: /goto und /gethere

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,
    Ich habe dort ein Wunsch den ich wegen meinen schlechten Scriptkenntnisse nicht hinbekommen. Wenn man sich als Admin zu jemanden portet soll bei den anderen Spieler stehen ,,Supporter XY hat sich zu dir teleportiert" damit der Spieler auch bescheid weiß das Sich jemand geportet hat. Bei /gethere solte natürlich das Ähnliche sein. ,,Supporter XY hat dich zu sich teleportiert"


    Script Befehle im PWN Format:


    if(strcmp(cmd, "/goto", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /goto [playerid/PartOfName]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if(IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    if(Spectate[playerid] != 255)
    {
    Spectate[playerid] = 256;
    }
    GetPlayerPos(plo, plocx, plocy, plocz);
    if (GetPlayerState(playerid) == 2)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
    }
    else
    {
    SetPlayerPos(playerid,plocx,plocy+2, plocz);
    }
    PlayerInfo[playerid][pLocal] = PlayerInfo[plo][pLocal];
    PlayerInfo[playerid][pInt] = PlayerInfo[plo][pInt];
    SetPlayerInterior(playerid,PlayerInfo[plo][pInt]);
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(plo));
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast dich Teleportiert");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein Aktiver Spieler.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

    if(strcmp(cmd, "/gethere", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /gethere [playerid]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if (IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
    GetPlayerPos(playerid, plocx, plocy, plocz);
    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);
    }
    PlayerInfo[plo][pLocal] = PlayerInfo[playerid][pLocal];
    PlayerInfo[plo][pInt] = PlayerInfo[playerid][pInt];
    SetPlayerInterior(plo,PlayerInfo[playerid][pInt]);
    SetPlayerVirtualWorld(plo,GetPlayerVirtualWorld(playerid));
    SendClientMessage(plo, COLOR_GRAD1, " Du wurdest Teleportiert");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein Aktiver Spieler.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

    Danke an euch im Vorraus.



    ... Die neue Generation von Roleplay Servern! ...


  • @#DragoN: Das ist Spam!


    @Threadersteller:
    Beim /gethere statt
    SendClientMessage(plo, COLOR_GRAD1, " Du wurdest Teleportiert");
    Einfach
    SendClientMessage(plo, COLOR_GRAD1, " Du wurdest von %s Teleportiert!, sendername");
    Und bei /goto statt

    SendClientMessage(playerid, COLOR_GRAD1, "Du hast dich Teleportiert");

    Einfach

    SendClientMessage(playerid, COLOR_GRAD1, "Du hast dich zu %s Teleportiert, giveplayer");

    Falls ich NICHT richtig liege, bitte mal verbessern ;)

  • Falsch Diamond :)


    Hab grad keine Lust so viel zu schreiben aber ein Tipp:


    Lerne mit der Funktion "format" umzugehen, Wird dir sehr helfen. Am besten du Guckst dir die format Funktion mal im GF oder so an :)


    Ist eigentlich total leicht zu Verstehen


    MfG
    Jim // Chupa

  • so müsste es gehn




    if(strcmp(cmd, "/gethere", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /gethere [playerid]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if (IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
    GetPlayerPos(playerid, plocx, plocy, plocz);
    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);
    }
    PlayerInfo[plo][pLocal] = PlayerInfo[playerid][pLocal];
    PlayerInfo[plo][pInt] = PlayerInfo[playerid][pInt];
    SetPlayerInterior(plo,PlayerInfo[playerid][pInt]);
    SetPlayerVirtualWorld(plo,GetPlayerVirtualWorld(playerid));
    new string[128], Supporter[128];
    GetPlayerName(playerid, Supporter, sizeof(Supporter)); //name von dem der "/gethere" einggbn hat wird rausgesucht und in "Supporter" gespeict
    format(string, sizeof(string), "Supporter %s hat dich zu sich teleportiert", Supporter); //%s damit er weis wo das hingehört was gaz hinten steht in diesem fall das was in supporter steht^^
    SendClientMessage(plo, COLOR_GRAD1, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein Aktiver Spieler.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }



    if(strcmp(cmd, "/goto", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /goto [playerid/PartOfName]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if(IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    if(Spectate[playerid] != 255)
    {
    Spectate[playerid] = 256;
    }
    GetPlayerPos(plo, plocx, plocy, plocz);
    if (GetPlayerState(playerid) == 2)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
    }
    else
    {
    SetPlayerPos(playerid,plocx,plocy+2, plocz);
    }
    PlayerInfo[playerid][pLocal] = PlayerInfo[plo][pLocal];
    PlayerInfo[playerid][pInt] = PlayerInfo[plo][pInt];
    SetPlayerInterior(playerid,PlayerInfo[plo][pInt]);
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(plo));
    new string[128], Supporter[128];
    GetPlayerName(playerid, Supporter, sizeof(Supporter)); //name von dem der "/gethere" einggbn hat wird rausgesucht und in "Supporter" gespeict
    format(string, sizeof(string), "Supporter %s hat sich zu dir teleportiert", Supporter); //%s damit er weis wo das hingehört was gaz hinten steht in diesem fall das was in supporter steht^^
    SendClientMessage(plo, COLOR_GRAD1, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein Aktiver Spieler.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }