IsPlayerInRangeOfPoint - Problem

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
  • Hallo und schönen Guten Tag liebe Community,


    da mein Computer TOT ist, und ich nebenbei ab und an etwas Zeit zum Scripten finde, habe mal bisschen weitergemacht jedoch hänge ich nun
    an einem Fehler fest, der mich nicht weiterlässt!


    Mein Problem sieht wie folgt aus:



    if (strcmp("/tanken", cmdtext, true, 10) == 0)
    {
    new vehicle = GetPlayerVehicleID(playerid);
    for(new i;i<MAX_GESAMT;i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 10.0, BizInfo[i][bXAktion], BizInfo[i][bYAktion], BizInfo[i][bZAktion]))
    {
    if(strcmp(BizInfo[i][bBusinesstyp] , "Tankstelle", true))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new string[128];
    format(string,sizeof(string),"{FFFFFF}Aktuelle Tankmenge: {FFD700}%d/%dL\n\n{FFFFFF}Du kannst noch max. {FFD700}%d {FFFFFF}Liter Tanken!\n\nGebe an wie viel Liter du Tanken möchtest:", AutoInfo[vehicle][aTank], Einstellungen[maxTank], (Einstellungen[maxTank]-AutoInfo[vehicle][aTank]));
    ShowPlayerDialog(playerid, DIALOG_TANKEN, DIALOG_STYLE_INPUT, "Tankstellen System", string, "Weiter", "Abbrechen");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du sitzt in keinem Fahrzeug!");
    }
    }
    else
    {
    printf(" %f, %f, %f", BizInfo[i][bXAktion], BizInfo[i][bYAktion], BizInfo[i][bZAktion]);
    SendClientMessage(playerid, COLOR_RED, "Du bist an keiner Tankstelle! || #01");
    }
    }
    else
    {
    printf(" %f, %f, %f", BizInfo[i][bXAktion], BizInfo[i][bYAktion], BizInfo[i][bZAktion]);
    SendClientMessage(playerid, COLOR_RED, "Du bist an keiner Tankstelle! || #02");
    }
    }
    return 1;
    }


    Jedoch gibt er mir immer auch wenn ich an der Stelle bin das aus :


    SendClientMessage(playerid, COLOR_RED, "Du bist an keiner Tankstelle! || #02");


    Jedoch habe ich mal geprüft ob die Koordinaten überhaupt ordentlich geladen werden, und ob ich dort ein Pickup erstellen kann, und das
    funktioniert auch wunderbar. Jedoch gibt er mir immer bei dem Befehl wenn ich auf den Koordinaten stehe diesen Fehler aus, vielleicht
    erkennt jemand mein Problem!


    MFG. (Xivo);

  • Habe den Befehl an unterschiedlichsten Koords ausprobiert, und es kommt immer dieses raus:


    [15:39:36] 0.000000, 0.000000, 0.000000
    [15:39:52] 0.000000, 0.000000, 0.000000
    [15:40:14] 0.000000, 0.000000, 0.000000
    [15:40:16] 0.000000, 0.000000, 0.000000
    [15:40:19] 0.000000, 0.000000, 0.000000
    [15:40:26] 0.000000, 0.000000, 0.000000
    [15:40:28] 0.000000, 0.000000, 0.000000


    Er lädt jedoch die Koordinaten:


    [15:38:37] BIZ[1], Besitzer [Staat], Strasse[FOLGT], Preis[1850000], XPOSAKTION[1003.787780], YPOSAKTION[-935.791015], ZPOSAKTION[42.179698]

  • Ganz Einfach:



    stock LoadBusiness(bidID)
    {
    new bizID[128], string[512];

    valstr(bizID, bidID);

    BizInfo[bidID][bID] = mysql_GetInt("Business", "id", "id", bizID);
    format(BizInfo[bidID][bBesitzer], MAX_PLAYER_NAME, mysql_GetString("Business", "Besitzer", "id", bizID));
    format(BizInfo[bidID][bBusinesstitel], MAX_PLAYER_NAME, mysql_GetString("Business", "BusinessTitel", "id", bizID));

    format(BizInfo[bidID][bBusinessstrasse], MAX_PLAYER_NAME, mysql_GetString("Business", "BusinessStrasse", "id", bizID));
    format(BizInfo[bidID][bBusinesstyp], MAX_PLAYER_NAME, mysql_GetString("Business", "BusinessTyp", "id", bizID));
    BizInfo[bidID][bProdukte] = mysql_GetInt("Business", "Produkte", "id", bizID);
    BizInfo[bidID][bPreis] = mysql_GetInt("Business", "Preis", "id", bizID);

    BizInfo[bidID][bXEnter] = mysql_GetFloat("Business", "XEnter", "id", bizID);
    BizInfo[bidID][bYEnter] = mysql_GetFloat("Business", "YEnter", "id", bizID);
    BizInfo[bidID][bZEnter] = mysql_GetFloat("Business", "ZEnter", "id", bizID);
    BizInfo[bidID][bXAusgang] = mysql_GetFloat("Business", "XAusgang", "id", bizID);
    BizInfo[bidID][bYAusgang] = mysql_GetFloat("Business", "YAusgang", "id", bizID);
    BizInfo[bidID][bZAusgang] = mysql_GetFloat("Business", "ZAusgang", "id", bizID);

    BizInfo[bidID][bInt] = mysql_GetInt("Business", "Interior", "id", bizID);
    BizInfo[bidID][bVW] = mysql_GetInt("Business", "Virtualworld", "id", bizID);

    BizInfo[bidID][bXAktion] = mysql_GetFloat("Business", "AktionsPosX", "id", bizID);
    BizInfo[bidID][bYAktion] = mysql_GetFloat("Business", "AktionsPosY", "id", bizID);
    BizInfo[bidID][bZAktion] = mysql_GetFloat("Business", "AktionsPosZ", "id", bizID);

    if(!strcmp(BizInfo[bidID][bBesitzer], "Staat"))
    {
    format(string,sizeof(string),"Strasse: %s\nPreis: $%d", BizInfo[bidID][bBusinessstrasse], BizInfo[bidID][bPreis]);
    BizInfo[bidID][bPickupEingang] = CreatePickup(1273, 23, BizInfo[bidID][bXEnter], BizInfo[bidID][bYEnter], BizInfo[bidID][bZEnter], -1);
    BizInfo[bidID][bPickupAusgang] = CreatePickup(1239, 23, BizInfo[bidID][bXAusgang], BizInfo[bidID][bYAusgang], BizInfo[bidID][bZAusgang], -1);
    BizInfo[bidID][bTextLabel] = Create3DTextLabel(string, COLOR_GREEN, BizInfo[bidID][bXEnter], BizInfo[bidID][bYEnter], BizInfo[bidID][bZEnter]+0.8, 20, 0, 1);
    Create3DTextLabel("Tanken", COLOR_GREEN, BizInfo[bidID][bXAktion], BizInfo[bidID][bYAktion], BizInfo[bidID][bZAktion]+0.8, 20, 0, 1);
    }
    else
    {
    format(string,sizeof(string),"Strasse: %s\nBesitzer: %s\nBusinesstyp: %s", BizInfo[bidID][bBusinessstrasse], BizInfo[bidID][bBesitzer], BizInfo[bidID][bBusinesstyp]);
    BizInfo[bidID][bPickupEingang] = CreatePickup(1272, 23, BizInfo[bidID][bXEnter], BizInfo[bidID][bYEnter], BizInfo[bidID][bZEnter], -1);
    BizInfo[bidID][bPickupAusgang] = CreatePickup(1239, 23, BizInfo[bidID][bXAusgang], BizInfo[bidID][bYAusgang], BizInfo[bidID][bZAusgang], -1);
    BizInfo[bidID][bTextLabel] = Create3DTextLabel(string, COLOR_GREEN, BizInfo[bidID][bXEnter], BizInfo[bidID][bYEnter], BizInfo[bidID][bZEnter]+0.8, 20, 0, 1);
    }

    return 1;
    }

  • [16:27:06] BIZ[1], Besitzer [Staat], Strasse[FOLGT], Preis[1850000], XPOSAKTION[1003.787780], YPOSAKTION[-935.791015], ZPOSAKTION[42.179698]
    [16:27:06] BIZ[-1], Besitzer [], Strasse[], Preis[-1], XPOSAKTION[0.000000], YPOSAKTION[0.000000], ZPOSAKTION[0.000000]


    Sieht so aus, also die 0 = "-1" und die 1 = "1"


    Ehm, aber nun bin ich schon einen Schritt weiter gekommen, nun gibt er mir schon diesen Fehler aus:


    SendClientMessage(playerid, COLOR_RED, "Du bist an keiner Tankstelle! || #01");


    Ausserdem geht er nun alle 50 durch, und stoppt nicht bei dem "richtigen"