[Pomoc] Problem kod kupnje vozila


Započeo kristiankico, Mart 12, 2012, 22:53:14 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: CLRP
Detaljan opis problema: Znaci neko sjedne u auto za kupnju i nemora ga kupiti a moze ga voziti,ali ja bih htio samo kad on sjedne da ga zaledi da on nemoze nista osim da moze kucati /kupivozilo i da moze izaci
Dio skripte:
Kod:
if(strcmp(cmd, "/kupivozilo", true) == 0)
	{
	    if (Spectating[playerid][0]!=-1)
	    {
	        if (Carlist[playerid][Typ]==-1)
	        {
	            new price = Buylist[Spectating[playerid][0]][Price];
	            if (price <= GetPlayerCash(playerid))
	            {
	                new autohaus=Buylist[Spectating[playerid][0]][Autohaus];
   	        		GivePlayerMoney(playerid, - price);
   	        		Carlist[playerid][Typ] = Spectating[playerid][0]; Carlist[playerid][X3] = Carspawns[autohaus][X3]; Carlist[playerid][Y3] = Carspawns[autohaus][Y3];
					Carlist[playerid][Z3] = Carspawns[autohaus][Z3]; Carlist[playerid][Rotation] = Carspawns[autohaus][Rotation]; Carlist[playerid][Status] = 1; Carlist[playerid][Lock] = 0;
					Carlist[playerid][Carid] = CreateVehicle(Buylist[Spectating[playerid][0]][Modelid],Carlist[playerid][X3],Carlist[playerid][Y3],Carlist[playerid][Z3],Carlist[playerid][Rotation],-1,-1,-1);
			        SetVehicleParamsForAll(Buylist[Spectating[playerid][0]][Carid],0,0);
			        TogglePlayerControllable(playerid,1);
			        Spectating[playerid][0]=-1;
			        RemovePlayerFromVehicle(playerid);
			        VehicleSave(playerid);
			        TextDrawHideForPlayer(playerid, imevozila[playerid]);
					TextDrawHideForPlayer(playerid, cijenavozila[playerid]);
					TextDrawHideForPlayer(playerid, registracijavozila[playerid]);
					format(string,128,"* Cestitamo! Kupili ste auto {FFFFFF}$%s "COL_YELLOW"za {FFFFFF}%i!",Buylist[Carlist[playerid][Typ]][Name],price);
					SendClientMessage(playerid, YELLOW, string);
					SendClientMessage(playerid, NICERED, "Ako je vas auto pokvaren, upisite {FFFFFF}/v fix "COL_RED"da popravite.");
					SendClientMessage(playerid, NICERED, "Mozete otkljucati/zakljucati vas auto sa naredbom {FFFFFF}/v lock.");
					SendClientMessage(playerid, NICERED, "Ostalo: {FFFFFF}(/v)ozilo.");
                    SendClientMessage(playerid, COLOR_YELLOW, "Vase vozilo je dostavljeno, Uzivajte!");
				}
                else { format(string, 128, "* Nedovoljno novca za kupnju automobila (trebate: {FFFFFF}$%i)!", price); SendClientMessage(playerid, YELLOW, string); }
			}
			else { SendClientMessage(playerid, COLOR_GREY, "Vi vec imate auto!"); }
	    }
	    else { SendClientMessage(playerid, COLOR_GREY, "Nisi u izlozbenom vozilu!"); }
	    return 1;
	}

Neke slike/video za lakse dobivanje pomoci(neobavezno): ako bude potrebno staviti cu

ovo mi ne pomaze,jer igrac opet moze sjedit u autu i stisnit ALT upalit ga i nastavit dalje vozit.. :S

Napravi proveru u /engine komandi, da ak osei grac nalazi u tom vozilu, da nemoze da ga upali...

odnosno:

if(GetPlayerVehicleID(playerid) == PRODAJNAVOZILA(carid))
{
return 1;
}

prodajna vozila zamenis sa onim kako su tebi u modu ta na prodaji, i to ubacis u komandu koja pali auto...


if(!strcmp(cmd, "/u", true) || strcmp(cmd, "/upali", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			if(IsPlayerInAnyVehicle(playerid))
			{
	    		if(!engineOn[GetPlayerVehicleID(playerid)])
	    		{
	        		if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
					{
						return 1;
					}
					if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509)
					{
						return 1;
					}
					if(idcar == 59 || idcar == 60)
					{
						return 1;
					}
					if(idcar >= 135 && idcar <= 154)
					{
					    if(HireCar[playerid] != idcar)
					    {
							return 1;
						}
					}
					if(IsAPlane(idcar))
					{
					    return 1;
					}
					if(IsAHarvest(idcar))
					{
					    return 1;
					}
					if(IsADrugHarvest(idcar))
					{
					    return 1;
					}
					if(IsASweeper(idcar))
					{
					    return 1;
					}
					if(IsARaceCar(idcar))
					{
					    return 1;
					}
					if(gEngine[playerid] == 1) { return 1; }

					new playerveh = GetPlayerVehicleID(playerid);
					PutPlayerInVehicle(playerid, playerveh, 0);
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), "* %s okrece kljuc i pokusava da upali motor.", sendername);
					ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
					SetTimerEx("StartingTheVehicle",3500,0,"i",playerid);
					GameTextForPlayer(playerid, "~w~Motor se pokrece...",3500,3);
					gEngine[playerid] = 1;
					return 1;
				}
				if(engineOn[GetPlayerVehicleID(playerid)])
	    		{
	        		if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
					{
						return 1;
					}
					if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509)
					{
						return 1;
					}
					if(idcar == 59 || idcar == 60)
					{
						return 1;
					}
					if(idcar >= 161 && idcar <= 210)
					{
					    if(HireCar[playerid] != idcar)
					    {
							return 1;
						}
					}
					if(IsAHarvest(idcar))
					{
					    return 1;
					}
					if(IsADrugHarvest(idcar))
					{
					    return 1;
					}
					if(IsAPlane(idcar))
					{
					    return 1;
					}
					if(IsASweeper(idcar))
					{
					    return 1;
					}
					if(IsARaceCar(idcar))
					{
					    return 1;
					}
					engineOn[GetPlayerVehicleID(playerid)] = false;
					//RemovePlayerFromVehicle(playerid);
					TogglePlayerControllable(playerid, 0);
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), "* %s okrece kljuc i gasi motor.", sendername);
					ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
					gEngine[playerid] = 0;
					return 1;
				}
			}
	    }
	    return 1;
	}


Malkice je drukcije vamo pa neznam sta tocno.. :S