//-----------------------------Credits go to: //Some of the SF Classes by Cam //Selection Screen Sounds by CodeMaster //DM Messages by Yellowblood //Xtreme Vehicle Management + Streamer by tAxI //Multi Language Code by Yom //Race Script by Yagu //Kapils Instant House Constructions by Kapil //Gang script taken from Jax's LVDM ~MoneyGrub(+LandGrab) //Admin System by Xtreme - Incorporated by [SP]JESTER and jthebeast2007 //[CBK]MoNeYPiMp Made this /*------------------------MULTI LANGUAGE FORMAT EXAMPLE!!!---------------------- if((strcmp(cmdtext,"/help",true) == 0)|| (strcmp(cmdtext,"/aide",true) == 0)) { switch (Language[playerid]) { case 0: { SendClientMessage(playerid,0xFFD400AA,"HELP:"); SendClientMessage(playerid,0xFFD400AA,"Type /lock to close your vehicle."); SendClientMessage(playerid,0xFFD400AA,"Type /unlock to open your vehicle."); } case 1: { SendClientMessage(playerid,0xFFD400AA,"AIDE:"); SendClientMessage(playerid,0xFFD400AA,"Tape /lock pour fermer ton vehicule."); SendClientMessage(playerid,0xFFD400AA,"Tape /unlock pour ouvrir ton vehicule."); } } return 1; } */ //===============================Include Files================================== #include #include #include "xadmin/XtremeAdmin.inc" #pragma tabsize 4 #pragma dynamic 568000 #pragma unused AddStaticHouse,LoadPly,OnPlayerEnterHousee,SavePly,SetHouseCost,GetHouseOwner #define V_FILE_LOAD "SYS_SETUP/vehicles_stream_setup.PiMp" #define B_FILE_LOAD "SYS_SETUP/businesses_stream_setup.PiMp" #define V_FILE_SAVE "SYS_SAVE/vehicles_stream_perm.PiMp" #define B_FILE_SAVE "SYS_SAVE/businesses_stream_perm.PiMp" #define P_FILE "xadmin/Users/%s.ini" #define B_ICON 1272 #define B_ICON_TYPE 2 #define PD_TIMER 1800000 #define CALL_UNIT_COST 1 #define DEFAULT_OWNER "[null]" #define B_LIMIT 2000 #define RunOutTime 30000 #define COLOR_AQUA 0x7CFC00AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_PINK 0xFF66FFAA #define COLOR_BLUE 0x0000BBAA #define COLOR_WHITE 0xFFFFFFAA #define COLOR_LIGHTBLUE 0x33CCFFAA #define COLOR_ORANGE 0xFF9900AA #define COLOR_INDIGO 0x4B00B0AA #define yellow 0xFFFF00AA #define green 0x33FF33AA #define red 0xFF0000AA #define white 0xFFFFFFAA #define pink 0xCCFF00FFAA #define blue 0x00FFFFAA #define grey 0xC0C0C0AA //===============================Class Defines================================== #define TEAM_WORKER 0 #define TEAM_PIMP 1 #define TEAM_GOLFER 2 #define TEAM_TRIAD 3 #define TEAM_ARMY 4 #define TEAM_VALET 5 #define TEAM_MEDIC 6 #define TEAM_FBI 7 #define TEAM_CHICKEN 8 #define TEAM_RICH 9 #define TEAM_PILOT 10 #define TEAM_DANANG 11 #define TEAM_LVBALLA 12 #define TEAM_LVGROVE 13 #define TEAM_LVVAGO 14 #define TEAM_LVAZTEC 15 #define TEAM_LVTRIAD 16 #define TEAM_LVMEDIC 17 #define TEAM_LVFIRE 18 #define TEAM_LVCOP 19 #define TEAM_LVARMY 20 #define TEAM_LVCIV 21 #define TEAM_LSCOP 22 #define TEAM_LSCOP2 23 #define TEAM_LSGROVE 24 #define TEAM_LSGROVE2 25 #define TEAM_LSVAGO 26 #define TEAM_LSVAGO2 27 #define TEAM_LSAZTECA 28 #define TEAM_LSAZTECA2 29 #define TEAM_LSBALLA 30 #define TEAM_LSBALLA2 31 #define TEAM_LSPIZZABOY 32 //==============Experimental Streamer System Tokens and Symbols================= #define MAX_MODEL_NUMBER 620 #define MAX_STREAM_VEHICLES 2500 #define MAX_ACTIVE_VEHICLES 695 #define MAX_ACTIVE_PICKUPS 250 #define MAX_ACTIVE_MODELS 68 #define MAX_ACTIVE_MM_ICONS 32 #define DEFAULT_SPAWN_DIST 200 #define PICKUP_TYPE_BIZ 2 #define PICKUP_TYPE_BANK 3 //=====================Xadmin=================================================== static Menu:GiveCar, Menu:Weather,ServerWeather = 0; forward PingKick(); //============================================================================== new Vstreamcount = 0; new vehused[MAX_ACTIVE_VEHICLES]; new MMstreamcount[MAX_PLAYERS]; new MIactive[MAX_PLAYERS][B_LIMIT]; new MIidnum[MAX_PLAYERS][B_LIMIT]; new PUstreamcount = 0; new streamidn[MAX_PLAYERS]; new vstreamid[MAX_PLAYERS]; new avstream [MAX_ACTIVE_VEHICLES]; enum mmapinfo { mmodel, Float:mx_spawn, Float:my_spawn, Float:mz_spawn, Float:mspawndist, mvalid, }; new MapIconInfo[B_LIMIT][mmapinfo]; enum PInfo { model, Float:x_spawn, Float:y_spawn, Float:z_spawn, spawned, idnum, valid, type, }; new PickupInfo[B_LIMIT][PInfo]; //================================Text Draws==================================== new Text:vehiclehpbar[12]; new Text:stxt[MAX_PLAYERS]; new sstring[256]; //===============================Gang Defines=================================== #define MAX_GANGS 32 #define MAX_GANG_MEMBERS 6 #define MAX_GANG_NAME 16 new gangMembers[MAX_GANGS][MAX_GANG_MEMBERS]; new gangNames[MAX_GANGS][MAX_GANG_NAME]; new gangInfo[MAX_GANGS][3]; //0-created,1-members,2-color new gangBank[MAX_GANGS]; new playerGang[MAX_PLAYERS]; new gangInvite[MAX_PLAYERS]; forward PlayerLeaveGang(playerid); //===========================Race Defines/Forwards============================== #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 #define MAX_RACECHECKPOINTS 64 // Change if you want more room for checkpoints than this #define MAX_BUILDERS 4 // Change if you want more builderslots than this #define RACEFILE_VERSION 2 // !!! DO NOT CHANGE !!! #define MENUSYSTEM // Enable menus, comment to disable. new MajorityDelay = 120; // Default delay to wait for other racers once half are ready (can be changed ingame via Admin menu) new RRotation = -1; // Is automatic Race Rotation enabled by defaul? (can be changed ingame via Admin menu) (-1 = disabled, 0+ = enabled) new RRotationDelay = 300000; // How often will we poll for new race start if RRotation is enabled? (Default: 5 minutes, can't be changed IG) new BuildAdmin = 1; //Require admin privileges for building races? 1) yes, 0) no. (Can be changed ingame in Admin menu) new RaceAdmin = 1; //Require admin privileges for starting races? 1) yes, 0) no. (Can be changed ingame in Admin menu) new PrizeMode=0; //Mode for winnings: 0 - Fixed, 1 - Dynamic, 2 - Entry fee, 3 - EF+F, 4 EF+D [Admin menu ingame] new Prize=30000; //Fixed prize sum (15,000$ for winner, 12,5000$ for 2nd and 10,000$ for 3rd) [Admin menu ingame] new DynaMP=1; //Dynamic prize multiplier. (Default: 1$/m) [Admin menu ingame] new JoinFee=1000; //Amount of $ it costs to /join a race [Admin menu ingame] #if defined MENUSYSTEM forward RefreshMenuHeader(playerid,Menu:menu,text[]); new Menu:MAdmin, Menu:MPMode, Menu:MPrize, Menu:MDyna, Menu:MBuild, Menu:MLaps; new Menu:MRace, Menu:MRacemode, Menu:MFee, Menu:MCPsize, Menu:MDelay; #endif #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFAA forward RaceRotation(); forward LockRacers(); forward UnlockRacers(); forward SaveScores(); // After race, if new best times have been made, saves them. forward GetRaceTick(playerid); // Gets amount of ticks the player was racing forward GetLapTick(playerid); // Gets amount of ticks the player spend on the lap forward ReadyRefresh(); // Check the /ready status of players and start the race when ready forward RaceSound(playerid,sound); // Plays for forward BActiveCP(playerid,sele); // Gives the player selected checkpoint forward endrace(); // Ends the race, whether it ended normally or by /endrace. Cleans the variables. forward countdown(); // Handles the countdown forward mscountdown(); //Majority Start countdown handler forward rstrtok(const string[],&index); forward SetNextCheckpoint(playerid); // Gives the next checkpoint for the player during race forward CheckBestLap(playerid, laptime); // Check if is better than any of the ones in highscore list, and update. forward CheckBestRace(playerid,racetime); // Check if is better than any of the ones in highscore list, and update. forward ChangeLap(playerid); // Change player's lap, print out time and stuff. forward SetRaceCheckpoint(playerid,target,next); // Race-mode checkpoint setter forward SetBRaceCheckpoint(playerid,target,next); // Builder-mode checkpoint setter forward LoadTimes(playerid,timemode,tmp[]); // bestlap and bestrace-parameter race loader forward IsNotAdmin(playerid); // Is the player admin, if no, return 1 with an error message. forward GetBuilderSlot(playerid); // Get next free builderslot, return 0 if none available forward b(playerid); // Quick and dirty fix for the BuilderSlots forward Float:Distance(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2); forward clearrace(playerid); forward startrace(); forward LoadRace(tmp[]); forward CreateRaceMenus(); // General variables new RotationTimer; new ystring[128]; // ystring new CBuilder[MAX_PLAYER_NAME], CFile[64], CRaceName[128]; //Creator of the race and the filename, for score changing purposes. // Racing-related variables new Pot=0; //Join fees go here new Ranking; //Finishing order for prizes new PrizeMP; //Prize multiplier new Countdown; //Countdown timer new cd; //Countdown time new MajStart=0; //Status of the Majority Start timer new MajStartTimer; //Majority Start timer new mscd; //Majority Start time new RaceActive; //Is a race active? new RaceStart; //Has race started? new Float:RaceCheckpoints[MAX_RACECHECKPOINTS][3]; //Current race CP array new LCurrentCheckpoint; //Current race array pointer new CurrentCheckpoint[MAX_PLAYERS]; //Current race array pointer array :V new CurrentLap[MAX_PLAYERS]; //Current lap array new RaceParticipant[MAX_PLAYERS]; //Has the player /joined the race // \_values: 0 - not in race, 1 - joined, 2 - arrived to start CP, 3 - /ready, 4 - racing, 5 - Last CP new Participants; //Amount of participants new PlayerVehicles[MAX_PLAYERS]; //For slapping the player back in their vehicle. new ORacelaps, ORacemode; //Saves the laps/mode from file in case they aren't changed new OAirrace, Float:OCPsize; new Racelaps, Racemode; //If mode/laps has been changed, the new scores won't be saved. new ScoreChange; //Flag for new best times, so they are saved. new RaceTick; //Startime of the race new LastLapTick[MAX_PLAYERS]; //Array that stores the times when players started the lap new TopRacers[6][MAX_PLAYER_NAME]; // Stores 5 top scores, 6th isn't new TopRacerTimes[6]; // saved to file, used to simplify new TopLappers[6][MAX_PLAYER_NAME];// for() loops on CheckBestLap and new TopLapTimes[6]; // CheckBestRace. new Float:CPsize; // Checkpoint size for the race new Airrace; // Is the race airrace? new Float:RLenght, Float:LLenght; //Lap lenght and race lenght // Building-related variables new BCurrentCheckpoints[MAX_BUILDERS]; //Buildrace array pointers new BSelectedCheckpoint[MAX_BUILDERS]; //Selected checkpoint during building new RaceBuilders[MAX_PLAYERS]; //Who is building a race? new BuilderSlots[MAX_BUILDERS]; //Stores the racebuilder pids new Float:BRaceCheckpoints[MAX_BUILDERS][MAX_RACECHECKPOINTS][3]; //Buildrace CP array new Bracemode[MAX_BUILDERS]; new Blaps[MAX_BUILDERS]; new Float:BCPsize[MAX_BUILDERS]; new BAirrace[MAX_BUILDERS]; //======================KIHC Statements/Forwards/Defines======================== new Float:HIX1[150]; new Float:HIY1[150]; new Float:HIZ1[150]; new Float:HOX1[150]; new Float:HOY1[150]; new Float:HOZ1[150]; new HII1[250]; new HDD[256]; new PIH1[200]; new hidd = 0; new HP1[150]; new Menu:Hmen1; new Menu:Hexit1; forward GetHouseCost(houseid); forward SetHouseOwner(houseid,hpname[]); forward opem(playerid); forward ogmi(); forward opct(playerid,cmdtext[]); forward opsm(playerid,row); forward oppp(playerid,pickupid); #if defined MIC_INCLUDED #endinput #else #endif //==================================Forwards==================================== forward IsPlayerNameOnline(compname[]); forward ParkVehicle(vehicleid); forward resetmessage(); forward resetcount(); forward announcer(); forward CheckSpeedo(); forward BackupInfo(); forward GetDriverID(vehicleid); forward SaveComponent(streamid,componentid); forward SavePaintjob(streamid,paintjobid); forward SaveColors(streamid,color1,color2); forward PhoneCut(); forward KickTimer(playerid); forward CallVehicleToPlayer(playerid); forward ctimer(); forward ResetText(playerid); forward PayDay(); forward VHPBarUpdate(); forward vehiclestreamer(); forward pickupstreamer(); forward minimapstreamer(); forward DeathProcess(vehicleid); forward ModVehicle(streamid); forward isPlayerInArea(playerID, Float:data[4]); forward SystemMsg(playerid,msg[]); forward GameModeExitFunc(); forward GetPlayers(); forward SetPlayerRandomSpawn(playerid); //=================================Info stuff=================================== enum bInfo { name[256], owner[256], bought, cost, profit, cashbox, Float:xpos, Float:ypos, Float:zpos, } new BizInfo[B_LIMIT][bInfo]; enum pInfo { name[256], vowned, vowner, bowner, bowned, pass, pcash, bank, logged, admin, team, frozen, jailed, vhpb, } new PlayerInfo[MAX_PLAYERS][pInfo]; enum vInfo { limbo, fspawn, reset, model, Float:x_spawn, Float:y_spawn, Float:z_spawn, Float:za_spawn, color_1, color_2, owner[256], vehiclecost, vused, bought, secure, asecure, buybar, name[256], spawned, idnum, Float:spawndist, valid, mod1, mod2, mod3, mod4, mod5, mod6, mod7, mod8, mod9, mod10, mod11, mod12, mod13, mod14, mod15, mod16, mod17, paintjob, modding, }; new bizmsg[MAX_PLAYERS]; new VehicleInfo[MAX_STREAM_VEHICLES][vInfo]; new bizcount = 0; new vehcount = 0; //============================Gang Zone Teams defines=========================== new Worker; new Pimp; new Golfer; new Triad; new Army; new Valet; new Medic; new FBI; new Chicken; new Rich; new Pilot; new Pilot1; new Pilot2; new DaNang; //============================Kill Timer Defines================================ new checktimer; new backtimer; new phonetimer; new counttimer; new paytimer; new vstimer; new mmstimer; new pstimer; //==============================Menu Defines==================================== new Menu:vehiclemain; new Menu:playervm; new Menu:buysell; new Menu:secure1; new Menu:secure2; new Menu:templock; new Menu:adminm; new Menu:asecure1; new Menu:asecure2; new Menu:speedom; new Menu:buyable; new Menu:healthbar; //================================Vehicle Defines=============================== new VehicleName[212][0] = { "Landstalker", "Bravura", "Buffalo", "Linerunner", "Pereniel", "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", //artict1 "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster Truck", "Admiral", "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", //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", //hotrina "Hotring Racer", //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", //firela "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster Truck", //monstera "Monster Truck", //monsterb "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight", //freiflat "Trailer", //streakc "Kart", "Mower", "Duneride", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "Newsvan", "Tug", "Trailer", //petrotr "Emperor", "Wayfarer", "Euros", "Hotdog", "Club", "Trailer", //freibox "Trailer", //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", //bagboxa "Luggage Trailer", //bagboxb "Stair Trailer", //tugstair "Boxville", "Farm Plow", //farmtr1 "Utility Trailer" //utiltr1 }; new heavycar[24][0] = { {406}, {444}, {556}, {557}, {573}, {601}, {407}, {427}, {433}, {434}, {499}, {498}, {482}, {431}, {524}, {578}, {455}, {403}, {414}, {443}, {515}, {428}, {408}, {456} }; new boat[11][0] = { {472}, {473}, {493}, {595}, {484}, {430}, {453}, {452}, {446}, {454}, {539} }; new mbike[11][0] = { {581}, {521}, {462}, {463}, {468}, {471}, {586}, {522}, {523}, {461}, {448} }; new pbike[3][0] = { {481}, {509}, {510} }; new splane[6][0] = { {593}, {512}, {513}, {460}, {464}, {465} }; new mplane[2][0] = { {519}, {511} }; new lplane[2][0] = { {553}, {592} }; new milair[4][0] = { {520}, {476}, {447}, {425} }; new sheli[4][0] = { {487}, {488}, {469}, {497} }; new lheli[3][0] = { {417}, {548}, {563} }; //==============================Important vehicle defines======================= new gPlayerClass[MAX_PLAYERS]; new tmpname[256]; new cCount[MAX_PLAYERS]; new passenger[MAX_PLAYERS]; new speedo[MAX_PLAYERS]; new aMessage[MAX_PLAYERS]; new tempid[MAX_PLAYERS]; new lockmess[MAX_STREAM_VEHICLES]; new securemess[MAX_STREAM_VEHICLES]; new carmess[999]; enum SavePlayerPosEnum { Float:LastX, Float:LastY, Float:LastZ } new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum]; //===============================Tuning Stuff=================================== new Float:ta, Float:tb, Float:tc; new PlayerInterior[MAX_PLAYERS]; new tuned; new cseconds,cstring[256]; new spoiler[20][0] = { {1000}, {1001}, {1002}, {1003}, {1014}, {1015}, {1016}, {1023}, {1058}, {1060}, {1049}, {1050}, {1138}, {1139}, {1146}, {1147}, {1158}, {1162}, {1163}, {1164} }; new nitro[3][0] = { {1008}, {1009}, {1010} }; new fbumper[23][0] = { {1117}, {1152}, {1153}, {1155}, {1157}, {1160}, {1165}, {1167}, {1169}, {1170}, {1171}, {1172}, {1173}, {1174}, {1175}, {1179}, {1181}, {1182}, {1185}, {1188}, {1189}, {1192}, {1193} }; new rbumper[22][0] = { {1140}, {1141}, {1148}, {1149}, {1150}, {1151}, {1154}, {1156}, {1159}, {1161}, {1166}, {1168}, {1176}, {1177}, {1178}, {1180}, {1183}, {1184}, {1186}, {1187}, {1190}, {1191} }; new exhaust[28][0] = { {1018}, {1019}, {1020}, {1021}, {1022}, {1028}, {1029}, {1037}, {1043}, {1044}, {1045}, {1046}, {1059}, {1064}, {1065}, {1066}, {1089}, {1092}, {1104}, {1105}, {1113}, {1114}, {1126}, {1127}, {1129}, {1132}, {1135}, {1136} }; new bventr[2][0] = { {1042}, {1044} }; new bventl[2][0] = { {1043}, {1045} }; new bscoop[4][0] = { {1004}, {1005}, {1011}, {1012} }; new rscoop[13][0] = { {1006}, {1032}, {1033}, {1035}, {1038}, {1053}, {1054}, {1055}, {1061}, {1067}, {1068}, {1088}, {1091} }; new lskirt[21][0] = { {1007}, {1026}, {1031}, {1036}, {1039}, {1042}, {1047}, {1048}, {1056}, {1057}, {1069}, {1070}, {1090}, {1093}, {1106}, {1108}, {1118}, {1119}, {1133}, {1122}, {1134} }; new rskirt[21][0] = { {1017}, {1027}, {1030}, {1040}, {1041}, {1051}, {1052}, {1062}, {1063}, {1071}, {1072}, {1094}, {1095}, {1099}, {1101}, {1102}, {1107}, {1120}, {1121}, {1124}, {1137} }; new hydraulics[1][0] = { {1087} }; new base[1][0] = { {1086} }; new rbbars[2][0] = { {1109}, {1110} }; new fbbars[2][0] = { {1115}, {1116} }; new wheels[17][0] = { {1025}, {1073}, {1074}, {1075}, {1076}, {1077}, {1078}, {1079}, {1080}, {1081}, {1082}, {1083}, {1084}, {1085}, {1096}, {1097}, {1098} }; new lights[2][0] = { {1013}, {1024} }; //===============================Phone Stuff==================================== new Calling[MAX_PLAYERS]; new Answered[MAX_PLAYERS]; new Callerid[MAX_PLAYERS]; new Float:Pickup[3][3] = { {-22.2549,-55.6575,1003.5469},//banks {-23.0664,-90.0882,1003.5469}, {-33.9593,-29.0792,1003.5573} }; //===============================Random LV Spawns=============================== new iSpawnSet[MAX_PLAYERS]; new Float:gRandomPlayerSpawns[23][3] = { {1958.3783,1343.1572,15.3746}, {2199.6531,1393.3678,10.8203}, {2483.5977,1222.0825,10.8203}, {2637.2712,1129.2743,11.1797}, {2000.0106,1521.1111,17.0625}, {2024.8190,1917.9425,12.3386}, {2261.9048,2035.9547,10.8203}, {2262.0986,2398.6572,10.8203}, {2244.2566,2523.7280,10.8203}, {2335.3228,2786.4478,10.8203}, {2150.0186,2734.2297,11.1763}, {2158.0811,2797.5488,10.8203}, {1969.8301,2722.8564,10.8203}, {1652.0555,2709.4072,10.8265}, {1564.0052,2756.9463,10.8203}, {1271.5452,2554.0227,10.8203}, {1441.5894,2567.9099,10.8203}, {1480.6473,2213.5718,11.0234}, {1400.5906,2225.6960,11.0234}, {1598.8419,2221.5676,11.0625}, {1318.7759,1251.3580,10.8203}, {1558.0731,1007.8292,10.8125}, //{-857.0551,1536.6832,22.5870}, Out of Town Spawns //{817.3494,856.5039,12.7891}, //{116.9315,1110.1823,13.6094}, //{-18.8529,1176.0159,19.5634}, //{-315.0575,1774.0636,43.6406}, {1705.2347,1025.6808,10.8203} }; new Float:gCopPlayerSpawns[2][3] = { {2297.1064,2452.0115,10.8203}, {2297.0452,2468.6743,10.8203} }; //===========================Character Selection Music========================== #define SOUND_MUSIC1 1062 #define SOUND_MUSIC2 1068 #define SOUND_MUSIC3 1076 #define SOUND_OFF 1184 //=================================Team Colors================================== #define COLOR_DARKGREEN 0x009600DD//NEW army Color #define COLOR_GREEN 0x33AA33AA //SF Grove color #define COLOR_RED 0xAA3333AA //SF Pimp color #define COLOR_PINK 0xFF66FFAA //SF Triad color #define COLOR_BLUE 0x0000BBAA //SF Mechanic color #define COLOR_LIGHTBLUE 0x33CCFFAA //SF Pilot color #define COLOR_ORANGE 0xFF9900AA //SF Swat color #define COLOR_YELLOW 0xFFFF00AA #define COLOR_PURPLE 0x330066AA #define COLOR_GREY 0xCCCCCAA #define COLOR_SKIN 0xFFCC99AA #define COLOR_DARKGREY 0x333333AA #define COLOR_DARKRED 0x990000AA #define RED 0xFF0000AA #define COLOR_INDIGO 0x4B00B0AA #define COLOR_BRIGHTRED 0xDC143CAA #define COLOR_AQUA 0x7CFC00AA #define COLOR_DARKBLUE 0x0000BBFF #define COLOR_BROWN 0x8B4513AA #define COLOR_SYSTEM 0xEFEFF7AA new playerColors[32] = { COLOR_GREEN,COLOR_RED,COLOR_YELLOW,COLOR_PINK,COLOR_DARKGREEN,COLOR_LIGHTBLUE,COLOR_PURPLE,COLOR_ORANGE, COLOR_GREY,COLOR_SKIN,COLOR_DARKGREY,COLOR_DARKRED,COLOR_DARKGREEN,COLOR_LIGHTBLUE,COLOR_BLUE,COLOR_YELLOW, COLOR_RED,COLOR_ORANGE,COLOR_DARKBLUE,COLOR_BROWN,COLOR_WHITE,COLOR_BLUE,COLOR_BLUE,COLOR_GREEN,COLOR_GREEN, COLOR_YELLOW,COLOR_YELLOW,COLOR_LIGHTBLUE,COLOR_LIGHTBLUE,COLOR_PURPLE,COLOR_PURPLE,COLOR_ORANGE }; //==================================Defines===================================== new KillerID[MAX_PLAYERS] = INVALID_PLAYER_ID; new Menu:TK; new Float:Pos[MAX_PLAYERS][4]; new Language[MAX_PLAYERS] = 0; //Initialyse with the Default Language = English //================================Main Info===================================== main() { print(" "); print(">-----------------------------------------------------------------------<"); print("| HC4L gang server |"); print(">-----------------------------------------------------------------------<\n"); } //==================================Exitded menu================================ public OnPlayerExitedMenu(playerid) { TogglePlayerControllable(playerid, true); if(!IsValidMenu(GetPlayerMenu(playerid))) return 1; ShowMenuForPlayer(GetPlayerMenu(playerid), playerid); CallLocalFunction("opem","i",playerid); //print("onplayerexitmenu"); new Menu:current = GetPlayerMenu(playerid); HideMenuForPlayer(current,playerid); if (current == Hexit1){ ShowMenuForPlayer(Hexit1,playerid); TogglePlayerControllable(playerid,1); } return 1; } //=================================Phone stuff================================== public PhoneCut() { for (new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i)) { if (Calling[i] > -1 && Answered[i] == 1 && Callerid[i] == 1) { if (GetPlayerMoney(i) >= CALL_UNIT_COST) { GivePlayerMoney(i, -CALL_UNIT_COST); } if (GetPlayerMoney(i) < CALL_UNIT_COST) { SendClientMessage(i, COLOR_BRIGHTRED, "CUT OFF: You don't have enough cash to continue this call"); SendClientMessage(Calling[i], COLOR_BRIGHTRED, "CUT OFF: Your recipient's phone has been cut off due to lack of credit"); Calling[Calling[i]] = -1; Answered[Calling[i]] = 0; Calling[i] = -1; Answered[i] = 0; Callerid[i] = 0; } } } } return 1; } public OnPlayerText(playerid, text[]) { if(text[0] == '#' && IsPlayerXAdmin(playerid)) { new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Admin %s: %s",xname,text[1]); SendMessageToAdmins(string); return 0; } if(Variables[playerid][Wired]) { Variables[playerid][WiredWarnings]--; new string[256],Name[24]; if(Variables[playerid][WiredWarnings]) { format(string,256,"You have been wired thus preventing you from talking or PMing. [Warnings: %d/%d]",Variables[playerid][WiredWarnings],Config[WiredWarnings]); SendClientMessage(playerid,white,string); return 0; } else { GetPlayerName(playerid,Name,24); format(string,256,"%s has been kicked from the server. [REASON: Wired]",Name); SendClientMessageToAll(yellow,string); SetUserInt(playerid,"Wired",0); Kick(playerid); return 0; } } if (Calling[playerid] > -1 && Answered[playerid] == 1) { new string[256]; new sendername[MAX_PLAYER_NAME]; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "%s: %s", sendername, text); SendClientMessage(Calling[playerid], COLOR_YELLOW, string); format(string, sizeof(string), "%s: %s", sendername, text); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "%s: %s", sendername, text); print(string); format(string, sizeof(string), "%s: %s", sendername, text); print(string); return 0; } if(text[0] == '!') { if(playerGang[playerid] > 0) { new gangChat[256]; new senderName[MAX_PLAYER_NAME]; new string[256]; // for(new i = 1; i < strlen(text)+1; i++) // gangChat[i]=text[i]; strmid(gangChat,text,1,strlen(text)); GetPlayerName(playerid, senderName, sizeof(senderName)); format(string, sizeof(string),"%s: %s", senderName, gangChat); for(new i = 0; i < gangInfo[playerGang[playerid]][1]; i++) { SendClientMessage(gangMembers[playerGang[playerid]][i], COLOR_LIGHTBLUE, string); } } return 0; } return 1; } public OnPlayerPrivmsg(playerid, recieverid, text[]) { if(!IsPlayerConnected(playerid)||!IsPlayerConnected(recieverid)) return 1; new string[256], ToName[24], Name[24]; GetPlayerName(playerid,Name,24); if(Config[ExposePMS]) { GetPlayerName(recieverid,ToName,24); format(string,256,"PM: %s [%d] -> %s [%d]: %s",Name,playerid,ToName,recieverid,text); SendMessageToAdmins(string); } if(Config[WireWithPM] && Variables[playerid][Wired]) { Variables[playerid][WiredWarnings]--; if(Variables[playerid][WiredWarnings]) { format(string,256,"You have been wired thus preventing you from talking and PMing. [Warnings: %d/%d]",Variables[playerid][WiredWarnings],Config[WiredWarnings]); SendClientMessage(playerid,white,string); return 0; } else { format(string,256,"%s has been kicked from the server. [REASON: Wired]",Name); SendClientMessageToAll(yellow,string); SetUserInt(playerid,"Wired",0); Kick(playerid); return 0; } } return 1; } //==============================Streamer Statements============================= public vehiclestreamer() { for(new i = 1;i 0) { for(new i = 0; i < gangInfo[gangnum][1]; i++) { if(gangMembers[gangnum][i]==playerid) { //One less gang member gangInfo[gangnum][1]--; for(new j = i; j < gangInfo[gangnum][1]; j++) { //Shift gang members gangMembers[gangnum][j]=gangMembers[gangnum][j+1]; } //Disband gang if no more members if(gangInfo[gangnum][1]<1) { gangInfo[gangnum][0]=0; gangInfo[gangnum][1]=0; gangBank[gangnum]=0; } //Notify other members for(new j = 0; j < gangInfo[gangnum][1]; j++) { GetPlayerName(playerid, playername, MAX_PLAYER_NAME); format(string, sizeof(string),"%s has quit your gang.", playername); SendClientMessage(gangMembers[gangnum][j], COLOR_ORANGE, string); } format(string, sizeof(string),"You have quit the gang '%s' (id: %d)", gangNames[gangnum], gangnum); SendClientMessage(playerid, COLOR_ORANGE, string); playerGang[playerid]=0; SetPlayerColor(playerid,playerColors[playerid]); return; } } } else { SendClientMessage(playerid, COLOR_RED, "You are not in a gang."); } } //===============================Gamemode Start================================= public OnGameModeInit() { print("\n \nHC4L gang server"); SetGameModeText("HC4L gang server"); printf(" "); printf(" "); print(">------------------------------------------------"); print("HC4L's Vehicle System Is Initialising, Please Wait..."); printf(">------------------------------------------------"); printf(" "); ShowNameTags(1); ShowPlayerMarkers(1); SetWorldTime(12); //----------------------------------Xadmin-------------------------------------- print("Welcome to the Xtreme Administration Filterscript v2.1"); print("Checking / creating server configuration..."); //Check if all configuration files are present. if(!dini_Exists("/xadmin/Configuration/Configuration.ini")) { dini_Create("/xadmin/Configuration/Configuration.ini"); dini_Set("/xadmin/Configuration/Configuration.ini","ServerMessage","None"); } print("Creating user file variables configuration..."); // Create the variables to be stored in each user's file. CreateLevelConfig( "IP","Registered","Level","Cash","Kills","Deaths","Password","Wired", "WiredWarnings","Jailed" ); // Create Level Config in pattern 'command name, level, command name, level (case is not sensitive): print("Creating command level configuration..."); CreateCommandConfig( // Time Commands "morning",1,"afternoon",1,"evening",1,"midnight",1,"settime",1, // Miscellaneous Commands "goto",5,"gethere",8,"announce",3,"say",1,"flip",1,"slap",6,"wire",8,"unwire",5,"kick",6, "ban",9,"akill",7,"eject",6,"freeze",6,"unfreeze",6,"outside",8,"healall",5,"uconfig",10, "setsm",10,"givehealth",6,"sethealth",6,"skinall",9,"giveallweapon",7,"resetallweapons",10, "setcash",7,"givecash",5,"remcash",7,"resetcash",7,"setallcash",10,"giveallcash",10,"remallcash", 10,"resetallcash",10,"ejectall",8,"freezeall",10,"unfreezeall",10,"giveweapon",4,"god",10, "resetscores",7,"setlevel",10,"setskin",7,"givearmour",5,"setarmour",5,"armourall",5, "setammo",5,"setscore",8,"ip",1,"ping",1,"explode",5,"setname",10,"setalltime",10, "force",4,"setallworld",5,"setworld",2,"setgravity",7,"setwanted",6,"setallwanted",7 ); CreateCommandConfigEx( "xlock",1,"xunlock",1,"carcolor",1,"gmx",10,"carhealth",5,"setping",5, "givecar",7,"xspec",4,"xjail",7,"xunjail",3,"vr",0,"weather",5 ); print("Creating Forbidden Names..."); // Add the names to prevent from connecting to your server in the following format: CreateForbiddenNames("shit","fuck","crap","hax","hacker" ); print("Creating main configuration files..."); UpdateConfigurationVariables(); print("Initializing Menus..."); GiveCar = CreateMenu("~b~Givecar ~w~Administration",1,125,150,300); if(IsValidMenu(GiveCar)) { SetMenuColumnHeader(GiveCar , 0, "Select a car component to add:"); AddMenuItem(GiveCar ,0,"Nitrous x10"); AddMenuItem(GiveCar ,0,"Hydraulics"); AddMenuItem(GiveCar ,0,"Offroad Wheel"); AddMenuItem(GiveCar ,0,"Wire Wheels"); } Weather = CreateMenu("~r~Weather ~w~Administration",1,125,150,300); if(IsValidMenu(GiveCar)) { SetMenuColumnHeader(GiveCar , 0, "Select a car component to add:"); AddMenuItem(Weather,0,"Sunny"); AddMenuItem(Weather,0,"Cloudy"); AddMenuItem(Weather,0,"Thunderstorm"); AddMenuItem(Weather,0,"Foggy"); AddMenuItem(Weather,0,"Scorching Hot"); AddMenuItem(Weather,0,"Sandstorm"); AddMenuItem(Weather,0,"Polluted"); } print("Complete."); SetTimer("PingKick",Config[PingSecondUpdate]*1000,true); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) OnPlayerConnect(i); //----------------------------------Gang Zones---------------------------------- Worker = GangZoneCreate(-2157.1663,96.6665,-1932.0258,330.8631); Pimp = GangZoneCreate(-2716.4243,1292.3812,-2607.6306,1446.0879); Golfer = GangZoneCreate(-2797.4963,-420.4095,-2629.8730,-221.8892); Triad = GangZoneCreate(-2250.9419,574.2153,-2129.4670,724.6283); Army = GangZoneCreate(-1616.7291,294.5811,-1231.8075,503.3318); Valet = GangZoneCreate(-1781.3525,932.7036,-1695.9397,1041.9789); Medic = GangZoneCreate(-2719.5605,557.5917,-2536.2844,697.6593); FBI = GangZoneCreate(-1706.4167,614.7883,-1567.8694,754.1960); Chicken = GangZoneCreate(-1898.2987,605.0880,-1777.2820,729.1407); Rich = GangZoneCreate(-2685.4111,896.8892,-2655.2393,966.9269); Pilot = GangZoneCreate(-1748.1112,-630.1697,-1266.5975,78.1196); Pilot1 = GangZoneCreate(-1278.367, 199.5653, -1027.292, 381.0337); Pilot2 = GangZoneCreate(-1197.25, 325.8042, -1007.979, 534.8873); DaNang = GangZoneCreate(-1499.7189,1445.5778,-1333.4880,1514.5814); //-------------------------------Load Race Script------------------------------- print("\n+--------------------------+"); print("| Yagu's Race Script v0.4a |"); print("+-----------LOADED---------+\n"); RaceActive=0; Ranking=1; LCurrentCheckpoint=0; Participants=0; for(new i;i //------------------------------Cool Vehicle Stuff------------------------------ print(">--------------------------------------------------------------------------"); vehcount = CountVehicles(V_FILE_LOAD); bizcount = CountBusinesses(B_FILE_LOAD); new vehmes[256]; format(vehmes,sizeof(vehmes),"Verifying %s (Complete) - %d Vehicle Spawns Verified!", V_FILE_LOAD, vehcount); printf(vehmes); print(">--------------------------------------------------------------------------"); printf(" "); print(">--------------------------------------------------------------------------"); LoadVehicles(); print(">--------------------------------------------------------------------------"); print(" "); print(" "); print(">--------------------------------------------------------------------------"); print(" "); new vehmess[256]; format(vehmess,sizeof(vehmes)," -Streaming Complete - %d Vehicles Streamed!", vehcount); printf(vehmess); for(new c=1;c<=vehcount;c++) /* { new strings[256]; format(strings,sizeof(strings),"Checking Vehicle File For saved Mods - Vehicle ID: %d / Type: %s", c, VehicleName[VehicleInfo[c][model]-400][0]); printf(strings); }*/ format(tmpname,sizeof(tmpname)," -%d Vehicles Were Tuned On Server Load! ",tuned); printf(tmpname); print(" -HC4L's Vehicle System Status - 100% - System Ready..."); print(">--------------------------------------------------------------------------"); print(" "); print(" "); print(">--------------------------------------------------------------------------"); print("Loading Businesses...Please Wait..."); print(" "); LoadBusinesses(); for(new i=0;i--------------------------------------------------------------------------"); new bizmess[256]; format(bizmess,256,"%d Businesses Successfully loaded and created",bizcount); printf(bizmess); print(">--------------------------------------------------------------------------"); printf(""); print(">--------------------------------------------------------------------------"); print("HC4L's Business System Status - 100% - System Ready..."); print(">--------------------------------------------------------------------------"); //---------------------------------Vehicle Menus-------------------------------- vehiclemain = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(vehiclemain,0,"Player Vehicle Menu"); AddMenuItem(vehiclemain,0,"Vehicle Admin System"); AddMenuItem(vehiclemain,0,""); playervm = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(playervm,0,"Temp Lock"); AddMenuItem(playervm,0,"Vehicle Health Bar"); AddMenuItem(playervm,0,"Dash Board Settings"); AddMenuItem(playervm,0,"Vehicle Ownership"); AddMenuItem(playervm,0,"Call Your Vehicle"); AddMenuItem(playervm,0,"Park Your Vehicle"); AddMenuItem(playervm,0,"Vehicle Security"); AddMenuItem(playervm,0,""); adminm = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(adminm,0,"Sell Current Vehicle"); AddMenuItem(adminm,0,"Set Purchase Status"); AddMenuItem(adminm,0,"Set Admin Protection"); AddMenuItem(adminm,0,""); buysell = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(buysell,0,"Buy This Vehicle"); AddMenuItem(buysell,0,"Sell This Vehicle"); AddMenuItem(buysell,0,""); secure1 = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(secure1,0,"Switch On Alarm"); AddMenuItem(secure1,0,"Switch Off Alarm"); AddMenuItem(secure1,0,""); secure2 = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(secure2,0,"Lethal Mode"); AddMenuItem(secure2,0,"Non-Lethal Mode"); AddMenuItem(secure2,0,""); asecure1 = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(asecure1,0,"Switch On Admin Security"); AddMenuItem(asecure1,0,"Switch Off Admin Security"); AddMenuItem(asecure1,0,""); asecure2 = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(asecure2,0,"Lethal Mode"); AddMenuItem(asecure2,0,"Non-Lethal Mode"); AddMenuItem(asecure2,0,""); templock = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(templock,0,"Lock Vehicle"); AddMenuItem(templock,0,"Unlock Vehicle"); AddMenuItem(templock,0,""); speedom = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(speedom,0,"Switch On Dashboard"); AddMenuItem(speedom,0,"Switch Off Dashboard"); AddMenuItem(speedom,0,""); buyable = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(buyable,0,"Set To Buyable"); AddMenuItem(buyable,0,"Set To Unbuyable"); AddMenuItem(buyable,0,""); healthbar = CreateMenu("HC4L-XVM",1,440,140,150,40); AddMenuItem(healthbar,0,"Switch On"); AddMenuItem(healthbar,0,"Switch Off"); AddMenuItem(healthbar,0,""); EnableTirePopping(1); //--------------------------------Team Kill Menu-------------------------------- TK = CreateMenu("TeamKill", 3, 160.0, 150.0, 250.0, 50.0); if (IsValidMenu(TK)) { SetMenuColumnHeader(TK, 0, "TeamKill Punishment"); AddMenuItem(TK, 0, "Kill"); AddMenuItem(TK, 0, "Explode"); AddMenuItem(TK, 0, "-2500"); AddMenuItem(TK, 0, "Reset Weapons"); AddMenuItem(TK, 0, "Forgive"); } //--------------------------------ALL GAME TEAMS-------------------------------- //Classes Note: Some of the Classes are Cams so give Credit to him too AddPlayerClass(260,-2062.5583,237.4662,36.2890,268.8936,23,170,25,60,30,360); //SF Worker AddPlayerClass(296,-2653.6443,1388.2767,8.0739,212.8453,26,100,29,360,15,1); //SF Pimp AddPlayerClass(259,-2642.2583,-274.9985,8.3506,135.0036,25,80,32,300,2,1); //SF Golfer AddPlayerClass(294,-2188.8037,609.8431,36.2624,82.8703,32,300,30,390,4,1); //SF Triad AddPlayerClass(287,-1377.4271,466.0897,8.9393,1.0348,26,80,31,300,23,170); //SF ARMY AddPlayerClass(253,-1754.9976,958.5851,25.8386,163.2550,28,300,24,100,4,1); //SF Valet AddPlayerClass(274,-2665.4282,635.6348,16.0054,179.8403,26,100,23,170,9,1); //SF Medic AddPlayerClass(286,-1635.0077,665.8105,8.4054,264.2244,29,360,27,100,3,1); //SF FBI AddPlayerClass(167,-1830.9324,638.9214,31.3054,180.9218,26,200,29,390,9,1); //SF Chicken AddPlayerClass(295,-2664.8037,938.6110,80.7618,180.7716,27,100,24,100,28,400);//SF Rich AddPlayerClass(61,-1358.6774,-243.8737,15.6769,315.6869,22,170,25,60,14,1); //SF pilot AddPlayerClass(122,-1430.1825,1492.3381,8.0482,91.3221,24,70,27,77,28,300); //SF Da Nang AddPlayerClass(102,832.2958,-1080.4476,24.2969,107.7328,0,0,0,0,0,0); //LV Balla AddPlayerClass(103,832.2958,-1080.4476,24.2969,107.7328,0,0,0,0,0,0); //LV Balla AddPlayerClass(104,832.2958,-1080.4476,24.2969,107.7328,0,0,0,0,0,0); //LV Balla AddPlayerClass(105,2495.2207,-1687.3169,13.5152,107.7328,0,0,0,0,0,0); //LV Grove AddPlayerClass(106,2495.2207,-1687.3169,13.5152,107.7328,0,0,0,0,0,0); //LV Grove AddPlayerClass(107,2495.2207,-1687.3169,13.5152,107.7328,0,0,0,0,0,0); //LV Grove AddPlayerClass(108,2459.0442,-949.4450,80.0800,107.7328,0,0,0,0,0,0); //LV Vago AddPlayerClass(110,2459.0442,-949.4450,80.0800,107.7328,0,0,0,0,0,0); //LV Vago AddPlayerClass(114,1761.7893,-1892.7225,13.5551,107.7328,0,0,0,0,0,0); //LV Azteca AddPlayerClass(115,1761.7893,-1892.7225,13.5551,107.7328,0,0,0,0,0,0); //LV Azteca AddPlayerClass(116,1761.7893,-1892.7225,13.5551,107.7328,0,0,0,0,0,0); //LV Azteca AddPlayerClass(122,1499.2067,-937.3587,37.4407,107.7328,0,0,0,0,0,0); //LV Triad AddPlayerClass(123,1499.2067,-937.3587,37.4407,107.7328,0,0,0,0,0,0); //LV Triad AddPlayerClass(274,1499.2067,-937.3587,37.4407,107.7328,0,0,0,0,0,0); //LV Medic AddPlayerClass(275,1499.2067,-937.3587,37.4407,107.7328,0,0,0,0,0,0); //LV Medic AddPlayerClass(277,1499.2067,-937.3587,37.4407,107.7328,0,0,0,0,0,0); //LV Fireman AddPlayerClass(280,1552.5618,-1675.3375,16.1953,107.7328,0,0,0,0,0,0); //LV Cop AddPlayerClass(281,1552.5618,-1675.3375,16.1953,107.7328,0,0,0,0,0,0); //LV Cop AddPlayerClass(283,1552.5618,-1675.3375,16.1953,107.7328,0,0,0,0,0,0); //LV Cop AddPlayerClass(287,1552.5618,-1675.3375,16.1953,112.5582,0,0,0,0,0,0); //LV Army AddPlayerClass(286,1552.5618,-1675.3375,16.1953,112.5582,0,0,0,0,0,0); //LV Swat AddPlayerClass(214,1552.5618,-1675.3375,16.1953,269.1425,0,0,24,300,-1,-1);//LV Civillian AddPlayerClass(215,1552.5618,-1675.3375,16.1953,269.1425,0,0,24,300,-1,-1);//LV Civillian AddPlayerClass(216,1552.5618,-1675.3375,16.1953,269.1425,0,0,24,300,-1,-1);//LV Civillian AddPlayerClass(251,1552.5618,-1675.3375,16.1953,269.1425,0,0,24,300,-1,-1);//LV Civillian AddPlayerClass(253,1552.5618,-1675.3375,16.1953,269.1425,0,0,24,300,-1,-1);//LV Civillian AddPlayerClass(254,1552.5618,-1675.3375,16.1953,269.1425,0,0,24,300,-1,-1);//LV Civillian AddPlayerClass(255,1552.5618,-1675.3375,16.1953,269.1425,0,0,24,300,-1,-1);//LV Civillian AddPlayerClass(280,1552.4381,-1675.6388,16.1953,91.0541,29,300,22,170,3,1); //LS Cop AddPlayerClass(284,1527.4740,-1676.5242,5.8906,221.3641,24,70,31,250,4,1); //LS Cop AddPlayerClass(106,2516.3032,-1674.7357,13.9314,62.4839,22,272,30,300,9,1); //LS Grove AddPlayerClass(107,2486.7520,-1646.4600,14.0703,183.2633,22,272,30,300,9,1); //LS Grove AddPlayerClass(108,2627.3525,-1457.3615,31.0251,5.0687,4,0,22,125,30,300); //LS Vago AddPlayerClass(109,2633.3894,-1435.1416,30.4864,232.3824,24,150,25,50,29,200); //LS Vago AddPlayerClass(115,1733.9663,-2098.1926,14.0366,171.6405,5,0,23,150,31,200); //LS Aazteca AddPlayerClass(116,1804.0708,-2124.1572,13.9424,0.7752,9,0,22,150,26,100); //LS Azteca AddPlayerClass(104,768.6387,-1696.5547,5.1554,96.1184,5,0,24,150,30,250); //LS Balla AddPlayerClass(103,767.3694,-1655.5189,5.6094,100.1684,4,0,22,200,31,250); //LS Balla AddPlayerClass(155,2101.5129,-1806.4567,13.5547,87.8965,4,0,26,150,30,200); //LS PizzaBoy //-------------------------51 Classes in total //---------------------------Vehicle healthbar stuff---------------------------- vehiclehpbar[0] = TextDrawCreate(549.0, 50.0, "KABOOM!"); TextDrawUseBox(vehiclehpbar[0], true); TextDrawBoxColor(vehiclehpbar[0], COLOR_BRIGHTRED); TextDrawSetShadow(vehiclehpbar[0],0); TextDrawTextSize(vehiclehpbar[0], 625, 0); vehiclehpbar[1] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[1], true); TextDrawBoxColor(vehiclehpbar[1], COLOR_BRIGHTRED); TextDrawSetShadow(vehiclehpbar[1],0); TextDrawTextSize(vehiclehpbar[1], 551, 0); vehiclehpbar[2] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[2], true); TextDrawBoxColor(vehiclehpbar[2], COLOR_BRIGHTRED); TextDrawSetShadow(vehiclehpbar[2],0); TextDrawTextSize(vehiclehpbar[2], 556, 0); vehiclehpbar[3] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[3], true); TextDrawBoxColor(vehiclehpbar[3], COLOR_BRIGHTRED); TextDrawSetShadow(vehiclehpbar[3],0); TextDrawTextSize(vehiclehpbar[3], 561, 0); vehiclehpbar[4] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[4], true); TextDrawBoxColor(vehiclehpbar[4], COLOR_YELLOW); TextDrawSetShadow(vehiclehpbar[4],0); TextDrawTextSize(vehiclehpbar[4], 566, 0); vehiclehpbar[5] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[5], true); TextDrawBoxColor(vehiclehpbar[5], COLOR_YELLOW); TextDrawSetShadow(vehiclehpbar[5],0); TextDrawTextSize(vehiclehpbar[5], 571, 0); vehiclehpbar[6] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[6], true); TextDrawBoxColor(vehiclehpbar[6], COLOR_YELLOW); TextDrawSetShadow(vehiclehpbar[6],0); TextDrawTextSize(vehiclehpbar[6], 576, 0); vehiclehpbar[7] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[7], true); TextDrawBoxColor(vehiclehpbar[7], COLOR_YELLOW); TextDrawSetShadow(vehiclehpbar[7],0); TextDrawTextSize(vehiclehpbar[7], 581, 0); vehiclehpbar[8] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[8], true); TextDrawBoxColor(vehiclehpbar[8], COLOR_GREEN); TextDrawSetShadow(vehiclehpbar[8],0); TextDrawTextSize(vehiclehpbar[8], 586, 0); vehiclehpbar[9] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[9], true); TextDrawBoxColor(vehiclehpbar[9], COLOR_GREEN); TextDrawSetShadow(vehiclehpbar[9],0); TextDrawTextSize(vehiclehpbar[9], 591, 0); vehiclehpbar[10] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[10], true); TextDrawBoxColor(vehiclehpbar[10], COLOR_GREEN); TextDrawSetShadow(vehiclehpbar[10],0); TextDrawTextSize(vehiclehpbar[10], 596, 0); vehiclehpbar[11] = TextDrawCreate(551.0, 59.0, " "); TextDrawUseBox(vehiclehpbar[11], true); TextDrawBoxColor(vehiclehpbar[11], COLOR_GREEN); TextDrawSetShadow(vehiclehpbar[11],0); TextDrawTextSize(vehiclehpbar[11], 602, 0); SetTimer("VHPBarUpdate",250,1); for(new i = 0;i<3;i++) { CreateStreamPickup(1274,Pickup[i][0],Pickup[i][1],Pickup[i][2],PICKUP_TYPE_BANK); } //-----------------------------------Pickups------------------------------------ AddStaticPickup(1242, 15, 1198.6222,-2036.7010,69.0078); //Armor WHITE HOSE AddStaticPickup(1242, 15, 2037.5424,1955.0793,12.0647); //Armor hotel2 AddStaticPickup(1242, 15, -1666.2980,1204.7188,7.2546); //Armor car dealer2 AddStaticPickup(1242, 15, 2216.9341,-1179.4139,25.8906); //Armor motel AddStaticPickup(1242, 15, 1582.2346,-2433.3376,13.5547); //Armor airport2 AddStaticPickup(1242, 15, 915.7377,-1235.0343,17.2109); //Armor MOVIE AddStaticPickup(1242, 15, -1111.8021,-1672.5598,76.3672); //Armor HIPPY AddStaticPickup(1242, 15, 1296.5054,-786.7410,88.3125); //Armor ADMIN AddStaticPickup(1242, 15, -534.7692,-178.1900,78.4047); //armor FOREST AddStaticPickup(1242, 15, -2771.5168,-251.6141,7.1875); //armor hotel AddStaticPickup(1242, 15, -1321.9531,2504.2705,89.5703); //armor hobo AddStaticPickup(1242, 15, -2241.2661,2321.9829,7.5454); //armor secret AddStaticPickup(1242, 15, -2720.7385,231.9487,4.3418); //armor at trans AddStaticPickup(1242, 15, 2238.8762,2449.3284,11.0372); //armor at security cop AddStaticPickup(1242, 15, -1844.8163,-1708.9067,41.1060); //armor at Rock Quarry AddStaticPickup(1242, 15, -2230.1113,-1743.3027,480.8695); //armor at chilliad AddStaticPickup(1242, 15, 2184.7224,-1203.6058,1049.8330); //armor at lombardi str AddStaticPickup(1242, 15, -1954.3491,303.5424,35.4688); //armor at car dealer AddStaticPickup(1242, 15, 2537.5513,-1663.5591,15.1492); //armor at grove str back right behind spwn AddStaticPickup(1242, 15, 1331.1685,1257.4764,14.2731); //armor at airort AddStaticPickup(1242, 15, 2293.2725,1435.4340,38.4735); //armor at driuft AddStaticPickup(1242, 15, 2582.8208,-1717.3884,8.0025); //aromr rbed AddStaticPickup(1242, 15, 1654.0404,-1658.1034,22.5156); //armor 3towers AddStaticPickup(1242, 15, 2332.5977,-1064.6901,1049.0234); //armor pimp AddStaticPickup(1242, 15, 688.0721,841.4696,-39.0077); //armor quarry1 AddStaticPickup(1242, 15, 538.1361,839.2096,-34.6727); //armor quar 2 AddStaticPickup(1242, 15, 545.5967,919.9224,-34.7484); //armor quar 3 AddStaticPickup(1242, 15, 623.2344,894.4736,-35.4231); //armor quar 4 AddStaticPickup(1242, 15, 2746.5503,-2453.7292,13.8623); //Armor military AddStaticPickup(370, 15, -2291.5791,2318.0688,15.2117); //SECRET JETPACK AddStaticPickup(371, 15, -2240.2351,-1747.3890,480.8622); //chilliad parachute AddStaticPickup(657, 2, -2649.4902, 1383.0055, 7.1826); //Kool Spinning tree AddStaticPickup(354, 2, -2649.4902, 1383.0055, 7.1826);//Flare in tree AddStaticPickup(354, 2, -2649.4902, 1383.0055, 10.5802);//Flare in tree AddStaticPickup(354, 2, -2649.4902, 1383.0055, 14.9802);//Flare in tree AddStaticPickup(354, 2, -2649.4902, 1383.0055, 13.9802);//Flare in tree //-----------------LV Airport to Army Base Bridge By: [CBK]MoNeYPiMp) CreateObject(18449, -1233.426270, 408.714081, 19.839516, 0.0000, 4.2972, 312.4217); CreateObject(1634, -1254.233154, 437.918274, 23.900005, 359.1406, 356.5623, 42.4217); CreateObject(18449, -1287.145386, 470.368927, 20.625740, 1.7189, 351.4056, 308.9840); CreateObject(18449, -1346.924561, 470.706299, 3.755691, 348.8273, 331.6386, 13.4417); CreateObject(1634, -1267.565796, 441.659546, 16.474197, 239.6790, 177.7990, 222.7994); CreateObject(1634, -1273.401123, 447.661041, 12.705763, 219.9119, 179.5179, 223.6588); CreateObject(18449, -1179.892578, 349.856659, 13.299114, 0.0000, 5.1566, 312.4217); //---------------Stunt Park By: [LSIB]X_Cutter CreateObject(971, -2029.763062, -124.249550, 37.757751, 0, 0, 0); CreateObject(971, -2034.172485, -119.812218, 37.760315, 0, 0, 269.7591); CreateObject(971, -2025.529541, -119.856903, 37.748856, 0, 0, 272.3375); CreateObject(969, -2034.059082, -120.240891, 37.994469, 0, 0, 0); CreateObject(969, -2034.200195, -123.931404, 41.288780, 269.7592, 0, 359.1406); CreateObject(13648, -2091.278564, -124.417061, 34.266281, 0, 0, 0); CreateObject(13648, -2090.648193, -124.404160, 34.266281, 0, 0, 0); CreateObject(13647, -2091.029541, -171.607254, 34.316284, 0, 0, 269.7591); CreateObject(13641, -2017.510498, -140.976227, 35.459076, 0, 0, 267.1808); CreateObject(13641, -2017.711914, -166.224121, 35.339516, 0, 0, 87.5587); CreateObject(13638, -2027.937134, -271.354767, 36.417580, 0, 0, 0); CreateObject(969, -2034.719727, -280.712860, 40.729832, 0, 0, 0); CreateObject(971, -2033.512817, -275.963165, 37.890167, 0, 0, 268.8997); CreateObject(971, -2033.345337, -267.078613, 37.890167, 0, 0, 268.8997); CreateObject(13666, -2017.970581, -257.768890, 39.150566, 0, 0, 6.0161); CreateObject(13666, -2021.652832, -257.602570, 39.150566, 0, 0, 6.0161); CreateObject(13666, -2025.379028, -257.444092, 39.149769, 0, 0, 6.0161); CreateObject(13666, -2029.010864, -257.287903, 39.140961, 0, 0, 6.0161); CreateObject(13592, -2048.899902, -207.144394, 44.065914, 0, 0, 94.4342); CreateObject(1503, -2030.108276, -264.293335, 42.100739, 0, 0, 0); CreateObject(969, -2018.697144, -245.763580, 43.856308, 269.7591, 0, 267.1808); CreateObject(969, -2011.873779, -252.873688, 40.754837, 0, 0, 269.7591); CreateObject(969, -2011.930908, -261.741760, 40.779839, 0, 0, 269.7591); CreateObject(1245, -2012.014526, -255.663452, 35.807884, 0, 0, 274.0563); CreateObject(969, -2011.853149, -252.607895, 40.729836, 0, 0, 90.2408); CreateObject(971, -2020.831543, -243.861923, 43.847054, 90.2409, 0, 300.6988); CreateObject(971, -2025.311768, -236.276016, 43.844215, 90.2409, 0, 300.6988); CreateObject(1632, -2027.354370, -233.358002, 45.331715, 9.4538, 0, 30.0803); CreateObject(971, -2035.179932, -220.646255, 51.655159, 270.6186, 359.1406, 304.1366); CreateObject(971, -2039.637939, -214.375885, 53.344780, 118.6022, 2.5783, 32.6586); CreateObject(969, -2043.155273, -213.700226, 55.292805, 91.1003, 0.8594, 124.6184); CreateObject(3279, -2045.254150, -205.034012, 55.192551, 0, 0, 339.3735); CreateObject(1633, -2047.360840, -212.829315, 71.570908, 341.0924, 0, 160.6106); CreateObject(1633, -2049.487305, -218.707428, 71.234428, 341.0924, 0, 160.6106); CreateObject(1634, -2051.833252, -225.535767, 72.295769, 0, 0, 159.7512); CreateObject(18262, -2042.169312, -220.294876, 72.434242, 358.2811, 5.1566, 81.6464); CreateObject(18367, -2038.766357, -219.659607, 71.949776, 0, 0, 0); CreateObject(18367, -2039.419922, -249.538071, 75.039330, 359.1406, 0, 268.0403); CreateObject(18367, -2069.020020, -248.742126, 78.449776, 0, 0, 181.2369); CreateObject(18367, -2069.920898, -218.865128, 81.433090, 0, 359.1406, 88.418); CreateObject(18367, -2040.428467, -220.067886, 84.449341, 0, 0, 0); CreateObject(18262, -2046.262573, -249.699524, 88.739952, 0, 0, 83.3653); CreateObject(3279, -2048.043701, -246.104614, 88.021889, 0, 0, 0); CreateObject(1218, -2048.145508, -246.172028, 104.591705, 0, 0, 0); CreateObject(969, -2042.782227, -202.841507, 72.112595, 270.6186, 0, 69.6144); CreateObject(18367, -2041.389160, -194.902969, 72.127640, 37.8152, 5.1566, 159.8555); CreateObject(18262, -2036.823853, -171.200912, 56.720722, 0, 0, 75.6304); CreateObject(3270, -2033.162964, -159.527084, 33.662197, 0, 0, 0); CreateObject(3269, -2056.233154, -160.401627, 33.193459, 0, 0, 304.9961); CreateObject(3363, -2048.090576, -142.612473, 34.155655, 0, 0, 0); CreateObject(3364, -2057.784424, -107.956017, 34.476334, 0, 0, 0); CreateObject(12956, -2058.442383, -246.159454, 35.873535, 0, 0, 0); CreateObject(13590, -2020.764038, -230.338760, 34.946125, 0, 0, 0); CreateObject(13604, -2079.216553, -219.619797, 35.778316, 0, 0, 0); CreateObject(13636, -2068.714600, -191.194214, 36.150677, 0, 0, 0); CreateObject(3279, -2049.909668, -106.821388, 34.091446, 0, 0, 0); CreateObject(3279, -2091.546875, -275.471954, 34.120911, 0, 0, 0); CreateObject(971, -2095.781738, -216.648987, 44.307823, 0, 0, 90.2409); CreateObject(971, -2011.837402, -239.783264, 44.057869, 0, 0, 270.6186); CreateObject(971, -2015.887329, -257.513550, 46.054466, 0, 0, 258.5865); CreateObject(971, -2091.330078, -280.941498, 44.232819, 0, 0, 0); CreateObject(971, -2091.324707, -280.938171, 51.393135, 0, 0, 0); CreateObject(971, -2095.792480, -276.559265, 44.207863, 0, 0, 270.6186); CreateObject(971, -2095.785400, -276.518860, 51.358208, 0, 0, 270.6186); CreateObject(971, -2095.842529, -267.747314, 44.307823, 0, 0, 269.7591); CreateObject(971, -2082.695557, -280.883087, 44.312592, 0, 0, 0); CreateObject(971, -2095.829590, -174.308350, 44.328720, 0, 0, 271.478); CreateObject(971, -2096.033203, -165.487137, 44.332825, 0, 0, 271.478); CreateObject(971, -2096.304443, -156.670258, 44.332886, 0, 0, 271.478); CreateObject(971, -2095.623779, -137.767456, 44.307899, 0, 0, 269.7591); CreateObject(971, -2095.562012, -128.925003, 44.332855, 0, 0, 269.7591); CreateObject(971, -2095.552979, -120.086128, 44.357857, 0, 0, 269.7591); CreateObject(971, -2095.778076, -111.679253, 44.307884, 0, 0, 270.6186); CreateObject(971, -2095.861328, -102.843391, 44.307854, 0, 0, 270.6186); CreateObject(971, -2091.427979, -103.389999, 44.316978, 0, 0, 179.5181); CreateObject(971, -2082.551025, -103.364998, 44.251526, 0, 0, 179.5181); CreateObject(971, -2073.788086, -103.431046, 44.280823, 0, 0, 0); CreateObject(971, -2065.115967, -103.389908, 44.358833, 0, 0, 0); CreateObject(971, -2052.744141, -102.656273, 41.456863, 0, 0, 0); CreateObject(971, -2052.687744, -102.647896, 48.660263, 0, 0, 0); CreateObject(971, -2045.562500, -102.590111, 41.476204, 0, 0, 0.8594); CreateObject(971, -2059.413330, -103.415001, 44.337914, 0, 0, 0); CreateObject(971, -2045.552368, -102.562973, 48.579254, 0, 0, 0.8594); CreateObject(971, -2011.691772, -147.416718, 44.332825, 0, 0, 270.6186); CreateObject(971, -2011.752686, -159.865814, 44.307831, 0, 0, 89.3814); CreateObject(616, -2053.137207, -114.562286, 34.284336, 0, 0, 0); CreateObject(618, -2048.662354, -115.591202, 34.585541, 0, 0, 0); CreateObject(617, -2086.480957, -275.459412, 34.314148, 0, 0, 0); CreateObject(616, -2090.233887, -269.792480, 34.314148, 0, 0, 0); CreateObject(1634,-2034.887,-99.086,35.461,0.0,0.0,-180.000); CreateObject(1634,-2030.837,-99.060,35.461,0.0,0.0,-180.000); CreateObject(1634,-2026.701,-99.048,35.461,0.0,0.0,-180.000); CreateObject(1634,-2022.597,-99.024,35.461,0.0,0.0,-180.000); //----------------Chilliad Arena By: ISCV [BRA] CreateObject(971,-2270.527343,-1645.016723,478.164978,0.000000,0.000000,0.000000); CreateObject(750,-2275.597167,-1639.763916,478.156280,0.000000,0.000000,0.000000); CreateObject(971,-2257.711425,-1645.354125,478.159576,0.000000,0.000000,0.000000); CreateObject(9833,-2264.194335,-1644.980590,478.154724,0.000000,0.000000,792.000000); CreateObject(973,-2253.426025,-1639.964599,478.167938,0.000000,0.000000,5844.000000); CreateObject(973,-2252.997314,-1630.495483,478.249755,0.000000,0.000000,7288.000000); CreateObject(1634,-2248.282226,-1625.055908,478.282806,0.000000,0.000000,1332.000000); CreateObject(1634,-2244.210693,-1626.322998,481.407196,1464.000000,0.000000,3132.000000); CreateObject(973,-2252.701171,-1616.333129,478.352142,0.000000,0.000000,13408.000000); CreateObject(4650,-2189.161865,-1616.323364,478.525512,368.000000,0.000000,1348.000000); CreateObject(1634,-2121.138916,-1616.903930,489.427307,1456.000000,0.000000,1708.000000); CreateObject(1634,-2116.833496,-1617.007690,493.588989,2188.000000,0.000000,2068.000000); CreateObject(5009,-2032.651489,-1615.157958,497.910034,0.000000,0.000000,0.000000); CreateObject(1632,-2236.333007,-1609.791625,473.148315,724.000000,360.000000,448.000000); CreateObject(1632,-2240.892578,-1609.632568,476.068756,20.000000,0.000000,448.000000); CreateObject(1634,-2238.559082,-1615.410400,473.550109,384.000000,0.000000,1892.000000); CreateObject(1633,-2237.075195,-1615.318481,473.495483,368.000000,0.000000,92.000000); CreateObject(3524,-2219.694580,-1609.049804,477.158203,0.000000,0.000000,0.000000); CreateObject(3524,-2218.145996,-1620.882324,477.158203,0.000000,0.000000,1624.000000); CreateObject(3524,-2209.556152,-1609.270019,477.158203,0.000000,0.000000,0.000000); CreateObject(3524,-2208.931884,-1621.436523,477.158203,0.000000,0.000000,192.000000); CreateObject(971,-2116.598876,-1623.888183,488.772003,0.000000,0.000000,444.000000); CreateObject(971,-2120.634277,-1608.590454,488.346282,0.000000,0.000000,0.000000); CreateObject(971,-2116.105957,-1612.948486,489.083770,0.000000,0.000000,452.000000); CreateObject(971,-2121.046875,-1628.679443,488.677764,0.000000,0.000000,0.000000); CreateObject(4638,-2120.725830,-1627.362915,489.073455,0.000000,0.000000,0.000000); CreateObject(982,-2111.551757,-1614.860717,496.136596,0.000000,0.000000,0.000000); CreateObject(984,-2111.480712,-1634.130615,496.136596,0.000000,0.000000,0.000000); CreateObject(984,-2111.482910,-1646.892822,496.136596,0.000000,0.000000,0.000000); CreateObject(982,-2111.460937,-1666.236694,496.136596,0.000000,0.000000,0.000000); CreateObject(982,-2111.444091,-1691.887207,496.136596,0.000000,0.000000,0.000000); CreateObject(982,-2111.538330,-1588.964111,496.136596,0.000000,0.000000,0.000000); CreateObject(982,-2111.547607,-1563.219482,496.136596,0.000000,0.000000,0.000000); CreateObject(981,-2111.629394,-1538.864257,496.136596,0.000000,0.000000,1528.000000); CreateObject(1427,-2109.999511,-1535.344360,496.136596,0.000000,0.000000,272.000000); CreateObject(972,-2097.108886,-1707.758666,496.136596,0.000000,0.000000,92.000000); CreateObject(972,-2072.137939,-1706.837890,496.136596,0.000000,0.000000,812.000000); CreateObject(972,-2047.145996,-1705.820800,496.136596,0.000000,0.000000,452.000000); CreateObject(972,-2022.515258,-1706.104370,496.136596,0.000000,0.000000,88.000000); CreateObject(972,-1997.491943,-1706.033691,496.136596,0.000000,0.000000,2252.000000); CreateObject(972,-1972.407592,-1704.695800,496.136596,0.000000,0.000000,92.000000); CreateObject(14781,-2267.243164,-1594.381713,478.816650,0.000000,0.000000,1444.000000); CreateObject(971,-2266.658447,-1597.302978,478.582031,0.000000,0.000000,0.000000); CreateObject(971,-2267.059814,-1590.094116,478.738525,0.000000,0.000000,4500.000000); CreateObject(986,-2288.669921,-1586.208740,478.636779,0.000000,0.000000,1624.000000); CreateObject(986,-2280.687988,-1585.955444,478.746948,0.000000,0.000000,0.000000); CreateObject(985,-2272.568603,-1585.542724,478.814483,0.000000,0.000000,19804.000000); CreateObject(1245,-2252.056884,-1611.428222,478.462677,0.000000,0.000000,2340.000000); CreateObject(1245,-2252.010253,-1608.348632,478.447570,0.000000,0.000000,5224.000000); CreateObject(4165,-1937.273803,-1668.089843,496.136596,0.000000,0.000000,0.000000); CreateObject(4168,-1799.352172,-1668.042968,496.136596,0.000000,0.000000,0.000000); CreateObject(1696,-2005.802124,-1680.744750,496.136596,0.000000,0.000000,0.000000); CreateObject(1655,-1724.958496,-1662.484619,497.211120,0.000000,0.000000,268.000000); CreateObject(1655,-1725.340698,-1673.870483,497.050628,0.000000,0.000000,4224.000000); CreateObject(1632,-1726.351196,-1667.717163,497.050628,1084.000000,3600.000000,2788.000000); CreateObject(1634,-1720.912231,-1667.889404,500.267852,736.000000,0.000000,7828.000000); CreateObject(1633,-1718.319824,-1667.965209,503.413818,32.000000,0.000000,268.000000); CreateObject(16778,-1806.542724,-1660.203613,497.042846,0.000000,0.000000,0.000000); CreateObject(1227,-1806.147094,-1660.276245,497.207916,0.000000,0.000000,0.000000); CreateObject(13801,-1834.301513,-1659.138427,497.058471,0.000000,0.000000,0.000000); CreateObject(1358,-1860.409790,-1660.175903,497.215881,0.000000,0.000000,420.000000); CreateObject(1634,1559.260864,-1313.433959,333.467376,0.000000,0.000000,352.000000); CreateObject(1634,1562.375488,-1314.327270,333.453186,0.000000,0.000000,1412.000000); CreateObject(1655,1562.151977,-1310.548461,335.780273,392.000000,0.000000,344.000000); CreateObject(11417,-2193.707763,-1623.126708,482.531555,0.000000,0.000000,616.000000); CreateObject(3374,-2112.139160,-1617.322753,498.396026,0.000000,0.000000,0.000000); return 1; } public VHPBarUpdate() { for(new i=0; i= 0 && vhp <= 249){ TextDrawShowForPlayer(i,vehiclehpbar[0]); } if(vhp >= 250 && vhp <= 317){ TextDrawShowForPlayer(i,vehiclehpbar[1]); } else if(vhp >= 318 && vhp <= 385){ TextDrawShowForPlayer(i,vehiclehpbar[2]); } else if(vhp >= 386 && vhp <= 453){ TextDrawShowForPlayer(i,vehiclehpbar[3]); } else if(vhp >= 454 && vhp <= 521){ TextDrawShowForPlayer(i,vehiclehpbar[4]); } else if(vhp >= 522 && vhp <= 589){ TextDrawShowForPlayer(i,vehiclehpbar[5]); } else if(vhp >= 590 && vhp <= 657){ TextDrawShowForPlayer(i,vehiclehpbar[6]); } else if(vhp >= 658 && vhp <= 725){ TextDrawShowForPlayer(i,vehiclehpbar[7]); } else if(vhp >= 726 && vhp <= 793){ TextDrawShowForPlayer(i,vehiclehpbar[8]); } else if(vhp >= 794 && vhp <= 861){ TextDrawShowForPlayer(i,vehiclehpbar[9]); } else if(vhp >= 862 && vhp <= 929){ TextDrawShowForPlayer(i,vehiclehpbar[10]); } else if(vhp >= 930 && vhp <= 1000){ TextDrawShowForPlayer(i,vehiclehpbar[11]); } } } return 1; } public ctimer() { if (cseconds) { format(cstring,6,"~w~%d", cseconds-1); GameTextForAll(cstring,1100,4); SoundForAll(1056); cseconds --; if (!cseconds) { GameTextForAll("~r~GO GO GO!!!",2000,4); SoundForAll(1057); for (new i = 0; i < MAX_PLAYERS; i ++) { if (IsPlayerConnected(i)) SetTimer("resetcount",2000,0); } } } } stock SoundForAll(sound) { for (new i = 0; i <= MAX_PLAYERS; i ++) { if (IsPlayerConnected(i) == 1) { PlayerPlaySound(i,sound,0.0,0.0,0.0); } } } //==========================Selection Screen Stuff============================== public OnPlayerRequestClass(playerid, classid) { SetPlayerClass(playerid, classid); gPlayerClass[playerid] = classid; //--------------------------Selection Screen Colors----------------------------- switch (classid) { //-------------------------------SF Worker case 0: { GameTextForPlayer(playerid, "~r~SF WORKER", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -2109.7576,184.2289,35.1503); SetPlayerFacingAngle(playerid,160.3343); SetPlayerCameraPos(playerid, -2108.96,175.01,36.31); SetPlayerCameraLookAt(playerid, -2109.7576,184.2289,35.1503); PlayerPlaySound(playerid,SOUND_MUSIC1,-2109.7576,184.2289,35.1503); } //-------------------------------SF Pimp case 1: { GameTextForPlayer(playerid, "~r~SF PIMP", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -2718.6787,1369.0715,7.1875); SetPlayerFacingAngle(playerid,150.9731); SetPlayerCameraPos(playerid, -2722.37,1362.35,9.08); SetPlayerCameraLookAt(playerid, -2718.6787,1369.0715,7.1875); PlayerPlaySound(playerid,SOUND_MUSIC1,-2718.6787,1369.0715,7.1875); } //-------------------------------SF Golfer case 2: { GameTextForPlayer(playerid, "~r~SF GOLFER", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -2457.8726,-259.3923,39.6499); SetPlayerFacingAngle(playerid,91.5298); SetPlayerCameraPos(playerid, -2463.7385,-260.9094,39.5841); SetPlayerCameraLookAt(playerid, -2457.8726,-259.3923,39.6499); PlayerPlaySound(playerid,SOUND_MUSIC1,-2457.8726,-259.3923,39.6499); } //-------------------------------SF Triad case 3: { GameTextForPlayer(playerid, "~r~SF TRIAD", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -2193.5981,641.5383,49.4429); SetPlayerFacingAngle(playerid,354.6778); SetPlayerCameraPos(playerid, -2194.3101,645.1630,49.4375); SetPlayerCameraLookAt(playerid, -2193.5981,641.5383,49.4429); PlayerPlaySound(playerid,SOUND_MUSIC1,-2193.5981,641.5383,49.4429); } //-------------------------------SF Army case 4: { GameTextForPlayer(playerid, "~r~SF ARMY", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -1314.7040,445.2622,7.1875); SetPlayerFacingAngle(playerid,217.3818); SetPlayerCameraPos(playerid, -1314.56,435.76,8.94); SetPlayerCameraLookAt(playerid, -1314.7040,445.2622,7.1875); PlayerPlaySound(playerid,SOUND_MUSIC1,-1314.7040,445.2622,7.1875); } //-------------------------------SF Valet case 5: { GameTextForPlayer(playerid, "~r~SF VALET", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -1731.0652,956.3801,24.8828); SetPlayerFacingAngle(playerid,358.6085); SetPlayerCameraPos(playerid, -1731.92,960.97,26.35); SetPlayerCameraLookAt(playerid, -1731.0652,956.3801,24.8828); PlayerPlaySound(playerid,SOUND_MUSIC1, -1731.0652,956.3801,24.8828); } //-------------------------------SF Medic case 6: { GameTextForPlayer(playerid, "~r~SF MEDIC", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -2593.1321,608.7902,14.4531); SetPlayerFacingAngle(playerid,270.5395); SetPlayerCameraPos(playerid, -2590.15,608.88,14.89); SetPlayerCameraLookAt(playerid, -2593.1321,608.7902,14.4531); PlayerPlaySound(playerid,SOUND_MUSIC1, -2593.1321,608.7902,14.4531); } //-------------------------------SF FBI case 7: { GameTextForPlayer(playerid, "~r~SF FBI", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -1622.7039,673.5800,-4.9063); SetPlayerFacingAngle(playerid,150.9650); SetPlayerCameraPos(playerid, -1623.80,670.28,-3.78); SetPlayerCameraLookAt(playerid, -1622.7039,673.5800,-4.9063); PlayerPlaySound(playerid,SOUND_MUSIC1,-1622.7039,673.5800,-4.9063); } //-------------------------------SF Chicken case 8: { GameTextForPlayer(playerid, "~r~SF CHICKEN", 2000, 5); SetPlayerInterior(playerid,9); SetPlayerPos(playerid, 369.7185,-4.4895,1001.8147); SetPlayerFacingAngle(playerid,180.9218); SetPlayerCameraPos(playerid, 369.53,-7.95,1001.86); SetPlayerCameraLookAt(playerid, 369.72,-4.49,1001.86); PlayerPlaySound(playerid,SOUND_MUSIC1,369.7185,-4.4895,1001.8147); } //-------------------------------SF Rich case 9: { GameTextForPlayer(playerid, "~r~SF RICH", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -2680.6270,936.2209,79.7031); SetPlayerFacingAngle(playerid,2.7078); SetPlayerCameraPos(playerid, -2680.65,938.96,80.53); SetPlayerCameraLookAt(playerid, -2680.6270,936.2209,79.7031); PlayerPlaySound(playerid,SOUND_MUSIC1,-2680.6270,936.2209,79.7031); } //-------------------------------SF Pilot case 10: { GameTextForPlayer(playerid, "~r~SF PILOT", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -1339.0934,-299.9974,14.1484); SetPlayerFacingAngle(playerid,173.2872); SetPlayerCameraPos(playerid, -1337.09,-306.75,15.64); SetPlayerCameraLookAt(playerid, -1339.0934,-299.9974,14.1484); PlayerPlaySound(playerid,SOUND_MUSIC1, -1339.0934,-299.9974,14.1484); } //-------------------------------SF Da Nang case 11: { GameTextForPlayer(playerid, "~r~SF DA NANG", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerPos(playerid, -1421.1034,1488.5735,11.8084); SetPlayerFacingAngle(playerid,267.8500); SetPlayerCameraPos(playerid, -1417.55,1488.98,11.74); SetPlayerCameraLookAt(playerid, -1421.1034,1488.5735,11.8084); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Balla case 12: { GameTextForPlayer(playerid,"~p~LV Balla",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Balla case 13: { GameTextForPlayer(playerid,"~p~LV Balla",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Balla case 14: { GameTextForPlayer(playerid,"~p~LV Balla",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Grove case 15: { GameTextForPlayer(playerid,"~g~LV Grove",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Grove case 16: { GameTextForPlayer(playerid,"~g~LV Grove",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Grove case 17: { GameTextForPlayer(playerid,"~g~LV Grove",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Vago case 18: { GameTextForPlayer(playerid,"~y~LV Vago",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Vago case 19: { GameTextForPlayer(playerid,"~y~LV Vago",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Azteca case 20: { GameTextForPlayer(playerid,"~h~~b~LV Azteca",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Azteca case 21: { GameTextForPlayer(playerid,"~h~~b~LV Azteca",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Azteca case 22: { GameTextForPlayer(playerid,"~h~~b~LV Azteca",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Traid case 23: { GameTextForPlayer(playerid,"~r~LV Triad",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Traid case 24: { GameTextForPlayer(playerid,"~r~LV Triad",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Medic case 25: { GameTextForPlayer(playerid,"~b~LV Medic",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Medic case 26: { GameTextForPlayer(playerid,"~b~LV Medic",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Fireman case 27: { GameTextForPlayer(playerid,"~r~LV Fireman",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Cop case 28: { GameTextForPlayer(playerid,"~b~LV Cop",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Cop case 29: { GameTextForPlayer(playerid,"~b~LV Cop",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Cop case 30: { GameTextForPlayer(playerid,"~b~LV Cop",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Army case 31: { GameTextForPlayer(playerid,"~g~LV Army",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LVSwat case 32: { GameTextForPlayer(playerid,"~b~LV Swat",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Civillian case 33: { GameTextForPlayer(playerid,"~w~LV Civilian",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Civillian case 34: { GameTextForPlayer(playerid,"~w~LV Civilian",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Civillian case 35: { GameTextForPlayer(playerid,"~w~LV Civilian",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Civillian case 36: { GameTextForPlayer(playerid,"~w~LV Civilian",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Civillian case 37: { GameTextForPlayer(playerid,"~w~LV Civilian",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Civillian case 38: { GameTextForPlayer(playerid,"~w~LV Civilian",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LV Civillian case 39: { GameTextForPlayer(playerid,"~w~LV Civilian",700,6); SetPlayerPos(playerid, 2182.2908,1285.7317,42.9620); SetPlayerFacingAngle(playerid, 89.8567); SetPlayerCameraPos(playerid, 2177.5269,1285.3782,44.0867); SetPlayerCameraLookAt(playerid, 2182.2908,1285.7317,42.9620); PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084); } //-------------------------------LS Cop case 40: { GameTextForPlayer(playerid, "~g~Cop", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } //-------------------------------LS Cop case 41: { GameTextForPlayer(playerid, "~g~Cop", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } //-------------------------------LS Grove case 42: { GameTextForPlayer(playerid, "~g~Grove", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } //-------------------------------LS Grove case 43: { GameTextForPlayer(playerid, "~g~Grove", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } //-------------------------------LS Vagos case 44: { GameTextForPlayer(playerid, "~g~Vagos", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } //-------------------------------LS Vagos case 45: { GameTextForPlayer(playerid, "~g~Vagos", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } //-------------------------------LS Aztecas case 46: { GameTextForPlayer(playerid, "~g~Aztecas", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } //-------------------------------LS Aztecas case 47: { GameTextForPlayer(playerid, "~g~Aztecas", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } //-------------------------------LS Ballas case 48: { GameTextForPlayer(playerid, "~g~Ballas", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } //-------------------------------LS Ballas case 49: { GameTextForPlayer(playerid, "~g~Ballas", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } //-------------------------------LS PizzaBoy case 50: { GameTextForPlayer(playerid, "~g~PizzaBoy", 500, 3); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid,SOUND_MUSIC1,258.4893,-41.4008,1002.0234); } } return 1; } SetPlayerClass(playerid, classid) { switch(classid) { case 0: { PlayerInfo[playerid][team] = TEAM_WORKER; } case 1: { PlayerInfo[playerid][team] = TEAM_PIMP; } case 2: { PlayerInfo[playerid][team] = TEAM_GOLFER; } case 3: { PlayerInfo[playerid][team] = TEAM_TRIAD; } case 4: { PlayerInfo[playerid][team] = TEAM_ARMY; } case 5: { PlayerInfo[playerid][team] = TEAM_VALET; } case 6: { PlayerInfo[playerid][team] = TEAM_MEDIC; } case 7: { PlayerInfo[playerid][team] = TEAM_FBI; } case 8: { PlayerInfo[playerid][team] = TEAM_CHICKEN; } case 9: { PlayerInfo[playerid][team] = TEAM_RICH; } case 10: { PlayerInfo[playerid][team] = TEAM_PILOT; } case 11: { PlayerInfo[playerid][team] = TEAM_DANANG; } case 12: { PlayerInfo[playerid][team] = TEAM_LVBALLA; } case 13: { PlayerInfo[playerid][team] = TEAM_LVBALLA; } case 14: { PlayerInfo[playerid][team] = TEAM_LVBALLA; } case 15: { PlayerInfo[playerid][team] = TEAM_LVGROVE; } case 16: { PlayerInfo[playerid][team] = TEAM_LVGROVE; } case 17: { PlayerInfo[playerid][team] = TEAM_LVGROVE; } case 18: { PlayerInfo[playerid][team] = TEAM_LVVAGO; } case 19: { PlayerInfo[playerid][team] = TEAM_LVVAGO; } case 20: { PlayerInfo[playerid][team] = TEAM_LVAZTEC; } case 21: { PlayerInfo[playerid][team] = TEAM_LVAZTEC; } case 22: { PlayerInfo[playerid][team] = TEAM_LVAZTEC; } case 23: { PlayerInfo[playerid][team] = TEAM_LVTRIAD; } case 24: { PlayerInfo[playerid][team] = TEAM_LVTRIAD; } case 25: { PlayerInfo[playerid][team] = TEAM_LVMEDIC; } case 26: { PlayerInfo[playerid][team] = TEAM_LVMEDIC; } case 27: { PlayerInfo[playerid][team] = TEAM_LVFIRE; } case 28: { PlayerInfo[playerid][team] = TEAM_LVCOP; } case 29: { PlayerInfo[playerid][team] = TEAM_LVCOP; } case 30: { PlayerInfo[playerid][team] = TEAM_LVCOP; } case 31: { PlayerInfo[playerid][team] = TEAM_LVARMY; } case 32: { PlayerInfo[playerid][team] = TEAM_LVCOP; } case 33: { PlayerInfo[playerid][team] = TEAM_LVCIV; } case 34: { PlayerInfo[playerid][team] = TEAM_LVCIV; } case 35: { PlayerInfo[playerid][team] = TEAM_LVCIV; } case 36: { PlayerInfo[playerid][team] = TEAM_LVCIV; } case 37: { PlayerInfo[playerid][team] = TEAM_LVCIV; } case 38: { PlayerInfo[playerid][team] = TEAM_LVCIV; } case 39: { PlayerInfo[playerid][team] = TEAM_LVCIV; } case 40: { PlayerInfo[playerid][team] = TEAM_LSCOP; } case 41: { PlayerInfo[playerid][team] = TEAM_LSCOP2; } case 42: { PlayerInfo[playerid][team] = TEAM_LSGROVE; } case 43: { PlayerInfo[playerid][team] = TEAM_LSGROVE2; } case 44: { PlayerInfo[playerid][team] = TEAM_LSVAGO; } case 45: { PlayerInfo[playerid][team] = TEAM_LSVAGO2; } case 46: { PlayerInfo[playerid][team] = TEAM_LSAZTECA; } case 47: { PlayerInfo[playerid][team] = TEAM_LSAZTECA2; } case 48: { PlayerInfo[playerid][team] = TEAM_LSBALLA; } case 49: { PlayerInfo[playerid][team] = TEAM_LSBALLA2; } case 50: { PlayerInfo[playerid][team] = TEAM_LSPIZZABOY; } } } //================================Random Functions============================== public SystemMsg(playerid,msg[]) { if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) { SendClientMessage(playerid,COLOR_SYSTEM,msg); } return 1; } //===============================Kick timer===================================== public KickTimer(playerid) { if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid,COLOR_BRIGHTRED, "You have been kicked from the server for Login Timeout!"); Kick(playerid); new kickmess[256]; format(kickmess,sizeof(kickmess),"%s was kicked from the server. Reason: Login Timeout!",PlayerInfo[playerid][name]); SendClientMessage(playerid,COLOR_BRIGHTRED,kickmess); } } //==============================On Player Connect=============================== public OnPlayerConnect(playerid) { playerGang[playerid]=0; gangInvite[playerid]=0; format(sstring, sizeof(sstring), "."); stxt[playerid] = TextDrawCreate(200,350,sstring); TextDrawHideForPlayer(playerid, stxt[playerid]); TextDrawColor(stxt[playerid], 0xFF0000AA); TextDrawSetShadow(stxt[playerid], 2); new file[256],playername[256],string[256]; file = GetPlayerFile(playerid); GetPlayerName(playerid, playername, sizeof(playername)); if(Config[DisplayServerMessage]) { format(string,sizeof(string),"Server Message: %s",dini_Get("/xadmin/Configuration/Configuration.ini","ServerMessage")); SendClientMessage(playerid,green,string); } format(string, sizeof(string), "^^^ %s has joined the server.(Connect) ^^^", playername); SendClientMessageToAll(COLOR_GREY, string); if(!dini_Exists(file)) { SendClientMessage(playerid, COLOR_BRIGHTRED, "-----------------------------------------------------------------------------------------------------------------------"); format(string, sizeof(string), "Welcome %s, to the new HC4L gang server", playername); SendClientMessage(playerid, COLOR_ORANGE, string); SendClientMessage(playerid, COLOR_BRIGHTRED, "-----------------------------------------------------------------------------------------------------------------------"); SendClientMessage(playerid,COLOR_YELLOW, "You have been given $25000 starting money since you have no saved money as of yet!"); SendClientMessage(playerid,COLOR_YELLOW, "You can register your current player name with '/register [password]'"); SendClientMessage(playerid,COLOR_ORANGE, "You must register and login to gain access to money, bank and vehicle saving options!"); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Type /help to get started and type /credits for a list of ppl who contributed."); SendClientMessage(playerid, COLOR_BRIGHTRED, "-----------------------------------------------------------------------------------------------------------------------"); Variables[playerid][LoggedIn] = false; Variables[playerid][Registered] = false; Variables[playerid][Level] = 0; GivePlayerMoney(playerid,25000); } if(dini_Exists(file)) { SendClientMessage(playerid, COLOR_BRIGHTRED, "-----------------------------------------------------------------------------------------------------------------------"); format(string, sizeof(string), "Welcome %s, to the new HC4L gang server", playername); SendClientMessage(playerid, COLOR_ORANGE, string); SendClientMessage(playerid, COLOR_BRIGHTRED, "-----------------------------------------------------------------------------------------------------------------------"); new tmp[50],tmp2[256]; GetPlayerIp(playerid,tmp,50); tmp2 = dini_Get(file,"IP"); if(!strcmp(tmp,tmp2,true)) { format(string,256,"Welcome back, %s. You have automatically been logged in.",playername); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); SendClientMessage(playerid, COLOR_BRIGHTRED, "-----------------------------------------------------------------------------------------------------------------------"); PlayerInfo[playerid][logged] = 1; Variables[playerid][LoggedIn] = true; Variables[playerid][Registered] = GetPlayerFileVar(playerid,"Registered"); Variables[playerid][Level] = GetPlayerFileVar(playerid,"Level"); Variables[playerid][Wired] = GetPlayerFileVar(playerid,"Wired"); Variables[playerid][Jailed] = GetPlayerFileVar(playerid,"Jailed"); if(Variables[playerid][Wired]) SetUserInt(playerid,"WiredWarnings",Config[WiredWarnings]); if(Variables[playerid][Level] > Config[MaxLevel]) { Variables[playerid][Level] = Config[MaxLevel]; SetUserInt(playerid,"Level",Config[MaxLevel]); } LoadPlayer(playerid); ResetPlayerMoney(playerid); GivePlayerMoney(playerid,PlayerInfo[playerid][pcash]); } else { format(string,sizeof(string),"The name %s, is already registered on this server. Please login or you will be disconnected in 60 seconds!",playername); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); SendClientMessage(playerid, COLOR_BRIGHTRED, "-----------------------------------------------------------------------------------------------------------------------"); PlayerInfo[playerid][logged] = 0; Variables[playerid][LoggedIn] = false; Variables[playerid][Registered] = GetPlayerFileVar(playerid,"Registered"); SetTimerEx("KickTimer",60000,0,"i",playerid); } } speedo[playerid] = 1; PlayerInfo[playerid][vhpb] = 1; Calling[playerid] = -1; Answered[playerid] = 0; Callerid[playerid] = 0; checktimer = SetTimerEx("CheckSpeedo", 500, 1,"i",playerid); backtimer = SetTimerEx("BackupInfo",120000,1,"i",playerid); phonetimer = SetTimerEx("PhoneCut",1000,1,"i",playerid); counttimer = SetTimerEx("ctimer",1000,1,"i",playerid); paytimer = SetTimerEx("PayDay",PD_TIMER,1,"i",playerid); vstimer = SetTimerEx("vehiclestreamer",300,1,"i",playerid); mmstimer = SetTimerEx("minimapstreamer",300,1,"i",playerid); pstimer = SetTimerEx("pickupstreamer",300,1,"i",playerid); //SendClientMessage(playerid,0xC0C0C0FF,"Please choose a language : /en (default is EN)"); } //===========================Player and Vehicle Stuff=========================== stock LoadPlayer(playerid) { new playername[256]; new file[256]; file = GetPlayerFile(playerid); GetPlayerName(playerid, playername, sizeof(playername)); if(dini_Exists(file)) { PlayerInfo[playerid][name] = playername; PlayerInfo[playerid][admin] = Variables[playerid][Level]; PlayerInfo[playerid][vowned] = GetPlayerFileVar(playerid,"Vehicle"); PlayerInfo[playerid][vowner] = GetPlayerFileVar(playerid,"Vowner"); PlayerInfo[playerid][pcash] = GetPlayerFileVar(playerid,"Money"); PlayerInfo[playerid][bank] = GetPlayerFileVar(playerid,"Bank"); PlayerInfo[playerid][bowner] = GetPlayerFileVar(playerid,"Bowner"); PlayerInfo[playerid][bowned] = GetPlayerFileVar(playerid,"Bowned"); } } stock SavePlayer(playerid) { new imoney,playername[256]; imoney = GetPlayerMoney(playerid); new file[256]; file = GetPlayerFile(playerid); GetPlayerName(playerid, playername, sizeof(playername)); if(!dini_Exists(file)) {} else { SetUserInt(playerid,"Money",imoney); SetUserInt(playerid,"Vehicle",PlayerInfo[playerid][vowned]); SetUserInt(playerid,"Vowner",PlayerInfo[playerid][vowner]); SetUserInt(playerid,"Bank",PlayerInfo[playerid][bank]); SetUserInt(playerid,"Bowner",PlayerInfo[playerid][bowner]); SetUserInt(playerid,"Bowned",PlayerInfo[playerid][bowned]); } } stock ResetOfflinePlayerFileV(pname[]) { new fname[256],intname[256]; format(intname,sizeof(intname),"%s",pname); format(fname,sizeof(fname),"/xadmin/Users/%s.ini",udb_encode(intname)); if(dini_Exists(fname)) { dini_IntSet(fname,"Vehicle",0); dini_IntSet(fname,"Vowner",0); } } stock ResetOfflinePlayerFileB(pname[]) { new fname[256],intname[256]; format(intname,sizeof(intname),"%s",pname); format(fname,sizeof(fname),"/xadmin/Users/%s.ini",udb_encode(intname)); if(dini_Exists(fname)) { dini_IntSet(fname,"Bowned",0); dini_IntSet(fname,"Bowner",0); } } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { for(new i = 0; i < MAX_PLAYERS; i++) if(Spec[i][SpectateID] == playerid && Spec[i][Spectating]) { TogglePlayerSpectating(i,false); SetPlayerInterior(i,GetPlayerInterior(playerid)); TogglePlayerSpectating(i,true); PlayerSpectateVehicle(i,vehicleid); } passenger[playerid] = ispassenger; /*passenger[playerid] = ispassenger; if(passenger[playerid] == 0) { if(PlayerInfo[playerid][logged] == 1) { new playername[256]; GetPlayerName(playerid,playername,sizeof(playername)); if (strcmp(VehicleInfo[streamid][owner],playername,false) == 0) { new string[256]; format(string, sizeof(string), "Welcome to your %s %s, please drive carefully!", VehicleInfo[streamid][name], PlayerInfo[playerid][name]); SendClientMessage(playerid, COLOR_GREEN, string); return 1; } if (strcmp(VehicleInfo[streamid][owner],DEFAULT_OWNER,false) == 0) { if(VehicleInfo[streamid][buybar] == 1) { new string[256]; format(string,sizeof(string),"This %s has been set as non-buyable by server administration!", VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } new string[256]; format(string, sizeof(string), "This %s is for sale and costs $%d, type /vmenu to see vehicle options.",VehicleInfo[streamid][name], VehicleInfo[streamid][vehiclecost]); SendClientMessage(playerid, COLOR_YELLOW, string); return 1; } else { new string[256]; format(string, sizeof(string), "This %s belongs to %s, and cannot be purchased.", VehicleInfo[streamid][name], VehicleInfo[streamid][owner]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } } else { new playername[256]; GetPlayerName(playerid,playername,sizeof(playername)); if (strcmp(VehicleInfo[streamid][owner],playername,false) == 0) { new string[256]; format(string, sizeof(string), "Welcome to your %s %s, please drive carefully! Remember, you must be logged in to acces vehicle controls.", VehicleInfo[streamid][name], playername); SendClientMessage(playerid, COLOR_GREEN, string); return 1; } if (strcmp(VehicleInfo[streamid][owner],DEFAULT_OWNER,false) == 0) { if(VehicleInfo[streamid][buybar] == 1) { new string[256]; format(string,sizeof(string),"This %s has been set as non-buyable by server administration!", VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } new string[256]; format(string, sizeof(string), "This %s is for sale and costs $%d, You must be logged in to purchase a vehicle.",VehicleInfo[streamid][name], VehicleInfo[streamid][vehiclecost]); SendClientMessage(playerid, COLOR_YELLOW, string); return 1; } else { new string[256]; format(string, sizeof(string), "This %s belongs to %s, and cannot be purchased.", VehicleInfo[streamid][name], VehicleInfo[streamid][owner]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } } } return 1;*/ } stock SendVWelcome(playerid) { TextDrawHideForPlayer(playerid, stxt[playerid]); TextDrawShowForPlayer(playerid, stxt[playerid]); new streamid = GetPlayerVehicleStreamID(playerid); SetVehicleUsed(GetPlayerVehicleID(playerid),true); for(new d=0; d<3; d++) { if(GetVehicleModel(GetPlayerVehicleID(playerid)) == pbike[d][0]) { speedo[playerid] = 2; } } if(passenger[playerid] == 0) { if(PlayerInfo[playerid][logged] == 1) { new playername[256]; GetPlayerName(playerid,playername,sizeof(playername)); if (strcmp(VehicleInfo[streamid][owner],playername,false) == 0) { new string[256]; format(string, sizeof(string), "Welcome to your %s %s, please drive carefully!", VehicleInfo[streamid][name], PlayerInfo[playerid][name]); SendClientMessage(playerid, COLOR_GREEN, string); return 1; } if (strcmp(VehicleInfo[streamid][owner],DEFAULT_OWNER,false) == 0) { if(VehicleInfo[streamid][buybar] == 1) { new string[256]; format(string,sizeof(string),"This %s has been set as non-buyable by server administration!", VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } new string[256]; format(string, sizeof(string), "This %s is for sale and costs $%d, type /vmenu to see vehicle options.",VehicleInfo[streamid][name], VehicleInfo[streamid][vehiclecost]); SendClientMessage(playerid, COLOR_YELLOW, string); return 1; } else { new string[256]; format(string, sizeof(string), "This %s belongs to %s, and cannot be purchased.", VehicleInfo[streamid][name], VehicleInfo[streamid][owner]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } } else { new playername[256]; GetPlayerName(playerid,playername,sizeof(playername)); if (strcmp(VehicleInfo[streamid][owner],playername,false) == 0) { new string[256]; format(string, sizeof(string), "Welcome to your %s %s, please drive carefully! Remember, you must be logged in to acces vehicle controls.", VehicleInfo[streamid][name], playername); SendClientMessage(playerid, COLOR_GREEN, string); return 1; } if (strcmp(VehicleInfo[streamid][owner],DEFAULT_OWNER,false) == 0) { if(VehicleInfo[streamid][buybar] == 1) { new string[256]; format(string,sizeof(string),"This %s has been set as non-buyable by server administration!", VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } new string[256]; format(string, sizeof(string), "This %s is for sale and costs $%d, You must be logged in to purchase a vehicle.",VehicleInfo[streamid][name], VehicleInfo[streamid][vehiclecost]); SendClientMessage(playerid, COLOR_YELLOW, string); return 1; } else { new string[256]; format(string, sizeof(string), "This %s belongs to %s, and cannot be purchased.", VehicleInfo[streamid][name], VehicleInfo[streamid][owner]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } } } return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { if(newstate == PLAYER_STATE_DRIVER) { SendVWelcome(playerid); new streamid = GetPlayerVehicleStreamID(playerid); new string[256]; if(VehicleInfo[streamid][asecure] == 1) { if(PlayerInfo[playerid][admin] > 4) { format(carmess,sizeof(carmess),"This %s is currently set for admin use only. It will eject anyone who is not an admin.",VehicleInfo[streamid][name]); SendClientMessage(playerid,COLOR_ORANGE,carmess); return 1; } GetPlayerPos(playerid,ta,tb,tc); SetPlayerPos(playerid,ta,tb,tc+5); format(string, sizeof(string), "This %s has been set to allow admin/moderator control only and you are prohibited from using it.",VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_ORANGE, string); return 1; } if(VehicleInfo[streamid][asecure] == 2) { if(PlayerInfo[playerid][admin] > 4) { format(carmess,sizeof(carmess),"This %s is currently set for admin use only. It will kill anyone who is not an admin.",VehicleInfo[streamid][name]); SendClientMessage(playerid,COLOR_ORANGE,carmess); return 1; } new Float:pos[3]; GetPlayerPos(playerid,pos[0],pos[1],pos[2]); CreateExplosion(pos[0],pos[1],pos[2],4,6); format(string, sizeof(string), "Server administration has set this %s to kill anyone who try's to drive it...R.I.P loser!",VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_ORANGE, string); format(string, sizeof(string), "%s just tried to steal an admin only %s and was killed by the car bomb...R.I.P loser!",PlayerInfo[playerid][name],VehicleInfo[streamid][name]); SendClientMessageToAll(COLOR_ORANGE, string); return 1; } if(VehicleInfo[streamid][secure] == 0) { if (strcmp(VehicleInfo[streamid][owner],PlayerInfo[playerid][name],false) == 0) { SendClientMessage(playerid, COLOR_GREEN, "Your vehicle security system is currently deactivated."); return 1; } } if(VehicleInfo[streamid][secure] == 1) { if (strcmp(VehicleInfo[streamid][owner],PlayerInfo[playerid][name],false) == 0) { SendClientMessage(playerid, COLOR_GREEN, "Your vehicle security system is currently set to eject intruders."); return 1; } if(PlayerInfo[playerid][admin] > 4) { format(string, sizeof(string), "The owner of this %s (%s), has secured this vehicle but as ADMIN you can still use it.",VehicleInfo[streamid][name],VehicleInfo[streamid][owner]); SendClientMessage(playerid, COLOR_ORANGE, string); return 1; } GetPlayerPos(playerid,ta,tb,tc); SetPlayerPos(playerid,ta,tb,tc+5); format(string, sizeof(string), "The owner of this %s (%s), has secured this vehicle and you are prohibited from using it.", VehicleInfo[streamid][name],VehicleInfo[streamid][owner]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } if(VehicleInfo[streamid][secure] == 2) { if (strcmp(VehicleInfo[streamid][owner],PlayerInfo[playerid][name],false) == 0) { SendClientMessage(playerid, COLOR_GREEN, "Your vehicle security system is currently set to kill intruders."); return 1; } if(PlayerInfo[playerid][admin] > 4) { format(string, sizeof(string), "The owner of this %s (%s), has set the vehicle to kill intruders but as ADMIN you can still use it.", VehicleInfo[streamid][name],VehicleInfo[streamid][owner]); SendClientMessage(playerid, COLOR_ORANGE, string); return 1; } new Float:pos[3]; GetPlayerPos(playerid,pos[0],pos[1],pos[2]); CreateExplosion(pos[0],pos[1],pos[2],4,6); format(string, sizeof(string), "The owner of this %s (%s), has set this vehicle to kill anyone who try's to drive it...R.I.P loser!",VehicleInfo[streamid][name],VehicleInfo[streamid][owner]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); format(string, sizeof(string), "%s just tried to steal %s's %s and was killed by the car bomb...R.I.P loser!",PlayerInfo[playerid][name],VehicleInfo[streamid][owner],VehicleInfo[streamid][name]); SendClientMessageToAll(COLOR_LIGHTBLUE, string); return 1; } } return 1; } public OnVehicleDeath(vehicleid) { SetTimerEx("DeathProcess",10000,0,"x",vehicleid); VehicleInfo[GetVehicleStreamID(vehicleid)][limbo] = 1; return 1; } public DeathProcess(vehicleid) { new i = GetVehicleStreamID(vehicleid); DestroyVehicle(vehicleid); VehicleInfo[i][idnum] = CreateVehicle(VehicleInfo[i][model], VehicleInfo[i][x_spawn], VehicleInfo[i][y_spawn], VehicleInfo[i][z_spawn], VehicleInfo[i][za_spawn], VehicleInfo[i][color_1], VehicleInfo[i][color_2],20000); avstream[VehicleInfo[i][idnum]] = i; SetTimerEx("ModVehicle",100,0,"i",i); VehicleInfo[i][fspawn] = 0; vehused[vehicleid] = 0; VehicleInfo[i][limbo] = 0; } public OnVehicleMod(vehicleid,componentid) { new streamid = GetVehicleStreamID(vehicleid); SaveComponent(streamid,componentid); return 1; } public OnVehiclePaintjob(vehicleid,paintjobid) { new streamid = GetVehicleStreamID(vehicleid); SavePaintjob(streamid,paintjobid); return 1; } public OnVehicleRespray(vehicleid,color1,color2) { new streamid = GetVehicleStreamID(vehicleid); SaveColors(streamid,color1,color2); return 1; } public CallVehicleToPlayer(playerid) { new streamid = PlayerInfo[playerid][vowned]; if(VehicleInfo[streamid][spawned] == 0) { if(Vstreamcount < MAX_ACTIVE_VEHICLES) { if(CountModels(vehcount) < MAX_ACTIVE_MODELS) { new Float:x, Float:y, Float:z, Float:a; GetPlayerPos(playerid,x,y,z); GetPlayerFacingAngle(playerid, a); x += (3 * floatsin(-a, degrees)); y += (3 * floatcos(-a, degrees)); VehicleInfo[streamid][idnum] = CreateVehicle(VehicleInfo[streamid][model],x,y,z-0.35,a+90,VehicleInfo[streamid][color_1],VehicleInfo[streamid][color_2],20000); avstream[VehicleInfo[streamid][idnum]] = streamid; SetTimerEx("ModVehicle",100,0,"i",streamid); SetVehicleUsed(VehicleInfo[streamid][idnum],true); format(carmess,sizeof(carmess),"Your %s has been successfully transported to your location!",VehicleInfo[streamid][name]); VehicleInfo[streamid][fspawn] = 1; SendClientMessage(playerid, COLOR_GREEN, carmess); VehicleInfo[streamid][spawned] = 1; Vstreamcount++; } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "Your vehicle cannot be called to you as this server has reached maximum capacity for vehicles at this time."); } } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "Your vehicle cannot be called to you as this server has reached maximum capacity for vehicles at this time."); } } else { new Float:x, Float:y, Float:z, Float:a; GetPlayerPos(playerid,x,y,z); GetPlayerFacingAngle(playerid, a); x += (3 * floatsin(-a, degrees)); y += (3 * floatcos(-a, degrees)); DestroyVehicle(VehicleInfo[streamid][idnum]); VehicleInfo[streamid][idnum] = CreateVehicle(VehicleInfo[streamid][model],x,y,z-0.35,a+90,VehicleInfo[streamid][color_1],VehicleInfo[streamid][color_2],20000); avstream[VehicleInfo[streamid][idnum]] = streamid; SetTimerEx("ModVehicle",100,0,"i",streamid); SetVehicleUsed(VehicleInfo[streamid][idnum],true); format(carmess,sizeof(carmess),"Your %s has been successfully transported to your location!",VehicleInfo[streamid][name]); VehicleInfo[streamid][fspawn] = 1; SendClientMessage(playerid, COLOR_GREEN, carmess); } return 1; } //================================Reset Count=================================== public resetcount() { for (new i = 0; i < MAX_PLAYERS; i ++) { if (IsPlayerConnected(i)) cCount[i] = 0; } } //=================================Announcer==================================== public announcer() { for(new i=0;i 0) { format(string, sizeof(string), "*** %s GOT OWNED. (%s)", pname, deathreason); } else { format(string, sizeof(string), "*** %s GOT OWNED.", pname); } } //SendClientMessageToAll(COLOR_RED, string); } else { new killer[MAX_PLAYER_NAME]; GetPlayerName(killerid, killer, sizeof(killer)); if (strlen(deathreason) > 0) { format(string, sizeof(string), "*** %s owned %s. (%s)", killer, pname, deathreason); } else { format(string, sizeof(string), "*** %s owned %s.", killer, pname); } if(killerid != INVALID_PLAYER_ID && gPlayerClass[playerid] == gPlayerClass[killerid]) { KillerID[playerid] = killerid; new warning[256]; format(warning, sizeof(warning), "Be careful! You You may Be punished for Team Killing!"); SendClientMessage(killerid, 0xFFFF00AA, warning); ShowMenuForPlayer(TK,playerid); } else { SetPlayerScore(killerid,GetPlayerScore(killerid)+1); new kstring[256]; //killer message //new pname[MAX_PLAYER_NAME]; //player name GetPlayerName(playerid, pname, sizeof(pname)); format(kstring, sizeof(kstring), "~b~Haha Ya 0wned %s",pname); GameTextForPlayer(killerid, kstring, 4000, 3); new kname[MAX_PLAYER_NAME]; //killername GetPlayerName(killerid, kname, sizeof(kname)); format(pstring, sizeof(pstring), "~r~:( you got 0wned by %s",kname); GameTextForPlayer(playerid, pstring, 4000, 3); return 1; } } SendDeathMessage(killerid,playerid,reason); SendClientMessageToAll(COLOR_RED, string); new moneytemp; moneytemp = GetPlayerMoney(playerid); GivePlayerMoney(killerid,moneytemp/2); return 1; } //==============================Player Disconnect=============================== public OnPlayerDisconnect(playerid,reason) { new playername[MAX_PLAYER_NAME], string[256]; switch(reason) { case 0: { GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "^^^ %s has left the server.(Timeout) ^^^", playername); SendClientMessageToAll(COLOR_GREY, string); } case 1: { GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "^^^ %s has left the server.(Leaving) ^^^", playername); SendClientMessageToAll(COLOR_GREY, string); } case 2: { GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "^^^ %s has left the server.(Kicked) ^^^", playername); SendClientMessageToAll(COLOR_GREY, string); } } if(RaceParticipant[playerid]>=1) { if(Participants==1) //Last participant leaving, ending race. { endrace(); } if(RaceParticipant[playerid] < 3 && RaceStart == 0 && !(RaceParticipant[playerid]==3 && RaceStart == 1)) { //Doing readycheck since someone left, but not if they disconnected during countdown. ReadyRefresh(); } Participants--; RaceParticipant[playerid]=0; DisablePlayerRaceCheckpoint(playerid); } if(RaceBuilders[playerid] != 0) { DisablePlayerRaceCheckpoint(playerid); for(new i;i ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } public LockRacers() { for(new i;i0) { TogglePlayerControllable(i,1); if(PlayerVehicles[i] != 0) { PutPlayerInVehicle(i,PlayerVehicles[i],0); PlayerVehicles[i]=0; } } } } public countdown() { if(RaceStart == 0) // Locking players, setting the reward and { RaceStart=1; LockRacers(); new tmpprize, OPot; OPot=Pot; if(PrizeMode == 1 || PrizeMode == 4) { if(Racemode == 0 || Racemode == 3) tmpprize = floatround(RLenght); else if(Racemode == 1) tmpprize = floatround(LLenght * Racelaps); else if(Racemode == 2) tmpprize = floatround(RLenght * 2 * Racelaps); } tmpprize *= DynaMP; if(PrizeMode == 0 || PrizeMode == 3) Pot += Prize; else if(PrizeMode == 1 || PrizeMode == 4) Pot += tmpprize; if(Participants == 1) Pot=OPot; // Only 1 racer, force reward to entrance fees. } if(cd>0) { format(ystring, sizeof(ystring), "%d...",cd); for(new i=0;i1) { RaceSound(i,1056); GameTextForPlayer(i,ystring,1000,3); } } } else if(cd == 0) { format(ystring, sizeof(ystring), "~g~GO!",cd); KillTimer(Countdown); for(new i=0;i1) { RaceSound(i,1057); GameTextForPlayer(i,ystring,3000,3); RaceParticipant[i]=4; CurrentLap[i]=1; if(Racemode == 3) SetRaceCheckpoint(i,LCurrentCheckpoint,LCurrentCheckpoint-1); else SetRaceCheckpoint(i,0,1); } } UnlockRacers(); RaceTick=tickcount(); } cd--; } public SetNextCheckpoint(playerid) { if(Racemode == 0) // Default Mode { CurrentCheckpoint[playerid]++; if(CurrentCheckpoint[playerid] == LCurrentCheckpoint) { SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],-1); RaceParticipant[playerid]=6; } else SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],CurrentCheckpoint[playerid]+1); } else if(Racemode == 1) // Ring Mode { CurrentCheckpoint[playerid]++; if(CurrentCheckpoint[playerid] == LCurrentCheckpoint+1 && CurrentLap[playerid] == Racelaps) { SetRaceCheckpoint(playerid,0,-1); RaceParticipant[playerid]=6; } else if (CurrentCheckpoint[playerid] == LCurrentCheckpoint+1 && CurrentLap[playerid] != Racelaps) { CurrentCheckpoint[playerid]=0; SetRaceCheckpoint(playerid,0,1); RaceParticipant[playerid]=5; } else if(CurrentCheckpoint[playerid] == 1 && RaceParticipant[playerid]==5) { ChangeLap(playerid); if(LCurrentCheckpoint==1) { SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],0); } else { SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],2); } RaceParticipant[playerid]=4; } else { if(LCurrentCheckpoint==1 || CurrentCheckpoint[playerid] == LCurrentCheckpoint) SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],0); else SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],CurrentCheckpoint[playerid]+1); } } else if(Racemode == 2) // Yoyo-mode { if(RaceParticipant[playerid]==4) { if(CurrentCheckpoint[playerid] == LCurrentCheckpoint) // @ Last CP, trigger last-1 { RaceParticipant[playerid]=5; CurrentCheckpoint[playerid]=LCurrentCheckpoint-1; SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],CurrentCheckpoint[playerid]-1); } else if(CurrentCheckpoint[playerid] == LCurrentCheckpoint-1) // Second last CP, set next accordingly { CurrentCheckpoint[playerid]++; SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],CurrentCheckpoint[playerid]-1); } else { CurrentCheckpoint[playerid]++; SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],CurrentCheckpoint[playerid]+1); } } else if(RaceParticipant[playerid]==5) { if(CurrentCheckpoint[playerid] == 1 && CurrentLap[playerid] == Racelaps) //Set the finish line { SetRaceCheckpoint(playerid,0,-1); RaceParticipant[playerid]=6; } else if(CurrentCheckpoint[playerid] == 0) //At finish line, change lap. { ChangeLap(playerid); if(LCurrentCheckpoint==1) { SetRaceCheckpoint(playerid,1,0); } else { SetRaceCheckpoint(playerid,1,2); } RaceParticipant[playerid]=4; } else if(CurrentCheckpoint[playerid] == 1) { CurrentCheckpoint[playerid]--; SetRaceCheckpoint(playerid,0,1); } else { CurrentCheckpoint[playerid]--; SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],CurrentCheckpoint[playerid]-1); } } } else if(Racemode == 3) // Mirror Mode { CurrentCheckpoint[playerid]--; if(CurrentCheckpoint[playerid] == 0) { SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],-1); RaceParticipant[playerid]=6; } else { SetRaceCheckpoint(playerid,CurrentCheckpoint[playerid],CurrentCheckpoint[playerid]-1); } } } public SetRaceCheckpoint(playerid,target,next) { if(next == -1 && Airrace == 0) SetPlayerRaceCheckpoint(playerid,1,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],0.0,0.0,0.0,CPsize); else if(next == -1 && Airrace == 1) SetPlayerRaceCheckpoint(playerid,4,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],0.0,0.0,0.0,CPsize); else if(Airrace == 1) SetPlayerRaceCheckpoint(playerid,3,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],RaceCheckpoints[next][0], RaceCheckpoints[next][1],RaceCheckpoints[next][2],CPsize); else SetPlayerRaceCheckpoint(playerid,0,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],RaceCheckpoints[next][0],RaceCheckpoints[next][1], RaceCheckpoints[next][2],CPsize); } public SetBRaceCheckpoint(playerid,target,next) { new ar = BAirrace[b(playerid)]; if(next == -1 && ar == 0) SetPlayerRaceCheckpoint(playerid,1,BRaceCheckpoints[b(playerid)][target][0],BRaceCheckpoints[b(playerid)][target][1], BRaceCheckpoints[b(playerid)][target][2],0.0,0.0,0.0,BCPsize[b(playerid)]); else if(next == -1 && ar == 1) SetPlayerRaceCheckpoint(playerid,4,BRaceCheckpoints[b(playerid)][target][0], BRaceCheckpoints[b(playerid)][target][1],BRaceCheckpoints[b(playerid)][target][2],0.0,0.0,0.0, BCPsize[b(playerid)]); else if(ar == 1) SetPlayerRaceCheckpoint(playerid,3,BRaceCheckpoints[b(playerid)][target][0],BRaceCheckpoints[b(playerid)][target][1],BRaceCheckpoints[b(playerid)][target][2], BRaceCheckpoints[b(playerid)][next][0],BRaceCheckpoints[b(playerid)][next][1],BRaceCheckpoints[b(playerid)][next][2],BCPsize[b(playerid)]); else SetPlayerRaceCheckpoint(playerid,0,BRaceCheckpoints[b(playerid)][target][0],BRaceCheckpoints[b(playerid)][target][1],BRaceCheckpoints[b(playerid)][target][2], BRaceCheckpoints[b(playerid)][next][0],BRaceCheckpoints[b(playerid)][next][1],BRaceCheckpoints[b(playerid)][next][2],BCPsize[b(playerid)]); } public GetLapTick(playerid) { new tick, lap; tick=tickcount(); if(CurrentLap[playerid]==1) { lap=tick-RaceTick; LastLapTick[playerid]=tick; } else { lap=tick-LastLapTick[playerid]; LastLapTick[playerid]=tick; } return lap; } public GetRaceTick(playerid) { new tick, race; tick=tickcount(); race=tick-RaceTick; return race; } public OnPlayerEnterRaceCheckpoint(playerid) { if(RaceParticipant[playerid]>=1) // See if the player is participating in a race, allows race builders to do their stuff in peace. { if(RaceParticipant[playerid] == 6) // Player reaches the checkered flag. { new rname[MAX_PLAYER_NAME], LapTime, RaceTime; LapTime=GetLapTick(playerid); RaceTime=GetRaceTick(playerid); GetPlayerName(playerid, rname, MAX_PLAYER_NAME); RaceParticipant[playerid]=0; RaceSound(playerid,1139); format(ystring,sizeof(ystring),"%s has finished the race, position: %d",rname,Ranking); if (Ranking < 4) SendClientMessageToAll(COLOR_GREEN,ystring); else SendClientMessage(playerid,COLOR_GREEN,ystring); if(Racemode == ORacemode && ORacelaps == Racelaps) { new LapString[10],RaceString[10], laprank, racerank; LapString=BeHuman(LapTime); RaceString=BeHuman(RaceTime); format(ystring,sizeof(ystring),"~w~Racetime: %s",RaceString); if(ORacemode!=0) format(ystring,sizeof(ystring),"%s~n~Laptime: %s",ystring,LapString); laprank=CheckBestLap(playerid,LapTime); if(laprank == 1) { format(ystring,sizeof(ystring),"%s~n~~y~LAP RECORD!",ystring); } racerank=CheckBestRace(playerid,RaceTime); if(racerank == 1) { format(ystring,sizeof(ystring),"%s~n~~y~TRACK RECORD!",ystring); } GameTextForPlayer(playerid,ystring,13000,3); } if(Ranking<4) { new winrar; if(Ranking == 1 && Participants == 1) winrar=Pot; // If the player was only participant, give the whole pot. else if(Ranking == 1 && Participants == 2) winrar=Pot/6*4; // If only 2 participants, give 4/6ths of the pot. else winrar=Pot/6*PrizeMP; // Otherwise 3/6ths, 2/6ths and 1/6th. GivePlayerMoney(playerid,winrar); format(ystring,sizeof(ystring),"You have earned $%d from the race!",winrar); PrizeMP--; SendClientMessage(playerid,COLOR_GREEN,ystring); } Ranking++; Participants--; DisablePlayerRaceCheckpoint(playerid); if(Participants == 0) { endrace(); } } else if (RaceStart == 0 && RaceParticipant[playerid]==1) // Player arrives to the start CP for 1st time { SendClientMessage(playerid,COLOR_YELLOW,"Type /ready when you are ready to start."); SendClientMessage(playerid,COLOR_YELLOW,"NOTE: Your controls will be locked once the countdown starts."); RaceParticipant[playerid]=2; } else if (RaceStart==1) // Otherwise switch to the next race CP. { RaceSound(playerid,1138); SetNextCheckpoint(playerid); } } return 1; } public endrace() { SaveScores(); //If the race had already started, and mode & laps are as originally, save the lapscores and racescores. for(new i=0;i= Waiting && MajorityDelay > 0 && MajStart == 0) { MajStart=1; format(ystring,sizeof(ystring),"Half of the racers are ready, race starts in %d seconds!", MajorityDelay); SendClientMessageToAll(COLOR_GREEN,ystring); MajStartTimer = SetTimer("mscountdown",10000,1); mscd= MajorityDelay; } } } public mscountdown() { if(RaceStart == 1 || MajStart == 0) { MajStart=0; KillTimer(MajStartTimer); } else { mscd-=10; if(mscd <= 0) { for(new i;i 0) GameTextForPlayer(i,ystring,6000,3); } } } } public CheckBestLap(playerid,laptime) { if(TopLapTimes[4] laptime) { for(new j=4;j>=i;j--) { TopLapTimes[j+1]=TopLapTimes[j]; TopLappers[j+1]=TopLappers[j]; } new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,MAX_PLAYER_NAME); TopLapTimes[i]=laptime; TopLappers[i]=playername; ScoreChange=1; return i+1; } } return -1; //Shouldn't get here. } public CheckBestRace(playerid,racetime) { if(TopRacerTimes[4] racetime) { for(new j=4;j>=i;j--) { TopRacerTimes[j+1]=TopRacerTimes[j]; TopRacers[j+1]=TopRacers[j]; } new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,MAX_PLAYER_NAME); TopRacerTimes[i]=racetime; TopRacers[i]=playername; ScoreChange=1; return i+1; } } return -1; //Shouldn't get here. } public SaveScores() { if(ScoreChange == 1) { fremove(CFile); new File:f,Float:x,Float:y,Float:z, templine[512]; f = fopen(CFile,io_write); format(templine,sizeof(templine),"YRACE %d %s %d %d %d %f\n", RACEFILE_VERSION, CBuilder, ORacemode, ORacelaps, OAirrace, OCPsize); fwrite(f,templine); format(templine,sizeof(templine),"%s %d %s %d %s %d %s %d %s %d\n", TopRacers[0],TopRacerTimes[0],TopRacers[1], TopRacerTimes[1], TopRacers[2],TopRacerTimes[2], TopRacers[3],TopRacerTimes[3],TopRacers[4], TopRacerTimes[4]); fwrite(f,templine); format(templine,sizeof(templine),"%s %d %s %d %s %d %s %d %s %d\n", TopLappers[0],TopLapTimes[0],TopLappers[1], TopLapTimes[1], TopLappers[2],TopLapTimes[2], TopLappers[3],TopLapTimes[3],TopLappers[4], TopLapTimes[4]); fwrite(f,templine); for(new i = 0; i < LCurrentCheckpoint+1;i++) { x=RaceCheckpoints[i][0]; y=RaceCheckpoints[i][1]; z=RaceCheckpoints[i][2]; format(templine,sizeof(templine),"%f %f %f\n",x,y,z); fwrite(f,templine); } fclose(f); } ScoreChange=0; } public ChangeLap(playerid) { new LapTime, TimeString[10], checklap; LapTime=GetLapTick(playerid); TimeString=BeHuman(LapTime); format(ystring,sizeof(ystring),"~w~Lap %d/%d - time: %s", CurrentLap[playerid], Racelaps, TimeString); if(Racemode == ORacemode && ORacelaps == Racelaps) { checklap=CheckBestLap(playerid,LapTime); if(checklap==1) format(ystring,sizeof(ystring),"%s~n~~y~LAP RECORD!",ystring); } CurrentLap[playerid]++; if(CurrentLap[playerid] == Racelaps) format(ystring,sizeof(ystring),"%s~n~~g~Final lap!",ystring); GameTextForPlayer(playerid,ystring,6000,3); } BeHuman(ticks) { new HumanTime[10], minutes, seconds, secstring[2], msecstring[3]; minutes=ticks/60000; ticks=ticks-(minutes*60000); seconds=ticks/1000; ticks=ticks-(seconds*1000); if(seconds <10) format(secstring,sizeof(secstring),"0%d",seconds); else format(secstring,sizeof(secstring),"%d",seconds); format(HumanTime,sizeof(HumanTime),"%d:%s",minutes,secstring); if(ticks < 10) format(msecstring,sizeof(msecstring),"00%d", ticks); else if(ticks < 100) format(msecstring,sizeof(msecstring),"0%d",ticks); else format(msecstring,sizeof(msecstring),"%d",ticks); format(HumanTime,sizeof(HumanTime),"%s.%s",HumanTime,msecstring); return HumanTime; } public LoadTimes(playerid,timemode,tmp[]) { new temprace[67], idx; format(temprace,sizeof(temprace),"%s.yr",tmp); if(strlen(tmp)) { if(!fexist(temprace)) { format(ystring,sizeof(ystring),"Race \'%s\' doesn't exist!",tmp); SendClientMessage(playerid,COLOR_YELLOW,ystring); return 1; } else { new File:f, templine[256], TBuilder[MAX_PLAYER_NAME], TempLapper[MAX_PLAYER_NAME], TempLap; idx=0; f = fopen(temprace, io_read); fread(f,templine,sizeof(templine)); // Read header-line if(templine[0] == 'Y') //Checking if the racefile is v0.2+ { new fileversion; rstrtok(templine,idx); // read off YRACE fileversion = strval(rstrtok(templine,idx)); // read off the file version if(fileversion > RACEFILE_VERSION) // Check if the race is made with a newer version of the racefile format { format(ystring,sizeof(ystring),"Race \'%s\' is created with a newer version of YRACE, unable to load.",tmp); SendClientMessage(playerid,COLOR_RED,ystring); return 1; } TBuilder=rstrtok(templine,idx); // read off RACEBUILDER fread(f,templine,sizeof(templine)); // read off best race times if(timemode ==1) fread(f,templine,sizeof(templine)); // read off best lap times idx=0; if(timemode == 0) format(ystring,sizeof(ystring),"%s by %s - Best race times:",tmp,TBuilder); else if(timemode == 1) format(ystring,sizeof(ystring),"%s by %s - Best laps:",tmp,TBuilder); else return 1; SendClientMessage(playerid,COLOR_GREEN,ystring); for(new i=0;i<5;i++) { TempLapper=rstrtok(templine,idx); TempLap=strval(rstrtok(templine,idx)); if(TempLap == 0) { format(ystring,sizeof(ystring),"%d. None yet",i+1); i=6; } else format(ystring,sizeof(ystring),"%d. %s - %s",i+1,BeHuman(TempLap),TempLapper); SendClientMessage(playerid,COLOR_GREEN,ystring); } return 1; } else { format(ystring,sizeof(ystring),"Race \'%s\' doesn't contain any time data.",tmp); SendClientMessage(playerid,COLOR_GREEN,ystring); return 1; } } } return 0; } public IsNotAdmin(playerid) { if (!IsPlayerAdmin(playerid)) { SendClientMessage(playerid, COLOR_RED, "You need to be an admin to use this command!"); return 1; } return 0; } public GetBuilderSlot(playerid) { for(new i;i < MAX_BUILDERS; i++) { if(!(BuilderSlots[i] < MAX_PLAYERS+1)) { BuilderSlots[i] = playerid; RaceBuilders[playerid] = i+1; return i+1; } } return 0; } public b(playerid) return RaceBuilders[playerid]-1; public Float:Distance(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2) { new Float:temp=floatsqroot((x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) + (z1-z2) * (z1-z2)); if(temp < 0) temp=temp*(-1); return temp; } public clearrace(playerid) { for(new i=0;i= 2) format(ystring,sizeof(ystring),"%s Join fee: %d",ystring,JoinFee); if(Airrace == 1) format(ystring,sizeof(ystring),"%s AIR RACE",ystring); if(Racemode == 0 || Racemode == 3) format(ystring,sizeof(ystring),"%s Track lenght: %0.2fkm", ystring, RLenght/1000); else if(Racemode == 1) format(ystring,sizeof(ystring),"%s Lap lenght: %.2fkm, Total: %.2fkm", ystring, LLenght/1000, LLenght * Racelaps / 1000); SendClientMessageToAll(COLOR_GREEN,ystring); RaceStart=0; RaceActive=1; ScoreChange=0; Ranking=1; PrizeMP=3; } ReturnModeName(mode) { new modename[8]; if(mode == 0) modename="Default"; else if(mode == 1) modename="Ring"; else if(mode == 2) modename="Yoyo"; else if(mode == 3) modename="Mirror"; return modename; } public LoadRace(tmp[]) { new race_name[32],templine[512]; format(CRaceName,sizeof(CRaceName), "%s",tmp); format(race_name,sizeof(race_name), "%s.yr",tmp); if(!fexist(race_name)) return -1; // File doesn't exist CFile=race_name; LCurrentCheckpoint=-1; RLenght=0; RLenght=0; new File:f, i; f = fopen(race_name, io_read); fread(f,templine,sizeof(templine)); if(templine[0] == 'Y') //Checking if the racefile is v0.2+ { new fileversion; rstrtok(templine,i); // read off YRACE fileversion = strval(rstrtok(templine,i)); // read off the file version if(fileversion > RACEFILE_VERSION) return -2; // Check if the race is made with a newer version of the racefile format CBuilder=rstrtok(templine,i); // read off RACEBUILDER ORacemode = strval(rstrtok(templine,i)); // read off racemode ORacelaps = strval(rstrtok(templine,i)); // read off amount of laps if(fileversion > 1) { Airrace = strval(rstrtok(templine,i)); // read off airrace CPsize = floatstr(rstrtok(templine,i)); // read off CP size } else // v1 file format, set to default { Airrace = 0; CPsize = 8.0; } OAirrace = Airrace; OCPsize = CPsize; Racemode=ORacemode; Racelaps=ORacelaps; //Allows changing the modes, but disables highscores if they've been changed. fread(f,templine,sizeof(templine)); // read off best race times i=0; for(new j=0;j<5;j++) { TopRacers[j]=rstrtok(templine,i); TopRacerTimes[j]=strval(rstrtok(templine,i)); } fread(f,templine,sizeof(templine)); // read off best lap times i=0; for(new j=0;j<5;j++) { TopLappers[j]=rstrtok(templine,i); TopLapTimes[j]=strval(rstrtok(templine,i)); } } else //Otherwise add the lines as checkpoints, the file is made with v0.1 (or older) version of the script. { LCurrentCheckpoint++; RaceCheckpoints[LCurrentCheckpoint][0] = floatstr(rstrtok(templine,i)); RaceCheckpoints[LCurrentCheckpoint][1] = floatstr(rstrtok(templine,i)); RaceCheckpoints[LCurrentCheckpoint][2] = floatstr(rstrtok(templine,i)); Racemode=0; ORacemode=0; Racelaps=0; ORacelaps=0; //Enables converting old files to new versions CPsize = 8.0; Airrace = 0; // v2 additions OCPsize = CPsize; OAirrace = Airrace; // v2 additions CBuilder="UNKNOWN"; for(new j;j<5;j++) { TopLappers[j]="A"; TopLapTimes[j]=0; TopRacers[j]="A"; TopRacerTimes[j]=0; } } while(fread(f,templine,sizeof(templine),false)) { LCurrentCheckpoint++; i=0; RaceCheckpoints[LCurrentCheckpoint][0] = floatstr(rstrtok(templine,i)); RaceCheckpoints[LCurrentCheckpoint][1] = floatstr(rstrtok(templine,i)); RaceCheckpoints[LCurrentCheckpoint][2] = floatstr(rstrtok(templine,i)); if(LCurrentCheckpoint >= 1) { RLenght+=Distance(RaceCheckpoints[LCurrentCheckpoint][0],RaceCheckpoints[LCurrentCheckpoint][1], RaceCheckpoints[LCurrentCheckpoint][2],RaceCheckpoints[LCurrentCheckpoint-1][0], RaceCheckpoints[LCurrentCheckpoint-1][1],RaceCheckpoints[LCurrentCheckpoint-1][2]); } } LLenght = RLenght + Distance(RaceCheckpoints[LCurrentCheckpoint][0],RaceCheckpoints[LCurrentCheckpoint][1], RaceCheckpoints[LCurrentCheckpoint][2],RaceCheckpoints[0][0],RaceCheckpoints[0][1], RaceCheckpoints[0][2]); fclose(f); return 1; } public RaceRotation() { if(!fexist("yrace.rr")) { printf("ERROR in YRACE's Race Rotation (yrace.rr): yrace.rr doesn't exist!"); return -1; } if(RRotation == -1) { KillTimer(RotationTimer); return -1; // RRotation has been disabled } if(Participants > 0) return 1; // A race is still active. new File:f, templine[32], rotfile[]="yrace.rr", rraces=-1, rracenames[32][32], idx, fback; f = fopen(rotfile, io_read); while(fread(f,templine,sizeof(templine),false)) { idx = 0; rraces++; rracenames[rraces]=rstrtok(templine,idx); } fclose(f); RRotation++; if(RRotation > rraces) RRotation = 0; fback = LoadRace(rracenames[RRotation]); if(fback == -1) printf("ERROR in YRACE's Race Rotation (yrace.rr): Race \'%s\' doesn't exist!",rracenames[RRotation]); else if (fback == -2) printf("ERROR in YRACE's Race Rotation (yrace.rr): Race \'%s\' is created with a newer version of YRACE",rracenames[RRotation]); else startrace(); return 1; } #if defined MENUSYSTEM public RefreshMenuHeader(playerid,Menu:menu,text[]) { SetMenuColumnHeader(menu,0,text); ShowMenuForPlayer(menu,playerid); } public CreateRaceMenus() { //Admin menu MAdmin = CreateMenu("Admin menu", 1, 25, 170, 220, 25); AddMenuItem(MAdmin,0,"Set prizemode..."); AddMenuItem(MAdmin,0,"Set fixed prize..."); AddMenuItem(MAdmin,0,"Set dynamic prize..."); AddMenuItem(MAdmin,0,"Set entry fees..."); AddMenuItem(MAdmin,0,"Majority delay..."); AddMenuItem(MAdmin,0,"End current race"); AddMenuItem(MAdmin,0,"Toggle Race Admin [RA]"); AddMenuItem(MAdmin,0,"Toggle Build Admin [BA]"); AddMenuItem(MAdmin,0,"Toggle Race Rotation [RR]"); AddMenuItem(MAdmin,0,"Leave"); if(RaceAdmin == 1) format(ystring,sizeof(ystring),"RA: ON"); else format(ystring,sizeof(ystring),"RA: off"); if(BuildAdmin == 1) format(ystring,sizeof(ystring),"%s BA: ON",ystring); else format(ystring,sizeof(ystring),"%s BA: off",ystring); if(RRotation >= 0) format(ystring,sizeof(ystring),"%s RR: ON",ystring); else format(ystring,sizeof(ystring),"%s RR: off",ystring); SetMenuColumnHeader(MAdmin,0,ystring); //Prizemode menu [Admin submenu] MPMode = CreateMenu("Set prizemode:", 1, 25, 170, 220, 25); AddMenuItem(MPMode,0,"Fixed"); AddMenuItem(MPMode,0,"Dynamic"); AddMenuItem(MPMode,0,"Entry Fee"); AddMenuItem(MPMode,0,"Entry Fee + Fixed"); AddMenuItem(MPMode,0,"Entry Fee + Dynamic"); AddMenuItem(MPMode,0,"Back"); SetMenuColumnHeader(MPMode,0,"Mode: Fixed"); //Fixed prize menu MPrize = CreateMenu("Fixed prize:", 1, 25, 170, 220, 25); AddMenuItem(MPrize,0,"+100$"); AddMenuItem(MPrize,0,"+1000$"); AddMenuItem(MPrize,0,"+10000$"); AddMenuItem(MPrize,0,"-100$"); AddMenuItem(MPrize,0,"-1000$"); AddMenuItem(MPrize,0,"-10000$"); AddMenuItem(MPrize,0,"Back"); format(ystring,sizeof(ystring),"Amount: %d",Prize); SetMenuColumnHeader(MPrize,0,ystring); //Dynamic prize menu MDyna = CreateMenu("Dynamic Prize:", 1, 25, 170, 220, 25); AddMenuItem(MDyna,0,"+1x"); AddMenuItem(MDyna,0,"+5x"); AddMenuItem(MDyna,0,"-1x"); AddMenuItem(MDyna,0,"-5x"); AddMenuItem(MDyna,0,"Leave"); format(ystring,sizeof(ystring),"Multiplier: %dx",DynaMP); SetMenuColumnHeader(MDyna,0,ystring); //Build Menu MBuild = CreateMenu("Build Menu", 1, 25, 170, 220, 25); AddMenuItem(MBuild,0,"Set laps..."); AddMenuItem(MBuild,0,"Set racemode..."); AddMenuItem(MBuild,0,"Checkpoint size..."); AddMenuItem(MBuild,0,"Toggle air race"); AddMenuItem(MBuild,0,"Clear the race and exit"); AddMenuItem(MBuild,0,"Leave"); SetMenuColumnHeader(MBuild,0,"Air race: off"); //Laps menu MLaps = CreateMenu("Set laps", 1, 25, 170, 220, 25); AddMenuItem(MLaps,0,"+1"); AddMenuItem(MLaps,0,"+5"); AddMenuItem(MLaps,0,"+10"); AddMenuItem(MLaps,0,"-1"); AddMenuItem(MLaps,0,"-5"); AddMenuItem(MLaps,0,"-10"); AddMenuItem(MLaps,0,"Back"); //Racemode menu MRacemode = CreateMenu("Racemode", 1, 25, 170, 220, 25); AddMenuItem(MRacemode,0,"Default"); AddMenuItem(MRacemode,0,"Ring"); AddMenuItem(MRacemode,0,"Yoyo"); AddMenuItem(MRacemode,0,"Mirror"); AddMenuItem(MRacemode,0,"Back"); //Race menu MRace = CreateMenu("Race Menu", 1, 25, 170, 220, 25); AddMenuItem(MRace,0,"Set laps..."); AddMenuItem(MRace,0,"Set racemode..."); AddMenuItem(MRace,0,"Set checkpoint size..."); AddMenuItem(MRace,0,"Toggle air race"); AddMenuItem(MRace,0,"Start race"); AddMenuItem(MRace,0,"Abort new race"); //Entry fee menu MFee = CreateMenu("Entry fees", 1, 25, 170, 220, 25); AddMenuItem(MFee,0,"+100"); AddMenuItem(MFee,0,"+1000"); AddMenuItem(MFee,0,"+10000"); AddMenuItem(MFee,0,"-100"); AddMenuItem(MFee,0,"-1000"); AddMenuItem(MFee,0,"-10000"); AddMenuItem(MFee,0,"Back"); format(ystring,sizeof(ystring),"Fee: %d$",JoinFee); SetMenuColumnHeader(MFee,0,ystring); //CP size menu MCPsize = CreateMenu("CP size", 1, 25, 170, 220, 25); AddMenuItem(MCPsize,0,"+0.1"); AddMenuItem(MCPsize,0,"+1"); AddMenuItem(MCPsize,0,"+10"); AddMenuItem(MCPsize,0,"-0.1"); AddMenuItem(MCPsize,0,"-1"); AddMenuItem(MCPsize,0,"-10"); AddMenuItem(MCPsize,0,"Back"); //Majority Delay menu MDelay = CreateMenu("Majority Delay", 1, 25, 170, 220, 25); AddMenuItem(MDelay,0,"+10s"); AddMenuItem(MDelay,0,"+60s"); AddMenuItem(MDelay,0,"-10s"); AddMenuItem(MDelay,0,"-60s"); AddMenuItem(MDelay,0,"Back"); if(MajorityDelay == 0) format(ystring,sizeof(ystring),"Delay: disabled"); else format(ystring,sizeof(ystring),"Delay: %ds",MajorityDelay); SetMenuColumnHeader(MDelay,0,ystring); } #endif //====================================Speedo==================================== public CheckSpeedo() { for(new i=0;i PlayerInfo[playerid][bank]) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You don't have the money for that!"); return 1; } if(gang) gangBank[playerGang[playerid]] = gangBank[playerGang[playerid]]-moneys[playerid]; else PlayerInfo[playerid][bank] = PlayerInfo[playerid][bank]-moneys[playerid]; if(gang) format(string, sizeof(string), "You have withdrawn $%d, your gang's balance is $%d.", moneys[playerid], gangBank[playerGang[playerid]]); else format(string, sizeof(string), "You have withdrawn $%d, your current balance is $%d.", moneys[playerid], PlayerInfo[playerid][bank]); SendClientMessage(playerid, COLOR_GREEN, string); SavePlayer(playerid); return 1; } //-----------------------------------Balance------------------------------------ if(strcmp(cmd, "/balance", true) == 0 || strcmp(cmd, "/gbalance", true) == 0) { new gang; if(strcmp(cmd, "/gbalance", true) == 0) gang = 1; if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command"); return 1; } if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this command"); return 1; } if(CloseToBank(playerid) == 999) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a 24/7 in order to use banking!"); return 1; } if(gang && playerGang[playerid]==0) { SendClientMessage(playerid, COLOR_RED, "You are not in a gang!"); return 1; } if(gang) format(string, sizeof(string), "Your gang has $%d in the bank.", gangBank[playerGang[playerid]]); else format(string, sizeof(string), "You have $%d in the bank.", PlayerInfo[playerid][bank]); SendClientMessage(playerid, COLOR_GREEN, string); return 1; } //----------------------------------Give Cash----------------------------------- if(strcmp(cmd, "/givemoney", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /givemoney [playerid] [amount]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /givemoney [playerid] [amount]"); return 1; } moneys[playerid] = strval(tmp); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney[playerid] = GetPlayerMoney(playerid); if (moneys[playerid] > 0 && playermoney[playerid] >= moneys[playerid]) { GivePlayerMoney(playerid, (0 - moneys[playerid])); GivePlayerMoney(giveplayerid, moneys[playerid]); format(string, sizeof(string), "You have sent %s (id: %d), $%d.", giveplayer,giveplayerid, moneys[playerid]); SendClientMessage(playerid, COLOR_GREEN, string); format(string, sizeof(string), "You have recieved $%d from %s (id: %d).", moneys[playerid], sendername, playerid); SendClientMessage(giveplayerid, COLOR_GREEN, string); printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys[playerid], giveplayer, giveplayerid); } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid transaction amount."); } } else { format(string, sizeof(string), "ID:%d is not an active player.", giveplayerid); SendClientMessage(playerid, COLOR_BRIGHTRED, string); } return 1; } //-----------------------------------Count Down--------------------------------- if(strcmp(cmd, "/count", true) == 0) { new seconds; tmp = strtok(cmdtext, idx); seconds = strval(tmp); if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this command"); return 1; } if (!seconds) SendClientMessage(playerid, COLOR_BRIGHTRED, "You must enter a duration in seconds."); if (seconds > 20) { SendClientMessage(giveplayerid, COLOR_BRIGHTRED, "You must enter a duration between 1 and 20 seconds"); return 1; } else if (cseconds) SendClientMessage(playerid, COLOR_BRIGHTRED, "A countdown is already running."); else { format(cstring,40,"You started a countdown of %d seconds.",seconds); SendClientMessage(playerid,COLOR_LIGHTBLUE, cstring); cseconds = seconds+1; cCount[playerid] = 1; } return 1; } //------------------------------Teleport to Bank-------------------------------- if(strcmp(cmdtext, "/telebank", true) == 0) { if(IsPlayerInAnyVehicle(playerid)) { TextDrawHideForPlayer(playerid, stxt[playerid]); SetPlayerInterior(playerid,6); SetPlayerPos(playerid,-22.2549,-55.6575,1003.5469); GameTextForPlayer(playerid,"The Bank!",2500,3); GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]); // save x,y and z for this player. GetPlayerFacingAngle(playerid,Pos[playerid][3]); // save the facing angle for this player. GetPlayerInterior(playerid); } else{ SetPlayerInterior(playerid,6); SetPlayerPos(playerid,-22.2549,-55.6575,1003.5469); GameTextForPlayer(playerid,"The Bank!",2500,3); GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]); // save x,y and z for this player. GetPlayerFacingAngle(playerid,Pos[playerid][3]); // save the facing angle for this player. GetPlayerInterior(playerid); } return 1; } if(strcmp(cmdtext, "/exitbank", true) == 0) { if(CloseToBank(playerid) == 999) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a 24/7 in order to exit the bank!"); return 1; } new interiorid; SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]); // set his saved position x,y and z. SetPlayerFacingAngle(playerid,Pos[playerid][3]); // set his saved facing angle. SetCameraBehindPlayer(playerid); // set the camera..behind the player (looks better). SetPlayerInterior(playerid,interiorid); return 1; } //-------------------------------Teleport home---------------------------------- if (strcmp(cmdtext, "/home", true) == 0) { new vehicleid = GetPlayerVehicleID(playerid); new Team = PlayerInfo[playerid][team]; if (Team == TEAM_WORKER) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-2062.5583,237.4662,36.2890); GameTextForPlayer(playerid,"Worker Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-2062.5583,237.4662,36.2890); GameTextForPlayer(playerid,"Worker Spawn!",2500,3); } } else if (Team == TEAM_PIMP) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-2653.6443,1388.2767,8.0739); GameTextForPlayer(playerid,"Pimp Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-2653.6443,1388.2767,8.0739); GameTextForPlayer(playerid,"Pimp Spawn!",2500,3); } } else if (Team == TEAM_GOLFER) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-2642.2583,-274.9985,8.3506); GameTextForPlayer(playerid,"Golfer Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-2642.2583,-274.9985,8.3506); GameTextForPlayer(playerid,"Golfer Spawn!",2500,3); } } else if (Team == TEAM_TRIAD) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-2188.8037,609.8431,36.2624); GameTextForPlayer(playerid,"Triad Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-2188.8037,609.8431,36.2624); GameTextForPlayer(playerid,"Triad Spawn!",2500,3); } } else if (Team == TEAM_ARMY) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-1377.4271,466.0897,8.9393); GameTextForPlayer(playerid,"Army Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-1377.4271,466.0897,8.9393); GameTextForPlayer(playerid,"Army Spawn!",2500,3); } } else if (Team == TEAM_VALET) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-1754.9976,958.5851,25.8386); GameTextForPlayer(playerid,"Valet Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-1754.9976,958.5851,25.8386); GameTextForPlayer(playerid,"Valet Spawn!",2500,3); } } else if (Team == TEAM_MEDIC) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-2665.4282,635.6348,16.0054); GameTextForPlayer(playerid,"Medic Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-2665.4282,635.6348,16.0054); GameTextForPlayer(playerid,"Medic Spawn!",2500,3); } } else if (Team == TEAM_FBI) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-1635.0077,665.8105,8.4054); GameTextForPlayer(playerid,"FBI Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-1635.0077,665.8105,8.4054); GameTextForPlayer(playerid,"FBI Spawn!",2500,3); } } else if (Team == TEAM_CHICKEN) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-1830.9324,638.9214,31.3054); GameTextForPlayer(playerid,"Chicken Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-1830.9324,638.9214,31.3054); GameTextForPlayer(playerid,"Chicken Spawn!",2500,3); } } else if (Team == TEAM_RICH) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-2664.8037,938.6110,80.7618); GameTextForPlayer(playerid,"Rich Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-2664.8037,938.6110,80.7618); GameTextForPlayer(playerid,"Rich Spawn!",2500,3); } } else if (Team == TEAM_PILOT) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-1358.6774,-243.8737,15.6769); GameTextForPlayer(playerid,"Pilot Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-1358.6774,-243.8737,15.6769); GameTextForPlayer(playerid,"Pilot Spawn!",2500,3); } } else if (Team == TEAM_DANANG) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),-1430.1825,1492.3381,8.0482); GameTextForPlayer(playerid,"Da Nang Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-1430.1825,1492.3381,8.0482); GameTextForPlayer(playerid,"Da Nang Spawn!",2500,3); } } else if (Team == TEAM_LVBALLA) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),832.2958,-1080.4476,24.2969); GameTextForPlayer(playerid,"LV Balla Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,832.2958,-1080.4476,24.2969); GameTextForPlayer(playerid,"LV Balla Spawn!",2500,3); } } else if (Team == TEAM_LVGROVE) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),2495.2207,-1687.3169,13.5152); GameTextForPlayer(playerid,"LV Grove Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,2495.2207,-1687.3169,13.5152); GameTextForPlayer(playerid,"LV Grove Spawn!",2500,3); } } else if (Team == TEAM_LVVAGO) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),2459.0442,-949.4450,80.0800); GameTextForPlayer(playerid,"LV Vago Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,2459.0442,-949.4450,80.0800); GameTextForPlayer(playerid,"LV Vago Spawn!",2500,3); } } else if (Team == TEAM_LVAZTEC) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1761.7893,-1892.7225,13.5551); GameTextForPlayer(playerid,"LV Azteca Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1761.7893,-1892.7225,13.5551); GameTextForPlayer(playerid,"LV Azteca Spawn!",2500,3); } } else if (Team == TEAM_LVTRIAD) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1499.2067,-937.3587,37.4407); GameTextForPlayer(playerid,"LV Triad Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1499.2067,-937.3587,37.4407); GameTextForPlayer(playerid,"LV Triad Spawn!",2500,3); } } else if (Team == TEAM_LVMEDIC) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1499.2067,-937.3587,37.4407); GameTextForPlayer(playerid,"LV Medic Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1499.2067,-937.3587,37.4407); GameTextForPlayer(playerid,"LV Medic Spawn!",2500,3); } } else if (Team == TEAM_LVFIRE) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1499.2067,-937.3587,37.4407); GameTextForPlayer(playerid,"LV Fire Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1499.2067,-937.3587,37.4407); GameTextForPlayer(playerid,"LV Fire Spawn!",2500,3); } } else if (Team == TEAM_LVCOP) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1552.5618,-1675.3375,16.1953); GameTextForPlayer(playerid,"LV Cop Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1552.5618,-1675.3375,16.1953); GameTextForPlayer(playerid,"LV Cop Spawn!",2500,3); } } else if (Team == TEAM_LVARMY) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1552.5618,-1675.3375,16.1953); GameTextForPlayer(playerid,"LV Army Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1552.5618,-1675.3375,16.1953); GameTextForPlayer(playerid,"LV Army Spawn!",2500,3); } } else if (Team == TEAM_LVCIV) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1552.5618,-1675.3375,16.1953); GameTextForPlayer(playerid,"LV Civ Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1552.5618,-1675.3375,16.1953); GameTextForPlayer(playerid,"LV Civ Spawn!",2500,3); } } else if (Team == TEAM_LSCOP) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1527.4740,-1676.5242,5.8906); GameTextForPlayer(playerid,"LS Cop Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1527.4740,-1676.5242,5.8906); GameTextForPlayer(playerid,"LS Cop Spawn!",2500,3); } } else if (Team == TEAM_LSCOP2) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1527.4740,-1676.5242,5.8906); GameTextForPlayer(playerid,"LS Cop 2 Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1527.4740,-1676.5242,5.8906); GameTextForPlayer(playerid,"LS Cop 2 Spawn!",2500,3); } } else if (Team == TEAM_LSGROVE) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),2516.3032,-1674.7357,13.9314); GameTextForPlayer(playerid,"LS Grove Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,2516.3032,-1674.7357,13.9314); GameTextForPlayer(playerid,"LS Grove Spawn!",2500,3); } } else if (Team == TEAM_LSGROVE2) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),2486.7520,-1646.4600,14.0703); GameTextForPlayer(playerid,"LS Grove 2 Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,2486.7520,-1646.4600,14.0703); GameTextForPlayer(playerid,"LS Grove 2 Spawn!",2500,3); } } else if (Team == TEAM_LSVAGO) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),2627.3525,-1457.3615,31.0251); GameTextForPlayer(playerid,"LS Vago Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,2627.3525,-1457.3615,31.0251); GameTextForPlayer(playerid,"LS Vago Spawn!",2500,3); } } else if (Team == TEAM_LSVAGO2) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),2633.3894,-1435.1416,30.4864); GameTextForPlayer(playerid,"LS Vago 2 Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,2633.3894,-1435.1416,30.4864); GameTextForPlayer(playerid,"LS Vago 2 Spawn!",2500,3); } } else if (Team == TEAM_LSAZTECA) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1733.9663,-2098.1926,14.0366); GameTextForPlayer(playerid,"LS Azteca Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1733.9663,-2098.1926,14.0366); GameTextForPlayer(playerid,"LS Azteca Spawn!",2500,3); } } else if (Team == TEAM_LSAZTECA2) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),1804.0708,-2124.1572,13.9424); GameTextForPlayer(playerid,"LS Azteca 2 Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1804.0708,-2124.1572,13.9424); GameTextForPlayer(playerid,"LS Azteca 2 Spawn!",2500,3); } } else if (Team == TEAM_LSBALLA) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),768.6387,-1696.5547,5.1554); GameTextForPlayer(playerid,"LS Balla Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,768.6387,-1696.5547,5.1554); GameTextForPlayer(playerid,"LS Balla Spawn!",2500,3); } } else if (Team == TEAM_LSBALLA2) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),767.3694,-1655.5189,5.6094); GameTextForPlayer(playerid,"LS Balla 2 Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,767.3694,-1655.5189,5.6094); GameTextForPlayer(playerid,"LS Balla 2 Spawn!",2500,3); } } else if (Team == TEAM_LSPIZZABOY) { if(GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_DRIVER || GetPlayerState(GetDriverID(vehicleid)) == PLAYER_STATE_PASSENGER) { SetVehiclePos(GetPlayerVehicleID(playerid),2101.5129,-1806.4567,13.5547); GameTextForPlayer(playerid,"LS Pizza Boy Spawn!",2500,3); } else{ SetPlayerInterior(playerid,0); SetPlayerPos(playerid,2101.5129,-1806.4567,13.5547); GameTextForPlayer(playerid,"LS Pizza Boy Spawn!",2500,3); } } /* else if (Team == TEAM_YAKUSA) { SetPlayerInterior(playerid,0); SetPlayerPos(playerid,-1951.9547,706.1971,46.9492); GameTextForPlayer(playerid,"Yakusa Spawn!",2500,3); }*/ return 1; } //------------------------------------Credits----------------------------------- if(strcmp(cmd, "/credits", true) == 0) { switch (Language[playerid]) { case 0: { SendClientMessage(playerid, COLOR_LIGHTBLUE, "San Andreas Team Death Match ~ Role Play + Biz + Race + KIHC + Gangs + XSVM + XAdmin Script by -=[CBK]MoNeYPiMp=-"); SendClientMessage(playerid, COLOR_YELLOW, "Original Script designer and concept - [CBK]MoNeYPiMp (email <::> moneypimp2@hotmail.com)"); SendClientMessage(playerid, COLOR_YELLOW, "Extreme Vehicle Management + Streamer Script - By -=tAxI=-"); SendClientMessage(playerid, COLOR_YELLOW, "XtremeAdmin administrator script by Xtreme embedded by Hellboy!"); SendClientMessage(playerid, COLOR_YELLOW, "Original code for Vehicle HP bar was made by Mr-Tape - Highly modified by tAxI aka Necrioss"); SendClientMessage(playerid, COLOR_YELLOW, "Cellphone system code designed and made by [eLg]Beckzyboi (www.elg.uk.tt)"); SendClientMessage(playerid, COLOR_YELLOW, "Selection Screen Sounds made by CodeMaster"); SendClientMessage(playerid, COLOR_YELLOW, "Multi Language Code made by Yom"); SendClientMessage(playerid, COLOR_YELLOW, "Race Script by Yagu, Gang script taken from Jax's LVDM ~MoneyGrub(+LandGrab)"); SendClientMessage(playerid, COLOR_YELLOW, "Kapils Instant House Constructions by Kapil"); SendClientMessage(playerid, COLOR_GREEN, "If you wish to use this script or any parts of it in your own gamemode please feel free but you must GIVE CREDIT!!!"); } } return 1; } //-------------------------------------Help------------------------------------- if(strcmp(cmd, "/help", true) == 0) { switch (Language[playerid]) { case 0: { SendClientMessage(playerid, COLOR_LIGHTBLUE, "HC4L gang server"); SendClientMessage(playerid, COLOR_YELLOW, "For GENERAL commands, please type /commands, For ADMIN commands, please type /xcommands."); SendClientMessage(playerid, COLOR_YELLOW, "For BANK commands please type /bankhelp, For GANG commands, please type /ganghelp."); SendClientMessage(playerid, COLOR_YELLOW, "For XVM(vehicle) SYSTEM info, please type /vehiclehelp."); SendClientMessage(playerid, COLOR_YELLOW, "For BUSINESS help please type /bizhelp."); SendClientMessage(playerid, COLOR_YELLOW, "For CELLPHONE help please type /cellhelp."); SendClientMessage(playerid, COLOR_YELLOW, "For TELEPORT commands, please type /telehelp."); SendClientMessage(playerid, COLOR_YELLOW, "For RACE commands, please type /racehelp."); SendClientMessage(playerid, COLOR_ORANGE, "All your stats are saved permanently, including your own car and any mods you make to it!"); SendClientMessage(playerid, COLOR_ORANGE, "Type /credits to see a list of the ppl who contributed to this script."); } } return 1; } //---------------------------------Business Help-------------------------------- if(strcmp(cmd, "/bizhelp", true) == 0) { switch (Language[playerid]) { case 0: { SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Business System Help ----------"); SendClientMessage(playerid, COLOR_YELLOW, "Businesses are indicated on the map by the yellow circle icons and in the gameworld by a spinning blue house pickup."); SendClientMessage(playerid, COLOR_YELLOW, "Type /buybiz to purchase the business. Must be within 7-8m of business icon."); SendClientMessage(playerid, COLOR_YELLOW, "Type /sellbiz to sell your business. Must be within 7-8m of business icon."); SendClientMessage(playerid, COLOR_YELLOW, "Type /cashbox to transfer you business' earnings to your personal bank account. Must be within 7-8m of business icon."); //SendClientMessage(playerid, COLOR_YELLOW, "Type /gotobiz to teleport to your biz"); } } return 1; } //-----------------------------------Phone Help--------------------------------- if(strcmp(cmd, "/cellhelp", true) == 0) { switch (Language[playerid]) { case 0: { SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Cellphone System Help ----------"); SendClientMessage(playerid, COLOR_YELLOW, "Every person has their own cellphone - calls cost $1/second."); SendClientMessage(playerid, COLOR_YELLOW, "To make a call - /call [player id]."); SendClientMessage(playerid, COLOR_YELLOW, "To answer a call - /answer."); SendClientMessage(playerid, COLOR_YELLOW, "To end a call - /hangup."); } } return 1; } //-----------------------------------Bank Help---------------------------------- if(strcmp(cmd, "/bankhelp", true) == 0) { switch (Language[playerid]) { case 0: { SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Bank Help ----------"); SendClientMessage(playerid, COLOR_YELLOW, "Teleport to the Bank - /telebank"); SendClientMessage(playerid, COLOR_YELLOW, "Exit the Bank - /exitbank"); SendClientMessage(playerid, COLOR_YELLOW, "You must be in an ATM area (located in the 24/7 shops):"); SendClientMessage(playerid, COLOR_YELLOW, "Deposit Amount - /deposit [amount]"); SendClientMessage(playerid, COLOR_YELLOW, "Withdraw Amount - /withdraw [amount]"); SendClientMessage(playerid, COLOR_YELLOW, "Check Balance - /balance"); SendClientMessage(playerid, COLOR_YELLOW, "Give Cash - /givemoney [recipient id] [amount] - sends a specified amount of money to the specified player id"); SendClientMessage(playerid, COLOR_ORANGE, "Bank will not be reset when you die or reconnect."); } } return 1; } //---------------------------------Vehicle Help--------------------------------- if(strcmp(cmd, "/vehiclehelp", true) == 0) { switch (Language[playerid]) { case 0: { SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Vehicle Help ----------"); SendClientMessage(playerid, COLOR_LIGHTBLUE, "In order to gain access to your vehicles controls please type /vmenu - can be used in or outside your owned vehicle."); } } return 1; } //--------------------------------Commands list--------------------------------- if(strcmp(cmd, "/commands", true) == 0) { switch (Language[playerid]) { case 0: { SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- General Commands ----------"); SendClientMessage(playerid, COLOR_RED, "To See the server rules type /rules"); //SendClientMessage(playerid, COLOR_RED, "Type /CBK if you wanna join the [CBK] Clan!"); SendClientMessage(playerid, COLOR_YELLOW, "You can use the /register and /login and /logout."); SendClientMessage(playerid, COLOR_YELLOW, "To see what admins are online type /admins"); SendClientMessage(playerid, COLOR_YELLOW, "To start a countdown type /count [time]"); SendClientMessage(playerid, COLOR_YELLOW, "To slap another player type /slap [player id] [object]"); SendClientMessage(playerid, COLOR_YELLOW, "To clear Chat Type /clear"); SendClientMessage(playerid, COLOR_YELLOW, "To commit suicide Type /kill"); } } return 1; } //---------------------------------Admin Sell Biz------------------------------- if(strcmp(cmd, "/asellbiz", true) == 0) { if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command"); return 1; } if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this command"); return 1; } if(IsPlayerInAnyVehicle(playerid) == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be on foot in order to sell a business!"); return 1; } if(ClosestBiz(playerid) == 99) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not close enough to any of the current business icons to use this command"); return 1; } if (PlayerInfo[playerid][admin] > 0) { if (strcmp(BizInfo[ClosestBiz(playerid)][owner],DEFAULT_OWNER,false) == 0) { format(string,sizeof(string),"This Business (%d) does not have an owner yet!",BizInfo[ClosestBiz(playerid)][name]); SendClientMessage(playerid,COLOR_BRIGHTRED,string); return 1; } new file[256]; format(file,sizeof(file),P_FILE,udb_encode(BizInfo[ClosestBiz(playerid)][owner])); if(fexist(file)) { tempid[playerid] = IsPlayerNameOnline(BizInfo[ClosestBiz(playerid)][owner]); if(tempid[playerid] >= 0 && tempid[playerid] <= MAX_PLAYERS) { BizInfo[ClosestBiz(playerid)][bought] = 0; strmid(BizInfo[ClosestBiz(playerid)][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); new cbmon = BizInfo[ClosestBiz(playerid)][cashbox],bmon = PlayerInfo[playerid][bank]; PlayerInfo[tempid[playerid]][bank] = cbmon+bmon; BizInfo[ClosestBiz(playerid)][cashbox] = 0; PlayerInfo[tempid[playerid]][bowned] = 0; PlayerInfo[tempid[playerid]][bowner] = 0; format(string, sizeof(string), "You just sold %s's Business (%s).", PlayerInfo[tempid[playerid]][name], BizInfo[ClosestBiz(playerid)][name]); SendClientMessage(playerid, COLOR_ORANGE, string); format(string, sizeof(string), "Admin (%s) has just sold your Business (%s)! Your cashbox money was sent to your personal bank account", PlayerInfo[playerid][name],BizInfo[ClosestBiz(playerid)][name]); SendClientMessage(tempid[playerid], COLOR_ORANGE, string); new iconid = ClosestBiz(playerid)+1; ChangeMapIconModel(iconid,31); return 1; } else { ResetOfflinePlayerFileB(BizInfo[ClosestBiz(playerid)][owner]); format(string, sizeof(string), "You just sold %s's Business (%s).", BizInfo[ClosestBiz(playerid)][owner], BizInfo[ClosestBiz(playerid)][name]); SendClientMessage(playerid, COLOR_ORANGE, string); BizInfo[ClosestBiz(playerid)][bought] = 0; BizInfo[ClosestBiz(playerid)][cashbox] = 0; strmid(BizInfo[ClosestBiz(playerid)][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); new iconid = ClosestBiz(playerid)+1; ChangeMapIconModel(iconid,31); return 1; } } if(!fexist(file)) { format(string, sizeof(string), "You just sold %s's Business (%s). The player file was not found and cannot be altered.", PlayerInfo[tempid[playerid]][name], BizInfo[ClosestBiz(playerid)][name]); SendClientMessage(playerid, COLOR_GREEN, string); BizInfo[ClosestBiz(playerid)][bought] = 0; BizInfo[ClosestBiz(playerid)][cashbox] = 0; strmid(BizInfo[ClosestBiz(playerid)][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); new iconid = ClosestBiz(playerid)+1; ChangeMapIconModel(iconid,31); return 1; } } SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not a server administrator and cannot use this command!"); return 1; } //--------------------------------Gang Commands List if(strcmp(cmd, "/ganghelp", true) == 0) { SendClientMessage(playerid, COLOR_GREEN,"Gang commands:"); SendClientMessage(playerid, COLOR_YELLOW,"/gang create [name]"); SendClientMessage(playerid, COLOR_YELLOW,"/gang join"); SendClientMessage(playerid, COLOR_YELLOW,"/gang invite [playerID]"); SendClientMessage(playerid, COLOR_YELLOW,"/gang quit"); SendClientMessage(playerid, COLOR_YELLOW,"/ganginfo [number] (no number given shows your gang's info)"); SendClientMessage(playerid, COLOR_YELLOW,"/gdeposit [money] /gwithdraw [money] /gbalance"); SendClientMessage(playerid, COLOR_YELLOW,"! (prefix text for gang-chat)"); return 1; } //------------------------------House admin Help-------------------------------- if(strcmp(cmd, "houseadmin", true) == 0) { switch (Language[playerid]){ case 0:{ if(IsPlayerAdmin(playerid) == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged on to the server RCON to use this command!"); SendClientMessage(playerid, COLOR_BRIGHTRED, "Type /rcon login [rcon password] to login to the server rcon!"); return 1; } if(IsPlayerAdmin(playerid) == 1 && PlayerInfo[playerid][logged] == 1) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Admin House Help ----------"); SendClientMessage(playerid, COLOR_YELLOW, "Go to the door of any house and type:"); SendClientMessage(playerid, COLOR_YELLOW, "/build house small or /bhs for a small house."); SendClientMessage(playerid, COLOR_YELLOW, "/build house medium or /bhm for a medium house."); SendClientMessage(playerid, COLOR_YELLOW, "/build house large or /bhl for a large house."); SendClientMessage(playerid, COLOR_BRIGHTRED, "For the changes to apply you must simply recompile the script and restart the server!"); return 1; } } } return 1; } //--------------------------------Teleport Help--------------------------------- if (strcmp(cmdtext, "/telehelp", true)==0){ switch (Language[playerid]) { case 0: { SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Teleport Help ----------"); SendClientMessage(playerid,COLOR_SYSTEM,"/home will teleport you home"); SendClientMessage(playerid,COLOR_SYSTEM,"/sp will save your position"); SendClientMessage(playerid,COLOR_SYSTEM,"/lp will teleport you to the position you saved"); SendClientMessage(playerid,COLOR_SYSTEM,"/telebank will teleport you to the bank"); SendClientMessage(playerid,COLOR_SYSTEM,"/exitbank will teleport you to your location before teleporting to the bank"); } } return 1; } //-----------------------------------Save pos----------------------------------- if (strcmp(cmdtext, "/sp", true)==0){ switch (Language[playerid]) { case 0: { GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]); // save x,y and z for this player. GetPlayerFacingAngle(playerid,Pos[playerid][3]); // save the facing angle for this player. SendClientMessage(playerid,RED,"Position saved!"); // send him a red message. } } return 1; } //-----------------------------------Load pos----------------------------------- else if (strcmp(cmdtext, "/lp", true)==0){ switch (Language[playerid]) { case 0: { SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]); // set his saved position x,y and z. SetPlayerFacingAngle(playerid,Pos[playerid][3]); // set his saved facing angle. SetCameraBehindPlayer(playerid); // set the camera..behind the player (looks better). SendClientMessage(playerid,RED,"You teleported!"); // send him a red message. } } return 1; } //-------------------------------------Rules------------------------------------ if (strcmp(cmdtext, "/rules", true)== 0){ switch (Language[playerid]) { case 0: { SendClientMessage(playerid, 0x33AA33AA, ".:[SFTDM Reloadedâ„¢].:.[Rules and Regulations]:."); SendClientMessage(playerid, COLOR_RED, "NO CHEATING OR USING HACKS!! Or You will GET BANNED"); SendClientMessage(playerid, COLOR_RED, "No Flaming or Abuse!!!"); SendClientMessage(playerid, COLOR_RED, "No Spawn Killing or Team killing!!"); SendClientMessage(playerid, COLOR_RED, "No Car Jacking!! Respect other peoples rides, Get your Own!!"); } } return 1; } //--------------------------Recrutment for [CBK] Clan--------------------------- if (strcmp(cmdtext, "/CBK", true)==0){ switch (Language[playerid]) { case 0: { SendClientMessage(playerid, 0x99FF00AA, "-=[CBK] Rectuitment Info=-"); SendClientMessage(playerid, 0x99FF00AA, "1.Read server Rules first (/rules)"); SendClientMessage(playerid, 0x99FF00AA, "2.Dont cheat"); SendClientMessage(playerid, 0x99FF00AA, "3.Go to http://cbk.110mb.com and go to forum then recruitment :D"); SendClientMessage(playerid, 0x99FF00AA, "4.Put an Application Forward"); SendClientMessage(playerid, 0x99FF00AA, "5.Wait to be contacted by admin, if your ok you will be told to go on tryouts"); SendClientMessage(playerid, 0x99FF00AA, "6.Good Luck!"); } } return 1; } //-------------------------------Admin Clear Chat------------------------------- if (strcmp(cmdtext, "/clearall", true)==0) { if (PlayerInfo[playerid][admin] > 0){ SendClientMessageToAll(COLOR_SYSTEM, " "); SendClientMessageToAll(COLOR_SYSTEM, " "); SendClientMessageToAll(COLOR_SYSTEM, " "); SendClientMessageToAll(COLOR_SYSTEM, " "); SendClientMessageToAll(COLOR_SYSTEM, " "); SendClientMessageToAll(COLOR_SYSTEM, " "); SendClientMessageToAll(COLOR_SYSTEM, " "); SendClientMessageToAll(COLOR_SYSTEM, " "); SendClientMessageToAll(COLOR_SYSTEM, " "); SendClientMessageToAll(COLOR_SYSTEM, " "); return 1; } } //-------------------------------Player Clear Chat------------------------------ if (strcmp(cmdtext, "/clear", true)==0) { SendClientMessage(playerid, COLOR_SYSTEM, " "); SendClientMessage(playerid, COLOR_SYSTEM, " "); SendClientMessage(playerid, COLOR_SYSTEM, " "); SendClientMessage(playerid, COLOR_SYSTEM, " "); SendClientMessage(playerid, COLOR_SYSTEM, " "); SendClientMessage(playerid, COLOR_SYSTEM, " "); SendClientMessage(playerid, COLOR_SYSTEM, " "); SendClientMessage(playerid, COLOR_SYSTEM, " "); SendClientMessage(playerid, COLOR_SYSTEM, " "); SendClientMessage(playerid, COLOR_SYSTEM, " "); return 1; } //-------------------------------------Slap------------------------------------- if(strcmp(cmd, "/slap", true) == 0) { if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this command"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /slap [playerid] [object]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx, strlen(cmdtext)); if (!strlen(tmp)){ SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /slap [playerid] [object]"); return 1; } if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "%s bitch slaps %s across the face with a %s", sendername, giveplayer, tmp); SendClientMessageToAll(COLOR_INDIGO, string); for(new i=0; i < MAX_PLAYERS; i++) { new Float:fx, Float:fy, Float:fz; GetPlayerPos(i, fx,fy,fz); PlayerPlaySound(i, 1190, fx,fy,fz); } return 1; } else { format(string, sizeof(string), "ID:%d is not an active player ID number.", giveplayerid); SendClientMessage(playerid, COLOR_BRIGHTRED, string); } return 1; } //-----------------------------------Buy Biz------------------------------------ if(strcmp(cmd, "/buybiz", true) == 0) { if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command"); return 1; } if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this command"); return 1; } if(IsPlayerInAnyVehicle(playerid) == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be on foot in order to purchase a business!"); return 1; } if(ClosestBiz(playerid) == 99) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not close enough to any of the current business icons to use this command"); return 1; } if (strcmp(BizInfo[ClosestBiz(playerid)][owner],PlayerInfo[playerid][name],false) == 0) { format(string, sizeof(string), "You already own this Business (%s)", BizInfo[ClosestBiz(playerid)][name]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } if(BizInfo[ClosestBiz(playerid)][bought] == 1) { format(string, sizeof(string), "This Business (%s) is owned by %s, and is not for sale!", BizInfo[ClosestBiz(playerid)][name], BizInfo[ClosestBiz(playerid)][owner]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } if(PlayerInfo[playerid][bowner] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You can only own ONE Business at a time! You must sell your other Business first!"); return 1; } new cash[MAX_PLAYERS]; cash[playerid] = GetPlayerMoney(playerid); if(cash[playerid] >= BizInfo[ClosestBiz(playerid)][cost]) { new stringa[256]; strmid(BizInfo[ClosestBiz(playerid)][owner], PlayerInfo[playerid][name], 0, strlen(PlayerInfo[playerid][name]), 255); BizInfo[ClosestBiz(playerid)][bought] = 1; PlayerInfo[playerid][bowner] = 1; PlayerInfo[playerid][bowned] = ClosestBiz(playerid); GivePlayerMoney(playerid, -BizInfo[ClosestBiz(playerid)][cost]); format(stringa, sizeof(stringa), "You just bought this Business (%s) for $%d. Your Business will earn you $%d/hour", BizInfo[ClosestBiz(playerid)][name], BizInfo[ClosestBiz(playerid)][cost],BizInfo[ClosestBiz(playerid)][profit]*2); SendClientMessage(playerid, COLOR_GREEN, stringa); SavePlayer(playerid); SaveBusinesses(); new iconid = ClosestBiz(playerid)+1; ChangeMapIconModel(iconid,32); return 1; } if(cash[playerid] < BizInfo[ClosestBiz(playerid)][cost]) { new string6[256]; format(string6, sizeof(string6), "You do not have $%d and cannot afford this Business (%s)!", BizInfo[ClosestBiz(playerid)][cost],BizInfo[ClosestBiz(playerid)][name]); SendClientMessage(playerid, COLOR_BRIGHTRED, string6); } return 1; } //-------------------------------------Sell Biz--------------------------------- if(strcmp(cmd, "/sellbiz", true) == 0) { if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command"); return 1; } if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this command"); return 1; } if(IsPlayerInAnyVehicle(playerid) == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be on foot in order to sell a business!"); return 1; } if(ClosestBiz(playerid) == 99) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not close enough to any of the current business icons to use this command"); return 1; } if(PlayerInfo[playerid][bowner] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not currently own any business!"); return 1; } if (strcmp(BizInfo[ClosestBiz(playerid)][owner],PlayerInfo[playerid][name],false) == 0) { PlayerInfo[playerid][bowned] = 0; PlayerInfo[playerid][bowner] = 0; strmid(BizInfo[ClosestBiz(playerid)][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); BizInfo[ClosestBiz(playerid)][bought] = 0; new cbmon = BizInfo[ClosestBiz(playerid)][cashbox],bmon = PlayerInfo[playerid][bank]; BizInfo[ClosestBiz(playerid)][cashbox] = 0; PlayerInfo[playerid][bank] = cbmon+bmon; GivePlayerMoney(playerid, BizInfo[ClosestBiz(playerid)][cost]); format(string, sizeof(string), "You just sold your Business (%s) for $%d, the money that was in the cashbox ($%d) has been sent to your bank!!!", BizInfo[ClosestBiz(playerid)][name], BizInfo[ClosestBiz(playerid)][cost],cbmon); SendClientMessage(playerid, COLOR_GREEN, string); SavePlayer(playerid); SaveBusinesses(); new iconid = ClosestBiz(playerid)+1; ChangeMapIconModel(iconid,31); return 1; } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "What are you trying to pull here, you don't own this Business!!!"); return 1; } } //---------------------------------Get Biz Profit------------------------------- if(strcmp(cmd, "/cashbox", true) == 0) { if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command"); return 1; } if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this command"); return 1; } if(IsPlayerInAnyVehicle(playerid) == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be on foot in order to collect a business' earnings!"); return 1; } if(ClosestBiz(playerid) == 99) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not close enough to any of the current business icons to use this command"); return 1; } if(PlayerInfo[playerid][bowner] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not currently own any business!"); return 1; } if (strcmp(BizInfo[ClosestBiz(playerid)][owner],PlayerInfo[playerid][name],false) == 0) { new cbmon = BizInfo[ClosestBiz(playerid)][cashbox],bmon = PlayerInfo[playerid][bank]; PlayerInfo[playerid][bank] = cbmon+bmon; format(string, sizeof(string), "The earnings for your Business (%s - $%d), have been wired to your personal bank account!!!", BizInfo[ClosestBiz(playerid)][name], BizInfo[ClosestBiz(playerid)][cashbox]); SendClientMessage(playerid, COLOR_GREEN, string); BizInfo[ClosestBiz(playerid)][cashbox] = 0; SavePlayer(playerid); return 1; } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "What are you trying to pull here, you don't own this Business!!!"); return 1; } } //------------------------------------GOTO Biz---------------------------------- /* if(strcmp(cmd, "/gotobiz", true) == 0) ( if(PlayerInfo[playerid][bowner] == 1) { SetPlayerPos(playerid,BizInfo[PlayerInfo[playerid][bowned]][xpos],BizInfo[PlayerInfo[playerid][bowned]][ypos],BizInfo[PlayerInfo[playerid][bowned]][zpos]); SendClientMessage(playerid,COLOR_GREEN,"Welcome to your business"); return 1; } }*/ //------------------------------Tempoerily Remove Car--------------------------- if(strcmp(cmd, "/tempRemCar", true) == 0) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTBLUE, "Must be an rcon admin to use this command."); cmd = strtok(cmdtext,idx); if(strlen(!cmd)) return SendClientMessage(playerid,COLOR_LIGHTBLUE, "USAGE: /tempRemCar [vehicleid]"); if(strval(cmd) > 400 || strval(cmd) < 0) return SendClientMessage(playerid,COLOR_LIGHTBLUE, "Please enter a valid vehicleid to be used."); SetVehicleVirtualWorld(strval(cmd), 911); format(string,sizeof(string),"Vehicle [%d] has been temporarily removed from server. To unremove, /tempAddCar [vehicleid]",strval(cmd)); SendClientMessage(playerid,COLOR_GREEN,string); return 1; } //------------------------------Tempoerily Add Car------------------------------ if(strcmp(cmd, "/tempAddCar", true) == 0) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTBLUE, "Must be an rcon admin to use this command."); cmd = strtok(cmdtext,idx); if(strlen(!cmd)) return SendClientMessage(playerid,COLOR_LIGHTBLUE, "USAGE: /tempAddCar [vehicleid]"); if(strval(cmd) > 400 || strval(cmd) < 0) return SendClientMessage(playerid,COLOR_LIGHTBLUE, "Please enter a valid vehicleid to be used."); SetVehicleVirtualWorld(strval(cmd), 0); format(string,sizeof(string),"Vehicle [%d] has been returned to the server",strval(cmd)); SendClientMessage(playerid,COLOR_GREEN,string); return 1; } //---------------------------------Gang Commands-------------------------------- if(strcmp(cmd, "/gang", true) == 0) { //new tmp[256]; new gangcmd, gangnum; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [create/join/invite/quit] [name/number]"); return 1; } giveplayerid = strval(tmp); if(strcmp(tmp, "create", true)==0) gangcmd = 1; else if(strcmp(tmp, "invite", true)==0) gangcmd = 2; else if(strcmp(tmp, "join", true)==0) gangcmd = 3; else if(strcmp(tmp, "quit", true)==0) gangcmd = 4; tmp = strtok(cmdtext, idx); if(gangcmd < 3 && !strlen(tmp)) { if(gangcmd==0) SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [create/join/invite/quit] [name/number]"); else if(gangcmd==1) SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [create] [name]"); else if(gangcmd==2) SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [invite] [playerID]"); return 1; } //Create Gang// if(gangcmd==1) { if(playerGang[playerid]>0) { SendClientMessage(playerid, COLOR_RED, "You are already in a gang!"); return 1; } for(new i = 1; i < MAX_GANGS; i++) { if(gangInfo[i][0]==0) { //name gang format(gangNames[i], MAX_GANG_NAME, "%s", tmp); //Gang exists gangInfo[i][0]=1; //There is one member gangInfo[i][1]=1; //Gang color is player's color gangInfo[i][2]=playerColors[playerid]; //Player is the first gang member gangMembers[i][0] = playerid; format(string, sizeof(string),"You have created the gang '%s' (id: %d)", gangNames[i], i); SendClientMessage(playerid, COLOR_GREEN, string); playerGang[playerid]=i; return 1; } } return 1; //Join Gang// } else if (gangcmd==3) { gangnum = gangInvite[playerid]; if(playerGang[playerid]>0) { SendClientMessage(playerid, COLOR_RED, "You are already in a gang!"); return 1; } if(gangInvite[playerid]==0) { SendClientMessage(playerid, COLOR_RED, "You have not been invited to a gang."); return 1; } if(gangInfo[gangnum][0]==0) { SendClientMessage(playerid, COLOR_RED, "That gang does not exist!"); return 1; } if(gangInfo[gangnum][1] < MAX_GANG_MEMBERS) { new i = gangInfo[gangnum][1]; gangInvite[playerid]=0; gangMembers[gangnum][i] = playerid; GetPlayerName(playerid, sendername, MAX_PLAYER_NAME); for(new j = 0; j < gangInfo[gangnum][1]; j++) { format(string, sizeof(string),"%s has joined your gang.", sendername); SendClientMessage(gangMembers[gangnum][j], COLOR_ORANGE, string); } gangInfo[gangnum][1]++; playerGang[playerid] = gangnum; SetPlayerColor(playerid,gangInfo[gangnum][2]); format(string, sizeof(string),"You have joined the gang '%s' (id: %d)", gangNames[gangnum], gangnum); SendClientMessage(playerid, COLOR_GREEN, string); return 1; } SendClientMessage(playerid, COLOR_RED, "That gang is full."); return 1; //Invite to Gang// } else if (gangcmd==2) { giveplayerid = strval(tmp); if(playerGang[playerid]==0) { SendClientMessage(playerid, COLOR_RED, "You are not in a gang!"); return 1; } // if(gangMembers[playerGang[playerid]][0]!=playerid) { // SendClientMessage(playerid, COLOR_RED, "You need to be the gang leader to send an invite."); // return 1; // } if(IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string),"You have sent a gang invite to %s.", giveplayer); SendClientMessage(playerid, COLOR_GREEN, string); format(string, sizeof(string),"You have recieved a gang invite from %s to '%s' (id: %d)", sendername, gangNames[playerGang[playerid]],playerGang[playerid]); SendClientMessage(giveplayerid, COLOR_GREEN, string); gangInvite[giveplayerid]=playerGang[playerid]; } else SendClientMessage(playerid, COLOR_RED, "No such player exists!"); //Leave Gang// } else if (gangcmd==4) { PlayerLeaveGang(playerid); } return 1; } //------------------- /ganginfo if(strcmp(cmd, "/ganginfo", true) == 0) { //new tmp[256]; new gangnum; tmp = strtok(cmdtext, idx); if(!strlen(tmp) && playerGang[playerid]==0) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ganginfo [number]"); return 1; } else if (!strlen(tmp)) gangnum = playerGang[playerid]; else gangnum = strval(tmp); if(gangInfo[gangnum][0]==0) { SendClientMessage(playerid, COLOR_RED, "No such gang exists!"); return 1; } format(string, sizeof(string),"'%s' Gang Members (id: %d)", gangNames[gangnum], gangnum); SendClientMessage(playerid, COLOR_GREEN, string); for(new i = 0; i < gangInfo[gangnum][1]; i++) { GetPlayerName(gangMembers[gangnum][i], giveplayer, sizeof(giveplayer)); format(string, sizeof(string),"%s (%d)", giveplayer, gangMembers[gangnum][i]); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } //------------------- /gangs if(strcmp(cmd, "/gangs", true) == 0) { new x; SendClientMessage(playerid, COLOR_GREEN, "Current Gangs:"); for(new i=0; i < MAX_GANGS; i++) { if(gangInfo[i][0]==1) { format(string, sizeof(string), "%s%s(%d) - %d members", string,gangNames[i],i,gangInfo[i][1]); x++; if(x > 2) { SendClientMessage(playerid, COLOR_YELLOW, string); x = 0; format(string, sizeof(string), ""); } else { format(string, sizeof(string), "%s, ", string); } } } if(x <= 2 && x > 0) { string[strlen(string)-2] = '.'; SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } //---------------------------------Call on Phone-------------------------------- if(strcmp(cmd, "/call", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /call [playerid]"); return 1; } giveplayerid = strval(tmp); if (PlayerInfo[playerid][logged] != 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to make a phone call!"); return 1; } if (GetPlayerMoney(playerid) < CALL_UNIT_COST) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have enough money to make a phone call!"); return 1; } if (giveplayerid == playerid) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot call yourself!"); return 1; } if (!(IsPlayerConnected(giveplayerid))) { SendClientMessage(playerid, COLOR_BRIGHTRED, "Inactive player id!"); return 1; } if (Calling[playerid] > -1) { GetPlayerName(Calling[playerid], giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "You are already on the phone to %s!", giveplayer); SendClientMessage(playerid, COLOR_BRIGHTRED, string); return 1; } if (Calling[giveplayerid] > -1) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "%s is already on the phone, try again later", giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); return 1; } else GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "%s is ringing you, type /answer to answer the call or /hangup to ignore it", sendername); SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "You are ringing %s", giveplayer); SendClientMessage(playerid, COLOR_GREEN, string); Calling[playerid] = giveplayerid; Calling[giveplayerid] = playerid; Callerid[playerid] = 1; return 1; } //---------------------------------Answer Phone--------------------------------- if(strcmp(cmd, "/answer", true) == 0) { if (PlayerInfo[playerid][logged] != 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to answer a phone call!"); return 1; } if (Calling[playerid] == -1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "Nobody is calling you!"); return 1; } if (Answered[playerid] == 1) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "You are already on the phone!"); return 1; } else GetPlayerName(Calling[playerid], giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "%s has answered your call, talk away", sendername); SendClientMessage(Calling[playerid], COLOR_GREEN, string); format(string, sizeof(string), "You have answered %s's call, talk away", giveplayer); SendClientMessage(playerid, COLOR_GREEN, string); Answered[playerid] = 1; Answered[Calling[playerid]] = 1; Callerid[Calling[playerid]] = 1; return 1; } //---------------------------------HangUp Phone--------------------------------- if(strcmp(cmd, "/hangup", true) == 0) { if (PlayerInfo[playerid][logged] != 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to hang up a phone call!"); return 1; } if (Calling[playerid] == -1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not on the phone!"); return 1; } else { GetPlayerName(Calling[playerid], giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "%s has hung up the phone on you", sendername); SendClientMessage(Calling[playerid], COLOR_LIGHTBLUE, string); format(string, sizeof(string), "You have hung up on %s", giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); new bCalling = Calling[playerid]; Calling[playerid] = -1; Answered[playerid] = 0; Callerid[playerid] = 0; Calling[bCalling] = -1; Answered[bCalling] = 0; Callerid[bCalling] = 0; } return 1; } return 0; } //================================Xadmin Commands=============================== //-----------------------------[REGISTRATION SYSTEM]---------------------------- dcmd_register(playerid,params[]) { if(!strlen(params)) { new string[256]; format(string,256,"Syntax Error: \"/REGISTER \" [Password must be %d+].",Config[MinimumPasswordLength]); return SendClientMessage(playerid,red,string); } new index = 0,Password[256],string[256],PlayerFile[256]; Password = strtok(params,index); PlayerFile = GetPlayerFile(playerid); if(!Variables[playerid][Registered] && !Variables[playerid][LoggedIn]) { if(strlen(Password) >= Config[MinimumPasswordLength]) { format(string,sizeof(string),"You have registered your account with the password \"%s\" and automatically been logged in.",Password); CreateUserConfigFile(playerid); SetUserInt(playerid,"Password",udb_hash(Password)); SetUserInt(playerid,"Registered",1); SetUserInt(playerid,"LoggedIn",1); SavePlayer(playerid); Variables[playerid][LoggedIn] = true, Variables[playerid][Registered] = true; PlayerInfo[playerid][logged] = 1; LoadPlayer(playerid); SendClientMessage(playerid,blue,string); new tmp3[100]; GetPlayerIp(playerid,tmp3,100); SetUserString(playerid,"IP",tmp3); OnPlayerRegister(playerid); } else SendClientMessage(playerid,red,"Syntax Error: \"/REGISTER \" [Password must be 3+]."); } else SendClientMessage(playerid,red,"Error: Make sure that you have not registered and are logged out."); return 1; } dcmd_login(playerid,params[]) { if(!strlen(params)) { SendClientMessage(playerid,red,"Syntax Error: \"/LOGIN \"."); return 1; } new index = 0; new Password[256], string[256]; Password = strtok(params,index); new PlayerFile[256]; PlayerFile = GetPlayerFile(playerid); if(Variables[playerid][Registered] && !Variables[playerid][LoggedIn]) { if(udb_hash(Password) == dini_Int(PlayerFile,"Password")) { switch(Variables[playerid][Level]) { case 0: format(string,sizeof(string),"You have logged into your account. [Status Level: Member]"); default: format(string,sizeof(string),"You have logged into your account. [Status Level: Administrator Lv. %d]",Variables[playerid][Level]); } SendClientMessage(playerid,blue,string); SetUserInt(playerid,"LoggedIn",1); Variables[playerid][LoggedIn] = true; PlayerInfo[playerid][logged] = 1; LoadPlayer(playerid); ResetPlayerMoney(playerid); GivePlayerMoney(playerid,PlayerInfo[playerid][pcash]); new tmp3[100]; GetPlayerIp(playerid,tmp3,100); SetUserString(playerid,"IP",tmp3); OnPlayerLogin(playerid,true); } else { OnPlayerLogin(playerid,false); SendClientMessage(playerid,red,"Syntax Error: \"/LOGIN \"."); } } else SendClientMessage(playerid,red,"Error: You must be registered to log in; if you have make sure you haven't already logged in."); return 1; } dcmd_logout(playerid,params[]) { #pragma unused params new PlayerFile[256]; PlayerFile = GetPlayerFile(playerid); if(Variables[playerid][Registered] && Variables[playerid][LoggedIn]) { SendClientMessage(playerid,blue,"You have logged out of your account. You may log back in later by typing \"/LOGIN \"."); SetUserInt(playerid,"LoggedIn",0); Variables[playerid][LoggedIn] = false; OnPlayerLogout(playerid); PlayerInfo[playerid][logged] = 0; } else SendClientMessage(playerid,red,"Error: You must be registered and logged into your account first."); return 1; } //----------------------------[ADMINISTRATION SYSTEM]--------------------------- dcmd_goto(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"goto")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/GOTO \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { SendCommandMessageToAdmins(playerid,"GOTO"); new string[256],PlayerName[24],ActionName[24],Float:X,Float:Y,Float:Z; GetPlayerName(playerid,PlayerName,24); GetPlayerName(id,ActionName,24); new Interior = GetPlayerInterior(id); SetPlayerInterior(playerid,Interior); SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id)); GetPlayerPos(id,X,Y,Z); if(IsPlayerInAnyVehicle(playerid)) { SetVehiclePos(GetPlayerVehicleID(playerid),X+Config[TeleportXOffset],Y+Config[TeleportYOffset],Z+Config[TeleportZOffset]); LinkVehicleToInterior(GetPlayerVehicleID(playerid),Interior); } else SetPlayerPos(playerid,X+Config[TeleportXOffset],Y+Config[TeleportYOffset],Z+Config[TeleportZOffset]); format(string,256,"\"%s\" has teleported to your location.",PlayerName); SendClientMessage(id,yellow,string); format(string,256,"You have teleported to \"%s's\" location.",ActionName); return SendClientMessage(playerid,yellow,string); } else return SendClientMessage(playerid,red,"ERROR: You can not teleport to yourself or disconnected players."); } else return SendLevelErrorMessage(playerid,"goto"); } dcmd_gethere(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"gethere")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/GETHERE \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { SendCommandMessageToAdmins(playerid,"GETHERE"); new string[256],PlayerName[24],ActionName[24],Float:X,Float:Y,Float:Z; GetPlayerName(playerid,PlayerName,24); GetPlayerName(id,ActionName,24); new Interior = GetPlayerInterior(playerid); SetPlayerInterior(id,Interior); SetPlayerVirtualWorld(id,GetPlayerVirtualWorld(playerid)); GetPlayerPos(playerid,X,Y,Z); if(IsPlayerInAnyVehicle(id)) { SetVehiclePos(GetPlayerVehicleID(id),X+Config[TeleportXOffset],Y+Config[TeleportYOffset],Z+Config[TeleportZOffset]); LinkVehicleToInterior(GetPlayerVehicleID(id),Interior); } else SetPlayerPos(id,X+Config[TeleportXOffset],Y+Config[TeleportYOffset],Z+Config[TeleportZOffset]); format(string,256,"You have teleported \"%s\" to your location.",ActionName); SendClientMessage(playerid,yellow,string); format(string,256,"You have been teleported to \"%s's\" location.",PlayerName); return SendClientMessage(id,yellow,string); } else return SendClientMessage(playerid,red,"ERROR: You can not teleport yourself or a disconnected player."); } else return SendLevelErrorMessage(playerid,"gethere"); } dcmd_announce(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"announce")) { SendCommandMessageToAdmins(playerid,"ANNOUNCE"); if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/ANNOUNCE \"."); return GameTextForAll(params,4000,3); } else return SendLevelErrorMessage(playerid,"announce"); } dcmd_say(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"say")) { SendCommandMessageToAdmins(playerid,"SAY"); if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/SAY \"."); new string[256],xname[24];GetPlayerName(playerid,xname,24); format(string,256,"** Admin %s: %s",xname,params); return SendClientMessageToAll(pink,string); } else return SendLevelErrorMessage(playerid,"say"); } dcmd_flip(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"flip")) { if(IsPlayerInAnyVehicle(playerid)) { SendCommandMessageToAdmins(playerid,"FLIP"); new Float:X,Float:Y,Float:Z,Float:Angle,string[256],xname[24]; GetPlayerName(playerid,xname,24); GetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z); GetVehicleZAngle(GetPlayerVehicleID(playerid),Angle); SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z+2); SetVehicleZAngle(GetPlayerVehicleID(playerid),Angle); format(string,256,"Admin Chat: Administrator \"%s\" has flipped their vehicle.",xname); return SendMessageToAdmins(string); } else return SendClientMessage(playerid,red,"ERROR: You must be in a vehicle."); } else return SendLevelErrorMessage(playerid,"flip"); } dcmd_morning(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"morning")) { SendCommandMessageToAdmins(playerid,"MORNING"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(playerid,7,0); return SendClientMessageToAll(yellow,"The world time has been changed to 7:00."); } else return SendLevelErrorMessage(playerid,"morning"); } dcmd_noon(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"noon")) { SendCommandMessageToAdmins(playerid,"NOON"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(playerid,12,0); return SendClientMessageToAll(yellow,"The world time has been changed to 12:00."); } else return SendLevelErrorMessage(playerid,"noon"); } dcmd_evening(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"evening")) { SendCommandMessageToAdmins(playerid,"EVENING"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(playerid,18,0); return SendClientMessageToAll(yellow,"The world time has been changed to 18:00."); } else return SendLevelErrorMessage(playerid,"evening"); } dcmd_midnight(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"midnight")) { SendCommandMessageToAdmins(playerid,"MIDNIGHT"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(playerid,0,0); return SendClientMessageToAll(yellow,"The world time has been changed to 0:00."); } else return SendLevelErrorMessage(playerid,"midnight"); } dcmd_serverinfo(playerid,params[]) { #pragma unused params new string[256]; format(string,256,"Server Information: [Players Connected: %d || Maximum Players: %d || Ratio: %.2f]",GetConnectedPlayers(),GetMaxPlayers(),floatdiv(GetConnectedPlayers(),GetMaxPlayers())); return SendClientMessage(playerid,green,string); } dcmd_slap(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"slap")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/SLAP \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { SendCommandMessageToAdmins(playerid,"SLAP"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); format(string,256,"Administrator \"%s\" has bitch-slapped \"%s\".",xname,ActionName); SendClientMessageToAll(yellow,string); new Float:Health; GetPlayerHealth(id,Health); return SetPlayerHealth(id,Health-Config[SlapDecrement]); } else return SendClientMessage(playerid,red,"ERROR: You can not slap yourself or a disconnected player."); } else return SendLevelErrorMessage(playerid,"slap"); } dcmd_wire(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"wire")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/WIRE ()\"."); new tmp[256],Index; tmp = strtok(params,Index); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { if(!Variables[id][Wired]) { SendCommandMessageToAdmins(playerid,"WIRE"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(!strlen(params[strlen(tmp)+1])) format(string,256,"\"%s\" has been wired by Administrator \"%s\".",ActionName,xname); else format(string,256,"\"%s\" has been wired by Administrator \"%s\". (Reason: %s)",ActionName,xname,params[strlen(tmp)+1]); Variables[id][Wired] = true, Variables[id][WiredWarnings] = Config[WiredWarnings]; return SendClientMessageToAll(yellow,string); } else return SendClientMessage(playerid,red,"ERROR: This player has already been wired."); } else return SendClientMessage(playerid,red,"ERROR: You can not wire yourself or a disconnected player."); } else return SendLevelErrorMessage(playerid,"wire"); } dcmd_unwire(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"unwire")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/UNWIRE \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { if(Variables[id][Wired]) { SendCommandMessageToAdmins(playerid,"UNWIRE"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); Variables[id][Wired] = false, Variables[id][WiredWarnings] = Config[WiredWarnings]; if(id != playerid) { format(string,256,"\"%s\" has been unwired by Administrator \"%s\".",ActionName,xname); return SendClientMessageToAll(yellow,string); } else return SendClientMessage(playerid,yellow,"You have successfully unwired yourself."); } else return SendClientMessage(playerid,red,"ERROR: This player is not wired."); } else return SendClientMessage(playerid,red,"ERROR: You can not unwire a disconnected player."); } else return SendLevelErrorMessage(playerid,"unwire"); } dcmd_kick(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"kick")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/KICK ()\"."); new tmp[256],Index; tmp = strtok(params,Index); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { SendCommandMessageToAdmins(playerid,"KICK"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(!strlen(params[strlen(tmp)+1])) format(string,256,"\"%s\" has been Kicked from the game by Administrator \"%s\".",ActionName,xname); else format(string,256,"\"%s\" has been Kicked from the game by Administrator \"%s\". (Reason: %s)",ActionName,xname,params[strlen(tmp)+1]); SendClientMessageToAll(yellow,string); return Kick(id); } else return SendClientMessage(playerid,red,"ERROR: You can not kick yourself or a disconnected player."); } else return SendLevelErrorMessage(playerid,"kick"); } dcmd_ban(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"ban")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/BAN ()\"."); new tmp[256],Index; tmp = strtok(params,Index); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { SendCommandMessageToAdmins(playerid,"BAN"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(!strlen(params[strlen(tmp)+1])) format(string,256,"\"%s\" has been Banned by Administrator \"%s\".",ActionName,xname); else format(string,256,"\"%s\" has been Banned by Administrator \"%s\". (Reason: %s)",ActionName,xname,params[strlen(tmp)+1]); SendClientMessageToAll(yellow,string); return Ban(id); } else return SendClientMessage(playerid,red,"ERROR: You can not ban yourself or a disconnected player."); } else return SendLevelErrorMessage(playerid,"ban"); } dcmd_akill(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"akill")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/AKILL \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { SendCommandMessageToAdmins(playerid,"AKILL"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); format(string,256,"You have been killed by Administrator \"%s\".",xname); SendClientMessage(id,yellow,string); format(string,256,"You have killed Player \"%s\".",ActionName); SendClientMessage(playerid,yellow,string); return SetPlayerHealth(id,0.0); } else return SendClientMessage(playerid,red,"ERROR: You can not auto-kill yourself or a disconnected player."); } else return SendLevelErrorMessage(playerid,"akill"); } dcmd_eject(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"eject")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/EJECT \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { if(IsPlayerInAnyVehicle(id)) { SendCommandMessageToAdmins(playerid,"EJECT"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); RemovePlayerFromVehicle(id); if(id != playerid) { format(string,256,"You have been ejected from your vehicle by Administrator \"%s\".",xname); SendClientMessage(id,yellow,string); format(string,256,"You have ejected Player \"%s\".",ActionName); return SendClientMessage(playerid,yellow,string); } else return SendClientMessage(playerid,yellow,"You have ejected yourself from your vehicle."); } else return SendClientMessage(playerid,red,"ERROR: This player must be in a vehicle."); } else return SendClientMessage(playerid,red,"ERROR: You can not eject a disconnected player."); } else return SendLevelErrorMessage(playerid,"eject"); } dcmd_freeze(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"freeze")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/FREEZE \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { SendCommandMessageToAdmins(playerid,"FREEZE"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); TogglePlayerControllable(id,false); format(string,256,"Admin Chat: Admnistrator \"%s\" has frozen \"%s\".",xname,ActionName); return SendMessageToAdmins(string); } else return SendClientMessage(playerid,red,"ERROR: You can not freeze yourself or a disconnected player."); } else return SendLevelErrorMessage(playerid,"freeze"); } dcmd_unfreeze(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"unfreeze")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/UNFREEZE \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"UNFREEZE"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); TogglePlayerControllable(id,true); format(string,256,"Admin Chat: Admnistrator \"%s\" has unfrozen \"%s\".",xname,ActionName); if(id != playerid) return SendMessageToAdmins(string); else return SendClientMessage(playerid,yellow,"You have unfrozen yourself."); } else return SendClientMessage(playerid,red,"ERROR: You can not unfreeze a disconnected player."); } else return SendLevelErrorMessage(playerid,"unfreeze"); } dcmd_outside(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"outside")) { SendCommandMessageToAdmins(playerid,"OUTSIDE"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerInterior(i,0); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Admnistrator \"%s\" has transfered everyone outside.",xname); return SendClientMessageToAll(yellow,string); } else return SendLevelErrorMessage(playerid,"outside"); } dcmd_healall(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"healall")) { SendCommandMessageToAdmins(playerid,"HEALALL"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerHealth(i,100.0); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Everyone has been healed by Administrator \"%s\".",xname); return SendClientMessageToAll(yellow,string); } else return SendLevelErrorMessage(playerid,"healall"); } dcmd_sm(playerid,params[]) { #pragma unused params if(Config[DisplayServerMessage]) { new string[256]; format(string,sizeof(string),"Server Message: %s",dini_Get("/xadmin/Configuration/Configuration.ini","ServerMessage")); return SendClientMessage(playerid,green,string); } else return SendClientMessage(playerid,red,"ERROR: The server message has been disabled."); } dcmd_setsm(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setsm")) { SendCommandMessageToAdmins(playerid,"SETSM"); if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETSM \"."); dini_Set("/xadmin/Configuration/Configuration.ini","ServerMessage",params); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Admin Chat: New Server Message: %s",params); SendMessageToAdmins(string); return 1; } else return SendLevelErrorMessage(playerid,"setsm"); } dcmd_uconfig(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"uconfig")) { SendCommandMessageToAdmins(playerid,"UCONFIG"); UpdateConfigurationVariables(); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Admin Chat: Administrator \"%s\" has updated the configuration variables.",xname); SendMessageToAdmins(string); return 1; } else return SendLevelErrorMessage(playerid,"uconfig"); } dcmd_givehealth(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"givehealth")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 1 && strval(tmp2) <= 100)) return SendClientMessage(playerid,red,"Syntax Error: \"/GIVEHEALTH <1-100>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"GIVEHEALTH"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has given you %d percent health.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You have given \"%s\" %d percent health.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have given yourself %d percent health.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } new Float:Health; GetPlayerHealth(id,Health); return SetPlayerHealth(id,Health+strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not give a disconnected player health."); } else return SendLevelErrorMessage(playerid,"givehealth"); } dcmd_sethealth(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"sethealth")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 0 && strval(tmp2) <= 100)) return SendClientMessage(playerid,red,"Syntax Error: \"/SET <0-100>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"SETHEALTH"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your health to %d percent.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You have set \"%s's\" health to %d percent.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You've set your health to %d percent.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } return SetPlayerHealth(id,strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's health."); } else return SendLevelErrorMessage(playerid,"sethealth"); } dcmd_skinall(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"skinall")) { if(!strlen(params)||!IsNumeric(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/SKINALL \"."); if(IsSkinValid(strval(params))) { SendCommandMessageToAdmins(playerid,"SKINALL"); new string[256],xname[24]; GetPlayerName(playerid,xname,24); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerSkin(i,strval(params)); format(string,256,"Everyone's skin has been changed to ID %d.",strval(params)); return SendClientMessageToAll(yellow,string); } else return SendClientMessage(playerid,red,"ERROR: Invalid skin ID."); } else return SendLevelErrorMessage(playerid,"skinall"); } dcmd_giveallweapon(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"giveallweapon")) { new tmp[256], tmp2[256], Index; tmp = strtok(params,Index); tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) <= 0 || strval(tmp2) <= 10000)) return SendClientMessage(playerid,red,"Syntax Error: \"/GIVEALLWEAPON <1-10,000>\"."); new id; if(!IsNumeric(tmp)) id = ReturnWeaponID(tmp); else id = strval(tmp); if(id == -1||id==19||id==20||id==21||id==0||id==44||id==45) return SendClientMessage(playerid,red,"ERROR: You have selected an invalid weapon ID."); SendCommandMessageToAdmins(playerid,"GIVEALLWEAPON"); new string[256],xname[24],WeaponName[24]; GetWeaponName(id,WeaponName,24); if(id == 18) WeaponName = "Molotov"; GetPlayerName(playerid,xname,24); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) GivePlayerWeapon(i,id,strval(tmp2)); format(string,256,"Everyone has been given %d \'%s\' by Administrator \"%s\".",strval(tmp2),WeaponName,xname); return SendClientMessageToAll(yellow,string); } else return SendLevelErrorMessage(playerid,"giveallweapon"); } dcmd_resetallweapons(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"resetallweapons")) { SendCommandMessageToAdmins(playerid,"RESETALLWEAPONS"); new string[256],xname[24]; GetPlayerName(playerid,xname,24); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) ResetPlayerWeapons(i); format(string,256,"Administrator \"%s\" has reseted everyone's weapons.",xname); return SendClientMessageToAll(yellow,string); } else return SendLevelErrorMessage(playerid,"resetallweapons"); } dcmd_setcash(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setcash")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 1 && strval(tmp2) <= 1000000)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETCASH <1 - 1,000,000>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"SETCASH"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your cash to $%d.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You have set \"%s's\" cash to $%d.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have set your cash to $%d.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } ResetPlayerMoney(id); return GivePlayerMoney(id,strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's cash."); } else return SendLevelErrorMessage(playerid,"setcash"); } dcmd_givecash(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"givecash")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 1 && strval(tmp2) <= 1000000)) return SendClientMessage(playerid,red,"Syntax Error: \"/GIVECASH <1 - 1,000,000>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"GIVECASH"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has given you $%d.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You have given \"%s\" $%d.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have given yourself $%d.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } return GivePlayerMoney(id,strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not give a disconnected player cash."); } else return SendLevelErrorMessage(playerid,"givecash"); } dcmd_remcash(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"remcash")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 1 && strval(tmp2) <= 1000000)) return SendClientMessage(playerid,red,"Syntax Error: \"/REMCASH <1 - 1,000,000>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"REMCASH"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has removed $%d from your cash.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You have removed $%d from \"%s's\" cash.",strval(tmp2),ActionName); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have removed $%d from your cash.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } return GivePlayerMoney(id,-strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not remove a disconnected player's cash."); } else return SendLevelErrorMessage(playerid,"remcash"); } dcmd_resetcash(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"resetcash")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/RESETCASH \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"RESETCASH"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has reseted your cash.",xname); SendClientMessage(id,yellow,string); format(string,256,"You have reseted \"%s's\" cash.",ActionName); SendClientMessage(playerid,yellow,string); } else SendClientMessage(playerid,yellow,"You have reseted your cash."); return ResetPlayerMoney(id); } return SendClientMessage(playerid,red,"ERROR: You can not reset a disconnected player's cash."); } else return SendLevelErrorMessage(playerid,"resetcash"); } dcmd_setallcash(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setallcash")) { if(!strlen(params)||!IsNumeric(params)||!(strval(params)>=0&&strval(params)<=1000000)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETALLCASH <1 - 1,000,000>\"."); SendCommandMessageToAdmins(playerid,"SETALLCASH"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) { ResetPlayerMoney(i); GivePlayerMoney(i,strval(params)); } new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Administrator \"%s\" has set every player's cash to $%d.",xname,strval(params)); return SendClientMessage(playerid,yellow,string); } else return SendLevelErrorMessage(playerid,"setallcash"); } dcmd_giveallcash(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"giveallcash")) { if(!strlen(params)||!IsNumeric(params)||!(strval(params)>=0&&strval(params)<=1000000)) return SendClientMessage(playerid,red,"Syntax Error: \"/GIVEALLCASH <1 - 1,000,000>\"."); SendCommandMessageToAdmins(playerid,"GIVEALLCASH"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) GivePlayerMoney(i,strval(params)); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Administrator \"%s\" has given every player $%d.",xname,strval(params)); return SendClientMessage(playerid,yellow,string); } else return SendLevelErrorMessage(playerid,"giveallcash"); } dcmd_remallcash(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"remallcash")) { if(!strlen(params)||!(strval(params)>=0&&strval(params)<=1000000)) return SendClientMessage(playerid,red,"Syntax Error: \"/REMALLCASH <1 - 1,000,000>\"."); SendCommandMessageToAdmins(playerid,"REMALLCASH"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) GivePlayerMoney(i,-strval(params)); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Administrator \"%s\" has removed $%d from everyone's cash.",xname,strval(params)); return SendClientMessage(playerid,yellow,string); } else return SendLevelErrorMessage(playerid,"remallcash"); } dcmd_resetallcash(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"resetallcash")) { SendCommandMessageToAdmins(playerid,"RESETALLCASH"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) ResetPlayerMoney(i); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Administrator \"%s\" resetted everyone's cash.",xname); return SendClientMessage(playerid,yellow,string); } else return SendLevelErrorMessage(playerid,"resetallcash"); } dcmd_ejectall(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"ejectall")) { SendCommandMessageToAdmins(playerid,"EJECTALL"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) RemovePlayerFromVehicle(i); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Administrator \"%s\" reseted ejected everyone from their vehicle.",xname); return SendClientMessage(playerid,yellow,string); } else return SendLevelErrorMessage(playerid,"ejectall"); } dcmd_freezeall(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"freezeall")) { SendCommandMessageToAdmins(playerid,"FREEZEALL"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) TogglePlayerControllable(i,false); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Administrator \"%s\" frozen everyone.",xname); return SendClientMessage(playerid,yellow,string); } else return SendLevelErrorMessage(playerid,"freezeall"); } dcmd_unfreezeall(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"unfreezeall")) { SendCommandMessageToAdmins(playerid,"UNFREEZEALL"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) TogglePlayerControllable(i,true); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Administrator \"%s\" unfrozen everyone.",xname); return SendClientMessage(playerid,yellow,string); } else return SendLevelErrorMessage(playerid,"unfreezeall"); } dcmd_giveweapon(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"giveweapon")) { new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index),tmp2 = strtok(params,Index),tmp3 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!strlen(tmp3)||!IsNumeric(tmp3)||!(strval(tmp3) <= 0 || strval(tmp3) <= 10000)) return SendClientMessage(playerid,red,"Syntax Error: \"/GIVEWEAPON <1-10,000>\"."); new id,id2; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(!IsNumeric(tmp2)) id2 = ReturnWeaponID(tmp2); else id2 = strval(tmp2); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { if(id2==-1||id2==19||id2==20||id2==21||id2==0||id2==44||id2==45) return SendClientMessage(playerid,red,"ERROR: You have selected an invalid weapon ID."); SendCommandMessageToAdmins(playerid,"GIVEWEAPON"); new string[256],xname[24],ActionName[24],WeaponName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); GetWeaponName(id2,WeaponName,24); if(id2 == 18) WeaponName = "Molotov"; if(id != playerid) { format(string,256,"Administrator \"%s\" has given you %d %s.",xname,strval(tmp3),WeaponName); SendClientMessage(id,yellow,string); format(string,256,"You have given \"%s\" %d %s.",ActionName,strval(tmp3),WeaponName); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have given yourself %d %s.",strval(tmp3),WeaponName); SendClientMessage(playerid,yellow,string); } return GivePlayerWeapon(id,id2,strval(tmp3)); } else return SendClientMessage(playerid,red,"ERROR: You can not give a disconnected player a weapon."); } else return SendLevelErrorMessage(playerid,"giveweapon"); } dcmd_god(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"god")) { SendCommandMessageToAdmins(playerid,"GOD"); if(!Config[GodWeapons]) { SetPlayerHealth(playerid,100000); return SendClientMessage(playerid,yellow,"You have given yourself infinite health."); } else { SetPlayerHealth(playerid,100000); GivePlayerWeapon(playerid,38,50000); GivePlayerWeapon(playerid,WEAPON_GRENADE,50000); return SendClientMessage(playerid,yellow,"You have given yourself infinite health, minigun,grenades."); } } else return SendLevelErrorMessage(playerid,"god"); } dcmd_resetscores(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"resetscores")) { SendCommandMessageToAdmins(playerid,"RESETSCORES"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerScore(i,0); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Administrator \"%s\" resetted everyone's score.",xname); return SendClientMessage(playerid,yellow,string); } else return SendLevelErrorMessage(playerid,"resetscores"); } dcmd_setlevel(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setlevel")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 0 && strval(tmp2) <= Config[MaxLevel])) { new string[256]; format(string,256,"Syntax Error: \"SETLEVEL <0 - %d>\".",Config[MaxLevel]); return SendClientMessage(playerid,red,string); } new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { if(Variables[id][Level] == strval(tmp2)) return SendClientMessage(playerid,red,"ERROR: That player is already that level."); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); SendCommandMessageToAdmins(playerid,"SETLEVEL"); format(string,256,"Administrator \"%s\" has %s you to %s [%d].",xname,((strval(tmp2) >= Variables[id][Level])?("promoted"):("demoted")),((strval(tmp2))?("Administrator"):("Member Status")),strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You have %s \"%s\" to %s [%d].",((strval(tmp2) >= Variables[id][Level])?("promoted"):("demoted")),ActionName,((strval(tmp2))?("Administrator"):("Member Status")),strval(tmp2)); SendClientMessage(playerid,yellow,string); Variables[id][Level] = strval(tmp2); PlayerInfo[playerid][admin] = strval(tmp2); return SetUserInt(id,"Level",strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not set set your or a disconnected player's level."); } else return SendLevelErrorMessage(playerid,"setlevel"); } dcmd_setskin(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setskin")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETSKIN \"."); if(!IsSkinValid(strval(tmp2))) return SendClientMessage(playerid,red,"ERROR: Invalid skin ID."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); SendCommandMessageToAdmins(playerid,"SETSKIN"); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your skin to ID %d.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You have set \"%s's\" skin ID to %d.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have set your skin ID to %d.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } return SetPlayerSkin(id,strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's skin."); } else return SendLevelErrorMessage(playerid,"setskin"); } dcmd_givearmour(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"givearmour")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 1 && strval(tmp2) <= 100)) return SendClientMessage(playerid,red,"Syntax Error: \"/GIVEARMOUR <1-100>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"GIVEARMOUR"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has given you %d armour.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You have given \"%s\" %d armour.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have given yourself %d armour.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } new Float:Armour; GetPlayerArmour(id,Armour); return SetPlayerArmour(id,Armour+strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not give a disconnected player armour."); } else return SendLevelErrorMessage(playerid,"givearmour"); } dcmd_setarmour(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setarmour")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 1 && strval(tmp2) <= 100)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETARMOUR <1-100>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"SETARMOUR"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your armour to %d.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You set \"%s\'s\" armour to %d.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have set your armour to %d.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } return SetPlayerArmour(id,strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's armour."); } else return SendLevelErrorMessage(playerid,"setarmour"); } dcmd_armourall(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"armourall")) { SendCommandMessageToAdmins(playerid,"ARMOURALL"); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerArmour(i,100.0); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Everyone's armour has been restored by Administrator \"%s\".",xname); return SendClientMessageToAll(yellow,string); } else return SendLevelErrorMessage(playerid,"armourall"); } dcmd_setammo(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setammo")) { new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index),tmp2 = strtok(params,Index),tmp3 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!strlen(tmp3)||!IsNumeric(tmp3)||!IsNumeric(tmp2)||!(strval(tmp3) <= 0 || strval(tmp3) <= 10000)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETAMMO <1-10,000>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { if(!(strval(tmp2) >= 0 && strval(tmp) <= 12)) return SendClientMessage(playerid,red,"ERROR: Invalid weapon slot! Range: 0 - 12"); SendCommandMessageToAdmins(playerid,"SETAMMO"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your ammunition in slot \'%d\' to %d.",xname,strval(tmp2),strval(tmp3)); SendClientMessage(id,yellow,string); format(string,256,"You have set \"%s\'s\" ammunition in slot %d to %d.",ActionName,strval(tmp2),strval(tmp3)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have set your ammunition in slot \'%d\' to %d.",strval(tmp2),strval(tmp3)); SendClientMessage(playerid,yellow,string); } return SetPlayerAmmo(id,strval(tmp2),strval(tmp3)); } else return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's ammunition."); } else return SendLevelErrorMessage(playerid,"setammo"); } dcmd_setscore(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setscore")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 1 && strval(tmp2) <= 100000)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETSCORE <1-100,000>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"SETSCORE"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your score to %d.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You set \"%s\'s\" score to %d.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have set your score to %d.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } return SetPlayerScore(id,strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's score."); } else return SendLevelErrorMessage(playerid,"setscore"); } dcmd_ip(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"ip")) { SendCommandMessageToAdmins(playerid,"IP"); if(!strlen(params)) { new IP[256],string[256]; GetPlayerIp(playerid,IP,256); format(string,256,"Your IP: \'%s\'",IP); return SendClientMessage(playerid,yellow,string); } new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { new string[256],ActionName[24],IP[256]; GetPlayerName(id,ActionName,24); GetPlayerIp(id,IP,256); format(string,256,"\"%s\'s\" IP: \'%s\'",ActionName,IP); return SendClientMessage(playerid,yellow,string); } else return SendClientMessage(playerid,red,"ERROR: You can not get the ip of a disconnected player."); } else return SendLevelErrorMessage(playerid,"ip"); } dcmd_ping(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"ping")) { SendCommandMessageToAdmins(playerid,"PING"); if(!strlen(params)) { new string[256]; format(string,256,"Your Ping: \'%d\'",GetPlayerPing(playerid)); return SendClientMessage(playerid,yellow,string); } new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { new string[256],ActionName[24],IP[256]; GetPlayerName(id,ActionName,24); GetPlayerIp(id,IP,256); format(string,256,"\"%s\'s\" Ping: \'%d\'",ActionName,GetPlayerPing(id)); return SendClientMessage(playerid,yellow,string); } else return SendClientMessage(playerid,red,"ERROR: You can not get the ping of a disconnected player."); } else return SendLevelErrorMessage(playerid,"ping"); } dcmd_explode(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"explode")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/EXPLODE \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"EXPLODE"); new string[256],xname[24],ActionName[24],Float:X,Float:Y,Float:Z; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(!IsPlayerInAnyVehicle(id)) GetPlayerPos(id,X,Y,Z); else GetVehiclePos(GetPlayerVehicleID(id),X,Y,Z); for(new i = 1; i <= 5; i++) CreateExplosion(X,Y,Z,10,0); if(id != playerid) { format(string,256,"You have been exploded by Administrator \"%s\".",xname); SendClientMessage(id,yellow,string); format(string,256,"You have exploded Player \"%s\".",ActionName); return SendClientMessage(playerid,yellow,string); } else return SendClientMessage(playerid,yellow,"You have exploded yourself."); } else return SendClientMessage(playerid,red,"ERROR: You can not explode a disconnected player."); } else return SendLevelErrorMessage(playerid,"explode"); } dcmd_settime(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"settime")) { new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index),tmp2 = strtok(params,Index),tmp3 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!strlen(tmp3)||!IsNumeric(tmp2)||!IsNumeric(tmp3)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETTIME \"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"SETTIME"); new xname[24],string[256],Hour[5],Minute[5],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); format(Hour,5,"%s%d",((strval(tmp2)<10)?("0"):("")),strval(tmp2)); format(Minute,5,"%s%d",((strval(tmp3)<10)?("0"):("")),strval(tmp3)); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your time to \'%s:%s\'.",xname,Hour,Minute); SendClientMessage(id,yellow,string); format(string,256,"You have set \"%s's\" time to \'%s:%s\'.",ActionName,Hour,Minute); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have set your time to \'%s:%s\'.",Hour,Minute); SendClientMessage(playerid,yellow,string); } return SetPlayerTime(id,strval(tmp2),strval(tmp3)); } else return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's time."); } else return SendLevelErrorMessage(playerid,"settime"); } dcmd_setalltime(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setalltime")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp)||!IsNumeric(tmp2)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETALLTIME \"."); SendCommandMessageToAdmins(playerid,"SETALLTIME"); new xname[24],string[256],Hour[5],Minute[5]; GetPlayerName(playerid,xname,24); format(Hour,5,"%s%d",((strval(tmp)<10)?("0"):("")),strval(tmp)); format(Minute,5,"%s%d",((strval(tmp2)<10)?("0"):("")),strval(tmp2)); format(string,256,"Administrator \"%s\" has set everyone's time to \'%s:%s\'.",xname,Hour,Minute); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,strval(tmp),strval(tmp2)); return SendClientMessageToAll(yellow,string); } else return SendLevelErrorMessage(playerid,"setalltime"); } dcmd_force(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"force")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/FORCE \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { SendCommandMessageToAdmins(playerid,"FORCE"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); ForceClassSelection(id); SetPlayerHealth(id,0); format(string,256,"Admnistrator \"%s\" has forced you to the spawn selection screen.",xname); SendClientMessage(id,yellow,string); format(string,256,"You have forced Player \"%s\" to the spawn selection screen.",ActionName); return SendClientMessage(playerid,yellow,string); } else return SendClientMessage(playerid,red,"ERROR: You can not force yourself or a disconnected player to the spawn selection screen."); } else return SendLevelErrorMessage(playerid,"force"); } dcmd_setwanted(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setwanted")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 0 && strval(tmp2) <= 6)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETWANTED <0-6>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"SETWANTED"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your wanted level to %d.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You set \"%s\'s\" wanted level to %d.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have set your wanted level to %d.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } return SetPlayerWantedLevel(id,strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's wanted level."); } else return SendLevelErrorMessage(playerid,"setwanted"); } dcmd_setallwanted(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setallwanted")) { if(!strlen(params)||!IsNumeric(params)||!(strval(params) >= 0 && strval(params) <= 6)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETALLWANTED <0-6>\"."); new xname[24],string[256]; GetPlayerName(playerid,xname,24); SendCommandMessageToAdmins(playerid,"SETALLWANTED"); format(string,256,"Administrator \"%s\" has set everyone's wanted level to %d.",xname,strval(params)); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerWantedLevel(i,strval(params)); return SendClientMessageToAll(yellow,string); } else return SendLevelErrorMessage(playerid,"setallwanted"); } dcmd_setworld(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setworld")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 0 && strval(tmp2) <= 255)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETWORLD \"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"SETWORLD"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your virtual world to %d.",xname,strval(tmp2)); SendClientMessage(id,yellow,string); format(string,256,"You set \"%s\'s\" virtual world to %d.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You have set your virtual world to %d.",strval(tmp2)); SendClientMessage(playerid,yellow,string); } return SetPlayerVirtualWorld(id,strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's virtual world."); } else return SendLevelErrorMessage(playerid,"setworld"); } dcmd_setallworld(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setallworld")) { if(!strlen(params)||!IsNumeric(params)||!(strval(params) >= 0 && strval(params) <= 255)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETALLWORLD \"."); new xname[24],string[256]; GetPlayerName(playerid,xname,24); SendCommandMessageToAdmins(playerid,"SETALLWORLD"); format(string,256,"Administrator \"%s\" has set everyone's virtual world to %d.",xname,strval(params)); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerVirtualWorld(i,strval(params)); return SendClientMessageToAll(yellow,string); } else return SendLevelErrorMessage(playerid,"setallworld"); } dcmd_setgravity(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setgravity")) { if(!strlen(params)||!(strval(params)<=50&&strval(params)>=-50)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETGRAVITY <-50.0 - 50.0>\"."); SendCommandMessageToAdmins(playerid,"SETGRAVITY"); new string[256],xname[24]; GetPlayerName(playerid,xname,24); new Float:Gravity = floatstr(params);format(string,256,"Admnistrator \"%s\" has set the gravity to: \'%f\'.",xname,Gravity); SetGravity(Gravity); return SendClientMessageToAll(yellow,string); } else return SendLevelErrorMessage(playerid,"setgravity"); } dcmd_carcolor(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"carcolor")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!(strval(tmp) >= 0 && strval(tmp) <= 126)||!IsNumeric(tmp)||!IsNumeric(tmp2)) return SendClientMessage(playerid,red,"Syntax Error: \"/CARCOLOR ()\"."); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,red,"ERROR: You must be in a vehicle."); SendCommandMessageToAdmins(playerid,"CARCOLOR"); if(!strlen(tmp2)) tmp2 = tmp; new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"You have set your color data to: [Color 1: %d || Color 2: %d]",strval(tmp),strval(tmp2)); return ChangeVehicleColor(GetPlayerVehicleID(playerid),strval(tmp),strval(tmp2)); } else return SendLevelErrorMessage(playerid,"carcolor"); } dcmd_gmx(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"gmx")) { SendCommandMessageToAdmins(playerid,"GMX"); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Administrator \"%s\" has restarted the game mode.",xname); SendClientMessageToAll(yellow,string); return GameModeExit(); } else return SendLevelErrorMessage(playerid,"gmx"); } dcmd_carhealth(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"carhealth")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)||!IsNumeric(tmp2)||!(strval(tmp2) >= 0 && strval(tmp2) <= 1000)) return SendClientMessage(playerid,red,"Syntax Error: \"/CARHEALTH <0-1000>\"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { if(!IsPlayerInAnyVehicle(id)) return SendClientMessage(playerid,red,"ERROR: This player must be in a vehicle."); SendCommandMessageToAdmins(playerid,"CARHEALTH"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your car's health to %.f percent.",xname,floatdiv(strval(tmp2),10)); SendClientMessage(id,yellow,string); format(string,256,"You have set \"%s's\" car's health to %d percent.",ActionName,strval(tmp2)); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You've set your car's health to %.f percent.",floatdiv(strval(tmp2),10)); SendClientMessage(playerid,yellow,string); } return SetVehicleHealth(GetPlayerVehicleID(id),strval(tmp2)); } return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's car health."); } else return SendLevelErrorMessage(playerid,"carhealth"); } dcmd_xinfo(playerid,params[]) { #pragma unused params return SendClientMessage(playerid,green,"X-Treme Administration Info: [Creator: Xtreme || Version: 2.2 || Release: 1 || Rel. Date: Sept. 13, 2007]"); } dcmd_setping(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setping")) { if(!strlen(params)||!(strval(params) >= 0 && strval(params) <= 10000)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETPING <[0 / OFF] - 10,000>\"."); if(!IsNumeric(params)) { if(!strcmp(params,"off",true)) { Config[MaxPing] = 0; SetConfigInt("MaxPing",0); } else return SendClientMessage(playerid,red,"Syntax Error: \"/SETPING <[0 / OFF] - 10,000>\"."); } Config[MaxPing] = strval(params); SetConfigInt("MaxPing",strval(params)); SendCommandMessageToAdmins(playerid,"SETPING"); new string[256],xname[24],Fo[30]; GetPlayerName(playerid,xname,24); format(Fo,30,"to %d",Config[MaxPing]); if(!Config[MaxPing]) Fo = "off"; format(string,256,"Administrator \"%s\" has set the Maximum Ping %s.",xname,Fo); return SendClientMessageToAll(yellow,string); } else return SendLevelErrorMessage(playerid,"setping"); } dcmd_givecar(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"givecar")) { if(Spec[playerid][Spectating]) return SendClientMessage(playerid,red,"ERROR: You must not be spectating."); if(IsPlayerInAnyVehicle(playerid)) { new Car = GetPlayerVehicleID(playerid), Model = GetVehicleModel(Car); switch(Model) { case 448,461,462,463,468,471,509,510,521,522,523,581,586: return SendClientMessage(playerid,red,"ERROR: You can not add components to bikes!"); } TogglePlayerControllable(playerid,false); SetCameraBehindPlayer(playerid); return ShowMenuForPlayer(GiveCar,playerid); } else return SendClientMessage(playerid,red,"ERROR: You must be in a vehicle."); } else return SendLevelErrorMessage(playerid,"givecar"); } dcmd_xspec(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"xspec")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/XSPEC \"."); new id; if(!IsNumeric(params)) { if(!strcmp(params,"off",true)) { if(!Spec[playerid][Spectating]) return SendClientMessage(playerid,red,"ERROR: You must be spectating."); SendCommandMessageToAdmins(playerid,"XSPEC"); TogglePlayerSpectating(playerid,false); Spec[playerid][Spectating] = false; return SendClientMessage(playerid,yellow,"You have turned your spectator mode off."); } id = ReturnPlayerID(params); } else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { SendCommandMessageToAdmins(playerid,"SPEC"); new string[256],xname[24]; GetPlayerName(id,xname,24); if(Spec[id][Spectating]) return SendClientMessage(playerid,red,"Error: You can not spectate a player already spectating."); if(Spec[playerid][Spectating] && Spec[playerid][SpectateID] == id) return SendClientMessage(playerid,red,"ERROR: You are already spectating this player."); Spec[playerid][Spectating] = true, Spec[playerid][SpectateID] = id; SetPlayerInterior(playerid,GetPlayerInterior(id)); TogglePlayerSpectating(playerid,true); if(!IsPlayerInAnyVehicle(id)) PlayerSpectatePlayer(playerid,id); else PlayerSpectateVehicle(playerid,GetPlayerVehicleID(id)); format(string,256,"You are now spectating player \"%s\".",xname); return SendClientMessage(playerid,yellow,string); } else return SendClientMessage(playerid,red,"ERROR: You can not spectate yourself or a disconnected player."); } else return SendLevelErrorMessage(playerid,"spec"); } dcmd_xjail(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"xjail")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/XJAIL \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { if(Variables[id][Jailed]) return SendClientMessage(playerid,red,"ERROR: This player has already been jailed."); SendCommandMessageToAdmins(playerid,"XJAIL"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); format(string,256,"Administrator \"%s\" has jailed you.",xname); SendClientMessage(id,yellow,string); format(string,256,"You have jailed \"%s\".",ActionName); SendClientMessage(playerid,yellow,string); SetUserInt(id,"Jailed",1); Variables[id][Jailed] = true; SetPlayerInterior(id,3); SetPlayerPos(id,197.6661,173.8179,1003.0234); return SetPlayerFacingAngle(id,0); } return SendClientMessage(playerid,red,"ERROR: You can not jail yourself or a disconnected player."); } else return SendLevelErrorMessage(playerid,"xjail"); } dcmd_xunjail(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"xunjail")) { if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/XUNJAIL \"."); new id; if(!IsNumeric(params)) id = ReturnPlayerID(params); else id = strval(params); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) { if(!Variables[id][Jailed]) return SendClientMessage(playerid,red,"ERROR: This player has already been unjailed."); SendCommandMessageToAdmins(playerid,"XUNJAIL"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has unjailed you.",xname); SendClientMessage(id,yellow,string); format(string,256,"You have unjailed \"%s\".",ActionName); SendClientMessage(playerid,yellow,string); } else SendClientMessage(playerid,yellow,"You have unjailed yourself."); SetUserInt(id,"Jailed",0); Variables[id][Jailed] = false; return SpawnPlayer(id); } return SendClientMessage(playerid,red,"ERROR: You can not unjail a disconnected player."); } else return SendLevelErrorMessage(playerid,"xunjail"); } dcmd_setname(playerid,params[]) { if(IsPlayerCommandLevel(playerid,"setname")) { new tmp[256],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); if(!strlen(tmp)||!strlen(tmp2)) return SendClientMessage(playerid,red,"Syntax Error: \"/SETNAME \"."); new id; if(!IsNumeric(tmp)) id = ReturnPlayerID(tmp); else id = strval(tmp); if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID) { SendCommandMessageToAdmins(playerid,"SETNAME"); new string[256],xname[24],ActionName[24]; GetPlayerName(playerid,xname,24); GetPlayerName(id,ActionName,24); if(id != playerid) { format(string,256,"Administrator \"%s\" has set your name to %s.",xname,tmp2); SendClientMessage(id,yellow,string); format(string,256,"You have set \"%s's\" name to %s.",ActionName,tmp2); SendClientMessage(playerid,yellow,string); } else { format(string,256,"You've set your name to %s.",tmp2); SendClientMessage(playerid,yellow,string); } OnPlayerConnect(id); return SetPlayerName(id,tmp2); } return SendClientMessage(playerid,red,"ERROR: You can not set a disconnected player's name."); } else return SendLevelErrorMessage(playerid,"setname"); } dcmd_admins(playerid,params[]) { #pragma unused params new ACount,i,xname[24],string[256]; for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerXAdmin(i)) ACount++; if(!ACount) return SendClientMessage(playerid,green,"Admins Online: None"); if(ACount == 1) { for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerXAdmin(i)) break; GetPlayerName(i,xname,24); format(string,256,"Admins Online: %s (%d)",xname,Variables[i][Level]); return SendClientMessage(playerid,green,string); } if(ACount >= 1) { new bool:First = false; for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerXAdmin(i)) { GetPlayerName(i,xname,24); if(!First) { format(string,256,"Admins Online: %s (%d),",xname,Variables[i][Level]); First = true; } else format(string,256,"%s %s (%d)",string,xname,Variables[i][Level]); } return SendClientMessage(playerid,green,string); } return 1; } dcmd_xcommands(playerid,params[]) { #pragma unused params if(!IsPlayerXAdmin(playerid)) return SendClientMessage(playerid,red,"ERROR: You must be an administrator to view these commands."); SendClientMessage(playerid,COLOR_LIGHTBLUE,"-=Xtreme's Administration Commands=-"); SendClientMessage(playerid,yellow,"Environment: /weather - /morning - /afternoon - /evening - /midnight - /set(all)time - /say - /set(all)world - /setgravity"); SendClientMessage(playerid,yellow,"Player: /goto - /gethere - /slap - /(un)wire - /kick - /ban - /akill - /(un)freeze(all) - /healall - /give(all)weapon - /force"); SendClientMessage(playerid,yellow," /givehealth - /sethealth - /skinall- /armourall - /outside - /resetallweapons - /set/give/rem/reset(all)cash - /ip"); SendClientMessage(playerid,yellow," /setskin - /givearmour - /setarmour - /setammo - /setscore - /ping - /explode - /setname - /set(all)wanted"); SendClientMessage(playerid,yellow,"Vehicle: /flip - /eject(all) - /givecar - /carcolor - /carhealth - /x(un)lock"); return SendClientMessage(playerid,yellow,"Console: /resetscores - /announce - /setsm - /setlevel - /god - /uconfig - /setping - /gmx - /xspec"); } dcmd_vr(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"vr")) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,red,"ERROR: You must be in a vehicle to repair."); SetVehicleHealth(GetPlayerVehicleID(playerid),1000.0); return SendClientMessage(playerid,yellow,"You have successfully repaired your vehicle!"); } else return SendLevelErrorMessage(playerid,"vr"); } dcmd_weather(playerid,params[]) { #pragma unused params if(IsPlayerCommandLevel(playerid,"weather")) { TogglePlayerControllable(playerid,false); SetCameraBehindPlayer(playerid); return ShowMenuForPlayer(Weather,playerid); } else return SendLevelErrorMessage(playerid,"weather"); } dcmd_giveadmin(playerid,params[]) { #pragma unused params if(IsPlayerAdmin(playerid)) { SetUserInt(playerid,"Level",10); Variables[playerid][Level] = 10; PlayerInfo[playerid][admin] = 10; return SendClientMessage(playerid,yellow,"You have set yourself as a level 10 admin!"); } else return SendClientMessage(playerid,red,"You must be a rcon admin to use this!"); } //================================Race Commands================================= dcmd_racehelp(playerid, params[]) { #pragma unused params SendClientMessage(playerid, COLOR_GREEN, "Yagu's race script racing help:"); SendClientMessage(playerid, COLOR_WHITE, "/loadrace [name] to load a track and start it."); SendClientMessage(playerid, COLOR_WHITE, "/join to join a race"); SendClientMessage(playerid, COLOR_WHITE, "/ready to begin the race once others are also ready"); SendClientMessage(playerid, COLOR_WHITE, "/leave to leave the race"); SendClientMessage(playerid, COLOR_WHITE, "/endrace to abort the race"); SendClientMessage(playerid, COLOR_WHITE, "/bestlap and /bestrace to display record times for races, or specify a race to see the times for it"); SendClientMessage(playerid, COLOR_WHITE, "/buildhelp for info on builing race"); SendClientMessage(playerid, COLOR_WHITE, "/raceadmin for admin settings"); return 1; } dcmd_buildhelp(playerid, params[]) { #pragma unused params SendClientMessage(playerid, COLOR_GREEN, "Yagu's race script building help:"); SendClientMessage(playerid, COLOR_WHITE, "/buildrace to start building a race"); SendClientMessage(playerid, COLOR_WHITE, "/cp for a new checkpoint - /scp to select an old checkpoint"); SendClientMessage(playerid, COLOR_WHITE, "/dcp to delete a checkpoint - /mcp to move a checkpoint"); SendClientMessage(playerid, COLOR_WHITE, "/rcp to replace checkpoint with a new one"); SendClientMessage(playerid, COLOR_WHITE, "/editrace to load a race in the editor"); SendClientMessage(playerid, COLOR_WHITE, "/saverace [name] to save the race"); SendClientMessage(playerid, COLOR_WHITE, "/buildmenu to set racemode/laps/etc"); SendClientMessage(playerid, COLOR_WHITE, "/racehelp for info on racing itself"); SendClientMessage(playerid, COLOR_WHITE, "/raceadmin for admin settings"); return 1; } dcmd_buildrace(playerid, params[]) { #pragma unused params if(BuildAdmin == 1 && IsNotAdmin(playerid)) return 1; if(RaceBuilders[playerid] != 0) { SendClientMessage(playerid, COLOR_YELLOW, "You are already building a race."); } else if(RaceParticipant[playerid]>0) { SendClientMessage(playerid, COLOR_YELLOW, "You are participating in a race, can't build a race."); } else { new slot; slot=GetBuilderSlot(playerid); if(slot == 0) { SendClientMessage(playerid, COLOR_YELLOW, "No builderslots available!"); return 1; } format(ystring,sizeof(ystring),"You are now building a race (Slot: %d)",slot); SendClientMessage(playerid, COLOR_GREEN, ystring); RaceBuilders[playerid]=slot; BCurrentCheckpoints[b(playerid)]=0; Bracemode[b(playerid)]=0; Blaps[b(playerid)]=0; BAirrace[b(playerid)] = 0; BCPsize[b(playerid)] = 8.0; } return 1; } dcmd_cp(playerid, params[]) { #pragma unused params if(RaceBuilders[playerid] != 0 && BCurrentCheckpoints[b(playerid)] < MAX_RACECHECKPOINTS) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); format(ystring,sizeof(ystring),"Checkpoint %d created: %f,%f,%f.",BCurrentCheckpoints[b(playerid)],x,y,z); SendClientMessage(playerid, COLOR_GREEN, ystring); BRaceCheckpoints[b(playerid)][BCurrentCheckpoints[b(playerid)]][0]=x; BRaceCheckpoints[b(playerid)][BCurrentCheckpoints[b(playerid)]][1]=y; BRaceCheckpoints[b(playerid)][BCurrentCheckpoints[b(playerid)]][2]=z; BSelectedCheckpoint[b(playerid)]=BCurrentCheckpoints[b(playerid)]; SetBRaceCheckpoint(playerid,BCurrentCheckpoints[b(playerid)],-1); BCurrentCheckpoints[b(playerid)]++; } else if(RaceBuilders[playerid] != 0 && BCurrentCheckpoints[b(playerid)] == MAX_RACECHECKPOINTS) { format(ystring,sizeof(ystring),"Sorry, maximum amount of checkpoints reached (%d).",MAX_RACECHECKPOINTS); SendClientMessage(playerid, COLOR_YELLOW, ystring); } else { SendClientMessage(playerid, COLOR_RED, "You are not building a race!"); } return 1; } dcmd_scp(playerid, params[]) { new sele, tmp[256], idx; tmp = rstrtok(params, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /scp [checkpoint]"); return 1; } sele = strval(tmp); if(RaceBuilders[playerid] != 0) { if(sele>BCurrentCheckpoints[b(playerid)]-1 || BCurrentCheckpoints[b(playerid)] < 1 || sele < 0) { SendClientMessage(playerid, COLOR_YELLOW, "Invalid checkpoint!"); return 1; } format(ystring,sizeof(ystring),"Selected checkpoint %d.",sele); SendClientMessage(playerid, COLOR_GREEN, ystring); BActiveCP(playerid,sele); BSelectedCheckpoint[b(playerid)]=sele; } else { SendClientMessage(playerid, COLOR_RED, "You are not building a race!"); } return 1; } dcmd_rcp(playerid, params[]) { #pragma unused params if(RaceBuilders[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "You are not building a race!"); return 1; } else if(BCurrentCheckpoints[b(playerid)] < 1) { SendClientMessage(playerid, COLOR_YELLOW, "No checkpoint to replace!"); return 1; } new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); format(ystring,sizeof(ystring),"Checkpoint %d replaced: %f,%f,%f.",BSelectedCheckpoint[b(playerid)],x,y,z); SendClientMessage(playerid, COLOR_GREEN, ystring); BRaceCheckpoints[b(playerid)][BSelectedCheckpoint[b(playerid)]][0]=x; BRaceCheckpoints[b(playerid)][BSelectedCheckpoint[b(playerid)]][1]=y; BRaceCheckpoints[b(playerid)][BSelectedCheckpoint[b(playerid)]][2]=z; BActiveCP(playerid,BSelectedCheckpoint[b(playerid)]); return 1; } dcmd_mcp(playerid, params[]) { if(RaceBuilders[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "You are not building a race!"); return 1; } else if(BCurrentCheckpoints[b(playerid)] < 1) { SendClientMessage(playerid, COLOR_YELLOW, "No checkpoint to move!"); return 1; } new idx, direction, dir[32]; dir=rstrtok(params, idx); new Float:amount=floatstr(rstrtok(params,idx)); if(amount == 0.0 || (dir[0] != 'x' && dir[0]!='y' && dir[0]!='z')) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /mcp [x,y or z] [amount]"); return 1; } if(dir[0] == 'x') direction=0; else if (dir[0] == 'y') direction=1; else if (dir[0] == 'z') direction=2; BRaceCheckpoints[b(playerid)][BSelectedCheckpoint[b(playerid)]][direction]=BRaceCheckpoints[b(playerid)][BSelectedCheckpoint[b(playerid)]][direction]+amount; BActiveCP(playerid,BSelectedCheckpoint[b(playerid)]); return 1; } dcmd_dcp(playerid, params[]) { #pragma unused params if(RaceBuilders[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "You are not building a race!"); return 1; } else if(BCurrentCheckpoints[b(playerid)] < 1) { SendClientMessage(playerid, COLOR_YELLOW, "No checkpoint to delete!"); return 1; } for(new i=BSelectedCheckpoint[b(playerid)];i0) //Clear the old race if there is such. { for(new i=0;i RACEFILE_VERSION) // Check if the race is made with a newer version of the racefile format { format(ystring,128,"Race \'%s\' is created with a newer version of YRACE, unable to load.",tmp); SendClientMessage(playerid,COLOR_RED,ystring); return 1; } rstrtok(templine,i); // read off RACEBUILDER Bracemode[b(playerid)] = strval(rstrtok(templine,i)); // read off racemode Blaps[b(playerid)] = strval(rstrtok(templine,i)); // read off amount of laps if(fileversion >= 2) { BAirrace[b(playerid)] = strval(rstrtok(templine,i)); BCPsize[b(playerid)] = floatstr(rstrtok(templine,i)); } else { BAirrace[b(playerid)] = 0; BCPsize[b(playerid)] = 8.0; } fread(f,templine,sizeof(templine)); // read off best race times, not saved due to editing the track fread(f,templine,sizeof(templine)); // read off best lap times, -||- } else //Otherwise add the lines as checkpoints, the file is made with v0.1 (or older) version of the script. { BCurrentCheckpoints[b(playerid)]++; BRaceCheckpoints[b(playerid)][BCurrentCheckpoints[b(playerid)]][0] = floatstr(rstrtok(templine,i)); BRaceCheckpoints[b(playerid)][BCurrentCheckpoints[b(playerid)]][1] = floatstr(rstrtok(templine,i)); BRaceCheckpoints[b(playerid)][BCurrentCheckpoints[b(playerid)]][2] = floatstr(rstrtok(templine,i)); } while(fread(f,templine,sizeof(templine),false)) { BCurrentCheckpoints[b(playerid)]++; i=0; BRaceCheckpoints[b(playerid)][BCurrentCheckpoints[b(playerid)]][0] = floatstr(rstrtok(templine,i)); BRaceCheckpoints[b(playerid)][BCurrentCheckpoints[b(playerid)]][1] = floatstr(rstrtok(templine,i)); BRaceCheckpoints[b(playerid)][BCurrentCheckpoints[b(playerid)]][2] = floatstr(rstrtok(templine,i)); } fclose(f); BCurrentCheckpoints[b(playerid)]++; // # of next CP to be created format(ystring,sizeof(ystring),"Race \"%s\" has been loaded for editing. (%d checkpoints)",tmp,BCurrentCheckpoints[b(playerid)]); SendClientMessage(playerid, COLOR_GREEN,ystring); return 1; } dcmd_saverace(playerid, params[]) { if(RaceBuilders[playerid] != 0) { new tmp[256], idx; tmp = rstrtok(params, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /saverace [name]"); return 1; } if(BCurrentCheckpoints[b(playerid)] < 2) { SendClientMessage(playerid, COLOR_YELLOW, "You need atleast 2 checkpoints to save!"); return 1; } new race_name[32],templine[42]; format(race_name, 32, "%s.yr",tmp); if(fexist(race_name)) { format(ystring,sizeof(ystring), "Race \"%s\" already exists.",tmp); SendClientMessage(playerid, COLOR_RED, ystring); return 1; } new File:f,Float:x,Float:y,Float:z, Bcreator[MAX_PLAYER_NAME]; GetPlayerName(playerid, Bcreator, MAX_PLAYER_NAME); f = fopen(race_name,io_write); format(templine,sizeof(templine),"YRACE %d %s %d %d %d %f\n", RACEFILE_VERSION, Bcreator, Bracemode[b(playerid)], Blaps[b(playerid)], BAirrace[b(playerid)], BCPsize[b(playerid)]); fwrite(f,templine); format(templine,sizeof(templine),"A 0 A 0 A 0 A 0 A 0\n"); //Best complete race times fwrite(f,templine); format(templine,sizeof(templine),"A 0 A 0 A 0 A 0 A 0\n"); //Best lap times fwrite(f,templine); for(new i = 0; i < BCurrentCheckpoints[b(playerid)];i++) { x=BRaceCheckpoints[b(playerid)][i][0]; y=BRaceCheckpoints[b(playerid)][i][1]; z=BRaceCheckpoints[b(playerid)][i][2]; format(templine,sizeof(templine),"%f %f %f\n",x,y,z); fwrite(f,templine); } fclose(f); format(ystring,sizeof(ystring),"Your race \"%s\" has been saved.",tmp); SendClientMessage(playerid, COLOR_GREEN, ystring); } else { SendClientMessage(playerid, COLOR_RED, "You are not building a race!"); } return 1; } dcmd_setlaps(playerid,params[]) { new tmp[256], idx; tmp = rstrtok(params, idx); if(!strlen(tmp) || strval(tmp) <= 0) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setlaps [amount of laps (min: 1)]"); return 1; } if(RaceBuilders[playerid] != 0) { Blaps[b(playerid)] = strval(tmp); format(tmp,sizeof(tmp),"Amount of laps set to %d.", Blaps[b(playerid)]); SendClientMessage(playerid, COLOR_GREEN, tmp); return 1; } if(RaceAdmin == 1 && IsNotAdmin(playerid)) return 1; if(RaceActive == 1 || RaceStart == 1) SendClientMessage(playerid, COLOR_RED, "Race already in progress!"); else if(LCurrentCheckpoint == 0) SendClientMessage(playerid, COLOR_YELLOW, "No race loaded."); else { Racelaps=strval(tmp); format(tmp,sizeof(tmp),"Amount of laps set to %d for current race.", Racelaps); SendClientMessage(playerid, COLOR_GREEN, tmp); } return 1; } dcmd_racemode(playerid,params[]) { new tmp[256], idx, tempmode; tmp = rstrtok(params, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /racemode [0/1/2/3]"); return 1; } if(tmp[0] == 'd') tempmode=0; else if(tmp[0] == 'r') tempmode=1; else if(tmp[0] == 'y') tempmode=2; else if(tmp[0] == 'm') tempmode=3; else tempmode=strval(tmp); if (0 > tempmode || tempmode > 3) { SendClientMessage(playerid, COLOR_YELLOW, "Invalid racemode!"); return 1; } if(RaceBuilders[playerid] != 0) { if(tempmode == 2 && BCurrentCheckpoints[b(playerid)] < 3) { SendClientMessage(playerid, COLOR_YELLOW, "Can't set racemode 2 on races with only 2 CPs. Changing to mode 1 instead."); Bracemode[b(playerid)] = 1; return 1; } Bracemode[b(playerid)] = tempmode; format(tmp,sizeof(tmp),"Racemode set to %d.", Bracemode[b(playerid)]); SendClientMessage(playerid, COLOR_GREEN, tmp); return 1; } if(RaceAdmin == 1 && IsNotAdmin(playerid)) return 1; if(RaceActive == 1 || RaceStart == 1) SendClientMessage(playerid, COLOR_RED, "Race already in progress!"); else if(LCurrentCheckpoint == 0) SendClientMessage(playerid, COLOR_YELLOW, "No race loaded."); else { if(tempmode == 2 && LCurrentCheckpoint < 2) { SendClientMessage(playerid, COLOR_YELLOW, "Can't set racemode 2 on races with only 2 CPs. Changing to mode 1 instead."); Racemode = 1; return 1; } Racemode=tempmode; format(tmp,sizeof(tmp),"Racemode set to %d.", Racemode); SendClientMessage(playerid, COLOR_GREEN, tmp); } return 1; } dcmd_loadrace(playerid, params[]) { if(RaceAdmin == 1 && IsNotAdmin(playerid)) return 1; Racemode = 0; Racelaps = 1; new tmp[128], idx, fback; tmp = rstrtok(params, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /loadrace [name]"); return 1; } if(RaceActive == 1) { SendClientMessage(playerid, COLOR_RED, "A race is already active!"); return 1; } fback=LoadRace(tmp); if(fback == -1) format(ystring,sizeof(ystring),"Race \'%s\' doesn't exist!",tmp); else if (fback == -2) format(ystring,sizeof(ystring),"Race \'%s\' is created with a newer version of YRACE, cannot load.",tmp); if(fback < 0) { SendClientMessage(playerid,COLOR_RED,ystring); return 1; } format(ystring,sizeof(ystring),"Race \'%s\' loaded, /startrace to start it. You can change laps and mode before that.",CRaceName); SendClientMessage(playerid,COLOR_GREEN,ystring); if(LCurrentCheckpoint<2 && Racemode == 2) { Racemode = 1; // Racemode 2 doesn't work well with only 2CPs, and mode 1 is just the same when playing with 2 CPs. } // Setting racemode 2 is prevented from racebuilder so this shouldn't happen anyways. #if defined MENUSYSTEM if(!IsValidMenu(MRace)) CreateRaceMenus(); if(Airrace == 0) SetMenuColumnHeader(MRace,0,"Air race: off"); else SetMenuColumnHeader(MRace,0,"Air race: ON"); TogglePlayerControllable(playerid,0); ShowMenuForPlayer(MRace,playerid); #endif return 1; } dcmd_startrace(playerid, params[]) { #pragma unused params if(RaceAdmin == 1 && IsNotAdmin(playerid)) return 1; if(LCurrentCheckpoint == 0) SendClientMessage(playerid,COLOR_YELLOW,"No race loaded!"); else if (RaceActive == 1) SendClientMessage(playerid,COLOR_YELLOW,"Race is already active!"); else startrace(); return 1; } dcmd_deleterace(playerid, params[]) { if((RaceAdmin == 1 || BuildAdmin == 1) && IsNotAdmin(playerid)) return 1; new filename[128], idx; filename = rstrtok(params,idx); if(!(strlen(filename))) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /deleterace [race]"); return 1; } format(filename,sizeof(filename),"%s.yr",filename); if(!fexist(filename)) { format(ystring,sizeof(ystring), "The race \"%s\" doesn't exist.",filename); SendClientMessage(playerid, COLOR_RED, ystring); return 1; } fremove(filename); format(ystring,sizeof(ystring), "The race \"%s\" has been deleted.",filename); SendClientMessage(playerid, COLOR_GREEN, ystring); return 1; } dcmd_join(playerid,params[]) { #pragma unused params if(RaceBuilders[playerid] != 0) { SendClientMessage(playerid, COLOR_YELLOW, "You are currently building a race, can't join. Use /clearrace to exit build mode."); return 1; } if(RaceParticipant[playerid]>0) { SendClientMessage(playerid, COLOR_YELLOW, "You've already joined the race!"); } else if(RaceActive==1 && RaceStart==0) { if(PrizeMode >= 2 && GetPlayerMoney(playerid) < JoinFee) { format(ystring,sizeof(ystring),"You don't have enough money to join the race! (Join fee: %d$)",JoinFee); SendClientMessage(playerid, COLOR_YELLOW, ystring); return 1; } else if (PrizeMode >= 2) { new tempval; tempval=(-1)*JoinFee; GivePlayerMoney(playerid,tempval); Pot+=JoinFee; } CurrentCheckpoint[playerid]=0; if(Racemode == 3) { SetRaceCheckpoint(playerid,LCurrentCheckpoint,LCurrentCheckpoint-1); CurrentCheckpoint[playerid]=LCurrentCheckpoint; } else SetRaceCheckpoint(playerid,0,1); RaceParticipant[playerid]=1; CurrentLap[playerid]=0; SendClientMessage(playerid, COLOR_GREEN, "You have joined the race, go to the start!"); Participants++; } else if(RaceActive==1 && RaceStart==1) { SendClientMessage(playerid, COLOR_YELLOW, "The race has already started, can't join."); } else { SendClientMessage(playerid, COLOR_YELLOW, "There is no race you can join."); } return 1; } dcmd_leave(playerid,params[]) { #pragma unused params if(RaceParticipant[playerid] > 0) { if(RaceParticipant[playerid]==3 && RaceStart == 1) //Countdown in progress, no leaving during it. { SendClientMessage(playerid,COLOR_RED,"Unable to leave at this time: Countdown in progress."); return 1; } DisablePlayerRaceCheckpoint(playerid); RaceParticipant[playerid]=0; Participants--; SendClientMessage(playerid,COLOR_YELLOW,"You have left the race."); if(PrizeMode >= 2 && RaceStart == 0) { GivePlayerMoney(playerid,JoinFee/2); Pot-=JoinFee/2; } if(Participants == 0) endrace(); else if(RaceStart == 0)ReadyRefresh(); } else SendClientMessage(playerid, COLOR_YELLOW, "You aren't in a race."); return 1; } dcmd_endrace(playerid, params[]) { #pragma unused params if(RaceAdmin == 1 && IsNotAdmin(playerid)) return 1; if(RaceActive==0) { SendClientMessage(playerid, COLOR_YELLOW, "There is no race active."); return 1; } endrace(); return 1; } dcmd_ready(playerid, params[]) { #pragma unused params new PState=GetPlayerState(playerid); if(RaceParticipant[playerid]==2 && PState != PLAYER_STATE_PASSENGER) { SendClientMessage(playerid,COLOR_GREEN,"You are now ready. Type /ready again to cancel."); RaceParticipant[playerid]=3; ReadyRefresh(); } else if (RaceParticipant[playerid]==3 && RaceStart==0) { SendClientMessage(playerid,COLOR_YELLOW,"You are now not ready. Type /ready when you are."); RaceParticipant[playerid]=2; } else if (PState == PLAYER_STATE_PASSENGER) SendClientMessage(playerid,COLOR_YELLOW,"You need to be driving for yourself!"); else if(RaceParticipant[playerid] == 1) SendClientMessage(playerid,COLOR_YELLOW,"You must have visited the starting CP to /ready."); else SendClientMessage(playerid,COLOR_YELLOW,"You have not participated in a race."); return 1; } dcmd_bestlap(playerid,params[]) { new tmp[64], idx; tmp = rstrtok(params, idx); if(LoadTimes(playerid,1,tmp)) return 1; if(TopLapTimes[0] == 0) { SendClientMessage(playerid,COLOR_YELLOW,"No scores available."); return 1; } else if(ORacemode == 0) { SendClientMessage(playerid,COLOR_YELLOW,"This race doesn't have any laps."); return 1; } format(ystring,sizeof(ystring),"%s by %s - Best Laps:",CRaceName,CBuilder); SendClientMessage(playerid,COLOR_GREEN,ystring); for(new i;i<5;i++) { if(TopLapTimes[i] == 0) { format(ystring,sizeof(ystring),"%d. None yet",i+1); i=6; } else { format(ystring,sizeof(ystring),"%d. %s - %s",i+1,BeHuman(TopLapTimes[i]),TopLappers[i]); } SendClientMessage(playerid,COLOR_GREEN,ystring); } return 1; } dcmd_bestrace(playerid,params[]) { new tmp[64], idx; tmp = rstrtok(params, idx); if(LoadTimes(playerid,0,tmp)) return 1; if(TopRacerTimes[0] == 0) { SendClientMessage(playerid,COLOR_YELLOW,"No scores available."); return 1; } format(ystring,sizeof(ystring),"%s by %s - Best Race times:",CRaceName,CBuilder); SendClientMessage(playerid,COLOR_GREEN,ystring); for(new i;i<5;i++) { if(TopRacerTimes[i] == 0) { format(ystring,sizeof(ystring),"%d. None yet",i+1); i=6; } else { format(ystring,sizeof(ystring),"%d. %s - %s",i+1,BeHuman(TopRacerTimes[i]),TopRacers[i]); } SendClientMessage(playerid,COLOR_GREEN,ystring); } return 1; } dcmd_airrace(playerid,params[]) { #pragma unused params if(RaceBuilders[playerid] != 0) { if(BAirrace[b(playerid)] == 0) { SendClientMessage(playerid,COLOR_GREEN,"Air race enabled."); BAirrace[b(playerid)]=1; } else { SendClientMessage(playerid,COLOR_GREEN,"Air race disabled."); BAirrace[b(playerid)]=0; } return 1; } if(RaceAdmin == 1 && IsNotAdmin(playerid)) return 1; if(RaceActive == 1 || RaceStart == 1) SendClientMessage(playerid, COLOR_YELLOW, "Race is already in progress!"); else if(LCurrentCheckpoint == 0) SendClientMessage(playerid, COLOR_YELLOW, "No race loaded!"); else if(Airrace == 0) { SendClientMessage(playerid,COLOR_GREEN,"Air race enabled."); Airrace = 1; } else if(Airrace == 1) { SendClientMessage(playerid,COLOR_GREEN,"Air race disabled."); Airrace = 0; } else printf("Error in /airrace detected. RaceActive: %d, RaceStart: %d LCurrentCheckpoint: %d, Airrace: %d", RaceActive,RaceStart,LCurrentCheckpoint,Airrace); return 1; } dcmd_cpsize(playerid,params[]) { new idx, tmp[32]; tmp = rstrtok(params,idx); if(!(strlen(tmp)) || floatstr(tmp) <= 0.0) { SendClientMessage(playerid,COLOR_WHITE,"USAGE: /cpsize [size]"); return 1; } if(RaceBuilders[playerid] != 0) { BCPsize[b(playerid)] = floatstr(tmp); format(ystring,sizeof(ystring),"Checkpoint size set to %f",floatstr(tmp)); SendClientMessage(playerid,COLOR_GREEN,ystring); return 1; } if(RaceAdmin == 1 && IsNotAdmin(playerid)) return 1; if(RaceActive == 1) SendClientMessage(playerid, COLOR_YELLOW, "Race has already been activated!"); else if(LCurrentCheckpoint == 0) SendClientMessage(playerid, COLOR_YELLOW, "No race loaded!"); else { CPsize = floatstr(tmp); format(ystring,sizeof(ystring),"Checkpoint size set to %f",floatstr(tmp)); SendClientMessage(playerid,COLOR_GREEN,ystring); } return 1; } dcmd_prizemode(playerid,params[]) { if(IsNotAdmin(playerid)) return 1; new idx, tmp; tmp=strval(rstrtok(params,idx)); if(tmp < 0 || tmp > 4) SendClientMessage(playerid,COLOR_WHITE,"USAGE: /prizemode [0-4]"); else if(RaceActive == 1) SendClientMessage(playerid,COLOR_YELLOW,"Race is already active!"); else { PrizeMode = tmp; format(ystring,sizeof(ystring),"Prizemode set to %d",PrizeMode); SendClientMessage(playerid,COLOR_GREEN,ystring); } return 1; } dcmd_setprize(playerid,params[]) { if(IsNotAdmin(playerid)) return 1; new idx, tmp; tmp = strval(rstrtok(params, idx)); if(0 >= tmp) SendClientMessage(playerid,COLOR_WHITE,"USAGE: /setprize [amount]"); else if(RaceActive == 1) SendClientMessage(playerid,COLOR_YELLOW,"Race is already active!"); else { Prize = tmp; format(ystring,sizeof(ystring),"Prize set to %d",Prize); SendClientMessage(playerid,COLOR_GREEN,ystring); } return 1; } #if defined MENUSYSTEM dcmd_raceadmin(playerid,params[]) { #pragma unused params if(IsNotAdmin(playerid)) return 1; if(!IsValidMenu(MAdmin)) CreateRaceMenus(); TogglePlayerControllable(playerid,0); ShowMenuForPlayer(MAdmin,playerid); return 1; } dcmd_buildmenu(playerid,params[]) { #pragma unused params if(BuildAdmin == 1 && IsNotAdmin(playerid)) return 1; if(RaceBuilders[playerid] == 0) { SendClientMessage(playerid,COLOR_YELLOW,"You are not building a race!"); return 1; } if(BAirrace[b(playerid)] == 0) SetMenuColumnHeader(MBuild,0,"Air race: off"); else SetMenuColumnHeader(MBuild,0,"Air race: on"); if(!IsValidMenu(MBuild)) CreateRaceMenus(); TogglePlayerControllable(playerid,0); ShowMenuForPlayer(MBuild,playerid); return 1; } #endif //=================================KIHC Stuff=================================== LoadPly(playerid,info[],value[]){ new filen[256],hpname[256]; GetPlayerName(playerid,hpname,255); format(filen,256,"%s.zip",hpname); new data[256]; new front; new len; if (fexist(filen)){} else{ new File:open = fopen(filen,io_write); fclose(open); } new File:Read = fopen(filen,io_read); fread(Read,data); len = strlen(data); front = strfind(data,info,true); if (front == -1){ return 0; } else{ strdel(data,0,front); front = strfind(data,"="); strdel(data,0,front); front = strfind(data,";"); strdel(data,0,1); strdel(data,front-1,len); format(value,sizeof(data),data); return 1; } } SavePly(playerid,info[],value[]){ new sta[256]; new filen[256],hpname[256]; GetPlayerName(playerid,hpname,255); format(filen,256,"%s.zip",hpname); if (fexist(filen)){} else{ new File:open = fopen(filen,io_write); fclose(open); } format(sta,256,"%s=",info); new data[256],fnd; new File:Check = fopen(filen,io_read); fread(Check,data); fclose(Check); fnd = strfind(data,sta); if(fnd ==-1){ new File:Read = fopen(filen,io_append); format(data,256,"%s=%s;",info,value); fwrite(Read,data); fclose(Read); ////print("meee"); } else{ new len,str; new hstring[256]; new File:Read = fopen(filen,io_read); fread(Read,data); ////print(data); str = strfind(data,info); len = strfind(data,";",true,str); strdel(data,str,len+1); ////print(data); format(hstring,256,"%s=%s;",info,value); strins(data,hstring,str); ////print(data); fclose(Read); new File:Write = fopen(filen,io_write); fwrite(Write,data); fclose(Write); ////print("me"); } } Loadpropertt(hpname[],info[],value[]){ new filen[256]; format(filen,256,"%s.zip",hpname); new data[256]; new front; new len; if (fexist(filen)){} else{ new File:open = fopen(filen,io_write); fclose(open); } new File:Read = fopen(filen,io_read); fread(Read,data); len = strlen(data); front = strfind(data,info,true); if (front == -1){ ////print("loop "); return 0; } else{ strdel(data,0,front); front = strfind(data,"="); strdel(data,0,front); front = strfind(data,";"); strdel(data,0,1); strdel(data,front-1,len); format(value,sizeof(data),data); ////print("loop "); return 1; } } Savepropertt(hpname[],info[],value[]){ new sta[256]; new filen[256]; format(filen,256,"%s.zip",hpname); format(sta,256,"%s=",info); new data[256],fnd; if (fexist(filen)){} else{ new File:open = fopen(filen,io_write); fclose(open); } new File:Check = fopen(filen,io_read); fread(Check,data); fclose(Check); fnd = strfind(data,sta); if(fnd ==-1){ new File:Read = fopen(filen,io_append); format(data,256,"%s=%s;",info,value); fwrite(Read,data); fclose(Read); ////print("meee"); } else{ new len,str; new hstring[256]; new File:Read = fopen(filen,io_read); fread(Read,data); ////print(data); str = strfind(data,info); len = strfind(data,";",true,str); strdel(data,str,len+1); ////print(data); format(hstring,256,"%s=%s;",info,value); strins(data,hstring,str); ////print(data); fclose(Read); new File:Write = fopen(filen,io_write); fwrite(Write,data); fclose(Write); ////print("me"); } } SetHouseCost(Houseid,hcost){ new str[256]; valstr(str,hcost); SetHouseInfo(Houseid,"cost",str); } MakeTenent1(playerid,Houseid){ ////print("MakeTenent1"); new str1[256],str2[256],d; new str3[100]; format(str3,100,"house%d",Houseid); d = 0; GetPlayerName(playerid,str2,256); Loadpropertt(str3,"Tenent1",str1); ////printf("%d",d); if (strcmp(str1,"none")==0){ d = 1; ////printf("%d",d); Savepropertt(str3,"Tenent1",str2); } Loadpropertt(str3,"Tenent2",str1); if (strcmp(str1,"none")==0 && d == 0){ d = 1;////printf("%d",d); Savepropertt(str3,"Tenent2",str2); } Loadpropertt(str3,"Tenent3",str1); if (strcmp(str1,"none")==0 && d == 0){ d = 1;////printf("%d",d); Savepropertt(str3,"Tenent3",str2); } Loadpropertt(str3,"Tenent4",str1); if (strcmp(str1,"none")==0 && d == 0){ d = 1;////printf("%d",d); Savepropertt(str3,"Tenent4",str2); } Loadpropertt(str3,"Tenent5",str1); if (strcmp(str1,"none")==0 && d == 0){ d = 1;////printf("%d",d); Savepropertt(str3,"Tenent5",str2); } if (d == 0){ ////printf("%d",d); GameTextForPlayer(playerid,"~r~There are no empty rooms AVAILABLE",5000,1); } else{ format(str3,100,"house%d",Houseid); Loadpropertt(str3,"Rent",str2); new hcost = strval(str2); GivePlayerMoney(playerid,-hcost); GivePlayerMoney(playerid,-hcost); GameTextForPlayer(playerid,"~g~Congrats for you new house.",5000,1); } } SetPlayerInHouse(playerid,Houseid){ PIH1[playerid] = Houseid; SetPlayerPos(playerid,HIX1[Houseid],HIY1[Houseid],HIZ1[Houseid]); SetPlayerInterior(playerid,HII1[Houseid]); ShowMenuForPlayer(Hexit1,playerid); } SetHouseInfo(Houseid,info[],value[]){ new str[100]; format(str,100,"house%d",Houseid); Savepropertt(str,info,value); } GetHouseInfo(Houseid,info[],value[]){ new str[100]; new ret; format(str,100,"house%d",Houseid); ret = Loadpropertt(str,info,value); return ret; } SetPlayerOutHouse(playerid,Houseid){ PIH1[playerid] = 0; SetPlayerPos(playerid,HOX1[Houseid],HOY1[Houseid],HOZ1[Houseid]); SetPlayerInterior(playerid,0); } IsPlayerAllowedInHouse(playerid,Houseid){ new str1[256],str2[256]; GetPlayerName(playerid,str2,256); GetHouseInfo(Houseid,"Owner",str1); if (strcmp(str1,str2)==0){ return 1; } GetHouseInfo(Houseid,"Tenent1",str1); if (strcmp(str1,str2)==0){ return 1; } GetHouseInfo(Houseid,"Tenent2",str1); if (strcmp(str1,str2)==0){ return 1; } GetHouseInfo(Houseid,"Tenent3",str1); if (strcmp(str1,str2)==0){ return 1; } GetHouseInfo(Houseid,"Tenent4",str1); if (strcmp(str1,str2)==0){ return 1; } GetHouseInfo(Houseid,"Tenent5",str1); if (strcmp(str1,str2)==0){ return 1; } else{ return 0; } } AddStaticHouse(Float:x,Float:y,Float:z,Float:ix,Float:iy,Float:iz,ii){ //print("addstaticHouse"); hidd++; HP1[CreatePickup(1273,2,x,y,z)] = hidd; HIX1[hidd] = ix; HIY1[hidd] = iy; HIZ1[hidd] = iz; HII1[hidd] = ii; HOX1[hidd] = x; HOY1[hidd] = y; HOZ1[hidd] = z; new str[256]; format(str,256,"house%d.zip",hidd); if (!fexist(str)){ new File:House = fopen(str,io_write); fclose(House); SetHouseInfo(hidd,"Owner","none"); SetHouseInfo(hidd,"Rent","0"); SetHouseInfo(hidd,"Cost","50000"); SetHouseInfo(hidd,"Tenent1","none"); SetHouseInfo(hidd,"Tenent2","none"); SetHouseInfo(hidd,"Tenent3","none"); SetHouseInfo(hidd,"Tenent4","none"); SetHouseInfo(hidd,"Tenent5","none"); } return hidd; } OnPlayerEnterHousee(playerid,Houseid) { ShowMenuForPlayer(Hmen1,playerid); HDD[playerid] = Houseid; } //=================================Save Stuff=================================== public SaveComponent(streamid,componentid) { new playerid = GetDriverID(VehicleInfo[streamid][idnum]); if (strcmp(VehicleInfo[streamid][owner],PlayerInfo[playerid][name],false) == 0) { for(new s=0; s<20; s++) { if(componentid == spoiler[s][0]) { VehicleInfo[streamid][mod1] = componentid; } } for(new s=0; s<3; s++) { if(componentid == nitro[s][0]) { VehicleInfo[streamid][mod2] = componentid; } } for(new s=0; s<23; s++) { if(componentid == fbumper[s][0]) { VehicleInfo[streamid][mod3] = componentid; } } for(new s=0; s<22; s++) { if(componentid == rbumper[s][0]) { VehicleInfo[streamid][mod4] = componentid; } } for(new s=0; s<28; s++) { if(componentid == exhaust[s][0]) { VehicleInfo[streamid][mod5] = componentid; } } for(new s=0; s<2; s++) { if(componentid == bventr[s][0]) { VehicleInfo[streamid][mod6] = componentid; } } for(new s=0; s<2; s++) { if(componentid == bventl[s][0]) { VehicleInfo[streamid][mod7] = componentid; } } for(new s=0; s<4; s++) { if(componentid == bscoop[s][0]) { VehicleInfo[streamid][mod8] = componentid; } } for(new s=0; s<13; s++) { if(componentid == rscoop[s][0]) { VehicleInfo[streamid][mod9] = componentid; } } for(new s=0; s<21; s++) { if(componentid == lskirt[s][0]) { VehicleInfo[streamid][mod10] = componentid; } } for(new s=0; s<21; s++) { if(componentid == rskirt[s][0]) { VehicleInfo[streamid][mod11] = componentid; } } for(new s=0; s<1; s++) { if(componentid == hydraulics[s][0]) { VehicleInfo[streamid][mod12] = componentid; } } for(new s=0; s<1; s++) { if(componentid == base[s][0]) { VehicleInfo[streamid][mod13] = componentid; } } for(new s=0; s<2; s++) { if(componentid == rbbars[s][0]) { VehicleInfo[streamid][mod14] = componentid; } } for(new s=0; s<2; s++) { if(componentid == fbbars[s][0]) { VehicleInfo[streamid][mod15] = componentid; } } for(new s=0; s<17; s++) { if(componentid == wheels[s][0]) { VehicleInfo[streamid][mod16] = componentid; } } for(new s=0; s<2; s++) { if(componentid == lights[s][0]) { VehicleInfo[streamid][mod17] = componentid; } } SaveVehicles(); return 1; } return 0; } stock SavePaintjob(streamid,paintjobid) { new playerid = GetDriverID(VehicleInfo[streamid][idnum]); if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if (strcmp(VehicleInfo[streamid][owner],PlayerInfo[playerid][name],false) == 0) { VehicleInfo[streamid][paintjob] = paintjobid; return 1; } } SaveVehicles(); return 0; } stock SaveColors(streamid,color1,color2) { new playerid = GetDriverID(VehicleInfo[streamid][idnum]); if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if (strcmp(VehicleInfo[streamid][owner],PlayerInfo[playerid][name],false) == 0) { VehicleInfo[streamid][color_1] = color1; VehicleInfo[streamid][color_2] = color2; return 1; } } return 0; } //================================Get Driver Id================================= stock GetDriverID(vehicleid) { for(new i=0; i= data[0] && X <= data[2] && Y >= data[1] && Y <= data[3]) { return 1; } return 0; } //=============================Gamemode Exit Stuff============================== public GameModeExitFunc() { GameModeExit(); return 1; } //=================================Team Chat==================================== public GetPlayers() //By rapidZ { new i; new player; player = 0; for (i=0;i 0){ if(GetPlayerVehicleID(playerid) != i ){ new Float:x, Float:y, Float:z; new Float:x2, Float:y2, Float:z2; GetVehiclePos(i, x, y, z); x2 = x1 - x; y2 = y1 - y; z2 = z1 - z; new Float:vDist = (x2*x2+y2*y2+z2*z2); if( vDist < dist){ veh = i; dist = vDist; } } } } } IsVehicleRcTram( vehicleid ) { switch(GetVehicleModel(vehicleid)) { case 449, 501, 464, 441, 465, 564: return 1; default: return 0; } return 0; } //==================================Menu Selection============================== public OnPlayerSelectedMenuRow(playerid, row) { new Menu:Current = GetPlayerMenu(playerid); if(Current == MAdmin) { if(row <=4 && RaceActive == 1) { SendClientMessage(playerid,COLOR_RED,"Race active, cannot change this setting!"); ShowMenuForPlayer(MAdmin,playerid); return 1; } if(row == 0) ShowMenuForPlayer(MPMode,playerid); else if (row == 1) ShowMenuForPlayer(MPrize,playerid); else if (row == 2) ShowMenuForPlayer(MDyna,playerid); else if (row == 3) ShowMenuForPlayer(MFee,playerid); else if (row == 4) ShowMenuForPlayer(MDelay,playerid); else if (row == 5) { if(RaceActive == 1) endrace(); else SendClientMessage(playerid,COLOR_YELLOW,"No race active!"); ShowMenuForPlayer(MAdmin,playerid); } else if (row == 9) { TogglePlayerControllable(playerid,1); HideMenuForPlayer(MAdmin,playerid); } else { if(row == 6 && RaceAdmin == 1) RaceAdmin=0; else if(row == 6 && RaceAdmin == 0) RaceAdmin=1; else if(row == 7 && BuildAdmin == 1) BuildAdmin=0; else if(row == 7 && BuildAdmin == 0) BuildAdmin=1; else if(row == 8 && RRotation >= 0) RRotation = -1; else RRotation = 0; if(RaceAdmin == 1) format(ystring,sizeof(ystring),"RA: ON"); else format(ystring,sizeof(ystring),"RA: off"); if(BuildAdmin == 1) format(ystring,sizeof(ystring),"%s BA: ON",ystring); else format(ystring,sizeof(ystring),"%s BA: off",ystring); if(RRotation >= 0) format(ystring,sizeof(ystring),"%s RR: ON",ystring); else format(ystring,sizeof(ystring),"%s RR: off",ystring); if(RRotation >= 0 && row == 8) RotationTimer = SetTimer("RaceRotation",RRotationDelay,1); else if(RRotation -1 && row == 8) KillTimer(RotationTimer); RefreshMenuHeader(playerid,MAdmin,ystring); } } else if(Current == MPMode) { if(row == 5) { ShowMenuForPlayer(MAdmin,playerid); return 1; } PrizeMode = row; if (PrizeMode == 0) ystring = "Fixed"; else if(PrizeMode == 1) ystring = "Dynamic"; else if(PrizeMode == 2) ystring = "Join Fee"; else if(PrizeMode == 3) ystring = "Join Fee + Fixed"; else if(PrizeMode == 4) ystring = "Join Fee + Dynamic"; format(ystring,sizeof(ystring),"Mode: %s",ystring); RefreshMenuHeader(playerid,MPMode,ystring); } else if(Current == MPrize) { if(row == 6) { ShowMenuForPlayer(MAdmin,playerid); return 1; } if (row == 0) Prize += 100; else if(row == 1) Prize += 1000; else if(row == 2) Prize += 10000; else if(row == 3) Prize -= 100; else if(row == 4) Prize -= 1000; else if(row == 5) Prize -= 10000; if(Prize < 0) Prize = 0; format(ystring,sizeof(ystring),"Amount: %d",Prize); RefreshMenuHeader(playerid,MPrize,ystring); } else if(Current == MDyna) { if(row == 4) { ShowMenuForPlayer(MAdmin,playerid); return 1; } if (row == 0) DynaMP++; else if(row == 1) DynaMP+=5; else if(row == 2) DynaMP--; else if(row == 3) DynaMP-=5; else if(DynaMP < 1) DynaMP = 1; format(ystring,sizeof(ystring),"Multiplier: %dx",DynaMP); RefreshMenuHeader(playerid,MDyna,ystring); } else if(Current == MBuild) { if (row == 0) { format(ystring,sizeof(ystring),"Laps: %d",Blaps[b(playerid)]); SetMenuColumnHeader(MLaps,0,ystring); ShowMenuForPlayer(MLaps,playerid); } else if (row == 1) { format(ystring,sizeof(ystring),"Mode: %s",ReturnModeName(Bracemode[b(playerid)])); SetMenuColumnHeader(MRacemode,0,ystring); ShowMenuForPlayer(MRacemode,playerid); } else if (row == 2) { format(ystring,sizeof(ystring),"Size: %0.2f",BCPsize[b(playerid)]); SetMenuColumnHeader(MCPsize,0,ystring); ShowMenuForPlayer(MCPsize,playerid); } else if (row == 3) { if(BAirrace[b(playerid)] == 0) { BAirrace[b(playerid)] = 1; format(ystring,sizeof(ystring),"Air race: ON"); } else if(BAirrace[b(playerid)] == 1) { BAirrace[b(playerid)] = 0; format(ystring,sizeof(ystring),"Air race: off"); } RefreshMenuHeader(playerid,MBuild,ystring); } else if(row == 4) { clearrace(playerid); HideMenuForPlayer(MBuild,playerid); TogglePlayerControllable(playerid,1); return 1; } else if(row == 5) { HideMenuForPlayer(MBuild,playerid); TogglePlayerControllable(playerid,1); } } else if(Current == MLaps) { if(row == 6) { if(RaceBuilders[playerid] != 0) ShowMenuForPlayer(MBuild,playerid); else ShowMenuForPlayer(MRace,playerid); return 1; } new change=0; if (row == 0) change++; else if(row == 1) change+=5; else if(row == 2) change+=10; else if(row == 3) change--; else if(row == 4) change-=5; else if(row == 5) change-=10; if(RaceBuilders[playerid] != 0) { Blaps[b(playerid)] += change; if(Blaps[b(playerid)] < 1) Blaps[b(playerid)] = 1; format(ystring,sizeof(ystring),"Laps: %d",Blaps[b(playerid)]); RefreshMenuHeader(playerid,MLaps,ystring); } else { Racelaps += change; if(Racelaps < 1) Racelaps = 1; format(ystring,sizeof(ystring),"Laps: %d",Racelaps); RefreshMenuHeader(playerid,MLaps,ystring); } } else if(Current == MRacemode) { if(row == 4) { if(RaceBuilders[playerid] != 0) ShowMenuForPlayer(MBuild,playerid); else ShowMenuForPlayer(MRace,playerid); return 1; } if(RaceBuilders[playerid] != 0) { Bracemode[b(playerid)]=row; if(Bracemode[b(playerid)] == 2 && BCurrentCheckpoints[b(playerid)] < 3) { SendClientMessage(playerid,COLOR_YELLOW,"Cannot set racemode 2 with only 2 CPs!"); Bracemode[b(playerid)] = 1; } format(ystring,sizeof(ystring),"Mode: %s",ReturnModeName(Bracemode[b(playerid)])); RefreshMenuHeader(playerid,MRacemode,ystring); return 1; } else { Racemode = row; if(Racemode == 2 && LCurrentCheckpoint < 2) { SendClientMessage(playerid,COLOR_YELLOW,"Cannot set racemode 2 with only 2 CPs!"); Racemode = 1; } format(ystring,sizeof(ystring),"Mode: %s",ReturnModeName(Racemode)); RefreshMenuHeader(playerid,MRacemode,ystring); return 1; } } else if(Current == MRace) { if(row == 0) { format(ystring,sizeof(ystring),"Laps: %d",Racelaps); SetMenuColumnHeader(MLaps,0,ystring); ShowMenuForPlayer(MLaps,playerid); } else if(row == 1) { format(ystring,sizeof(ystring),"Mode: %s",ReturnModeName(Racemode)); SetMenuColumnHeader(MRacemode,0,ystring); ShowMenuForPlayer(MRacemode,playerid); } else if(row == 2) { format(ystring,sizeof(ystring),"Size: %0.2f",CPsize); SetMenuColumnHeader(MCPsize,0,ystring); ShowMenuForPlayer(MCPsize,playerid); } else if(row == 3) { if(Airrace == 0) { Airrace = 1; format(ystring,sizeof(ystring),"Air race: ON"); } else if(Airrace == 1) { Airrace = 0; format(ystring,sizeof(ystring),"Air race: off"); } RefreshMenuHeader(playerid,MRace,ystring); } else if(row == 4) { if(RaceActive == 0) { startrace(); HideMenuForPlayer(MRace,playerid); TogglePlayerControllable(playerid,1); } else { SendClientMessage(playerid,COLOR_YELLOW,"Race is already active!"); } } else if(row == 5) { HideMenuForPlayer(MRace,playerid); TogglePlayerControllable(playerid,1); } } else if(Current == MFee) { if(row == 6) { ShowMenuForPlayer(MAdmin,playerid); return 1; } if(row == 0) JoinFee +=100; if(row == 1) JoinFee +=1000; if(row == 2) JoinFee +=10000; if(row == 3) JoinFee -=100; if(row == 4) JoinFee -=1000; if(row == 5) JoinFee -=10000; if(JoinFee < 0) JoinFee = 0; format(ystring,sizeof(ystring),"Fee: %d$",JoinFee); RefreshMenuHeader(playerid,MFee,ystring); } else if(Current == MCPsize) { if(row == 6) { if(RaceBuilders[playerid] != 0) ShowMenuForPlayer(MBuild,playerid); else ShowMenuForPlayer(MRace,playerid); return 1; } new Float:change; if(row == 0) change +=0.1; if(row == 1) change +=1.0; if(row == 2) change +=10.0; if(row == 3) change -=0.1; if(row == 4) change -=1.0; if(row == 5) change -=10.0; if(RaceBuilders[playerid] != 0) { BCPsize[b(playerid)] += change; if(BCPsize[b(playerid)] < 1.0) BCPsize[b(playerid)] = 1.0; if(BCPsize[b(playerid)] > 32.0) BCPsize[b(playerid)] = 32.0; format(ystring,sizeof(ystring),"Size %0.2f",BCPsize[b(playerid)]); RefreshMenuHeader(playerid,MCPsize,ystring); } else { CPsize += change; if(CPsize < 1.0) CPsize = 1.0; if(CPsize > 32.0) CPsize = 32.0; format(ystring,sizeof(ystring),"Size %0.2f",CPsize); RefreshMenuHeader(playerid,MCPsize,ystring); } } else if(Current == MDelay) { if(row == 4) { ShowMenuForPlayer(MAdmin,playerid); return 1; } if (row == 0) MajorityDelay+=10; else if (row == 1) MajorityDelay+=60; else if (row == 2) MajorityDelay-=10; else if (row == 3) MajorityDelay-=60; if(MajorityDelay <= 0) { MajorityDelay=0; format(ystring,sizeof(ystring),"Delay: disabled"); } else format(ystring,sizeof(ystring),"Delay: %ds",MajorityDelay); RefreshMenuHeader(playerid,MDelay,ystring); } if(GetPlayerMenu(playerid) == TK) { switch(row) { case 0: { SendClientMessage(playerid, COLOR_YELLOW, "You Have Killed your TeamKiller!"); SendClientMessage(KillerID[playerid], COLOR_YELLOW, "You have Been Killed By The person you TeamKilled!"); SetPlayerHealth(KillerID[playerid],0); KillerID[playerid] = INVALID_PLAYER_ID; } case 1: { SendClientMessage(playerid, COLOR_YELLOW, "You Have Exploded Your TeamKiller!"); SendClientMessage(KillerID[playerid], COLOR_YELLOW, "You have Been Exploded By The person you TeamKilled!"); new Float:KX,Float:KY,Float:KZ; GetPlayerPos(KillerID[playerid], KX, KY, KZ); CreateExplosion(KX, KY, KZ, 1, 1); KillerID[playerid] = INVALID_PLAYER_ID; } case 2: { SendClientMessage(playerid, COLOR_YELLOW, "You have Taken $2500 From your TeamKiller!"); SendClientMessage(KillerID[playerid], COLOR_YELLOW, "You have had $2500 Stolen By The person you TeamKilled!"); GivePlayerMoney(KillerID[playerid], GetPlayerMoney(KillerID[playerid]) -2500); GivePlayerMoney(playerid, GetPlayerMoney(playerid) +2500); KillerID[playerid] = INVALID_PLAYER_ID; } case 3: { SendClientMessage(playerid, COLOR_YELLOW, "You have Reseted Your TeamKillers weapons!"); SendClientMessage(KillerID[playerid], COLOR_YELLOW, "You have Had Your Weapons Reseted By The person you TeamKilled!"); ResetPlayerWeapons(KillerID[playerid]); KillerID[playerid] = INVALID_PLAYER_ID; } case 4: { SendClientMessage(playerid, COLOR_YELLOW, "You have Forgiven your TeamKiller (You Softy :D)!"); SendClientMessage(KillerID[playerid], COLOR_YELLOW, "You have Been Forgiven By The person you TeamKilled!"); KillerID[playerid] = INVALID_PLAYER_ID; } } } else if(Current == vehiclemain) { switch(row){ case 0:ShowMenuForPlayer(playervm, playerid); case 1:ShowMenuForPlayer(adminm, playerid); case 2:{HideMenuForPlayer(Current, playerid);TogglePlayerControllable(playerid, true);} } } else if(Current == playervm) { switch(row){ case 0:ShowMenuForPlayer(templock, playerid); case 1:ShowMenuForPlayer(healthbar, playerid); case 2:ShowMenuForPlayer(speedom, playerid); case 3:ShowMenuForPlayer(buysell, playerid); case 4:{callcar(playerid);HideMenuForPlayer(Current, playerid);TogglePlayerControllable(playerid, true);} case 5:{HideMenuForPlayer(Current, playerid);park(playerid);TogglePlayerControllable(playerid, true);} case 6:ShowMenuForPlayer(secure1, playerid); case 7:ShowMenuForPlayer(vehiclemain, playerid); } } else if(Current == adminm) { switch(row){ case 0:{HideMenuForPlayer(Current, playerid);asellcar(playerid);TogglePlayerControllable(playerid, true);} case 1:ShowMenuForPlayer(buyable, playerid); case 2:ShowMenuForPlayer(asecure1, playerid); case 3:ShowMenuForPlayer(vehiclemain, playerid); } } else if(Current == templock) { switch(row){ case 0:{HideMenuForPlayer(Current, playerid);lock(playerid);TogglePlayerControllable(playerid, true);} case 1:{HideMenuForPlayer(Current, playerid);unlock(playerid);TogglePlayerControllable(playerid, true);} case 2:ShowMenuForPlayer(playervm, playerid); } } else if(Current == speedom) { switch(row){ case 0:{ShowMenuForPlayer(Current, playerid);dashboardon(playerid);} case 1:{ShowMenuForPlayer(Current, playerid);dashboardoff(playerid);} case 2:ShowMenuForPlayer(playervm, playerid); } } else if(Current == buysell) { switch(row){ case 0:{ShowMenuForPlayer(Current, playerid);buycar(playerid);} case 1:{ShowMenuForPlayer(Current, playerid);sellcar(playerid);} case 2:ShowMenuForPlayer(playervm, playerid); } } else if(Current == secure1) { switch(row){ case 0:ShowMenuForPlayer(secure2, playerid); case 1:{HideMenuForPlayer(Current, playerid);unsecure(playerid);TogglePlayerControllable(playerid, true);} case 2:ShowMenuForPlayer(playervm, playerid); } } else if(Current == secure2) { switch(row){ case 0:{HideMenuForPlayer(Current, playerid);securekill(playerid);TogglePlayerControllable(playerid, true);} case 1:{HideMenuForPlayer(Current, playerid);securekick(playerid);TogglePlayerControllable(playerid, true);} case 2:ShowMenuForPlayer(secure1, playerid); } } else if(Current == buyable) { switch(row){ case 0:{HideMenuForPlayer(Current, playerid);setbuy(playerid);TogglePlayerControllable(playerid, true);} case 1:{HideMenuForPlayer(Current, playerid);setunbuy(playerid);TogglePlayerControllable(playerid, true);} case 2:ShowMenuForPlayer(adminm, playerid); } } else if(Current == asecure1) { switch(row){ case 0:ShowMenuForPlayer(asecure2, playerid); case 1:{HideMenuForPlayer(Current, playerid);aunsecure(playerid);TogglePlayerControllable(playerid, true);} case 2:ShowMenuForPlayer(adminm, playerid); } } else if(Current == asecure2) { switch(row){ case 0:{HideMenuForPlayer(Current, playerid);asecurekill(playerid);TogglePlayerControllable(playerid, true);} case 1:{HideMenuForPlayer(Current, playerid);asecurekick(playerid);TogglePlayerControllable(playerid, true);} case 2:ShowMenuForPlayer(asecure1, playerid); } } else if(Current == healthbar) { switch(row){ case 0:{ShowMenuForPlayer(Current, playerid);PlayerInfo[playerid][vhpb] = 1;SendClientMessage(playerid,COLOR_GREEN,"Vehicle HP Bar is now active!");} case 1:{ShowMenuForPlayer(Current, playerid);PlayerInfo[playerid][vhpb] = 0;SendClientMessage(playerid,COLOR_BRIGHTRED,"Vehicle HP Bar is now in-active!");} case 2:ShowMenuForPlayer(playervm, playerid); } } //print("onplayerselectedmenu"); CallLocalFunction("opsm","ii",playerid,row); new Menu:Cur = GetPlayerMenu(playerid); if (Cur == Hmen1){ ////print("Hmen1 Select"); switch(row){ case 0:{ //print("House Menu Case 0"); new str1[150],str2[150],str3[150],hstring[150]; GetHouseInfo(HDD[playerid],"Owner",str1); GetHouseInfo(HDD[playerid],"Rent",str2); GetHouseInfo(HDD[playerid],"Cost",str3); format(hstring,255,"Owner: %s~n~Rent: %s~n~Cost: %s",str1,str2,str3); GameTextForPlayer(playerid,hstring,5000,5); } case 1:{ new str1[256]; //print("House Menu Case 1"); GetHouseInfo(HDD[playerid],"Lock",str1); if (strcmp(str1,"no")==0){ SetPlayerInHouse(playerid,HDD[playerid]); } else if (IsPlayerAllowedInHouse(playerid,HDD[playerid])==1){ SetPlayerInHouse(playerid,HDD[playerid]); } else { GameTextForPlayer(playerid,"~r~house is LOCKED",5000,1); } } case 2:{ new str2[256]; GetHouseInfo(HDD[playerid],"Rent",str2); new hcost = strval(str2); new str1[256]; GetHouseInfo(HDD[playerid],"Owner",str1); if (strcmp(str1,"none")==0){ GameTextForPlayer(playerid,"~r~house has no OWNER",5000,1); } else { if (GetPlayerMoney(playerid) >= hcost){ CallLocalFunction("OnPlayerRentHouse","ii",playerid,HDD[playerid]); MakeTenent1(playerid,HDD[playerid]); } else{ GameTextForPlayer(playerid,"~r~You dont have enough MONEY",5000,1); } } } case 3:{ new str1[256]; new str2[256]; new str3[100]; format(str3,100,"house%d",HDD[playerid]); new hname[256]; Loadpropertt(str3,"Cost",str2); new hcost = strval(str2); GetPlayerName(playerid,hname,255); Loadpropertt(str3,"Owner",str1); if (strcmp(str1,"none")==0){ if (GetPlayerMoney(playerid) >= hcost){ GivePlayerMoney(playerid,-hcost); Savepropertt(str3,"Owner",hname); GameTextForPlayer(playerid,"~g~Congrats for your new house.",5000,5); } else{ GameTextForPlayer(playerid,"~r~You dont have enough MONEY",5000,5); } } else{ GameTextForPlayer(playerid,"~r~This house is not FOR SALE",5000,5); } } } } else if (Cur == Hexit1){ SetPlayerOutHouse(playerid,PIH1[playerid]); } if(Current == GiveCar) { new Component[20],id,carid; switch(row) { case 0: Component = "Nitrous x10", id = 1010; case 1: Component = "Hydraulics", id = 1087; case 2: Component = "Offroad Wheels", id = 1025; case 3: Component = "Wire Wheels", id = 1081; } SendCommandMessageToAdmins(playerid,"GIVECAR"); new string[256]; format(string,sizeof(string),"You have selected \'%s\'.",Component); SendClientMessage(playerid,yellow,string); TogglePlayerControllable(playerid,true); carid = GetPlayerVehicleID(playerid); AddVehicleComponent(carid,id); } if(Current == Weather) { new id, Part[20]; switch(row) { case 0: Part = "Sunny", id = 15; case 1: Part = "Cloudy", id = 7; case 2: Part = "Thunderstorm", id = 16; case 3: Part = "Foggy", id = 9; case 4: Part = "Scorching Hot", id = 17; case 5: Part = "Sandstorm", id = 19; case 6: Part = "Polluted", id = 35; } if(id == ServerWeather) return SendClientMessage(playerid,red,"ERROR: The server weather is already the one you have selected."); SendCommandMessageToAdmins(playerid,"WEATHER"); new string[256],xname[24]; GetPlayerName(playerid,xname,24); format(string,256,"Administrator \"%s\" has changed the weather to \'%s\'.",xname,Part); SendClientMessageToAll(yellow,string); TogglePlayerControllable(playerid,true); ServerWeather = id, SetWeather(id); } return 1; } //==============================Gamemode exit stuff============================= public OnGameModeExit() { DestroyMenu(vehiclemain); DestroyMenu(playervm); DestroyMenu(buysell); DestroyMenu(secure1); DestroyMenu(secure2); DestroyMenu(templock); DestroyMenu(adminm); DestroyMenu(asecure1); DestroyMenu(asecure2); DestroyMenu(speedom); DestroyMenu(buyable); DestroyMenu(GiveCar); DestroyMenu(Weather); //-----------------------------Unload Race Scrpt-------------------------------- print("\n+--------------------------+"); print("| Yagu's Race script v0.4a |"); print("+---------UNLOADED---------+\n"); #if defined MENUSYSTEM DestroyMenu(MAdmin); DestroyMenu(MPMode); DestroyMenu(MPrize); DestroyMenu(MDyna); DestroyMenu(MBuild); DestroyMenu(MLaps); DestroyMenu(MRace); DestroyMenu(MRacemode); DestroyMenu(MFee); DestroyMenu(MCPsize); DestroyMenu(MDelay); #endif return 1; } //=================================Backup Info================================== public BackupInfo() { SaveVehicles(); SaveBusinesses(); for(new i=0;i= VehicleInfo[streamid][vehiclecost]) { new stringa[256]; strmid(VehicleInfo[streamid][owner], PlayerInfo[playerid][name], 0, strlen(PlayerInfo[playerid][name]), 255); VehicleInfo[streamid][bought] = 1; PlayerInfo[playerid][vowner] = 1; PlayerInfo[playerid][vowned] = streamid; GivePlayerMoney(playerid, -VehicleInfo[streamid][vehiclecost]); format(stringa, sizeof(stringa), "You just bought this %s for $%d.", VehicleInfo[streamid][name], VehicleInfo[streamid][vehiclecost],VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_GREEN, stringa); SaveVehicles(); SavePlayer(playerid); return 1; } if(cash[playerid] < VehicleInfo[streamid][vehiclecost]) { new string6[256]; format(string6, sizeof(string6), "You do not have $%d and cannot afford this %s!", VehicleInfo[streamid][vehiclecost],VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_BRIGHTRED, string6); return 1; } return 1; } stock sellcar(playerid) { new string[256]; if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this feature"); return 1; } if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this feature"); return 1; } if(passenger[playerid] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in the drivers' seat of your vehicle to sell it!"); return 1; } if(IsPlayerInAnyVehicle(playerid) == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be inside your vehicle in order to sell it"); return 1; } new streamid = GetPlayerVehicleStreamID(playerid); if (strcmp(VehicleInfo[streamid][owner],PlayerInfo[playerid][name],false) == 0) { SetVehicleToRespawn(GetPlayerVehicleID(playerid)); SetVehicleUsed(GetPlayerVehicleID(playerid),false); PlayerInfo[playerid][vowned] = 0; PlayerInfo[playerid][vowner] = 0; strmid(VehicleInfo[streamid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); VehicleInfo[streamid][bought] = 0; VehicleInfo[streamid][secure] = 0; GivePlayerMoney(playerid, VehicleInfo[streamid][vehiclecost]); format(string, sizeof(string), "You just sold your %s for $%d, enjoy the walk!!", VehicleInfo[streamid][name], VehicleInfo[streamid][vehiclecost]); SendClientMessage(playerid, COLOR_BRIGHTRED, string); SavePlayer(playerid); SaveVehicles(); return 1; } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "What are you trying to pull here, you don't own the vehicle!!!"); return 1; } } stock asellcar(playerid) { new string[256]; new streamid = GetPlayerVehicleStreamID(playerid); if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this feature"); return 1; } if(passenger[playerid] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in the drivers seat to use this feature"); return 1; } if(IsPlayerInAnyVehicle(playerid) == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a vehicle in order to use this feature"); return 1; } if (PlayerInfo[playerid][admin] > 4) { if (strcmp(VehicleInfo[streamid][owner],DEFAULT_OWNER,false) == 0) { format(string,sizeof(string),"This %d does not have an owner yet!",VehicleInfo[streamid][name]); SendClientMessage(playerid,COLOR_ORANGE,string); return 1; } new file[256]; SetVehicleToRespawn(GetPlayerVehicleID(playerid)); SetVehicleUsed(GetPlayerVehicleID(playerid),false); format(file,sizeof(file),P_FILE,udb_encode(VehicleInfo[streamid][owner])); if(fexist(file)) { tempid[playerid] = IsPlayerNameOnline(VehicleInfo[streamid][owner]); if(tempid[playerid] >= 0 && tempid[playerid] <= MAX_PLAYERS) { strmid(VehicleInfo[streamid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); PlayerInfo[tempid[playerid]][vowned] = 0; PlayerInfo[tempid[playerid]][vowner] = 0; VehicleInfo[streamid][bought] = 0; VehicleInfo[streamid][secure] = 0; VehicleInfo[streamid][asecure] = 0; format(string, sizeof(string), "You just sold %s's %s.", PlayerInfo[tempid[playerid]][name], VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_ORANGE, string); format(string, sizeof(string), "Admin (%s) has just sold your %s!", PlayerInfo[playerid][name], VehicleInfo[streamid][name]); SendClientMessage(tempid[playerid], COLOR_ORANGE, string); return 1; } else { ResetOfflinePlayerFileV(VehicleInfo[streamid][owner]); format(string, sizeof(string), "You just sold %s's %s.", VehicleInfo[streamid][owner], VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_ORANGE, string); VehicleInfo[streamid][bought] = 0; VehicleInfo[streamid][secure] = 0; VehicleInfo[streamid][asecure] = 0; strmid(VehicleInfo[streamid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); return 1; } } if(!fexist(file)) { format(string, sizeof(string), "You just sold %s's %s. The player file was not found and cannot be altered.", VehicleInfo[streamid][owner], VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_GREEN, string); VehicleInfo[streamid][bought] = 0; strmid(VehicleInfo[streamid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); return 1; } } SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not a server administrator and cannot use this feature!"); return 1; } stock setbuy(playerid) { new string[256]; if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this feature"); return 1; } if(passenger[playerid] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in the drivers seat to use this feature"); return 1; } if(IsPlayerInAnyVehicle(playerid) == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a vehicle in order to use this feature"); return 1; } if(VehicleInfo[GetPlayerVehicleStreamID(playerid)][buybar] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "This vehicle is already set as buyable!"); return 1; } if (PlayerInfo[playerid][admin] > 4) { if(VehicleInfo[GetPlayerVehicleStreamID(playerid)][buybar] == 1) { format(string,sizeof(string),"You have set this %s to buyable!", VehicleInfo[GetPlayerVehicleStreamID(playerid)][name]); SendClientMessage(playerid,COLOR_ORANGE,string); VehicleInfo[GetPlayerVehicleStreamID(playerid)][buybar] = 0; return 1; } } SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not a server administrator and cannot use this feature!"); return 1; } stock setunbuy(playerid) { new string[256]; new streamid = GetPlayerVehicleStreamID(playerid); if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this feature"); return 1; } if(passenger[playerid] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in the drivers seat to use this feature"); return 1; } if(IsPlayerInAnyVehicle(playerid) == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a vehicle in order to use this feature"); return 1; } if(VehicleInfo[streamid][buybar] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "This vehicle is already set as un-buyable!"); return 1; } if (PlayerInfo[playerid][admin] > 4) { VehicleInfo[streamid][bought] = 0; VehicleInfo[streamid][secure] = 0; VehicleInfo[streamid][buybar] = 1; if (strcmp(VehicleInfo[streamid][owner],DEFAULT_OWNER,false) == 0) { strmid(VehicleInfo[streamid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); format(string,sizeof(string),"You have set this %s to non-buyable!",VehicleInfo[streamid][name]); SendClientMessage(playerid,COLOR_ORANGE,string); return 1; } new file[256]; format(file,sizeof(file),P_FILE,VehicleInfo[streamid][owner]); if(fexist(file)) { tempid[playerid] = IsPlayerNameOnline(VehicleInfo[streamid][owner]); if(tempid[playerid] >= 0 || tempid[playerid] <= MAX_PLAYERS) { strmid(VehicleInfo[streamid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); PlayerInfo[tempid[playerid]][vowned] = 0; PlayerInfo[tempid[playerid]][vowner] = 0; format(string, sizeof(string), "You just sold %s's %s and set it to non-buyable.", PlayerInfo[tempid[playerid]][name], VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_ORANGE, string); format(string, sizeof(string), "Admin (%s) has just sold your %s and set it to non-buyable!", PlayerInfo[playerid][name], VehicleInfo[streamid][name]); SendClientMessage(tempid[playerid], COLOR_ORANGE, string); return 1; } else { ResetOfflinePlayerFileV(VehicleInfo[streamid][owner]); format(string, sizeof(string), "You just sold %s's %s and set it to non-buyable.", VehicleInfo[streamid][owner], VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_ORANGE, string); strmid(VehicleInfo[streamid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); return 1; } } if(!fexist(file)) { format(string, sizeof(string), "You just sold %s's %s and set it to non-buyable. The player file was not found and cannot be altered.", VehicleInfo[streamid][owner], VehicleInfo[streamid][name]); SendClientMessage(playerid, COLOR_ORANGE, string); strmid(VehicleInfo[streamid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); return 1; } } SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not a server administrator and cannot use this feature!"); return 1; } stock lock(playerid) { if(IsPlayerInAnyVehicle(playerid)) { new State=GetPlayerState(playerid); if(State!=PLAYER_STATE_DRIVER) { SendClientMessage(playerid,COLOR_YELLOW,"You need to be in the drivers seat."); return 1; } new i; for(i=0;i 4) { if(IsPlayerInAnyVehicle(playerid)) { VehicleInfo[GetPlayerVehicleStreamID(playerid)][asecure] = 1; format(securemess,sizeof(securemess),"You have set this %s as admin only.", VehicleInfo[GetPlayerVehicleStreamID(playerid)][name]); SendClientMessage(playerid, COLOR_GREEN, securemess); return 1; } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a vehicle to use this feature"); return 1; } } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use this feature!"); return 1; } } stock asecurekill(playerid) { if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this feature"); return 1; } if(IsPlayerInAnyVehicle(playerid)) { if (PlayerInfo[playerid][admin] > 4) { VehicleInfo[GetPlayerVehicleStreamID(playerid)][asecure] = 2; format(securemess,sizeof(securemess),"You have set this %s as admin only with lethal protection.", VehicleInfo[GetPlayerVehicleStreamID(playerid)][name]); SendClientMessage(playerid, COLOR_GREEN, securemess); return 1; } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use this feature!"); return 1; } } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a vehicle to use this feature"); return 1; } } stock aunsecure(playerid) { if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this feature"); return 1; } if(IsPlayerInAnyVehicle(playerid)) { if (PlayerInfo[playerid][admin] > 4) { VehicleInfo[GetPlayerVehicleStreamID(playerid)][asecure] = 0; format(securemess,sizeof(securemess),"You have set this %s as accessable to everyone.", VehicleInfo[GetPlayerVehicleStreamID(playerid)][name]); SendClientMessage(playerid, COLOR_GREEN, securemess); return 1; } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use this feature!"); return 1; } } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a vehicle to use this feature"); return 1; } } stock unsecure(playerid) { if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this feature"); return 1; } if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this feature"); return 1; } if(VehicleInfo[GetPlayerVehicleStreamID(playerid)][buybar] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "This vehicle is un-buyable and these features will not work!"); return 1; } if(PlayerInfo[playerid][vowner] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must first own a vehicle before you can use this feature!"); return 1; } if(IsPlayerInAnyVehicle(playerid)) { if (strcmp(VehicleInfo[GetPlayerVehicleStreamID(playerid)][owner],PlayerInfo[playerid][name],false) == 0) { VehicleInfo[GetPlayerVehicleStreamID(playerid)][secure] = 0; format(securemess,sizeof(securemess),"You have set your %s as accessable to everyone.", VehicleInfo[GetPlayerVehicleStreamID(playerid)][name]); SendClientMessage(playerid, COLOR_GREEN, securemess); return 1; } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not own this vehicle and cannot secure it!"); return 1; } } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a vehicle to use this feature"); return 1; } } stock securekill(playerid) { if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this feature"); return 1; } if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this feature"); return 1; } if(VehicleInfo[GetPlayerVehicleStreamID(playerid)][buybar] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "This vehicle is un-buyable and these features will not work!"); return 1; } if(PlayerInfo[playerid][vowner] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must first own a vehicle before you can use this feature!"); return 1; } if(IsPlayerInAnyVehicle(playerid)) { if (strcmp(VehicleInfo[GetPlayerVehicleStreamID(playerid)][owner],PlayerInfo[playerid][name],false) == 0) { VehicleInfo[GetPlayerVehicleStreamID(playerid)][secure] = 2; format(securemess,sizeof(securemess),"You have set your %s as secure with lethal protection, no other player will be able to use it even when you are offline.", VehicleInfo[GetPlayerVehicleStreamID(playerid)][name]); SendClientMessage(playerid, COLOR_GREEN, securemess); return 1; } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not own this vehicle and cannot secure it!"); return 1; } } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a vehicle to use this feature"); return 1; } } stock callcar(playerid) { if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this feature"); return 1; } if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this feature"); return 1; } if(PlayerInterior[playerid] > 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must outside to call a vehicle to you!"); return 1; } if(PlayerInfo[playerid][vowner] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must first own a vehicle before you can use this feature!"); return 1; } if(IsPlayerInAnyVehicle(playerid) == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You can't call a vehicle to you if you are in one!"); return 1; } if(VehicleInfo[PlayerInfo[playerid][vowned]][modding] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "Vehicle currently Busy, try again in a few seconds!"); return 1; } if(VehicleInfo[PlayerInfo[playerid][vowned]][limbo] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "Your vehicle cannot be called to you at the moment, please wait and try again later."); return 1; } for(new i=0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i) == 1) { if (IsPlayerInAnyVehicle(i) == 1) { if (GetPlayerVehicleStreamID(i) == PlayerInfo[playerid][vowned]) { if(GetPlayerInterior(i) == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "Vehicle currently Busy, try again in a few seconds!"); return 1; } SendClientMessage(i, COLOR_BRIGHTRED, "This vehicle has been recalled by its owner, enjoy the walk!"); } } } } if(VehicleInfo[PlayerInfo[playerid][vowned]][spawned] == 1) { SetVehicleToRespawn(VehicleInfo[PlayerInfo[playerid][vowned]][idnum]); SetVehicleVirtualWorld(VehicleInfo[PlayerInfo[playerid][vowned]][idnum],10); SetVehicleUsed(VehicleInfo[PlayerInfo[playerid][vowned]][idnum],true); } SendClientMessage(playerid, COLOR_ORANGE, "Your vehicle is on its way, It will take 8 seconds to arrive at your location..."); SetTimerEx("CallVehicleToPlayer",8000,0,"i",playerid); return 1; } stock park(playerid) { new streamid = GetPlayerVehicleStreamID(playerid); if(PlayerInfo[playerid][logged] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this feature"); return 1; } if(PlayerInfo[playerid][jailed] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You are in jail and cannot use this feature"); return 1; } if(VehicleInfo[streamid][buybar] == 1) { SendClientMessage(playerid, COLOR_BRIGHTRED, "This vehicle is un-buyable and these features will not work!"); return 1; } if(PlayerInfo[playerid][vowner] == 0) { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must first own a vehicle before you can use this feature!"); return 1; } if(IsPlayerInAnyVehicle(playerid)) { if (strcmp(VehicleInfo[streamid][owner],PlayerInfo[playerid][name],false) == 0) { new Float:spx,Float:spy,Float:spz; new Float:spa; GetVehiclePos(GetPlayerVehicleID(playerid),spx,spy,spz); GetVehicleZAngle(GetPlayerVehicleID(playerid),spa); VehicleInfo[streamid][x_spawn] = spx; VehicleInfo[streamid][y_spawn] = spy; VehicleInfo[streamid][z_spawn] = spz; VehicleInfo[streamid][za_spawn] = spa; format(securemess,sizeof(securemess),"You have just parked your %s at your current location...it will respawn here in future!", VehicleInfo[streamid][name]); SaveVehicles(); SendClientMessage(playerid, COLOR_GREEN, securemess); return 1; } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not own this vehicle and cannot park it!"); return 1; } } else { SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a vehicle to use this feature"); return 1; } } stock dashboardon(playerid) { speedo[playerid] = 1; if(IsPlayerInAnyVehicle(playerid)) { for(new d=0; d<3; d++) { if(GetVehicleModel(GetPlayerVehicleID(playerid)) == pbike[d][0]) { speedo[playerid] = 2; } } } TextDrawShowForPlayer(playerid, stxt[playerid]); SendClientMessage(playerid,COLOR_GREEN,"Your dashboard display is now switched ON!"); return 1; } stock dashboardoff(playerid) { speedo[playerid] = 0; SendClientMessage(playerid,COLOR_BRIGHTRED,"Your dashboard display is now switched OFF!"); if(IsPlayerInAnyVehicle(playerid)) { TextDrawHideForPlayer(playerid, stxt[playerid]); } return 1; } //=============================Stream Stuff===================================== stock CountVehicles(filename[]) { new File:VehicleFile; new blank[256]; new count = 0; if (fexist(V_FILE_SAVE)) { VehicleFile = fopen(V_FILE_SAVE); while(fread(VehicleFile, blank, sizeof blank)) { count++; } fclose(VehicleFile); } else { VehicleFile = fopen(filename); while(fread(VehicleFile, blank, sizeof blank)) { count++; } fclose(VehicleFile); } return count; } stock CountBusinesses(filename[]) { new File:BusinessFile; new blank[256]; new count = 0; if (fexist(B_FILE_SAVE)) { BusinessFile = fopen(B_FILE_SAVE); while(fread(BusinessFile, blank, sizeof blank)) { count++; } fclose(BusinessFile); } else { BusinessFile = fopen(filename); while(fread(BusinessFile, blank, sizeof blank)) { count++; } fclose(BusinessFile); } return count; } stock split(const strsrc[], strdest[][], delimiter) { new i, li; new aNum; new len; while(i <= strlen(strsrc)){ if(strsrc[i]==delimiter || i==strlen(strsrc)){ len = strmid(strdest[aNum], strsrc, li, i, 128); strdest[aNum][len] = 0; li = i+1; aNum++; } i++; } return 1; } stock SetupVehiclesFile() { new File: file; file = fopen(V_FILE_SAVE, io_write); new SplitDiv[99][55]; new filestring[256]; file = fopen(V_FILE_LOAD, io_read); new carcost[MAX_STREAM_VEHICLES]; for(new streamid=1;streamid<=vehcount;streamid++) { if (file) { fread(file, filestring); split(filestring, SplitDiv, ','); VehicleInfo[streamid][model] = strval(SplitDiv[0]); VehicleInfo[streamid][x_spawn] = floatstr(SplitDiv[1]); VehicleInfo[streamid][y_spawn] = floatstr(SplitDiv[2]); VehicleInfo[streamid][z_spawn] = floatstr(SplitDiv[3]); VehicleInfo[streamid][za_spawn] = floatstr(SplitDiv[4]); VehicleInfo[streamid][color_1] = strval(SplitDiv[5]); VehicleInfo[streamid][color_2] = strval(SplitDiv[6]); CreateStreamVehicle(VehicleInfo[streamid][model], VehicleInfo[streamid][x_spawn], VehicleInfo[streamid][y_spawn], VehicleInfo[streamid][z_spawn], VehicleInfo[streamid][za_spawn], VehicleInfo[streamid][color_1], VehicleInfo[streamid][color_2],DEFAULT_SPAWN_DIST); carcost[streamid] = 50000; for(new s=0; s<24; s++) { if(VehicleInfo[streamid][model] == heavycar[s][0]) { carcost[streamid] = 100000; } } for(new a=0; a<11; a++) { if(VehicleInfo[streamid][model] == boat[a][0]) { carcost[streamid] = 50000; } } for(new c=0; c<11; c++) { if(VehicleInfo[streamid][model] == mbike[c][0]) { carcost[streamid] = 40000; } } for(new d=0; d<3; d++) { if(VehicleInfo[streamid][model] == pbike[d][0]) { carcost[streamid] = 3000; } } for(new e=0; e<6; e++) { if(VehicleInfo[streamid][model] == splane[e][0]) { carcost[streamid] = 500000; } } for(new f=0; f<2; f++) { if(VehicleInfo[streamid][model] == mplane[f][0]) { carcost[streamid] = 1500000; } } for(new v=0; v<2; v++) { if(VehicleInfo[streamid][model] == lplane[v][0]) { carcost[streamid] = 2000000; } } for(new n=0; n<4; n++) { if(VehicleInfo[streamid][model] == milair[n][0]) { carcost[streamid] = 4000000; } } for(new j=0; j<4; j++) { if(VehicleInfo[streamid][model] == sheli[j][0]) { carcost[streamid] = 750000; } } for(new k=0; k<3; k++) { if(VehicleInfo[streamid][model] == lheli[k][0]) { carcost[streamid] = 1250000; } } VehicleInfo[streamid][vehiclecost] = carcost[streamid]; VehicleInfo[streamid][vused] = 0; VehicleInfo[streamid][bought] = 0; VehicleInfo[streamid][secure] = 0; VehicleInfo[streamid][asecure] = 0; VehicleInfo[streamid][buybar] = 0; VehicleInfo[streamid][mod1] = 0; VehicleInfo[streamid][mod2] = 0; VehicleInfo[streamid][mod3] = 0; VehicleInfo[streamid][mod4] = 0; VehicleInfo[streamid][mod5] = 0; VehicleInfo[streamid][mod6] = 0; VehicleInfo[streamid][mod7] = 0; VehicleInfo[streamid][mod8] = 0; VehicleInfo[streamid][mod9] = 0; VehicleInfo[streamid][mod10] = 0; VehicleInfo[streamid][mod11] = 0; VehicleInfo[streamid][mod12] = 0; VehicleInfo[streamid][mod13] = 0; VehicleInfo[streamid][mod14] = 0; VehicleInfo[streamid][mod15] = 0; VehicleInfo[streamid][mod16] = 0; VehicleInfo[streamid][mod17] = 0; VehicleInfo[streamid][paintjob] = -1; strmid(VehicleInfo[streamid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255); strmid(VehicleInfo[streamid][name], VehicleName[VehicleInfo[streamid][model]-400][0], 0, strlen(VehicleName[VehicleInfo[streamid][model]-400][0]), 255); new addmess[256]; format(addmess,sizeof(addmess),"--:: Streaming vehicle %d (%s) successfully setup ::--",streamid,VehicleInfo[streamid][name]); print(addmess); } } fclose(file); print(">------------------------------------------------"); print(" "); print(">------------------------------------------------"); print("Initialising Vehicle File System - Please Wait For Confirmation..."); print(" "); SaveVehicles(); print(" "); print("Vehicle File System 100% Initialised..."); print(">------------------------------------------------"); printf(" "); } stock LoadVehicles() { if(fexist(V_FILE_SAVE)) { new SplitDiv[99][55]; new filestring[256]; new File: file = fopen(V_FILE_SAVE, io_read); if (file) { for(new streamid = 1;streamid<=vehcount;streamid++) { fread(file, filestring); split(filestring, SplitDiv, ','); VehicleInfo[streamid][model] = strval(SplitDiv[0]); VehicleInfo[streamid][x_spawn] = floatstr(SplitDiv[1]); VehicleInfo[streamid][y_spawn] = floatstr(SplitDiv[2]); VehicleInfo[streamid][z_spawn] = floatstr(SplitDiv[3]); VehicleInfo[streamid][za_spawn] = floatstr(SplitDiv[4]); VehicleInfo[streamid][color_1] = strval(SplitDiv[5]); VehicleInfo[streamid][color_2] = strval(SplitDiv[6]); VehicleInfo[streamid][vehiclecost] = strval(SplitDiv[7]); VehicleInfo[streamid][bought] = strval(SplitDiv[8]); VehicleInfo[streamid][secure] = strval(SplitDiv[9]); VehicleInfo[streamid][asecure] = strval(SplitDiv[10]); VehicleInfo[streamid][vused] = 0; VehicleInfo[streamid][buybar] = strval(SplitDiv[12]); VehicleInfo[streamid][mod1] = strval(SplitDiv[13]); VehicleInfo[streamid][mod2] = strval(SplitDiv[14]); VehicleInfo[streamid][mod3] = strval(SplitDiv[15]); VehicleInfo[streamid][mod4] = strval(SplitDiv[16]); VehicleInfo[streamid][mod5] = strval(SplitDiv[17]); VehicleInfo[streamid][mod6] = strval(SplitDiv[18]); VehicleInfo[streamid][mod7] = strval(SplitDiv[19]); VehicleInfo[streamid][mod8] = strval(SplitDiv[20]); VehicleInfo[streamid][mod9] = strval(SplitDiv[21]); VehicleInfo[streamid][mod10] = strval(SplitDiv[22]); VehicleInfo[streamid][mod11] = strval(SplitDiv[23]); VehicleInfo[streamid][mod12] = strval(SplitDiv[24]); VehicleInfo[streamid][mod13] = strval(SplitDiv[25]); VehicleInfo[streamid][mod14] = strval(SplitDiv[26]); VehicleInfo[streamid][mod15] = strval(SplitDiv[27]); VehicleInfo[streamid][mod16] = strval(SplitDiv[28]); VehicleInfo[streamid][mod17] = strval(SplitDiv[29]); VehicleInfo[streamid][paintjob] = strval(SplitDiv[32]); strmid(VehicleInfo[streamid][owner], SplitDiv[30], 0, strlen(SplitDiv[30]), 255); strmid(VehicleInfo[streamid][name], SplitDiv[31], 0, strlen(SplitDiv[31]), 255); CreateStreamVehicle(VehicleInfo[streamid][model], VehicleInfo[streamid][x_spawn], VehicleInfo[streamid][y_spawn], VehicleInfo[streamid][z_spawn], VehicleInfo[streamid][za_spawn], VehicleInfo[streamid][color_1], VehicleInfo[streamid][color_2],DEFAULT_SPAWN_DIST); new addmess[256]; format(addmess,sizeof(addmess),"--:: Streaming vehicle %d (%s) successfully setup - owner: %s ::--",streamid,VehicleInfo[streamid][name],VehicleInfo[streamid][owner]); print(addmess); } } fclose(file); } else { SetupVehiclesFile(); } } stock LoadBusinesses() { if(fexist(B_FILE_SAVE)) { new SplitDiv[99][B_LIMIT]; new filestring[256]; new File: file = fopen(B_FILE_SAVE, io_read); if (file) { for(new bizid = 0;bizid------------------------------------------------"); print(" "); print(">------------------------------------------------"); print("Initialising Business File System - Please Wait For Confirmation..."); print(" "); SaveBusinesses(); print(" "); print("Business File System 100% Initialised..."); print(">------------------------------------------------"); printf(" "); } public OnPlayerPickUpPickup(playerid, pickupid) { streamidn[playerid] = GetPickupStreamID(pickupid); if(PickupInfo[streamidn[playerid]][type] == PICKUP_TYPE_BIZ) { new bizowner[25]; format(bizowner,256,"%s",BizInfo[streamidn[playerid]][owner]); if(strcmp(BizInfo[streamidn[playerid]][owner],DEFAULT_OWNER,false) == 0) { format(bizowner,256,"Not Owned"); } new bizmes[256]; format(bizmes,256,"~n~~n~~r~Business: ~g~%s~n~~r~Price: ~g~$%d ~r~~n~~r~Profit: ~g~$%d/hr ~n~~r~Owner: ~g~%s",BizInfo[streamidn[playerid]][name],BizInfo[streamidn[playerid]][cost],BizInfo[streamidn[playerid]][profit]*2,bizowner); GameTextForPlayer(playerid,bizmes,5000,3); bizmsg[playerid] = 1; SetTimerEx("ResetText",5000,0,"i",playerid); return 1; } if(PickupInfo[streamidn[playerid]][type] == PICKUP_TYPE_BANK) { GameTextForPlayer(playerid,"~b~Type ~y~/bankhelp ~b~to see how to use the bank.",5000,3); bizmsg[playerid] = 1; SetTimerEx("ResetText",5000,0,"i",playerid); return 1; } if(HP1[pickupid] != 0) { OnPlayerEnterHousee(playerid,HP1[pickupid]); } return 1; } public ResetText(playerid) { bizmsg[playerid] = 0; } stock CloseToBank(playerid) { new Float:maxdis = 20.0; new Float:ppos[3]; GetPlayerPos(playerid, ppos[0], ppos[1], ppos[2]); for(new i = 0;i<3;i++) { if (ppos[0] >= floatsub(Pickup[i][0], maxdis) && ppos[0] <= floatadd(Pickup[i][0], maxdis) && ppos[1] >= floatsub(Pickup[i][1], maxdis) && ppos[1] <= floatadd(Pickup[i][1], maxdis) && ppos[2] >= floatsub(Pickup[i][2], maxdis) && ppos[2] <= floatadd(Pickup[i][2], maxdis)) { return i; } } return 999; } stock ClosestBiz(playerid) { new Float:ppos[3]; new Float:maxdis = 7.0; GetPlayerPos(playerid, ppos[0], ppos[1], ppos[2]); for(new i = 0;i= floatsub(BizInfo[i][xpos], maxdis) && ppos[0] <= floatadd(BizInfo[i][xpos], maxdis) && ppos[1] >= floatsub(BizInfo[i][ypos], maxdis) && ppos[1] <= floatadd(BizInfo[i][ypos], maxdis) && ppos[2] >= floatsub(BizInfo[i][zpos], maxdis) && ppos[2] <= floatadd(BizInfo[i][zpos], maxdis)) { return i; } } return 99; } stock IsModelActive(vmodel) { for(new i = 1;i<=vehcount;i++) { if(VehicleInfo[i][spawned] == 1) { if(VehicleInfo[i][model] == vmodel) { return 1; } } } return 0; } stock CountModels(maxstream) { new modelcount = 0; new modelcounted[MAX_MODEL_NUMBER]; for(new i = 1;i<=maxstream;i++) { if(VehicleInfo[i][spawned] == 1) { if(modelcounted[VehicleInfo[i][model]] == 0) { modelcount++; modelcounted[VehicleInfo[i][model]] = 1; } } } return modelcount; } stock SaveVehicles() { new filestring[256]; new File: vfile = fopen(V_FILE_SAVE, io_write); for(new vehicleid = 1;vehicleid<=vehcount;vehicleid++) { format(filestring, sizeof(filestring), "%d,%f,%f,%f,%f,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%s,%s,%d\n", VehicleInfo[vehicleid][model], VehicleInfo[vehicleid][x_spawn], VehicleInfo[vehicleid][y_spawn], VehicleInfo[vehicleid][z_spawn], VehicleInfo[vehicleid][za_spawn], VehicleInfo[vehicleid][color_1], VehicleInfo[vehicleid][color_2], VehicleInfo[vehicleid][vehiclecost], VehicleInfo[vehicleid][bought], VehicleInfo[vehicleid][secure], VehicleInfo[vehicleid][asecure], VehicleInfo[vehicleid][vused], VehicleInfo[vehicleid][buybar], VehicleInfo[vehicleid][mod1], VehicleInfo[vehicleid][mod2], VehicleInfo[vehicleid][mod3], VehicleInfo[vehicleid][mod4], VehicleInfo[vehicleid][mod5], VehicleInfo[vehicleid][mod6], VehicleInfo[vehicleid][mod7], VehicleInfo[vehicleid][mod8], VehicleInfo[vehicleid][mod9], VehicleInfo[vehicleid][mod10], VehicleInfo[vehicleid][mod11], VehicleInfo[vehicleid][mod12], VehicleInfo[vehicleid][mod13], VehicleInfo[vehicleid][mod14], VehicleInfo[vehicleid][mod15], VehicleInfo[vehicleid][mod16], VehicleInfo[vehicleid][mod17], VehicleInfo[vehicleid][owner], VehicleInfo[vehicleid][name], VehicleInfo[vehicleid][paintjob] ); fwrite(vfile, filestring); } fclose(vfile); } public ModVehicle(streamid) { new tuned2 = 0; if(VehicleInfo[streamid][mod1] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod1]);} tuned2 = 1; } if(VehicleInfo[streamid][mod2] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod2]);} tuned2 = 1; } if(VehicleInfo[streamid][mod3] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod3]);} tuned2 = 1; } if(VehicleInfo[streamid][mod4] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod4]);} tuned2 = 1; } if(VehicleInfo[streamid][mod5] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod5]);} tuned2 = 1; } if(VehicleInfo[streamid][mod6] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod6]);} tuned2 = 1; } if(VehicleInfo[streamid][mod7] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod7]);} tuned2 = 1; } if(VehicleInfo[streamid][mod8] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod8]);} tuned2 = 1; } if(VehicleInfo[streamid][mod9] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod9]);} tuned2 = 1; } if(VehicleInfo[streamid][mod10] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod10]);} tuned2 = 1; } if(VehicleInfo[streamid][mod11] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod11]);} tuned2 = 1; } if(VehicleInfo[streamid][mod12] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod12]);} tuned2 = 1; } if(VehicleInfo[streamid][mod13] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod13]);} tuned2 = 1; } if(VehicleInfo[streamid][mod14] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod14]);} tuned2 = 1; } if(VehicleInfo[streamid][mod15] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod15]);} tuned2 = 1; } if(VehicleInfo[streamid][mod16] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod16]);} tuned2 = 1; } if(VehicleInfo[streamid][mod17] != 0) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {AddVehicleComponent(VehicleInfo[streamid][idnum],VehicleInfo[streamid][mod17]);} tuned2 = 1; } if(VehicleInfo[streamid][color_1] > -1 || VehicleInfo[streamid][color_2] > -1) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {ChangeVehicleColor(VehicleInfo[streamid][idnum],VehicleInfo[streamid][color_1],VehicleInfo[streamid][color_2]);} tuned2 = 1; } if(VehicleInfo[streamid][paintjob] > -1) { if(VehicleInfo[streamid][spawned] == 1 && VehicleInfo[streamid][reset] == 0) {ChangeVehiclePaintjob(VehicleInfo[streamid][idnum],VehicleInfo[streamid][paintjob]);} tuned2 = 1; } if(tuned2 == 1) { tuned++; } } stock IsPlayerNameOnline(compname[]) { new playername[MAX_PLAYER_NAME]; for(new i=0;i<=MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { GetPlayerName(i, playername, sizeof(playername)); if(strcmp(playername,compname,false) == 0) { return i; } } } return 1000; } stock PlayersInRangeV(streamid,Float:MAX) { for(new i = 0;i= floatsub(VehicleInfo[streamid][x_spawn], MAX) && PPos[0] <= floatadd(VehicleInfo[streamid][x_spawn], MAX) && PPos[1] >= floatsub(VehicleInfo[streamid][y_spawn], MAX) && PPos[1] <= floatadd(VehicleInfo[streamid][y_spawn], MAX) && PPos[2] >= floatsub(VehicleInfo[streamid][z_spawn], MAX) && PPos[2] <= floatadd(VehicleInfo[streamid][z_spawn], MAX)) { return 1; } } } return 0; } stock PlayersInRangePU(streamid,Float:MAX) { for(new i = 0;i= floatsub(PickupInfo[streamid][x_spawn], MAX) && PPos[0] <= floatadd(PickupInfo[streamid][x_spawn], MAX) && PPos[1] >= floatsub(PickupInfo[streamid][y_spawn], MAX) && PPos[1] <= floatadd(PickupInfo[streamid][y_spawn], MAX) && PPos[2] >= floatsub(PickupInfo[streamid][z_spawn], MAX) && PPos[2] <= floatadd(PickupInfo[streamid][z_spawn], MAX)) { return 1; } } } return 0; } stock CreateStreamVehicle(modelid,Float:x,Float:y,Float:z,Float:a,col1,col2,Float:spawn_distance) { for(new i = 1;i= floatsub(x, MAX) && PPos[0] <= floatadd(x, MAX) && PPos[1] >= floatsub(y, MAX) && PPos[1] <= floatadd(y, MAX) && PPos[2] >= floatsub(z, MAX) && PPos[2] <= floatadd(z, MAX)) { return 1; } return 0; } stock CreateStreamMapIcon(markermodel,Float:x,Float:y,Float:z,Float:spawn_distance) { for(new i = 1;i Config[MaxPing])) { if(!IsPlayerXAdmin(i) || (IsPlayerXAdmin(i) && !Config[AdminImmunity])) { GetPlayerName(i,xname,24); format(string,256,"\"%s\" has been kicked from the server. (Reason: High Ping || Max Allowed: %d)",xname,Config[MaxPing]); SendClientMessageToAll(yellow,string); Kick(i); } } } }