Hey, When I enter a vehicle with my toys attached and they all deattached, How do I fix that?
Код:
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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "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(IsAnSADPSCar(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_WHITE, "You are not in the SADPS!");
}
}
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_WHITE, "You are not a Trucker!");
}
}
else if(IsAnSASPCar(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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "You are not R3+ San Andreas News.");
}
}
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_WHITE, "You are not in the SAAS 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_WHITE, "You are not in the SAAS 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_WHITE, "You are not in the San Andreas Armed Services!");
}
}
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_WHITE, "You are not in the San Andreas Armed Services!");
}
}
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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE,"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_WHITE,"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) { // G-bugging fix
ClearAnimations(playerid);
}
return 1;
}