GetPlayerDistanceFromPoint

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
  • In welcher Einheit gibt GetPlayerDistanceFromPoint die Distanz wieder?
    Diesen Wert spukt mir die Funktion aus: 1317652748
    Würde gerne die Einheit von IsPlayerInRangeOfPoint haben.


    mfg Ronny95



    public Spielertimer(i)
    {
    if(GetPVarInt(i,"Handystatus")==1)
    {
    new Float:distance,distancestring[20];
    TextDrawHideForPlayer(i, Empfangsbalken1);
    TextDrawHideForPlayer(i, Empfangsbalken2);
    TextDrawHideForPlayer(i, Empfangsbalken3);

    if(GetPlayerDistance(i)<50&&GetPlayerDistance(i)>20)
    {
    TextDrawShowForPlayer(i, Empfangsbalken1);
    TextDrawHideForPlayer(i, Empfangsbalken2);
    TextDrawHideForPlayer(i, Empfangsbalken3);
    }
    if(GetPlayerDistance(i)<20&&GetPlayerDistance(i)>10)
    {
    TextDrawShowForPlayer(i, Empfangsbalken1);
    TextDrawShowForPlayer(i, Empfangsbalken2);
    TextDrawHideForPlayer(i, Empfangsbalken3);
    }
    if(GetPlayerDistance(i)<10)
    {
    TextDrawShowForPlayer(i, Empfangsbalken1);
    TextDrawShowForPlayer(i, Empfangsbalken2);
    TextDrawShowForPlayer(i, Empfangsbalken3);
    }


    distance=GetPlayerDistance(i);
    format(distancestring,sizeof(distancestring),"%d",distance);
    SendClientMessage(i,ROT,distancestring);


    }
    return 1;
    }




    stock GetPlayerDistance(playerid)
    {
    new Float:distance;
    distance=GetPlayerDistanceFromPoint(playerid,1132.9893,-1449.1814,15.7969);
    return _:distance;
    }


    Schau doch mal auf Inf-Reallife vorbei ! - Wir entwickeln einen großartigen GTA:Network Server

    2 Mal editiert, zuletzt von Ronny95 ()

  • Du gibst die rückgabe wahrscheinlich als Integer aus.
    Die Funktion jedoch gibt einen Float zurück.


    new Float: fDistance = GetPlayerDistanceFromPoint(playerid, 237.9, 115.6, 1010.2),
    szMessage[44];

    format(szMessage, sizeof(szMessage), "You're %f meters away from the vending machine.", fDistance);
    SendClientMessage(playerid, 0xA9C4E4FF, szMessage);

  • Wenn du es unbedingt als ganze Zahl haben möchtest musst du deinen Stock so umändern..
    stock GetPlayerDistance(playerid)
    {
    new Float:distance;
    distance=GetPlayerDistanceFromPoint(playerid,1132.9893,-1449.1814,15.7969);
    return floatround(distance);
    }


    Wenn du es aber genauer haben möchtest als Float, dann musst du ihn so umändern..
    stock Float:GetPlayerDistance(playerid)
    {
    new Float:distance;
    distance=GetPlayerDistanceFromPoint(playerid,1132.9893,-1449.1814,15.7969);
    return distance;
    }


    floatround bewirkt das der Float aufgerundet wird und zur ganzen Zahl wird (Int).
    Du kannst es natürlich auch abrunden lassen. Wiki: floatround


    /EDIT: Text verbessert

  • public Spielertimer(i)
    {
    if(GetPVarInt(i,"Handystatus")==1)
    {
    new distancestring[20];
    TextDrawHideForPlayer(i, Empfangsbalken1);
    TextDrawHideForPlayer(i, Empfangsbalken2);
    TextDrawHideForPlayer(i, Empfangsbalken3);


    if(GetPlayerDistance(i)<50&&GetPlayerDistance(i)>20)
    {
    TextDrawShowForPlayer(i, Empfangsbalken1);
    TextDrawHideForPlayer(i, Empfangsbalken2);
    TextDrawHideForPlayer(i, Empfangsbalken3);
    }
    if(GetPlayerDistance(i)<20&&GetPlayerDistance(i)>10)
    {
    TextDrawShowForPlayer(i, Empfangsbalken1);
    TextDrawShowForPlayer(i, Empfangsbalken2);
    TextDrawHideForPlayer(i, Empfangsbalken3);
    }
    if(GetPlayerDistance(i)<10)
    {
    TextDrawShowForPlayer(i, Empfangsbalken1);
    TextDrawShowForPlayer(i, Empfangsbalken2);
    TextDrawShowForPlayer(i, Empfangsbalken3);
    }


    format(distancestring,sizeof(distancestring),"%0.2f",GetPlayerDistance(i));
    SendClientMessage(i,ROT,distancestring);


    }
    return 1;
    }



    stock Float:GetPlayerDistance(playerid)
    {
    return GetPlayerDistanceFromPoint(playerid,1132.9893,-1449.1814,15.7969);
    }


    Oder wenn du ganze Zahlen haben willst:
    format(distancestring,sizeof(distancestring),"%d",floatround(GetPlayerDistance(i)));

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen