Sanitäter--->Personen im Radius heilen

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
  • Hi!


    Ich weiss nicht so recht wie man das anstellen kann:


    Ich möchte, dass ein Spieler der einen Sanitäter skin hat, die anderen Spieler in seiner nahen Umgebung heilt.


    Ich weiss nicht so recht wie man den Radius checkt und dann immer wieder zb. alle 5 Sekunden dem Spieler +20 Leben gibt.



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )

  • Du kannst dazu die PlayerToPoint Function verwenden is ganz leicht



    // Player To Point Deklaration
    forward PlayerToPoint(Float:radi, playerid, Float:xd, Float:yd, Float:zd);
    // Kommando


    new cmd[256];
    new tmp[256];
    new idx;
    cmd = strtok(cmdtext, idx);
    if(strcmp(cmd, "/heal", true) == 0)
    {
    new health;
    new Player;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    // Fehlermeldung
    return 1;
    }
    player = strval(tmp);
    new Float:px,Float:py,Float:pz;
    GetPlayerPos(player,px,py,pz);
    if(!PlayerToPoint(6,player,px,py,pz)) { return 1; }
    SetPlayerHealth(playerid,100);
    return 1;
    }


    // Funktion
    public PlayerToPoint(Float:radi, playerid, Float:xd, Float:yd, Float:zd)
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -xd);
    tempposy = (oldposy -yd);
    tempposz = (oldposz -zd);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    return 0;
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion