if(GetDistanceBetweenPlayers(playerid,typ <= 10.0)) mismatch

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
  • Mhm bekomme bei dem Code
    dcmd_heal(playerid,params[])
    {
    if(!strlen(params))
    {
    return SendClientMessage(playerid,ROT,"/heal ID");
    }
    if(gTeam[playerid] == medic)
    {
    new typ=strval(params), Float:leben;
    if(GetPlayerHealth(typ,leben))
    {
    if(GetDistanceBetweenPlayers(playerid,typ <= 10.0)) //1124
    {
    new Float:diff=(100-floatround(leben))*10;
    if(GetPlayerMoney(typ)>=diff)
    {
    GivePlayerMoney(playerid,diff/100*60); //1129
    GivePlayerMoney(typ,-diff); //1130
    SetPlayerHealth(typ,100);
    }
    }
    }
    }
    return 1;
    }


    Diese Warnings

  • Zitat

    if(GetDistanceBetweenPlayers(playerid,typ 10.0)) in dieser zeile


    lol!
    Ohne Operator 8| ne so Geht das nicht xD

  • Danke aber immernoch das gleiche 3 warns :/


    dcmd_heal(playerid,params[])
    {
    if(!strlen(params))
    {
    return SendClientMessage(playerid,ROT,"/heal ID");
    }
    if(gTeam[playerid] == medic)
    {
    new typ=strval(params), Float:leben;
    if(GetPlayerHealth(typ,leben))
    {
    if(GetDistanceBetweenPlayers(playerid,typ) < 10.0)
    {//ich hätt lieber PlayerToPoint genommen
    new Float:diff=(100-floatround(leben))*10;
    if(GetPlayerMoney(typ)>=diff)
    {
    GivePlayerMoney(playerid,diff/100*60);
    GivePlayerMoney(typ,-diff);
    SetPlayerHealth(typ,100);
    }
    }
    }
    }
    return 1;
    }

  • wenn du lieber PlayerToPoint nehmen willst mach es so:



    dcmd_heal(playerid,params[])
    {
    if(!strlen(params))
    {
    return SendClientMessage(playerid,ROT,"/heal ID");
    }
    if(gTeam[playerid] == medic)
    {
    new typ=strval(params), Float:leben;
    if(GetPlayerHealth(typ,leben))
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPosition(typ, X, Y, Z);
    if(PlayerToPoint(playerid, 10, X, Y, Z) // bin mir jetzt nur nicht sicher ob erst playerid oder der Radius kommen muss
    {
    new Float:diff=(100-floatround(leben))*10;
    if(GetPlayerMoney(typ)>=diff)
    {
    GivePlayerMoney(playerid,diff/100*60);
    GivePlayerMoney(typ,-diff);
    SetPlayerHealth(typ,100);
    }
    }
    }
    }
    return 1;
    }



  • X( X(


    Lernt Pawn bevor ihr nur Schmarrn postet!


    The_GaMeR:


    Poste mal bitte die Funktion GetDistanceBetweenPlayers. Inklusive forward Declaration falls vorhanden.


    // Black: Argh, ich bin echt dumm heute, "bevor" mit f, hallelujah xD
    Btw war das mit "lernt Pawn" an die gerichtet die hier ohne zu denken was rein posten X(

    2 Mal editiert, zuletzt von [NSG]Bright ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ===>
    stock GetDistanceBetweenPlayers(playerid, targetid, Float:distance)
    {
    new Float:hX, Float:hY, Float:hZ;
    GetPlayerPos(playerid, hX, hY, hZ);
    if(IsPlayerInRangeOfPoint(targetid, distance, hX, hY, hZ))
    {
    return 1;
    }
    return 0;
    }

  • Lol, du hast nur eine PlayerToPoint Funktion gebaut also


    if(GetDistanceBetweenPlayers(playerid, targetid,10.0))


    muss dir doch klar sein das du 3 Parameter abfragst und keine Float abfrage gemacht hast, also gibt deine Funktion nur (Falsch/Wahr) zurück

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Logisch dass es in deiner Version nicht funktioniert Gamer -.-


    GetDistanceBetweenPlayers(playerid, targetid, Float:distance)


    Schau dir die Zeile mal an.


    Und jetzt schau dir an was in deinem Beispiel steht:


    GetDistanceBetweenPlayers(playerid,typ) < 10.0


    Ich hoffe dir fällt was auf.


    // Sollte dir nix auffallen:


    Lösung

  • Ahhh jetz check ichs ^^
    aber immer noch die 2 tag mismatch :/


    GivePlayerMoney(playerid,diff/100*60);
    GivePlayerMoney(typ,-diff);


  • GivePlayerMoney verlangt Integerwerte, "diff" ist aber ein Floatwert.
    Von daher musst du "diff" erst in einen Integer umwandeln, das geht per:
    floatround(diff, floatround_round);

  • Schon aber wenn du mal deinen Code angugst dann .... 3-4 fehler naja danke

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