[Ajuda] bug ao vender carro
#1

Pessoal estou com um bug ao vender um carro do sistema de conce do GM, quando vende ele a mensagem de venda nгo aparece mais, olhem nos prints:

Quando eu crio o carro, tudo bem, blz, apareceu a mensagem:


Carro comprado:


Agora irei vender o carro:


Carro vendido:


Agora ao entrar no carro de novo, em vez da mensagem aparecer novamente, ela nгo aparece, e o player pode dirigir o carro livremente, como se fosse um carro qualquer:


Lembrando que isso nгo й normal, pois se eu usar o sistema como FS tudo sai perfeitamente, mas nгo tem como usar como FS, pois o dinheiro nгo muda quando se compra ou quando se vende um carro.

Por favor me ajudem ja tentei fazer de tudo para tirar esse bug, mas nгo adianta, nгo consigo saber o que possivelmente do GM pode estar causando este bug, pois ja implementei e reimplementei a FS desse sistema de conce dnv nele e notei que nгo houve nenhum erro na implementaзгo, e sim alguma coisa no GM estб causando este bug. Me ajudem por favor

Caso precisem pra me ajudar, aqui estб o cуdigo da mensagem de venda:

Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
	new string[128];
	new vehicle = GetPlayerVehicleID(playerid);
	new newcar = GetPlayerVehicleID(playerid);
	if(newstate == PLAYER_STATE_DRIVER)
	{
		if(IsAnOwnableCar(newcar))
		{
		    if(CarInfo[newcar][cOwned]==0)
		    {
		        TogglePlayerControllable(playerid, 0);
		        format(string,sizeof(string),"%s Preзo: %d /v comprar para comprar este veнculo",CarInfo[newcar][cDescription],CarInfo[newcar][cValue]);
		        SendClientMessage(playerid, COLOR_BLUE, string);
		        SendClientMessage(playerid, COLOR_BLUE, "Ou pressione enter para sair do veнculo");
		    }
		    if(CarInfo[newcar][cOwned]==1)
		    {
		        format(string,sizeof(string),"Veнculo Registrado em nome de %s",CarInfo[newcar][cOwner]);
				SendClientMessage(playerid, COLOR_BLUE, string);
				if(PlayerInfo[playerid][pCarKey] == vehicle) { }
				else if(PlayerInfo[playerid][pCarKey2] == vehicle) { }
				else if(PlayerInfo[playerid][pCarKey3] == vehicle) { }
				else
				{
					if(IsPlayerAdmin(playerid))
					{
					    SendClientMessage(playerid, COLOR_GREY, "  Vocк pode dirigir este carro pois vocк й um admin");
					}
                    else
				    {
				    	RemovePlayerFromVehicle(playerid);
				    	SendClientMessage(playerid, COLOR_GREY, "Vocк nгo possui as chaves deste veнculo!");
					}
				}
		    }
		}
	}
	return 1;
}
Reply
#2

posta o comando de vender o veiculo ae..
Reply
#3

Deve estar tendo conflitos entre as vars
Reply
#4

Quote:
Originally Posted by P1c4550
Посмотреть сообщение
posta o comando de vender o veiculo ae..
Ta aqui:
Код:
if(strcmp(x_nr,"vender",true) == 0)
	        {
	            if(IsAtDealership(playerid))
	            {
	                if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey3])
	                {
	                    GetPlayerName(playerid, sendername, sizeof(sendername));
	                    new ownvehkey;
	                    if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey]) { ownvehkey = PlayerInfo[playerid][pCarKey]; }
	                    else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey2]) { ownvehkey = PlayerInfo[playerid][pCarKey2]; }
	                    else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey3]) { ownvehkey = PlayerInfo[playerid][pCarKey3]; }
	                    else { return 1; }
	                    if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
	                    {
	                        new carsellprice = CarInfo[ownvehkey][cValue] / 4 * 3;
	                        new Float:x,Float:y,Float:z;
	                        new Float:a;
	                        CarInfo[ownvehkey][cOwned] = 0;
	                        strmid(CarInfo[ownvehkey][cOwner], "Dealership", 0, strlen("Dealership"), 999);
	                        GivePlayerMoney(playerid,carsellprice);
	                        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
	                        format(string, sizeof(string), "~w~Voce vendeu seu carro por: ~n~~g~$%d", carsellprice);
	                        GameTextForPlayer(playerid, string, 10000, 3);
	                        GetVehiclePos(ownvehkey, x, y, z);
	                        GetVehicleZAngle(ownvehkey, a);
	                        CarInfo[ownvehkey][cLocationx] = x; CarInfo[ownvehkey][cLocationy] = y; CarInfo[ownvehkey][cLocationz] = z; CarInfo[ownvehkey][cAngle] = a;
	                        CarInfo[ownvehkey][mod1] = 0; CarInfo[ownvehkey][mod2] = 0; CarInfo[ownvehkey][mod3] = 0; CarInfo[ownvehkey][mod4] = 0;
	                        CarInfo[ownvehkey][mod5] = 0; CarInfo[ownvehkey][mod6] = 0; CarInfo[ownvehkey][mod7] = 0; CarInfo[ownvehkey][mod8] = 0;
	                        CarInfo[ownvehkey][mod9] = 0; CarInfo[ownvehkey][mod10] = 0; CarInfo[ownvehkey][mod11] = 0; CarInfo[ownvehkey][mod12] = 0;
							CarInfo[ownvehkey][mod13] = 0; CarInfo[ownvehkey][mod14] = 0; CarInfo[ownvehkey][mod15] = 0; CarInfo[ownvehkey][mod16] = 0;
	                        CarInfo[ownvehkey][mod17] = 0; CarInfo[ownvehkey][paintjob] = -1;
	                        if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey]) { PlayerInfo[playerid][pCarKey] = -1; }
	                        else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey2]) { PlayerInfo[playerid][pCarKey2] = -1; }
	                        else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey3]) { PlayerInfo[playerid][pCarKey3] = -1; }
	                        RemovePlayerFromVehicle(playerid);
	                        TogglePlayerControllable(playerid, 1);
	                        format(CarInfo[vehid][cLicense], 32 ,"ForSale");
	                        SetVehicleNumberPlate(vehid,CarInfo[vehid][cLicense]);
	                        OnPropUpdate(); SavePlayerData(playerid);
	                        DestroyVehicle(ownvehkey);
							new thiscar = CreateVehicle(CarInfo[ownvehkey][cModel],CarInfo[ownvehkey][cLocationx],CarInfo[ownvehkey][cLocationy],CarInfo[ownvehkey][cLocationz]+1.0,CarInfo[ownvehkey][cAngle],CarInfo[ownvehkey][cColorOne],CarInfo[ownvehkey][cColorTwo],60000);
							LoadComponents(thiscar);
	                        return 1;
	                    }
	                }
	                else
	                {
	                    SendClientMessage(playerid, COLOR_GREY, "  Vocк precisa estar em seu carro! ");
	                    return 1;
	                }
	            }
	            else
	            {
	                SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб na marca de vendas!");
	                return 1;
	            }
	        }
Reply
#5

Quote:
Originally Posted by Jarbas
Посмотреть сообщение
Deve estar tendo conflitos entre as vars
Entгo pode alguma outra coisa no GM ter a mesma variбvel que o do sistema de conce? Se for na callback OnPlayerCommandText vai ser bem difнcil encontrar, pq ela й bem grande...
Reply
#6

Resumindo,voce deve setar a variavel que mete o caror б venda,por exemplo,a variavel й "VENDA",vc no cmd de vender veiculo tem que meter a variavle dos seus carros,VENDA = 1
Reply
#7

Й essa daqui:
CarInfo[ownvehkey][cOwned] = 0;
strmid(CarInfo[ownvehkey][cOwner], "Dealership", 0, strlen("Dealership"), 999);

nгo tem nada de errado nas variбveis, como eu disse no comeзo do post, se eu usar o sistema como FS irб funcionar perfeitamente, mas nгo tem como usar como FS pq o dinheiro nгo muda quando se compra ou quando se vende um carro
Reply
#8

Descobri uma coisa que causa esse erro.
Quando se cria o carro, ele nгo й salvo direito num documento localizado na pasta scriptfiles que se chama masini.cfg
Esse documento armazena as coordenadas do carro, o preзo, e indica se ele estб a venda ou nгo, entгo quando se cria um carro em vez do tamanho dele ficar em 42kb como na FS, ele fica em 22kb, ou seja, nгo estб gravando direito as coordenadas do carro criado, mas tambйm tentei descobrir o que estб causando isso e nгo consegui, alguйm pode me ajudar?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)