[Ajuda] Grana do carro
#1

bom como nгo achei nada referente a isso com o SampForever resolvi pedir ajuda,bem na verdade sгo 2 duvidas,

1є quando uma pessoa entra o carro vip o samp execulta esse comando:
Код:
format(string,sizeof(string),"Este carro pertence а: %s",CarInfo[i][cOwner]);
					    SendClientMessage(playerid, COLOR_GREEN, string);
					    format(string,sizeof(string),"Vocк pagou R$%d para andar no veiculo de %s",granacarro,CarInfo[i][cOwner]);
					    SendClientMessage(playerid, 0x00F6F6AA, string);
					    CarInfo[i][cGrana] += granacarro;
					    GivePlayerMoneyEx(playerid, -granacarro);
reparem no:
[code]CarInfo[i][cGrana] += granacarro;[/code
esse code faz a grana ir para como se fosse o "cofre" do carro,mais eu queria fazer com que o dono do carro pudece retirar essa grana,acho que o comando deveria ser [code]GivePlayerMoney(playerid,+granacarro);[/code nй? mais e no comeзo,naquele if como eu faзo pra que sу o dono do carro pudece pegar essa grana,como eu deveria por?

dica nгo se se ajuda mais quando o dono entra no carro o code й assim:
Код:
CarInfo[i][cOwned]==1
la no if :]

2є Duv
eu puis um comando para que sу vip pudece execulta-lo,mais quando um player nгo vip execulta ele fala que tem q ser vip mais quando um vip execulta fala que o comando nгo existe:
Код:
if(strcmp(cmd, "/compravip", true) == 0)
	{
	    if(Is247(playerid) || PlayerInfo[playerid][pVIP] < 2)
		{
	        GetPlayerName(playerid, sendername, sizeof(sendername));
	        if(IsPlayerConnected(playerid))//Delegado
	        {
      			new x_mi[256];
				x_mi = strtok(cmdtext, idx);
				if(!strlen(x_mi)) {
					SendClientMessage(playerid, COLOR_WHITE, "|__________________ ESCOLHA SEU OBJETO __________________|");
					SendClientMessage(playerid, COLOR_WHITE, "Use: /compravip [troзo ]");
					SendClientMessage(playerid, COLOR_GREY, "Numeros: 1 - Barril do Chaves (500$) ");
					SendClientMessage(playerid, COLOR_GREY, "Numeros: 2 - Cabelo Moicano (500$) ");
					SendClientMessage(playerid, COLOR_GREY, "Numeros: 3 - Mascara de galinha (500$) ");
					SendClientMessage(playerid, COLOR_GREY, "Numeros: 4 - Laser (1000$) ");
					SendClientMessage(playerid, COLOR_GREY, "Numeros: 5 - Arara Azul (1000$)  ");
					SendClientMessage(playerid, COLOR_GREY, "Numeros: 6 - Colete (1000$) ");
					SendClientMessage(playerid, COLOR_GREY, "Numeros: 7 - Taser (20000$)  ");
					SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
					return 1; }
                if(strcmp(x_mi,"1",true) == 0)
				{
				    if(IsPlayerConnected(playerid))//Delegado
	        		{
						if (PlayerInfo[playerid][pVIP] < 2)
						{
							SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 500$!");
							return 1;
							}
			   	 			format(string, sizeof(string), "*%s Comprou barril do chaves", sendername);
							ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
							SetPlayerAttachedObject( playerid, 0, 742, 7, -0.129683, -0.024730, -0.006173, 17.348981, 85.127403, 328.808593, 0.930316, 1.000000, 0.884005 ); // pot_03 - chaves chaves chave u.u
							//SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
			   	 			return 1;

					}
				}
				if(strcmp(x_mi,"2",true) == 0)
				{
				    if(IsPlayerConnected(playerid))//Delegado
	        		{
						if (PlayerInfo[playerid][pVIP] < 2)
						{
							SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 500$!");
							return 1;
							}
			   	 			format(string, sizeof(string), "*%s Cortou cabelo moicano", sendername);
							ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
							SetPlayerAttachedObject( playerid, 0, 860, 2, -0.129683, -0.013164, -0.006173, 17.348981, 85.127403, 328.808593, 0.930316, 1.000000, 0.884005 ); // sand_plant01 - moicano
							//SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
			   	 			return 1;

					}
				}
				if(strcmp(x_mi,"3",true) == 0)
				{
				    if(IsPlayerConnected(playerid))//Delegado
	        		{
						if (PlayerInfo[playerid][pVIP] < 2)
						{
							SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 500$!");
							return 1;
							}
			   	 			format(string, sizeof(string), "*%s Cortou cabelo moicano", sendername);
							ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
							SetPlayerAttachedObject( playerid, 0, 19137, 2, 0.092097, 0.023091, 0.003794, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 ); // CluckinBellHat1 - LBÇA GALINHA
							//SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
			   	 			return 1;

					}
				}
				if(strcmp(x_mi,"4",true) == 0)
				{
				    if(IsPlayerConnected(playerid))//Delegado
	        		{
						if (PlayerInfo[playerid][pVIP] < 2)
						{
							SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 1000$!");
							return 1;
							}
			   	 			format(string, sizeof(string), "*%s Comprou um laser", sendername);
							ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
							SetPlayerAttachedObject( playerid, 0, 19083, 6, 0.153105, 0.023091, 0.003794, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 ); // LaserPointer5 - laser na mao
							//SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
			   	 			return 1;

					}
				}
    			if(strcmp(x_mi,"5",true) == 0)
				{
				    if(IsPlayerConnected(playerid))//Delegado
	        		{
						if (PlayerInfo[playerid][pVIP] < 2)
						{
							SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 1000$!");
							return 1;
							}
			   	 			format(string, sizeof(string), "*%s Comprou uma arara de estimaзгo", sendername);
							ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
							SetPlayerAttachedObject( playerid, 0, 19079, 1, 0.349078, -0.048980, 0.085444, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
							//SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
			   	 			return 1;

					}
				}
				if(strcmp(x_mi,"6",true) == 0)
				{
				    if(IsPlayerConnected(playerid))//Delegado
	        		{
						if (PlayerInfo[playerid][pVIP] < 2)
						{
							SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 10000$!");
							return 1;
							}
			   	 			format(string, sizeof(string), "*%s Comprou um colete", sendername);
							ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
							SetPlayerAttachedObject( playerid, 0, 19142, 1, 0.100563, 0.056516, 0.003794, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
							//SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
			   	 			return 1;

					}
				}
				if(strcmp(x_mi,"7",true) == 0)
				{
				    if(IsPlayerConnected(playerid))//Delegado
	        		{
						if (PlayerInfo[playerid][pVIP] < 2)
						{
							SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ser vip$!");
							return 1;
							}
			   	 			format(string, sizeof(string), "*%s Comprou uma blindagem para o carro", sendername);
							ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
							SendClientMessage(playerid,TEAM_GROVE_COLOR,"use /blindarcarro para blindar o carro");
							//SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
			   	 			return 1;

					}
				}
			}
			else
			{
			    SendClientMessage(playerid, COLOR_LIGHTRED, "Vocк nгo estб logado ou nгo existe o numero");
			}
		}
		else
		{
		    SendClientMessage(playerid, COLOR_LIGHTRED, "Vocк nгo estб na 24-7");
		}
	}
dica,a msg de precisa de tantos reais eu tenho que trocar por "Vocк nгo й vip" mais considere como vc nгo й vip ok?

3є e ultima Duv
Como eu faзo para que tipo,o player fica com um objeto na mгo (ja tenho as coordenadas do objeto) e quadno esse player pega esse objeto,o ataque dele tira 10 a cada vez em que ele ataka? eu vi isso em algum otro fs n sei aonde fiquei procurando que nem um loko mais eu n achei,ai eu queria que o player tirace 10 de life a cada atake que ele fizece :P
Reply
#2

Jб tem isso no GM, procure pela variavel no gm dк CTRL + F e procure por granacarro

pawn Код:
if(strcmp(cmd, "/compravip", true) == 0)
    {
            if(!PlayerInfo[playerid][pVIP] < 2) return SendClientMessage(playerid, COLOR_WHITE, "[ERRO] Nгo йs VIP!");
            GetPlayerName(playerid, sendername, sizeof(sendername));
            if(IsPlayerConnected(playerid))//Delegado
            {
                new x_mi[256];
                x_mi = strtok(cmdtext, idx);
                if(!strlen(x_mi))
                {
                    SendClientMessage(playerid, COLOR_WHITE, "|__________________ ESCOLHA SEU OBJETO __________________|");
                    SendClientMessage(playerid, COLOR_WHITE, "Use: /compravip [troзo ]");
                    SendClientMessage(playerid, COLOR_GREY, "Numeros: 1 - Barril do Chaves (500$) ");
                    SendClientMessage(playerid, COLOR_GREY, "Numeros: 2 - Cabelo Moicano (500$) ");
                    SendClientMessage(playerid, COLOR_GREY, "Numeros: 3 - Mascara de galinha (500$) ");
                    SendClientMessage(playerid, COLOR_GREY, "Numeros: 4 - Laser (1000$) ");
                    SendClientMessage(playerid, COLOR_GREY, "Numeros: 5 - Arara Azul (1000$)  ");
                    SendClientMessage(playerid, COLOR_GREY, "Numeros: 6 - Colete (1000$) ");
                    SendClientMessage(playerid, COLOR_GREY, "Numeros: 7 - Taser (20000$)  ");
                    SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
                    return 1;
                    }
                }
                if(strcmp(x_mi,"1",true) == 0)
                {
                    if(IsPlayerConnected(playerid))//Delegado
                    {
                        if (PlayerInfo[playerid][pVIP] < 2)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 500$!");
                            return 1;
                            }
                            format(string, sizeof(string), "*%s Comprou barril do chaves", sendername);
                            ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            SetPlayerAttachedObject( playerid, 0, 742, 7, -0.129683, -0.024730, -0.006173, 17.348981, 85.127403, 328.808593, 0.930316, 1.000000, 0.884005 ); // pot_03 - chaves chaves chave u.u
                            //SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
                            return 1;

                    }
                }
                if(strcmp(x_mi,"2",true) == 0)
                {
                    if(IsPlayerConnected(playerid))//Delegado
                    {
                        if (PlayerInfo[playerid][pVIP] < 2)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 500$!");
                            return 1;
                            }
                            format(string, sizeof(string), "*%s Cortou cabelo moicano", sendername);
                            ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            SetPlayerAttachedObject( playerid, 0, 860, 2, -0.129683, -0.013164, -0.006173, 17.348981, 85.127403, 328.808593, 0.930316, 1.000000, 0.884005 ); // sand_plant01 - moicano
                            //SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
                            return 1;

                    }
                }
                if(strcmp(x_mi,"3",true) == 0)
                {
                    if(IsPlayerConnected(playerid))//Delegado
                    {
                        if (PlayerInfo[playerid][pVIP] < 2)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 500$!");
                            return 1;
                            }
                            format(string, sizeof(string), "*%s Cortou cabelo moicano", sendername);
                            ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            SetPlayerAttachedObject( playerid, 0, 19137, 2, 0.092097, 0.023091, 0.003794, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 ); // CluckinBellHat1 - LBГ‡A GALINHA
                            //SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
                            return 1;

                    }
                }
                if(strcmp(x_mi,"4",true) == 0)
                {
                    if(IsPlayerConnected(playerid))//Delegado
                    {
                        if (PlayerInfo[playerid][pVIP] < 2)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 1000$!");
                            return 1;
                            }
                            format(string, sizeof(string), "*%s Comprou um laser", sendername);
                            ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            SetPlayerAttachedObject( playerid, 0, 19083, 6, 0.153105, 0.023091, 0.003794, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 ); // LaserPointer5 - laser na mao
                            //SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
                            return 1;

                    }
                }
                if(strcmp(x_mi,"5",true) == 0)
                {
                    if(IsPlayerConnected(playerid))//Delegado
                    {
                        if (PlayerInfo[playerid][pVIP] < 2)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 1000$!");
                            return 1;
                            }
                            format(string, sizeof(string), "*%s Comprou uma arara de estimaзгo", sendername);
                            ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            SetPlayerAttachedObject( playerid, 0, 19079, 1, 0.349078, -0.048980, 0.085444, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
                            //SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
                            return 1;

                    }
                }
                if(strcmp(x_mi,"6",true) == 0)
                {
                    if(IsPlayerConnected(playerid))//Delegado
                    {
                        if (PlayerInfo[playerid][pVIP] < 2)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ter 10000$!");
                            return 1;
                            }
                            format(string, sizeof(string), "*%s Comprou um colete", sendername);
                            ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            SetPlayerAttachedObject( playerid, 0, 19142, 1, 0.100563, 0.056516, 0.003794, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
                            //SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
                            return 1;

                    }
                }
                if(strcmp(x_mi,"7",true) == 0)
                {
                    if(IsPlayerConnected(playerid))//Delegado
                    {
                        if (PlayerInfo[playerid][pVIP] < 2)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ser vip$!");
                            return 1;
                            }
                            format(string, sizeof(string), "*%s Comprou uma blindagem para o carro", sendername);
                            ProxDetector(100.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            SendClientMessage(playerid,TEAM_GROVE_COLOR,"use /blindarcarro para blindar o carro");
                            //SendClientMessage(playerid,COLOR_GREEN,"Voce pegou seu equipamento de COP em Treinamento!");
                            return 1;
                            }
                        }
                    return 1;
                }
Vocк pode fazer com que cada vez que ele aperte a tecla de ataque,execute a funзгo.
Reply
#3

Quote:

3є e ultima Duv
Como eu faзo para que tipo,o player fica com um objeto na mгo (ja tenho as coordenadas do objeto) e quadno esse player pega esse objeto,o ataque dele tira 10 a cada vez em que ele ataka? eu vi isso em algum otro fs n sei aonde fiquei procurando que nem um loko mais eu n achei,ai eu queria que o player tirace 10 de life a cada atake que ele fizece :P

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(IsPlayerAttachedObjectSlotUsed(playerid,SLOT) && newkeys == KEY_FIRE)
    {
        new Float:Vidaa;
        GetPlayerHealth(playerid,Vidaa);
        SetPlayerHealth(playerid,Vidaa -10);
    }
    return 1;
}
Vocк deve substituir "SLOT" pelo slot em que este objeto estб sendo utilizado.
Reply
#4

na verdade iria ser giveplayerid, pois a aзгo serб executada sobre o player prуximo.
Reply
#5

Sobre o player proximo? Eu quero que ela seja executada com quem estiver com um objeto naquele SLOT. Entгo й esse mesmo ...
Reply
#6

Usa a include OPSP(OnPlayerShootPlayer)
Cria-se uma variavel para ver quando ele tiver com o objeto "attached".
Ex:
pawn Код:
// Fixo o Objeto no Player e:
ObjetoAttached[playerid] = 1;
//AGORA Na public da Include:
public OnPlayerShootPlayer(shooter,target,healthlost,armourlost) // algo assim
{
if(ObjetoAttached[shooter] == 1)
{
new Float:Health;
GetPlayerHealth(target,Health);
SetPlayerHealth(target,(Health-10)); // Mude o 10 para o dano extra da arma...
}
// Target = Quem tomou o Tiro
// Shooter = Quem deu o Tiro
// Armour/HealthLost = Colete/Vida Perdida no Tiro
}
Nгo copiee! Faзa o seu!
Include: http://forum.sa-mp.com/showthread.ph...highlight=OPSP
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)