[Pomoc] Freeze Cars!


Započeo xXxPored, Oktobar 27, 2011, 22:19:44 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Moj Edit
Detaljan opis problema: Imam neki CarOwner e sad volio bih da napravim da auta koja stoje na izlogu tj koja su za prodaju budu uvijek freezana dakle ispadne dialog Zelite li kupiti vozilo
                                                                       DA                           NE

I kad stisnete da i ne vozate auto! A vi imate svoje posebno koje se spawna...e sad bi ja volio da to na izlogu ostane freezeano :)

Dio skripte:/
Neke slike/video za lakse dobivanje pomoci(neobavezno):/

Mozda sam malo zaspamo sa temam ovih 10 dana ima ih jedno 4 ali eto ucim se ovako puno sam naucio od vas ovdje...Eto ako neko zna da mi pomogne unaprijed HVALA!
big respect 4 Blaeks Vuzimir  Shoorty Scripter HamZa

dragan12

Pa koristis:
http://wiki.sa-mp.com/wiki/ShowPlayerDialog
I onda kada udje u ta kola stavis da mu izbacuje dialog .
I onda pod OnDialogResponse (http://wiki.sa-mp.com/wiki/OnDialogResponse) napravis za kupovinu ali napravis da kada kupi kreira novo vozilo tamo gde hoces(vidi u Ivex mislim da tamo kreira vozilo).  Ako nisi skontao reci uradicu neki primer

Ajd daj mi taj jedan primjer? Ako moze xD da vidim mozda skontam nesto I DA te napomenem da je ovo FS :)
Poslednja Izmena: Oktobar 27, 2011, 22:34:11 POSLE PODNE od DJeronimo
big respect 4 Blaeks Vuzimir  Shoorty Scripter HamZa

K4[Я]!K3

*

'Respect cannot be learned, it can only be earned.'

bolja opcija je ona sto ti je gagi predlozio!
ali ipak mozes i ovako..
stavis provjeru na OnPlayerStateChange
i freezas ga, a onda ako nece kupit da izlazi na neku komandu ili tipku iz tog vozila
TogglePlayerControllable(playerid, toggle);

Ovo je FS i gledaj sta ti ja goviim dakle ima taj dilaogi izade da ili ne i sve i kad kupis spwana se auto tvoje ali to sto je na izlgou mozes vozati a ja hocu da ono ostane freezano :) da samo mozes izaci iz njega :)
Poslednja Izmena: Oktobar 27, 2011, 23:31:46 POSLE PODNE od DJeronimo
big respect 4 Blaeks Vuzimir  Shoorty Scripter HamZa

dragan12

Citat: DJeronimo poslato Oktobar 27, 2011, 22:37:05 POSLE PODNE
Ovo je FS i gledaj sta ti ja goviim dakle ima taj dilaogi izade da ili ne i sve i kad kupis spwana se auto tvoje ali to sto je na izlgou mozes vozati a ja hocu da ono ostane freezano :) da samo mozes izaci iz njega :)
Pa napravi pod OnPlayerEnterVehicle da imas proveru da li je igrac u tom vozilu (tom id-u vozila) i onda ako jeste u tom vozilu koristis: http://wiki.sa-mp.com/wiki/Function:TogglePlayerControllable
E sada. Stavis ako izabere Ne na dialogu da ga izbaci iz vozila http://wiki.sa-mp.com/wiki/RemovePlayerFromVehicle.
Ne na dialogu ide ovako:
       if(!response) return RemovePlayerFromVehicle(playerid);

Ahham ima na Ne izbaci te ali mi jos na Da to fali
big respect 4 Blaeks Vuzimir  Shoorty Scripter HamZa

dragan12

Citat: DJeronimo poslato Oktobar 28, 2011, 11:36:42 PRE PODNE
Ahham ima na Ne izbaci te ali mi jos na Da to fali
Pa samo dodas tamo pod dialog kada kupi vozilo:
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1);


E evo ti pa mi ti napravi ako mozes?

if(dialogid == DIALOG_VEHICLE_SELL)
	{
		if(response)
		{
			if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
			{
				ShowErrorDialog(playerid, "Ne mozes kupiti vise vozila! Max: " #MAX_PLAYER_VEHICLES );
				return 1;
			}
			new targetid = GetPVarInt(playerid, "DialogValue1");
			new vehicleid = GetPVarInt(playerid, "DialogValue2");
			new price = GetPVarInt(playerid, "DialogValue3");
			if(GetPlayerMoney(playerid) < price)
			{
				ShowErrorDialog(playerid, "Nemas dovoljno novca da kupis ovo vozilo!");
				return 1;
			}
			new msg[128];
			VehicleOwner[vehicleid] = PlayerName(playerid);
			GivePlayerMoney(playerid, -price);
			GivePlayerMoney(targetid, price);
			SaveVehicle(vehicleid);
			format(msg, sizeof(msg), "YKupio si ovo vozilo za $%d", price);
			SendClientMessage(playerid, COLOR_WHITE, msg);
			format(msg, sizeof(msg), "%s (%d) je prihvatio vasu ponudu i kupio vozilo", PlayerName(playerid), playerid);
			SendClientMessage(targetid, COLOR_WHITE, msg);
		}
		else
		{
			new targetid = GetPVarInt(playerid, "DialogValue1");
			new msg[128];
			format(msg, sizeof(msg), "%s (%d) je odbio vasu ponudu!", PlayerName(playerid), playerid);
			SendClientMessage(targetid, COLOR_WHITE, msg);
 		}
		return 1;
	}
big respect 4 Blaeks Vuzimir  Shoorty Scripter HamZa

dragan12

if(dialogid == DIALOG_VEHICLE_SELL)
	{
		if(response)
		{
			if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
			{
				ShowErrorDialog(playerid, "Ne mozes kupiti vise vozila! Max: " #MAX_PLAYER_VEHICLES );
				return 1;
			}
			new targetid = GetPVarInt(playerid, "DialogValue1");
			new vehicleid = GetPVarInt(playerid, "DialogValue2");
			new price = GetPVarInt(playerid, "DialogValue3");
			if(GetPlayerMoney(playerid) < price)
			{
				ShowErrorDialog(playerid, "Nemas dovoljno novca da kupis ovo vozilo!");
				return 1;
			}
			new msg[128];
			VehicleOwner[vehicleid] = PlayerName(playerid);
			GivePlayerMoney(playerid, -price);
			GivePlayerMoney(targetid, price);
			SaveVehicle(vehicleid);
			format(msg, sizeof(msg), "YKupio si ovo vozilo za $%d", price);
			SendClientMessage(playerid, COLOR_WHITE, msg);
			format(msg, sizeof(msg), "%s (%d) je prihvatio vasu ponudu i kupio vozilo", PlayerName(playerid), playerid);
			SendClientMessage(targetid, COLOR_WHITE, msg);
			RemovePlayerFromVehicle(playerid);
			TogglePlayerControllable(playerid,1);
		}
		else
		{
			new targetid = GetPVarInt(playerid, "DialogValue1");
			new msg[128];
			format(msg, sizeof(msg), "%s (%d) je odbio vasu ponudu!", PlayerName(playerid), playerid);
			SendClientMessage(targetid, COLOR_WHITE, msg);
 		}
		return 1;
	}

Eto
Samo ovo je kada prodaje nekom igarcu vozilo?
Poslednja Izmena: Oktobar 28, 2011, 20:42:26 POSLE PODNE od [BD]Gagi

Da upravu si :S

if(dialogid == DIALOG_VEHICLE_BUY)
	{
		if(response)
		{
			if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
			{
				ShowErrorDialog(playerid, "Ne mozes kupiti vise vozila!! Max: " #MAX_PLAYER_VEHICLES );
				return 1;
			}
			new id = GetPVarInt(playerid, "DialogValue1");
			if(GetPlayerMoney(playerid) < VehicleValue[id])
			{
				ShowErrorDialog(playerid, "Nemas dovoljno novca da kupis ovo vozilo!");
				return 1;
			}
			new freeid;
			for(new i=1; i < MAX_DVEHICLES; i++)
			{
				if(!VehicleCreated[i])
				{
					freeid = i; break;
				}
			}
			if(!freeid)
			{
				ShowErrorDialog(playerid, "Nemamo vise tih modela!");
				return 1;
			}
			GivePlayerMoney(playerid, -VehicleValue[id]);
			new dealerid = strval(VehicleOwner[id]);
			VehicleCreated[freeid] = VEHICLE_PLAYER;
			VehicleModel[freeid] = VehicleModel[id];
			VehiclePos[freeid] = DealershipPos[dealerid];
			VehicleColor[freeid] = VehicleColor[id];
			VehicleInterior[freeid] = VehicleInterior[id];
			VehicleWorld[freeid] = VehicleWorld[id];
			VehicleValue[freeid] = VehicleValue[id];
			VehicleOwner[freeid] = PlayerName(playerid);
			VehicleNumberPlate[freeid] = DEFAULT_NUMBER_PLATE;
			for(new d=0; d < sizeof(VehicleTrunk[]); d++)
			{
				VehicleTrunk[freeid][d][0] = 0;
				VehicleTrunk[freeid][d][1] = 0;
			}
			for(new d=0; d < sizeof(VehicleMods[]); d++)
			{
				VehicleMods[freeid][d] = 0;
			}
			VehiclePaintjob[freeid] = 255;
			UpdateVehicle(freeid, 0);
			SaveVehicle(freeid);
			new msg[128];
			format(msg, sizeof(msg), "Kupio si ovo vozilo za $%d", VehicleValue[id]);
			SendClientMessage(playerid, COLOR_WHITE, msg);
                        [b]RemovePlayerFromVehicle(playerid);[/b]
                        [b]TogglePlayerControllable(playerid,1);[/b]
		}
		else
		{
			new vehicleid = GetPVarInt(playerid, "DialogValue1");
			if(GetPlayerVehicleAccess(playerid, vehicleid) != 3)
			{
				RemovePlayerFromVehicle(playerid);
			}
		}
		return 1;
	}


To je ovo odradio sma tako i sad ga izbacuje hvala na pomoci  :* (L) Moze LOCK!
Poslednja Izmena: Oktobar 28, 2011, 21:28:23 POSLE PODNE od DJeronimo
big respect 4 Blaeks Vuzimir  Shoorty Scripter HamZa

dragan12

if(dialogid == DIALOG_VEHICLE_BUY)
	{
		if(response)
		{
			if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
			{
				ShowErrorDialog(playerid, "Ne mozes kupiti vise vozila!! Max: " #MAX_PLAYER_VEHICLES );
				return 1;
			}
			new id = GetPVarInt(playerid, "DialogValue1");
			if(GetPlayerMoney(playerid) < VehicleValue[id])
			{
				ShowErrorDialog(playerid, "Nemas dovoljno novca da kupis ovo vozilo!");
				return 1;
			}
			new freeid;
			for(new i=1; i < MAX_DVEHICLES; i++)
			{
				if(!VehicleCreated[i])
				{
					freeid = i; break;
				}
			}
			if(!freeid)
			{
				ShowErrorDialog(playerid, "Nemamo vise tih modela!");
				return 1;
			}
			GivePlayerMoney(playerid, -VehicleValue[id]);
			new dealerid = strval(VehicleOwner[id]);
			VehicleCreated[freeid] = VEHICLE_PLAYER;
			VehicleModel[freeid] = VehicleModel[id];
			VehiclePos[freeid] = DealershipPos[dealerid];
			VehicleColor[freeid] = VehicleColor[id];
			VehicleInterior[freeid] = VehicleInterior[id];
			VehicleWorld[freeid] = VehicleWorld[id];
			VehicleValue[freeid] = VehicleValue[id];
			VehicleOwner[freeid] = PlayerName(playerid);
			VehicleNumberPlate[freeid] = DEFAULT_NUMBER_PLATE;
			for(new d=0; d < sizeof(VehicleTrunk[]); d++)
			{
				VehicleTrunk[freeid][d][0] = 0;
				VehicleTrunk[freeid][d][1] = 0;
			}
			for(new d=0; d < sizeof(VehicleMods[]); d++)
			{
				VehicleMods[freeid][d] = 0;
			}
			VehiclePaintjob[freeid] = 255;
			UpdateVehicle(freeid, 0);
			SaveVehicle(freeid);
			new msg[128];
			format(msg, sizeof(msg), "Kupio si ovo vozilo za $%d", VehicleValue[id]);
			SendClientMessage(playerid, COLOR_WHITE, msg);
           RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1);
		}
		else
		{
			new vehicleid = GetPVarInt(playerid, "DialogValue1");
			if(GetPlayerVehicleAccess(playerid, vehicleid) != 3)
			{
				RemovePlayerFromVehicle(playerid);
			}
		}
		return 1;
	}

Tako probaj

Da da skotano sam od onog Vehicle Sell pa reko sigurno isto uradio sam to radi :D sve je ok HVALA
Moze LOCK!
big respect 4 Blaeks Vuzimir  Shoorty Scripter HamZa