Problem mit meinem /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
  • Ich bin langsam am verzweifeln des /buygun Commands. Ich habe schon etlich viele Varianten probiert, den Command verändert, etc.


    Es passiert einfach garnichts bei dem Befehl, sobald ich /buygun mache kommt einfach nichts. Das Script hat keinen Warning, keinen Error.


    Ich hoffe ihr könnt mir helfen ;(


    Buygun-Befehl


    Spoiler anzeigen
    if (strcmp(cmdtext, "/buygun", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,291.5526,-108.0460,1001.5156))
    {
    if(GetPlayerMoney(playerid) < 1)
    {
    SendClientMessage(playerid, FARBE_GRAU, "Du hast nicht genug Geld !");
    return 1;
    }
    new idx;
    new string[255];
    new gun;
    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;
    if(IsPlayerInFrak(playerid,1))
    {
    new modsss = 200;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    format(string, sizeof(string), "Benutzung: /buygun [waffenname] [munition]");
    SendClientMessage(playerid, FARBE_GRÜN,"_______________________________________");
    SendClientMessage(playerid, FARBE_BRAUN,"*** Waffen & Munition ***");
    SendClientMessage(playerid, FARBE_BRAUN,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, FARBE_HELLBRAUN, 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, FARBE_HELLBRAUN, 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, FARBE_HELLBRAUN, gunstring3);
    format(gunstring4, 256, "Waffen: Shotgun ($%d) AK47 ($%d) M4 ($%d) Sniper ($%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, FARBE_HELLBRAUN, 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, FARBE_HELLBRAUN, gunstring5);
    SendClientMessage(playerid, FARBE_GRÜN,"_______________________________________");
    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, FARBE_GRAU, " 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;
    sSpieler[playerid][pGun1] = 2; sSpieler[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "Schlagstock", true, strlen(gunid)) == 0)
    {
    gun = 3; guncharge = GunPrice[2][0]/100*modsss; ammocharge = 0;
    sSpieler[playerid][pGun1] = 3; sSpieler[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "Baseballschläger", true, strlen(gunid)) == 0)
    {
    gun = 5; guncharge = GunPrice[4][0]/100*modsss; ammocharge = 0;
    sSpieler[playerid][pGun1] = 5; sSpieler[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "Schaufel", true, strlen(gunid)) == 0)
    {
    gun = 6; guncharge = GunPrice[5][0]/100*modsss; ammocharge = 0;
    sSpieler[playerid][pGun1] = 6; sSpieler[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
    {
    gun = 7; guncharge = GunPrice[6][0]/100*modsss; ammocharge = 0;
    sSpieler[playerid][pGun1] = 7; sSpieler[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "VioletterDildo", true, strlen(gunid)) == 0)
    {
    gun = 10; guncharge = GunPrice[7][0]/100*modsss; ammocharge = 0;
    sSpieler[playerid][pGun1] = 10; sSpieler[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "Weißerdildo", true, strlen(gunid)) == 0)
    {
    gun = 11; guncharge = GunPrice[8][0]/100*modsss; ammocharge = 0;
    sSpieler[playerid][pGun1] = 11; sSpieler[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "langerweißerdildo", true, strlen(gunid)) == 0)
    {
    gun = 12; guncharge = GunPrice[9][0]/100*modsss; ammocharge = 0;
    sSpieler[playerid][pGun1] = 12; sSpieler[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "weißerdildo2", true, strlen(gunid)) == 0)
    {
    gun = 13; guncharge = GunPrice[10][0]/100*modsss; ammocharge = 0;
    sSpieler[playerid][pGun1] = 13; sSpieler[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "Blumen", true, strlen(gunid)) == 0)
    {
    gun = 14; guncharge = GunPrice[11][0]/100*modsss; ammocharge = 0;
    sSpieler[playerid][pGun1] = 14; sSpieler[playerid][pAmmo1] = 1;
    }
    else if (strcmp(gunid, "cane", true, strlen(gunid)) == 0)
    {
    gun = 15; guncharge = GunPrice[12][0]/100*modsss; ammocharge = 0;
    sSpieler[playerid][pGun1] = 15; sSpieler[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;
    sSpieler[playerid][pGun2] = 23; sSpieler[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;
    sSpieler[playerid][pGun2] = 24; sSpieler[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;
    sSpieler[playerid][pGun3] = 29; sSpieler[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;
    sSpieler[playerid][pGun3] = 25; sSpieler[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;
    sSpieler[playerid][pGun4] = 30; sSpieler[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;
    sSpieler[playerid][pGun4] = 31; sSpieler[playerid][pAmmo4] = ammo;
    }
    else if (strcmp(gunid, "Sniper", true, strlen(gunid)) == 0)
    {
    gun = 34; guncharge = GunPrice[24][0]/100*modsss; ammocharge = GunPrice[29][0]*ammo;
    sSpieler[playerid][pGun4] = 34; sSpieler[playerid][pAmmo4] = ammo;
    }
    else
    {
    SendClientMessage(playerid, FARBE_ROT, "Ladenbesitzer: Ich habe noch nie von dieser Waffe gehört.");
    return 1;
    }
    if((guncharge+ammocharge) > GetPlayerMoney(playerid))
    {
    format(infostring, 256, " Du hast keine $%d !",guncharge+ammocharge);
    SendClientMessage(playerid, FARBE_ROT, infostring);
    return 1;
    }
    if(GetPlayerMoney(playerid) < (guncharge+ammocharge))
    {
    SendClientMessage(playerid, FARBE_ROT, "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, FARBE_ROT, infostring);
    GivePlayerMoney(playerid, -payout);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    GivePlayerWeapon(playerid, gun, ammo);
    }
    else
    {
    SendClientMessage(playerid, FARBE_ROT,"Du bist in keinem Gunshop.");
    return 1;
    }
    }
    }
    return 1;
    }



    Strtok - Funktion


    Spoiler anzeigen
    //Strtok
    new tmp[256];
    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }
    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }


    Definierte Waffenpreise


    Spoiler anzeigen
    //WaffenPreise
    new GunPrice[30][1] = {
    {75}, //parachute
    {75}, //golfclub
    {75}, //nightstick
    {75}, //knife
    {75}, //baseballbat
    {100}, //shovel
    {75}, //poolcue
    {50}, //purpledildo
    {50}, //whitedildo
    {50}, //longwhitedildo
    {50}, //whitedildo2
    {50}, //flowers
    {600}, //cane
    {300}, //sdpistol
    {300}, //colt45
    {500}, //deagle
    {99999}, //Tec9
    {99999}, //uzi
    {1000}, //mp5
    {750}, //shotgun
    {1500}, //spas12//
    {1500}, //sawnoff//
    {1500}, //ak47
    {1500}, //m4
    {2000}, //sniper
    {7}, //pistolammo
    {7}, //shotgunammo
    {9}, //smgammo
    {10}, //assaultammo
    {20} //sniper
    };


    Sollte noch etwas fehlen, so schreibt es bitte.


    Mit freundlichem Gruß,


    coVer

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

    Einmal editiert, zuletzt von coVer ()