[Ajuda] Erro em sistema de shop dialog
#1

Estou com um problema, quando digito o comando o dialog atй a aparece, mas quando eu executo uma aзгo ele nгo funciona. Alguйm saberia me explicar o que estб errado?


Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/Shop", cmdtext, true, 10) == 0)
	{
	  new str[64] = "Nitro2x\nNitro5x\nNitro10x\nReparar";
      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "Shopping", str, "Selecionar", "Cancelar"); 
      }
	return 1;
	}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	new string[128];

	if(dialogid == 0)
	{
	    if(response)
	    {
					GivePlayerMoney(playerid, -750);
					new component;
      				component = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), CARMODTYPE_NITRO);
        			if (component == 1009)
        			{
       			    SendClientMessage(playerid,0xFFFFFFFF,"Vocк comprou o Nitro!");
       				 }
	    			else if(listitem == 1)
	  			    {
					GivePlayerMoney(playerid, -750);
					new component;
      				component = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), CARMODTYPE_NITRO);
        			if (component == 1008)
        			{
       			    SendClientMessage(playerid,0xFFFFFFFF,"Vocк comprou o Nitro!");
       			    }
					return 1;
					}
					else if(listitem == 2)
					{
					GivePlayerMoney(playerid, -1050);
					new component;
      				component = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), CARMODTYPE_NITRO);
        			if (component == 1010)
        			{
       				SendClientMessage(playerid,0xFFFFFFFF,"Vocк comprou o Nitro!");
	    			return 1;
    				}
					else if(listitem == 3)
					{
   				    RepairVehicle(GetPlayerVehicleID(playerid));
					GivePlayerMoney(playerid, -200);
					SendClientMessage(playerid,0xFFFFFFFF,"Vocк reparou o Carro!");
				    return 1;
	     		  }
			  }
	     }
		return 1;
	}
	return 0;
}
stock PlayerName(playerid)
{
	new Nome[MAX_PLAYER_NAME];
	GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
	return Nome;
}
Reply
#2

Olб amigo, o certo nгo seria, mas refiz o cуdigo pra vocк!
PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if (
strcmp("/Shop"cmdtexttrue10) == 0)
    {
        new 
str[64];
        
format(str64"Nitro 2x\nNitro 5x\nNitro 10x\nReparar");
        
ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Shopping"str"Selecionar""Cancelar"); 
    }
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == 0)
    {
        if(
response)
        {
            if(
listitem == 0)
            {
                if(
GetPlayerMoney(playerid) < 750) return SendClientMessage(playerid, -1"{FF0000}Vocк nгo possui dinheiro suficiente para adquirir este item!");//Verifica se tem o dinheiro necessбrio
                
GivePlayerMoney(playerid, -750);//Dinheiro a descontar
                
AddVehicleComponent(GetPlayerVehicleID(playerid), 1009);//Adiciona Nitro 2x no veнculo do jogador
                
SendClientMessage(playerid, -1"{00FF00}Vocк adquiriu Nitro 2x!");
            }
            if(
listitem == 1)
            {
                if(
GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, -1"{FF0000}Vocк nгo possui dinheiro suficiente para adquirir este item!");//Verifica se tem o dinheiro necessбrio
                
GivePlayerMoney(playerid, -1000);//Dinheiro a descontar
                
AddVehicleComponent(GetPlayerVehicleID(playerid), 1008);//Adiciona Nitro 5x no veнculo do jogador
                
SendClientMessage(playerid, -1"{00FF00}Vocк adquiriu Nitro 5x!");
            }
            if(
listitem == 2)
            {
                if(
GetPlayerMoney(playerid) < 1500) return SendClientMessage(playerid, -1"{FF0000}Vocк nгo possui dinheiro suficiente para adquirir este item!");//Verifica se tem o dinheiro necessбrio
                
GivePlayerMoney(playerid, -1500);//Dinheiro a descontar
                
AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);//Adiciona Nitro 10x no veнculo do jogador
                
SendClientMessage(playerid, -1"{00FF00}Vocк adquiriu Nitro 10x!");
            }
            if(
listitem == 3)
            {
                if(
GetPlayerMoney(playerid) < 200) return SendClientMessage(playerid, -1"{FF0000}Vocк nгo possui dinheiro suficiente para adquirir este item!");//Verifica se tem o dinheiro necessбrio
                
RepairVehicle(GetPlayerVehicleID(playerid));
                
GivePlayerMoney(playerid, -200);
                
SendClientMessage(playerid, -1"{00FF00}Vocк reparou o veнculo!");
            }
            return 
1;
        }
        return 
1;
    }
    return 
0;

Tente!

Abraзos.
Reply
#3

Sу estou com um probleminha agora, todos os comandos do gm nгo estгo funcionado, apenas do FS em que esta esse comando, sabe me dizer por que?
Reply
#4

Os comandos do GM tambйm estгo em strcmp?
Tente tambйm alterar o "return 0;" do fim do FS.

Aguardo respostas...
Reply
#5

Nгo cara, eu usei dcmd, isso influencia em algo?
Reply
#6

Amigo Vocк Nгo Pode Usar Dois Processadores De Comandos ( dcmd, strcmp )!
Ou FaзaTudo Em "dcmd" Ou Tudo Em "strcmp";
Reply
#7

Quote:
Originally Posted by SkyneTSAMP
Посмотреть сообщение
Amigo Vocк Nгo Pode Usar Dois Processadores De Comandos ( dcmd, strcmp )!
Ou FaзaTudo Em "dcmd" Ou Tudo Em "strcmp";
Strcmp nгo й um processador de comandos, e sim um comparador de strings. Mas sobre utilizar os dois ao mesmo tempo, vocк estб correto.
Reply
#8

Pensei que isso nгo influenciava quando era em gm e fs, obrigado a por me ajudarem!!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)