Nähsten Spieler herausfinden + Distanz

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,


    ich hätte eine Frage,


    wie erstelle ich einen CMD, und frage gleichzeitig ab, wer der näheste Spieler ist, und ob die Distanz kleiner als 15 ist.


    Danke fürs Lesen.

  • Mit einer Schleife + IsPlayerInRangeOfPoint


    stock GetNearestP(playerid,Float:d){ new Float:px,Float:py,Float:pz; GetPlayerPos(playerid,px,py,pz); for(new i=0;i<MAX_PLAYERS;i++) { if(IsPlayerInRangeOfPoint(i,d,px,py,pz)) { if(i != playerid) { return i; } } }}

  • ja, in den Gedanken liegt nicht das Problem, doch bei der Ausführung.
    Wenn du so nett wärst. :x

  • forward GetClosestPlayerToPlayer(playerid);
    public GetClosestPlayerToPlayer(playerid)
    {
    new Float:dist = 1000.0;
    new targetid = INVALID_PLAYER_ID;
    new Float:x1,Float:y1,Float:z1;
    new Float:x2,Float:y2,Float:z2;
    new Float:tmpdis;
    GetPlayerPos(playerid,x1,y1,z1);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(i == playerid) continue;
    GetPlayerPos(i,x2,y2,z2);
    tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    if(tmpdis < dist)
    {
    dist = tmpdis;
    targetid = i;
    }
    }
    return targetid;
    }

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?