#include #include #define spawnmoney 1000 #define SLOTS 100 #define SKIN_SELECT true #define VEHI_SELECT true #define WORL_SELECT true #define CAME_SELECT true #define MISCEL_CMDS true #define ADMINS_ONLY true #define COLOR_RED 0xFF4040FF #define COLOR_GREEN 0x40FF40FF #define COLOR_BLUE 0x4040FFFF #define COLOR_CYAN 0x40FFFFFF #define COLOR_PINK 0xFF40FFFF #define COLOR_YELLOW 0xFFFF40FF #define COLOR_WHITE 0xFFFFFFFF #define COLOR_BLACK 0x000000FF #define COLOR_NONE 0x00000000 #define SKIN_SEL_STAT 1 #define VEHI_SEL_STAT 2 #define WORL_SEL_STAT 3 #define CAME_SEL_STAT 4 #define MIN_SKIN_ID 0 #define MAX_SKIN_ID 299 #define MIN_VEHI_ID 400 #define MAX_VEHI_ID 611 #define MIN_TIME_ID 0 #define MAX_TIME_ID 23 #define MIN_WEAT_ID 0 #define MAX_WEAT_ID 45 #define DEFAULT_GRA 0.008 #define VEHI_DIS 5.0 #pragma tabsize 0 #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 new weapmod[600] = {1212,331,333,334,335,336,337,338,339,341,321,322,323,324, 325,326,342,343,344,345,345,345,346,347,348,349,350,351,352,353,355,356,372,357, 358,359,360,361,362,363,364,365,366,367,368,369,371}; new keydown[MAX_PLAYERS] = {false, ...}; new rampid[MAX_PLAYERS] = {-1, ...}; new playerramptypes[MAX_PLAYERS] = {0, ...}; new PickUpMoney[101] = {false, ...}; new Float:PickUpArmour[101] = {0.0, ...}; new PickUpMoneyAmmount[101] = {0, ...}; new PickUpWeaponSlot[101] = {0, ...}; new PickUpWeaponAmmo[101] = {0, ...}; new DropPick[101] = {false, ...}; new gPlayerStatus[MAX_PLAYERS]; // Player Status new gPlayerTimers[MAX_PLAYERS]; // Player TimerID's for keypresses new gWorldStatus[3] = {12, 4}; // Time, Weather new curPlayerSkin[MAX_PLAYERS] = {MIN_SKIN_ID, ...}; // Current Player Skin ID new curPlayerVehM[MAX_PLAYERS] = {MIN_VEHI_ID, ...}; // Current Player Vehicle ID new curPlayerVehI[MAX_PLAYERS] = {-1, ...}; new ramptypes[] = { 1503, // curvy normal one 1660, // concrete one with pipes 1245, // plank of wood against a box 1631, // water ramp with rocks 1632, // normal water ramp 1655, // wide water ramp 13593, // kick ramp 13594, // fire ring 1290, // lv highway lamppost }; enum CURVEHICLE { bool:spawn, vmodel, vInt }; new curServerVehP[MAX_VEHICLES][CURVEHICLE]; new aSelNames[4][] = { // Menu selection names {"SkinSelect"}, {"VehicleSelect"}, {"WeatherSelect"}, {"CameraSelect"} }; new aWeaponNames[][32] = { {"Unarmed (Fist)"}, // 0 {"Brass Knuckles"}, // 1 {"Golf Club"}, // 2 {"Night Stick"}, // 3 {"Knife"}, // 4 {"Baseball Bat"}, // 5 {"Shovel"}, // 6 {"Pool Cue"}, // 7 {"Katana"}, // 8 {"Chainsaw"}, // 9 {"Purple Dildo"}, // 10 {"Big White Vibrator"}, // 11 {"Medium White Vibrator"}, // 12 {"Small White Vibrator"}, // 13 {"Flowers"}, // 14 {"Cane"}, // 15 {"Grenade"}, // 16 {"Teargas"}, // 17 {"Molotov"}, // 18 {" "}, // 19 {" "}, // 20 {" "}, // 21 {"Colt 45"}, // 22 {"Colt 45 (Silenced)"}, // 23 {"Desert Eagle"}, // 24 {"Normal Shotgun"}, // 25 {"Sawnoff Shotgun"}, // 26 {"Combat Shotgun"}, // 27 {"Micro Uzi (Mac 10)"}, // 28 {"MP5"}, // 29 {"AK47"}, // 30 {"M4"}, // 31 {"Tec9"}, // 32 {"Country Rifle"}, // 33 {"Sniper Rifle"}, // 34 {"Rocket Launcher"}, // 35 {"Heat-Seeking Rocket Launcher"}, // 36 {"Flamethrower"}, // 37 {"Minigun"}, // 38 {"Satchel Charge"}, // 39 {"Detonator"}, // 40 {"Spray Can"}, // 41 {"Fire Extinguisher"}, // 42 {"Camera"}, // 43 {"Night Vision Goggles"}, // 44 {"Infrared Vision Goggles"}, // 45 {"Parachute"}, // 46 {"Fake Pistol"} // 47 }; new aVehicleNames[212][] = { // Vehicle Names - Betamaster {"Landstalker"}, {"Bravura"}, {"Buffalo"}, {"Linerunner"}, {"Perrenial"}, {"Sentinel"}, {"Dumper"}, {"Firetruck"}, {"Trashmaster"}, {"Stretch"}, {"Manana"}, {"Infernus"}, {"Voodoo"}, {"Pony"}, {"Mule"}, {"Cheetah"}, {"Ambulance"}, {"Leviathan"}, {"Moonbeam"}, {"Esperanto"}, {"Taxi"}, {"Washington"}, {"Bobcat"}, {"Mr Whoopee"}, {"BF Injection"}, {"Hunter"}, {"Premier"}, {"Enforcer"}, {"Securicar"}, {"Banshee"}, {"Predator"}, {"Bus"}, {"Rhino"}, {"Barracks"}, {"Hotknife"}, {"Trailer 1"}, //artict1 {"Previon"}, {"Coach"}, {"Cabbie"}, {"Stallion"}, {"Rumpo"}, {"RC Bandit"}, {"Romero"}, {"Packer"}, {"Monster"}, {"Admiral"}, {"Squalo"}, {"Seasparrow"}, {"Pizzaboy"}, {"Tram"}, {"Trailer 2"}, //artict2 {"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"}, {"Boxville"}, {"Benson"}, {"Mesa"}, {"RC Goblin"}, {"Hotring Racer A"}, //hotrina {"Hotring Racer B"}, //hotrinb {"Bloodring Banger"}, {"Rancher"}, {"Super GT"}, {"Elegant"}, {"Journey"}, {"Bike"}, {"Mountain Bike"}, {"Beagle"}, {"Cropdust"}, {"Stunt"}, {"Tanker"}, //petro {"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 LA"}, //firela {"Hustler"}, {"Intruder"}, {"Primo"}, {"Cargobob"}, {"Tampa"}, {"Sunrise"}, {"Merit"}, {"Utility"}, {"Nevada"}, {"Yosemite"}, {"Windsor"}, {"Monster A"}, //monstera {"Monster B"}, //monsterb {"Uranus"}, {"Jester"}, {"Sultan"}, {"Stratum"}, {"Elegy"}, {"Raindance"}, {"RC Tiger"}, {"Flash"}, {"Tahoma"}, {"Savanna"}, {"Bandito"}, {"Freight Flat"}, //freiflat {"Streak Carriage"}, //streakc {"Kart"}, {"Mower"}, {"Duneride"}, {"Sweeper"}, {"Broadway"}, {"Tornado"}, {"AT-400"}, {"DFT-30"}, {"Huntley"}, {"Stafford"}, {"BF-400"}, {"Newsvan"}, {"Tug"}, {"Trailer 3"}, //petrotr {"Emperor"}, {"Wayfarer"}, {"Euros"}, {"Hotdog"}, {"Club"}, {"Freight Carriage"}, //freibox {"Trailer 3"}, //artict3 {"Andromada"}, {"Dodo"}, {"RC Cam"}, {"Launch"}, {"Police Car (LSPD)"}, {"Police Car (SFPD)"}, {"Police Car (LVPD)"}, {"Police Ranger"}, {"Picador"}, {"S.W.A.T. Van"}, {"Alpha"}, {"Phoenix"}, {"Glendale"}, {"Sadler"}, {"Luggage Trailer A"}, //bagboxa {"Luggage Trailer B"}, //bagboxb {"Stair Trailer"}, //tugstair {"Boxville"}, {"Farm Plow"}, //farmtr1 {"Utility Trailer"} //utiltr1 }; forward SkinSelect(playerid); forward VehicleSelect(playerid); forward WorldSelect(playerid); forward Float:GetPlayerArmourEx(p); forward PlayerPickUpPickupSetAmmo(playerid, slotid, slotammo); forward PlayerPickUpPickupSetArmour(playerid, Float:playerarmour); forward PickDestroy(o); forward OnPlayerDisconnect(playerid, reason); forward OnPlayerConnect(playerid); forward Keys(); forward RemoveRamp(playerid); forward Float:GetOptimumRampDistance(playerid); forward Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance); forward keys2(); main() { print("\n----------------------------------"); print(" UVH Mode "); print("----------------------------------\n"); } Float:GetPlayerArmourEx(p) { new Float:a; GetPlayerArmour(p, a); return a; } dcmd_g(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new cString[256]; if (!strlen(params[0])) { SendClientMessage(playerid, COLOR_RED, "[USAGE]: /g GRAVITY or /gravity GRAVITY"); return true; } new Float:grav = floatstr(params[0]); SetGravity(grav); format(cString, 128, "[SUCCESS]: World gravity changed to %f", grav); SendClientMessage(playerid, COLOR_GREEN, cString); } return true; } dcmd_gravity(playerid, params[]) { if(IsPlayerAdmin(playerid)) { dcmd_g(playerid, params); } return true; } dcmd_w(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new idx, iString[256]; iString = strtok(params, idx); if (!strlen(iString)) { SendClientMessage(playerid, COLOR_RED, "[USAGE]: /w WEATHERID or /weather WEATHERID"); return true; } idx = strval(iString); if (idx < MIN_WEAT_ID || idx > MAX_WEAT_ID) { SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid WEATHERID"); return true; } gWorldStatus[1] = idx; SetWeather(idx); format(iString, 128, "[SUCCESS]: Weather has changed to WEATHERID %d", idx); SendClientMessage(playerid, COLOR_GREEN, iString); } return true; } dcmd_weather(playerid, params[]) { if(IsPlayerAdmin(playerid)) { dcmd_w(playerid, params); } return true; } dcmd_t(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new idx, iString[256]; iString = strtok(params, idx); if (!strlen(iString)) { SendClientMessage(playerid, COLOR_RED, "[USAGE]: /t HOUR or /time HOUR"); return true; } idx = strval(iString); if (idx < MIN_TIME_ID || idx > MAX_TIME_ID) { SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid HOUR"); return true; } gWorldStatus[0] = idx; SetWorldTime(idx); format(iString, 128, "[SUCCESS]: Time has changed to HOUR %d", idx); SendClientMessage(playerid, COLOR_GREEN, iString); } return true; } dcmd_time(playerid, params[]) { if(IsPlayerAdmin(playerid)) { dcmd_t(playerid, params); } return true; } dcmd_wsel(playerid, params[]) { if(IsPlayerAdmin(playerid)) { #pragma unused params new cString[256]; if (gPlayerStatus[playerid] != 0) { format(cString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[gPlayerStatus[playerid] - 1]); SendClientMessage(playerid, COLOR_RED, cString); return true; } new Float:x, Float:y, Float:z; gPlayerStatus[playerid] = WORL_SEL_STAT; GetPlayerPos(playerid, x, y, z); SetPlayerCameraPos(playerid, x, y, z + 40.0); GetXYInFrontOfPlayer(playerid, x, y, 100.0); SetPlayerCameraLookAt(playerid, x, y, z + 5.0); TogglePlayerControllable(playerid, 0); gPlayerTimers[playerid] = SetTimerEx("WorldSelect", 200, 1, "i", playerid); GameTextForPlayer(playerid, "WorldSelect", 1500, 3); } return true; } dcmd_v(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new idx, iString[256]; iString = strtok(params, idx); if (gPlayerStatus[playerid] != 0) { format(iString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[gPlayerStatus[playerid] - 1]); SendClientMessage(playerid, COLOR_RED, iString); return true; } if (!strlen(iString)) { SendClientMessage(playerid, COLOR_RED, "[USAGE]: /v MODELID/NAME or /vehicle MODELID/NAME"); return true; } idx = GetVehicleModelIDFromName(params[1]); if(idx == -1) { idx = strval(iString); if (idx < MIN_VEHI_ID || idx > MAX_VEHI_ID) { SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid MODELID/NAME"); return true; } } new Float:x, Float:y, Float:z, Float:a; GetPlayerPos(playerid, x, y, z); GetXYInFrontOfPlayer(playerid, x, y, VEHI_DIS); GetPlayerFacingAngle(playerid, a); curPlayerVehM[playerid] = idx; curPlayerVehI[playerid] = CreateVehicle(idx, x, y, z + 2.0, a + 90.0, -1, -1, 5000); LinkVehicleToInterior(curPlayerVehI[playerid], GetPlayerInterior(playerid)); curServerVehP[curPlayerVehI[playerid]][spawn] = true; curServerVehP[curPlayerVehI[playerid]][vmodel] = idx; curServerVehP[curPlayerVehI[playerid]][vInt] = GetPlayerInterior(playerid); format(iString, 128, "[SUCCESS]: Spawned a \"%s\" (MODELID: %d, VEHICLEID: %d)", aVehicleNames[idx - MIN_VEHI_ID], idx, curPlayerVehI[playerid]); SendClientMessage(playerid, COLOR_GREEN, iString); } return true; } dcmd_vehicle(playerid, params[]) { if(IsPlayerAdmin(playerid)) { dcmd_v(playerid, params); } return true; } dcmd_vsel(playerid, params[]) { if(IsPlayerAdmin(playerid)) { // /vsel allows players to select a vehicle using playerkeys. #pragma unused params new cString[256]; if (gPlayerStatus[playerid] != 0) { format(cString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[gPlayerStatus[playerid] - 1]); SendClientMessage(playerid, COLOR_RED, cString); return true; } new Float:x, Float:y, Float:z, Float:a; gPlayerStatus[playerid] = VEHI_SEL_STAT; GetPlayerPos(playerid, x, y, z); SetPlayerCameraPos(playerid, x, y, z + 3.0); GetXYInFrontOfPlayer(playerid, x, y, VEHI_DIS); SetPlayerCameraLookAt(playerid, x, y, z); TogglePlayerControllable(playerid, 0); GetPlayerFacingAngle(playerid, a); curPlayerVehI[playerid] = CreateVehicle(curPlayerVehM[playerid], x, y, z + 2.0, a + 90.0, -1, -1, 5000); LinkVehicleToInterior(curPlayerVehI[playerid], GetPlayerInterior(playerid)); curServerVehP[curPlayerVehI[playerid]][spawn] = true; curServerVehP[curPlayerVehI[playerid]][vmodel] = curPlayerVehM[playerid]; curServerVehP[curPlayerVehI[playerid]][vInt] = GetPlayerInterior(playerid); gPlayerTimers[playerid] = SetTimerEx("VehicleSelect", 200, 1, "i", playerid); } return true; } dcmd_ssel(playerid, params[]) { if(IsPlayerAdmin(playerid)) { // /ssel allows players to select a skin using playerkeys. #pragma unused params new cString[256]; if (gPlayerStatus[playerid] != 0) { format(cString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[gPlayerStatus[playerid] - 1]); SendClientMessage(playerid, COLOR_RED, cString); return true; } new Float:x, Float:y, Float:z; gPlayerStatus[playerid] = SKIN_SEL_STAT; GetPlayerPos(playerid, x, y, z); SetPlayerCameraLookAt(playerid, x, y, z); GetXYInFrontOfPlayer(playerid, x, y, 3.5); SetPlayerCameraPos(playerid, x, y, z); TogglePlayerControllable(playerid, 0); gPlayerTimers[playerid] = SetTimerEx("SkinSelect", 200, 1, "i", playerid); } return true; } dcmd_s(playerid, params[]) { if(IsPlayerAdmin(playerid)) { // /s SKINID allows players to directly select a skin using it's ID. new idx, iString[256]; iString = strtok(params, idx); if (!strlen(iString)) { SendClientMessage(playerid, COLOR_RED, "[USAGE]: /s SKINID"); return true; } idx = strval(iString); if (IsInvalidSkin(idx) || idx < MIN_SKIN_ID || idx > MAX_SKIN_ID) { SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid SKINID"); return true; } SetPlayerSkin(playerid, idx); curPlayerSkin[playerid] = idx; format(iString, 128, "[SUCCESS]: Changed skin to SKINID %d", idx); SendClientMessage(playerid, COLOR_GREEN, iString); } return true; } dcmd_skin(playerid, params[]) { if(IsPlayerAdmin(playerid)) { dcmd_s(playerid, params); } return true; } dcmd_goto(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new idx, iString[256]; iString = strtok(params, idx); if (!strlen(iString)) { SendClientMessage(playerid, COLOR_RED, "[USAGE]: /goto PLAYERID (X_OFFSET Y_OFFSET Z_OFFSET)"); return true; } new ID = strval(iString); if (!IsPlayerConnected(ID)) { SendClientMessage(playerid, COLOR_RED, "[ERROR]: Not connected PLAYERID."); return true; } new Float:X, Float:Y, Float:Z; new Interior = GetPlayerInterior(ID); GetPlayerPos(ID, X, Y, Z); iString = strtok(params, idx); if (!strlen(iString)) { GetXYInFrontOfPlayer(ID, X, Y, 1.5); SetPlayerInterior(playerid, Interior); SetPlayerPos(playerid, X, Y, Z); GetPlayerName(ID, iString, 128); format(iString, 128, "[SUCCESS]: You have warped to %s (ID: %d).", iString, ID); SendClientMessage(playerid, COLOR_GREEN, iString); return true; } X += floatstr(iString); iString = strtok(params, idx); if (!strlen(iString)) { goto fwarpto; } Y += floatstr(iString); iString = strtok(params, idx); if (!strlen(iString)) { goto fwarpto; } Z += floatstr(iString); fwarpto: SetPlayerInterior(playerid, Interior); SetPlayerPos(playerid, X, Y, Z); GetPlayerName(ID, iString, 128); format(iString, 128, "[SUCCESS]: You have warped to %s (ID: %d).", iString, ID); SendClientMessage(playerid, COLOR_GREEN, iString); } return true; } dcmd_warpto(playerid, params[]) { if(IsPlayerAdmin(playerid)) { dcmd_goto(playerid, params); } return true; } dcmd_setloc(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new idx, iString[256]; iString = strtok(params, idx); if (!strlen(iString)) { SendClientMessage(playerid, COLOR_RED, "[USAGE]: /setloc X Y Z INTERIOR"); return true; } new Float:X, Float:Y, Float:Z; new Interior; X = floatstr(iString); Y = floatstr(strtok(params,idx)); Z = floatstr(strtok(params,idx)); Interior = strval(strtok(params,idx)); SetPlayerInterior(playerid, Interior); SetPlayerPos(playerid, X, Y, Z); } return true; } dcmd_bring(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new idx, iString[256]; iString = strtok(params, idx); if (!strlen(iString)) { SendClientMessage(playerid, COLOR_RED, "[USAGE]: /bring PLAYERID (X_OFFSET Y_OFFSET Z_OFFSET)"); return true; } new ID = strval(iString); if (!IsPlayerConnected(ID)) { SendClientMessage(playerid, COLOR_RED, "[ERROR]: Not connected PLAYERID."); return true; } new Float:X, Float:Y, Float:Z; new Interior = GetPlayerInterior(playerid); GetPlayerPos(playerid, X, Y, Z); iString = strtok(params, idx); if (!strlen(iString)) { GetXYInFrontOfPlayer(playerid, X, Y, 1.5); SetPlayerInterior(ID, Interior); SetPlayerPos(ID, X, Y, Z); GetPlayerName(ID, iString, 128); format(iString, 128, "[SUCCESS]: You have brought %s (ID: %d) to you.", iString, ID); SendClientMessage(playerid, COLOR_GREEN, iString); return true; } X += floatstr(iString); iString = strtok(params, idx); if (!strlen(iString)) { goto fbring; } Y += floatstr(iString); iString = strtok(params, idx); if (!strlen(iString)) { goto fbring; } Z += floatstr(iString); fbring: SetPlayerInterior(ID, Interior); SetPlayerPos(ID, X, Y, Z); GetPlayerName(ID, iString, 128); format(iString, 128, "[SUCCESS]: You have brought %s (ID: %d) to you.", iString, ID); SendClientMessage(playerid, COLOR_GREEN, iString); } return true; } dcmd_weapon(playerid, params[]) { if(IsPlayerAdmin(playerid)) { dcmd_w2(playerid, params); } return true; } dcmd_w2(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new idx, iString[256]; iString = strtok(params, idx); if (!strlen(iString)) { SendClientMessage(playerid, COLOR_RED, "[USAGE]: /w2 WEAPONID/NAME (AMMO) or /weapon WEAPONID/NAME (AMMO)"); return true; } new weaponid = GetWeaponModelIDFromName(iString); if (weaponid == -1) { weaponid = strval(iString); if (weaponid < 0 || weaponid > 47) { SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid WEAPONID/NAME"); return true; } } if (!strlen(params[idx+1])) { GivePlayerWeapon(playerid, weaponid, 500); format(iString, 128, "[SUCCESS]: You were given weapon %s (ID: %d) with 500 ammo.", aWeaponNames[weaponid], weaponid); SendClientMessage(playerid, COLOR_GREEN, iString); return true; } idx = strval(params[idx+1]); GivePlayerWeapon(playerid, weaponid, idx); format(iString, 128, "[SUCCESS]: You were given weapon %s (ID: %d) with %d ammo.", aWeaponNames[weaponid], weaponid, idx); SendClientMessage(playerid, COLOR_GREEN, iString); } return true; } public PickDestroy(o)DestroyPickup(o); public PlayerPickUpPickupSetArmour(playerid, Float:playerarmour) { SetPlayerArmour(playerid,playerarmour); } public PlayerPickUpPickupSetAmmo(playerid, slotid, slotammo) { SetPlayerAmmo(playerid,slotid,slotammo); } //////////////////////////////////////////////////////////////////////////////////////////////////////////// public OnGameModeInit() { SetGameModeText("UVH Mode"); SetTimer("Keys", 100, 1); SetTimer("keys2",200,1); AllowAdminTeleport(1); EnableZoneNames(1); ShowNameTags(1); ShowPlayerMarkers(1); UsePlayerPedAnims(); AddPlayerClass(101,1958.3783,1343.1572,15.3746,270.1425,0,0,26,300,-1,-1); AddPlayerClass(110,1958.3783,1343.1572,15.3746,270.1425,0,0,26,300,-1,-1); AddPlayerClass(115,1958.3783,1343.1572,15.3746,270.1425,0,0,26,300,-1,-1); AddPlayerClass(181,1958.3783,1343.1572,15.3746,270.1425,0,0,26,300,-1,-1); AddPlayerClass(247,1958.3783,1343.1572,15.3746,270.1425,0,0,26,300,-1,-1); AddStaticVehicle(525,2269.7820,2268.1973,10.8203,88.7933,1,1); // AddStaticVehicle(449, -1542.9490, 752.6488, 7.0391, 354.1891, 12, 12); AddStaticVehicle(514,2276.1741,2282.5674,11.2990,268.3048,30,30); //tanker AddStaticVehicle(584,2255.6426,2283.5044,11.2650,270.8326,30,30); //petroltrailer AddStaticVehicle(411,2005.2042,-2035.7882,13.5469,134.7967,70,70); //infernus AddStaticVehicle(411,2498.8987,-1685.1796,13.4369,17.8053,126,126); //infernus AddStaticVehicle(402,2473.1670,-1690.0977,13.2373,3.1551,30,30); //ryderpicador AddStaticVehicle(487,365.2376,2537.8254,16.8354,182.2368,29,42); // marquick 1 AddStaticVehicle(487,-2228.0564,2325.7036,7.7187,359.6025,29,42); // marcquick 2 AddStaticVehicle(405,2439.7590,2008.9789,10.6953,270.0395,40,1); // sentyel 1 AddStaticVehicle(541,2602.1653,2085.7168,10.4411,358.5779,68,8); // bullet 2 AddStaticVehicle(555,2851.5088,2375.7458,10.5069,269.2505,68,1); // windzer 2 AddStaticVehicle(402,2613.1138,2254.4402,10.6450,90.4882,22,22); // buffelo 2 AddStaticVehicle(541,2528.5854,2398.2915,3.8360,1.6631,2,1); // bullet 3 AddStaticVehicle(559,1911.8303,2289.7939,10.4767,6.6293,2,1); // jester 3 AddStaticVehicle(579,649.7271,1702.5031,6.9226,130.8256,42,42); // huntly 2 AddStaticVehicle(405,44.3055,1162.7914,18.5391,270.3642,24,1); // sentyel 3 AddStaticVehicle(411,-44.5873,1165.9540,19.2885,180.9934,64,1); // infurnes 2 AddStaticVehicle(429,-2527.4106,2252.6714,4.6528,332.8254,13,13); // banche 2 AddStaticVehicle(559,-1941.4408,2392.6514,49.1485,291.0861,58,8); // jester 3 AddStaticVehicle(451,-2272.9246,2285.4805,4.5281,272.1964,125,125); // turismo 2 AddStaticVehicle(437,1715.6104,1471.7892,10.8770,161.5187,79,7); // coach 1 AddStaticVehicle(437,1706.9230,1439.6907,10.8280,173.2567,79,7); // coach 2 AddStaticVehicle(420,1712.9070,1393.4202,10.3486,193.5293,6,1); // taxi 1 AddStaticVehicle(420,1709.2751,1407.3428,10.3442,191.7667,6,1); // taxi 2 AddStaticVehicle(413,2059.4287,2240.0090,10.5571,89.5542,32,32); // Pony 1 AddStaticVehicle(409,2039.5847,1344.4479,10.4719,181.4359,1,1); // limo 1 AddStaticVehicle(413,2608.9758,1434.6827,10.8979,176.4506,105,1); // pony 2 AddStaticVehicle(409,2564.1248,2271.6777,10.6200,271.6982,1,1); // limo 2 AddStaticVehicle(413,2294.7915,2770.3792,10.9116,270.8540,109,1); // pony 3 AddStaticVehicle(525,2119.1260,2712.7119,10.6981,270.8324,22,30); // towtruck 1 AddStaticVehicle(535,1022.7532,1912.8250,11.0769,89.3612,28,1); // slamvan 1 AddStaticVehicle(568,393.5238,2543.3621,16.4095,149.3274,21,1); // bandito 1 AddStaticVehicle(568,-365.7845,1102.9121,19.6135,268.0183,9,39); // bandito 2 AddStaticVehicle(471,-44.8490,2353.5125,23.6202,182.9322,103,111); // quad 1 AddStaticVehicle(444,-944.9021,2746.9343,46.5861,189.7507,32,53); // monster 1 AddStaticVehicle(444,-953.6036,2745.5537,46.5823,193.2329,32,42); // monster 2 AddStaticVehicle(536,-290.0055,1775.3320,42.4430,91.7992,12,1); // blade 2 AddStaticVehicle(525,-1476.4402,1878.8938,32.5078,185.7379,17,20); // towtruck 2 AddStaticVehicle(471,-889.8527,1528.0720,25.3957,16.8545,103,111); // quad 2 AddStaticVehicle(579,-688.1631,954.6205,12.0919,73.2714,42,42); // huntly 2 AddStaticVehicle(581,2155.0261,2206.6096,10.2723,22.7369,66,1); // bf400 AddStaticVehicle(463,1852.4683,2066.5149,10.3958,181.4877,84,84); // freeway 1 AddStaticVehicle(521,2100.3325,944.6953,10.3865,268.9928,92,3); // fcr900 1 AddStaticVehicle(461,2604.5393,2131.6069,10.3984,265.7138,53,1); // pj600 1 AddStaticVehicle(461,2790.4980,2188.0017,10.3959,125.6756,53,1); // pj600 2 AddStaticVehicle(463,2310.9238,2577.0552,10.3576,179.7330,11,11); // freeway 2 AddStaticVehicle(522,1174.2169,1365.4791,10.3747,274.4023,3,8); // nrg 1 AddStaticVehicle(461,436.0948,2527.9846,16.5272,92.6702,43,1); // pj600 3 AddStaticVehicle(521,-2472.6860,2484.5906,17.3470,177.0498,75,13); // frc900 3 AddStaticVehicle(468,-1567.6953,2639.5964,55.4246,272.2135,46,46); // sanches 1 AddStaticVehicle(413,822.4622,834.1564,11.0434,331.6576,88,1); // pony 3 AddStaticVehicle(462,-363.7366,1103.5787,19.3453,268.6441,13,13); // faggio 1 AddStaticVehicle(598,2268.9163,2477.4221,10.5663,179.7880,0,1); // POLICE lvpd 1 AddStaticVehicle(598,2251.9292,2460.8462,10.5648,359.6341,0,1); // police lvpd 2 AddStaticVehicle(598,2260.7278,2442.1404,10.5672,1.1592,0,1); // lvpd 3 AddStaticVehicle(523,2278.3411,2441.6113,10.3884,357.6030,0,0); // police bike 1 AddStaticVehicle(599,2261.1182,2478.0918,11.0114,0.2949,0,1); // poice ranger 1 AddStaticVehicle(599,-1399.1746,2631.6221,55.9513,89.6817,0,1); // police ranger 2 AddStaticVehicle(493,-2258.3765,2419.3733,-0.2296,46.8724,36,13); // jetmax 1 AddStaticVehicle(454,-2210.3738,2410.3826,0.0322,45.9553,26,26); // tropic 1 AddStaticVehicle(411,-2571.9150,1149.0586,55.4536,157.9214,64,1); // infurnes 3 AddStaticVehicle(603,-2062.9048,-194.5860,35.1591,357.7038,69,1); // phoinex 2 AddStaticVehicle(525,-1715.8478,394.5023,7.0568,223.3201,17,20); // towtruck 3 AddStaticVehicle(463,-1678.4806,438.1255,6.7199,230.1280,84,84); // freeway 2 AddStaticVehicle(411,-1955.1738,302.8820,35.1958,140.1711,64,1); // infurnes 4 AddStaticVehicle(451,-1948.5112,273.2663,35.1806,119.7905,125,125); // turismo 3 AddStaticVehicle(541,-1946.3823,269.9905,35.0987,128.7914,58,8); // bullet 4 AddStaticVehicle(603,-1945.9105,264.4192,35.3091,125.0498,69,1); // phoinex 3 AddStaticVehicle(535,-1944.8008,258.8067,35.2323,89.9357,28,1); // slamvan 2 AddStaticVehicle(521,-2318.4546,985.5400,50.2612,92.9237,87,118); // fcr900 4 AddStaticVehicle(522,-1236.0127,43.0522,13.7144,226.6542,3,8); // nrg 2 AddStaticVehicle(487,-1173.1865,33.7043,14.3260,264.8947,29,42); // marquick 3 AddStaticVehicle(487,-1181.9120,18.7406,14.3216,277.3964,29,42); // marquick 4 AddStaticVehicle(417,-1222.6594,-14.5613,14.2577,228.4606,0,0); // lethen 3 AddStaticVehicle(548,-1452.6815,500.4187,19.8840,90.0480,1,1); // cargobob 1 AddStaticVehicle(519,-1342.7716,-257.3669,15.0666,315.2596,1,1); // shamel 4 AddStaticVehicle(519,-1374.0319,-223.5403,15.0626,313.1747,1,1); // shamel 5 AddStaticVehicle(592,-1633.6996,-140.0347,15.3420,315.3937,1,1); // amel 1 AddStaticVehicle(511,-1657.0466,-276.1567,15.5258,349.1506,4,90); // beagle 1 AddStaticVehicle(593,-1308.4984,-470.3462,14.6003,298.2170,58,8); // dodo 3 AddStaticVehicle(513,-1361.6124,-497.9861,14.7145,208.5793,21,36); // stunt 2 AddStaticVehicle(432,-2089.8455,-217.4429,35.3329,271.3663,43,0); // tank 1 AddStaticVehicle(432,-2089.9946,-204.9222,35.3333,273.1710,43,0); // tank 2 AddStaticVehicle(432,-2090.3042,-193.4641,35.3332,267.4234,43,0); // tank 3 AddStaticVehicle(432,-2089.8179,-180.8507,35.3327,267.1253,43,0); // tank 4 AddStaticVehicle(432,-2016.6753,-217.5217,35.3342,89.7948,43,0); // tank 6 AddStaticVehicle(432,-2017.9479,-203.4790,35.3360,91.0770,43,0); // tank 7 AddStaticVehicle(432,-2017.1674,-185.9478,35.3351,86.9170,43,0); // tank 9 AddStaticVehicle(432,-2016.4091,-197.2335,35.3356,87.3730,43,0); // tank 8 AddStaticVehicle(432,-2090.4690,-171.1398,35.3331,273.7698,43,0); // tank 5 AddStaticVehicle(432,-2016.7418,-176.3254,35.3353,85.2153,43,0); // tank 10 AddStaticVehicle(409,-1753.1986,950.6242,24.5421,88.5659,1,1); // stretch 2 AddStaticVehicle(409,-1757.3423,938.0756,24.6129,90.8806,1,1); // stretch 2 AddStaticVehicle(603,-1704.3400,1028.3372,17.4239,271.3531,75,77); // phoines 4 AddStaticVehicle(461,-1785.8167,619.8496,31.4371,184.3336,37,1); // pj600 2 AddStaticVehicle(487,-1681.9042,704.5961,30.7675,90.9026,29,42); // marquick 5 AddStaticVehicle(599,-1588.4310,673.4540,7.3808,0.1492,0,1); // police ranger 2 AddStaticVehicle(597,-1616.8450,650.5283,6.9570,4.1870,0,1); // sf police car 1 AddStaticVehicle(597,-1600.3678,750.2496,-5.4722,180.9103,0,1); // sf poilce car 2 AddStaticVehicle(597,-1573.3442,731.1058,-5.4742,272.4798,0,1); // sf police 3 AddStaticVehicle(597,-1573.0120,714.3583,-5.4736,91.9486,0,1); // sf police car 4 AddStaticVehicle(597,-1608.4512,693.4437,-5.4716,178.7763,0,1); // sf poilce 5 AddStaticVehicle(597,-1632.4569,693.4393,-5.4720,179.0899,0,1); // sf poilce 6 AddStaticVehicle(541,-1622.5687,653.5968,-5.6172,271.1653,60,1); // bullet 4 AddStaticVehicle(523,-1596.6940,674.5662,-5.6804,356.0903,0,0); // poilce bike 2 AddStaticVehicle(523,-1599.8395,674.6253,-5.6808,0.4780,0,0); // police bike 3 AddStaticVehicle(402,-2090.0686,-83.4225,34.9959,358.5446,13,13); // buffelo 3 AddStaticVehicle(416,-2655.8655,627.2515,14.6021,268.7183,1,3); // amberlance 1 AddStaticVehicle(416,-2644.9885,627.0764,14.6025,266.7907,1,3); // amberlance 2 AddStaticVehicle(416,-2671.5210,628.6816,14.6024,266.7411,1,3); // amberlance 3 AddStaticVehicle(416,-2589.5774,627.7122,14.6085,90.1393,1,3); // amberlance 4 AddStaticVehicle(405,-2134.0793,643.6107,52.1893,357.8752,24,1); // sentyel 4 AddStaticVehicle(411,-2105.6274,900.5546,76.3631,8.2169,64,1); // infurnes 5 AddStaticVehicle(536,-2451.4941,742.2098,34.7532,359.7487,12,1); // blade 3 AddStaticVehicle(481,-1215.3861,1841.3306,41.2360,48.1709,3,3); // bmx 1 AddStaticVehicle(481,-2513.5803,728.6426,34.5355,267.4695,3,3); // bmx 2 AddStaticVehicle(537,-1943.3127,158.0254,27.0006,357.3614,1,1); AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,1,1); AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,1,1); AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,1,1); return 1; } public OnGameModeExit() { for (new i=0; i0.0){ format(s, 256 ,"%.0f", X); temp = strval(s); PX = random((temp+2)-(temp-2))+(temp-2); format(s, 256 ,"%.0f", Y); temp = strval(s); PY = random((temp+2)-(temp-2))+(temp-2); new pickid = CreatePickup(373, 4,PX, PY, Z); PickUpWeaponSlot[pickid]=14; PickUpWeaponAmmo[pickid]=0; PickUpArmour[pickid]=playerarmour; DropPick[pickid]=true; PickUpMoney[pickid]=false; } else { PickUpMoneyBit=true; } } if(i==15){ PickUpMoneyBit=true; } } if(PickUpMoneyBit) { format(s, 256 ,"%.0f", X); temp = strval(s); PX = random((temp+2)-(temp-2))+(temp-2); format(s, 256 ,"%.0f", Y); temp = strval(s); PY = random((temp+2)-(temp-2))+(temp-2); new pickid = CreatePickup(1212, 4,PX, PY, Z); PickUpMoney[pickid]=true; PickUpMoneyAmmount[pickid]=GetPlayerMoney(playerid); PickUpWeaponAmmo[pickid]=0; PickUpArmour[pickid]=0.0; DropPick[pickid]=true; } ResetPlayerMoney(playerid); return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerPrivmsg(playerid, recieverid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new idx; new dancestyle; new color1; new color2; new vehicleid; new giveplayerid, moneys; new playermoney; new sendername[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME]; vehicleid = GetPlayerVehicleID(playerid); cmd = strtok(cmdtext, idx); dcmd(s, 1, cmdtext); dcmd(ssel, 4, cmdtext); dcmd(skin, 4, cmdtext); dcmd(v, 1, cmdtext); dcmd(vsel, 4, cmdtext); dcmd(vehicle, 7, cmdtext); dcmd(w, 1, cmdtext); dcmd(t, 1, cmdtext); dcmd(g, 1, cmdtext); dcmd(wsel, 4, cmdtext); dcmd(time, 4, cmdtext); dcmd(weather, 7, cmdtext); dcmd(gravity, 7, cmdtext); dcmd(w2, 2, cmdtext); dcmd(goto, 4, cmdtext); dcmd(bring, 5, cmdtext); dcmd(warpto, 6, cmdtext); dcmd(weapon, 6, cmdtext); dcmd(setloc, 6, cmdtext); if(strcmp(cmd, "/commands", true) == 0) { SendClientMessage(playerid, COLOR_RED, "/gestures, /givecash, /kill, /detach, /me, /afk, /back, /setramp, /ramps."); return 1; } if(strcmp(cmd, "/admincommands", true) == 0) { SendClientMessage(playerid, COLOR_RED, "/heal, /flip, /addcomp, /carcolor, /v(sel), /skin(sel), /w(sel), /t(ime)."); return 1; } if(strcmp(cmd, "/gestures", true) == 0) { SendClientMessage(playerid, COLOR_RED, "/drunk, /wank, /dance 1-3, /handsup."); return 1; } if (strcmp("/setramp", cmdtext, true, 7) == 0) { new ramp = strval(cmdtext[9]); if (ramp < 0 || ramp >= sizeof(ramptypes)) { SendClientMessage(playerid, 0xFFFFFFAA, "Invalid ramp ID."); } else { playerramptypes[playerid] = ramp; } return 1; } if (strcmp("/ramps", cmdtext, true, 6) == 0) { SendClientMessage(playerid, 0xFFFFFFAA, "0. Curved Ramp"); SendClientMessage(playerid, 0xFFFFFFAA, "1. Concrete Ramp With Pipes"); SendClientMessage(playerid, 0xFFFFFFAA, "2. Planks Of Wood Against Boxes"); SendClientMessage(playerid, 0xFFFFFFAA, "3. Wood Against Rocks"); SendClientMessage(playerid, 0xFFFFFFAA, "4. Normal Water Ramp"); SendClientMessage(playerid, 0xFFFFFFAA, "5. Wide Water Ramp"); SendClientMessage(playerid, 0xFFFFFFAA, "6. Small Kick Ramp With Yellow Arrow"); SendClientMessage(playerid, 0xFFFFFFAA, "7. Ring"); SendClientMessage(playerid, 0xFFFFFFAA, "8. LV Highway Lamppost"); return 1; } if(strcmp(cmd, "/afk", true) == 0) { SetPlayerVirtualWorld(playerid, 2); TogglePlayerControllable(playerid, 0); return 1; } if(strcmp(cmd, "/back", true) == 0) { SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); return 1; } if(strcmp(cmd, "/drunk", true) == 0) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { ApplyAnimation(playerid, "PED", "WALK_DRUNK", 4.1, 1, 1, 1, 1, 1); return 1; } } if(strcmp(cmd, "/wank", true) == 0) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { ApplyAnimation(playerid, "PAULNMAC", "wank_loop", 4.1, 1, 1, 1, 1, 1); return 1; } } if(strcmp(cmd, "/handsup", true) == 0) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP); return 1; } } if(strcmp(cmd, "/dance", true) == 0) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { new tmp[256]; // Get the dance style param tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid,0xFF0000FF,"Usage: /dance [style 1-3]"); return 1; } dancestyle = strval(tmp); if(dancestyle < 1 || dancestyle > 3) { SendClientMessage(playerid,0xFF0000FF,"Usage: /dance [style 1-3]"); return 1; } if(dancestyle == 1) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1); } else if(dancestyle == 2) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE2); } else if(dancestyle == 3) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3); } return 1; } } if(strcmp(cmd, "/givecash", true) == 0) { new tmp[256]; new string [256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]"); return 1; } moneys = strval(tmp); //printf("givecash_command: %d %d",giveplayerid,moneys); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(playerid); if (moneys > 0 && playermoney >= moneys) { GivePlayerMoney(playerid, (0 - moneys)); GivePlayerMoney(giveplayerid, moneys); format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid); SendClientMessage(giveplayerid, COLOR_YELLOW, string); printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid); } else { SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount."); } } else { format(string, sizeof(string), "%d is not an active player.", giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } if (strcmp(cmd, "/addcomp", true)==0) { if(IsPlayerAdmin(playerid)) { new tmp[256], string[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid,COLOR_YELLOW,"USAGE: /addcomp [componetid]"); return 1; } new compid = strval(tmp); if(IsPlayerInAnyVehicle(playerid)) { if(compid < 1000 || compid > 1193) { SendClientMessage(playerid,COLOR_YELLOW,"ERROR: Invalid componet ID."); return 1; } else { new carid = GetPlayerVehicleID(playerid); AddVehicleComponent(carid,compid); format(string,sizeof(string),"Successfuly added the requested componet (%d).",compid); SendClientMessage(playerid,COLOR_YELLOW, string); return 1; } } else { SendClientMessage(playerid,COLOR_YELLOW,"ERROR: You are not in a vehicle."); return 1; } } } if (strcmp(cmdtext, "/detach", true)==0) { new tmp = GetPlayerVehicleID(playerid); new ttmp = GetVehicleTrailer(tmp); AttachTrailerToVehicle(ttmp,tmp); DetachTrailerFromVehicle(tmp); SendClientMessage(playerid, COLOR_YELLOW, "Trailer detached"); return 1; } if(strcmp(cmd, "/carcolor", true) == 0) { if(IsPlayerAdmin(playerid)) { new tmp1[256]; new tmp2[256]; tmp1 = strtok(cmdtext, idx); tmp2 = strtok(cmdtext, idx); color1 = strval(tmp1); color2 = strval(tmp2); ChangeVehicleColor(vehicleid, color1, color2); } else { SendClientMessage(playerid, COLOR_RED, "You must be an admin!"); } return 1; } if(strcmp(cmd, "/kill", true) == 0) { SetPlayerHealth(playerid, 0.0); return 1; } if(strcmp(cmdtext, "/me", true, 3)==0) { new str[256], pname[256]; GetPlayerName(playerid, pname, 256); format(str, 256, "*** %s %s", pname, cmdtext[4]); SendClientMessageToAll(COLOR_YELLOW, str); return 1; } if(strcmp(cmd, "/heal", true) == 0) { if(IsPlayerAdmin(playerid)) { if(IsPlayerInAnyVehicle(playerid)) { SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0); SetPlayerHealth(playerid, 100.0); SetPlayerArmour(playerid, 100.0); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); GetXYInFrontOfPlayer(playerid, x, y, 8.0); } else { SetPlayerHealth(playerid, 100.0); SetPlayerArmour(playerid, 100.0); } } else { SendClientMessage(playerid, COLOR_RED, "You aren't admin!"); } return 1; } if (strcmp(cmdtext, "/flip", true)==0) { new VehicleID, Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); VehicleID = GetPlayerVehicleID(playerid); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, 0); return 1; } return 0; } public OnPlayerInfoChange(playerid) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(PickUpMoney[pickupid]){ GivePlayerMoney(playerid,PickUpMoneyAmmount[pickupid]); } if(PickUpArmour[pickupid]>0){ new Float:currentarmour = GetPlayerArmourEx(playerid); if(currentarmour<255.0) { new Float:newarmour = currentarmour + PickUpArmour[pickupid]; if(newarmour>255.0) { newarmour = float(255); } SetTimerEx("PlayerPickUpPickupSetArmour", 500, 0, "df", playerid, newarmour); } else { return 0; } } if(PickUpWeaponAmmo[pickupid]>0){ new currentslotweapon, currentslotammo; GetPlayerWeaponData(playerid,PickUpWeaponSlot[pickupid],currentslotweapon,currentslotammo); new newslotammo = currentslotammo + PickUpWeaponAmmo[pickupid]; SetTimerEx("PlayerPickUpPickupSetAmmo", 500, 0, "d", playerid, PickUpWeaponSlot[pickupid], newslotammo); } if(DropPick[pickupid]){ DropPick[pickupid]=false; PickUpMoney[pickupid]=false; PickUpArmour[pickupid]=0; SetTimerEx("PickDestroy", 1000, 0, "d", pickupid); } return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } public keys2() { new lKeys, Mike1, Mike2; new Float:px,Float:py,Float:pz; new Float:cx,Float:cy,Float:cz; for(new i = 0; i < SLOTS; i++) { if(IsPlayerConnected(i)) { GetPlayerPos(i,px,py,pz); for(new j = 0; j < MAX_VEHICLES; j++) { if(GetVehicleModel(j) == 564 || GetVehicleModel(j) == 501 || GetVehicleModel(j) == 464 || GetVehicleModel(j) == 441) { GetVehiclePos(j,cx,cy,cz); if( floatsqroot( floatpower(px-cx,2.0) + floatpower(py-cy,2.0) + floatpower(pz-cz,2.0)) < 3.0) { GetPlayerKeys(i, lKeys, Mike1, Mike2); if (lKeys & KEY_SECONDARY_ATTACK) { PutPlayerInVehicle(i, j, 0); } } } } } } } public Keys() { new keys, updown, leftright, playerid; new Float:x, Float:y, Float:z, Float:angle; for (playerid = 0; playerid < MAX_PLAYERS; playerid++) { if (IsPlayerConnected(playerid)) { GetPlayerKeys(playerid, keys, updown, leftright); if (keys & KEY_ACTION && IsPlayerInAnyVehicle(playerid)) { if (!keydown[playerid]) { keydown[playerid] = true; if (rampid[playerid] == -1) { GetPlayerPos(playerid, x, y, z); angle = GetXYInFrontOfPlayer(playerid, x, y, GetOptimumRampDistance(playerid)); switch (playerramptypes[playerid]) { case 2: { angle -= 90.0; if (angle < 0.0) angle += 360.0; z += 0.5; } case 1: { z -= 0.5; } } rampid[playerid] = CreateObject(ramptypes[playerramptypes[playerid]], x, y, z - 0.5, 0.0, 0.0, angle); SetTimerEx("RemoveRamp", 2000, 0, "d", playerid); } } } else keydown[playerid] = false; } } } public RemoveRamp(playerid) { if (rampid[playerid] != -1) { DestroyObject(rampid[playerid]); rampid[playerid] = -1; } } IsInvalidSkin(skinid) { // Created by Simon #define MAX_BAD_SKINS 22 new badSkins[MAX_BAD_SKINS] = { 3, 4, 5, 6, 8, 42, 65, 74, 86, 119, 149, 208, 265, 266, 267, 268, 269, 270, 271, 272, 273, 289 }; for (new i = 0; i < MAX_BAD_SKINS; i++) { if (skinid == badSkins[i]) return true; } return false; } Float:GetOptimumRampDistance(playerid) { new ping = GetPlayerPing(playerid), Float:dist; dist = floatpower(ping, 0.25); dist = dist*4.0; dist = dist+5.0; return dist; } Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance) { new Float:a; GetPlayerPos(playerid, x, y, a); if (IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), a); else GetPlayerFacingAngle(playerid, a); x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees)); return a; } GetVehicleModelIDFromName(vname[]) { for(new i = 0; i < 211; i++) { if (strfind(aVehicleNames[i], vname, true) != -1) { return i + MIN_VEHI_ID; } } return -1; } GetWeaponModelIDFromName(wname[]) { for(new i = 0; i < 48; i++) { if (i == 19 || i == 20 || i == 21) continue; if (strfind(aWeaponNames[i], wname, true) != -1) { return i; } } return -1; }