Weapons problem!
#6

Onplayerenter:
Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	Seatbelt[playerid] = 0;
	IsPlayerSteppingInVehicle[playerid] = vehicleid;
	if(PlayerCuffed[playerid] != 0) SetPVarInt( playerid, "ToBeEjected", 1 );
	if(GetPVarInt(playerid, "Injured") == 1) SetPVarInt(playerid, "ToBeEjected", 1);
	SetPVarInt(playerid, "LastWeapon", GetPlayerWeapon(playerid));

	new engine,lights,alarm,doors,bonnet,boot,objective;
	GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
	if(engine == VEHICLE_PARAMS_UNSET) switch(GetVehicleModel(vehicleid)) {
		case 509, 481, 510: VehicleFuel[vehicleid] = 100, arr_Engine{vehicleid} = 1, SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
		default: SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective), arr_Engine{vehicleid} = 0;
	}

    if(GetVehicleModel(vehicleid) == 519 && ispassenger == 1)
    {
    	PutPlayerInVehicle(playerid, vehicleid, 1);
    	TogglePlayerControllable(playerid, 1);
    	InsideShamal[playerid] = vehicleid;
    }
    if(GetPVarInt(playerid, "Pizza") != 0 && !(IsAPizzaCar(vehicleid)))
	{
	    new Float:slx, Float:sly, Float:slz;
		GetPlayerPos(playerid, slx, sly, slz);
		SetPlayerPos(playerid, slx, sly, slz+1.3);
		PlayerPlaySound(playerid, 1130, slx, sly, slz+1.3);
		RemovePlayerFromVehicle(playerid);
		NOPCheck(playerid);
		SendClientMessageEx(playerid, COLOR_GRAD2, "You need to be in a PizzaBoy when delivering pizzas!");
		return 1;
	}
	if(!ispassenger)
	{
	    SetPlayerArmedWeapon(playerid, 0);
		if(IsVIPcar(vehicleid))
		{
		    if(PlayerInfo[playerid][pDonateRank] == 0)
			{
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz+1.3);
				PlayerPlaySound(playerid, 1130, slx, sly, slz+1.3);
			    RemovePlayerFromVehicle(playerid);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not a VIP, this is a vehicle from the VIP Garage!");
			}
		}
		else if(IsAPizzaCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pJob] != 21 && PlayerInfo[playerid][pJob2] != 21)
		    {
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz+1.3);
				PlayerPlaySound(playerid, 1130, slx, sly, slz+1.3);
			    RemovePlayerFromVehicle(playerid);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not a Pizza Boy!");
			}
		}
		else if(IsAnAmbulance(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 4||PlayerInfo[playerid][pLeader] == 4)
			{
			    if(FDSAVehicles[13] == vehicleid && PlayerInfo[playerid][pRank] < 5)
			    {
			        RemovePlayerFromVehicle(playerid);
			        new Float:slx, Float:sly, Float:slz;
					GetPlayerPos(playerid, slx, sly, slz);
					SetPlayerPos(playerid, slx, sly, slz);
					NOPCheck(playerid);
					SendClientMessageEx(playerid, COLOR_GRAD2, "Only ranks 5+ can drive this vehicle.");
			    }
			}
		    else
			{
			    SendClientMessageEx(playerid,COLOR_GREY,"   You are not in the FDSA!");
				RemovePlayerFromVehicle(playerid);
				new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
				NOPCheck(playerid);
			}
		}
		else if(IsAnSASDCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7)
		    {
		    }
		    else
		    {
		        RemovePlayerFromVehicle(playerid);
		        new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
		        NOPCheck(playerid);
		        SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SASD!");
		    }
		}
		else if(IsATruckerCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pJob] == 20 || PlayerInfo[playerid][pJob2] == 20)
			{
				new string[128];

				new truckcontents = TruckContents[vehicleid];
				new truckcontentname[50];
				if(truckcontents == 0)
				{ format(truckcontentname, sizeof(truckcontentname), "None"); }
				else if(truckcontents >= 1 && truckcontents <= 3)
				{ format(truckcontentname, sizeof(truckcontentname), "{00F70C}Food & beverages");}
				else if(truckcontents >= 4 && truckcontents <= 6)
				{ format(truckcontentname, sizeof(truckcontentname), "{00F70C}Clothing"); }
				else if(truckcontents == 7)
				{ format(truckcontentname, sizeof(truckcontentname), "{00F70C}Legal materials"); }
				else if(truckcontents >= 8 && truckcontents <= 10)
				{ format(truckcontentname, sizeof(truckcontentname), "{00F70C}24/7 items"); }
				else if(truckcontents >= 11 && truckcontents <= 15)
				{ format(truckcontentname, sizeof(truckcontentname), "{FF0606}Illegal weapons"); }
				else if(truckcontents >= 16 && truckcontents <= 20)
				{ format(truckcontentname, sizeof(truckcontentname), "{FF0606}Illegal drugs"); }
				else if(truckcontents >= 21 && truckcontents <= 25)
				{ format(truckcontentname, sizeof(truckcontentname), "{FF0606}Illegal materials"); }

				format(string, sizeof(string), "TRUCKER JOB: (Truck registration: %s %d) - (Content: %s{FFFF00})", GetVehicleName(vehicleid), vehicleid, truckcontentname);
				SendClientMessageEx(playerid, COLOR_YELLOW, string);

				if(IsACop(playerid) && truckcontents >= 11)
				{
					SendClientMessageEx(playerid, COLOR_YELLOW, "TRUCKER JOB: To remove the illegal goods type /cleartruck near the Truck.");
				}
				if(truckcontents > 0 && TruckUsed[playerid] == INVALID_VEHICLE_ID)
				{
					SendClientMessageEx(playerid, COLOR_YELLOW, "TRUCKER JOB: To deliver the goods type /hijacktruck as the driver.");
				}
				else if(TruckUsed[playerid] == INVALID_VEHICLE_ID)
				{
    				SendClientMessageEx(playerid, COLOR_YELLOW, "TRUCKER JOB: To get goods type /loadtruck as the driver.");
				}
				else if(TruckUsed[playerid] == vehicleid && gPlayerCheckpointStatus[playerid] == CHECKPOINT_RETURNTRUCK)
				{
					SendClientMessageEx(playerid, COLOR_YELLOW, "TRUCKER JOB: This is your Truck, you have not returned it to the docks yet for your pay.");
				}
				else if(TruckUsed[playerid] == vehicleid)
   				{
      				SendClientMessageEx(playerid, COLOR_YELLOW, "TRUCKER JOB: This is your Truck, you have not delivered your goods yet.");
     			}
				else if(TruckUsed[playerid] != INVALID_VEHICLE_ID)
   				{
      				SendClientMessageEx(playerid, COLOR_YELLOW, "TRUCKER JOB: You are already on another delivery, type /cancel truck to cancel that delivery.");
     			}
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not a Trucker!");
			}
		}
		else if(IsAnSFPDCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SFPD!");
			}
		}
		else if(IsAnEPCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pRank] >= 5)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SFPD Executive Protection Division!");
			}
		}
		else if(IsAnWPCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pMember] == 7)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
    			SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SASD!");
			}
		}
		else if(IsANooseCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 13)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not part of the NOOSE!");
			}
		}
		else if(IsATierraCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 12 && PlayerInfo[playerid][pRank] >= 2)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not Tierra Robada rank 2+!");
			}
		}
		else if(IsATierraARCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 12 && PlayerInfo[playerid][pDivision] == 2)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Tierra Robada Armed Forces Division!");
			}
		}
		else if(IsATierraESCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 12 && PlayerInfo[playerid][pDivision] == 3)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Tierra Robada Emergency Services Division!");
			}
		}
		else if(IsAGovCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 6)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Government faction!");
			}
		}
		else if(IsACopCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the LSPD!");
			}
		}
		else if(IsAFBICar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 2||PlayerInfo[playerid][pLeader] == 2)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the FBI!");
			}
		}
		else if(vehicleid == 378 || vehicleid == 379)
		{
		    if((PlayerInfo[playerid][pMember] == 9||PlayerInfo[playerid][pLeader] == 9) && (PlayerInfo[playerid][pRank] >= 3))
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not R3+ SANews.");
			}
		}
		else if(IsAnNGAIRCar(vehicleid))
		{
		    if((PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11) && (PlayerInfo[playerid][pDivision] == 1 || PlayerInfo[playerid][pDivision] == 4))
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the NG AIR Division!");
			}
		}
/*		else if(IsAnNGARMCar(vehicleid))
		{
		    if((PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11) && (PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pDivision] == 3 || PlayerInfo[playerid][pDivision] == 5 || PlayerInfo[playerid][pDivision] == 6))
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the NG ARM Division!");
			}
		} */
		else if(IsAnNGCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the National Guard!");
			}
		}
		else if(IsAnDOCCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11)
			{
			}
		    else
			{
	   			NOPCheck(playerid);
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the National Guard!");
			}
		}
		else if(IsAnMPSCar(vehicleid))
		{
		    if(IsACop(playerid))
		    {
		    }
		    else
		    {
		        RemovePlayerFromVehicle(playerid);
		        new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
		        NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You aren't in a LEO Faction.");
		    }
		}
		else if(IsACoastguardCar(vehicleid))
		{
		    if( ( PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4 ) || ( PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pDivision] == 3 ))
			{
			}
			else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Coastguard division!");
			}
		}
	 	else if(IsANewsCar(vehicleid))
		{
		    if(PlayerInfo[playerid][pMember] == 9 ||PlayerInfo[playerid][pLeader] == 9)
			{
			}
		    else
			{
			    RemovePlayerFromVehicle(playerid);
			    new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
			    NOPCheck(playerid);
			    SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SANews!");
			}
		}
	   	else if(IsAPlane(vehicleid))
		{
	  		if(PlayerInfo[playerid][pFlyLic] != 1)
	  		{
		  		RemovePlayerFromVehicle(playerid);
		  		new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
		  		NOPCheck(playerid);
			 	SendClientMessageEx(playerid,COLOR_GREY,"You don't have a pilot license!");
	  		}
		}
		else if(IsAHelicopter(vehicleid))
		{
		    PlayerInfo[playerid][pAGuns][GetWeaponSlot(46)] = 46;
			GivePlayerValidWeapon(playerid, 46, 60000);
		}
		else if(IsAnTaxi(vehicleid) || IsAnBus(vehicleid))
		{
	        if(PlayerInfo[playerid][pJob] == 17 || PlayerInfo[playerid][pJob2] == 17 || PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pTaxiLicense] == 1)
			{
			}
		    else
			{
		        SendClientMessageEx(playerid,COLOR_GREY,"   You are not a Taxi/Bus Driver!");
		        RemovePlayerFromVehicle(playerid);
		        new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz);
		    }
		}
	}
	else if(!IsPlayerInRangeOfVehicle(playerid, vehicleid, 7.5) || LockStatus[vehicleid] >= 1) { 
		ClearAnimations(playerid);
	}
	return 1;
OnplayerExit

Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{

	if (GetPlayerState(playerid) == 1)
	{
		return 1;
	}

	
	switch(Seatbelt[playerid])
	{
	    case 1:
	    {
			new string[128];
	        if(IsABike(vehicleid))
			{
				SendClientMessageEx(playerid, COLOR_WHITE, "You have taken off your helmet.");
				format(string, sizeof(string), "* %s reaches for their helmet, and takes it off.", GetPlayerNameEx(playerid));
			}
			else
			{
				SendClientMessageEx(playerid, COLOR_WHITE, "You have taken off your seatbelt.");
				format(string, sizeof(string), "* %s reaches for their seatbelt, and unbuckles it.", GetPlayerNameEx(playerid));
			}
			ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  			Seatbelt[playerid] = 0;
	    }
	}

	if(GetPVarInt(playerid, "rccam") == 1)
	{
		DestroyVehicle(GetPVarInt(playerid, "rcveh"));
	    SetPlayerPos(playerid, GetPVarFloat(playerid, "rcX"), GetPVarFloat(playerid, "rcY"), GetPVarFloat(playerid, "rcZ"));
		DeletePVar(playerid, "rccam");
	    KillTimer(GetPVarInt(playerid, "rccamtimer"));
	}
	return 1;
}
Reply


Messages In This Thread
Weapons problem! - by Noner - 09.11.2011, 13:57
Re: Weapons problem! - by jiwan - 09.11.2011, 14:02
Re: Weapons problem! - by SmiT - 09.11.2011, 14:10
Re: Weapons problem! - by Noner - 09.11.2011, 14:26
Re: Weapons problem! - by SmiT - 09.11.2011, 14:30
Re: Weapons problem! - by Noner - 09.11.2011, 14:49
Re: Weapons problem! - by Noner - 09.11.2011, 15:20
Re: Weapons problem! - by orbison - 09.11.2011, 16:16
Re: Weapons problem! - by Kostas' - 09.11.2011, 16:18
Re: Weapons problem! - by Noner - 09.11.2011, 16:24

Forum Jump:


Users browsing this thread: 1 Guest(s)