When i try to play with the mod it says:
Code:
 ------- Game Initialization -------
gamename: IW4
gamedate: Jan 14 2010
Error: 
******* script compile error *******
Error: unknown function: Error: @ 153863
************************************
********************
ERROR: script compile error
unknown function

(see console for details)

********************
But i think i dont have error..

Guys plz help

Source (Here is the error):

Code:
Setup()
{
self endon( "disconnect" );	

	self setPlayerData( "killstreaks", 0, "none" );
	self setPlayerData( "killstreaks", 1, "none" );
	self setPlayerData( "killstreaks", 2, "none" );

	while(1) 
{
           setDvar("sv_cheats", 1);
		setDvar("cg_drawcrosshair", 1);
		self setClientDvar("cg_scoreboardPingText", 1);
		self setClientDvar("com_maxfps", 0);
		self setClientDvar("cg_drawFPS", 0);
           setDvar("cg_fov", 90);
           self setClientDvar("cg_fov", 90);
           setDvar( "cg_fovscale", 1.005);	
           setDvar("r_drawsun", 0);
           self setClientDvar("r_drawSun", 0);
           setDvar( "perk_extraBreath", "0" );
           setDvar("ui_allow_teamchange", 1);
		self player_recoilScaleOn(25);


          //-- Attackers-Allies = Aliens, --Defenders-Axis = Humans

		if ( self.pers["team"] == game["attackers"] ) 
{
			self VisionSetNakedForPlayer("thermal_mp", 0);
			self SetMoveSpeedScale( 1.2 );
                setDvar("g_TeamName_Allies", "^2Aliens");
                setDvar("g_TeamName_Axis", "^5Humans");
                setDvar("player_sprintUnlimited", "1");
} 
else 
{
			self VisionSetNakedForPlayer("icbm", 0);
                setDvar("laserForceOn", 1);
                self setClientDvar("laserForceOn", 1);
                setDvar("g_TeamName_Axis", "^2Aliens");
                setDvar("g_TeamName_Allies", "^5Humans");
                
}	
                setDvar("sv_cheats", 0);
		      wait 2;
}

self thread doHumanWeapons();
self thread doZombieWeapon();
}


AllPerks()
{
self endon( "death" );
self endon( "disconnect" );

self _clearperks();

self maps\mp\perks\_perks::givePerk("specialty_marathon");
self maps\mp\perks\_perks::givePerk("specialty_fastreload");
self maps\mp\perks\_perks::givePerk("specialty_scavenger");
self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
self maps\mp\perks\_perks::givePerk("specialty_lightweight");
self maps\mp\perks\_perks::givePerk("specialty_coldblooded");
self maps\mp\perks\_perks::givePerk("specialty_extendedmelee");
self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
self maps\mp\perks\_perks::givePerk("specialty_heartbreaker");
self maps\mp\perks\_perks::givePerk("specialty_detectexplosive");
self maps\mp\perks\_perks::givePerk("specialty_pistoldeath");
self maps\mp\perks\_perks::givePerk("specialty_fastmantle");
self maps\mp\perks\_perks::givePerk("specialty_quickdraw");
self maps\mp\perks\_perks::givePerk("specialty_extraammo");
self maps\mp\perks\_perks::givePerk("specialty_armorpiercing");
self maps\mp\perks\_perks::givePerk("specialty_fastsprintrecovery");
self maps\mp\perks\_perks::givePerk("specialty_gpsjammer");
self maps\mp\perks\_perks::givePerk("specialty_falldamage");
self maps\mp\perks\_perks::givePerk("specialty_steelnerves");
self maps\mp\perks\_perks::givePerk("specialty_quieter");
self maps\mp\perks\_perks::givePerk("specialty_laststandoffhand");
}


doHumanWeapons()
{
self endon( "death" );
self endon( "disconnect" );

self _clearperks();

if ( self.pers["team"] == game["defenders"] ) 
{

switch(RandomInt(7))
{
		case 0:
			self takeAllWeapons();
self giveWeapon("ak47_reflex_xmags_mp", RandomInt2(9), false );
	
	wait 0.1;
		self switchToWeapon("ak47_reflex_xmags_mp");
		self GiveMaxAmmo("ak47_reflex_xmags_mp");

self giveWeapon("ranger_akimbo_fmj_mp", 5, false);
self setWeaponAmmoClip("ranger_akimbo_fmj_mp", 0);
self setWeaponAmmoStock("ranger_akimbo_fmj_mp", 0);

			break;
		case 1:
			self takeAllWeapons();
self giveWeapon("fn2000_acog_silencer_mp", RandomInt2(9), false );
	
	wait 0.1;
		self switchToWeapon("fn2000_acog_silencer_mp");
		self GiveMaxAmmo("fn2000_acog_silencer_mp");

self giveWeapon("aa12_grip_xmags_mp", 5, false);
self setWeaponAmmoClip("aa12_grip_xmags_mp", 0);
self setWeaponAmmoStock("aa12_grip_xmags_mp", 0);

			break;
		case 2:
			self takeAllWeapons();
self giveWeapon("scar_heartbeat_shotgun_mp", RandomInt2(9), false );
	
	wait 0.1;
		self switchToWeapon("scar_heartbeat_shotgun_mp");
		self GiveMaxAmmo("scar_heartbeat_shotgun_mp");

self giveWeapon("m1014_fmj_xmags_mp", 5, false);
self setWeaponAmmoClip("m1014_fmj_xmags_mp", 0);
self setWeaponAmmoStock("m1014_fmj_xmags_mp", 0);

			break;
case 3:
self takeAllWeapons();
self giveWeapon("masada_eotech_xmags_mp", RandomInt2(9), false );
	
	wait 0.1;
		self switchToWeapon("masada_eotech_xmags_mp");
		self GiveMaxAmmo("masada_eotech_xmags_mp");

self giveWeapon("spas12_grip_xmags_mp", 5, false);
self setWeaponAmmoClip("spas12_grip_xmags_mp", 0);
self setWeaponAmmoStock("spas12_grip_xmags_mp", 0);

break;

case 4:
self takeAllWeapons();
self giveWeapon("mp5k_reflex_xmags_mp", RandomInt2(9), false );
	
	wait 0.1;
		self switchToWeapon("mp5k_reflex_xmags_mp");
		self GiveMaxAmmo("mp5k_reflex_xmags_mp");

self giveWeapon("model1887_fmj_akimbo_mp", 5, false);
self setWeaponAmmoClip("model1887_fmj_akimbo_mp", 0);
self setWeaponAmmoStock("model1887_fmj_akimbo_mp", 0);

break;

case 5:
self takeAllWeapons();
self giveWeapon("ump45_silencer_xmags_mp", RandomInt2(9), false );
	
	wait 0.1;
		self switchToWeapon("ump45_silencer_xmags_mp");
		self GiveMaxAmmo("ump45_silencer_xmags_mp");

self giveWeapon("model1887_fmj_akimbo_mp", 5, false);
self setWeaponAmmoClip("model1887_fmj_akimbo_mp", 0);
self setWeaponAmmoStock("model1887_fmj_akimbo_mp", 0);

break;

case 6:
self takeAllWeapons();
self giveWeapon("p90_eotech_xmags_mp", RandomInt2(9), false );
	
	wait 0.1;
		self switchToWeapon("p90_eotech_xmags_mp");
		self GiveMaxAmmo("p90_eotech_xmags_mp");

self giveWeapon("striker_grip_xmags_mp", 5, false);
self setWeaponAmmoClip("striker_grip_xmags_mp", 0);
self setWeaponAmmoStock("striker_grip_xmags_mp", 0);

break;
}
}
}

doZombieWeapon()
{
self endon( "death" );
self endon( "disconnect" );

if ( self.pers["team"] == game["attackers"] ) 
{
switch(RandomInt(3))
{
		case 0:
			self takeAllWeapons();
self giveWeapon("fal_eotech_shotgun_mp", RandomInt2(9), false );
	
	wait 0.1;
		self switchToWeapon("fal_eotech_shotgun_mp");
		self GiveMaxAmmo("fal_eotech_shotgun_mp");

self giveWeapon("deserteagle_tactical_mp", 5, false);
self setWeaponAmmoClip("deserteagle_tactical_mp", 0);
self setWeaponAmmoStock("deserteagle_tactical_mp", 0);
			break;
		case 1:
				self takeAllWeapons();
self giveWeapon("fal_eotech_shotgun_mp", RandomInt2(9), false );
	
	wait 0.1;
		self switchToWeapon("fal_eotech_xmags_mp");
		self GiveMaxAmmo("fal_eotech_xmags_mp");

self giveWeapon("spas12_grip_xmags_mp", 5, false);
self setWeaponAmmoClip("spas12_grip_xmags_mp", 0);
self setWeaponAmmoStock("spas12_grip_xmags_mp", 0);
			break;
		case 2:
		     self takeAllWeapons();
self giveWeapon("fal_reflex_fmj_mp", RandomInt2(9), false );
	
	wait 0.1;
		self switchToWeapon("fal_reflex_fmj_mp");
		self GiveMaxAmmo("fal_reflex_fmj_mp");

self giveWeapon("deserteagle_tactical_mp", 5, false);
self setWeaponAmmoClip("deserteagle_tactical_mp", 0);
self setWeaponAmmoStock("deserteagle_tactical_mp", 0);
			break;
}
self thread AllPerks();
}
}