[Ajuda] Comando /dararma
#1

Gente boa tarde, eu sou iniciante em Pawn e estou tentando criar o comando /dararma sendo que eu especifique no comando a arma que eu darei e a muniзгo. Por exemplo: /dararma 38 100. Atй entгo eu sу consegui fazer um comando que a arma jб estivesse especificada no comando que foi:
Код:
	if (strcmp("/teste", cmdtext, true, 10) == 0)
	{
	    GivePlayerWeapon(playerid,38,999);
	}
	return 1;
Se puderem por explicaзхes ao lado da linha explicando, ficarei muito grato!
Reply
#2

PRONTO MANO! AGORA SУ COLOCAR EM SEU GM E PRONTO SEJA FFELIZ KK

pawn Код:
if(strcmp(cmd, "/dararma", true) == 0)//COMANDO
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USE: /dararma [id] [arma id(ex. 24 = Eagle)] [muniзгo]");
    return 1;
    }
    new playa;
    new gun;
    new ammo;
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    gun = strval(tmp);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "USE: /dararma [id] [arma id] [muniзгo]");
    return 1;
    }
    if(gun < 1 || gun > 46 || gun==38 || gun==35 || gun==37 || gun==44 || gun==45 || gun==9  || gun==26 || gun==27 || gun==28 || gun==32)//DEFINE O ID DAS ARMAS QUE SГO PROIBIDAS (MINIGUN,ETC)
    { SendClientMessage(playerid, COLOR_GRAD1, "   ID Proibido!"); return 1; }
    tmp = strtok(cmdtext, idx);
    ammo = strval(tmp);
    if(ammo <1||ammo > 999)//NUMERO MINIMO E MAXIMO DE MUNЗГO QUE VOCК PODE DAR
    { SendClientMessage(playerid, COLOR_GRAD1, "   O minimo de muniзгo й 1 e o mбximo й 999!"); return 1; }
    if(PlayerInfo[playerid][pAdmin] < 1)//admin lvl 1 + que pode setar esse comando
    {
    SendClientMessage(playerid, COLOR_GREY," Vocк nгo tem autorizaзгo para usar este comando.");//SE NГO FOR ADMIN IRБ APARECER ESSA MENSAGEM
    return 1;
    }
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)//INDENTIFICA SE O PLAYER ESTБ CONECTADO
    {
    GivePlayerWeapon(playa, gun, ammo);
    }
    }
    }
    return 1;
    }
Reply
#3

Use SSCANF й melhor.
Reply
#4

pawn Код:
if (strcmp("/teste", cmdtext, true, 10) == 0)
{
new OtherPlayer, Arma, Valor;
if(sscanf(params, "uii", OtherPlayer, Arma, Valor)) SendClientMessage(playerid, 0xFF0000AA, "Use: /dararma [id] [Arma][Muniзгo]");

GivePlayerWeapon(OtherPlayer, Arma, Valor);
return 1;
}
Creio que seja isso
Reply
#5

PHP код:
CMD:dararma(playeridparams[]){
    new 
NomeArma[80];
    new 
stringdararma[128];
    new 
ArmaCMDMunicaoID;
    if(
sscanf(params"uii"IDArmaCMDMunicao)) return SendClientMessage(playerid, -1"Use:  /dararma [ID/Nome] [Arma] [Muniзгo]");
    if(!
IsPlayerConnected(ID)) return SendClientMessage(playerid, -1"ID/Nome invбlido.");
    if(
ArmaCMD || ArmaCMD == 19 || ArmaCMD == 20 || ArmaCMD == 21 || ArmaCMD 46) return SendClientMessage(playerid, -1"ID da arma invбlido, use de 1 а 46.");
    if(
ArmaCMD == 1NomeArma "Soco Inglкs";
    if(
ArmaCMD == 2NomeArma "Taco de Golf";
    if(
ArmaCMD == 3NomeArma "Cacetete";
    if(
ArmaCMD == 4NomeArma "Faca";
    if(
ArmaCMD == 5NomeArma "Taco de Baseball";
    if(
ArmaCMD == 6NomeArma "Pб";
    if(
ArmaCMD == 7NomeArma "Taco de Sinuca";
    if(
ArmaCMD == 8NomeArma "Kitana";
    if(
ArmaCMD == 9NomeArma "Serra elйtrica";
    if(
ArmaCMD == 10NomeArma "Pinto de Borracha";
    if(
ArmaCMD == 11NomeArma "Pinto roxo";
    if(
ArmaCMD == 12NomeArma "Vibrador";
    if(
ArmaCMD == 13NomeArma "Vibrador de Prata";
    if(
ArmaCMD == 14NomeArma "Flor";
    if(
ArmaCMD == 15NomeArma "Bengala";
    if(
ArmaCMD == 16NomeArma "Granada";
    if(
ArmaCMD == 17NomeArma "Bomba de gбs";
    if(
ArmaCMD == 18NomeArma "Molotov";
    if(
ArmaCMD == 22NomeArma "Pistola 9mm";
    if(
ArmaCMD == 23NomeArma "Pistola com silenciador";
    if(
ArmaCMD == 24NomeArma "Desert Eagle";
    if(
ArmaCMD == 25NomeArma "ShotGun";
    if(
ArmaCMD == 26NomeArma "Sawnoff Shotgun";
    if(
ArmaCMD == 27NomeArma "Combat Shotgun";
    if(
ArmaCMD == 28NomeArma "Micro SMG";
    if(
ArmaCMD == 29NomeArma "MP5";
    if(
ArmaCMD == 30NomeArma "AK47";
    if(
ArmaCMD == 31NomeArma "M4";
    if(
ArmaCMD == 32NomeArma "Tec 9";
    if(
ArmaCMD == 33NomeArma "Country Rifle";
    if(
ArmaCMD == 34NomeArma "Sniper Rifle";
    if(
ArmaCMD == 35NomeArma "Bazooca RPG";
    if(
ArmaCMD == 36NomeArma "Bazooca Normal";
    if(
ArmaCMD == 37NomeArma "Lanзa Chamas";
    if(
ArmaCMD == 38NomeArma "Mini Gun";
    if(
ArmaCMD == 39NomeArma "C4";
    if(
ArmaCMD == 40NomeArma "Detonador";
    if(
ArmaCMD == 41NomeArma "Spray";
    if(
ArmaCMD == 42NomeArma "Extintor";
    if(
ArmaCMD == 43NomeArma "Oculos de visгo noturna";
    if(
ArmaCMD == 45NomeArma "Oculos de visгo de calor";
    if(
ArmaCMD == 46NomeArma "Paraquedas";
    
GivePlayerWeapon(IDArmaCMDMunicao);
    
format(stringdararmasizeof(stringdararma), "Vocк deu um(a) %s com %d de muniзгo para o jogador."NomeArmaMunicao);
    
SendClientMessage(playerid, -1stringdararma);
    return 
true;

Reply
#6

Tentei usar a forma de um dos amigos acima por parecer mais simples e coloquei assim lб:

Код:
	if (strcmp("/dararma", cmdtext, true, 10) == 0)
	{
		new OtherPlayer, Arma, Valor;
		GivePlayerWeapon(OtherPlayer, Arma, Valor);
	}
Porйm quando testei: /dararma 0 38 99, nada aconteceu.
Reply
#7

Quote:
Originally Posted by focaximubh
Посмотреть сообщение
pawn Код:
if (strcmp("/teste", cmdtext, true, 10) == 0)
{
new OtherPlayer, Arma, Valor;
if(sscanf(params, "uii", OtherPlayer, Arma, Valor)) SendClientMessage(playerid, 0xFF0000AA, "Use: /dararma [id] [Arma][Muniзгo]");

GivePlayerWeapon(OtherPlayer, Arma, Valor);
return 1;
}
Creio que seja isso
Nгo й isso rs, se quiser saber sobre Strcmp e Sscanf, leia meu tutorial sobre o assunto
Reply
#8

Precisa desse sscanf? Nгo teria uma forma mais simples de fazк-lo?
Reply
#9

Coloque sscanf e ZCMD, e use o CMD que eu fiz, SSCANF E ZCMD sгo melhores.
Reply
#10

Quote:
Originally Posted by vilmar16
Посмотреть сообщение
Precisa desse sscanf? Nгo teria uma forma mais simples de fazк-lo?
/\ falou tudo mano dei atй EDIT no meu post '-'

carai* quer forma mais simples? kkkkkk й sу colocar o sscanf lб em cima simplismente '-' do sscanf para baixo vocк serб feliz o resto da vida coisa linda do samp й o sscanf e vocк chama de complicado tente usar os comandos que lhe enviaram inclusive o meu para ver se funciona '-'
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)