/buygun Befehl

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 Liebe Community mein /buygun Befehl funktoniert nicht :/ Immer wenn ich eine waffen kaufen will erscheint der Dialog ich klick die Waffe an aber bekomme sie nicht :/


    Der Befehl /buygun: if(strcmp(cmd, "/buygun", true) == 0)
    {
    if(PlayerInfo[playerid][pGunLic] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast kein Waffenschein!");
    return 1;
    }
    if(IsPlayerConnected(playerid) && IsPlayerInRangeOfPoint(playerid,15.0,294.7483,-80.4023,1001.5156) || IsPlayerInRangeOfPoint(playerid,15.0,293.2292,-106.7353,1001.5156))
    {
    ShowPlayerDialog(playerid,DIALOG_AMMUNATION,DIALOG_STYLE_LIST,"{0066FF}Waffenshop Menü","{FFFFFF}Deagle - 120 Schuss - $2.500\n{FFFFFF}MP5 - 299 Schuss - $3.000\n{FFFFFF}M4 - 299 Schuss - $3.444\n{FFFFFF}Shotgun - 100 Schuss - $1.899\n{FFFFFF}AK-47 - 299 Schuss - $3.444\n{FFFFFF}Baseball Schläger - $250\n{FFFFFF}Schlagring - $100\n{FFFFFF}Billiardstock - $100\n{FFFFFF}Katana - $100\n{FFFFFF}Silenced 9mm - 99 Schuss - $2545\n{FFFFFF}Rifle - 99 Schuss - $3504 ","Kaufen","Beenden");
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"Du bist nicht im Ammunation LS.");
    return 1;
    }
    return 1;
    }
    if (strcmp(cmd, "/buygun", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(GetPlayerMoney(playerid) < 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast nicht genug Geld !");
    return 1;
    }
    if(PlayerInfo[playerid][pGunLic] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast kein Waffenschein !");
    return 1;
    }
    /*
    Ahhhhh meine Lieblingsstelle! xD Hier ist definiert das man ohne schein keine waffen kaufen kann


    <=0 bedeuted wenn du kein schein hast
    */
    new gun;
    new modsss = 100;
    new gunid[16];
    new gunstring1[256];
    new gunstring2[256];
    new gunstring3[256];
    new gunstring4[256];
    new gunstring5[256];
    new infostring[256];
    new guncharge;
    new ammocharge;
    new location = PlayerInfo[playerid][pLocal];
    if(location == 99 || location == 100 || location == 102)
    {
    if(BizzInfo[location-99][bProducts] <= 0)
    {
    GameTextForPlayer(playerid, "~r~Ausverkauft", 5000, 1);
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    format(string, sizeof(string), "Benutzung: /buygun [waffenname] [munition]");
    SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
    SendClientMessage(playerid, COLOR_WHITE,"*** Waffen & Munition ***");
    SendClientMessage(playerid, COLOR_GRAD2,string);
    format(gunstring1, 256, "Waffen: Fallschirm ($%d) Golfschläger ($%d) Schlagstock ($%d) Baseballschläger ($%d) Schaufel ($%d) PoolCue ($%d)",
    GunPrice[0][0]/100*modsss,GunPrice[1][0]/100*modsss,GunPrice[2][0]/100*modsss,GunPrice[3][0]/100*modsss,GunPrice[4][0]/100*modsss,GunPrice[5][0]/100*modsss,GunPrice[6][0]/100*modsss);
    SendClientMessage(playerid, COLOR_GRAD3, gunstring1);
    format(gunstring2, 256, "Waffen: VioletterDildo ($%d) WeißerDildo ($%d) LangerweißerDildo ($%d) WeißerDildo2 ($%d) Blumen ($%d) cane",
    GunPrice[7][0]/100*modsss,GunPrice[8][0]/100*modsss,GunPrice[9][0]/100*modsss,GunPrice[10][0]/100*modsss,GunPrice[11][0]/100*modsss,GunPrice[12][0]/100*modsss);
    SendClientMessage(playerid, COLOR_GRAD3, gunstring2);
    format(gunstring3, 256, "Waffen: SD-Pistole ($%d) DesertEagle ($%d) MP5 ($%d)",
    GunPrice[13][0]/100*modsss,GunPrice[14][0]/100*modsss,GunPrice[15][0]/100*modsss,GunPrice[16][0]/100*modsss,GunPrice[17][0]/100*modsss,GunPrice[18][0]/100*modsss);
    SendClientMessage(playerid, COLOR_GRAD3, gunstring3);
    format(gunstring4, 256, "Waffen: Shotgun ($%d) AK47 ($%d) M4 ($%d) Rifle ($%d)",
    GunPrice[19][0]/100*modsss,GunPrice[20][0]/100*modsss,GunPrice[21][0]/100*modsss,GunPrice[22][0]/100*modsss,GunPrice[23][0]/100*modsss,GunPrice[24][0]/100*modsss);
    SendClientMessage(playerid, COLOR_GRAD3, gunstring4);
    format(gunstring5, 256, "Waffen: Pistolen Munition ($%d) Shotgun Munition ($%d) MP5 Munition ($%d) AK47/M4 Munition ($%d) Sniper Munition ($%d)",
    GunPrice[25][0],GunPrice[26][0],GunPrice[27][0],GunPrice[28][0],GunPrice[29][0]);
    SendClientMessage(playerid, COLOR_GRAD3, gunstring5);
    SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
    return 1;
    }
    strmid(gunid, tmp, 0, strlen(cmdtext), 255);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    format(string, sizeof(string), "BENUTZUNG: /buygun [Waffe] [Munition]");
    return 1;
    }
    new ammo = strval(tmp);
    if(ammo < 1 || ammo > 999) { SendClientMessage(playerid, COLOR_GREY, " Die Munition muss zwischen 1 und 999 sein !"); return 1; }
    if (strcmp(gunid, "Fallschirm", true, strlen(gunid)) == 0)
    {
    gun = 46;
    guncharge = GunPrice[0][0]/100*modsss;
    ammocharge = 0;
    }
    else if (strcmp(gunid, "Golfschläger", true, strlen(gunid)) == 0)
    {
    gun = 2; guncharge = GunPrice[1][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 2; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "Schlagstock", true, strlen(gunid)) == 0)
    {
    gun = 3; guncharge = GunPrice[2][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 3; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "Baseballschläger", true, strlen(gunid)) == 0)
    {
    gun = 5; guncharge = GunPrice[4][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 5; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "Schaufel", true, strlen(gunid)) == 0)
    {
    gun = 6; guncharge = GunPrice[5][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 6; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
    {
    gun = 7; guncharge = GunPrice[6][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 7; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "VioletterDildo", true, strlen(gunid)) == 0)
    {
    gun = 10; guncharge = GunPrice[7][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 10; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "Weißerdildo", true, strlen(gunid)) == 0)
    {
    gun = 11; guncharge = GunPrice[8][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 11; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "langerweißerdildo", true, strlen(gunid)) == 0)
    {
    gun = 12; guncharge = GunPrice[9][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 12; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "weißerdildo2", true, strlen(gunid)) == 0)
    {
    gun = 13; guncharge = GunPrice[10][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 13; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "Blumen", true, strlen(gunid)) == 0)
    {
    gun = 14; guncharge = GunPrice[11][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 14; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "cane", true, strlen(gunid)) == 0)
    {
    gun = 15; guncharge = GunPrice[12][0]/100*modsss; ammocharge = 0;
    PlayerInfo[playerid][pGun1] = 15; PlayerInfo[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "SD-Pistole", true, strlen(gunid)) == 0)
    {
    gun = 23; guncharge = GunPrice[13][0]/100*modsss; ammocharge = GunPrice[25][0]*ammo;
    PlayerInfo[playerid][pGun2] = 23; PlayerInfo[playerid][pAmmo2] = ammo;
    }
    else if (strcmp(gunid, "DesertEagle", true, strlen(gunid)) == 0)
    {
    gun = 24; guncharge = GunPrice[15][0]/100*modsss; ammocharge = GunPrice[25][0]*ammo;
    PlayerInfo[playerid][pGun2] = 24; PlayerInfo[playerid][pAmmo2] = ammo;
    }
    else if (strcmp(gunid, "MP5", true, strlen(gunid)) == 0)
    {
    gun = 29; guncharge = GunPrice[18][0]/100*modsss; ammocharge = GunPrice[27][0]*ammo;
    PlayerInfo[playerid][pGun3] = 29; PlayerInfo[playerid][pAmmo3] = ammo;
    }
    else if (strcmp(gunid, "Shotgun", true, strlen(gunid)) == 0)
    {
    gun = 25; guncharge = GunPrice[19][0]/100*modsss; ammocharge = GunPrice[26][0]*ammo;
    PlayerInfo[playerid][pGun3] = 25; PlayerInfo[playerid][pAmmo3] = ammo;
    }
    else if (strcmp(gunid, "AK47", true, strlen(gunid)) == 0)
    {
    gun = 30; guncharge = GunPrice[22][0]/100*modsss; ammocharge = GunPrice[28][0]*ammo;
    PlayerInfo[playerid][pGun4] = 30; PlayerInfo[playerid][pAmmo4] = ammo;
    }
    else if (strcmp(gunid, "M4", true, strlen(gunid)) == 0)
    {
    gun = 31; guncharge = GunPrice[23][0]/100*modsss; ammocharge = GunPrice[28][0]*ammo;
    PlayerInfo[playerid][pGun4] = 31; PlayerInfo[playerid][pAmmo4] = ammo;
    }
    else if (strcmp(gunid, "Sniper", true, strlen(gunid)) == 0)
    {
    gun = 33; guncharge = GunPrice[24][0]/100*modsss; ammocharge = GunPrice[29][0]*ammo;
    PlayerInfo[playerid][pGun4] = 33; PlayerInfo[playerid][pAmmo4] = ammo;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD6, "Ladenbesitzer: Ich habe noch nie von dieser Waffe gehört.");
    return 1;
    }
    if((guncharge+ammocharge) > GetPlayerMoney(playerid))
    {
    format(infostring, 256, " Du hast nicht $%d !",guncharge+ammocharge);
    SendClientMessage(playerid, COLOR_GRAD3, infostring);
    return 1;
    }
    if(GetPlayerMoney(playerid) < (guncharge+ammocharge))
    {
    SendClientMessage(playerid, COLOR_GREY, " Geht nicht !");
    return 1;
    }
    new payout = guncharge + ammocharge;
    format(infostring, 256, "Du hast eine %s mit %d Munition für $%d erworben",gunid,ammo,payout);
    SendClientMessage(playerid, COLOR_GRAD3, infostring);
    if(location == 102 && IsACop(playerid)) { }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"Für Mitglieder einer Staatlichen Fraktion sind die Waffen Kostenlos.");
    GivePlayerMoney(playerid, - payout);
    }
    BizzInfo[location-99][bTill] += payout;
    ExtortionBiz(location-99, payout);
    BizzInfo[location-99][bProducts]--;
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    GivePlayerWeapon(playerid, gun, ammo);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s hat Waffen für $%d eingekauft Am BIZ: %d", sendername, payout, location-99);
    printf("%s", string);
    PayLog(string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"Du bist nicht in einen Laden.");
    return 1;
    }
    }
    return 1;
    }

  • Du hast 2 mal einen Waffenkauf befehl. Klammer den Unteren aus! | Ändere den 2 Befehl in /waffenliste damit du die liste siehst ( wie du ein Beitrag über mir geschrieben hast )
    Schau was unter du alles unter "DIALOG_AMMUNATION" im OnDialogResponse findest.


    MfG

  • Beitrag von FileZilla ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Soweit ich weiß, kann das doch gar nicht gehen, wenn 2 Befehle den selben Namen haben. Bin mir selber nicht mehr Sicher.


    Zeig mal deine DIALOG_AMMUNATION.


    Wenn ich da nach suche findet er keinenen nur #define DIALOG_AMMUNATION 108
    Und halt den ersten /buygun Befehl wo das auch drin steht

  • Das heißt das du nach dem Dialog nichts weiter ausführst.


    BSP:
    DIALOG_AMMUNATION


    Dann unter OnPlayerResponse
    if(dialogid==DIALOG_AMMUNATION)
    {
    if(response)
    {
    GivePlayerWeapon(1,22,22);
    SendClientMessage(COLOR_RED, "Du hast dir Waffe 1 gekauft!");
    }
    }

    & der befehl.


    if(strcmp(cmd, "/buygun", true) == 0)
    {
    if(PlayerInfo[playerid][pGunLic] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast kein Waffenschein!");
    return 1;
    }
    if(IsPlayerConnected(playerid) && IsPlayerInRangeOfPoint(playerid,15.0,294.7483,-80.4023,1001.5156) || IsPlayerInRangeOfPoint(playerid,15.0,293.2292,-106.7353,1001.5156))
    {
    ShowPlayerDialog(playerid,DIALOG_AMMUNATION,DIALOG_STYLE_LIST,"Waffenshop","Waffe1","Kaufen","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"Du bist nicht im Ammunation LS.");
    return 1;
    }
    return 1;
    }

  • Dann musst du es natürlich noch erstellen.


    z.b:

    if(dialogid == DIALOG_AMMUNATION)
    {
    if(response==0) { return 1; }
    if(response==1)
    {
    if(listitem==0)
    {
    //Deine Funktion.
    }
    if(listitem==1)
    {
    //Deine Funktion.
    }
    if(listitem==2)
    {
    //Deine Funktion.
    }
    }