Bug no /comprararma
#1

eu tento comprar armas e aparece assim, " server unknow command "

pawn Код:
if (strcmp(cmd, "/comprararma", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            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;
            new location = PlayerInfo[playerid][pLocal];
            if(location == 99 || location == 100 || location == 102 || PlayerToPoint(12.0,playerid,297.5996,-80.2873,1001.5156))
            {
                if(BizzInfo[location-99][bProducts] <= 0)
                {
                    GameTextForPlayer(playerid, "~r~fim de estoque", 5000, 1);
                    return 1;
                }
                new mod = 100;
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    format(string, sizeof(string), "Use: /comprararma [arma] [muniзгo]");
                    SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
                    SendClientMessage(playerid, COLOR_WHITE,"*** Armas e Muniзхes ***");
                    SendClientMessage(playerid, COLOR_GRAD2,string);
                    format(gunstring1, 256, "Armas: paraquedas (R$ %d) tacogolf (R$ %d) cacetete (R$ %d) tacobaseball (R$ %d) pб (R$ %d) taco (R$ %d)",
                    GunPrice[0][0]/100*mod,GunPrice[1][0]/100*mod,GunPrice[2][0]/100*mod,GunPrice[3][0]/100*mod,GunPrice[4][0]/100*mod,GunPrice[5][0]/100*mod,GunPrice[6][0]/100*mod);
                    SendClientMessage(playerid, COLOR_GRAD3, gunstring1);
                    format(gunstring2, 256, "Armas: dildoroxo (R$ %d) dildobranco (R$ %d) dildobrancolongo (R$ %d) dildobrancosuper (R$ %d) flores (R$ %d) bengala",
                    GunPrice[7][0]/100*mod,GunPrice[8][0]/100*mod,GunPrice[9][0]/100*mod,GunPrice[10][0]/100*mod,GunPrice[11][0]/100*mod,GunPrice[12][0]/100*mod);
                    SendClientMessage(playerid, COLOR_GRAD3, gunstring2);
                    format(gunstring3, 256, "Armas: sdpistol (R$ %d) eagle (R$ %d) MP5 (R$ %d)",
                    GunPrice[13][0]/100*mod,GunPrice[14][0]/100*mod,GunPrice[15][0]/100*mod,GunPrice[16][0]/100*mod,GunPrice[17][0]/100*mod,GunPrice[18][0]/100*mod);
                    SendClientMessage(playerid, COLOR_GRAD3, gunstring3);
                    format(gunstring4, 256, "Armas: escopeta (R$ %d) AK47 (R$ %d) M4 (R$ %d) Rifle (R$ %d)",
                    GunPrice[19][0]/100*mod,GunPrice[20][0]/100*mod,GunPrice[21][0]/100*mod,GunPrice[22][0]/100*mod,GunPrice[23][0]/100*mod,GunPrice[24][0]/100*mod);
                    SendClientMessage(playerid, COLOR_GRAD3, gunstring4);
                    format(gunstring5, 256, "Muniзхes: pistolas (R$ %d) escopetas (R$ %d) SMG (R$ %d) assaults (R$ %d) rifles (R$ %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), "Use: /comprararma [nome] [muniзгo]");
                    return 1;
                }
                new ammo = strval(tmp);
                if(ammo < 1 || ammo > 999) { SendClientMessage(playerid, COLOR_GREY, "   Muniзгo entre 1 e 999 !"); return 1; }
                if (strcmp(gunid, "paraquedas", true, strlen(gunid)) == 0)
                {
                    gun = 46;
                    guncharge = GunPrice[0][0]/100*mod;
                    ammocharge = 0;
                }
                else if (strcmp(gunid, "tacogolf", true, strlen(gunid)) == 0)
                {
                    gun = 2; guncharge = GunPrice[1][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 2; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "cacetete", true, strlen(gunid)) == 0)
                {
                    gun = 3; guncharge = GunPrice[2][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 3; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "tacobaseball", true, strlen(gunid)) == 0)
                {
                    gun = 5; guncharge = GunPrice[4][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 5; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "pб", true, strlen(gunid)) == 0)
                {
                    gun = 6; guncharge = GunPrice[5][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 6; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "taco", true, strlen(gunid)) == 0)
                {
                    gun = 7; guncharge = GunPrice[6][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 7; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "dildoroxo", true, strlen(gunid)) == 0)
                {
                    gun = 10; guncharge = GunPrice[7][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 10; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "dildobranco", true, strlen(gunid)) == 0)
                {
                    gun = 11; guncharge = GunPrice[8][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 11; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "dildobrancolongo", true, strlen(gunid)) == 0)
                {
                    gun = 12; guncharge = GunPrice[9][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 12; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "dildobrancosuper", true, strlen(gunid)) == 0)
                {
                    gun = 13; guncharge = GunPrice[10][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 13; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "flores", true, strlen(gunid)) == 0)
                {
                    gun = 14; guncharge = GunPrice[11][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 14; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "bengala", true, strlen(gunid)) == 0)
                {
                    gun = 15; guncharge = GunPrice[12][0]/100*mod; ammocharge = 0;
                    PlayerInfo[playerid][pGun1] = 15; PlayerInfo[playerid][pAmmo1] = 1;
                }
                else if (strcmp(gunid, "sdpistol", true, strlen(gunid)) == 0)
                {
                    gun = 23; guncharge = GunPrice[13][0]/100*mod; ammocharge = GunPrice[25][0]*ammo;
                    PlayerInfo[playerid][pGun2] = 23; PlayerInfo[playerid][pAmmo2] = ammo;
                }
                else if (strcmp(gunid, "eagle", true, strlen(gunid)) == 0)
                {
                    gun = 24; guncharge = GunPrice[15][0]/100*mod; 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*mod; ammocharge = GunPrice[27][0]*ammo;
                    PlayerInfo[playerid][pGun3] = 29; PlayerInfo[playerid][pAmmo3] = ammo;
                }
                else if (strcmp(gunid, "escopeta", true, strlen(gunid)) == 0)
                {
                    gun = 25; guncharge = GunPrice[19][0]/100*mod; 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*mod; 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*mod; ammocharge = GunPrice[28][0]*ammo;
                    PlayerInfo[playerid][pGun4] = 31; PlayerInfo[playerid][pAmmo4] = ammo;
                }
                else if (strcmp(gunid, "rifle", true, strlen(gunid)) == 0)
                {
                    gun = 33; guncharge = GunPrice[24][0]/100*mod; ammocharge = GunPrice[29][0]*ammo;
                    PlayerInfo[playerid][pGun4] = 33; PlayerInfo[playerid][pAmmo4] = ammo;
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GRAD6, "Lojista diz: Eu nunca ouvi falar dessa arma.");
                    return 1;
                }
                if((guncharge+ammocharge) > pds_PegarDinheiroJogador(playerid))
                {
                    format(infostring, 256, "   Vocк nгo tem R$ %d !",guncharge+ammocharge);
                    SendClientMessage(playerid, COLOR_GRAD3, infostring);
                    return 1;
                }
                if(pds_PegarDinheiroJogador(playerid) < (guncharge+ammocharge))
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo pode pagar !");
                    return 1;
                }
                new payout = guncharge + ammocharge;
                format(infostring, 256, "Vocк comprou %s com %d clips pelo custo de R$ %d",gunid,ammo,payout);
                SendClientMessage(playerid, COLOR_GRAD3, infostring);
                if(location == 102 && IsACop(playerid)) { }
                else { pds_ManipularDinheiro(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 comprou armas por R$ %d na empresa %d", sendername, payout, location-99);
                printf("%s", string);
                PayLog(string);
            }
            else
            {
                SendClientMessage(playerid, COLOR_WHITE,"Vocк nгo estб em uma Loja.");
                return 1;
            }
        }
        return 1;
    }
se alguem puder me ajudar agradeзo =D
Reply
#2

Й seu esse code?

Tem muita coisa ai desnecessбrio, como por exemplo, no topo do comando:

pawn Код:
if(IsPlayerConnected(playerid))
Isso nгo precisa, porque para o cara digitar o comando ele precisa estar online, concorda?

pawn Код:
if(!strlen(tmp))
                {
                    format(string, sizeof(string), "Use: /comprararma [nome] [muniзгo]");
                    return 1;
                }
Aqui por exemplo, falta o SendClientMessage.

pawn Код:
printf("%s", string);
Aqui por exemplo, й sу usar isso:

pawn Код:
print(string);
Vei, revise todo o code... acho melhor fazer denovo.
Reply
#3

Pow cara, esse codigo ja estava no meu GM so que ele nunca funciono ^^ ja tentei modificar e ou da server unknow command ou da que eu nao tenho dinheiro suficiente ou da que eu nao estou numa loja de armas, entao vim aqui para ver se alguem me ajudava e й foda criar um bagulho de armas e talz, se tu puder me ajudar eu aceito, nao quero o codigo pronto, pq assim й mole demais xD
Reply
#4

Eu te ajudei horas, refassa. Na realidade, vocк quer o code pronto. Preguiзoso.
Reply
#5

se eu kisesse o codigo pronto, eu nao pediria ajuda, falaria pra tu arrumar um pra mim, e voce simplesmente falo pra eu tirar somente algumas coisas do codigo e isso nao resolve meu problema de " server unknow command "
Reply
#6

- Bom , pelo que eu vi , parece que o cуdigo nгo й seu , pois se fosse seu , vocк faria novamente , sem problemas !
parta de coisas simples , nгo se comeзa pawn fazendo coisas absurdas , portanto faзa coisas simples do tipo :

pawn Код:
if(!strcmp(cmdtext, "/kit01", true))
    {
        if(GetPlayerMoney(playerid) >= 3000)
        {
            new name[MAX_PLAYER_NAME], string[128];
            GetPlayerName(playerid, name, sizeof(name));
            format(string, sizeof(string), "{FF0000}[ PERIGO ]{FFFFFF} %s acaba de Comprar o {AEFF00}Kit01{FFFFFF} de Armas.",name);
            SendClientMessageToAll(0xFFFF00AA, string);
            SendClientMessage(playerid, 0xFFFFFF,"{FFFFFF} Vocк acaba de comprar seu {AEFF00}/kit01{FFFFFF} por {33FF00}R$ {FFFFFF}: 3000,00 !");
            GivePlayerMoney(playerid, -3000);
            GivePlayerWeapon(playerid, 24, 200);
            GivePlayerWeapon(playerid, 30, 350);
            GivePlayerWeapon(playerid, 4, 1);
            GivePlayerWeapon(playerid, 29, 350);
            return 1;
        }
        else
        {
            SendClientMessage(playerid, 0xFFFFFF,"{FF0000}- Este Kit Custa {33FF00}R${FF0000} 3000,00 e vocк nao tem essa grana !");
        }
        return 1;
    }
й bem mais prazeroso , fazer coisas de originalidade sua '
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)