Kann man das leichter machen? (/buygun)

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
  • Look here:




    if (strcmp("/buygun", cmdtext, true) == 0)
    {
    SendClientMessage(playerid,COLOR_RED,"/buygun [Waffenname]");
    SendClientMessage(playerid,WEISS,"Deagle(200$), M4(180$), Shotgun(100$), MP5(120$), AK47(150$), Sniper(500$)");
    return 1;
    }
    if (strcmp("/buygun deagle", cmdtext, true)==0)
    {
    {
    if(GetPlayerMoney(playerid)< 200) return SendClientMessage(playerid,COLOR_RED,"Du hast keine 200 $ bei dir.");
    }
    {
    if(IsPlayerInRangeOfPoint(playerid,17,2172.2349,1618.6982,999.9766) || IsPlayerInRangeOfPoint(playerid,17,292.1797,-34.8225,1001.5156))
    {
    if(GetPlayerMoney(playerid) <200)return SendClientMessage(playerid,COLOR_RED,"Du hast keine 200$.");
    GivePlayerWeapon(playerid, 24, 150);
    GivePlayerMoney(playerid, -200);
    SendClientMessage(playerid,WEISS,"Du hast dir eine Deagle gekauft");
    }
    else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht im Gunshop!");
    return 1;
    }
    }
    if (strcmp("/buygun m4", cmdtext, true)==0)
    {
    {
    if(GetPlayerMoney(playerid)< 200) return SendClientMessage(playerid,COLOR_RED,"Du hast keine 200 $ bei dir.");
    }
    {
    if(IsPlayerInRangeOfPoint(playerid,17,2172.2349,1618.6982,999.9766) || IsPlayerInRangeOfPoint(playerid,17,292.1797,-34.8225,1001.5156))
    {
    if(GetPlayerMoney(playerid) <180)return SendClientMessage(playerid,COLOR_RED,"Du hast keine 180$.");
    GivePlayerWeapon(playerid, 31, 150);
    GivePlayerMoney(playerid, -180);
    SendClientMessage(playerid,WEISS,"Du hast dir eine M4 gekauft");


    }
    else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht im Gunshop!");
    return 1;
    }
    }
    if (strcmp("/buygun Shotgun", cmdtext, true)==0)
    {
    {
    if(GetPlayerMoney(playerid)< 100) return SendClientMessage(playerid,COLOR_RED,"Du hast keine 100 $ bei dir.");
    }
    {
    if(IsPlayerInRangeOfPoint(playerid,17,2172.2349,1618.6982,999.9766) || IsPlayerInRangeOfPoint(playerid,17,292.1797,-34.8225,1001.5156))
    {
    if(GetPlayerMoney(playerid) <100)return SendClientMessage(playerid,COLOR_RED,"Du hast keine 100$.");
    GivePlayerWeapon(playerid, 25, 150);
    GivePlayerMoney(playerid, -100);
    SendClientMessage(playerid,WEISS,"Du hast dir eine Shotgun gekauft");


    }
    else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht im Gunshop!");
    return 1;
    }
    }
    if (strcmp("/buygun mp5", cmdtext, true)==0)
    {
    {
    if(GetPlayerMoney(playerid)< 120) return SendClientMessage(playerid,COLOR_RED,"Du hast keine 120 $ bei dir.");
    }
    {
    if(IsPlayerInRangeOfPoint(playerid,17,2172.2349,1618.6982,999.9766) || IsPlayerInRangeOfPoint(playerid,17,292.1797,-34.8225,1001.5156))
    {
    if(GetPlayerMoney(playerid) <120)return SendClientMessage(playerid,COLOR_RED,"Du hast keine 120$.");
    GivePlayerWeapon(playerid, 29, 150);
    GivePlayerMoney(playerid, -120);
    SendClientMessage(playerid,WEISS,"Du hast dir eine MP5 gekauft");


    }
    else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht im Gunshop!");
    return 1;
    }
    }
    if (strcmp("/buygun ak47", cmdtext, true)==0)
    {
    {
    if(GetPlayerMoney(playerid)< 150) return SendClientMessage(playerid,COLOR_RED,"Du hast keine 150 $ bei dir.");
    }
    {
    if(IsPlayerInRangeOfPoint(playerid,17,2172.2349,1618.6982,999.9766) || IsPlayerInRangeOfPoint(playerid,17,292.1797,-34.8225,1001.5156))
    {
    if(GetPlayerMoney(playerid) <150)return SendClientMessage(playerid,COLOR_RED,"Du hast keine 150$.");
    GivePlayerWeapon(playerid, 30, 150);
    GivePlayerMoney(playerid, -150);
    SendClientMessage(playerid,WEISS,"Du hast dir eine AK - 47 gekauft");


    }
    else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht im Gunshop!");
    return 1;
    }
    }
    if (strcmp("/buygun sniper", cmdtext, true)==0)
    {
    {
    if(GetPlayerMoney(playerid)< 500) return SendClientMessage(playerid,COLOR_RED,"Du hast keine 500 $ bei dir.");
    }
    {
    if(IsPlayerInRangeOfPoint(playerid,17,2172.2349,1618.6982,999.9766) || IsPlayerInRangeOfPoint(playerid,17,292.1797,-34.8225,1001.5156))
    {
    if(GetPlayerMoney(playerid) <500)return SendClientMessage(playerid,COLOR_RED,"Du hast keine 500$.");
    GivePlayerWeapon(playerid, 34, 50);
    GivePlayerMoney(playerid, -500);
    SendClientMessage(playerid,WEISS,"Du hast dir eine Sniper gekauft");


    }
    else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht im Gunshop!");
    return 1;
    }
    }

  • Erstmal: Befehle mit Parametern sollte man nicht so machen. Warum? Sinnlos, länger und drückt auf die Ressourcen. Schau dir mal das Tutorial an.
    Dann sieht es ziemlich zusammenkopiert bzw. wahllos gemischt aus.
    if (strcmp("/buygun deagle", cmdtext, true)==0)
    {
    {
    if(GetPlayerMoney(playerid)< 200) return SendClientMessage(playerid,COLOR_RED,"Du hast keine 200 $ bei dir.");
    }
    {

    Sinn?
    1. Warum 2 Klammern?
    2. Du beendest die Funktion direkt mit return, warum dann noch geschweifte Klammern und vor allem: Warum wenn sie sowieso ohne Inhalt sind?



    if(IsPlayerInRangeOfPoint(playerid,17,2172.2349,1618.6982,999.9766) || IsPlayerInRangeOfPoint(playerid,17,292.1797,-34.8225,1001.5156))
    {
    if(GetPlayerMoney(playerid) <200)return SendClientMessage(playerid,COLOR_RED,"Du hast keine 200$.");
    GivePlayerWeapon(playerid, 24, 150);
    GivePlayerMoney(playerid, -200);
    SendClientMessage(playerid,WEISS,"Du hast dir eine Deagle gekauft");
    }
    else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht im Gunshop!");
    return 1;
    }
    Warum jetzt wieder anders? Behalte doch einen, nämlich den kürzeren, schonenderen und sinnvolleren, Scriptstil bei, heißt:


    if(IsPlayerInRangeOfPoint(playerid,17,2172.2349,1618.6982,999.9766) || IsPlayerInRangeOfPoint(playerid,17,292.1797,-34.8225,1001.5156)) return SendClientMessage(playerid,COLOR_GREY,"Du bist nicht im Gunshop!");
    if(GetPlayerMoney(playerid) <200)return SendClientMessage(playerid,COLOR_RED,"Du hast keine 200$.");
    GivePlayerWeapon(playerid, 24, 150);
    GivePlayerMoney(playerid, -200);
    SendClientMessage(playerid,WEISS,"Du hast dir eine Deagle gekauft");
    }
    Das kannst du nun auch auf den Rest übertragen.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.