24.04.2014, 14:30
Код:
vehOnPlayerStateChange(playerid, newstate, oldstate) { if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER) { if(GetPVarType(playerid, "LastCar") != PLAYER_VARTYPE_NONE) { new carid = GetPVarInt(playerid, "LastCar"); if(carid != 0) { if(VehicleInfo[carid][EVRadioStation] != -1) { StopAudioStreamForPlayer(playerid); } } } if(GetPVarInt(playerid, "FuelShown") == 1) { new Bar:bar = Bar:GetPVarInt(playerid, "FuelBar"); if(bar != INVALID_BAR_ID) { HideProgressBarForPlayer(playerid, bar); } DeletePVar(playerid, "FuelShown"); } } new carid = GetPlayerVehicleID(playerid); if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) { if(carid != 0) { if(VehicleInfo[carid][EVRadioStation] != -1) { new url[128]; getRadioURL(VehicleInfo[carid][EVRadioStation], url, sizeof(url)); PlayAudioStreamForPlayer(playerid, url); } if(!IsACar(GetVehicleModel(carid))) { new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective); VehicleInfo[carid][EVEngine] = 1; SetVehicleParamsEx(carid, VehicleInfo[carid][EVEngine], lights, alarm, doors, bonnet, boot, objective); } } if(carid != 0 && (EAdminFlags:GetPVarInt(playerid, "AdminFlags") != EAdminFlags_None && !acdisabled)) { /* if(VehicleInfo[carid][EVLocked] == 1) { if(VehicleInfo[carid][EVType] == EVehicleType_Owned && VehicleInfo[carid][EVOwner] != playerid) { new msg[64]; format(msg, sizeof(msg), "Hacking into locked vehicle %d",carid); hackKick(playerid, msg, "Car Hacking"); } } */ } if(newstate == PLAYER_STATE_DRIVER) { if(GetPVarType(playerid, "AllowDriveBy") == PLAYER_VARTYPE_NONE) { SetPlayerArmedWeapon(playerid,0); } } else { if(GetPVarType(playerid, "AllowDriveBy") == PLAYER_VARTYPE_NONE) { for(new i=0;i<sizeof(BadDrivebyWeapons);i++) { if(GetPlayerWeaponEx(playerid) == BadDrivebyWeapons[i]) { SetPlayerArmedWeapon(playerid,0); } } } } } if(newstate == PLAYER_STATE_DRIVER) { /* Pizza Job */ new vehicleid = GetPlayerVehicleID(playerid); if(VehicleInfo[vehicleid][EVType] == EVehicleType_JobCar) { if(VehicleInfo[vehicleid][EVOwner] == EJobType_PizzaMan) { initiatePizzaDelivery(playerid); } } } if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) { //Wipers - get on //weatherInVehicleDecide(playerid); //if(vehicleWipersOn(carid)) { //SendClientMessage(playerid, X11_WHITE, "[INFO]: Wipers On"); //} if(isPlayerDying(playerid)) { //anim bug abuse "fix" putPlayerInHospital(playerid); } } if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER) { //Wipers - get off if(newstate == PLAYER_STATE_ONFOOT) { //weatherInVehicleDecide(playerid); } } if(newstate == PLAYER_STATE_DRIVER) { if(IsACar(GetVehicleModel(carid))) { HintMessage(playerid, COLOR_LIGHTGREEN, "To start the engine press~r~ ~k~~TOGGLE_SUBMISSIONS~"); } new msg[128]; new newcar = GetPlayerVehicleID(playerid); new newmodel = GetVehicleModel(newcar); if(VehicleInfo[newcar][EVType] == EVehicleType_JobCar) { if(~EAdminFlags:GetPVarInt(playerid, "AdminFlags") & EAdminFlags_Scripter) { if(VehicleInfo[newcar][EVOwner] != GetPVarInt(playerid, "Job")) { format(msg,sizeof(msg), "You must be a %s to drive this!",GetJobName(VehicleInfo[newcar][EVOwner])); SendClientMessage(playerid, X11_RED3, msg); RemovePlayerFromVehicle(playerid); } } OnEnterJobCar(playerid, newcar, VehicleInfo[newcar][EVOwner]); } if(VehicleInfo[newcar][EVType] == EVehicleType_Faction) { if(~EAdminFlags:GetPVarInt(playerid, "AdminFlags") & EAdminFlags_Scripter) { new faction = GetPVarInt(playerid, "Faction"); if(VehicleInfo[newcar][EVOwner] != faction) { if(getPlayerFactionType(playerid) != getFactionType(VehicleInfo[newcar][EVOwner])) { format(msg,sizeof(msg), "You don't have the keys to this vehicle!"); SendClientMessage(playerid, X11_RED3, msg); RemovePlayerFromVehicle(playerid); } } } } if(IsACar(newmodel)) { if(!IsABicycle(newmodel)) { new Bar:fuelbar = Bar:GetPVarInt(playerid, "FuelBar"); if(fuelbar != INVALID_BAR_ID) { SetProgressBarValue(fuelbar, VehicleInfo[newcar][EVFuel]); SetPVarInt(playerid, "FuelShown", 1); ShowProgressBarForPlayer(playerid, fuelbar); } TextDrawShowForPlayer(playerid, Text:GetPVarInt(playerid, "SpeedDraw")); new vehname[50]; format(vehname,sizeof(vehname),"~y~%s",VehiclesName[newmodel-400]); TextDrawSetString(Text:GetPVarInt(playerid, "VehDraw"), vehname); TextDrawShowForPlayer(playerid, Text:GetPVarInt(playerid, "Backround")); TextDrawShowForPlayer(playerid, Text:GetPVarInt(playerid, "VehInfo")); TextDrawShowForPlayer(playerid, Text:GetPVarInt(playerid, "VehDraw")); //Miles if(VehicleInfo[carid][EVType] == EVehicleType_Owned) { new vehmiles[64]; format(vehmiles,sizeof(vehmiles),"~w~ %.1f", getVehicleMileAge(carid)); TextDrawSetString(Text:GetPVarInt(playerid, "VehMileDraw"), vehmiles); TextDrawShowForPlayer(playerid, Text:GetPVarInt(playerid, "VehMileDraw")); } } } } else if(oldstate == PLAYER_STATE_DRIVER) { TextDrawHideForPlayer(playerid, Text:GetPVarInt(playerid, "SpeedDraw")); TextDrawHideForPlayer(playerid, Text:GetPVarInt(playerid, "VehDraw")); TextDrawHideForPlayer(playerid, Text:GetPVarInt(playerid, "VehMileDraw")); TextDrawHideForPlayer(playerid, Text:GetPVarInt(playerid, "VehInfo")); TextDrawHideForPlayer(playerid, Text:GetPVarInt(playerid, "Backround")); new jobcar = GetPVarInt(playerid, "JobCar"); if(jobcar != 0 || GetPVarType(playerid, "TaxiPassenger") != PLAYER_VARTYPE_NONE || GetPVarType(playerid, "TrashRoute") != PLAYER_VARTYPE_NONE || GetPVarType(playerid, "CurrentSmugglerRoute") != PLAYER_VARTYPE_NONE || GetPVarType(playerid, "IsOnPizzaRoute") != PLAYER_VARTYPE_NONE) { onJobAbort(playerid); onTaxiPassengerAbort(playerid); DestroyVehicle(jobcar); DeletePVar(playerid, "JobCar"); } } else if(oldstate == PLAYER_STATE_PASSENGER) { if(GetPVarType(playerid, "TaxiDriver") != PLAYER_VARTYPE_NONE) { onJobAbort(GetPVarInt(playerid, "TaxiDriver")); } } else if(newstate == PLAYER_STATE_PASSENGER) { if(carid == INVALID_VEHICLE_ID) { return 0; } new driver = GetVehicleDriver(carid); if(driver != INVALID_PLAYER_ID) { if(GetPVarType(driver, "TaxiFare") != PLAYER_VARTYPE_NONE) { OnPlayerEnterTaxi(playerid, driver); } } } return 1; }
Код:
vehOnPlayerDisconnect(playerid, reason) { #pragma unused reason DestroyProgressBar(Bar:GetPVarInt(playerid,"FuelBar")); TextDrawDestroy(Text:GetPVarInt(playerid, "SpeedDraw")); TextDrawDestroy(Text:GetPVarInt(playerid, "VehDraw")); TextDrawDestroy(Text:GetPVarInt(playerid, "VehMileDraw")); TextDrawDestroy(Text:GetPVarInt(playerid, "VehInfo")); TextDrawDestroy(Text:GetPVarInt(playerid, "Backround")); }
![](https://farm3.staticflickr.com/2917/14015598903_f6f981d87e_c.jpg)
(Just the backround box with the text, nothing else on this picture!)