rendered paste body#define FILTERSCRIPT#include <a_samp>#include <arrbit>#include <zcmd>#include <sscanf>#define COLOR_SYSTEM 0x9FC9E4FF#define VEHICLE_LIFE_TIME 20000new gSpawnedVehicle[MAX_PLAYERS] = {-1, ...};forward DestroyPlayerVehicleDelay(playerid, delay);forward StartPlayerRecordingDelay(playerid, type, delay);public OnFilterScriptExit(){ for (new i; i < MAX_PLAYERS; i++) { if (gSpawnedVehicle[i] != -1) { DestroyVehicle(gSpawnedVehicle[i]); } } return 1;}public OnPlayerStateChange(playerid, newstate, oldstate){ if (newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER) { DestroyPlayerVehicleDelay(playerid, VEHICLE_LIFE_TIME); } else if (newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT) { if (gSpawnedVehicle[playerid] != GetPlayerVehicleID(playerid)) { DestroyVehicle(gSpawnedVehicle[playerid]); gSpawnedVehicle[playerid] = -1; } } return 1;}public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){ static bitarray(gbPlayerRecording, MAX_PLAYERS); if (newkeys == KEY_SUBMISSION) { if (!getbit(gbPlayerRecording, playerid)) { if (IsPlayerInAnyVehicle(playerid)) { StartPlayerRecordingDelay(playerid, PLAYER_RECORDING_TYPE_DRIVER, 1000); SendClientMessage(playerid, COLOR_SYSTEM, "RECORD: started (vehicle)"); } else { StartPlayerRecordingDelay(playerid, PLAYER_RECORDING_TYPE_ONFOOT, 1000); SendClientMessage(playerid, COLOR_SYSTEM, "RECORD: started (onfoot)"); } truebit(gbPlayerRecording, playerid); } else { StopRecordingPlayerData(playerid); SendClientMessage(playerid, COLOR_SYSTEM, "RECORD: stopped"); falsebit(gbPlayerRecording, playerid); } } return 1;}public StartPlayerRecordingDelay(playerid, type, delay){ if (type >= 0) { SetTimerEx("StartPlayerRecordingDelay", delay, false, "i", -type-1); } else { StartRecordingPlayerData(playerid, -type-1, "temp"); } return 1;}public DestroyPlayerVehicleDelay(playerid, delay){ if (playerid >= 0) { SetTimerEx("DestroyPlayerVehicleDelay", delay, false, "i", -playerid-1); } else { playerid = -playerid-1; if (!IsPlayerInVehicle(playerid, gSpawnedVehicle[playerid])) { DestroyVehicle(gSpawnedVehicle[playerid]); gSpawnedVehicle[playerid] = -1; } return 0; } return 1;}zcmd(gravity, byplayerid, params[]){ new Float:gravity; if (!sscanf(params, "f", gravity)) { new message[30]; if (gravity == 0.0) { gravity = 0.008; // default value } SetGravity(gravity); format(message, sizeof(message), "Current gravity: %f", gravity); SendClientMessage(byplayerid, COLOR_SYSTEM, message); } return 1;}zcmd(weather, byplayerid, params[]){ new weatherid; if (!sscanf(params, "i", weatherid)) { new message[30]; SetWeather(weatherid); format(message, sizeof(message), "Current weather: %d", weatherid); SendClientMessage(byplayerid, COLOR_SYSTEM, message); } return 1;}zcmd(time, byplayerid, params[]){ new hour; if (!sscanf(params, "i", hour)) { new message[30]; SetWorldTime(hour); format(message, sizeof(message), "Current world time: %02d:00", hour); SendClientMessage(byplayerid, COLOR_SYSTEM, message); } return 1;}zcmd(txt, byplayerid, params[]){ new style, text[32]; if (!sscanf(params, "is", style, text)) { GameTextForAll(text, 4000, style); } return 1;}zcmd(pos, byplayerid, params[]){ new Float:myX, Float:myY, Float:myZ, message[50]; if (!sscanf(params, "fff", myX, myY, myZ)) { SetPlayerPos(byplayerid, myX, myY, myZ); } else { GetPlayerPos(byplayerid, myX, myY, myZ); } format(message, sizeof(message), "Current position: %f %f %f", myX, myY, myZ); SendClientMessage(byplayerid, COLOR_SYSTEM, message); return 1;}zcmd(skin, byplayerid, params[]){ new skin, message[30]; if (!sscanf(params, "i", skin)) { if (0 <= skin <= 299) { SetPlayerSkin(byplayerid, skin); } else return 1; } else { skin = GetPlayerSkin(byplayerid); } format(message, sizeof(message), "Current skin: %d", skin); SendClientMessage(byplayerid, COLOR_SYSTEM, message); return 1;}zcmd(v, byplayerid, params[]){ static VehicleNames[][] = { "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick", "Boxvillde", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt", "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune", "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club", "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car", "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville", "Tiller", "Utility Trailer"}; new modelid, message[50]; if (!IsPlayerInAnyVehicle(byplayerid) && !isnull(params)) { sscanf(params, "i", modelid); if (modelid == 0) { for (new i; i < 211; i++) { if (strfind(VehicleNames[i], params, true) != -1) { modelid = 400 + i; break; } } } if (400 <= modelid <= 611) { new vehicleid, Float:myX, Float:myY, Float:myZ, Float:myAngle; GetPlayerPos(byplayerid, myX, myY, myZ); GetPlayerFacingAngle(byplayerid, myAngle); vehicleid = CreateVehicle(modelid, myX, myY, myZ, myAngle, -1, -1, 0); LinkVehicleToInterior(vehicleid, GetPlayerInterior(byplayerid)); SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(byplayerid)); PutPlayerInVehicle(byplayerid, vehicleid, 0); DestroyVehicle(gSpawnedVehicle[byplayerid]); gSpawnedVehicle[byplayerid] = vehicleid; format(message, sizeof(message), "Current vehicle: %s [%d]", VehicleNames[modelid-400], modelid); SendClientMessage(byplayerid, COLOR_SYSTEM, message); } } else { if ((modelid = GetVehicleModel(GetPlayerVehicleID(byplayerid)))) { format(message, sizeof(message), "Current vehicle: %s [%d]", VehicleNames[modelid-400], modelid); SendClientMessage(byplayerid, COLOR_SYSTEM, message); } } return 1;}zcmd(vcol, byplayerid, params[]){ new color1, color2; if (!sscanf(params, "ii", color1, color2)) { if (IsPlayerInAnyVehicle(byplayerid)) { ChangeVehicleColor(GetPlayerVehicleID(byplayerid), color1, color2); } } return 1;}zcmd(kill, byplayerid, params[]){ SetPlayerHealth(byplayerid, 0.0); return 1;}