ZugticketKauf System -> Big 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
  • Moin Leute, hab fürs LoH ne Neue Fraktion Gescriptet, Alles Funktioniert Perfekt aber: Man kann sich Die Zugtickets die man fürs Zugfahren Brauch ÜBERALL Kaufen, Obwohl ich es nur so Wollte, dass man an den Einzelnen Automaten Ein Ticket kaufen Kann, Ich bekomme Keine Errors, Aber man kann sich die Tickets überall Kaufen, Hier Code - Ausschnitte:



    if(strcmp("/ticketkaufen",cmdtext,true) == 0)
    {
    if(IstAmAutomat(playerid))
    {
    if(HatTicket[playerid] == 0)
    {
    SendClientMessage(playerid,COLOR_DBLUE," Das Ticket hat sie 100$ Gekostet! Vielen Dank für ihren Kauf!");
    GivePlayerMoney(playerid,-100);
    HatTicket[playerid] += 1;
    FraktionsKasse[24] += 100;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_TXTRED,"Du bist nicht am Schalter oder am Automaten!");
    }
    return 1;
    }



    public IstAmAutomat(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1437.3113,2655.1816,11.3926))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,1437.2856,1314.4850,11.3906))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,825.1357,-1356.0980,13.5428))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,-1970.9830,116.8045,27.6875))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,-1975.4486,116.7906,27.6875))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,826.7242,-1353.6337,13.5369))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,1747.1185,-1943.4479,13.5703))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,1757.1403,-1943.4393,13.5703))
    {
    return 1;
    }
    return 1;
    }


    Hoffe ihr könt mir Helfen!


    MfG


    *EDIT: Habs auch schon ohne die returns Gemacht, funktioniert immernoch nicht!

    Einmal editiert, zuletzt von munkee ()

  • public IstAmAutomat(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1437.3113,2655.1816,11.3926))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,1437.2856,1314.4850,11.3906))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,825.1357,-1356.0980,13.5428))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,-1970.9830,116.8045,27.6875))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,-1975.4486,116.7906,27.6875))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,826.7242,-1353.6337,13.5369))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,1747.1185,-1943.4479,13.5703))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,1757.1403,-1943.4393,13.5703))
    {
    return 1;
    }
    return 1; // FALSCH!
    }


    Du musst wenn er nicht in Reichweite einer dieser Punkte auch 0 zurückgeben. Also in dem Fall return 0; -> Nein er ist nicht an einem Automat.
    Sonst wird immer 1 zurückgegeben und die Abfrage ist sinnlos also:


    return 0;