Fragen ob Spieler in Umgebung von "killerid" ist

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,
    wollte mal fragen, wie das geht:


    public OnPlayerDeath(playerid, killerid, reason)
    {
    Player[playerid][tod] = 1;
    Player[playerid][Deaths]++;
    Player[killerid][Kills]++;
    Player[killerid][Wanteds] += 1;+
    SendClientMessage(killerid,COLOR_FCHAT,"Du hast jemanden umgebracht!");
    return 1;
    }


    Das dass Wanted nur gegeben wird wenn irgendein X-beliebiger Spieler im Radius von 20.0 ist ...
    Ist das "IsPlayerInRangeOfPoint", oder "PlayerToPoint" und wenn ja, wie? :D


    Grüße.


    //EDIT: Überschrift angepasst.

  • Ja, IsPlayerInRangeOfPoint ist genau das, was du dafür brauchst:


    new Float:x, Float:y, Float:z;
    GetPlayerPos(killerid, x, y, z) // Erstmal die Position von killerid speichern
    for(new i = 0; i < GetMaxPlayers(); i ++)
    {
    if(!IsPlayerConnected(i) || i == killerid) continue; // Nicht verbundene spieler und killerid selbst überspringen
    if(IsPlayerInRangeOfPoint(i, 20.0, x, y, z)
    {
    // Das hier wird ausgeführt, wenn ein anderer Spieler in der Nähe ist
    break; // break nicht vergessen, sonst wird es immer wieder ausgeführt, wenn mehrere Spieler in der Nähe sind
    }
    }


    (Ui, die Einrückung hier ist gewöhnungsbedürftig ;))