need QUICK HELP PLS
whats wrong on this code ? BECOME > unknown funktion < error
cant find the mistake pls help quick .. im working on new zombie mod version
if the new version is finished i upload my old version

--------------------------------------------------------------------------
following codes are secret .. pls dont ask for them ..
cant find the mistake pls help quick .. im working on new zombie mod version
if the new version is finished i upload my old version

--------------------------------------------------------------------------
Code:
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
init()
{
level.doCustomMap = 0;
level.doorwait = 0.3;
level.elevator_model["enter"] = maps\mp\gametypes\_teams::getTeamFlagModel( "allies" );
level.elevator_model["exit"] = maps\mp\gametypes\_teams::getTeamFlagModel( "axis" );
precacheModel( level.elevator_model["enter"] );
precacheModel( level.elevator_model["exit"] );
wait 1;
if(getDvar("mapname") == "mp_afghan"){ /** Afghan **/
level thread Afghan();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_boneyard"){ /** Scrapyard **/
level thread Scrapyard();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_brecourt"){ /** Wasteland **/
level thread Wasteland();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_checkpoint"){ /** Karachi **/
level thread Karachi();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_derail"){ /** Derail **/
level thread Derail();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_estate"){ /** Estate **/
level thread Estate();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_favela"){ /** Favela **/
level thread Favela();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_highrise"){ /** HighRise **/
level thread HighRise();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_nightshift"){ /** Skidrow **/
level thread Skidrow();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_invasion"){ /** Invasion **/
level thread Invasion();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_quarry"){ /** Quarry **/
level thread Quarry();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_rundown"){ /** Rundown **/
level thread Rundown();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_rust"){ /** Rust **/
level thread Rust();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_subbase"){ /** SubBase **/
level thread SubBase();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_terminal"){ /** Terminal **/
level thread Terminal();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_crash"){ /** Crash **/
level thread Crash();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_underpass"){ /** Underpass **/
level thread Underpass();
level.doCustomMap = 1;
}
if(level.doCustomMap == 1){
level.gameState = "starting";
//if(!level.testing)
level thread CreateMapWait();
//
} else {
level.gameState = "starting";
wait 20;
level notify("CREATED");
}
}
CreateMapWait()
{
level.TimerText destroy();
level.Timer destroy();
level.TimerText = level createServerFontString( "objective", 1.5 );
level.TimerText setPoint( "CENTER", "CENTER", 0, -100 );
level.TimerText setText("^3Wait ^2for ^1the ^4map ^3to ^2be ^1created:");
level.Timer = level createServerFontString( "objective", 2 );
level.Timer setPoint( "CENTER", "CENTER", 0, -75 );
level.Timer.color = (1,1,0);
for(i = 20; i > 0; i--)
{
level.Timer setValue(i);
foreach(player in level.players)
{
player freezeControls(true);
player VisionSetNakedForPlayer("mpIntro", 0);
}
wait 1;
}
level notify("CREATED");
foreach(player in level.players)
{
player freezeControls(false);
player VisionSetNakedForPlayer(getDvar("mapname"), 0);
}
}
CreateWalls(start,end){D=Distance((start[0],start[1],0),(end[0],end[1],0));H=Distance((0,0,start[2]),(0,0,end[2]));blocks=roundUp(D/55);height=roundUp(H/30);CX=end[0] - start[0];CY=end[1] - start[1];CZ=end[2] - start[2];XA =(CX/blocks);YA =(CY/blocks);ZA =(CZ/height);TXA =(XA/4);TYA =(YA/4);Temp=VectorToAngles(end - start);Angle =(0,Temp[1],90);for(h=0;h < height;h++){block=spawn("script_model",(start +(TXA,TYA,10)+((0,0,ZA)* h)));block setModel("com_plasticcase_friendly");block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;for(i=1;i < blocks;i++){block=spawn("script_model",(start +((XA,YA,0)* i)+(0,0,10)+((0,0,ZA)* h)));block setModel("com_plasticcase_friendly");block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}block=spawn("script_model",((end[0],end[1],start[2])+(TXA * -1,TYA * -1,10)+((0,0,ZA)* h)));block setModel("com_plasticcase_friendly");block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}}
CreateGrids(corner1,corner2,angle){W=Distance((corner1[0],0,0),(corner2[0],0,0));L=Distance((0,corner1[1],0),(0,corner2[1],0));H=Distance((0,0,corner1[2]),(0,0,corner2[2]));CX=corner2[0] - corner1[0];CY=corner2[1] - corner1[1];CZ=corner2[2] - corner1[2];ROWS=roundUp(W/55);COLUMNS=roundUp(L/30);HEIGHT=roundUp(H/20);XA=CX/ROWS;YA=CY/COLUMNS;ZA=CZ/HEIGHT;center=spawn("script_model",corner1);for(r=0;r<=ROWS;r++){for(c=0;c<=COLUMNS;c++){for(h=0;h<=HEIGHT;h++){block=spawn("script_model",(corner1 +(XA * r,YA * c,ZA * h)));block setModel("com_plasticcase_friendly");block.angles =(0,0,0);block Solid();block LinkTo(center);block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.01;}}}center.angles=angle;}
CreateRamps(top,bottom){D=Distance(top,bottom);blocks=roundUp(D/30);CX=top[0] - bottom[0];CY=top[1] - bottom[1];CZ=top[2] - bottom[2];XA=CX/blocks;YA=CY/blocks;ZA=CZ/blocks;CXY=Distance((top[0],top[1],0),(bottom[0],bottom[1],0));Temp=VectorToAngles(top - bottom);BA =(Temp[2],Temp[1] + 90,Temp[0]);for(b=0;b < blocks;b++){block=spawn("script_model",(bottom +((XA,YA,ZA)* B)));block setModel("com_plasticcase_friendly");block.angles=BA;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.01;}block=spawn("script_model",(bottom +((XA,YA,ZA)* blocks)-(0,0,5)));block setModel("com_plasticcase_friendly");block.angles =(BA[0],BA[1],0);block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.01;}
CreateElevator(enter,exit,angle){flag=spawn("script_model",enter);flag setModel(level.elevator_model["enter"]);wait 0.01;flag=spawn("script_model",exit);flag setModel(level.elevator_model["exit"]);wait 0.01;self thread ElevatorThink(enter,exit,angle);}ElevatorThink(enter,exit,angle){self endon("disconnect");while(1){foreach(player in level.players){if(Distance(enter,player.origin)<= 50){player SetOrigin(exit);player SetPlayerAngles(angle);}}wait .25;}}
CreatePlate(corner1,corner2,arivee,angle,time){W=Distance((corner1[0],0,0),(corner2[0],0,0));L=Distance((0,corner1[1],0),(0,corner2[1],0));H=Distance((0,0,corner1[2]),(0,0,corner2[2]));CX=corner2[0] - corner1[0];CY=corner2[1] - corner1[1];CZ=corner2[2] - corner1[2];ROWS=roundUp(W/55);COLUMNS=roundUp(L/30);HEIGHT=roundUp(H/20);XA=CX/ROWS;YA=CY/COLUMNS;ZA=CZ/HEIGHT;center=spawn("script_model",corner1);for(r=0;r<=ROWS;r++){for(c=0;c<=COLUMNS;c++){for(h=0;h<=HEIGHT;h++){block=spawn("script_model",(corner1 +(XA * r,YA * c,ZA * h)));block setModel("com_plasticcase_friendly");block.angles =(0,0,0);block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);block thread Escalatore((corner1 +(XA * r,YA * c,ZA * h)),(arivee +(XA * r,YA * c,ZA * h)),time);wait 0.01;}}}center.angles=angle;center thread Escalatore(corner1,arivee,time);center CloneBrushmodelToScriptmodel(level.airDropCrateCollision);}Escalatore(depart,arivee,time){while(1){if(self.state=="open"){self MoveTo(depart,time);wait(time*2.5);self.state="close";continue;}if(self.state=="close"){self MoveTo(arivee,time);wait(time*2.5);self.state="open";continue;}}}CreateAsc(depart,arivee,angle,time){Asc=spawn("script_model",depart);Asc setModel("com_plasticcase_friendly");Asc.angles=angle;Asc Solid();Asc CloneBrushmodelToScriptmodel(level.airDropCrateCollision);Asc thread Escalator(depart,arivee,time);}Escalator(depart,arivee,time){while(1){if(self.state=="open"){self MoveTo(depart,time);wait(time*1.5);self.state="close";continue;}if(self.state=="close"){self MoveTo(arivee,time);wait(time*1.5);self.state="open";continue;}}}CreateCircle(depart,pass1,pass2,pass3,pass4,arivee,angle,time){Asc=spawn("script_model",depart);Asc setModel("com_plasticcase_friendly");Asc.angles=angle;Asc Solid();Asc CloneBrushmodelToScriptmodel(level.airDropCrateCollision);Asc thread Circle(depart,arivee,pass1,pass2,pass3,pass4,time);}Circle(depart,pass1,pass2,pass3,pass4,arivee,time){while(1){if(self.state=="open"){self MoveTo(depart,time);wait(time*1.5);self.state="op";continue;}if(self.state=="op"){self MoveTo(pass1,time);wait(time);self.state="opi";continue;}if(self.state=="opi"){self MoveTo(pass2,time);wait(time);self.state="opa";continue;}if(self.state=="opa"){self MoveTo(pass3,time);wait(time);self.state="ope";continue;}if(self.state=="ope"){self MoveTo(pass4,time);wait(time);self.state="close";continue;}if(self.state=="close"){self MoveTo(arivee,time);wait(time);self.state="open";continue;}}}
SpawnWeapons(WFunc,Weapon,WeaponName,Location,TakeOnce,angle,gun){self endon("disconnect");gun delete();weapon_model=getWeaponModel(Weapon);if(weapon_model=="")weapon_model=Weapon;Wep=spawn("script_model",Location+(0,0,0));Wep setModel(weapon_model);Wep.angles=angle;for(;;){foreach(player in level.players){Radius=distance(Location,player.origin);if(Radius<80){player setLowerMessage(WeaponName,"Press ^3F^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;}}
roundUp( floatVal ) { if ( int( floatVal ) != floatVal ) return int( floatVal+1 ); else return int( floatVal ); }
GetCursorPos(){f=self getTagOrigin("tag_eye");e=self Vector_Scal(anglestoforward(self getPlayerAngles()),1000000);l=BulletTrace(f,e,0,self)["position"];return l;}vector_scal(vec,scale){vec =(vec[0] * scale,vec[1] * scale,vec[2] * scale);return vec;}
UsePredators(){maps\mp\killstreaks\_remotemissile::tryUsePredatorMissile(self.pers["killstreaks"][0].lifeId); }
CreateTurret(type,angles,location){if(!isDefined(location)|| !isDefined(type))return;if(!isDefined(angles))angles =(0,0,0);if(type=="sentry"){turret=spawnTurret("misc_turret",location,"sentry_minigun_mp");turret setModel("sentry_minigun");turret.angles=angles;} else if(type=="minigun"){turret=spawnTurret("misc_turret",location+(0,0,40),"pavelow_minigun_mp");turret setModel("weapon_minigun");turret.angles=angles;}}
SpawnModel(Model,Location){self endon("disconnect");Obj=spawn("script_model",Location);Obj PhysicsLaunchServer((0,0,0),(0,0,0));Obj.angles=self.angles+(0,90,0);Obj setModel(Model);}
CreateForce(start,end){D=Distance((start[0],start[1],0),(end[0],end[1],0));H=Distance((0,0,start[2]),(0,0,end[2]));blocks=roundUp(D/55);height=roundUp(H/30);CX=end[0] - start[0];CY=end[1] - start[1];CZ=end[2] - start[2];XA =(CX/blocks);YA =(CY/blocks);ZA =(CZ/height);TXA =(XA/4);TYA =(YA/4);Temp=VectorToAngles(end - start);Angle =(0,Temp[1],90);for(h=0;h < height;h++){block=spawn("script_model",(start +(TXA,TYA,10)+((0,0,ZA)* h)));block setModel(level.chopper_fx["light"]["belly"]);block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;for(i=1;i < blocks;i++){block=spawn("script_model",(start +((XA,YA,0)* i)+(0,0,10)+((0,0,ZA)* h)));block setModel(level.chopper_fx["light"]["belly"]);block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}block=spawn("script_model",((end[0],end[1],start[2])+(TXA * -1,TYA * -1,10)+((0,0,ZA)* h)));block setModel(level.chopper_fx["light"]["belly"]);block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}}
CreateTac(pos){efx=loadfx("misc/flare_ambient");playFx(efx,pos);wait 0.01;}
CreateDoors(open,close,angle,size,height,hp,range){ offset =(((size / 2)- 0.5)* -1); center=spawn("script_model",open); for(j=0;j < size;j++){ door=spawn("script_model",open +((0,30,0)* offset)); door setModel("com_plasticcase_enemy"); door Solid(); door CloneBrushmodelToScriptmodel(level.airDropCrateCollision); door EnableLinkTo(); door LinkTo(center); for(h=1;h < height;h++){ door=spawn("script_model",open +((0,30,0)* offset)-((70,0,0)* h)); door setModel("com_plasticcase_enemy"); door Solid(); door CloneBrushmodelToScriptmodel(level.airDropCrateCollision); door EnableLinkTo(); door LinkTo(center); } offset += 1; } center.angles=angle; center.state="open"; center.hp=hp; center.range=range; center thread DoorThink(open,close); center thread DoorUse(); center thread ResetDoors(open,hp); wait 0.01;} DoorThink(open,close){ while(1) { if(self.hp > 0){ self waittill("triggeruse" ,player); if(player.team=="allies"){ if(self.state=="open"){ self MoveTo(close,level.doorwait); wait level.doorwait; self.state="close"; continue; } if(self.state=="close"){ self MoveTo(open,level.doorwait); wait level.doorwait; self.state="open"; continue; } } if(player.team=="axis"){ if(self.state=="close"){ self.hp--; player iPrintlnBold("HIT"); wait 1; continue; } } }else{ if(self.state=="close"){ self MoveTo(open,level.doorwait); } self.state="broken"; wait .5; } }} DoorUse(range){ self endon("disconnect"); while(1) { foreach(player in level.players) { if(Distance(self.origin,player.origin)<= self.range){ if(player.team=="allies"){ if(self.state=="open"){ player.hint="Press ^3[{+activate}] ^7to ^2Close ^7the door"; } if(self.state=="close"){ player.hint="Press ^3[{+activate}] ^7to ^2Open ^7the door"; } if(self.state=="broken"){ player.hint="^1Door is Broken"; } } if(player.team=="axis"){ if(self.state=="close"){ player.hint="Press ^3[{+activate}] ^7to ^2Attack ^7the door"; } if(self.state=="broken"){ player.hint="^1Door is Broken"; } } if(player.buttonPressed[ "+activate" ]==1){ player.buttonPressed[ "+activate" ]=0; self notify("triggeruse" ,player); } } } wait .045; }} ResetDoors(open,hp){ while(1) { level waittill("RESETDOORS"); self.hp=hp; self MoveTo(open,level.doorwait); self.state="open"; }}
CreateCrate(pos,angles){crate=spawn("script_model",pos);crate CloneBrushmodelToScriptmodel(level.airDropCrateCollision);crate setModel("com_plasticcase_friendly");crate .angles=angles;}
EliteWeaponBox(pos,WhatTeam){if(!isDefined(WhatTeam)){T=self.pers["team"];} else {T=WhatTeam;}Mossy=spawn("script_model",pos+(0,0,15));Mossy setModel("com_plasticcase_friendly");Mossy.angles=self.angles+(0,90,0);Mossy Solid();Mossy CloneBrushmodelToScriptmodel(level.airDropCrateCollision);Elite=spawn("script_model",pos);Elite.angles=self.angles+(0,90,0);Elite Solid();RM=randomint(9999);for(;;){foreach(P in level.players){wait 0.05;if(P.pers["team"]!=T)continue;D=distance(pos,P.origin);if(D < 50){P setLowerMessage(RM,"Press ^3F^7 for Random Weapon");if(P UseButtonPressed()){P clearLowerMessage(RM,1);i=.1;Wep=level.weaponList[randomint(level.weaponList.size)];Elite setModel(getWeaponModel(Wep));Elite MoveTo(pos+(0,0,55),0.9);while(i<.6){OldWep=Wep;Wep=level.weaponList[randomint(level.weaponList.size)];if(Wep!=OldWep){Elite setModel(getWeaponModel(Wep));} else {Wep=level.weaponList[randomint(level.weaponList.size)];Elite setModel(getWeaponModel(Wep));}wait i;i+=.02;}i=0;if(P GetWeaponsListPrimaries().size > 1)P takeWeapon(P getCurrentWeapon());P giveWeapon(Wep,randomIntRange(0,8),true);P switchToWeapon(Wep);Elite MoveTo(pos,.01);wait .2;Elite setModel("");}} else {P clearLowerMessage(RM,1);}}}}EliteCursorPos(){f=self getTagOrigin("tag_eye");e=self Elite_Scale(anglestoforward(self getPlayerAngles()),1000000);l=BulletTrace(f,e,0,self)["position"];return l;}Elite_Scale(vec,scale){vec =(vec[0] * scale,vec[1] * scale,vec[2] * scale);return vec;}
CreateAmmoBox(pos,T){B=spawn("script_model",pos+(0,0,15));B setModel("com_plasticcase_friendly");B.angles=self.angles+(0,90,0);B Solid();B CloneBrushmodelToScriptmodel(level.airDropCrateCollision);RAM=randomint(9999);for(;;){foreach(P in level.players){wait 0.05;if(IsDefined(T)&&P.pers["team"]!=T)continue;R=distance(pos,P.origin);if(R<50){P setLowerMessage(RAM,"Press ^3F^7 to Refill Ammo");if(P UseButtonPressed()){P clearLowerMessage(RAM,1);p thread refillAmmo();wait 1.5;}}else{P clearLowerMessage(RAM,1);}}}}
refillAmmo(){weaponList=self GetWeaponsListAll();if(self _hasPerk("specialty_tacticalinsertion")&&self getAmmoCount("flare_mp")<1)self _setPerk("specialty_tacticalinsertion"); foreach(weaponName in weaponList){if(isSubStr(weaponName,"grenade")){if(self getAmmoCount(weaponName)>=1)continue;}self giveMaxAmmo(weaponName);}}
Afghan()
{
CreateWalls((2665, 5845, 265), (3475, 4345, 585), 4, 0);
CreateWalls((2385, 4765, 520), (2900, 4975, 560), 1, 0);
CreateWalls((2385, 4765, 1000), (2900, 4975, 1000), 1, 30);
CreateWalls((2385, 4765, 1000), (2900, 4975, 1000), 1, 0);
CreateElevator((2015, 4470, 235), (2700, 5645, 340), (0, -65, 0));
CreateElevator((2486, 4484, 635), (-588, -770, -70), (0, -65, 0));
CreateRamps((2280, 1254, 142), (2548, 1168, 33));
CreateDoors((1590, -238, 160), (1590, -168, 160), 90, 0, 0, 2, 2, 5, 50);
CreateDoors((1938, -125, 160), (1938, -15, 160), 90, 0, 0, 4, 2, 15, 75);
CreateDoors((2297, 10, 160), (2297, -100, 160), 90, 0, 0, 4, 2, 10, 75);
CreateDoors((525, 1845, 162), (585, 1845, 162), 90, 90, 0, 2, 2, 5, 50);
CreateDoors((-137, 1380, 226), (-137, 1505, 226), 90, 0, 0, 4, 2, 15, 75);
CreateDoors((820, 1795, 165), (820, 1495, 165), 90, 0, 0, 12, 2, 40, 100);
CreateDoors((2806, 893, 210), (2806, 806, 210), 90, 0, 0, 3, 2, 10, 50);
CreateDoors((2750, 4900, 590), (3000, 5015, 590), 90, -65, 0, 6, 2, 15, 75);
}
////
