Quote:
Originally Posted by Dolby
You can use this:
pawn Код:
//Top of script: new _Timer[MAX_VEHICLES];
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(_Timer[vehicleid]) KillTimer(_Timer[vehicleid]); return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { _Timer[vehicleid] = SetTimerEx("@VehicleUnused", (60000 * 3), false, "d",vehicleid); return 1; } forward @VehicleUnused(vehicleid); public @VehicleUnused(vehicleid) return DestroyVehicle(vehicleid);
Or you can use OnPlayerStateChange(it's more recommendable)
pawn Код:
//Top of script: new _Timer[MAX_VEHICLES]; new _vehicleid[MAX_PLAYERS][MAX_VEHICLES];
public OnPlayerStateChange(playerid, newstate, oldstate) { if(newstate == PLAYER_STATE_DRIVER) { _vehicleid[playerid] = GetPlayerVehicleID(playerid); if(_Timer[_vehicleid[playerid]]) KillTimer(_Timer[_vehicleid[playerid]]); } if(oldstate == PLAYER_STATE_DRIVER) { _Timer[_vehicleid[playerid]] = SetTimerEx("@VehicleUnused", (60000 * 3), false, "d",_vehicleid[playerid]); } return 1; } forward @VehicleUnused(vehicleid); public @VehicleUnused(vehicleid) return DestroyVehicle(vehicleid);
|
Thanks for the reply but It doesnt get deleted. May because it has something to do with this or a conflict? Can you please fix it for me?
Код:
#define VehicleSpawnerLimit 1
Код:
forward VehicleSpawner(playerid,model);
forward VehicleDeleter(vehicleid);
forward VehicleSpawnerLimiter(playerid);
Код:
}
if(dialogid== Dialog_Vehicle)
{
if ( response==1 )
{
if(listitem==0)ShowPlayerDialog( playerid, Dialog_Airplanes, 2, "{82CAFF}Airplanes:", "{82CAFF}Andromada\n{82CAFF}AT-400\n{82CAFF}Beagle\n{82CAFF}Cropduster\n{82CAFF}Dodo\n{82CAFF}Nevada\n{82CAFF}Rustler\n{82CAFF}Shamal\n{82CAFF}Skimmer\n{82CAFF}Stuntplane", "Spawn", "Back" );
if(listitem==1)ShowPlayerDialog( playerid, Dialog_Helicopters, 2, "{336699}Helicopters:", "{336699}Cargobob\n{336699}Leviathan\n{336699}Maverick\n{336699}News Maverick\n{336699}Police Maverick\n{336699}Raindance\n{336699}Seasparrow\n{336699}Sparrow", "Spawn", "Back" );
if(listitem==2)ShowPlayerDialog( playerid, Dialog_Bike_Vehicle, 2, "{FF3333}Bikes:", "{FF3333}BF-400\n{FF3333}Bike\n{FF3333}BMX\n{FF3333}Faggio\n{FF3333}FCR-900\n{FF3333}Freeway\n{FF3333}Mountain Bike\n{FF3333}NRG-500\n{FF3333}PCJ-600\n{FF3333}Pizzaboy\n{FF3333}Quad\n{FF3333}Sanchez\n{FF3333}Wayfarer", "Spawn", "Back" );
if(listitem==3)ShowPlayerDialog( playerid, Dialog_Convertable_Vehicle, 2, "{FFFF66}Convertibles:", "{FFFF66}Comet\n{FFFF66}Feltzer\n{FFFF66}Stallion\n{FFFF66}Windsor", "Spawn", "Back" );
if(listitem==4)ShowPlayerDialog( playerid, Dialog_Industry_Vehicle, 2, "{993366}Industrial:", "{993366}Benson\n{993366}Bobcat\n{993366}Burrito\n{993366}Boxville\n{993366}Boxburg\n{993366}Cement Truck\n{993366}DFT-30\n{993366}Flatbed\n{993366}Linerunner\n{993366}Mule\n{993366}Newsvan\n{993366}Packer\n{993366}Petrol Tanker\n{993366}Pony\n{993366}Roadtrain\n{993366}Sadler\n{993366}Topfun\n{993366}Tractor\n{993366}Trashmaster\n{993366}Utility Van\n{993366}Walton", "Spawn", "Back" );
if(listitem==5)ShowPlayerDialog( playerid, Dialog_LowRyder_Vehicle, 2, "{FFDAB9}Lowriders:", "{FFDAB9}Blade\n{FFDAB9}Broadway\n{FFDAB9}Remington\n{FFDAB9}Savanna\n{FFDAB9}Slamvan\n{FFDAB9}Tahoma\n{FFDAB9}Tornado\n{FFDAB9}Voodoo", "Spawn", "Back" );
if(listitem==6)ShowPlayerDialog( playerid, Dialog_Off-Road_Vehicle, 2, "{CCFFFF}Off Road:", "{CCFFFF}Bandito\n{CCFFFF}BF Injection\n{CCFFFF}Dune\n{CCFFFF}Huntley\n{CCFFFF}Landstalker\n{CCFFFF}Mesa\n{CCFFFF}Monster\n{CCFFFF}Monster A\n{CCFFFF}Monster B\n{CCFFFF}Patriot\n{CCFFFF}Rancher A\n{CCFFFF}Rancher B\n{CCFFFF}Sandking", "Spawn", "Back" );
if(listitem==7)ShowPlayerDialog( playerid, Dialog_Public_Service_Vehicle, 2, "{00CC33}Public Service:", "{00CC33}Ambulance\n{00CC33}Barracks\n{00CC33}Bus\n{00CC33}Cabbie\n{00CC33}Coach\n{00CC33}Cop Bike (HPV-1000)\n{00CC33}Enforcer\n{00CC33}FBI Rancher\n{00CC33}FBI Truck\n{00CC33}Firetruck\n{00CC33}Firetruck LA\n{00CC33}Police Car (LSPD)\n{00CC33}Police Car (LVPD)\n{00CC33}Police Car (SFPD)\n{00CC33}Ranger\n{00CC33}S.W.A.T\n{00CC33}Taxi", "Spawn", "Back" );
if(listitem==8)ShowPlayerDialog( playerid, Dialog_Saloon_Vehicle, 2, "{999933}Saloons:", "{999933}Admiral\n{999933}Blood Banger\n{999933}Bravura\n{999933}Buccaneer\n{999933}Clover\n{999933}Elegant\n{999933}Elegy\n{999933}Emperor\n{999933}Esperanto\n{999933}Fortune\n{999933}Glendale\n{999933}Hermes\n{999933}Majestic\n{999933}Manana\n{999933}Nebula\n{999933}Oceanic\n{999933}Picador\n{999933}Stafford\n{999933}Sultan\n{999933}Virgo\n{999933}Willard\n{999933}Washington", "Spawn", "Back" );
if(listitem==9)ShowPlayerDialog( playerid, Dialog_Sport_Vehicle, 2, "{99CCFF}Sport Vehicles:", "{99CCFF}Alpha\n{99CCFF}Banshee\n{99CCFF}Blista Compact\n{99CCFF}Buffalo\n{99CCFF}Bullet\n{99CCFF}Cheetah\n{99CCFF}Club\n{99CCFF}Euros\n{99CCFF}Flash\n{99CCFF}Hotring\n{99CCFF}Hotring A\n{99CCFF}Hotring B\n{99CCFF}Infernus\n{99CCFF}Jester\n{99CCFF}Phoenix\n{99CCFF}Sabre\n{99CCFF}Super GT\n{99CCFF}Turismo\n{99CCFF}Uranus\n{99CCFF}ZR-350", "Spawn", "Back" );
if(listitem==10)ShowPlayerDialog( playerid, Dialog_Station_Vehicle, 2, "{ffffff}Station Wagons:", "{ffffff}Moonbeam\n{ffffff}Perenniel\n{ffffff}Regina\n{ffffff}Solair\n{ffffff}Stratum", "Spawn", "Back" );
if(listitem==11)ShowPlayerDialog( playerid, Dialog_Boats_Vehicle, 2, "{990066}Boats:", "{990066}Coastguard\n{990066}Dinghy\n{990066}Jetmax\n{990066}Launch\n{990066}Marquis\n{990066}Predator\n{990066}Reefer\n{990066}Speeder\n{990066}Squallo\n{990066}Tropic", "Spawn", "Back" );
if(listitem==12)ShowPlayerDialog( playerid, Dialog_Trailers_Vehicle, 2, "{FF9900}Trailers:", "{FF9900}Article\n{FF9900}Article 2\n{FF9900}Article 3\n{FF9900}Baggage A\n{FF9900}Baggage B\n{FF9900}Farm Trailer\n{FF9900}Petrol Trailer\n{FF9900}Stairs Trailer\n{FF9900}Utility Trailer", "Spawn", "Back" );
if(listitem==13)ShowPlayerDialog( playerid, Dialog_Unique_Vehicle, 2, "{999999}Unique Vehicles:", "{999999}Baggage\n{999999}Caddy\n{999999}Camper\n{999999}Camper A\n{999999}Combine Harvester\n{999999}Dozer\n{999999}Dumper\n{999999}Forklift\n{999999}Hotknife\n{999999}Hustler\n{999999}Hotdog\n{999999}Kart\n{999999}Mower\n{999999}Mr Whoopee\n{999999}Romero\n{999999}Securicar\n{999999}Stretch\n{999999}Sweeper\n{999999}Towtruck\n{999999}Tug\n{999999}Vortex", "Spawn", "Back" );
if(listitem==14)ShowPlayerDialog( playerid, Dialog_Rc_Vehicle, 2, "{006666}RC Vehicles:", "{006666}RC Bandit\n{006666}RC Baron\n{006666}RC Raider\n{006666}RC Goblin\n{006666}RC Tiger\n{006666}RC Cam", "Spawn", "Back" );
}
}
if(dialogid== Dialog_Airplanes){
if ( response ){
VehicleSpawner(playerid,Airplanes[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Helicopters){
if ( response ){
VehicleSpawner(playerid,Helicopters[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Bike_Vehicle){
if ( response ){
VehicleSpawner(playerid,Bikes[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Convertable_Vehicle){
if ( response ){
VehicleSpawner(playerid,Convertibles[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Industry_Vehicle){
if ( response ){
VehicleSpawner(playerid,Industrials[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_LowRyder_Vehicle){
if ( response ){
VehicleSpawner(playerid,Lowriders[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Off-Road_Vehicle){
if ( response ){
VehicleSpawner(playerid,Offroad[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Public_Service_Vehicle){
if ( response ){
VehicleSpawner(playerid,Pulic_Services[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Saloon_Vehicle){
if ( response ){
VehicleSpawner(playerid,Saloons[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Sport_Vehicle){
if ( response ){
VehicleSpawner(playerid,Sport[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Station_Vehicle){
if ( response ){
VehicleSpawner(playerid,Station[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Boats_Vehicle){
if ( response ){
VehicleSpawner(playerid,Boats[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Trailers_Vehicle){
if ( response ){
VehicleSpawner(playerid,Trailers[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Unique_Vehicle){
if ( response ){
VehicleSpawner(playerid,Unique[ listitem ]);
}else ShowVehicleDialog(playerid);
}
if(dialogid== Dialog_Rc_Vehicle){
if ( response ){
VehicleSpawner(playerid,RC_Vehicles[ listitem ]);
}else ShowVehicleDialog(playerid);
}
Код:
public VehicleSpawnerLimiter(){
new i;
for(i=0;i<=MAX_PLAYERS;i++){
if(VehicleSpawn[i]>0){
VehicleSpawn[i]--;
}
}
}
Код:
VehicleSpawner(playerid,model)
{
if(VehicleSpawn[playerid]==0)
{
new vehicleid;
new Float:x, Float:y, Float:z, Float:a;
if(GetPlayerVehicleID(playerid) != 0)
{
GetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
for(new i; i < MAX_PLAYERVEHICLES; i++)
{
if(PlayerVehicle[playerid][i] == GetPlayerVehicleID(playerid))
{
PlayerVehicle[playerid][i] = 0;
break;
}
}
DestroyVehicle(GetPlayerVehicleID(playerid));
}
else
{
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
}
new interior = GetPlayerInterior(playerid);
if(interior != 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}>>You can't spawn a vehicle in interior");
vehicleid = CreateVehicle(model, x, y, z, a, -1, -1, -1);
SetVehiclePos(vehicleid, x, y, z);
SetVehicleZAngle(vehicleid, a);
SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
PutPlayerInVehicle(playerid, vehicleid, 0);
SetVehicleHealth(vehicleid, 1000.0);
for(new i = 0; i < MAX_PLAYERVEHICLES; i++)
{
if(Turn[playerid] == MAX_PLAYERVEHICLES)
{
VehicleDeleter(PlayerVehicle[playerid][0]);
for(new c; c < MAX_PLAYERVEHICLES - 1; c++) PlayerVehicle[playerid][c] = PlayerVehicle[playerid][c + 1];
PlayerVehicle[playerid][MAX_PLAYERVEHICLES - 1] = 0;
Turn[playerid]--;
}
if(!PlayerVehicle[playerid][i])
{
PlayerVehicle[playerid][i] = vehicleid;
Turn[playerid]++;
break;
}
}
}
return 1;
}
Код:
public VehicleSpawnerLimiter(){
new i;
for(i=0;i<=MAX_PLAYERS;i++){
if(VehicleSpawn[i]>0){
VehicleSpawn[i]--;
}
}
}
VehicleDeleter(vehicleid)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
new Float:X,Float:Y,Float:Z;
if(IsPlayerInVehicle(i, vehicleid))
{
RemovePlayerFromVehicle(i);
GetPlayerPos(i,X,Y,Z);
SetPlayerPos(i,X,Y+3,Z);
}
SetVehicleParamsForPlayer(vehicleid,i,0,1);
}
SetTimerEx("VehRes", 60000, 0, "d", vehicleid);
}