UsefulFunctions.include

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 Leute,
    da ich zwei Funktionen aus der uf.inc brauchte, hab ich die uf.inc in mein Script included.
    Da das zu mehreren Problemen führt, da ich schon einige Funktionen übernommen hatte und auch sonst ein paar Dinge so ganz passten wie ich will, hab ich einfach die beiden Funktionen aus der uf.inc genommen und in mein Script eingefügt:
    stock Float:GetDistanceBetweenPoints(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
    {
    return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1,x2),2)),floatsqroot(floatpower(floatsub(y1,y2),2))),floatsqroot(floatpower(floatsub(z1,z2),2)));
    }


    stock Float:GetDistanceToPoint(playerid,Float:x1,Float:y1,Float:z1)
    {
    if (IsPlayerConnected(playerid))
    {
    new Float:x2,Float:y2,Float:z2;
    GetPlayerPos(playerid,x2,y2,z2);
    return GetDistanceBetweenPoints(x1,y1,z1,x2,y2,z2);
    }
    return INF_FLOAT;
    }
    INF_FLOAT ist definiert.


    Bekomme folgende Warnings und das Pawno gibt beim Compilen keine Rückmeldung:

    Code
    warning 208: function with tag result used before definition, forcing reparse
    warning 208: function with tag result used before definition, forcing reparse


    Die beiden Warnings sind auf den "stock" Zeilen.


    Jemand ne Idee?


    Mit freundlichen Grüßen
    Illex

  • Danke Fabi :)


    Problem gelöst!


    Für alle die das selbe Problem haben:
    Habe die eine Funktion jetzt gelöscht und an der Anderen rumgefummelt, bis sie funktioniert. Sieht jetzt so aus:

    public Float:GetDistanceBetweenPoints(Float:PointX, Float:PointY, Float:PointZ, Float:Point2X, Float:Point2Y, Float:Point2Z)
    {
    new Float:Distance;
    Distance = floatabs(floatsub(PointX, Point2X)) + floatabs(floatsub(PointY, Point2Y)) + floatabs(floatsub(PointZ, Point2Z));
    return Distance;
    }


    //dann halt nicht vergessen, sie oben zu forwarden:
    forward Float:GetDistanceBetweenPoints(Float:PointX, Float:PointY, Float:PointZ, Float:Point2X, Float:Point2Y, Float:Point2Z);


    Mit freundlichen Grüßen
    Illex

  • damit hättest du dein Problem aber nicht gelöst, wenn du die Funktion komplett nach unten packst, sie aber beispielsweise in OnGameModeInit verwendest.
    Warum?
    PAWN zieht sich die Funktionen immer so wie es nötig ist, aber
    bei Funktionen mit Tags wie du es hier hast ( Float: ) gibt es Probleme.


    PAWN will die Funktion deklariert haben bevor sie verwendet wird.


    Um auf das Beispiel zurück zukommen.
    Wenn du deine Funktion in OnGameModeInit verwendest aber ganz nach unten ins Script packst, gibt es einen Warning.
    packst du aber die Funktion vor OnGameModeInit als vor der (ersten) Verwendung, gibt es keinen Warning

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski