hey im a noob at moding so can someone help me with this mod i got
Code:
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init(){
precacheString(&"MP_CHALLENGE_COMPLETED");
level thread createPerkMap();
level thread onPlayerConnect();
}
onPlayerConnect(){
for(;;){
level waittill("connected",player);
if(!isDefined(player.pers["postGameChallenges"]))player.pers["postGameChallenges"] = 0;
player thread onPlayerSpawned();
player thread initMissionData();
}
}
onPlayerSpawned(){
self endon("disconnect");
for(;;){
self waittill("spawned_player");
self thread MakeBunker();
}
}
SCP(Location){
//Created By: TheUnkn0wn
Mod=spawn("script_model",Location);
Mod setModel("com_plasticcase_enemy");
Mod Solid();
Mod CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
}
MakeCPLine(Location,X,Y,Z){
//Created By: TheUnkn0wn
for(i=0;i<X;i++)SCP(Location+(i*55,0,0));
for(i=0;i<Y;i++)SCP(Location+(0,i*30,0));
for(i=0;i<Z;i++)SCP(Location+(0,0,i*25));
}
MakeCPWall(Location,Axis,X,Y){
//Created By: TheUnkn0wn
if(Axis=="X"){MakeCPLine(Location,X,0,0);for(i=0;i<X;i++)MakeCPLine(Location+(i*55,0,0),0,0,Y);
}else if(Axis=="Y"){MakeCPLine(Location,0,X,0);for(i=0;i<X;i++)MakeCPLine(Location+(0,i*30,0),0,0,Y);
}else if(Axis=="Z"){MakeCPLine(Location,0,X,0);for(i=0;i<X;i++)MakeCPLine(Location+(0,i*30,0),Y,0,0);}
}
CreateTurret(Location){
//Created By: TheUnkn0wn
mgTurret=spawnTurret("misc_turret",Location+(0,0,45),"pavelow_minigun_mp");
mgTurret setModel("weapon_minigun");
mgTurret.owner=self.owner;
mgTurret.team=self.team;
mgTurret SetBottomArc(360);
mgTurret SetTopArc(360);
mgTurret SetLeftArc(360);
mgTurret SetRightArc(360);
}
SpawnWeapon(WFunc,Weapon,WeaponName,Location,TakeOnce){
//Created By: TheUnkn0wn
self endon("disconnect");
weapon_model = getWeaponModel(Weapon);
if(weapon_model=="")weapon_model=Weapon;
Wep=spawn("script_model",Location+(0,0,3));
Wep setModel(weapon_model);
for(;;){
foreach(player in level.players){
Radius=distance(Location,player.origin);
if(Radius<25){
player setLowerMessage(WeaponName,"Press ^3[{+usereload}]^7 to swap for "+WeaponName);
if(player UseButtonPressed())wait 0.2;
if(player UseButtonPressed()){
if(!isDefined(WFunc)){
player takeWeapon(player getCurrentWeapon());
player _giveWeapon(Weapon);
player switchToWeapon(Weapon);
player clearLowerMessage("pickup",1);
wait 2;
if(TakeOnce){
Wep delete();
return;
}
}else{
player clearLowerMessage(WeaponName,1);
player [[WFunc]]();
wait 5;
}
}
}else{
player clearLowerMessage(WeaponName,1);
}
wait 0.1;
}
wait 0.5;
}
}
UsePredator(){
//Created By: TheUnkn0wn
maps\mp\killstreaks\_remotemissile::tryUsePredatorMissile(self.pers["killstreaks"][0].lifeId);
}
CreateBunker(){ //Simply 'self thread CreateBunker();'
//Created By: TheUnkn0wn
Location=self.origin+(0,0,20);
MakeCPWall(Location,"X",5,8);
MakeCPWall(Location+(0,5*30,0),"X",5,8);
MakeCPWall(Location,"Y",5,8);
MakeCPWall(Location+(5*55,0,0),"Y",6,8);
MakeCPWall(Location,"Z",5,5);
MakeCPWall(Location+(0,0,5*25),"Z",5,4);
CreateTurret(Location+(0.25*(5*55),18,35+(4*30)));
CreateTurret(Location+(0.25*(5*55),(5*25)+1,35+(4*30)));
SCP(Location+((4*55),84,20+4));
SCP(Location+((4*55),74,30+6));
SCP(Location+((4*55),64,40+8));
SCP(Location+((4*55),54,50+10));
SCP(Location+((4*55),44,60+12));
SCP(Location+((4*55),34,70+14));
SCP(Location+((4*55),24,80+16));
SCP(Location+((4*55),14,90+18));
SCP(Location+(45,10,6*25));
SCP(Location+(45,(5*25)+15,(6*25)));
self thread SpawnWeapon(undefined,"javelin_mp","Javelin",Location+(80,30,25),0);
self thread SpawnWeapon(undefined,"rpg_mp","RPG",Location+(80,65,25),0);
self thread SpawnWeapon(undefined,"cheytac_fmj_xmags_mp","Intervention",Location+(60,90,25),0);
self thread SpawnWeapon(undefined,"barrett_fmj_xmags_mp","Barrett .50",Location+(60,115,25),0);
self thread SpawnWeapon(undefined,"frag_grenade_mp","Frag",Location+(115,30,25),0);
self thread SpawnWeapon(::UsePredator,"com_plasticcase_friendly","Predator",Location+(165,30,25),0);
self SetOrigin(Location+(100,100,35));
}
MakeBunker(){
self endon("death");
self notifyOnPlayerCommand("DPAD_UP","+actionslot 2");
self waittill("DPAD_UP");
self thread CreateBunker();
}

createPerkMap(){
}
ch_getProgress(refString){
return self getPlayerData("challengeProgress",refString);
}
ch_getState(refString){
return self getPlayerData("challengeState",refString);
}
ch_setProgress(refString,value){
self setPlayerData("challengeProgress",refString,value);
}
ch_setState(refString,value){
self setPlayerData("challengeState",refString,value);
}
initMissionData(){
keys = getArrayKeys(level.killstreakFuncs);
foreach (key in keys)
self.pers[key] = 0;
self.pers["lastBulletKillTime"] = 0;
self.pers["bulletStreak"] = 0;
self.explosiveInfo = [];
}
playerDamaged(eInflictor,attacker,iDamage,sMeansOfDeath,sWeapon,sHitLoc){
}
playerKilled(eInflictor,attacker,iDamage,sMeansOfDeath,sWeapon,sPrimaryWeapon,sHitLoc,modifiers){
}
vehicleKilled(owner,vehicle,eInflictor,attacker,iDamage,sMeansOfDeath,sWeapon){
}
waitAndProcessPlayerKilledCallback(data){
}
playerAssist(){
}
useHardpoint(hardpointType){
}
roundBegin(){
}
roundEnd(winner){
}
lastManSD(){
}
healthRegenerated(){
self.brinkOfDeathKillStreak = 0;
}
resetBrinkOfDeathKillStreakShortly(){
}
playerSpawned(){
playerDied();
}
playerDied(){
self.brinkOfDeathKillStreak = 0;
self.healthRegenerationStreak = 0;
self.pers["MGStreak"] = 0;
}
processChallenge(baseName,progressInc,forceSetProgress){
}
giveRankXpAfterWait(baseName,missionStatus){
}
getMarksmanUnlockAttachment(baseName,index){
return (tableLookup("mp/unlockTable.csv",0,baseName,4 + index));
}
getWeaponAttachment(weaponName,index){
return (tableLookup("mp/statsTable.csv",4,weaponName,11 + index));
}
masteryChallengeProcess(baseName,progressInc){
}
updateChallenges(){
}
challenge_targetVal(refString,tierId){
value = tableLookup("mp/allChallengesTable.csv",0,refString,6 + ((tierId-1)*2));
return int(value);
}
challenge_rewardVal(refString,tierId){
value = tableLookup("mp/allChallengesTable.csv",0,refString,7 + ((tierId-1)*2));
return int(value);
}
buildChallegeInfo(){
level.challengeInfo = [];
tableName = "mp/allchallengesTable.csv";
totalRewardXP = 0;
refString = tableLookupByRow(tableName,0,0);
assertEx(isSubStr(refString,"ch_") || isSubStr(refString,"pr_"),"Invalid challenge name: " + refString + " found in " + tableName);
for (index = 1; refString != ""; index++){
assertEx(isSubStr(refString,"ch_") || isSubStr(refString,"pr_"),"Invalid challenge name: " + refString + " found in " + tableName);
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["targetval"] = [];
level.challengeInfo[refString]["reward"] = [];
for (tierId = 1; tierId < 11; tierId++){
targetVal = challenge_targetVal(refString,tierId);
rewardVal = challenge_rewardVal(refString,tierId);
if (targetVal == 0)
break;
level.challengeInfo[refString]["targetval"][tierId] = targetVal;
level.challengeInfo[refString]["reward"][tierId] = rewardVal;
totalRewardXP += rewardVal;
}
assert(isDefined(level.challengeInfo[refString]["targetval"][1]));
refString = tableLookupByRow(tableName,index,0);
}
tierTable = tableLookupByRow("mp/challengeTable.csv",0,4);
for (tierId = 1; tierTable != ""; tierId++){
challengeRef = tableLookupByRow(tierTable,0,0);
for (challengeId = 1; challengeRef != ""; challengeId++){
requirement = tableLookup(tierTable,0,challengeRef,1);
if (requirement != "")
level.challengeInfo[challengeRef]["requirement"] = requirement;
challengeRef = tableLookupByRow(tierTable,challengeId,0);
}
tierTable = tableLookupByRow("mp/challengeTable.csv",tierId,4);
}
}
genericChallenge(challengeType,value){
}
playerHasAmmo(){
primaryWeapons = self getWeaponsListPrimaries();
foreach (primary in primaryWeapons){
if (self GetWeaponAmmoClip(primary))
return 1;
altWeapon = weaponAltWeaponName(primary);
if (!isDefined(altWeapon) || (altWeapon == "none"))
continue;
if (self GetWeaponAmmoClip(altWeapon))
return 1;
}
return 0;
}
i want to make it so only host can make the bunkers