[Ajuda] strcmp
#1

Nгo uso strcmp, mas preciso de uma ajuda para fazer esse comando. Como devo ajustar o parametro do VALOR corretamente ? preco = ReturnUser(tmp2); mas sempre retorna o valor $64561 algo assim...

pawn Код:
if(strcmp(cmd,"/mafiavarma",true)==0)
    {
        if(PlayerPaintballing[playerid] != 0)
        {
            SendClientMessage(playerid,AMARELO," Vocк nгo pode vender armas no evento!");
            return 1;
        }
        if(PlayerInfo[playerid][pJailed] != 0)
        {
            SendClientMessage(playerid,AMARELO," Vocк nгo pode vender armas na cadeia!");
            return 1;
        }
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pMembro] != 13 && PlayerInfo[playerid][pLider] != 13 && PlayerInfo[playerid][pMembro] != 12 && PlayerInfo[playerid][pLider] != 12)
            {
                SendClientMessage(playerid,COLOR_GREY,"Vocк nгo й de nenhuma Organizaзгo Mafiosa!");
                return 1;
            }
            //if(giveplayerid == playerid)
            //{
            //    SendClientMessage(playerid,COLOR_GREY,"Vocк nгo pode vender armas pra si mesmo!");
            //    return 1;
            //}
            new x_weapon[32],weapon[MAX_PLAYERS],ammo[MAX_PLAYERS],price[MAX_PLAYERS];
            tmp = strtok(cmdtext,idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid,COLOR_GRAD1,"USE: /mafiavarma [ID do Player] [weaponname]");
                SendClientMessage(playerid,COLOR_GREY,"Armas: pistola(50) eagle(200) mp5(150) faca(50) ");
                SendClientMessage(playerid,COLOR_GREY,"Armas: flores(25) ak47(200) m4(200) rifle(200)");
                SendClientMessage(playerid,COLOR_GREY,"Armas: fumaca(400) shotgun(150) sniper(200)");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                //if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode se vender armas!"); return 1; }
                    x_weapon = strtok(cmdtext,idx);
                    if(!strlen(x_weapon))
                    {
                        SendClientMessage(playerid,COLOR_WHITE,"|__________________ Vender Armas - Mafiosos __________________|");
                        SendClientMessage(playerid,COLOR_GREY,"USE: /mafiavarma [ID do Player] [weaponname]");
                        SendClientMessage(playerid,COLOR_GREY,"Armas: pistola(50) eagle(200) mp5(150) faca(50) ");
                        SendClientMessage(playerid,COLOR_GREY,"Armas: flores(25) ak47(200) m4(200) rifle(200)");
                        SendClientMessage(playerid,COLOR_GREY,"Armas: fumaca(400) shotgun(150) sniper(200)");
                        return 1;
                    }
                }
                if(strcmp(x_weapon,"pistola",true) == 0) { if(PlayerInfo[playerid][pMats] > 49) { weapon[playerid] = 23; price[playerid] = 50; ammo[playerid] = 240;  } else { SendClientMessage(playerid,COLOR_GREY,"Materiais insuficientes para vender esta Arma!"); return 1; } }
                else if(strcmp(x_weapon,"flores",true) == 0) { if(PlayerInfo[playerid][pMats] > 24) { weapon[playerid] = 14; price[playerid] = 25; ammo[playerid] = 1;  } else { SendClientMessage(playerid,COLOR_GREY,"Materiais insuficientes para vender esta Arma!"); return 1; } }
                else if(strcmp(x_weapon,"eagle",true) == 0) { if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 24; price[playerid] = 100; ammo[playerid] = 220;  } else { SendClientMessage(playerid,COLOR_GREY,"Materiais insuficientes para vender esta Arma!"); return 1; } }
                else if(strcmp(x_weapon,"mp5",true) == 0) { if(PlayerInfo[playerid][pMats] > 149) { weapon[playerid] = 29; price[playerid] = 100; ammo[playerid] = 360;  } else { SendClientMessage(playerid,COLOR_GREY,"Materiais insuficientes para vender esta Arma!"); return 1; } }
                else if(strcmp(x_weapon,"shotgun",true) == 0) { if(PlayerInfo[playerid][pMats] > 149) { weapon[playerid] = 25; price[playerid] = 200; ammo[playerid] = 190;  } else { SendClientMessage(playerid,COLOR_GREY,"Materiais insuficientes para vender esta Arma!"); return 1; } }
                //else if(strcmp(x_weapon,"spas12",true) == 0) { if(PlayerInfo[playerid][pMats] > 599) { weapon[playerid] = 27; price[playerid] = 600; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 27; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY,"Not enough Materials for that Weapon!"); return 1; } }
                else if(strcmp(x_weapon,"ak47",true) == 0) { if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 30; price[playerid] = 200; ammo[playerid] = 360;  } else { SendClientMessage(playerid,COLOR_GREY,"   Materiais insuficientes para vender esta Arma!"); return 1; } }
                else if(strcmp(x_weapon,"m4",true) == 0) { if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 31; price[playerid] = 200; ammo[playerid] = 360;  } else { SendClientMessage(playerid,COLOR_GREY,"   Materiais insuficientes para vender esta Arma!"); return 1; } }
                else if(strcmp(x_weapon,"rifle",true) == 0) { if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 33; price[playerid] = 200; ammo[playerid] = 230;  } else { SendClientMessage(playerid,COLOR_GREY,"Materiais insuficientes para vender esta Arma!"); return 1; } }
                else if(strcmp(x_weapon,"faca",true) == 0) { if(PlayerInfo[playerid][pMats] > 49) { weapon[playerid] = 4; price[playerid] = 50; ammo[playerid] = 1;  } else { SendClientMessage(playerid,COLOR_GREY,"Materiais insuficientes para vender esta Arma!"); return 1; } }
                else if(strcmp(x_weapon,"sniper",true) == 0) { if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 34; price[playerid] = 200; ammo[playerid] = 100;  } else { SendClientMessage(playerid,COLOR_GREY,"Materiais insuficientes para vender esta Arma!"); return 1; } }
                else if(strcmp(x_weapon,"fumaca",true) == 0) { if(PlayerInfo[playerid][pMats] > 399) { weapon[playerid] = 17; price[playerid] = 200; ammo[playerid] = 12;  } else { SendClientMessage(playerid,COLOR_GREY,"Materiais insuficientes para vender esta Arma!"); return 1; } }
                //else if(strcmp(x_weapon,"granada",true) == 0) { if(PlayerInfo[playerid][pMats] > 499) { weapon[playerid] = 16; price[playerid] = 200; ammo[playerid] = 5;  } else { SendClientMessage(playerid,COLOR_GREY,"Materiais insuficientes para vender esta Arma!"); return 1; } }
                else { SendClientMessage(playerid,COLOR_GREY,"Nome da arma invбlida!"); return 1; }

                new preco;
                tmp2 = strtok(cmdtext,idx);
                if(!strlen(tmp2))
                {
                    SendClientMessage(playerid,COLOR_GRAD1,"USE: /mafiavarma [ID do Player] [weaponname] [valor]");
                    return 1;
                }
                preco = ReturnUser(tmp2);
               
                if(ProxDetectorS(5.0,playerid,giveplayerid))
                {
                    if(PlayerInfo[playerid][pMiserPerk] > 0)
                    {
                        new skill = 2 * PlayerInfo[playerid][pMiserPerk];
                        new mats = price[playerid] / 100;
                        price[playerid] -= (mats)*(skill);
                    }
                    ConsumingMoney[playerid] = 1;
                    GetPlayerName(giveplayerid,giveplayer,sizeof(giveplayer));
                    GetPlayerName(playerid,sendername,sizeof(sendername));
                    format(string,sizeof(string),"Voce vendeu %s,um %s com %d ammo,para %d Materiais por %d$ .",giveplayer,x_weapon,ammo[playerid],price[playerid], preco);
                    PlayerPlaySound(playerid,1052,0.0,0.0,0.0);
                    SendClientMessage(playerid,COLOR_GRAD1,string);
                    format(string,sizeof(string),"Vocк recebeu uma %s com %d a partir de muniзгo %s, por %d$.",x_weapon,ammo[playerid],sendername, preco);
                    SendClientMessage(giveplayerid,COLOR_GRAD1,string);
                    PlayerPlaySound(giveplayerid,1052,0.0,0.0,0.0);
                    format(string,sizeof(string),"* %s vendeu armas para %s.",sendername ,giveplayer);
                    ProxDetector(30.0,playerid,string,BRANCO,BRANCO,BRANCO,BRANCO,BRANCO);
                    GivePlayerWeapon(giveplayerid,weapon[playerid],ammo[playerid]);
                    PlayerInfo[playerid][pMats] -= price[playerid];
                    ConsumingMoney[playerid] = 1; GranaVinny(playerid, preco);
                    ConsumingMoney[giveplayerid] = 1; GranaVinny(giveplayerid, -preco);
                    //SaveVendas();
                }
                else
                {
                    SendClientMessage(playerid,COLOR_GRAD1,"O cliente nгo esta proximo de vocк.");
                    return 1;
                }
            }
            else
            {
                format(string,sizeof(string),"%d nгo esta online este player.",giveplayerid);
                SendClientMessage(playerid,COLOR_GRAD1,string);
            }
        }
        return 1;
    }
Reply
#2

PHP код:
preco ReturnUser(tmp2); 
A funзгo ReturnUser retorna um id de um jogador ao vocк passar um nome de um jogador й verificado se existe um jogador online no servidor com este nome e retorna o id dele e caso o jogador esteja off retorna ao valor definido do INVALID_PLAYER_ID.

para fazer o que vocкr quer, vocк precisa utilizar a funзгo strval.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)