ClientMessage in Umgebung

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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 ho,


    ich hab da mal ne Frage, und zwar folgendes:


    Ich will eine ClientMessage versenden, aber nicht an Playerid, nicht an Alle, sondern nur an alle player im Umkreis von nen paar Metern (inGame^^).
    Die paar Meter sind egal wieviel, man kann es ja dannach noch einstellen.


    Aber wie mache ich das ? ich hab keine Ahnung, Hilfe wäre von nöten^^


    MfG


    Thommylee

  • In den if Körper deines Commands:



    new Float:x,Float:z,Float:z;
    GetPlayerPos(playerid,x,y,z);


    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerInRangeOfPoint(i,50.0 /*Meteranzahl*/,x,y,z))
    {
    SendClientMessage(i,COLOR,STRING);
    }
    }
    }


    edit: Alternative Koordinatenversion



    new Float:x = 50.0;
    new Float:z = 50.0;
    new Float:z = 50.0;
    new Float:meter = 50.0; // Koordinaten nach beleben ändern, wenn man nicht in dem obrigen Beispiel von einer Spielerposition ausgehen möchte.


    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerInRangeOfPoint(i,meter,x,y,z))
    {
    SendClientMessage(i,COLOR,STRING);
    }
    }
    }

    2 Mal editiert, zuletzt von Hagi ()

  • Ja Ich hab genau bei ClientMessage Ein Prob



    ach und DarkPhoenix hör lieber auf Zu Spämmen Sonst bannen sie dich :P Nur ein Tipp




    Mfg Blizzard

  • stock SendMessageInRangeOfPlayer(playerid,color,string[],Float:range)
    {
    new Float:p_x,Float:p_y,Float:p_z;
    GetPlayerPos(playerid,p_x,p_y,p_z);
    for(new gp; gp < MAX_PLAYERS; gp++)
    {
    if(IsPlayerInRangeOfPoint(gp,range,p_x,p_y,p_z))
    {
    SendClientMessage(gp,color,string);
    }
    }
    return 1;
    }


    Einfügen und die Funktion benutzen.