Position Abfrage 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
  • Hallöschen,


    erst einmal zu meinem problem:
    Wenn man /abladen eingibt kommt, "Du kannst hier nichts Abladen!", obwohl ich neben einem Biz stehe.
    /Errors habe ich keine


    Code:

    if(strcmp("/abladen",cmdtext,true,10)==0)
    {
    for(new i = 0;i < MAX_BIZ; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,20.0,sBiz[i][PosX],sBiz[i][PosY],sBiz[i][PosZ])) //Hier die Abfrage, die bugt
    {
    for(new p = 0; i<sizeof(Truck); p++)
    {
    if(GetPlayerVehicleID(playerid) == Truck[p])
    {
    if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) == 435)
    {
    if(Aufgeladen[playerid] == 1)
    {
    SetTimerEx("Abladen",5000,0,"ii",playerid,i);
    TogglePlayerControllable(playerid, 0);
    SendClientMessage(playerid, Blau, "Die Ware wird abgeladen... ");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, Rot, "Du hast nichts geladen!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, Rot, "Du brauchst einen passenden anhänger!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, Rot, "Du befindest dich nicht in deinem Truck!");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, Rot, "Du kannst hier nichts Abladen!");
    return 1;
    }
    }
    }


    findet jemand einen fehler?

  • stock LoadBiz(i)
    {
    new str[128];
    format(str, sizeof str, "/bizzs/%d.ini", i);
    if(dini_Exists(str))
    {
    sBiz[Name] = dini_Int(str,"Name");
    sBiz[Besitzer] = dini_Int(str,"Besitzer");
    sBiz[PosX] = dini_Float(str,"PosX");
    sBiz[PosY] = dini_Float(str,"PosY");
    sBiz[PosZ] = dini_Float(str,"PosZ");
    sBiz[Waren] = dini_Int(str,"Waren");
    sBiz[Kasse] = dini_Int(str,"Kasse");
    sBiz[Preis] = dini_Int(str,"Preis");
    sBiz[Level] = dini_Int(str,"Level");
    sBiz[Besitzt] = dini_Int(str,"Besitzt");
    }
    return 1;
    }

  • stock LoadBiz(i)
    {
    new str[128];
    format(str, sizeof str, "/bizzs/%d.ini", i);
    if(dini_Exists(str))
    {
    sBiz[i][Name] = dini_Int(str,"Name");
    sBiz[i][Besitzer] = dini_Int(str,"Besitzer");
    sBiz[i][PosX] = dini_Float(str,"PosX");
    sBiz[i][PosY] = dini_Float(str,"PosY");
    sBiz[i][PosZ] = dini_Float(str,"PosZ");
    sBiz[i][Waren] = dini_Int(str,"Waren");
    sBiz[i][Kasse] = dini_Int(str,"Kasse");
    sBiz[i][Preis] = dini_Int(str,"Preis");
    sBiz[i][Level] = dini_Int(str,"Level");
    sBiz[i][Besitzt] = dini_Int(str,"Besitzt");
    }
    return 1;
    }

  • Dein Command hat einen Logik Fehler, auch wenn ich jetzt weniger Texte ausgebe, probiers mal so:


    if(!strcmp("/abladen",cmdtext,true))
    {
    new count,i,p;
    for(; i<MAX_BIZ; i++) {
    if(!IsPlayerInRangeOfPoint(playerid,20.0,sBiz[i][PosX],sBiz[i][PosY],sBiz[i][PosZ])) continue;
    for(; p<sizeof(Truck); p++) {
    if(GetPlayerVehicleID(playerid) != Truck[p] || GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 435 || !Aufgeladen[playerid]) continue;
    SetTimerEx("Abladen",5000,0,"ii",playerid,i);
    TogglePlayerControllable(playerid, 0);
    count = 1;
    SendClientMessage(playerid, Blau, "Die Ware wird abgeladen... ");
    break;
    }
    }
    if(!count) SendClientMessage(playerid,Rot,"Das Abladen ist fehlgeschlagen !");
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S