SA-MP Forums Archive
[Ajuda] Como passo esse dialog para um comando ? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Como passo esse dialog para um comando ? (/showthread.php?tid=653737)



Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Consegui passar mas o problema й que quando eu uso o comando ele me leva pra um dialog de guardar armas e se eu usar, ele joga a arma pro inventбrio direto no slot 0, eu queria que fosse pro slot 1,2,3,4,5,6 em diante que estaria disponнvel como faзo ?

comando :

Code:
	CMD:guardai(playerid, response, listitem, params[])
	{
        SelectTextDraw(playerid, 0xAAAAAAFF);
		if(response){

		    new weap, ammo;
		    new string[128];

		    GetPlayerWeaponData(playerid, listitem + 1, weap, ammo);

			if(ammo < 1)
				return CancelSelectTextDraw(playerid), SendClientMessage(playerid, COLOR_YELLOW, "*Esta arma й invбlida!"), dialogArmas(playerid);

		 	ArmasGuardadas[playerid][Selected[playerid][2]] = weap;
		 	BalasGuardadas[playerid][Selected[playerid][2]] = ammo;
		 	format(string, sizeof string, "Vocк guardou uma arma %s com %d balas no slot: %d. Para pegar use: /mochila", NomeItemID(ArmasGuardadas[playerid][Selected[playerid][2]]),BalasGuardadas[playerid][Selected[playerid][2]], Selected[playerid][2]);
			SendClientMessage(playerid, COLOR_R, string);
			RemovePlayerWeapon(playerid, weap);
			format(string, sizeof(string), "* %s guardou um(a) %s em sua mochila", NomePlayer(playerid), NomeItemID(ArmasGuardadas[playerid][Selected[playerid][2]]));
			SendClientMessageInRange(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);

            SetPVarInt(playerid, "guardando", 0);

			HideMochila(playerid);

		}
		else{

		    SetPVarInt(playerid, "guardando", 0);
		}
	}



Re: Como passo esse dialog para um comando ? - FerrariL - 11.05.2018

Poste como vocк fez.


Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Quote:
Originally Posted by FerrariL
View Post
Poste como vocк fez.
Antes vocк selecionava a arma no inventбrio e vinha para esse dialog

Code:
dialogArmas(playerid){

	if(!countWeapons(playerid))
		return SendClientMessage(playerid, COLOR_YELLOW, "*Vocк nгo tem uma arma com vocк."), CancelSelectTextDraw(playerid),SelectTextDraw(playerid, 0xAAAAAAFF);

	new Str[95],
		weap,
		ammo;

	MEGAString[0] = EOS;

	for(new x = 1; x != 13; x++){

		GetPlayerWeaponData(playerid, x, weap, ammo);

		if(weap && ammo){

			format(Str, 95, "{FFFFFF}Arma: {A0A0A0}%s {FFFFFF}Balas: {A0A0A0}%03d\n", GunNames[weap], ammo);
	  		strcat(MEGAString, Str);
		}else{

			strcat(MEGAString, "{FFFFFF}Arma: {A0A0A0}-------- {FFFFFF}Balas: {A0A0A0}---\n");
		}
	}
	ShowPlayerDialog(playerid, 306, DIALOG_STYLE_LIST, "Escolha a arma para guardar", MEGAString, "Guardar", "Sair");

	return 1;
}

dialogArmasPM(playerid){

	if(!countWeapons(playerid))
		return SendClientMessage(playerid, COLOR_YELLOW, "*Vocк nгo tem uma arma com vocк."), SelectTextDraw(playerid, 0xAAAAAAFF);

	new Str[95],
		weap,
		ammo;

	MEGAString[0] = EOS;

	for(new x = 1; x != 13; x++){

		GetPlayerWeaponData(playerid, x, weap, ammo);

		if(weap && ammo){

			format(Str, 95, "{FFFFFF}Arma: {A0A0A0}%s {FFFFFF}Balas: {A0A0A0}%03d\n", GunNames[weap], ammo);
	  		strcat(MEGAString, Str);
		}else{

			strcat(MEGAString, "{FFFFFF}Arma: {A0A0A0}-------- {FFFFFF}Balas: {A0A0A0}---\n");
		}
	}
	ShowPlayerDialog(playerid, 308, DIALOG_STYLE_LIST, "Escolha a arma para guardar", MEGAString, "Guardar", "Sair");

	return 1;
}
Apуs selecionar a arma ele guardava, como mostra o prуximo dialog

Code:
if(dialogid == 306){

        SelectTextDraw(playerid, 0xAAAAAAFF);
		if(response){

		    new weap, ammo;

		    GetPlayerWeaponData(playerid, listitem + 1, weap, ammo);

			if(ammo < 1)
				return CancelSelectTextDraw(playerid), SendClientMessage(playerid, COLOR_YELLOW, "*Esta arma й invбlida!"), dialogArmas(playerid);

		 	ArmasGuardadas[playerid][Selected[playerid][2]] = weap;
		 	BalasGuardadas[playerid][Selected[playerid][2]] = ammo;
		 	format(string, sizeof string, "Vocк guardou uma arma %s com %d balas no slot: %d. Para pegar use: /mochila", NomeItemID(ArmasGuardadas[playerid][Selected[playerid][2]]),BalasGuardadas[playerid][Selected[playerid][2]], Selected[playerid][2]);
			SendClientMessage(playerid, COLOR_R, string);
			RemovePlayerWeapon(playerid, weap);
			format(string, sizeof(string), "* %s guardou um(a) %s em sua mochila", NomePlayer(playerid), NomeItemID(ArmasGuardadas[playerid][Selected[playerid][2]]));
			SendClientMessageInRange(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);

            SetPVarInt(playerid, "guardando", 0);

			HideMochila(playerid);

		}
		else{

		    SetPVarInt(playerid, "guardando", 0);
		}
	}
Entгo eu peguei esse dialog acima e passei para um comando que seria /guardarma, porйm como eu teria antes que selecionar o slot no inventбrio ele abre um dialog (dialogArmas) e joga a minha arma para o slot "0' e slot 0 nгo existe eu queria que quando usasse o /guardararma ele nгo me jogasse para o dialog, queria que guardasse minha arma automaticamente em um slot dнsponivel


Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Quote:
Originally Posted by FerrariL
View Post
Poste como vocк fez.
Pronto, consegui sem abrir o dialog, o problema agora, й sу que ele ta me mandando para o slot 0 como coloco pra mandar para um slot disponivel ?

Code:
		CMD:guardararma1(playerid, response, listitem, params[])
  		{
		if(response){

		    new weap, ammo;
		    new string[128];

		    GetPlayerWeaponData(playerid, listitem + 1, weap, ammo);

		 	ArmasGuardadas[playerid][Selected[playerid][2]] = weap;
		 	BalasGuardadas[playerid][Selected[playerid][2]] = ammo;
		 	format(string, sizeof string, "Vocк guardou uma arma %s com %d balas no slot: %d. Para pegar use: /mochila", NomeItemID(ArmasGuardadas[playerid][Selected[playerid][2]]),BalasGuardadas[playerid][Selected[playerid][2]], Selected[playerid][2]);
			SendClientMessage(playerid, COLOR_R, string);
			RemovePlayerWeapon(playerid, weap);
			format(string, sizeof(string), "* %s guardou um(a) %s em sua mochila", NomePlayer(playerid), NomeItemID(ArmasGuardadas[playerid][Selected[playerid][2]]));
			SendClientMessageInRange(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);

            SetPVarInt(playerid, "guardando", 0);

			HideMochila(playerid);
			
		}
	}



Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Quote:
Originally Posted by FerrariL
View Post
Poste como vocк fez.
Aqui, tem um sistema de guardar acessуrio item no inventбrio tbm que nгo precisa selecionar o slot jб vai direto, seria nesse dialog aqui

talvez se eu pegar esse "[SlotReal]" e colocar no comando /guardararma serб q a arma vai pra um slot que esteja dнsponivel?

Code:
 new SlotReal;
			    SlotReal = GetPVarInt(playerid, "AttachmentIndexSel");
			    if(InvCheio[playerid] == 1) { InvCheio[playerid] = 0; return 1; }
			    itemnamochila(playerid,ObjectLoad[playerid][SlotReal][Objmodelid])



Re: Como passo esse dialog para um comando ? - FerrariL - 11.05.2018

Qual й a funзгo que seta a arma no slot ?


Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Quote:
Originally Posted by FerrariL
View Post
Qual й a funзгo que seta a arma no slot ?
to procurando nгo estou achando alguma ideia onde possa estar? pq pra selecionar o slot eu tenho que clicar no slot, dps escolher a arma


Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Quote:
Originally Posted by FerrariL
View Post
Qual й a funзгo que seta a arma no slot ?
Tem como colocar no mesmo slot dos acessуrios n tem ?

Code:
BPS::RemovePlayerAttachedObjectEx(playerid,SlotReal)
{
	if(ItemSlotA[playerid][SlotReal] != -1)
	{
	    if(ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Aureola1 && ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Aureola2
		&& ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Celular && ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Roubo
		&& ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Radio && ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Pa
		&& ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Maconha && ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Escudo
		&& ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Planta && ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Corrente
		&& ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Ejetar && ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Ejetar2
		&& ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Escudo && ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Colete
		&& ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] != Vaga_Taser)
	 	{
	        if(IsAItem(playerid,SlotDItem[playerid][ItemSlotA[playerid][SlotReal]],0))
	    	{
	    	    if(TipoItem[playerid] != 0)
			    {
	        		itemnamochila(playerid,SlotDItem[playerid][ItemSlotA[playerid][SlotReal]]);
				}
			}
	    }
	    RemovePlayerAttachedObject(playerid, ItemSlotA[playerid][SlotReal]);
	    ItemSlotP[playerid][ItemSlotA[playerid][SlotReal]] = -1;
	    SlotDItem[playerid][ItemSlotA[playerid][SlotReal]] = -1;
	    ObjectLoad[playerid][ItemSlotA[playerid][SlotReal]][Objindexid2] = 0;
	    ItemSlotA[playerid][SlotReal] = -1;
   }
}



Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Quote:
Originally Posted by FerrariL
View Post
Qual й a funзгo que seta a arma no slot ?
acho q й isso aqui

Code:
for(new x = 1; x != 13; x++){
Code:
dialogArmas(playerid){

	if(!countWeapons(playerid))
		return SendClientMessage(playerid, COLOR_YELLOW, "*Vocк nгo tem uma arma com vocк."), CancelSelectTextDraw(playerid),SelectTextDraw(playerid, 0xAAAAAAFF);

	new Str[95],
		weap,
		ammo;

	MEGAString[0] = EOS;

	for(new x = 1; x != 13; x++){

		GetPlayerWeaponData(playerid, x, weap, ammo);

		if(weap && ammo){

			format(Str, 95, "{FFFFFF}Arma: {A0A0A0}%s {FFFFFF}Balas: {A0A0A0}%03d\n", GunNames[weap], ammo);
	  		strcat(MEGAString, Str);
		}else{

			strcat(MEGAString, "{FFFFFF}Arma: {A0A0A0}-------- {FFFFFF}Balas: {A0A0A0}---\n");
		}
	}
	ShowPlayerDialog(playerid, 306, DIALOG_STYLE_LIST, "Escolha a arma para guardar", MEGAString, "Guardar", "Sair");

	return 1;
}



Re: Como passo esse dialog para um comando ? - FerrariL - 11.05.2018

O que seria esse
pawn Code:
Selected[playerid][2]



Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Quote:
Originally Posted by FerrariL
View Post
O que seria esse
pawn Code:
Selected[playerid][2]
nгo sei, ta abaixo dos textdraw do inventбrio

Code:
	PlayerTextDrawShow(playerid, moMsg[playerid]);
	PlayerTextDrawSetPreviewModel(playerid, moEquipPrev[playerid], 5699);
	PlayerTextDrawShow(playerid, moEquipPrev[playerid]);
	PlayerTextDrawShow(playerid, moArma[playerid]);
	PlayerTextDrawShow(playerid, moBalas[playerid]);
	PlayerTextDrawShow(playerid, moUse[playerid]);
	PlayerTextDrawShow(playerid, moUse1[playerid]);
	PlayerTextDrawShow(playerid, moUse2[playerid]);
	PlayerTextDrawShow(playerid, moUse3[playerid]);
	//PlayerTextDrawShow(playerid, moUseBox[playerid]);
	PlayerTextDrawShow(playerid, moExit[playerid]);
	//PlayerTextDrawShow(playerid, moExit1[playerid]);
	//PlayerTextDrawShow(playerid, moInfo[playerid]);
	//PlayerTextDrawShow(playerid, moInfoBox[playerid]);
	PlayerTextDrawShow(playerid, moHelp[playerid]);
	PlayerTextDrawShow(playerid, moCr[playerid]);

 	Selected[playerid][0] = 0;
 	Selected[playerid][1] = 0;
 	Selected[playerid][2] = 0;

    setweaponNome(playerid, Selected[playerid][0], Selected[playerid][1]);

    SelectTextDraw(playerid, 0xAAAAAAFF);

	SetPVarInt(playerid, "vMochila", 1);
}
Aqui

Code:
ublic OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) {
	if(GetPVarInt(playerid, "vMochila")){

	    for(new x = 1; x <= 12; x++){

	        if(playertextid == moPrev[playerid][x]) {
			    if(Inventario[playerid] == 2) x = x+12;
			    if(Inventario[playerid] == 3) x = x+24;
			    if(Inventario[playerid] == 4) x = x+36;
				if(x != MAX_ITEMS) {
					if(ArmasGuardadas[playerid][x] < 1 && ItemID[playerid][x] == 0){
					    //dialogGuardar(playerid);
					   	Selected[playerid][0] = 0;
		                Selected[playerid][1] = 0;
		                Selected[playerid][2] = x;

		                setweaponNome(playerid, Selected[playerid][0], Selected[playerid][1]);
					    ///SendClientMessage(playerid, COLOR_LIGHTRED, "* Nгo tem uma arma nesse slot!");
	                    PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
						return 1;
					}
Code:
					else {
					    PlayerTextDrawSetPreviewRot(playerid, moEquipPrev[playerid], 180.000000, 160.000000, 360.000000, 2.099999);
			            PlayerTextDrawSetPreviewModel(playerid, moEquipPrev[playerid], getidxModelSlot(playerid, x));
		                PlayerTextDrawShow(playerid, moEquipPrev[playerid]);
		                Selected[playerid][0] = ArmasGuardadas[playerid][x];
						if(IsAItem(playerid,Selected[playerid][0],0)) {
			                Selected[playerid][0] = ArmasGuardadas[playerid][x];
			                Selected[playerid][1] = BalasGuardadas[playerid][x];
			                Selected[playerid][2] = x;
						}

		                setweaponNome(playerid, Selected[playerid][0], Selected[playerid][1]);

		                PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
		                return 1;
					}
				}
	        }
	    }



Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

AEE O SLOT = Selected[playerid][2] agora como coloco pra botar slot dнsponivel pra n ir somento pro slot 0 ?


o comando me leva pra esse dialog, como faзo pra quando o player selecionar a arma ir para um slot do inventбrio dнsponivel ? sу isso pra conseguir mesmo

Code:
dialogArmas(playerid){

	if(!countWeapons(playerid))
		return SendClientMessage(playerid, COLOR_YELLOW, "*Vocк nгo tem uma arma com vocк."), CancelSelectTextDraw(playerid),SelectTextDraw(playerid, 0xAAAAAAFF);

	new Str[95],
		weap,
		ammo;

	MEGAString[0] = EOS;

	for(new x = 1; x != 13; x++){

		GetPlayerWeaponData(playerid, x, weap, ammo);

		if(weap && ammo){

			format(Str, 95, "{FFFFFF}Arma: {A0A0A0}%s {FFFFFF}Balas: {A0A0A0}%03d\n", GunNames[weap], ammo);
	  		strcat(MEGAString, Str);
		}else{

			strcat(MEGAString, "{FFFFFF}Arma: {A0A0A0}-------- {FFFFFF}Balas: {A0A0A0}---\n");
		}
	}
	ShowPlayerDialog(playerid, 306, DIALOG_STYLE_LIST, "Escolha a arma para guardar", MEGAString, "Guardar", "Sair");

	return 1;
}



Re: Como passo esse dialog para um comando ? - FerrariL - 11.05.2018

Bem mano sinceramente este seu sistema ta uma zona. Eu fiz uma funзгo para seu problema,nгo sei se vai funcionar pois nгo conheзo como este sistema realmente funciona.
Cуdigo:
PHP Code:
GetSlotFree(playerid)
{
    for(new 
0<= 10i++)
        if(
Selected[playerid][i] == 0) return i;
    return -
1;

Modo de uso:
PHP Code:
new value GetSlotFree(playerid);
if(
value != -1)
{
    
ArmasGuardadas[playerid][Selected[playerid][value]] = weap;
    
BalasGuardadas[playerid][Selected[playerid][value]] = ammo;
} else 
SendClientMessage(playerid,-1,"ERRO: slots cheios"); 
OBS: onde estб i <= 10,no lugar do 10 vocк coloca a quantidade de нndices que esta definido na sua declaraзгo.
Ex: new Selected[MAX_PLAYERS][20] vocк troca por i <= 20.


Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Quote:
Originally Posted by FerrariL
View Post
Bem mano sinceramente este seu sistema ta uma zona. Eu fiz uma funзгo para seu problema,nгo sei se vai funcionar pois nгo conheзo como este sistema realmente funciona.
Cуdigo:
PHP Code:
GetSlotFree(playerid)
{
    for(new 
0<= 10i++)
        if(
Selected[playerid][i] == 0) return i;
    return -
1;

Modo de uso:
PHP Code:
new value GetSlotFree(playerid);
if(
value != -1)
{
    
ArmasGuardadas[playerid][Selected[playerid][value]] = weap;
    
BalasGuardadas[playerid][Selected[playerid][value]] = ammo;
} else 
SendClientMessage(playerid,-1,"ERRO: slots cheios"); 
OBS: onde estб i <= 10,no lugar do 10 vocк coloca a quantidade de нndices que esta definido na sua declaraзгo.
Ex: new Selected[playerid][20] vocк troca por i <= 20.
coloco nos comandos ?

assim?

Code:
GetSlotFree(playerid)
{
    for(new i = 0; i <= 10; i++)
        if(Selected[playerid][i] == 0) return i;
    return -1;
}




	CMD:guardararma(playerid, response, listitem, params[])
	{
       // SelectTextDraw(playerid, 0xAAAAAAFF);
       
       new value = GetSlotFree(playerid);
		if(value != -1)
		{
		    ArmasGuardadas[playerid][Selected[playerid][value]] = weap;
		    BalasGuardadas[playerid][Selected[playerid][value]] = ammo;
			} else SendClientMessage(playerid,-1,"ERRO: slots cheios");
       
       
		if(response){

		    new weap, ammo;
		    new string[128];

			if(ammo < 1)
				return CancelSelectTextDraw(playerid), SendClientMessage(playerid, COLOR_YELLOW, ""), dialogArmas(playerid);

		 	ArmasGuardadas[playerid][Selected[playerid][2]] = weap;
		 	BalasGuardadas[playerid][Selected[playerid][2]] = ammo;
		 	format(string, sizeof string, "Vocк guardou uma arma %s com %d balas no slot: %d. Para pegar use: /mochila", NomeItemID(ArmasGuardadas[playerid][Selected[playerid][2]]),BalasGuardadas[playerid][Selected[playerid][2]], Selected[playerid][2]);
			SendClientMessage(playerid, COLOR_R, string);
			RemovePlayerWeapon(playerid, weap);


            SetPVarInt(playerid, "guardando", 0);

			HideMochila(playerid);

		}
		else{

		    SetPVarInt(playerid, "guardando", 0);
		}
	}



Re: Como passo esse dialog para um comando ? - FerrariL - 11.05.2018

Estб errado.
PHP Code:
CMD:guardararma(playeridresponselistitemparams[])
{
    if(
response)
    {
        new 
value GetSlotFree(playerid);
        new 
weapammo;
        new 
string[128];
        if(
ammo 1)
            return 
CancelSelectTextDraw(playerid), SendClientMessage(playeridCOLOR_YELLOW""), dialogArmas(playerid);
            
        if(
value != -1)
        {
            
ArmasGuardadas[playerid][Selected[playerid][value]] = weap;
            
BalasGuardadas[playerid][Selected[playerid][value]] = ammo;
        } else return 
SendClientMessage(playerid,-1,"ERRO: slots cheios");
        
        
format(stringsizeof string"Vocк guardou uma arma %s com %d balas no slot: %d. Para pegar use: /mochila"NomeItemID(ArmasGuardadas[playerid][Selected[playerid][2]]),BalasGuardadas[playerid][Selected[playerid][2]], Selected[playerid][2]);
        
SendClientMessage(playeridCOLOR_Rstring);
        
RemovePlayerWeapon(playeridweap);
        
SetPVarInt(playerid"guardando"0);
        
HideMochila(playerid);
    }
    else
        
SetPVarInt(playerid"guardando"0);




Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Quote:
Originally Posted by FerrariL
View Post
Estб errado.
PHP Code:
CMD:guardararma(playeridresponselistitemparams[])
{
    if(
response)
    {
        new 
value GetSlotFree(playerid);
        new 
weapammo;
        new 
string[128];
        if(
ammo 1)
            return 
CancelSelectTextDraw(playerid), SendClientMessage(playeridCOLOR_YELLOW""), dialogArmas(playerid);
            
        if(
value != -1)
        {
            
ArmasGuardadas[playerid][Selected[playerid][value]] = weap;
            
BalasGuardadas[playerid][Selected[playerid][value]] = ammo;
        } else return 
SendClientMessage(playerid,-1,"ERRO: slots cheios");
        
        
format(stringsizeof string"Vocк guardou uma arma %s com %d balas no slot: %d. Para pegar use: /mochila"NomeItemID(ArmasGuardadas[playerid][Selected[playerid][2]]),BalasGuardadas[playerid][Selected[playerid][2]], Selected[playerid][2]);
        
SendClientMessage(playeridCOLOR_Rstring);
        
RemovePlayerWeapon(playeridweap);
        
SetPVarInt(playerid"guardando"0);
        
HideMochila(playerid);
    }
    else
        
SetPVarInt(playerid"guardando"0);

Й, nгo funcionou -.-


Re: Como passo esse dialog para um comando ? - eoqtrabhir - 11.05.2018

Quote:
Originally Posted by FerrariL
View Post
Estб errado.
PHP Code:
CMD:guardararma(playeridresponselistitemparams[])
{
    if(
response)
    {
        new 
value GetSlotFree(playerid);
        new 
weapammo;
        new 
string[128];
        if(
ammo 1)
            return 
CancelSelectTextDraw(playerid), SendClientMessage(playeridCOLOR_YELLOW""), dialogArmas(playerid);
            
        if(
value != -1)
        {
            
ArmasGuardadas[playerid][Selected[playerid][value]] = weap;
            
BalasGuardadas[playerid][Selected[playerid][value]] = ammo;
        } else return 
SendClientMessage(playerid,-1,"ERRO: slots cheios");
        
        
format(stringsizeof string"Vocк guardou uma arma %s com %d balas no slot: %d. Para pegar use: /mochila"NomeItemID(ArmasGuardadas[playerid][Selected[playerid][2]]),BalasGuardadas[playerid][Selected[playerid][2]], Selected[playerid][2]);
        
SendClientMessage(playeridCOLOR_Rstring);
        
RemovePlayerWeapon(playeridweap);
        
SetPVarInt(playerid"guardando"0);
        
HideMochila(playerid);
    }
    else
        
SetPVarInt(playerid"guardando"0);

aaaaaaaaaaaaa, eu peguei o comando da dialog de quando jб ta mandando a arma pro inventбrio o comando era pra ser esse aqui

Code:
	if(!countWeapons(playerid))
		return SendClientMessage(playerid, COLOR_YELLOW, "*Vocк nгo tem uma arma com vocк."), CancelSelectTextDraw(playerid),SelectTextDraw(playerid, 0xAAAAAAFF);

	new Str[95],
		weap,
		ammo;

	MEGAString[0] = EOS;

	for(new x = 1; x != 13; x++){

		GetPlayerWeaponData(playerid, x, weap, ammo);

		if(weap && ammo){

			format(Str, 95, "{FFFFFF}Arma: {A0A0A0}%s {FFFFFF}Balas: {A0A0A0}%03d\n", GunNames[weap], ammo);
	  		strcat(MEGAString, Str);
		}else{

			strcat(MEGAString, "{FFFFFF}Arma: {A0A0A0}-------- {FFFFFF}Balas: {A0A0A0}---\n");
		}
	}