/heal funtzt nicht richtig

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 habe ein Problem mit meinem /heal Befehl , und zwar soll man einen Spieler in der nähe heilen und nicht sich selbst, jedoch spinnt das völlig rum...
    if (strcmp("/heal", cmdtext, true, 10) == 0)
    {
    new pnamez[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pnamez,sizeof pnamez);
    format(accFormat,sizeof accFormat,"%s.datei",pnamez);
    if(dini_Int(accFormat, "Job") != 1) return SendClientMessage(playerid,rot,"Du kein Artzt!");
    if(medicdienst[playerid] == 0)return SendClientMessage(playerid,rot,"Du bist nicht im Dienst!");
    for(new i=0;i<MAX_PLAYERS;i++)
    if(GetDistanceBetweenPlayers(i,playerid) > 2)return SendClientMessage(playerid,rot,"Es ist kein Spieler in der Nähe!");
    new Float:x;
    for(new i=0;i<MAX_PLAYERS;i++)
    if(GetPlayerHealth(i,x) == 100)return SendClientMessage(playerid,rot,"Der Spieler hat bereits volles Leben!");
    for(new i=0;i<MAX_PLAYERS;i++)
    SetPlayerHealth(i,100);
    return 1;
    }

    man kriegt nichtmals eine Fehlermeldung das niemand in der nähe ist deswegen weiß ich grad i wie nicht weiter :D

  • so ?


    if (strcmp("/heal", cmdtext, true, 10) == 0)
    {
    new Float:x,Float:y,Float:z;
    new pnamez[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pnamez,sizeof pnamez);
    GetPlayerPos(i,x,y,z);
    if(!IsPlayerInRangeOfPoint(playerid, 20.0, x, y, z)) return SendClientMessage(playerid,ROT,"Spieler ist nicht in der Nähe");
    format(accFormat,sizeof accFormat,"%s.datei",pnamez);
    if(dini_Int(accFormat, "Job") != 1) return SendClientMessage(playerid,rot,"Du kein Artzt!");
    if(medicdienst[playerid] == 0)return SendClientMessage(playerid,rot,"Du bist nicht im Dienst!");
    for(new i=0;i<MAX_PLAYERS;i++)


    new Float:x;
    for(new i=0;i<MAX_PLAYERS;i++)
    if(GetPlayerHealth(i,x) == 100)return SendClientMessage(playerid,rot,"Der Spieler hat bereits volles Leben!");
    for(new i=0;i<MAX_PLAYERS;i++)
    SetPlayerHealth(i,100);
    return 1;
    }


    EDIT : GetPlayerPos