Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include common_scripts\utility;
- #include maps\mp\_utility;
- #include maps\mp\gametypes\_hud_util;
- /***************************************\
- |* GUN GAME 2.0 by MW2 Pro Tactics *|
- |* http://skixtech.com/mw2-pro-tactics *|
- \***************************************/
- initGuns()
- {
- //Gun Name, Laser Sight, Akimbo
- addGun("throwingknife_mp", false, false);
- addGun("usp_fmj_mp", false, false);
- addGun("usp_akimbo_fmj_mp", false, true);
- addGun("beretta_fmj_mp", false, false);
- addGun("beretta_akimbo_fmj_mp", false, true);
- addGun("coltanaconda_fmj_mp", false, false);
- addGun("coltanaconda_akimbo_fmj_mp", false, true);
- addGun("deserteagle_fmj_mp", false, false);
- addGun("deserteaglegold_mp", false, false);
- addGun("deserteagle_akimbo_fmj_mp", false, true);
- addGun("pp2000_mp", true, false);
- addGun("pp2000_akimbo_silencer_mp", true, true);
- addGun("tmp_mp", true, false);
- addGun("tmp_akimbo_xmags_mp", true, true);
- addGun("beretta393_eotech_mp", true, false);
- addGun("beretta393_akimbo_mp", true, true);
- addGun("glock_mp", true, false);
- addGun("glock_akimbo_silencer_mp", true, true);
- addGun("ranger_fmj_mp", false, false);
- addGun("ranger_akimbo_mp", false , true);
- addGun("model1887_fmj_mp", true, false);
- addGun("model1887_akimbo_mp", true, true);
- addGun("m1014_grip_reflex_mp", true, false);
- addGun("striker_grip_reflex_mp", true, false);
- addGun("aa12_eotech_grip_mp", true, false);
- addGun("spas12_grip_mp", true, false);
- addGun("uzi_reflex_rof_mp", true, false);
- addGun("uzi_akimbo_xmags_mp", true, true);
- addGun("mp5k_reflex_rof_mp", true, false);
- addGun("mp5k_akimbo_silencer_mp", true, true);
- addGun("ump45_reflex_rof_mp", true, false);
- addGun("ump45_akimbo_fmj_mp", true, true);
- addGun("p90_fmj_silencer_mp", true, true);
- addGun("p90_akimbo_rof_mp", true, true);
- addGun("kriss_thermal_xmags_mp", true, false);
- addGun("kriss_akimbo_rof_mp", true, true);
- addGun("famas_eotech_silencer_mp", true, false);
- addGun("fal_acog_mp", true, false);
- addGun("fn2000_heartbeat_mp", true, false);
- addGun("scar_reflex_mp", true, false);
- addGun("m4_fmj_silencer_mp", true, false);
- addGun("ak47_heartbeat_silencer_mp", true, false);
- addGun("m16_reflex_mp", true, false);
- addGun("masada_reflex_mp", true, false);
- addGun("sa80_grip_xmags_mp", true, false);
- addGun("aug_grip_mp", true, false);
- addGun("rpd_grip_mp", true, false);
- addGun("mg4_grip_mp", true, false);
- addGun("m240_grip_mp", true, false);
- addGun("wa2000_fmj_mp", false, false);
- addGun("m21_fmj_mp", false, false);
- addGun("barrett_fmj_mp", false, false);
- addGun("cheytac_fmj_mp", false, false);
- addGun("m79_mp", false, false);
- addGun("at4_mp", true, false);
- addGun("frag_grenade_mp", false, false);
- addGun("semtex_mp", false, false);
- addGun("claymore_mp", false, false);
- addGun("c4_mp", false, false);
- addGun("rpg_mp", false, false);
- addGun("javelin_mp", true, false);
- addGun("stinger_mp", false, false);
- addGun("ac130_25mm_mp", false, false);
- addGun("ac130_40mm_mp", false, false);
- addGun("ac130_105mm_mp", false, false);
- }
- addGun(gunName, laserSight, akimbo)
- {
- if(!isdefined(self.gunlist)) self.gunlist = [];
- gun = spawnstruct();
- gun.name = gunName;
- gun.laser = laserSight;
- gun.akimbo = akimbo;
- gun.camo = 7;
- self.gunlist[self.gunlist.size] = gun;
- }
- spawnplayer()
- {
- self thread SuperFlash();
- self _clearPerks();
- self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
- self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
- self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");
- self maps\mp\perks\_perks::givePerk("specialty_exposeenemy");
- self maps\mp\perks\_perks::givePerk("specialty_extendedmags");
- self maps\mp\perks\_perks::givePerk("specialty_fastreload");
- self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");
- self maps\mp\perks\_perks::givePerk("specialty_marathon");
- if(!isdefined(self.started)){
- self.scoretext = self createFontString("default", 1.5);
- self.scoretext setPoint("TOPRIGHT", "TOPRIGHT", -5, 0);
- if(self ishost()){
- level.cbpk = level.callbackPlayerKilled;
- level.callbackPlayerKilled = ::callbackPlayerKilled;
- }
- if(!isdefined(self.gunlist) || self.gunlist.size == 0){
- self initGuns();
- setdvarifuninitialized("gg_mode", "normal");
- level.ggmode = getdvar("gg_mode");
- if(level.ggmode == "randommode"){
- switch(randomint(3)){
- case 0:
- level.ggmode = "random";
- break;
- case 1:
- level.ggmode = "inverse";
- break;
- }
- }
- if(level.ggmode == "random"){
- for(i = 0; i < self.gunlist.size; i++){
- gun = self.gunlist[i];
- rand = randomint(self.gunlist.size);
- self.gunlist[i] = self.gunlist[rand];
- self.gunlist[rand] = gun;
- }
- }else if(level.ggmode == "inverse"){
- for(i = 0; i < self.gunlist.size / 2; i++){
- gun = self.gunlist[i];
- self.gunlist[i] = self.gunlist[self.gunlist.size - i - 1];
- self.gunlist[self.gunlist.size - i - 1] = gun;
- }
- }
- self.gunlist[self.gunlist.size] = addGun("onemanarmy_mp", false, false);
- }
- setDvar("party_hostmigration", 0);
- setDvar("badhost_endGameIfISuck", 0);
- setDvar("scr_dm_scorelimit", 0);
- setDvar("scr_dm_timelimit", 0);
- setDvar("scr_war_scorelimit", 0);
- setDvar("scr_war_timelimit", 0);
- setDvar("bg_fallDamageMaxHeight", 5001);
- setDvar("bg_fallDamageMinHeight", 5000);
- setDvar("scr_ctf_waverespawndelay", 0);
- setDvar("scr_sab_playerrespawndelay", 0);
- setDvar("scr_maxPerPlayerExplosives", 8);
- setDvar("scr_nukeCancelMode", 2);
- setDvar("scr_nukeTimer", 20);
- setDvar("ui_gametype", "Gungame 2.0 by MW2 Pro Tactics");
- self setClientDvar("cg_scoreboardPingText", 1);
- if(level.ggmode == "random"){
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2Random Gun Game 2.0");
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2Kill Enemies to Change Your Gun");
- }else if(level.ggmode == "inverse"){
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2Inverse Gun Game 2.0");
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2Kill Enemies to Downgrade Your Gun");
- }else{
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2Gun Game 2.0");
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2Kill Enemies to Upgrade Your Gun");
- }
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2Press ^7[{+actionslot 2}]^2 to Taunt");
- //DO NOT REMOVE THE FOLLOWING LINE
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2For more great mods:");
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2Donate at skixtech.com/donate!");
- //DO NOT REMOVE THAT ^
- self.started = true;
- }
- self thread doGun();
- self thread doAmmo();
- self notify("updateweapon");
- }
- doGun()
- {
- self endon("death");
- while(true){
- self waittill("updateweapon");
- if(self.gunlevel < 0) self.gunlevel = 0;
- if(self.gunlist[self.gunlevel].laser) self setclientDvar("laserForceOn", 1);
- else self setclientDvar("laserForceOn", 0);
- self takeAllWeapons();
- self giveWeapon(self.gunlist[self.gunlevel].name, self.gunlist[self.gunlevel].camo, self.gunlist[self.gunlevel].akimbo);
- self giveMaxAmmo(self.gunlist[self.gunlevel].name);
- self.scoretext setText("^3 Level " + (self.gunlevel + 1));
- i = 0;
- while(i < 10 && self getcurrentweapon() != self.gunlist[self.gunlevel].name){
- self switchToWeapon(self.gunlist[self.gunlevel].name);
- wait .2;
- i++;
- }
- if(i == 10) self suicide();
- if(self.gunlevel == self.gunlist.size - 1) self maps\mp\killstreaks\_killstreaks::giveKillstreak("nuke", true, true);
- setDvar("cg_drawcrosshair", 0);
- }
- }
- doAmmo(){
- self endon("disconnect");
- self endon("death");
- self notifyonplayercommand("restart", "-activate");
- while(true){
- self thread doAmmo2();
- self waittill("restart");
- }
- }
- doAmmo2(){
- self notifyonplayercommand("stopit", "+activate");
- self endon("stopit");
- self endon("disconnect");
- self endon("death");
- while(true){
- wait 1;
- self giveMaxAmmo(self.gunlist[self.gunlevel].name);
- if(self getcurrentweapon() != self.gunlist[self.gunlevel].name) self switchToWeapon(self.gunlist[self.gunlevel].name);
- setDvar("cg_drawcrosshair", 0);
- }
- }
- callbackPlayerKilled(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration){
- if(sMeansOfDeath == "MOD_MELEE"){
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2LOL NOOB U GOT KNIFED!");
- self.gunlevel--;
- }else if(isdefined(eAttacker) && eAttacker != self && isdefined(eAttacker.gunlist) && sWeapon == eAttacker.gunlist[eAttacker.gunlevel] && eAttacker.gunlevel < eAttacker.gunlist.size-1){
- eAttacker thread maps\mp\gametypes\_hud_message::hintMessage("^2Weapon Upgraded!");
- eAttacker.gunlevel++;
- eAttacker notify("updateweapon");
- }else{
- self thread maps\mp\gametypes\_hud_message::hintMessage("^2LOL U SUICIDED U NOOB!");
- self.gunlevel--;
- }
- self takeAllWeapons();
- self [[level.cbpk]](eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration);
- }
- SuperFlash(){
- self endon("death");
- self notifyonplayercommand("taunt", "+actionslot 2");
- for(;;){
- self waittill("taunt");
- sound = "";
- switch(randomint(18)){
- case 0:
- sound = "mp_stm_enemyspotted";
- break;
- case 1:
- sound = "mp_stm_iminposition";
- break;
- case 2:
- sound = "mp_stm_areasecure";
- break;
- case 3:
- sound = "mp_stm_sniper";
- break;
- case 4:
- sound = "mp_stm_needreinforcements";
- break;
- case 5:
- sound = "mp_rsp_yessir";
- break;
- case 6:
- sound = "mp_rsp_nosir";
- break;
- case 7:
- sound = "mp_rsp_onmyway";
- break;
- case 8:
- sound = "mp_rsp_sorry";
- break;
- case 9:
- sound = "mp_rsp_greatshot";
- break;
- case 10:
- sound = "mp_cmd_followme";
- break;
- case 11:
- sound = "mp_cmd_movein";
- break;
- case 12:
- sound = "mp_cmd_fallback";
- break;
- case 13:
- sound = "mp_cmd_suppressfire";
- break;
- case 14:
- sound = "mp_cmd_attackleftflank";
- break;
- case 15:
- sound = "mp_cmd_attackrightflank";
- break;
- case 16:
- sound = "mp_cmd_holdposition";
- break;
- case 17:
- sound = "mp_cmd_regroup";
- break;
- }
- self playSound(maps\mp\gametypes\_teams::getTeamVoicePrefix(self.team) + sound);
- wait 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement