[Ajuda] Veiculo muda seu modelo ao estacionar
#1

Oi gente eu tф aqui para vos perguntar uma coisa, й o seguinte eu finalmente consegui resolver o problema dos veнculos desaparecerem quando usava o comando /veiculo estacionar. Mas agora acontece outra coisa que eu achoa tй engraзada, quando estaciono o veiculo ele vem com um modelo difrente '-'. alguem sabe do que isso pode ser?
(A unica maneira de ele n vir cm 1 modelo difrente й estaciona-lo, usar o /veiculo modelo, estacionar de novo e ai ele vem sempre com o msm modelo)

Obrigado a quem puder ajudar =)
Reply
#2

Poste o comando /veiculo.
Reply
#3

Код:
if(strcmp(cmd,"/veiculo",true)==0 || strcmp(cmd,"/v",true)==0)
	{
	    new vehid = GetPlayerVehicleID(playerid);
		//new playername[MAX_PLAYER_NAME];
		GetPlayerName(playerid,playername,sizeof(playername));
	    tmp = strtok(cmdtext, idx);
	    if(!strlen(tmp))
	    {
	        SendClientMessage(playerid,COLOR_WHITE,"(( USE: /veiculo ajuda para ver os comandos dos Veiculos: ))");
	        //SendClientMessage(playerid,COLOR_WHITE,"(( [FS]CarOwnership by Ipuvaepe ))");
	        return 1;
	    }
		if(strcmp(tmp, "ajuda", true) == 0)
		{
	    	if(IsPlayerConnected(playerid))
	    	{
	        	if(PlayerInfo[playerid][pCarKey]!=0)
	        	{
					SendClientMessage(playerid, COLOR_GRAD2,"** (/v)eiculo comprar - para comprar o Veiculo");
					SendClientMessage(playerid, COLOR_GRAD2,"** (/v)eiculo vender - para vender o Veiculo");
					SendClientMessage(playerid, COLOR_GRAD2,"** (/v)eiculo ajuda - para ver os comandos dos Veiculo");
					//SendClientMessage(playerid, COLOR_GRAD2,"** (/v)eiculo localizar - Para localizar o Veiculo");
					SendClientMessage(playerid, COLOR_GRAD2,"** (/v)eiculo trancar - para trancar o Veiculo");
					//SendClientMessage(playerid, COLOR_GRAD2,"** (/v)eiculo abrir - para abrir o Veiculo");
					SendClientMessage(playerid, COLOR_GRAD2,"** (/v)eiculo cor - para mudar a cor do Veiculo");
					SendClientMessage(playerid, COLOR_GRAD2,"** (/v)eiculo estacionar - para estacionar o Veiculo");
					SendClientMessage(playerid, COLOR_GRAD2,"** (/v)eiculo modelo - para mudar o modelo do Veiculo");
					SendClientMessage(playerid, COLOR_GRAD2,"** vocк tem que estar no seu carro para mudar a cor, modelo e para estacionar.");
					return 1;
				}
				else
				{
				    SendClientMessage(playerid,COLOR_GRAD2,"** Vocк nгo tem um Veiculo! **");
				    return 1;
				}
			}
			return 1;
		}
		if(strcmp(tmp, "comprar", true) == 0)
		{
		    if(IsPlayerConnected(playerid))
		    {
            if(PlayerInfo[playerid][pVIP] < 3)
			{
			SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й VIP");
			return 1;
   			}
		        for(new i = 0; i < sizeof(CarInfo); i++)
		        {
					if(CarInfo[i][cID] == vehid)
					{
						if(PlayerInfo[playerid][pCarKey]!=0)
						{
							SendClientMessage(playerid, COLOR_GREY, "vocк ja tem um Veiculo (/veiculo vender)");
							return 1;
						}
						if(CarInfo[i][cOwned]==1)
						{
						    SendClientMessage(playerid, COLOR_GREY, "Este Veiculo ja tem dono");
						    return 1;
						}
						if(GetPlayerMoney(playerid) >= CarInfo[i][cValue])
						{
							PlayerInfo[playerid][pCarKey] = vehid;
							PlayerInfo[playerid][pVeiculo] = i;
							CarInfo[i][cOwned] = 1;
							CarOffered[playerid]=0;
							GetPlayerName(playerid, sendername, sizeof(sendername));
							strmid(CarInfo[i][cOwner], sendername, 0, strlen(sendername), 999);
							GivePlayerMoney(playerid,-CarInfo[i][cValue]);
							GameTextForPlayer(playerid, "~w~Parabens~n~Voce comprou esse Veiculo!", 5000, 3);
							SendClientMessage(playerid, COLOR_GRAD2, "parabens pela a sua compra!!");
							SendClientMessage(playerid, COLOR_GRAD2, "USE: /Veiculo ajuda para ver os comandos");
							TogglePlayerControllable(playerid, 1);
							SaveCars();
							return 1;
						}
						else
						{
							SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo tem dinheiro para isso!");
							return 1;
						}
					}
				}
			}
			return 1;
		}
		if(strcmp(tmp, "vender", true) == 0)
		{
		    if(IsPlayerConnected(playerid))
			{
				GetPlayerName(playerid, playername, sizeof(playername));
				if(PlayerInfo[playerid][pCarKey] == 0)
				{
					SendClientMessage(playerid, COLOR_GREY, "Vocк nгo tem um Veiculo.");
					return 1;
				}
				if(PlayerInfo[playerid][pCarKey] != 0 && strcmp(playername, CarInfo[PlayerInfo[playerid][pVeiculo]][cOwner], true) == 0)
				{
					new car = PlayerInfo[playerid][pVeiculo];
					CarInfo[car][cOwned] = 0;
					GetPlayerName(playerid, sendername, sizeof(sendername));
					strmid(CarInfo[car][cOwner], "Dealership", 0, strlen("Dealership"), 999);
					GivePlayerMoney(playerid,CarInfo[car][cValue]);
					PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
					format(string, sizeof(string), "~w~Voce vendeu seu Veiculo por: ~n~~g~$%d", CarInfo[car][cValue]);
					GameTextForPlayer(playerid, string, 10000, 3);
					RemovePlayerFromVehicle(playerid);
					TogglePlayerControllable(playerid, 1);
					PlayerInfo[playerid][pCarKey] = 0;
					PlayerInfo[playerid][pVeiculo] = 0;
					SaveCars();
					return 1;
				}
			}
			return 1;
		}
		if(strcmp(tmp, "trancar", true) == 0)
	    {
            if(PlayerInfo[playerid][pCarKey] == 0)
				{
					SendClientMessage(playerid, COLOR_GREY, "Vocк nгo tem um Veiculo.");
					return 1;
				}

			new keycar = PlayerInfo[playerid][pVeiculo];
	    	if(IsPlayerConnected(playerid))
	        {
	            if(CarInfo[keycar][cLock] == 1)
				{
				for(new i = 0; i < MAX_PLAYERS; i++)
				{
					SetVehicleParamsForPlayer(CarInfo[keycar][ownedvehicle],i,0,0);
				}
				format(string, sizeof(string), "~w~Veiculo~n~~g~Aberto");
				GameTextForPlayer(playerid, string, 10000, 3);
				CarInfo[keycar][cLock] = 0;
				return 1;
				}
				else
				{
				for(new i = 0; i < MAX_PLAYERS; i++)
				{
					SetVehicleParamsForPlayer(CarInfo[keycar][ownedvehicle],i,0,1);
				}
				format(string, sizeof(string), "~w~Veiculo~n~~r~Trancado");
				GameTextForPlayer(playerid, string, 10000, 3);
				CarInfo[keycar][cLock] = 1;
				return 1;
				}

			}
			return 1;
		}
		if(strcmp(tmp, "estacionar", true) == 0)
		{
		    	new Float:x,Float:y,Float:z;
				new Float:a;
				new carid;
				new getcarid;
				new Veiculo = PlayerInfo[playerid][pVeiculo];
    			if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey]) { carid = PlayerInfo[playerid][pCarKey]; }
				if(IsPlayerInVehicle(playerid,carid) && CarInfo[Veiculo][cOwned] == 1)
				{
				    getcarid = GetPlayerVehicleID(playerid);
					GetPlayerName(playerid, playername, sizeof(playername));
					GetVehiclePos(carid, x, y, z);
					GetVehicleZAngle(carid, a);
    				if(PlayerInfo[playerid][pCarKey] == 0)
					{
					SendClientMessage(playerid, COLOR_GREY, "Vocк nгo tem um Veiculo!");
					return 1;
					}
			    	/*for(new h = 0; h < sizeof(HouseInfo); h++)
	   				{
						if(PlayerToPoint(25.0, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
						{*/
/*						    if(PlayerInfo[playerid][pPHousekey] == h)
						    {*/
                				if(getcarid == carid)
								{
									CarInfo[Veiculo][cLocationx] = x;
									CarInfo[Veiculo][cLocationy] = y;
									CarInfo[Veiculo][cLocationz] = z;
									CarInfo[Veiculo][cAngle] = a;
									format(string, sizeof(string), "~n~ Voce estacionou seu Veiculo aqui. ~n~");
									GameTextForPlayer(playerid, "Agora seu Veiculo ira dar respawn aqui, ou seja nascer aqui.", 10000, 3);
									DestroyVehicle(carid);
									AddStaticVehicleEx(CarInfo[Veiculo][cModel],CarInfo[Veiculo][cLocationx],CarInfo[Veiculo][cLocationy],CarInfo[Veiculo][cLocationz]+1.0,CarInfo[Veiculo][cAngle],CarInfo[Veiculo][cColorOne],CarInfo[Veiculo][cColorTwo],60000);
									TogglePlayerControllable(playerid, 1);
									SaveCars();
									return 1;
   								}
   								return 1;
   							/*}
   							else
   							{
   								SendClientMessage(playerid, COLOR_GREY, "Vocк so pode estacionar o veiculo perto de uma casa e a casa tem q ser sua!");
   								return 1;
   							}
   						}
   						else
   						{
   							SendClientMessage(playerid, COLOR_GREY, "Vocк so pode estacionar o veiculo perto de uma casa!");
   							return 1;
   						}*/
   					/*}
					return 1;*/
				}

			return 1;
		}
	if(strcmp(tmp, "modelo", true) == 0)
	{

			new modelo;
			new carid;
			new getcarid;
			new Veiculo = PlayerInfo[playerid][pVeiculo];
			if(PlayerInfo[playerid][pCarKey] == 0)
			{
			SendClientMessage(playerid, COLOR_GREY, "Vocк nгo tem um Veiculo!");
			return 1;
			}
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
			SendClientMessage(playerid, COLOR_GRAD2, "USE: /veiculo modelo [modelo]");
			return 1;
			}
			modelo = strval(tmp);
			if(modelo < 400 || modelo > 611) { SendClientMessage(playerid, COLOR_GREY, "   Numero do modelo nao pode ser inferior a 400 ou acima de 611!"); return 1; }
			if(modelo == 592 || modelo == 577 || modelo == 553 || modelo == 520 || modelo == 525 || modelo == 547 || modelo == 435
			|| modelo == 441 || modelo == 449 || modelo == 450 || modelo == 460 || modelo == 464 || modelo == 465 || modelo == 501
			|| modelo == 537 || modelo == 538 || modelo == 564 || modelo == 569 || modelo == 570 || modelo == 584 || modelo == 590
			|| modelo == 591 || modelo == 594 || modelo == 606 || modelo == 607 || modelo == 608 || modelo == 610 || modelo == 611
			|| modelo == 596 || modelo == 599 || modelo == 597 || modelo ==  598 || modelo == 427 || modelo == 528 || modelo == 544
			|| modelo == 407 || modelo == 455 || modelo == 502 || modelo == 503 || modelo == 494 || modelo == 582 || modelo == 470
			|| modelo == 495 || modelo == 601 || modelo == 548 || modelo == 417 || modelo == 497 || modelo == 563 || modelo == 447
			|| modelo == 469 || modelo ==  488 || modelo == 557 || modelo == 556 || modelo == 444 || modelo == 573 || modelo == 406
			|| modelo == 590 || modelo == 569 || modelo == 537 || modelo == 538 || modelo == 570 || modelo == 449 || modelo == 472
			|| modelo == 473 || modelo == 493 || modelo == 595 || modelo == 484 || modelo == 430 || modelo == 453 || modelo == 452
			|| modelo == 446 || modelo == 454 || modelo == 432 || modelo == 425)
			{
			SendClientMessage(playerid, COLOR_GRAD2, "Modelo proibido");
			return 1;
			}
			if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey]) { carid = PlayerInfo[playerid][pCarKey]; }
           	if(IsPlayerInVehicle(playerid,carid) && CarInfo[Veiculo][cOwned] == 1)
			{
                getcarid = GetPlayerVehicleID(playerid);
                if(getcarid == carid)
                {
                CarInfo[Veiculo][cModel] = modelo;
				GameTextForPlayer(playerid, "Voce mudou o Modelo do seu veiculo.", 10000, 3);
				DestroyVehicle(carid);
				CreateVehicle(CarInfo[Veiculo][cModel],CarInfo[Veiculo][cLocationx],CarInfo[Veiculo][cLocationy],CarInfo[Veiculo][cLocationz]+1.0,CarInfo[Veiculo][cAngle],CarInfo[Veiculo][cColorOne],CarInfo[Veiculo][cColorTwo],60000);
				TogglePlayerControllable(playerid, 1);
				SaveCars();
				return 1;
				}
				return 1;
			}
		return 1;
	}
		if(strcmp(tmp, "cor", true) == 0)
	    {
			if(PlayerInfo[playerid][pCarKey] == 0)
			{
			SendClientMessage(playerid, COLOR_GREY, "Vocк nгo tem um Veiculo!");
			return 1;
			}
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
			SendClientMessage(playerid, COLOR_GRAD2, "USE: /veiculo cor [cor 1] [cor 2]");
			return 1;
			}
			new carid;
			new getcarid;
			new Veiculo = PlayerInfo[playerid][pVeiculo];
			new cor1;
			cor1 = strval(tmp);
			if(cor1 < 0 || cor1 > 126) { SendClientMessage(playerid, COLOR_GREY, "   Numero de cores nao pode ser inferior a 0 ou acima de 126 !"); return 1; }
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: /veiculo cor [cor 1] [cor 2]");
				return 1;
			}
			new cor2;
			cor2 = strval(tmp);
			if(cor2 < 0 || cor2 > 126) { SendClientMessage(playerid, COLOR_GREY, "   Numero de cores nao pode ser inferior a 0 ou acima de 126 !"); return 1; }
            if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey]) { carid = PlayerInfo[playerid][pCarKey]; }
           	if(IsPlayerInVehicle(playerid,carid) && CarInfo[Veiculo][cOwned] == 1)
			{
				getcarid = GetPlayerVehicleID(playerid);
			    if(getcarid == carid)
                {
                CarInfo[Veiculo][cColorOne] = cor1;
				CarInfo[Veiculo][cColorTwo] = cor2;
                GameTextForPlayer(playerid, "Voce mudou a cor do seu veiculo.", 10000, 3);
                ChangeVehicleColor(carid,cor1,cor2);
                TogglePlayerControllable(playerid, 1);
                SaveCars();
                return 1;
                }
				return 1;
			}
			return 1;
 	 }
 	 return 0;
 }
Reply
#4

Parece-me que o codigo estб correto, o que pode estar causando este bug й o salvamento de tais informaзхes.
Reply
#5

E como altero isso? =S
Reply
#6

Vocк tem que rever o seu sistema de salvamento e tentar achar o bug ... Senгo posta ele aqui.
Reply
#7

OMG pessoal...eu sei k este nao e o post apropriado ne...mas tipo..aonde posso aprender a fazer commands com strcmp??eu so fasso com zcmd e dcmd
Reply
#8

Isto deve resolver o seu problema .


Basta colocar isto:


pawn Код:
CarInfo[Veiculo][cModel] = GetVehicleModel(GetPlayerVehicleID(playerid));


Abaixo desta linha :


pawn Код:
CarInfo[Veiculo][cAngle] = a;



Quote:
Originally Posted by kikito
Посмотреть сообщение
OMG pessoal...eu sei k este nao e o post apropriado ne...mas tipo..aonde posso aprender a fazer commands com strcmp??eu so fasso com zcmd e dcmd
Este Tutorial explica como fazer isso :



https://sampforum.blast.hk/showthread.php?tid=265696



Espero ter ajudado .
Reply
#9

^^muito obrigado pelo link
Reply
#10

Quote:
Originally Posted by rjjj
Посмотреть сообщение
Isto deve resolver o seu problema .


Basta colocar isto:


pawn Код:
CarInfo[Veiculo][cModel] = GetVehicleModel(GetPlayerVehicleID(playerid));


Abaixo desta linha :


pawn Код:
CarInfo[Veiculo][cAngle] = a;






Este Tutorial explica como fazer isso :



https://sampforum.blast.hk/showthread.php?tid=265696



Espero ter ajudado .
Muito obrigado funcionou =D
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)