/me Range

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,
    Also ich hab das problem das die /me Range einfach unendlich ist xDD
    kann mir jemand helfen?
    Code:

    Code
    if(strcmp(cmd, "/me", true) == 0){if(IsPlayerConnected(playerid)){if(gPlayerLogged[playerid] == 0){SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt!");return 1;}if(PlayerInfo[playerid][pTot] == 1){SendClientMessage(playerid, COLOR_GREY, "Du kannst nicht reden , da du Verletzt bist!");return 1;}if(PlayerInfo[playerid][pGangJailed] == 1){SendClientMessage(playerid, TEAM_CYAN_COLOR, "Du kannst nicht reden, du bist im GangJail!");return 1;}if(PlayerInfo[playerid][pMauled] == 1){SendClientMessage(playerid, TEAM_CYAN_COLOR, "Du kannst nicht reden, du bist gefesselt!");return 1;}GetPlayerName(playerid, sendername, sizeof(sendername));new length = strlen(cmdtext);while ((idx < length) && (cmdtext[idx] <= ' ')){idx++;}new offset = idx;new result[64];while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))){result[idx - offset] = cmdtext[idx];idx++;}result[idx - offset] = EOS;if(!strlen(result)){SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /me [aktion]");return 1;}format(string, sizeof(string), "* %s %s", sendername, result);ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);printf("%s", string);}return 1;}


    Mfg RoboMonkey

  • Hier ich poste ihn dir mal. Eigentlich wollte ich es nicht aber nun denn ..
    Ich empfehle dir aber, das Tutorial mal hier anzusehen ist hilfreich und lernst eventuell auch noch etwas dabei ^^:


    - Wie erstelle ich ein Chat Radius


    stock SMessage(playerid,farbe,text[],Float:umkreis)
    {
    new Float:xm, Float:ym, Float:zm,maxplayers=GetMaxPlayers();
    if(GetPlayerPos(playerid,xm,ym,zm))
    {
    for(new i=0;i<maxplayers;i++)
    if(IsPlayerConnected(i) && (i==playerid || IsPlayerInRangeOfPoint(i,umkreis,xm,ym,zm)))
    SendClientMessage(i,farbe,text);
    return 1;
    }
    return 0;
    }

  • new Float:Pos[3];//Array zum Speichern der Position erstellen
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);//Position vom Spieler herausfinden

    for(new i;i < MAX_PLAYERS;i ++)//Für alle Spieler wird das folgende ausgeführt.
    {
    if(IsPlayerInRangeOfPoint(i, 20.0, Pos[0], Pos[1], Pos[2]))//Wenn der Spieler, der gerade in der Schleife ist, in der Nähe ist.
    {
    //Message an i senden.
    }
    }


    Edit: Zu langsam...