Zoll System 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
  • Guten Abend,
    Undzwar habe ich eine kleine Frage. Ich habe ein System gemacht, das sich der Zoll öffnen soll falls kein Beamter mehr in der nähe ist.
    Dies funtkioniert aber irgendwie nicht.


    Hier mein Code:
    for(new z = 0; z < sizeof(ZollSystemInfo); z++)
    {
    new Var = 0,Float:XFront1,Float:YFront1,Float:XFront2,Float:YFront2,Float:XFront3,Float:YFront3;
    XFront1 = ZollSystemInfo[z][ZSObjectPosX];
    YFront1 = ZollSystemInfo[z][ZSObjectPosY];
    XFront2 = ZollSystemInfo[z][ZSObjectPosX];
    YFront2 = ZollSystemInfo[z][ZSObjectPosY];
    XFront3 = ZollSystemInfo[z][ZSObjectPosX];
    YFront3 = ZollSystemInfo[z][ZSObjectPosY];
    GetXYInFrontOfObject(ZollSystemInfo[z][ZSObjectID], XFront1, YFront1, 7.0);
    GetXYInFrontOfObject(ZollSystemInfo[z][ZSObjectID], XFront2, YFront2, 20.0);
    GetXYInFrontOfObject(ZollSystemInfo[z][ZSObjectID], XFront3, YFront3, 33.0);
    if(IsPlayerInRangeOfPoint(IsACop(i),50.0,XFront1, YFront1, ZollSystemInfo[z][ZSObjectPosZ]) || IsPlayerInRangeOfPoint(IsACop(i),50.0,XFront2, YFront2, ZollSystemInfo[z][ZSObjectPosZ]) || IsPlayerInRangeOfPoint(IsACop(i),50.0,XFront3, YFront3, ZollSystemInfo[z][ZSObjectPosZ])){
    if(ZollSystemInfo[z][ZSStatus] == 1){
    Var = 1;
    }
    }
    if(Var == 0)
    {
    if(ZollSystemInfo[z][ZSStatus] == 1){
    ZollSystemInfo[z][ZSStatus] = 0;
    format(string, sizeof(string), "HQ: Da sich kein Beamter im radius vom Zoll %d befindet, wurde er automatisch geöffnet.", z);
    SendDepartmentMessage(COLOR_RADIO, string);
    MoveDynamicObject(ZollSystemInfo[z][ZSObjectID], ZollSystemInfo[z][ZSObjectPosX], ZollSystemInfo[z][ZSObjectPosY], ZollSystemInfo[z][ZSObjectPosZ]-2, 2.0);
    }
    }
    }


    Das Script denkt einfach das kein Beamter in der nähe ist und schließt den Zoll obwohl einer in der nähe ist.
    Wenn ich das IsACop(i) bei IsPlayerInRangeOfPoint durch ein i (die schleife für alle Spieler) durchgehe, dann Funktioniert es das ein Spieler in der nähe sein muss.
    Ich möchte das aber so haben das nur ein Cop in der nähe sein muss.


    Die ganze Funktion läuft in einem Timer von 1 Sekunde.


    Ich hoffe ihr könnt mir helfen.


    MfG
    Darius