Problem bei einen CMD der nur an 2 verschiedenen Orten funktionieren soll.

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 Leute,


    ich habe folgendes Problem, ich bin gerade dabei mehrere Schwarzmärkte einzurichten, dabei habe ich allerdings folgendes Problem:


    Ich erkläre vorab, was ich eigentlich bezwecken möchte.
    Wie gesagt errichte ich momentan Schwarzmärkte, unter anderem soll man mit "/buyspraydose" eine Spraydose mit 500 Ammu erhalten. Steht man nicht in den dazugehörigen Pickup/Textdraw im Radius von 2metern soll: ,,Du bist nicht beim Schwarzmarkt!" im Chat erscheinen. Hat man nicht genügend Geld um sich die Spraydose zu kaufen soll: ,,Du hast nicht genügend Geld um dir eine Spraydose zu kaufen!" im Chat erscheinen, hat man jedoch genügend Geld, so soll: ,,Du hast dir eine Spraydose gekauft!" im Chat erscheinen und eine Spraydose mit 500 Ammu bekommen.


    Dies soll einmal in LS und einmal in SF mit ein un dem selben Befehl möglich sein (Also sich eine Spraydose zu kaufen..).



    Nun das Problem:
    Bisher habe ich es nur geschafft in SF einen Schwarzmarkt zu errichten, der aber auch nicht so wirklich funktioniert hat.


    Wenn ich nicht in einem Pickup stand und "/buyspraydose" eingab erschien nichts im Chat. Stand ich im Pickup, hatte aber nicht genügend Geld dabei um mir eine Spraydose zu kaufen erschien auch keine Meldung im Chat. Hatte ich Geld, kam die richtige meldung (Du hast dir eine Spraydose gekauft!), mir wurde auch das Geld abgezogen und ich habe eine Spraydose erhalten.


    Was jetzt passiert:
    Wenn ich genügend Geld dabei habe und mich in eines der zu diesem Befehl gehörigen PickUps/Textdraws stelle und "/buyspraydose" eingebe erscheint im Chat: ,,Du bist nicht beim Schwarzmarkt!" und bekomme auch nichts.


    Sonst ist alles wie wenn ich nur ein Schwarzmarkt in SF habe.


    Hier die Zeilen, ich arbeite mit zcmd:

    CMD:buyspraydose(playerid, params[])
    {
    if(GetPlayerMoney(playerid)>199)
    if(IsPlayerInRangeOfPoint(playerid,2.0,-2196.0063,636.7228, 49.0000))
    if(IsPlayerInRangeOfPoint(playerid,2.0,2452.4685, -1898.1074, 13.7188))
    {
    GivePlayerMoney(playerid,-200);
    SendClientMessage(playerid,GRUEN,"Du hast dir eine Spraydose gekauft!");
    GivePlayerWeapon(playerid,41,500);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht beim Schwarzmarkt!");
    }
    return 1;
    }


    Kann mir jemand den richtigen Code geben und eine erklärung, damit ichs demnächst weiß?

    DIVIDE ET IMPERA

  • Wieso machst du zwei if-Abfragen?


    es geht doch so auch:


    if(IsPlayerInRangeOfPoint(playerid,2.0,-2196.0063,636.7228, 49.0000) || IsPlayerInRangeOfPoint(playerid,2.0,2452.4685, -1898.1074, 13.7188))

  • Wieso machst du zwei if-Abfragen?


    es geht doch so auch:


    if(IsPlayerInRangeOfPoint(playerid,2.0,-2196.0063,636.7228, 49.0000) || IsPlayerInRangeOfPoint(playerid,2.0,2452.4685, -1898.1074, 13.7188))

    Danke, damit habe ich die Befehle funktionabel gemacht. Jetzt ist nurnoch das Problem, dass die Meldungen nicht richtig kommen.

    DIVIDE ET IMPERA

  • CMD:buyspraydose(playerid, params[])
    {
    if(GetPlayerMoney(playerid) > 199)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,-2196.0063,636.7228, 49.0000) || IsPlayerInRangeOfPoint(playerid,2.0,2452.4685, -1898.1074, 13.7188))
    {
    GivePlayerMoney(playerid,-200);
    SendClientMessage(playerid,GRUEN,"Du hast dir eine Spraydose gekauft!");
    GivePlayerWeapon(playerid,41,500);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht beim Schwarzmarkt!");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
    }
    return 1;
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Ich will jetzt z.B. 1 Gate und 1ne Schranke am LSPD haben die mit Einem Befehl /gate gehen


    Dann soll z.B. wenn man /gate an der Schranke ein gibt kommen "Die Schranke schließt sich in 5 Sekunden." (heißt Die Schranke geht auf und in 5 Sekunden zu (Timer))


    Dann soll z.B. wenn man /gate an dem Tor ein gibt kommen "Das Tor schließt sich in 5 Sekunden." (heißt DasTor geht auf und
    in 5 Sekunden zu (Timer))


    ist das möglich?


    Also an der Schranke soll nur "Die Schranke schließt sich in 5 Sekunden." und am Tor nur "Das Tor schließt sich in 5 Sekunden." kommen und jewal einzeln öffnen

  • Vielen Dank, du hast mir sehr geholfen! :D

    DIVIDE ET IMPERA