/* Admin_drop v0.2 by Eric Foard (efoar026@uwsp.edu) and Paul Omernik (pomer587@uwsp.edu) This plugin will teleport the subject to a location where they will be subject to fall damage. * Download latest admin_drop plugin from http://students.uwsp.edu/pomer587/cs/plugin_drop.sma ** Admins must find suitable locations for maps not included in this script, and recompile. Commands: admin_drop <user> *** Special note: The coordinates 0,0,0 are reserved, and should not be used as a destination location. */ /* ===================Insert the following code with appropriate map name and coordinates======================================= CheckMap = "<map_name>"; if (streq(MapName,CheckMap)) { x = #n; y = #n; z = #n; } */ #include <core> #include <console> #include <string> #include <admin> #include <adminlib> public plugin_init() { plugin_registercmd("admin_drop","admin_drop",ACCESS_IMMUNITY,"admin_drop <user>: Drops user to predefined location."); return PLUGIN_CONTINUE; } PlayFallScream() { new i; new iMaxPlayers = maxplayercount(); new Name[MAX_NAME_LENGTH]; new UserID; new WONID; if (getvar("admin_fx") != 0) { for (i = 1; i <= iMaxPlayers; i++) { if (playerinfo(i,Name,MAX_NAME_LENGTH,UserID,WONID) != 0) { playsound(Name, "ambience/fallscream.wav"); } } } } public admin_drop(HLCommand,HLData,HLUserName,UserIndex) { new Command[MAX_COMMAND_LENGTH]; new Data[MAX_DATA_LENGTH]; new User[MAX_NAME_LENGTH]; new Text[MAX_TEXT_LENGTH]; new TargetName[MAX_NAME_LENGTH]; new MapName[MAX_NAME_LENGTH]; new CheckMap[MAX_NAME_LENGTH]; new x = 0, y = 0, z = 0; convert_string(HLCommand,Command,MAX_COMMAND_LENGTH); convert_string(HLData,Data,MAX_DATA_LENGTH); convert_string(HLUserName,User,MAX_NAME_LENGTH); get_username(Data,TargetName,MAX_NAME_LENGTH); if (check_user(TargetName) == 1) { /*Remove comment slashes to enable Admin immunity*/ //if(check_immunity(TargetName)==1) { // snprintf(Text, MAX_TEXT_LENGTH, "Laf. You can't drop '%s', you silly bear.", TargetName); // say(Text); //} else { currentmap(MapName,MAX_NAME_LENGTH); CheckMap = "as_oilrig"; if (streq(MapName,CheckMap)) { x = -508; y = -1620; z = -197; } CheckMap = "cs_747"; if (streq(MapName,CheckMap)) { x = -118; y = -2736; z = 731; } CheckMap = "cs_assault"; if (streq(MapName,CheckMap)) { x = 61; y = 1131; z = 603; } CheckMap = "cs_backalley"; if (streq(MapName,CheckMap)) { x = 1340; y = 2241; z = 267; } CheckMap = "cs_italy"; if (streq(MapName,CheckMap)) { x = -655; y = -1441; z = 475; } CheckMap = "cs_militia"; if (streq(MapName,CheckMap)) { x = 248; y = -1493; z = 439; } CheckMap = "cs_siege"; if (streq(MapName,CheckMap)) { x = -1026; y = 2364; z = 603; } CheckMap = "de_aztec"; if (streq(MapName,CheckMap)) { x = 192; y = -604; z = 987; } CheckMap = "de_cbble"; if (streq(MapName,CheckMap)) { x = -229; y = 2322; z = 347; } CheckMap = "de_dust"; if (streq(MapName,CheckMap)) { x = -1055; y = 710; z = 187; } CheckMap = "de_dust2"; if (streq(MapName,CheckMap)) { x = -434; y = 1381; z = 315; } CheckMap = "de_foption"; if (streq(MapName,CheckMap)) { x = 100; y = 100; z = 519; } CheckMap = "de_jeepathon2k"; if (streq(MapName,CheckMap)) { x = 1294; y = -2061; z = 987; } CheckMap = "de_prodigy"; if (streq(MapName,CheckMap)) { x = 3463; y = -687; z = -427; } CheckMap = "de_rats"; if (streq(MapName,CheckMap)) { x = -41; y = -219; z = 488; } CheckMap = "de_storm"; if (streq(MapName,CheckMap)) { x = 70; y = 769; z = 227; } CheckMap = "de_survivor"; if (streq(MapName,CheckMap)) { x = 842; y = 810; z = 251; } CheckMap = "de_vegas"; if (streq(MapName,CheckMap)) { x = 2981; y = -3237; z = 323; } CheckMap = "de_vertigo"; if (streq(MapName,CheckMap)) { x = -1761; y = 1062; z = -179; } /*Insert new maps above this line*/ if((x!=0)&&(y!=0)&&(z!=0)) { execclient(TargetName,"+duck"); teleport(TargetName,x,y,z+200); PlayFallScream(); teleport(TargetName,x,y,z); snprintf(Text, MAX_TEXT_LENGTH, "'%s' was thrown to the earth for attacking his fellow man!", TargetName); typesay(Text,5,255,0,0); execclient(TargetName,"-duck"); } else { snprintf(Text, MAX_TEXT_LENGTH, "No coordinates found for '%s'.", MapName); selfmessage(Text); } /*Remove comment slashes to enable Admin immunity*/ //} } else { selfmessage("Unrecognized player: "); selfmessage(TargetName); } return PLUGIN_HANDLED; }