Removing MMS & Target Finder Attachments [Bo2]
-
@Vexbane I was finally able to get it to work in a TDM mode, I tried it a bit, doing what you mentioned.
/* * Black Ops 2 - GSC Studio by iMCSx * * Creator : Kalitos * Project : Restriccion de armas * Mode : Multiplayer * Date : 2020/04/05 - 13:35:30 * */ #include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\gametypes\_hud_util; #include maps\mp\gametypes\_hud_message; init() { level.loadoutkillstreaksenabled = false; level.AttachmentRestrict="+rangefinder,+mms"; level.WeaponRestrict= "mp7_mp"; game["strings"]["change_class"] = undefined; level thread onPlayerConnect(); } onPlayerConnect() { for(;;) { level waittill("connected", player); player thread onPlayerSpawned(); player thread doChangeClass(); } } onPlayerSpawned() { self endon("disconnect"); level endon("game_ended"); for(;;) { self waittill("spawned_player"); if(!isDefined(self.isFirstSpawn)) { self iprintln("^5Black Ops 2 - Script ^7| ^5Weapons ^7and ^5attachments ^7restriction ^5| ^7By: ^2Kalitos"); self.isFirstSpawn=true; } } } doChangeClass() { self endon("disconnect"); level endon("game_ended"); self.OldPrimaryWeapon=""; self.OldSecondaryWeapon=""; for(;;) { self waittill_any("changed_class", "spawned_player"); //if ( level.inGracePeriod && !self.hasDoneCombat ) // used weapons check? //{ //self iprintln("Se ha iniciado el monitor de cambio de clase"); //player.checkChangeClass = true; changeWeaponsOnClass(); self notify ("change_class_complete"); //} //self iprintln("Periodo de gracia : " + level.inGracePeriod + ", Ha hecho combate: " + self.hasDoneCombat); } } getNumClass(class) { if ( issubstr( class, "CLASS_CUSTOM" ) ) { switch ( class ) { case "CLASS_CUSTOM1": class_num1=0; break; case "CLASS_CUSTOM2": class_num1=1; break; case "CLASS_CUSTOM3": class_num1=2; break; case "CLASS_CUSTOM4": class_num1=3; break; case "CLASS_CUSTOM5": class_num1=4; break; case "CLASS_CUSTOM6": class_num1=5; break; case "CLASS_CUSTOM7": class_num1=6; break; case "CLASS_CUSTOM8": class_num1=7; break; case "CLASS_CUSTOM9": class_num1=8; break; case "CLASS_CUSTOM10": class_num1=9; break; default : break; } return class_num1; } else { return level.classtoclassnum[class ]; } } changeWeaponsOnClass() { //self endon("disconnect"); //level endon("game_ended"); //self endon("round_ended"); self endon("change_class_complete"); class_num1 = getNumClass(self.class); weaponP = self getloadoutweapon( class_num1, "primary" ); weaponS = self getloadoutweapon( class_num1, "secondary" ); //self iprintln(weaponP + " :: " + weaponS); //self getloadoutitem( class_num, "primarygrenadecount" ); if(self.OldPrimaryWeapon!=""){ self takeWeapon(self.OldPrimaryWeapon); } if(self.OldSecondaryWeapon!=""){ self takeWeapon(self.OldSecondaryWeapon); } NWeaponP= getClearWeaponAttachment(weaponP,"P"); // Remove all attachment restrict NweaponS= getClearWeaponAttachment(weaponS,"S"); // Remove all attachment restrict //self iprintln("Arma primaria: "+ self.OldPrimaryWeapon + ", Arma secundaria: " + self.OldSecondaryWeapon); //if(NWeaponP!=weaponP) //{ self takeWeapon(weaponP); self giveWeapon(NWeaponP); self switchToWeapon(NWeaponP); //} //if(NWeaponS!=weaponS) //{ wait 0.50; self takeWeapon(weaponS); self giveWeapon(NWeaponS); //}else //{ restriccionAt = strTok(level.AttachmentRestrict,","); arrayWeapon = strTok(Weapon,"+"); if(isInArray(arrayWeapon,"+dw")) // If pistol has +dw { if (getWeaponClassOfArray(weaponS) == "weapon_pistol" && getSizeArrayWeaponSrTok(weaponS)==1) { self takeWeapon(weaponS); self giveWeapon("beretta93r_mp"); } } //} } getSizeArrayWeaponSrTok(array) { arrayWeapon = strTok(array,"+"); return arrayWeapon.size; } getWeaponClassOfArray(Weapon) { arrayWeapon = strTok(Weapon,"+"); return getWeaponClass(arrayWeapon[0]); } getClearWeaponAttachment(Weapon,PorS) { restriccionAt = strTok(level.AttachmentRestrict,","); arrayWeapon = strTok(Weapon,"+"); NewWeapon = ""; if (checkWeaponNotAllowed(Weapon)==1) // If is a weapon restrict { arrayWeapon[0]= getWeaponAllowed(Weapon); // Replace weapon with aleatory weapon allowed ( Same Type that weapon restrict ) } for (j=0;j< arrayWeapon.size; j++) { if(j==0) // Is the weapon { temp=arrayWeapon[j]; }else { temp="+"+arrayWeapon[j]; } if(!isInArray(restriccionAt, temp)) { NewWeapon=NewWeapon+temp; } } if(PorS=="P"){ self.OldPrimaryWeapon=NewWeapon; }else{ self.OldSecondaryWeapon=NewWeapon; } return NewWeapon; } checkWeaponNotAllowed(Weapon) { if(level.WeaponRestrict==""){ return 0; } restriccionWeapon = strTok(level.WeaponRestrict,","); arrayWeapon = strTok(Weapon,"+"); if(isInArray(restriccionWeapon, arrayWeapon[0])) { return 1; } return 0; } getWeaponAllowed(Weapon) { restriccionWeapon = strTok(level.WeaponRestrict,","); arrayWeapon = strTok(Weapon,"+"); arrayWeaponAllowed=WeaponsArray(getWeaponClass(arrayWeapon[0])); randomWeapon= ""; while(true) { randomWeaponIndex = randomInt(arrayWeaponAllowed.size); randomWeapon = arrayWeaponAllowed[randomWeaponIndex]; if(!isInArray(restriccionWeapon,randomWeapon)) { break; } } return randomWeapon; } WeaponsArray(category) { level.WeaponArray["All"][0] = "tar21_mp"; level.WeaponArray["All"][1] = "type95_mp"; level.WeaponArray["All"][2] = "sig556_mp"; level.WeaponArray["All"][3] = "sa58_mp"; level.WeaponArray["All"][4] = "hk416_mp"; level.WeaponArray["All"][5] = "scar_mp"; level.WeaponArray["All"][6] = "saritch_mp"; level.WeaponArray["All"][7] = "xm8_mp"; level.WeaponArray["All"][8] = "an94_mp"; level.WeaponArray["All"][9] = "peacekeeper_mp"; level.WeaponArray["All"][10] = "870mcs_mp"; level.WeaponArray["All"][11] = "saiga12_mp"; level.WeaponArray["All"][12] = "ksg_mp"; level.WeaponArray["All"][13] = "srm1216_mp"; level.WeaponArray["All"][14] = "mk48_mp"; level.WeaponArray["All"][15] = "qbb95_mp"; level.WeaponArray["All"][16] = "lsat_mp"; level.WeaponArray["All"][17] = "hamr_mp"; level.WeaponArray["All"][18] = "mp7_mp"; level.WeaponArray["All"][19] = "pdw57_mp"; level.WeaponArray["All"][20] = "vector_mp"; level.WeaponArray["All"][21] = "insas_mp"; level.WeaponArray["All"][22] = "qcw05_mp"; level.WeaponArray["All"][23] = "evoskorpion_mp"; level.WeaponArray["All"][24] = "svu_mp"; level.WeaponArray["All"][25] = "dsr50_mp"; level.WeaponArray["All"][26] = "ballista_mp"; level.WeaponArray["All"][27] = "as50_mp"; level.WeaponArray["All"][28] = "fiveseven_mp"; level.WeaponArray["All"][29] = "fnp45_mp"; level.WeaponArray["All"][30] = "beretta93r_mp"; level.WeaponArray["All"][31] = "judge_mp"; level.WeaponArray["All"][32] = "kard_mp"; level.WeaponArray["All"][33] = "smaw_mp"; level.WeaponArray["All"][34] = "usrpg_mp"; level.WeaponArray["All"][35] = "fhj18_mp"; level.WeaponArray["All"][36] = "crossbow_mp"; level.WeaponArray["All"][37] = "knife_ballistic_mp"; level.WeaponArray["All"][38] = "knife_held_mp"; level.WeaponArray["All"][39] = "frag_grenade_mp"; level.WeaponArray["All"][40] = "hatchet_mp"; level.WeaponArray["All"][41] = "sticky_grenade_mp"; level.WeaponArray["All"][42] = "satchel_charge_mp"; level.WeaponArray["All"][43] = "bouncingbetty_mp"; level.WeaponArray["All"][44] = "claymore_mp"; level.WeaponArray["All"][45] = "flash_grenade_mp"; level.WeaponArray["All"][46] = "smoke_center_mp"; level.WeaponArray["All"][47] = "concussion_grenade_mp"; level.WeaponArray["All"][48] = "emp_grenade_mp"; level.WeaponArray["All"][49] = "sensor_grenade_mp"; level.WeaponArray["All"][50] = "pda_hack_mp"; level.WeaponArray["All"][51] = "tactical_insertion_mp"; level.WeaponArray["All"][52] = "proximity_grenade_mp"; level.WeaponArray["Assault"][0] = "tar21_mp"; level.WeaponArray["Assault"][1] = "type95_mp"; level.WeaponArray["Assault"][2] = "sig556_mp"; level.WeaponArray["Assault"][3] = "sa58_mp"; level.WeaponArray["Assault"][4] = "hk416_mp"; level.WeaponArray["Assault"][5] = "scar_mp"; level.WeaponArray["Assault"][6] = "saritch_mp"; level.WeaponArray["Assault"][7] = "xm8_mp"; level.WeaponArray["Assault"][8] = "an94_mp"; level.WeaponArray["Assault"][9] = "peacekeeper_mp"; level.WeaponArray["Shotgun"][0] = "870mcs_mp"; level.WeaponArray["Shotgun"][1] = "saiga12_mp"; level.WeaponArray["Shotgun"][2] = "ksg_mp"; level.WeaponArray["Shotgun"][3] = "srm1216_mp"; level.WeaponArray["LMG"][0] = "mk48_mp"; level.WeaponArray["LMG"][1] = "qbb95_mp"; level.WeaponArray["LMG"][2] = "lsat_mp"; level.WeaponArray["LMG"][3] = "hamr_mp"; level.WeaponArray["SMG"][0] = "mp7_mp"; level.WeaponArray["SMG"][1] = "pdw57_mp"; level.WeaponArray["SMG"][2] = "vector_mp"; level.WeaponArray["SMG"][3] = "insas_mp"; level.WeaponArray["SMG"][4] = "qcw05_mp"; level.WeaponArray["SMG"][5] = "evoskorpion_mp"; level.WeaponArray["Sniper"][0] = "svu_mp"; level.WeaponArray["Sniper"][1] = "dsr50_mp"; level.WeaponArray["Sniper"][2] = "ballista_mp"; level.WeaponArray["Sniper"][3] = "as50_mp"; level.WeaponArray["Pistol"][0] = "fiveseven_mp"; level.WeaponArray["Pistol"][1] = "fnp45_mp"; level.WeaponArray["Pistol"][2] = "beretta93r_mp"; level.WeaponArray["Pistol"][3] = "judge_mp"; level.WeaponArray["Pistol"][4] = "kard_mp"; level.WeaponArray["Launcher"][0] = "smaw_mp"; level.WeaponArray["Launcher"][1] = "usrpg_mp"; level.WeaponArray["Launcher"][2] = "fhj18_mp"; level.WeaponArray["Special"][0] = "crossbow_mp"; level.WeaponArray["Special"][1] = "knife_ballistic_mp"; level.WeaponArray["Special"][2] = "knife_held_mp"; level.WeaponArray["Lethal"][0] = "frag_grenade_mp"; level.WeaponArray["Lethal"][1] = "hatchet_mp"; level.WeaponArray["Lethal"][2] = "sticky_grenade_mp"; level.WeaponArray["Lethal"][3] = "satchel_charge_mp"; level.WeaponArray["Lethal"][4] = "bouncingbetty_mp"; level.WeaponArray["Lethal"][5] = "claymore_mp"; level.WeaponArray["Tactical"][0] = "flash_grenade_mp"; level.WeaponArray["Tactical"][1] = "smoke_center_mp"; level.WeaponArray["Tactical"][2] = "concussion_grenade_mp"; level.WeaponArray["Tactical"][3] = "emp_grenade_mp"; level.WeaponArray["Tactical"][4] = "sensor_grenade_mp"; level.WeaponArray["Tactical"][5] = "pda_hack_mp"; level.WeaponArray["Tactical"][6] = "tactical_insertion_mp"; level.WeaponArray["Tactical"][7] = "proximity_grenade_mp"; if (category == "All") return level.WeaponArray["All"]; else if(category == "weapon_assault") return level.WeaponArray["Assault"]; else if(category == "weapon_shotgun") return level.WeaponArray["Shotgun"]; else if(category == "weapon_lmg") return level.WeaponArray["Assault"]; //Replace with assault if you block all LMG else if(category == "weapon_smg") return level.WeaponArray["SMG"]; else if(category == "weapon_sniper") return level.WeaponArray["Sniper"]; else if(category == "weapon_pistol") return level.WeaponArray["Pistol"]; else if(category == "weapon_launcher") return level.WeaponArray["Pistol"]; // Replace with pistol if you block all launchers else if(category == "weapon_special") return level.WeaponArray["Special"]; else if(category == "weapon_grenade") return level.WeaponArray["Lethal"]; else if(category == "Tactical") return level.WeaponArray["Tactical"]; }Try it, and tell me.
Kalitos said in Removing MMS & Target Finder Attachments [Bo2]:
@Vexbane I was finally able to get it to work in a TDM mode, I tried it a bit, doing what you mentioned.
/* * Black Ops 2 - GSC Studio by iMCSx * * Creator : Kalitos * Project : Restriccion de armas * Mode : Multiplayer * Date : 2020/04/05 - 13:35:30 * */ #include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\gametypes\_hud_util; #include maps\mp\gametypes\_hud_message; init() { level.loadoutkillstreaksenabled = false; level.AttachmentRestrict="+rangefinder,+mms"; level.WeaponRestrict= "mp7_mp"; game["strings"]["change_class"] = undefined; level thread onPlayerConnect(); } onPlayerConnect() { for(;;) { level waittill("connected", player); player thread onPlayerSpawned(); player thread doChangeClass(); } } onPlayerSpawned() { self endon("disconnect"); level endon("game_ended"); for(;;) { self waittill("spawned_player"); if(!isDefined(self.isFirstSpawn)) { self iprintln("^5Black Ops 2 - Script ^7| ^5Weapons ^7and ^5attachments ^7restriction ^5| ^7By: ^2Kalitos"); self.isFirstSpawn=true; } } } doChangeClass() { self endon("disconnect"); level endon("game_ended"); self.OldPrimaryWeapon=""; self.OldSecondaryWeapon=""; for(;;) { self waittill_any("changed_class", "spawned_player"); //if ( level.inGracePeriod && !self.hasDoneCombat ) // used weapons check? //{ //self iprintln("Se ha iniciado el monitor de cambio de clase"); //player.checkChangeClass = true; changeWeaponsOnClass(); self notify ("change_class_complete"); //} //self iprintln("Periodo de gracia : " + level.inGracePeriod + ", Ha hecho combate: " + self.hasDoneCombat); } } getNumClass(class) { if ( issubstr( class, "CLASS_CUSTOM" ) ) { switch ( class ) { case "CLASS_CUSTOM1": class_num1=0; break; case "CLASS_CUSTOM2": class_num1=1; break; case "CLASS_CUSTOM3": class_num1=2; break; case "CLASS_CUSTOM4": class_num1=3; break; case "CLASS_CUSTOM5": class_num1=4; break; case "CLASS_CUSTOM6": class_num1=5; break; case "CLASS_CUSTOM7": class_num1=6; break; case "CLASS_CUSTOM8": class_num1=7; break; case "CLASS_CUSTOM9": class_num1=8; break; case "CLASS_CUSTOM10": class_num1=9; break; default : break; } return class_num1; } else { return level.classtoclassnum[class ]; } } changeWeaponsOnClass() { //self endon("disconnect"); //level endon("game_ended"); //self endon("round_ended"); self endon("change_class_complete"); class_num1 = getNumClass(self.class); weaponP = self getloadoutweapon( class_num1, "primary" ); weaponS = self getloadoutweapon( class_num1, "secondary" ); //self iprintln(weaponP + " :: " + weaponS); //self getloadoutitem( class_num, "primarygrenadecount" ); if(self.OldPrimaryWeapon!=""){ self takeWeapon(self.OldPrimaryWeapon); } if(self.OldSecondaryWeapon!=""){ self takeWeapon(self.OldSecondaryWeapon); } NWeaponP= getClearWeaponAttachment(weaponP,"P"); // Remove all attachment restrict NweaponS= getClearWeaponAttachment(weaponS,"S"); // Remove all attachment restrict //self iprintln("Arma primaria: "+ self.OldPrimaryWeapon + ", Arma secundaria: " + self.OldSecondaryWeapon); //if(NWeaponP!=weaponP) //{ self takeWeapon(weaponP); self giveWeapon(NWeaponP); self switchToWeapon(NWeaponP); //} //if(NWeaponS!=weaponS) //{ wait 0.50; self takeWeapon(weaponS); self giveWeapon(NWeaponS); //}else //{ restriccionAt = strTok(level.AttachmentRestrict,","); arrayWeapon = strTok(Weapon,"+"); if(isInArray(arrayWeapon,"+dw")) // If pistol has +dw { if (getWeaponClassOfArray(weaponS) == "weapon_pistol" && getSizeArrayWeaponSrTok(weaponS)==1) { self takeWeapon(weaponS); self giveWeapon("beretta93r_mp"); } } //} } getSizeArrayWeaponSrTok(array) { arrayWeapon = strTok(array,"+"); return arrayWeapon.size; } getWeaponClassOfArray(Weapon) { arrayWeapon = strTok(Weapon,"+"); return getWeaponClass(arrayWeapon[0]); } getClearWeaponAttachment(Weapon,PorS) { restriccionAt = strTok(level.AttachmentRestrict,","); arrayWeapon = strTok(Weapon,"+"); NewWeapon = ""; if (checkWeaponNotAllowed(Weapon)==1) // If is a weapon restrict { arrayWeapon[0]= getWeaponAllowed(Weapon); // Replace weapon with aleatory weapon allowed ( Same Type that weapon restrict ) } for (j=0;j< arrayWeapon.size; j++) { if(j==0) // Is the weapon { temp=arrayWeapon[j]; }else { temp="+"+arrayWeapon[j]; } if(!isInArray(restriccionAt, temp)) { NewWeapon=NewWeapon+temp; } } if(PorS=="P"){ self.OldPrimaryWeapon=NewWeapon; }else{ self.OldSecondaryWeapon=NewWeapon; } return NewWeapon; } checkWeaponNotAllowed(Weapon) { if(level.WeaponRestrict==""){ return 0; } restriccionWeapon = strTok(level.WeaponRestrict,","); arrayWeapon = strTok(Weapon,"+"); if(isInArray(restriccionWeapon, arrayWeapon[0])) { return 1; } return 0; } getWeaponAllowed(Weapon) { restriccionWeapon = strTok(level.WeaponRestrict,","); arrayWeapon = strTok(Weapon,"+"); arrayWeaponAllowed=WeaponsArray(getWeaponClass(arrayWeapon[0])); randomWeapon= ""; while(true) { randomWeaponIndex = randomInt(arrayWeaponAllowed.size); randomWeapon = arrayWeaponAllowed[randomWeaponIndex]; if(!isInArray(restriccionWeapon,randomWeapon)) { break; } } return randomWeapon; } WeaponsArray(category) { level.WeaponArray["All"][0] = "tar21_mp"; level.WeaponArray["All"][1] = "type95_mp"; level.WeaponArray["All"][2] = "sig556_mp"; level.WeaponArray["All"][3] = "sa58_mp"; level.WeaponArray["All"][4] = "hk416_mp"; level.WeaponArray["All"][5] = "scar_mp"; level.WeaponArray["All"][6] = "saritch_mp"; level.WeaponArray["All"][7] = "xm8_mp"; level.WeaponArray["All"][8] = "an94_mp"; level.WeaponArray["All"][9] = "peacekeeper_mp"; level.WeaponArray["All"][10] = "870mcs_mp"; level.WeaponArray["All"][11] = "saiga12_mp"; level.WeaponArray["All"][12] = "ksg_mp"; level.WeaponArray["All"][13] = "srm1216_mp"; level.WeaponArray["All"][14] = "mk48_mp"; level.WeaponArray["All"][15] = "qbb95_mp"; level.WeaponArray["All"][16] = "lsat_mp"; level.WeaponArray["All"][17] = "hamr_mp"; level.WeaponArray["All"][18] = "mp7_mp"; level.WeaponArray["All"][19] = "pdw57_mp"; level.WeaponArray["All"][20] = "vector_mp"; level.WeaponArray["All"][21] = "insas_mp"; level.WeaponArray["All"][22] = "qcw05_mp"; level.WeaponArray["All"][23] = "evoskorpion_mp"; level.WeaponArray["All"][24] = "svu_mp"; level.WeaponArray["All"][25] = "dsr50_mp"; level.WeaponArray["All"][26] = "ballista_mp"; level.WeaponArray["All"][27] = "as50_mp"; level.WeaponArray["All"][28] = "fiveseven_mp"; level.WeaponArray["All"][29] = "fnp45_mp"; level.WeaponArray["All"][30] = "beretta93r_mp"; level.WeaponArray["All"][31] = "judge_mp"; level.WeaponArray["All"][32] = "kard_mp"; level.WeaponArray["All"][33] = "smaw_mp"; level.WeaponArray["All"][34] = "usrpg_mp"; level.WeaponArray["All"][35] = "fhj18_mp"; level.WeaponArray["All"][36] = "crossbow_mp"; level.WeaponArray["All"][37] = "knife_ballistic_mp"; level.WeaponArray["All"][38] = "knife_held_mp"; level.WeaponArray["All"][39] = "frag_grenade_mp"; level.WeaponArray["All"][40] = "hatchet_mp"; level.WeaponArray["All"][41] = "sticky_grenade_mp"; level.WeaponArray["All"][42] = "satchel_charge_mp"; level.WeaponArray["All"][43] = "bouncingbetty_mp"; level.WeaponArray["All"][44] = "claymore_mp"; level.WeaponArray["All"][45] = "flash_grenade_mp"; level.WeaponArray["All"][46] = "smoke_center_mp"; level.WeaponArray["All"][47] = "concussion_grenade_mp"; level.WeaponArray["All"][48] = "emp_grenade_mp"; level.WeaponArray["All"][49] = "sensor_grenade_mp"; level.WeaponArray["All"][50] = "pda_hack_mp"; level.WeaponArray["All"][51] = "tactical_insertion_mp"; level.WeaponArray["All"][52] = "proximity_grenade_mp"; level.WeaponArray["Assault"][0] = "tar21_mp"; level.WeaponArray["Assault"][1] = "type95_mp"; level.WeaponArray["Assault"][2] = "sig556_mp"; level.WeaponArray["Assault"][3] = "sa58_mp"; level.WeaponArray["Assault"][4] = "hk416_mp"; level.WeaponArray["Assault"][5] = "scar_mp"; level.WeaponArray["Assault"][6] = "saritch_mp"; level.WeaponArray["Assault"][7] = "xm8_mp"; level.WeaponArray["Assault"][8] = "an94_mp"; level.WeaponArray["Assault"][9] = "peacekeeper_mp"; level.WeaponArray["Shotgun"][0] = "870mcs_mp"; level.WeaponArray["Shotgun"][1] = "saiga12_mp"; level.WeaponArray["Shotgun"][2] = "ksg_mp"; level.WeaponArray["Shotgun"][3] = "srm1216_mp"; level.WeaponArray["LMG"][0] = "mk48_mp"; level.WeaponArray["LMG"][1] = "qbb95_mp"; level.WeaponArray["LMG"][2] = "lsat_mp"; level.WeaponArray["LMG"][3] = "hamr_mp"; level.WeaponArray["SMG"][0] = "mp7_mp"; level.WeaponArray["SMG"][1] = "pdw57_mp"; level.WeaponArray["SMG"][2] = "vector_mp"; level.WeaponArray["SMG"][3] = "insas_mp"; level.WeaponArray["SMG"][4] = "qcw05_mp"; level.WeaponArray["SMG"][5] = "evoskorpion_mp"; level.WeaponArray["Sniper"][0] = "svu_mp"; level.WeaponArray["Sniper"][1] = "dsr50_mp"; level.WeaponArray["Sniper"][2] = "ballista_mp"; level.WeaponArray["Sniper"][3] = "as50_mp"; level.WeaponArray["Pistol"][0] = "fiveseven_mp"; level.WeaponArray["Pistol"][1] = "fnp45_mp"; level.WeaponArray["Pistol"][2] = "beretta93r_mp"; level.WeaponArray["Pistol"][3] = "judge_mp"; level.WeaponArray["Pistol"][4] = "kard_mp"; level.WeaponArray["Launcher"][0] = "smaw_mp"; level.WeaponArray["Launcher"][1] = "usrpg_mp"; level.WeaponArray["Launcher"][2] = "fhj18_mp"; level.WeaponArray["Special"][0] = "crossbow_mp"; level.WeaponArray["Special"][1] = "knife_ballistic_mp"; level.WeaponArray["Special"][2] = "knife_held_mp"; level.WeaponArray["Lethal"][0] = "frag_grenade_mp"; level.WeaponArray["Lethal"][1] = "hatchet_mp"; level.WeaponArray["Lethal"][2] = "sticky_grenade_mp"; level.WeaponArray["Lethal"][3] = "satchel_charge_mp"; level.WeaponArray["Lethal"][4] = "bouncingbetty_mp"; level.WeaponArray["Lethal"][5] = "claymore_mp"; level.WeaponArray["Tactical"][0] = "flash_grenade_mp"; level.WeaponArray["Tactical"][1] = "smoke_center_mp"; level.WeaponArray["Tactical"][2] = "concussion_grenade_mp"; level.WeaponArray["Tactical"][3] = "emp_grenade_mp"; level.WeaponArray["Tactical"][4] = "sensor_grenade_mp"; level.WeaponArray["Tactical"][5] = "pda_hack_mp"; level.WeaponArray["Tactical"][6] = "tactical_insertion_mp"; level.WeaponArray["Tactical"][7] = "proximity_grenade_mp"; if (category == "All") return level.WeaponArray["All"]; else if(category == "weapon_assault") return level.WeaponArray["Assault"]; else if(category == "weapon_shotgun") return level.WeaponArray["Shotgun"]; else if(category == "weapon_lmg") return level.WeaponArray["Assault"]; //Replace with assault if you block all LMG else if(category == "weapon_smg") return level.WeaponArray["SMG"]; else if(category == "weapon_sniper") return level.WeaponArray["Sniper"]; else if(category == "weapon_pistol") return level.WeaponArray["Pistol"]; else if(category == "weapon_launcher") return level.WeaponArray["Pistol"]; // Replace with pistol if you block all launchers else if(category == "weapon_special") return level.WeaponArray["Special"]; else if(category == "weapon_grenade") return level.WeaponArray["Lethal"]; else if(category == "Tactical") return level.WeaponArray["Tactical"]; }Try it, and tell me.
Thank you, I will tomorrow, cheers
-
THANK YOU SO MUCH MUCHAS MUCHAS GRACIAS Kalitos working on a SnD server for my friends this is going to work great! If there is a way to get camos or if you add it i would love to know!
-
THANK YOU SO MUCH MUCHAS MUCHAS GRACIAS Kalitos working on a SnD server for my friends this is going to work great! If there is a way to get camos or if you add it i would love to know!
CalebKappa Well, if there is a way to obtain camouflages, there is, knowing how to program it, I personally was not interested in that part when carrying out the entire project. In the forum I remember reading a bit about camouflaging the main weapon, it would only be a matter of adapting it to the project.
-
@Vexbane I was finally able to get it to work in a TDM mode, I tried it a bit, doing what you mentioned.
/* * Black Ops 2 - GSC Studio by iMCSx * * Creator : Kalitos * Project : Restriccion de armas * Mode : Multiplayer * Date : 2020/04/05 - 13:35:30 * */ #include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\gametypes\_hud_util; #include maps\mp\gametypes\_hud_message; init() { level.loadoutkillstreaksenabled = false; level.AttachmentRestrict="+rangefinder,+mms"; level.WeaponRestrict= "mp7_mp"; game["strings"]["change_class"] = undefined; level thread onPlayerConnect(); } onPlayerConnect() { for(;;) { level waittill("connected", player); player thread onPlayerSpawned(); player thread doChangeClass(); } } onPlayerSpawned() { self endon("disconnect"); level endon("game_ended"); for(;;) { self waittill("spawned_player"); if(!isDefined(self.isFirstSpawn)) { self iprintln("^5Black Ops 2 - Script ^7| ^5Weapons ^7and ^5attachments ^7restriction ^5| ^7By: ^2Kalitos"); self.isFirstSpawn=true; } } } doChangeClass() { self endon("disconnect"); level endon("game_ended"); self.OldPrimaryWeapon=""; self.OldSecondaryWeapon=""; for(;;) { self waittill_any("changed_class", "spawned_player"); //if ( level.inGracePeriod && !self.hasDoneCombat ) // used weapons check? //{ //self iprintln("Se ha iniciado el monitor de cambio de clase"); //player.checkChangeClass = true; changeWeaponsOnClass(); self notify ("change_class_complete"); //} //self iprintln("Periodo de gracia : " + level.inGracePeriod + ", Ha hecho combate: " + self.hasDoneCombat); } } getNumClass(class) { if ( issubstr( class, "CLASS_CUSTOM" ) ) { switch ( class ) { case "CLASS_CUSTOM1": class_num1=0; break; case "CLASS_CUSTOM2": class_num1=1; break; case "CLASS_CUSTOM3": class_num1=2; break; case "CLASS_CUSTOM4": class_num1=3; break; case "CLASS_CUSTOM5": class_num1=4; break; case "CLASS_CUSTOM6": class_num1=5; break; case "CLASS_CUSTOM7": class_num1=6; break; case "CLASS_CUSTOM8": class_num1=7; break; case "CLASS_CUSTOM9": class_num1=8; break; case "CLASS_CUSTOM10": class_num1=9; break; default : break; } return class_num1; } else { return level.classtoclassnum[class ]; } } changeWeaponsOnClass() { //self endon("disconnect"); //level endon("game_ended"); //self endon("round_ended"); self endon("change_class_complete"); class_num1 = getNumClass(self.class); weaponP = self getloadoutweapon( class_num1, "primary" ); weaponS = self getloadoutweapon( class_num1, "secondary" ); //self iprintln(weaponP + " :: " + weaponS); //self getloadoutitem( class_num, "primarygrenadecount" ); if(self.OldPrimaryWeapon!=""){ self takeWeapon(self.OldPrimaryWeapon); } if(self.OldSecondaryWeapon!=""){ self takeWeapon(self.OldSecondaryWeapon); } NWeaponP= getClearWeaponAttachment(weaponP,"P"); // Remove all attachment restrict NweaponS= getClearWeaponAttachment(weaponS,"S"); // Remove all attachment restrict //self iprintln("Arma primaria: "+ self.OldPrimaryWeapon + ", Arma secundaria: " + self.OldSecondaryWeapon); //if(NWeaponP!=weaponP) //{ self takeWeapon(weaponP); self giveWeapon(NWeaponP); self switchToWeapon(NWeaponP); //} //if(NWeaponS!=weaponS) //{ wait 0.50; self takeWeapon(weaponS); self giveWeapon(NWeaponS); //}else //{ restriccionAt = strTok(level.AttachmentRestrict,","); arrayWeapon = strTok(Weapon,"+"); if(isInArray(arrayWeapon,"+dw")) // If pistol has +dw { if (getWeaponClassOfArray(weaponS) == "weapon_pistol" && getSizeArrayWeaponSrTok(weaponS)==1) { self takeWeapon(weaponS); self giveWeapon("beretta93r_mp"); } } //} } getSizeArrayWeaponSrTok(array) { arrayWeapon = strTok(array,"+"); return arrayWeapon.size; } getWeaponClassOfArray(Weapon) { arrayWeapon = strTok(Weapon,"+"); return getWeaponClass(arrayWeapon[0]); } getClearWeaponAttachment(Weapon,PorS) { restriccionAt = strTok(level.AttachmentRestrict,","); arrayWeapon = strTok(Weapon,"+"); NewWeapon = ""; if (checkWeaponNotAllowed(Weapon)==1) // If is a weapon restrict { arrayWeapon[0]= getWeaponAllowed(Weapon); // Replace weapon with aleatory weapon allowed ( Same Type that weapon restrict ) } for (j=0;j< arrayWeapon.size; j++) { if(j==0) // Is the weapon { temp=arrayWeapon[j]; }else { temp="+"+arrayWeapon[j]; } if(!isInArray(restriccionAt, temp)) { NewWeapon=NewWeapon+temp; } } if(PorS=="P"){ self.OldPrimaryWeapon=NewWeapon; }else{ self.OldSecondaryWeapon=NewWeapon; } return NewWeapon; } checkWeaponNotAllowed(Weapon) { if(level.WeaponRestrict==""){ return 0; } restriccionWeapon = strTok(level.WeaponRestrict,","); arrayWeapon = strTok(Weapon,"+"); if(isInArray(restriccionWeapon, arrayWeapon[0])) { return 1; } return 0; } getWeaponAllowed(Weapon) { restriccionWeapon = strTok(level.WeaponRestrict,","); arrayWeapon = strTok(Weapon,"+"); arrayWeaponAllowed=WeaponsArray(getWeaponClass(arrayWeapon[0])); randomWeapon= ""; while(true) { randomWeaponIndex = randomInt(arrayWeaponAllowed.size); randomWeapon = arrayWeaponAllowed[randomWeaponIndex]; if(!isInArray(restriccionWeapon,randomWeapon)) { break; } } return randomWeapon; } WeaponsArray(category) { level.WeaponArray["All"][0] = "tar21_mp"; level.WeaponArray["All"][1] = "type95_mp"; level.WeaponArray["All"][2] = "sig556_mp"; level.WeaponArray["All"][3] = "sa58_mp"; level.WeaponArray["All"][4] = "hk416_mp"; level.WeaponArray["All"][5] = "scar_mp"; level.WeaponArray["All"][6] = "saritch_mp"; level.WeaponArray["All"][7] = "xm8_mp"; level.WeaponArray["All"][8] = "an94_mp"; level.WeaponArray["All"][9] = "peacekeeper_mp"; level.WeaponArray["All"][10] = "870mcs_mp"; level.WeaponArray["All"][11] = "saiga12_mp"; level.WeaponArray["All"][12] = "ksg_mp"; level.WeaponArray["All"][13] = "srm1216_mp"; level.WeaponArray["All"][14] = "mk48_mp"; level.WeaponArray["All"][15] = "qbb95_mp"; level.WeaponArray["All"][16] = "lsat_mp"; level.WeaponArray["All"][17] = "hamr_mp"; level.WeaponArray["All"][18] = "mp7_mp"; level.WeaponArray["All"][19] = "pdw57_mp"; level.WeaponArray["All"][20] = "vector_mp"; level.WeaponArray["All"][21] = "insas_mp"; level.WeaponArray["All"][22] = "qcw05_mp"; level.WeaponArray["All"][23] = "evoskorpion_mp"; level.WeaponArray["All"][24] = "svu_mp"; level.WeaponArray["All"][25] = "dsr50_mp"; level.WeaponArray["All"][26] = "ballista_mp"; level.WeaponArray["All"][27] = "as50_mp"; level.WeaponArray["All"][28] = "fiveseven_mp"; level.WeaponArray["All"][29] = "fnp45_mp"; level.WeaponArray["All"][30] = "beretta93r_mp"; level.WeaponArray["All"][31] = "judge_mp"; level.WeaponArray["All"][32] = "kard_mp"; level.WeaponArray["All"][33] = "smaw_mp"; level.WeaponArray["All"][34] = "usrpg_mp"; level.WeaponArray["All"][35] = "fhj18_mp"; level.WeaponArray["All"][36] = "crossbow_mp"; level.WeaponArray["All"][37] = "knife_ballistic_mp"; level.WeaponArray["All"][38] = "knife_held_mp"; level.WeaponArray["All"][39] = "frag_grenade_mp"; level.WeaponArray["All"][40] = "hatchet_mp"; level.WeaponArray["All"][41] = "sticky_grenade_mp"; level.WeaponArray["All"][42] = "satchel_charge_mp"; level.WeaponArray["All"][43] = "bouncingbetty_mp"; level.WeaponArray["All"][44] = "claymore_mp"; level.WeaponArray["All"][45] = "flash_grenade_mp"; level.WeaponArray["All"][46] = "smoke_center_mp"; level.WeaponArray["All"][47] = "concussion_grenade_mp"; level.WeaponArray["All"][48] = "emp_grenade_mp"; level.WeaponArray["All"][49] = "sensor_grenade_mp"; level.WeaponArray["All"][50] = "pda_hack_mp"; level.WeaponArray["All"][51] = "tactical_insertion_mp"; level.WeaponArray["All"][52] = "proximity_grenade_mp"; level.WeaponArray["Assault"][0] = "tar21_mp"; level.WeaponArray["Assault"][1] = "type95_mp"; level.WeaponArray["Assault"][2] = "sig556_mp"; level.WeaponArray["Assault"][3] = "sa58_mp"; level.WeaponArray["Assault"][4] = "hk416_mp"; level.WeaponArray["Assault"][5] = "scar_mp"; level.WeaponArray["Assault"][6] = "saritch_mp"; level.WeaponArray["Assault"][7] = "xm8_mp"; level.WeaponArray["Assault"][8] = "an94_mp"; level.WeaponArray["Assault"][9] = "peacekeeper_mp"; level.WeaponArray["Shotgun"][0] = "870mcs_mp"; level.WeaponArray["Shotgun"][1] = "saiga12_mp"; level.WeaponArray["Shotgun"][2] = "ksg_mp"; level.WeaponArray["Shotgun"][3] = "srm1216_mp"; level.WeaponArray["LMG"][0] = "mk48_mp"; level.WeaponArray["LMG"][1] = "qbb95_mp"; level.WeaponArray["LMG"][2] = "lsat_mp"; level.WeaponArray["LMG"][3] = "hamr_mp"; level.WeaponArray["SMG"][0] = "mp7_mp"; level.WeaponArray["SMG"][1] = "pdw57_mp"; level.WeaponArray["SMG"][2] = "vector_mp"; level.WeaponArray["SMG"][3] = "insas_mp"; level.WeaponArray["SMG"][4] = "qcw05_mp"; level.WeaponArray["SMG"][5] = "evoskorpion_mp"; level.WeaponArray["Sniper"][0] = "svu_mp"; level.WeaponArray["Sniper"][1] = "dsr50_mp"; level.WeaponArray["Sniper"][2] = "ballista_mp"; level.WeaponArray["Sniper"][3] = "as50_mp"; level.WeaponArray["Pistol"][0] = "fiveseven_mp"; level.WeaponArray["Pistol"][1] = "fnp45_mp"; level.WeaponArray["Pistol"][2] = "beretta93r_mp"; level.WeaponArray["Pistol"][3] = "judge_mp"; level.WeaponArray["Pistol"][4] = "kard_mp"; level.WeaponArray["Launcher"][0] = "smaw_mp"; level.WeaponArray["Launcher"][1] = "usrpg_mp"; level.WeaponArray["Launcher"][2] = "fhj18_mp"; level.WeaponArray["Special"][0] = "crossbow_mp"; level.WeaponArray["Special"][1] = "knife_ballistic_mp"; level.WeaponArray["Special"][2] = "knife_held_mp"; level.WeaponArray["Lethal"][0] = "frag_grenade_mp"; level.WeaponArray["Lethal"][1] = "hatchet_mp"; level.WeaponArray["Lethal"][2] = "sticky_grenade_mp"; level.WeaponArray["Lethal"][3] = "satchel_charge_mp"; level.WeaponArray["Lethal"][4] = "bouncingbetty_mp"; level.WeaponArray["Lethal"][5] = "claymore_mp"; level.WeaponArray["Tactical"][0] = "flash_grenade_mp"; level.WeaponArray["Tactical"][1] = "smoke_center_mp"; level.WeaponArray["Tactical"][2] = "concussion_grenade_mp"; level.WeaponArray["Tactical"][3] = "emp_grenade_mp"; level.WeaponArray["Tactical"][4] = "sensor_grenade_mp"; level.WeaponArray["Tactical"][5] = "pda_hack_mp"; level.WeaponArray["Tactical"][6] = "tactical_insertion_mp"; level.WeaponArray["Tactical"][7] = "proximity_grenade_mp"; if (category == "All") return level.WeaponArray["All"]; else if(category == "weapon_assault") return level.WeaponArray["Assault"]; else if(category == "weapon_shotgun") return level.WeaponArray["Shotgun"]; else if(category == "weapon_lmg") return level.WeaponArray["Assault"]; //Replace with assault if you block all LMG else if(category == "weapon_smg") return level.WeaponArray["SMG"]; else if(category == "weapon_sniper") return level.WeaponArray["Sniper"]; else if(category == "weapon_pistol") return level.WeaponArray["Pistol"]; else if(category == "weapon_launcher") return level.WeaponArray["Pistol"]; // Replace with pistol if you block all launchers else if(category == "weapon_special") return level.WeaponArray["Special"]; else if(category == "weapon_grenade") return level.WeaponArray["Lethal"]; else if(category == "Tactical") return level.WeaponArray["Tactical"]; }Try it, and tell me.
Kalitos how do I get this file into the game?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login