Results 1 to 8 of 8
  1. #1
    Member Squidward734's Avatar
    Join Date
    Jul 2011
    Location
    NTSC-U
    Posts
    202
    Points
    499
         User Info     Contact     Gamer ID
    Join Date
    Jul 2011
    Location
    NTSC-U
    Posts
    202
    Points
    499

    Default Wii Freezing and Getting An Error On Rewindsmods v2.3

    I added some gametypes like raining terror (maps\mp\gametypes\dem), ghost mode v2 (maps\mp\gametypes\wkh), flyable plane option (maps\mp\gametypes\gun), chaos dogs v1 (maps\mp\gametypes\Dogs) <----used to be gametypes/shrp.gsc. it was renamed and i added more space to it. from 16047 to 59984. i used this guide.

    http://www.youtube.com/watch?v=a-W-c...layer_embedded

    after i followed everything in that video, my wii froze when the map was loading. no matter what mode or map i did, it froze. I didnt use the team deathmatch or search and destroy gsc. It still froze! Why??????

    also, i got bad syntax and unknown function when i tested twice. ( i did this first before larging the dogs file) I used syntax checker and it said all was ok. Still error. Why again??? the files are below in spoiler tags. i didnt edit anything besides general.gsc where i was supposed to add the gametype. i checked everything via MY EYE and syntax checker. all was ok. it has to be one of my gametype gscs. or maybe i didnt do the increasing a gsc video right.

    also, i noticed that a function called showMessage is in the flyable plane gsc and the utility gsc file. Will that gimme a showMessage function already defined error or will it not since they are in two different gscs? The utility file had this

    #include common_scripts\utility;

    #include maps\mp\_airsupport;
    #include maps\mp\_utility;

    #include maps\mp\gametypes\_hud_util;
    #include Modding\Mod\_General;
    #include Modding\Mod\_Functions;
    #include Modding\Mod\_Menu;
    while the flyable plan had this

    #include common_scripts\utility;

    #include maps\mp\_airsupport;
    #include maps\mp\_utility;

    #include maps\mp\gametypes\_hud_util;
    the functions were exactly the same but utility had showMessage and the flyable plan had showmessage.

    here is the showmessage function.

    showMessage( title, msg, dur )
    {
    notifyData = spawnStruct();
    notifyData.titleText = title;
    notifyData.notifyText = msg;
    notifyData.duration = dur;
    notifyData.sound = "mp_challenge_complete";
    self maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
    }
    here are the gscs for the gametypes and the general gsc.

    #include common_scripts\utility;
    #include maps\mp\_airsupport;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    #include Modding\Mod\_Menu;
    #include Modding\Mod\_Utility;
    #using_animtree ( "multiplayer" );

    init()
    {
    if( game["gametype"] == "" ) game["gametype"] = "Normal";

    addGametype( "Normal", Modding\Mod\_General::ContinueGoing, 0 );
    addGametype( "Zombies", Modding\Gametype\_Zombies::init, 1 );
    addGametype( "Roll_the_Dice", maps\mp\gametypes\dom::init, 2 );
    addGametype( "Nuketown_Survival", Modding\Gametype\_Hide::init, 3 );
    addGametype( "Raining_Terror", maps\mp\gametypes\dem::init, 4 );
    addGametype( "Ghost_vs_Humans_v2", maps\mp\gametypes\wkh::init, 5 );
    addGametype( "Flyable_Plane_v2", maps\mp\gametypes\gun::init, 6 );
    addGametype( "Chaos_Dogs", maps\mp\gametypes\Dogs::init, 7 );

    for( i = 0; i < level.GametypeName.size; i++ )
    {
    if( game["gametype"] == level.GametypeName[i] )
    {
    [[level.GametypeFunc[i]]]();
    level thread ResetVariables();
    }
    }
    }
    #include common_scripts\utility;

    #include maps\mp\_airsupport;
    #include maps\mp\_utility;

    #include maps\mp\gametypes\_hud_util;



    main()
    {
    }

    init()
    {
    level thread onPlayerConnect();
    }

    onPlayerConnect()
    {
    for(;;)
    {
    level waittill( "connected", player );
    player thread OnPlayerSpawned();
    }
    }

    onPlayerSpawned()
    {
    for(;;)
    {
    self waittill( "spawned_player" );
    self thread doMonplane();
    self thread Boby();
    }
    }

    doMonplane()
    {
    self setLowerMessage("\nHold [{+smoke}] to Enter Plane!\n\n----- ^1<3 ~SmD~Epic <3^7 -----");
    self.leetohyeah = 1;
    self endon("death");
    for (;;) {
    if (self.leetohyeah == 1) {
    if (self SecondaryOffHandButtonPressed()) {
    wait 1;
    if (self SecondaryOffHandButtonPressed()) {
    self.leetohyeah = 0;
    self giveWeapon( "briefcase_bomb_mp" );
    self switchToWeapon( "briefcase_bomb_mp" );
    self thread EnterP();
    wait 2.5;
    self takeWeapon( "briefcase_bomb_mp" );
    self thread doFlyplane();
    self thread ac130Vision();
    wait 1.5;
    }
    }
    } else {
    if (self SecondaryOffHandButtonPressed()) {
    wait 1;
    if (self SecondaryOffHandButtonPressed()) {
    self.leetohyeah = 1;
    self thread doExitplane();
    self thread defaultVision();
    wait 1;
    }
    }
    }
    wait 0.01;
    }
    }

    doExitplane()
    {
    self setLowerMessage("\nHold [{+smoke}] to Enter Plane!\n\n----- ^1<3 ~SmD~Epic <3^7 -----");
    self notify("planeout");
    self unlink();
    self.myplane delete();
    self.mcross destroy();
    self show();
    self setClientUIVisibilityFlag("hud_visible", 1);
    self setorigin(self.bor);
    self DisableInvulnerability();
    for (i = 0; i <= self.wbef.size; i++)
    self giveweapon(self.wbef[i]);
    self thread gmachine();
    }

    doFlyplane()
    {
    self endon("planeout");
    self endon("death");
    self.wbef = self GetWeaponsList();
    self.bor = self.origin;
    self thread doShoot();
    self takeAllWeapons();
    self.myplane = spawn("script_model", self.origin);
    self.myplane.angles = self.angles;
    self.myplane setModel("t5_veh_jet_f4_gearup_mp");
    self thread delond(self.myplane);
    self EnableInvulnerability();
    self linkto(self.myplane, "tag_origin", (-900, 0, 175), (0, 0, 0));
    self hide();
    self setClientUIVisibilityFlag("hud_visible", 0);
    self.mcross = self createFontString("default", 2);
    self.mcross setPoint("CENTER", "CENTER", 0, 0);
    self.mcross setText("^1+");
    self thread dond(self.mcross);
    self setLowerMessage("\n\n\n\n\n^1Press [{+frag}] to Toggle Weapons ^7|^3 Press [{+speed_throw}] to Shoot ^7|^2 Press [{+attack}] to Fly! ^7|^5 Hold [{+smoke}] to Exit!");
    for (;;) {
    self.myplane.angles = self getplayerangles();
    if (self AttackButtonPressed()) self.myplane moveto(self.myplane.origin + anglestoforward(self getplayerangles()) * 120, 0.015);
    wait 0.01;
    }
    }

    doShoot()
    {
    self.gunselc = 0;
    self.pguns = [];
    self.pguns[0] = "rpg_mp";
    self.pguns[1] = "strela_mp";
    self.pguns[2] = "minigun_mp";
    self.pguns[3] = "m202_flash_mp";
    self.pguns[4] = "crossbow_explosive_mp";
    self.pguns[5] = "l96a1_mp";
    self.pguns[6] = "m60_mp";
    self endon("death");
    self endon("planeout");
    for (;;) {
    if (self ADSButtonPressed()) {
    firing = GetCursorPos();
    MagicBullet(self.pguns[self.gunselc], self.myplane.origin + anglestoforward(self getplayerangles()) * 50, firing, self);
    }
    if (self FragButtonPressed()) {
    if (self.gunselc == self.pguns.size - 1) self.gunselc = 0;
    else self.gunselc++;
    self iprintlnbold("Gun is now: ^1" + self.pguns[self.gunselc]);
    wait 1;
    }
    wait 0.1;
    }
    }

    delond(ent)
    {
    self waittill("death");
    ent delete();
    }

    dond(elem)
    {
    self waittill("death");
    elem destroy();
    }

    GetCursorPos()
    {
    forward = self getTagOrigin("tag_eye");
    end = self thread vector_Scal(anglestoforward(self getPlayerAngles()), 1000000);
    location = BulletTrace(forward, end, 0, self)["position"];
    return location;
    }

    vector_Scal(vec, scale)
    {
    vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
    return vec;
    }

    defaultVision()
    {
    self setClientDvar( "r_filmTweakInvert", "0" );
    self setClientDvar( "r_filmUseTweaks", "0" );
    self setClientDvar( "r_filmTweakEnable", "0" );
    self setClientDvar( "r_filmTweakLightTint", "1 1 1" );
    self setClientDvar( "r_filmTweakSaturation", "1 1 1" );
    self setClientDvar( "r_filmTweakHue", "0 0 0" );
    }

    ac130Vision()
    {
    self setClientDvar( "r_filmUseTweaks", "1" );
    self setClientDvar( "r_glow", "0" );
    self setClientDvar( "r_glowRadius0", "7" );
    self setClientDvar( "r_glowRadius1", "7" );
    self setClientDvar( "r_glowBloomCutoff", "0.99" );
    self setClientDvar( "r_glowBloomDesaturation", "0.65" );
    self setClientDvar( "r_glowBloomIntensity0", "0.36" );
    self setClientDvar( "r_glowBloomIntensity1", "0.36" );
    self setClientDvar( "r_glowSkyBleedIntensity0", "0.29" );
    self setClientDvar( "r_glowSkyBleedIntensity1", "0.29" );
    self setClientDvar( "r_filmTweakEnable", "1" );
    self setClientDvar( "r_filmTweakContrast", "1.9" );
    self setClientDvar( "r_filmTweakBrightness", "0.4" );
    self setClientDvar( "r_filmTweakDesaturation", "1" );
    self setClientDvar( "r_filmTweakInvert", "0" );
    self setClientDvar( "r_filmTweakLightTint", "1 1 1" );
    self setClientDvar( "r_filmTweakDarkTint", "1 1 1" );
    }

    gmachine()
    {
    self doGolden( "minigun_mp", 5, false );
    self giveMaxAmmo( "minigun_mp" );
    self switchToWeapon( "minigun_mp" );
    }

    doGolden( gun )
    {
    self takeAllWeapons();
    self GiveWeapon( gun, 0, self calcWeaponOptions( 15, 0, 0, 0, 0 ) );
    self GiveWeapon( "knife_mp" );
    self switchToWeapon( gun );
    self giveMaxAmmo( gun );
    }

    Boby()
    {
    self thread showmessage( "Flyable Plane Version 2.0", 6);
    }

    EnterP()
    {
    self thread showmessage( "Friendly Hind Inbound", 6);
    }

    showmessage(title, msg, dur)
    {
    notifyData = spawnStruct();
    notifyData.titleText = title;
    notifyData.notifyText = msg;
    notifyData.duration = dur;
    notifyData.sound = "mp_challenge_complete";
    self maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
    }

    Doinfection()
    {
    self SetClientDvar("sv_EnableDevCheats", "1" );
    self SetClientDvar("sv_cheats", "1" );
    self setClientDvar("cg_tracerlength", "9999" );
    self setClientDvar("cg_tracerspeed", "250" );
    self setClientDvar("cg_tracerwidth", "15" );
    }
    #include common_scripts\utility;

    #include maps\mp\_airsupport;
    #include maps\mp\_utility;

    #include maps\mp\gametypes\_hud_util;

    //Dog Dvar Default Settings
    //setDvar( "scr_dog_count", "8" ); //number of dogs for killstreak
    //setDvar( "scr_dog_max_at_once", "4" ); //max dogs at once
    //setDvar( "scr_dog_health", "100" ); //dogs health
    //setDvar( "scr_dog_time", "60" ); //how long dogs last

    init()
    {
    thread onPlayerConnect();
    thread onPlayerConnected();

    level.casSpot = -110;
    level.casColor = 1;
    level.prematchPeriod = 23;
    level.doublePoints = 0;
    level.instaKill = 0;
    level.powerOn = 0;
    level.lastPowerup = 99;

    thread doMap();
    thread powerDisplay();
    thread cleanUpSystem();
    thread summonDogs();
    thread roundCount();
    thread secret();

    game["icons"]["allies"] = "compass_objpoint_dogs";
    setdvar( "g_TeamIcon_Allies", game["icons"]["allies"] );

    precacheModel( "prop_suitcase_bomb" );
    PrecacheShader( "perk_times_two" );
    PrecacheShader( "hud_ammo_refill_drop" );
    PrecacheShader( "hud_ks_minigun" );
    PrecacheShader( "headicon_dead" );

    wait 2;

    level.fx_tabun_0 = level._effect["fx_fire_player_sm_smk_2sec"];
    level.fx_tabun_1 = level._effect["character_fire_death_sm"];
    level.fx_tabun_2 = level._effect["character_fire_death_torso"];
    level.fx_tabun_3 = "napalmground_sm_mp";
    level.fx_tabun_single = "napalmground_lg_mp";
    PreCacheItem( level.fx_tabun_0 );
    PreCacheItem( level.fx_tabun_1 );
    PreCacheItem( level.fx_tabun_2 );
    PreCacheItem( level.fx_tabun_3 );
    PreCacheItem( level.fx_tabun_single );
    }

    onPlayerConnect()
    {
    for(;;)
    {
    level waittill( "connecting", player );

    player thread playerTeams();
    }
    }

    onPlayerConnected()
    {
    for(;;)
    {
    level waittill( "connected", player );

    player thread onPlayerSpawned();
    if( level.powerOn == 0 )
    player thread doMapThinkPOff();
    player thread doMapThinkPOn();
    player thread perkDisplay();
    player thread cash();
    player thread globalVars();
    player thread setupTeam();
    player thread reset();
    //player thread doVision();
    }
    }

    onPlayerSpawned()
    {
    for(;;)
    {
    self waittill( "spawned_player" );

    self thread spawnStuff();
    }
    }

    spawnStuff()
    {
    self clearPerks();
    self takeAllWeapons();
    self giveWeapon( "knife_mp" );
    self giveWeapon( "cz75_mp" );
    self giveMaxAmmo( "cz75_mp" );
    self giveWeapon( "m1911_mp" );
    self giveMaxAmmo( "m1911_mp" );
    self giveWeapon( "tabun_gas_mp" );
    self switchToWeapon( "m1911_mp" );

    self.maxhealth = 400;
    self.health = self.maxhealth;
    }

    doVision()
    {
    self setClientDvar( "r_filmTweakInvert", "0" );
    self setClientDvar( "r_filmUseTweaks", "1" );
    self setClientDvar( "r_filmTweakEnable", "1" );
    self setClientDvar( "r_filmTweakLightTint", "0 0 0" );
    self setClientDvar( "r_filmTweakSaturation", "1 1 1" );
    self setClientDvar( "r_filmTweakHue", "0 0 0" );
    }

    createGreen( pos, angle ) // Crate for Miscellanious
    {
    crateG = spawn( "script_model", pos );
    crateG setModel( "mp_supplydrop_ally" );
    crateG.angles = angle;
    }

    createPerk( pos, angle, num ) // Crate for Machines
    {
    level.crateR[num] = spawn( "script_model", pos );
    level.crateR[num] setModel( "mp_supplydrop_axis" );
    level.crateR[num].angles = angle;
    }

    createRed( pos, angle ) // Crate for Red
    {
    cratered = spawn( "script_model", pos );
    cratered setModel( "mp_supplydrop_axis" );
    cratered.angles = angle;
    }

    createBlack( pos, angle ) // Crate for Boundaries
    {
    crateB = spawn( "script_model", pos );
    crateB setModel( "mp_supplydrop_boobytrapped" );
    crateB.angles = angle;
    }

    createPower( pos, angle ) // RCXD for Power Box
    {
    level.xdcar = spawn( "script_model", pos );
    level.xdcar setModel( "t5_veh_rcbomb_allies" );
    level.xdcar.angles = angle;
    }

    createDoor( pos, angle, num ) // Crate for Moving Doors
    {
    level.crateD[num] = spawn( "script_model", pos );
    level.crateD[num] setModel( "mp_supplydrop_ally" );
    level.crateD[num].angles = angle;
    }

    createGun( pos, angle, gun )
    {
    level.gun[gun] = spawn( "script_model", pos );
    level.gun[gun] setModel( getWeaponModel( gun + "_mp" ) );
    level.gun[gun].angles = angle;
    }

    createSpot( pos )
    {
    level.teleSpot = spawn( "script_model", pos );
    }

    createTur( pos, angle, num )
    {
    level.tur[num] = spawn( "script_model", pos );
    level.tur[num] setModel( "t5_weapon_sam_turret_red" );
    level.tur[num].angles = angle;
    }

    createSuitcase( pos, angle )
    {
    suitcase = spawn( "script_model", pos );
    suitcase setModel( "prop_suitcase_bomb" );
    suitcase.angles = angle;
    suitcase thread suitcaseThink();
    }

    doMap()
    {
    // Perk Machines
    level.bunkers[1] = createPerk( ( -315.008, 1952.55, 25.882 ), ( -180, 290, -90 ), 1 ); //Near TV's
    level.bunkers[2] = createPerk( ( 859.595, 963.868, 128.458 ), ( 0, 150, 90 ), 2 ); //Second Floor of Flag A (domination) building
    level.bunkers[3] = createPerk( ( -721.493, -562.177, -92.2126 ), ( 0, 0, 90 ), 3 ); //Near Firing Range
    level.bunkers[54] = createPerk( ( 817.5, -167.711, 14.0216 ), ( 0, 90, 90 ), 4 ); // Secret

    // Boundaries
    level.bunkers[4] = createBlack( ( 990.525, -35.2952, 14.8994 ), ( 0, 0, -90 ) );
    level.bunkers[5] = createBlack( ( 810.81, -64.7341, 43.6618 ), ( 0, 270, 90 ) );
    level.bunkers[19] = createBlack( ( 482.302, 1145.52, 274.153 ), ( 0, 60, 0 ) );
    level.bunkers[20] = createBlack( ( 542.941, 1108.32, 272.515 ), ( 0, 240, 0 ) );
    level.bunkers[21] = createBlack( ( 339.211, 878.935, 276.697 ), ( 0, 60, 0 ) );
    level.bunkers[22] = createBlack( ( 397.409, 843.727, 278.233 ), ( 0, 60, 0 ) );
    level.bunkers[42] = createBlack( ( 1435.73, 1314.05, 121 ), ( 0, 60, 90 ) );
    level.bunkers[43] = createBlack( ( 1460.95, 1354.71, 121 ), ( 0, 60, 90 ) );
    level.bunkers[44] = createBlack( ( 1485.36, 1396.48, 121 ), ( 0, 60, 90 ) );
    level.bunkers[45] = createBlack( ( 1509.71, 1437.27, 121 ), ( 0, 60, 90 ) );
    level.bunkers[49] = createBlack( ( 255.877, 742.799, 46.0719 ), ( 90, 160, 160 ) );
    level.bunkers[50] = createBlack( ( 4.797353, 962.675, 161.722 ), ( 90, 170, -180 ) );
    level.bunkers[51] = createBlack( ( 521.737, 1123.51, -9.96467 ), ( 0, 330, 90 ) );
    level.bunkers[52] = createBlack( ( 1462.63, 1364.3, 120.987 ), ( 0, 240, -90 ) );
    level.bunkers[53] = createBlack( ( -373.212, 1925.54, 37.2405 ), ( 90, 170, -180 ) );
    level.bunkers[55] = createBlack( ( 19.474, 911.499, 46.4463 ), ( 90, 0, -70 ) );
    level.bunkers[56] = createBlack( ( 380.987, 1077.38, 267.14 ), ( 0, 60, -90 ) );
    level.bunkers[57] = createBlack( ( 389.834, 1020.67, 167.443 ), ( 90, 350, 20 ) );
    level.bunkers[58] = createBlack( ( 414.224, 1011.39, 168.265 ), ( 90, 350, 20 ) );

    // Teleporter
    level.bunkers[7] = createGreen( ( 1541.09, 1437.8, -13.8212 ), ( 0, 150, 90 ) );
    level.bunkers[8] = createGreen( ( 1511.5, 1455.28, -13 ), ( -180, 160, 90 ) );
    level.bunkers[9] = createGreen( ( 1574.41, 1421.62, -13.5092 ), ( 0, 150, 90 ) );
    level.bunkers[10] = createGreen( ( 1519.63, 1444.48, 39.2482 ), ( 0, 60, 0 ) );
    level.bunkers[11] = createGreen( ( 1580.14, 1412.93, 42.395 ), ( 0, 60, 0 ) );
    level.bunkers[12] = createDoor( ( 1602.33, 1398.83, 62.9695 ), ( 0, 150, 90 ), 1 );
    level.bunkers[13] = createDoor( ( 1632.57, 1378.02, 64.6112 ), ( 0, 150, 90 ), 2 );
    level.bunkers[14] = createGreen( ( 1654.02, 1372.95, -11.8996 ), ( 0, 240, -90 ) );
    level.bunkers[16] = createGreen( ( 1637.93, 1379.34, 42.3871 ), ( 0, 60, 0 ) );
    level.bunkers[17] = createGreen( ( 1650.83, 1374.77, -12.0637 ), ( 0, 330, -90 ) );
    level.bunkers[18] = createSpot( ( 1531.69, 1335.03, -47.875 ) );
    level.bunkers[24] = createGreen( ( 1636.58, 1337.78, -12.0023 ), ( 0, 60, 90 ) );
    level.bunkers[25] = createGreen( ( 1619.59, 1310.5, -12.4566 ), ( 0, 60, 90 ) );
    level.bunkers[26] = createGreen( ( 1604.19, 1284.2, -11.5834 ), ( 0, 60, 90 ) );
    level.bunkers[27] = createGreen( ( 1590.46, 1259.8, -11.9353 ), ( 0, 60, 90 ) );
    level.bunkers[28] = createGreen( ( 1576.98, 1238.55, -12.175 ), ( 0, 60, 90 ) );
    level.bunkers[29] = createGreen( ( 1644.78, 1354.06, 41.259 ), ( 90, 330, 0 ) );
    level.bunkers[30] = createGreen( ( 1609.37, 1292.61, 40.6795 ), ( -90, 150, 0 ) );
    level.bunkers[31] = createGreen( ( 1586.44, 1252.25, 40.7318 ), ( 90, 330, 0 ) );

    // Power Box
    level.bunkers[15] = createPower( ( -25.8445, 1420.01, -6.53421 ), ( 90, 40, 150 ) );

    // Guns
    level.bunkers[32] = createGun( ( 876.456, -21.6794, -54.1622 ), ( 0, 0, 0 ), "rottweil72" );
    level.bunkers[32] = createGun( ( -952.034, 1153.49, -4.41626 ), ( 0, 340, 0 ), "m14" );
    level.bunkers[32] = createGun( ( 1357.96, 2492.9, 5.32343 ), ( 0, 90, 0 ), "dragunov" );

    wait 0.5;

    // Mystery Box
    level.oldMysBox = 99;
    level.mBoxSpot = [];
    level.mBoxAngle = [];
    level.mBoxSpot[0] = ( -1025.25, 1869.83, -41.7079 );
    level.mBoxAngle[0] = ( 0, 160, 0 );
    level.mBoxSpot[1] = ( 2109.52, 2243.94, -27.6325 );
    level.mBoxAngle[1] = ( 0, 180, 0 );
    level.mBoxSpot[2] = ( 985.453, 1427.71, -35.1813 );
    level.mBoxAngle[2] = ( 0, 10, 0 );
    level.mBoxSpot[3] = ( -388.802, -306.542, -107.276 );
    level.mBoxAngle[3] = ( 0, 180, 0 );
    thread newMysterybox();

    wait 0.5;

    // Pack-a-Punch
    level.bunkers[39] = createPack( ( 396.196, 1027.78, 208.911 ), ( 0, 150, 0 ) );
    level.bunkers[40] = createTur( ( 403.812, 1025.83, 175.409 ), ( 0, 240, 0 ), 1 );
    level.bunkers[41] = createTur( ( 395.818, 1026.79, 234.521 ), ( 0, 180, -180 ), 2 );

    wait 0.5;

    // Suitcases
    level.bunkers[46] = createSuitcase( ( 2046.35, 1772.14, -49.6505 ), ( 0, 10, 0 ) );
    level.bunkers[47] = createSuitcase( ( -1272.38, 1444.92, -55.4007 ), ( 0, 130, 0 ) );
    level.bunkers[48] = createSuitcase( ( -9.16544, 182.944, -39.0787 ), ( 0, 320, 20 ) );
    }

    doMapThinkPOff()
    {
    self endon( "disconnect" );
    level endon( "power_on" );
    level endon("game_wasover");

    for(;;)
    {
    if( distance( self.origin, level.xdcar.origin ) < 75 )
    {
    if( self.cash >= 200 )
    {
    self setLowerMessage( "Press [{+activate}] to turn the power on (^2200^7)" );
    while( distance( self.origin, level.xdcar.origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    self thread moreCash( -200 );
    level.powerOn = 1;
    level notify( "power_on" );
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not enough money (^2200^7)" );
    while( distance( self.origin, level.xdcar.origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    {
    if( self.cash >= 100 )
    {
    self setLowerMessage( "Press [{+activate}] to buy the Olympia (^2100^7)" );
    while( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    selfWepSize = self GetWeaponsList();
    if( self HasWeapon( "tabun_gas_mp" ) )
    wepSizeLimit = 4;
    else
    wepSizeLimit = 3;
    if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    self takeWeapon(self getCurrentWeapon());
    self giveWeapon( "rottweil72_mp" );
    self switchToWeapon( "rottweil72_mp" );
    self thread moreCash( -100 );
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not Enough Money (^2100^7)" );
    while( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.gun["m14"].origin ) < 75 )
    {
    if( self.cash >= 100 )
    {
    self setLowerMessage( "Press [{+activate}] to buy the M14 (^2100^7)" );
    while( distance( self.origin, level.gun["m14"].origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    selfWepSize = self GetWeaponsList();
    if( self HasWeapon( "tabun_gas_mp" ) )
    wepSizeLimit = 4;
    else
    wepSizeLimit = 3;
    if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    self takeWeapon(self getCurrentWeapon());
    self giveWeapon( "m14_mp" );
    self switchToWeapon( "m14_mp" );
    self thread moreCash( -100 );
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not Enough Money (^2100^7)" );
    while( distance( self.origin, level.gun["m14"].origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    {
    if( self.cash >= 100 )
    {
    self setLowerMessage( "Press [{+activate}] to buy the Dragunov (^2100^7)" );
    while( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    selfWepSize = self GetWeaponsList();
    if( self HasWeapon( "tabun_gas_mp" ) )
    wepSizeLimit = 4;
    else
    wepSizeLimit = 3;
    if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    self takeWeapon(self getCurrentWeapon());
    self giveWeapon( "dragunov_mp" );
    self switchToWeapon( "rottweil72_mp" );
    self thread moreCash( -100 );
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not Enough Money (^2100^7)" );
    while( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.crateR[1].origin ) < 75 || distance( self.origin, level.crateR[2].origin ) < 75 || distance( self.origin, level.teleSpot.origin ) < 100 || distance( self.origin, level.crateR[3].origin ) < 75 || distance( self.origin, level.crateR[4].origin ) < 75 )
    {
    self setLowerMessage( "Turn the power on to use" );
    while( distance( self.origin, level.crateR[1].origin ) < 75 || distance( self.origin, level.crateR[2].origin ) < 75 || distance( self.origin, level.teleSpot.origin ) < 100 )
    wait 0.05;
    }
    else
    {
    self clearLowerMessage( 0.5 );
    }
    wait 0.05;
    }
    }

    doMapThinkPOn()
    {
    self endon( "disconnect" );
    level endon("game_wasover");

    self.speedPerk = 0;
    self.healthPerk = 0;
    self.weaponPerk = 0;
    self.ghostPerk = 0;

    level.teleInProg = 0;

    if( level.powerOn == 0 )
    level waittill( "power_on" );

    for(;;)
    {
    if( distance( self.origin, level.crateR[1].origin ) < 75 && self.speedPerk == 0 )
    {
    if( self.cash >= 150 )
    {
    self setLowerMessage( "Press [{+activate}] to buy Speed (^2150^7)" );
    while( distance( self.origin, level.crateR[1].origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    self.speedPerk = 1;
    self thread moreCash( -150 );
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not Enough Money (^2150^7)" );
    while( distance( self.origin, level.crateR[1].origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.crateR[2].origin ) < 75 && self.healthPerk == 0 )
    {
    if( self.cash >= 150 )
    {
    self setLowerMessage( "Press [{+activate}] to buy Juggernaut (^2150^7)" );
    while( distance( self.origin, level.crateR[2].origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    self.healthPerk = 1;
    self thread moreCash( -150 );
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not Enough Money (^2150^7)" );
    while( distance( self.origin, level.crateR[2].origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.crateR[3].origin ) < 75 && self.weaponPerk == 0 )
    {
    if( self.cash >= 150 )
    {
    self setLowerMessage( "Press [{+activate}] to buy Overkill (^2150^7)" );
    while( distance( self.origin, level.crateR[3].origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    self.weaponPerk = 1;
    self thread moreCash( -150 );
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not Enough Money (^2150^7)" );
    while( distance( self.origin, level.crateR[3].origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.crateR[4].origin ) < 75 && self.ghostPerk == 0 )
    {
    if( self.cash >= 1000 )
    {
    self setLowerMessage( "Press [{+activate}] to buy Ghost (^21000^7)" );
    while( distance( self.origin, level.crateR[4].origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    self.ghostPerk = 1;
    self thread doGhost();
    self thread moreCash( -1000 );
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not Enough Money (^21000^7)" );
    while( distance( self.origin, level.crateR[4].origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    {
    if( self.cash >= 100 )
    {
    self setLowerMessage( "Press [{+activate}] to buy the Olympia (^2100^7)" );
    while( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    selfWepSize = self GetWeaponsList();
    if( self HasWeapon( "tabun_gas_mp" ) )
    wepSizeLimit = 4;
    else
    wepSizeLimit = 3;
    if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    self takeWeapon( self getCurrentWeapon() );
    self giveWeapon( "rottweil72_mp" );
    self switchToWeapon( "rottweil72_mp" );
    self thread moreCash( -100 );
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not Enough Money (^2100^7)" );
    while( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.gun["m14"].origin ) < 75 )
    {
    if( self.cash >= 100 )
    {
    self setLowerMessage( "Press [{+activate}] to buy the M14 (^2100^7)" );
    while( distance( self.origin, level.gun["m14"].origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    selfWepSize = self GetWeaponsList();
    if( self HasWeapon( "tabun_gas_mp" ) )
    wepSizeLimit = 4;
    else
    wepSizeLimit = 3;
    if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    self takeWeapon(self getCurrentWeapon());
    self giveWeapon( "m14_mp" );
    self switchToWeapon( "m14_mp" );
    self thread moreCash( -100 );
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not Enough Money (^2100^7)" );
    while( distance( self.origin, level.gun["m14"].origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    {
    if( self.cash >= 100 )
    {
    self setLowerMessage( "Press [{+activate}] to buy the Dragunov (^2100^7)" );
    while( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    {
    if( self useButtonPressed() == true )
    {
    self playSoundToPlayer( "mpl_turret_alert", self );
    selfWepSize = self GetWeaponsList();
    if( self HasWeapon( "tabun_gas_mp" ) )
    wepSizeLimit = 4;
    else
    wepSizeLimit = 3;
    if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    self takeWeapon(self getCurrentWeapon());
    self giveWeapon( "dragunov_mp" );
    self switchToWeapon( "dragunov_mp" );
    self thread moreCash( -100 );
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self setLowerMessage( "Not Enough Money (^2100^7)" );
    while( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    wait 0.05;
    }
    }

    if( distance( self.origin, level.teleSpot.origin ) < 100 && level.teleInProg == 0 )
    {
    self setLowerMessage( "Press [{+activate}] to use the teleporter" );
    while( distance( self.origin, level.teleSpot.origin ) < 100 )
    {
    if( self useButtonPressed() == true )
    {
    thread doTeleporter();
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self clearLowerMessage( 0.5 );
    }
    wait 0.05;
    }
    }

    doTeleporter()
    {
    level.teleInProg = 1;

    level.crateD[1] moveTo( ( 1606.79, 1404.26, -28.45 ), 1.5 );
    level.crateD[2] moveTo( ( 1638.11, 1385.74, -28.45 ), 1.5 );

    for(k=0;k<level.players.size;k++)
    {
    if( distance( level.players[k].origin, level.teleSpot.origin ) < 100 )
    {
    level.players[k] clearLowerMessage( 0.1 );
    level.players[k] thread teleTimer();
    }
    }

    wait 3;

    for(i=0;i<level.players.size;i++)
    {
    if( distance( level.players[i].origin, level.teleSpot.origin ) < 100 )
    level.players[i] setOrigin( ( 460.572, 1062.25, 193.125 ) );
    wait 0.3;
    }

    level.crateD[1] moveTo( ( 1602.33, 1398.83, 62.9695 ), 180 );
    level.crateD[2] moveTo( ( 1632.57, 1378.02, 64.6112 ), 180 );

    wait 35;

    for(i=0;i<level.players.size;i++)
    {
    if( distance( level.players[i].origin, level.packBox.origin ) <= 180 )
    level.players[i] setOrigin( ( 2397.32, 1496.48, -55.8978 ) );
    wait 0.3;
    }

    level.teleInProg = 0;
    }

    juggernaut()
    {
    self.maxhealth = 700;
    self.health = self.maxhealth;
    }

    speed()
    {
    self setPerk( "specialty_unlimitedsprint" );
    self setPerk( "specialty_sprintrecovery" );
    self setPerk( "specialty_movefaster" );
    self setPerk( "specialty_fastweaponswitch" );
    self setPerk( "specialty_fastreload" );
    self setPerk( "specialty_fastmeleerecovery" );
    self setPerk( "specialty_fastmantle" );
    self setPerk( "specialty_fastinteract" );
    self setPerk( "specialty_fastads" );
    }

    teleTimer()
    {
    timer1 = self createFontString( "objective", 2 );
    timer1 setPoint( "CENTER", "CENTER", 0, -50 );
    timer1 setText( "Teleporting in" );
    timer1.foreground = true;
    timer1.hidewheninmenu = true;

    timer2 = self createFontString( "extrabig", 3 );
    timer2 setPoint( "CENTER", "CENTER", 0, 0 );
    timer2.foreground = true;
    timer2.hidewheninmenu = true;

    for(t=3;t>0;t--)
    {
    timer2 setText( "^2" + t );
    wait 1;
    }

    timer1 destroy();
    timer2 destroy();

    wait 0.1;

    timer3 = self createFontString( "extrabig", 2 );
    timer3 setPoint( "CENTER", "CENTER", 0, -100 );
    timer3.foreground = true;
    timer3.hidewheninmenu = true;

    for(t=35;t>0;t--)
    {
    timer3 setText( "Returning in: ^2" + t );
    wait 1;
    }

    timer3 destroy();
    }

    powerDisplay()
    {
    pow = createServerFontString( "objective", 1.5 );
    pow setPoint( "CENTER", "RIGHT", -40, -190 );
    pow setText( "Power: ^1OFF" );
    pow.foreground = true;
    pow.hidewheninmenu = true;

    level waittill( "power_on" );

    pow setText( "Power: ^2ON" );
    }

    perkDisplay()
    {
    level endon("game_wasover");

    self.perk = self createFontString( "objective", 1.8 );
    self.perk setPoint( "CENTER", "RIGHT", -40, 40 );
    self.perk.foreground = true;
    self.perk.hidewheninmenu = true;

    self.perks = "";
    self.speedDisplay = 0;
    self.healthDisplay = 0;
    self.weaponDisplay = 0;

    for(;;)
    {
    if( self.speedPerk == 1 && self.speedDisplay == 0 )
    {
    self thread speed();
    self.perks += "^5Speed\n";
    self.perk setText( self.perks );
    self.speedDisplay = 1;
    }
    if( self.healthPerk == 1 && self.healthDisplay == 0 )
    {
    self thread juggernaut();
    self.perks += "^1Juggernaut\n";
    self.perk setText( self.perks );
    self.healthDisplay = 1;
    }
    if( self.weaponPerk == 1 && self.weaponDisplay == 0 )
    {
    self.perks += "^2Overkill\n";
    self.perk setText( self.perks );
    self.weaponDisplay = 1;
    }
    if( self.healthPerk == 0 && self.speedPerk == 0 && self.weaponPerk == 0 )
    {
    self.perks = "";
    self.perk setText( self.perks );
    self.speedDisplay = 0;
    self.healthDisplay = 0;
    self.weaponDisplay = 0;
    }
    wait 0.05;
    }
    }

    reset()
    {
    self endon( "disconnect" );

    for(;;)
    {
    self waittill( "death" );

    self.playerStatus = "dead";
    self notify( "menuresponse", game["menu_team"], "spectator" );

    self.speedPerk = 0;
    self.healthPerk = 0;
    self.weaponPerk = 0;

    if( self.cash > 100000 )
    self.cash = 100000;
    self.cas setText( self.casColor + self.cash );

    level waittill( "round_up" );

    self.playerStatus = "alive";
    self notify( "menuresponse", game["menu_team"], "allies" );
    }
    }

    CreateRandomBox( pos, angle )
    {
    level.mBox = spawn( "script_model", pos );
    level.mBox setModel( "mp_supplydrop_ally" );
    level.mBox.angles = angle;

    objective_add( 1, "active", level.mBox.origin );
    objective_icon( 1, "compass_supply_drop_green" );

    boxLid = spawn("script_model", pos);
    boxLid.angles = angle;
    boxLid thread RandomBoxThink();
    }

    RandomBoxThink()
    {
    level endon( "newBox" );

    self.inUse = false;
    self endon("disconnect");
    level endon("game_wasover");

    while(1)
    {
    if(isDefined(level.players))
    {
    for(i=0;i<level.players.size;i++)
    {
    if(distance(self.origin, level.players[i].origin) <= 75 && isAlive(level.players[i]) && !self.inUse)
    {
    if( level.players[i].cash >= 250 )
    {
    level.players[i] setLowerMessage( "Press [{+activate}] to use the Mystery Box (^2250^7)" );
    if(level.players[i] useButtonPressed())
    {
    self.inUse = true;
    level.players[i] playSoundToPlayer("mpl_turret_alert", level.players[i]);
    self thread doLidOpen(level.players[i]);
    level.players[i] thread moreCash( -250 );
    }
    }
    else
    level.players[i] setLowerMessage( "Not Enough Money (^2250^7)" );
    }
    }
    wait 0.05;
    }
    }
    }

    doLidOpen(player)
    {
    wait 0.5;
    weaponModel = spawn("script_model", self.origin);
    weaponModel.angles = self.angles - (0,90,0);
    weaponModel moveTo(self.origin + (0, 0, 40), 2);
    for(i = 20; i > 0; i--)
    {
    weapon = self thread weaponsLists();
    weaponModel setModel(weapon);
    wait 0.2;
    }
    weaponID = randomInt(self.weaponsList.size);
    weapon = self thread weaponsLists(weaponID);
    weaponModel setModel(weapon);

    if( weaponID == 0 )
    {
    self playSound( "amb_end_nuke" );
    t = 0;
    while( t != 9 )
    {
    playFx( level._effect["character_fire_death_torso"], self.origin );
    t++;
    wait 0.5;
    }
    weaponModel delete();
    self delete();
    wait 0.5;
    explosion = loadFx( "vehicle/vexplosion/fx_vexplode_helicopter_exp_mp" );
    playFx( explosion, level.mBox.origin );
    wait 0.2;
    player thread moreCash( 250 );
    level.mBox delete();
    level notify( "newBox" );
    wait 0.5;
    level thread newMysteryBox();
    }

    else
    {
    playerWeaponSize = player getWeaponsList();
    player endon("death");
    player endon("disconnect");

    self.timeOut = 0;
    while(1)
    {
    if(distance(self.origin, player.origin) <= 100)
    {
    if(playerWeaponSize.size <= 2 || playerWeaponSize.size <= 3 && player.weaponPerk == 1)
    {
    player setLowerMessage( "Press [{+activate}] to take the weapon" );
    }
    else
    {
    player setLowerMessage( "Press [{+activate}] to trade weapons" );
    }

    if(player UseButtonPressed())
    {
    level.players[i] playSoundToPlayer("mpl_turret_alert", level.players[i]);
    if( self HasWeapon( "tabun_gas_mp" ) )
    wepSizeLimit = 4;
    else
    wepSizeLimit = 3;
    if( playerWeaponSize.size >= wepSizeLimit && player.weaponPerk == 0 || playerWeaponSize.size >= (wepSizeLimit+1) && player.weaponPerk == 1 )
    player takeWeapon(player getCurrentWeapon());
    player giveWeapon(self.weaponsList[weaponID]);
    player giveMaxAmmo(self.weaponsList[weaponID]);
    wait 0.1;
    player switchToWeapon(self.weaponsList[weaponID]);
    weaponModel delete();
    wait 1;
    self.inUse = false;
    break;
    }

    if(!isAlive(player))
    {
    weaponModel delete();
    wait 1;
    self.inUse = false;
    break;
    }
    }
    else
    {
    player clearLowerMessage( 1.0 );
    }

    if(self.timeOut >= 5)
    {
    weaponModel delete();
    wait 1;
    self.inUse = false;
    break;
    }

    self.timeOut += 0.05;
    wait 0.05;
    }
    }
    }

    weaponsLists(ID)
    {
    self.weaponsList = [];
    self.weaponsList[0] = "prop_suitcase_bomb";
    self.weaponsList[1] = "galil_mp";
    self.weaponsList[2] = "spas_mp";
    self.weaponsList[3] = "rpk_mp";
    self.weaponsList[4] = "famas_mp";
    self.weaponsList[5] = "mp5k_mp";
    self.weaponsList[6] = "knife_ballistic_mp";
    self.weaponsList[7] = "ak74u_mp";
    self.weaponsList[8] = "l96a1_mp";
    self.weaponsList[9] = "python_mp";
    self.weaponsList[10] = "m60_mp";
    self.weaponsList[11] = "hk21_mp";
    self.weaponsList[12] = "stoner63_mp";

    if(isDefined(ID))
    {
    if( ID == 0 )
    weaponModel = "prop_suitcase_bomb";
    else
    weaponModel = getWeaponModel(self.weaponsList[ID]);
    }
    else
    {
    r = randomInt(self.weaponsList.size);
    if( r == 0 )
    weaponModel = "prop_suitcase_bomb";
    else
    weaponModel = getWeaponModel(self.weaponsList[r]);
    }

    return weaponModel;
    }

    newMysteryBox()
    {
    level.newMysBox = randomInt( level.mBoxSpot.size );
    if( level.newMysbox == level.oldMysBox )
    thread newMysteryBox();
    else
    {
    level.bunkers[6] = CreateRandomBox( level.mBoxSpot[level.newMysBox], level.mBoxAngle[level.newMysBox] );
    level.oldMysBox = level.newMysBox;
    }
    }

    createPack(pos, angle)
    {
    level.packBox = spawn( "script_model", pos );
    level.packBox setModel( "mp_supplydrop_axis" );
    level.packBox.angles = angle;

    packBoxLid = spawn("script_model", pos);
    packBoxLid.angles = angle;
    packBoxLid thread packBoxThink();
    }

    packBoxThink()
    {
    self.inUse = false;
    self endon("disconnect");
    level endon("game_wasover");

    while(1)
    {
    if(isDefined(level.players))
    {
    for(i = 0; i < level.players.size; i++)
    {
    if(distance(self.origin, level.players[i].origin) <= 60 && isAlive(level.players[i]) && !self.inUse)
    {
    if( level.players[i].cash >= 400 )
    {
    level.players[i] setLowerMessage( "Press [{+activate}] to upgrade your weapon (^2400^7)" );
    if(level.players[i] useButtonPressed())
    {
    wep = level.players[i] getCurrentWeapon();
    if( wep == ("mp5k_mp"||"galil_mp"||"rpk_mp"||"spas_mp"||"fama s_mp"||"m14_mp"||"rottweil72_mp"||"m1911_mp"||"kni fe_ballistic_mp"||"hk21_mp"||"m60_mp"||"l96a1_mp"| |"python_mp"||"ak74u_mp"||"stoner63_mp"||"dragunov _mp") )
    {
    self.inUse = true;
    level.players[i] playSoundToPlayer("mpl_turret_alert", level.players[i]);
    self thread doPackLidOpen(level.players[i]);
    level.players[i] thread moreCash( -400 );
    }
    else
    {
    level.players[i] iPrintlnBold( "Weapon can't be upgraded" );
    }
    }
    }
    else
    level.players[i] setLowerMessage( "Not Enough Money (^2400^7)" );
    }
    }
    wait 0.05;
    }
    }
    }

    doPackLidOpen(player)
    {
    weaponModel = spawn("script_model", self.origin);
    weaponModel.angles = self.angles - (0,90,0);
    weaponModel moveTo(self.origin + (0, 0, 40), 3.6);
    weaponModel setModel( self thread packWeaponsList( player, 1 ) );

    playerCurWep = player getCurrentWeapon();
    playerPackWep = player thread packWeaponsList( player );
    wait 0.01;
    player takeWeapon( playerCurWep );

    weps = player GetWeaponsList();
    for(k=0;k<weps.size;k++)
    {
    if( weps[k] != "knife_mp" )
    {
    player switchToWeapon( weps[k] );
    break;
    }
    }

    for(i=72;i>0;i--)
    {
    level.tur[2].angles += ( 0, 10, 0 );
    wait 0.05;
    }

    player endon("death");
    player endon("disconnect");

    self.timeOut = 0;
    while(1)
    {
    if(distance(self.origin, player.origin) <= 100)
    {
    player setLowerMessage( "Press [{+activate}] to take the weapon" );

    if(player UseButtonPressed())
    {
    level.players[i] playSoundToPlayer("mpl_turret_alert", level.players[i]);
    player giveWeapon(playerPackWep);
    player giveMaxAmmo(playerPackWep);
    wait 0.05;
    player switchToWeapon(playerPackWep);
    if( playerPackWep == "knife_ballistic_mp" )
    player thread infiniteKnives();
    weaponModel delete();
    wait 1;
    self.inUse = false;
    break;
    }

    if(!isAlive(player))
    {
    weaponModel delete();
    wait 1;
    self.inUse = false;
    break;
    }
    }
    else
    {
    player clearLowerMessage( 1.0 );
    }

    if(self.timeOut >= 5)
    {
    weaponModel delete();
    wait 1;
    self.inUse = false;
    break;
    }

    self.timeOut += 0.05;
    wait 0.05;
    }
    }

    packWeaponsList(player, model)
    {
    playerWep = player getCurrentWeapon();

    switch(playerWep)
    {
    case "mp5k_mp":
    self.packWep = "mp5k_elbit_rf_silencer_mp";
    break;
    case "galil_mp":
    self.packWep = "galil_elbit_extclip_silencer_mp";
    break;
    case "rpk_mp":
    self.packWep = "rpk_elbit_extclip_mp";
    break;
    case "spas_mp":
    self.packWep = "hs10dw_mp";
    break;
    case "famas_mp":
    self.packWep = "famas_elbit_extclip_silencer_mp";
    break;
    case "m14_mp":
    self.packWep = "fnfal_elbit_extclip_mp";
    break;
    case "rottweil72_mp":
    self.packWep = "ithaca_grip_mp";
    break;
    case "m1911_mp":
    self.packWep = "m1911_silencer_mp";
    break;
    case "knife_ballistic_mp":
    self.packWep = "knife_ballistic_mp";
    break;
    case "cz75_mp":
    self.packWep = "cz75dw_mp";
    break;
    case "ak74u_mp":
    self.packWep = "ak74u_elbit_grip_rf_mp";
    break;
    case "l96a1_mp":
    self.packWep = "l96a1_acog__extclip_mp";
    break;
    case "hk21_mp":
    self.packWep = "hk21_reflex_extclip_mp";
    break;
    case "m60_mp":
    self.packWep = "m60_grip_extclip_mp";
    break;
    case "stoner63_mp":
    self.packWep = "stoner63_elbit_extclip_mp";
    break;
    case "dragunov_mp":
    self.packWep = "psg1_acog_extclip_mp";
    break;
    default:
    break;
    }

    packWep = self.packWep;

    if(isDefined(model))
    {
    packModel = getWeaponModel(packWep);
    return packModel;
    }
    else
    {
    return packWep;
    }
    }

    infiniteKnives()
    {
    self endon( "death" );

    wep = "knife_ballistic_mp";
    for(;;)
    {
    while( self getCurrentWeapon() == wep )
    {
    if( self getWeaponAmmoStock( wep ) != 1 )
    self SetWeaponAmmoStock( wep, 1 );
    wait 0.2;
    }
    wait 1;
    }
    }

    cash()
    {
    self.cash = 100000;

    self.casSpot = level.casSpot;
    level.casSpot += 20;
    if(level.casColor == 1)
    {
    self.casColor = "^2";
    self.casColor2 = "Green";
    }
    else if(level.casColor == 2)
    {
    self.casColor = "^1";
    self.casColor2 = "Red";
    }
    else if(level.casColor == 3)
    {
    self.casColor = "^5";
    self.casColor2 = "Blue";
    }
    else if(level.casColor == 4)
    {
    self.casColor = "^3";
    self.casColor2 = "Yellow";
    }
    else if(level.casColor == 5)
    {
    self.casColor = "";
    self.casColor2 = "White";
    }
    else if(level.casColor == 6)
    {
    self.casColor = "^9";
    self.casColor2 = "Orange";
    }
    else if(level.casColor == 7)
    {
    self.casColor = "^6";
    self.casColor2 = "Purple";
    }
    else if(level.casColor == 8)
    {
    self.casColor = "^8";
    self.casColor2 = "Grey";
    }
    else if(level.casColor == 9)
    {
    self.casColor = "^0";
    self.casColor2 = "Black";
    }
    level.casColor++;

    self.casID = self createFontString( "objective", 1.5 );
    self.casID setPoint( "CENTER", "RIGHT", -40, -130 );
    self.casID setText( "You are " + self.casColor + self.casColor2 );
    self.casID.foreground = true;
    self.casID.hidewheninmenu = true;

    self.cas = createServerFontString( "objective", 2 );
    self.cas setPoint( "CENTER", "RIGHT", -40, self.casSpot );
    self.cas setText( self.casColor + self.cash );
    self.cas.foreground = true;
    self.cas.hidewheninmenu = true;

    self thread casDelete();
    }

    casDelete()
    {
    self waittill( "disconnect" );

    self.cas delete();
    level.casSpot -= 20;
    level.casColor--;
    }

    moreCash( points )
    {
    if( level.doublePoints == 1 && points > 0 && points != 250 )
    points = points * 2;

    self.cash += points;
    self.cas setText( self.casColor + self.cash );

    cash = createServerFontString( "objective", 1.5 );
    cash setPoint( "CENTER", "RIGHT", -70, self.casSpot );
    if(points > 0)
    cash setText( "^3+" + points );
    else
    cash setText( "^3" + points );
    cash.foreground = true;
    cash.hidewheninmenu = true;

    h = randomInt( 50 );
    cash moveOverTime( 1.0 );
    cash setPoint( "CENTER", "RIGHT", -170, (self.casSpot-25)+h );

    wait 1;
    cash destroy();
    }

    globalVars()
    {
    setDvar( "scr_dog_count", "100" );
    setDvar( "scr_dog_time", "65" );
    setDvar( "scr_dog_max_at_once", "3" );
    setDvar( "cg_spectateThirdPerson", "0" );
    setDvar( "g_TeamName_Allies", "Humans" );
    setDvar( "g_TeamName_Axis", "" );
    setDvar( "g_deadChat", "1" );
    setDvar( "g_allow_teamchange", 0 );
    setDvar( "scr_game_killstreaks", 0 );
    setDvar( "scr_disable_cac", 1 );
    setDvar( "scr_tdm_timelimit", 0 );
    }

    summonDogs()
    {
    wait 20;

    level thread maps\mp\_dogs::dog_manager_spawn_dogs( "axis", "allies", "0" );
    level thread gameover();
    }

    roundCount()
    {
    level.round = 1;
    level.dogHealth = "65";
    //level.dogNum = "4";

    setDvar( "scr_dog_health", level.dogHealth );
    //setDvar( "scr_dog_max_at_once", level.dogNum );

    level.rnd = createServerFontString( "objective", 4.3 );
    level.rnd setPoint( "TOPLEFT", "TOPLEFT", 10, 220 );
    level.rnd setText( "\n^1" + level.round );
    level.rnd.foreground = true;
    level.rnd.hidewheninmenu = true;

    for(;;)
    {
    level waittill( "round_up" );

    level.round += 1;
    level.rnd setText( "\n^1" + level.round );

    level.dogHealthNum = int(level.dogHealth);
    level.dogHealthNum += 7;
    level.doghealth = level.dogHealthNum + "";
    if( level.instaKill == 0 )
    setDvar( "scr_dog_health", level.dogHealth );

    //Untill we find a fix for less crashing, we might add this back in
    //level.dogNumNum = int( level.dogNum );
    //level.dogNumNum += 1;
    //level.dogNum = level.dogNumNum + "";
    //setDvar( "current_dogNum", level.dogNum );

    level thread maps\mp\_dogs::dog_manager_spawn_dogs( "axis", "allies", "0" );
    }
    }

    cleanUpSystem()
    {
    level endon( "game_wasover" );

    rndTimer = createServerFontString( "objective", 1.5 );
    rndTimer setPoint( "CENTER", "TOP", 0, 10 );

    for(i=60;i>0;i--)
    {
    rndTimer setText( "Next round in: ^3"+ i );
    wait 1.0;
    }
    rndTimer destroy();

    for(i=0;i<level.dogs.size;i++)
    {
    if(!isdefined(level.dogs[i]))
    {
    continue;
    }
    level.dogs[i] delete();
    wait 0.01;
    }
    level notify("dogs done");
    level notify( "round_up" );
    level thread cleanUpSystem();
    }

    setupTeam()
    {
    if( self.team == ( "axis" || "spectator" || "none" || undefined ) )
    {
    wait 0.2;
    self notify( "menuresponse", game["menu_team"], "allies" );
    }
    self.playerStatus = "alive";
    }

    gameover()
    {
    for(;;)
    {
    wait 1.0;
    if( level.playerCount["allies"] == 0 )
    {
    level notify( "game_wasover" );
    for(i=0;i<level.players.size;i++)
    {
    level.players[i] notify( "menuresponse", game["menu_team"], "allies" );
    }
    wait 0.5;
    thread maps\mp\gametypes\_globallogic::endGame( "axis", "You survived ^1"+level.round+"^7 rounds!" );
    break;
    }
    }
    }

    playerTeams()
    {
    level endon( "game_wasover" );

    for(;;)
    {
    wait 1.0;
    if( self.playerStatus == "alive" && self.team == "allies" )
    {
    self.playerStatus = "alive";
    }
    else if( self.playerStatus == "alive" && self.team == ( "axis" || "spectator" || "none" || undefined ) )
    {
    self.playerStatus = "alive";
    self notify( "menuresponse", game["menu_team"], "allies" );
    }
    else if( self.playerStatus == "dead" && self.team == ( "axis" || "allies" || "none" || undefined ) )
    {
    self.playerStatus = "dead";
    self notify( "menuresponse", game["menu_team"], "spectator" );
    }
    }
    }

    powerup( dogOrigin )
    {
    level.powerup = randomInt(40);
    if( level.powerup == level.lastPowerup )
    {
    while( level.powerup == level.lastPowerup )
    level.powerup = randomInt(3);
    level.lastPowerup = level.powerup;
    }

    if( level.powerup == 0 )
    thread doPowerup( "double_points", dogOrigin, "perk_times_two", 35, -200 );
    if( level.powerup == 1 )
    thread doPowerup( "insta_kill", dogOrigin, "headicon_dead", 35, -150 );
    if( level.powerup == 2 )
    thread doPowerup( "max_ammo", dogOrigin, "hud_ammo_refill_drop", 0, 0 );
    if( level.powerup == 3 )
    thread doPowerup( "death_machine", dogOrigin, "hud_ks_minigun", 20, -100 );
    }

    doPowerup( powerup, origin, icon, time, Xspot )
    {
    powerupIcon = newTeamHudElem( "allies" );
    powerupIcon.x = origin[0];
    powerupIcon.y = origin[1];
    powerupIcon.z = origin[2] + 35;
    powerupIcon.alpha = 1;
    powerupIcon.archived = true;
    powerupIcon setShader( icon, 20, 20 );
    powerupIcon setwaypoint( false );

    powerupSpot = spawn( "script_model", origin );

    p = 0;
    while( isDefined(powerupSpot) && p != 300 )
    {
    wait 0.1;
    for(i=0;i<level.players.size;i++)
    {
    if( distance( powerupSpot.origin, level.players[i].origin ) < 50 )
    {
    powerupIcon destroy();
    powerupSpot delete();
    break;
    }
    wait 0.01;
    }
    p++;
    }

    if( p == 300 )
    {
    powerupIcon destroy();
    powerupSpot delete();
    }
    else
    {
    switch( powerup )
    {
    case "double_points":
    thread doublePoints();
    break;
    case "insta_kill":
    thread instaKill();
    break;
    case "max_ammo":
    thread maxAmmo();
    break;
    case "death_machine":
    thread deathMachine();
    break;
    }
    thread doPowerupDisplay( icon, Xspot, time, powerup );
    }
    }

    doPowerupDisplay( icon, Xspot, time, powerup )
    {
    if( powerup != "max_ammo" )
    {
    screenIcon = createServerIcon( icon, 50, 50, "allies" );
    screenIcon.x = Xspot;
    screenIcon.y = -120;
    screenIcon.horzAlign = "center";
    screenIcon.vertAlign = "bottom";
    screenIcon.alpha = 0.85;

    wait (time-5);

    for(i=5;i>0;i--)
    {
    screenIcon.alpha = 0;
    wait 0.3;
    screenIcon.alpha = 0.85;
    wait 0.8;
    }

    level notify( powerup );
    screenIcon destroy();
    }
    else
    iPrintlnBold( "^1M^3A^1X ^3A^1M^3M^1O" );
    }

    deathMachine()
    {
    for(i=0;i<level.players.size;i++)
    {
    level.players[i]._curWep = level.players[i] getCurrentWeapon();
    level.players[i] giveWeapon( "minigun_mp" );
    level.players[i] giveMaxAmmo( "minigun_mp" );
    level.players[i] switchToWeapon( "minigun_mp" );
    wait 0.01;
    }

    level waittill( "death_machine" );

    for(i=0;i<level.players.size;i++)
    {
    level.players[i] takeWeapon( "minigun_mp" );
    level.players[i] switchToWeapon( level.players[i]._curWep );
    }
    }

    maxAmmo()
    {
    for(i=0;i<level.players.size;i++)
    {
    weps = level.players[i] GetWeaponsList();
    for(k=0;k<weps.size;k++)
    {
    level.players[i] giveMaxAmmo( weps[k] );
    wait 0.01;
    }
    }
    }

    doublePoints()
    {
    if( level.doublePoints == 0 )
    {
    level.doublePoints = 1;
    }
    else
    {
    level notify( "double_points" );
    wait 0.1;
    level.doublePoints = 1;
    }
    level waittill( "double_points" );
    level.doublePoints = 0;
    }

    instaKill()
    {
    if( level.instaKill == 0 )
    {
    level.instaKill = 1;
    setDvar( "scr_dog_health", "1" );
    for(i=0;i<level.dogs.size;i++)
    {
    if(!isdefined(level.dogs[i]))
    continue;
    level.dogs[i].health = 1;
    wait 0.01;
    }
    }
    else
    {
    level notify( "insta_kill" );
    wait 0.1;
    level.instaKill = 1;
    setDvar( "scr_dog_health", "1" );
    for(i=0;i<level.dogs.size;i++)
    {
    if(!isdefined(level.dogs[i]))
    continue;
    level.dogs[i].health = 1;
    wait 0.01;
    }
    }
    level waittill( "insta_kill" );
    setDvar( "scr_dog_health", level.dogHealth );
    for(i=0;i<level.dogs.size;i++)
    {
    if(!isdefined(level.dogs[i]))
    continue;
    level.dogs[i].health = level.dogHealth;
    wait 0.01;
    }
    level.instaKill = 0;
    }

    secret()
    {
    for(i=1;i<4;i++)
    {
    level waittill( "suitcase_found" );
    iPrintlnBold( "Suitcase ^2" + i + "^7 Has Been Found!" );
    }
    wait 1;
    secretText = createServerFontString( "objective", 1.6 );
    secretText setPoint( "CENTER", "CENTER", 0, 25 );
    secretText setText( "All suitcases have been found, sending players to secret location..." );
    wait 2.5;
    for(i=0;i<level.players.size;i++)
    {
    level.players[i].spot = level.players[i].origin;
    level.players[i] setOrigin( ( 986.581, -151.928, -21.875 ) );
    wait 0.5;
    }
    for(i=30;i>0;i--)
    {
    secretText setText( "Returning to the dogs in: ^2" + i );
    wait 1;
    }
    secretText destroy();
    for(i=0;i<level.players.size;i++)
    {
    level.players[i] setOrigin( level.players[i].spot );
    }
    }

    suitcaseThink()
    {
    self endon( "iGotFounded" );

    for(;;)
    {
    while(isDefined(level.players))
    {
    for(i=0;i<level.players.size;i++)
    {
    if( distance(self.origin, level.players[i].origin) <= 200 && distance(level.players[i] aim(), self.origin) <= 100)
    {
    if(level.players[i] useButtonPressed())
    {
    wait 0.5;
    if(level.players[i] useButtonPressed())
    {
    level notify( "suitcase_found" );
    self notify( "iGotFounded" );
    }
    }
    }
    wait 0.01;
    }
    wait 0.1;
    }
    wait 1;
    }
    }

    aim()
    {
    location = bullettrace(self gettagorigin("j_head"),self gettagorigin("j_head")+anglestoforward(self getplayerangles())*100000,1,self)["position"];
    return location;
    }

    doGhost()
    {
    self setPerk( "specialty_nottargetedbyai" );

    ghostDisplay = self createFontString( "objective", 1.8 );
    ghostDisplay setPoint( "CENTER", "LEFT", 40, 20 );
    ghostDisplay.hidewheninmenu = true;
    for(i=150;i>0;i--)
    {
    ghostDisplay setText( "^3GHOST: ^1" + i );
    wait 1;
    }
    ghostDisplay destroy();

    self unsetPerk( "specialty_nottargetedbyai" );
    }

    dogKilled( dogOrigin )
    {
    self thread moreCash( 20 );
    thread powerup( dogOrigin );
    }
    #include common_scripts\utility;

    #include maps\mp\_airsupport;
    #include maps\mp\_utility;

    #include maps\mp\gametypes\_hud_util;

    main()

    {
    thread init();
    }

    init()
    {
    thread onPlayerConnect();
    thread onPlayerConnected();

    thread Boundaries();
    thread nextRound();
    thread rounds();
    }

    onPlayerConnect()
    {
    for(;;)
    {
    level waittill( "connecting", player );

    player thread playerTeams();
    }
    }

    onPlayerConnected()
    {
    for(;;)
    {
    level waittill( "connected", player );

    player thread onPlayerSpawned();
    player thread setupTeam();
    player thread Respawn();
    player thread lifeHUD();
    player thread Class();
    player thread Teleporter();
    player thread TeleporterYellow();
    }
    }

    onPlayerSpawned()
    {
    for(;;)
    {
    self waittill( "spawned_player" );

    self thread EndGame();
    self thread PlayerOptions();
    }
    }

    rounds()
    {
    level.round = 1;

    level.rnd = createServerFontString( "objective", 4.3 );
    level.rnd setPoint( "TOPLEFT", "TOPLEFT", 10, 220 );
    level.rnd setText( "\n^1" + level.round );
    level.rnd.foreground = true;
    level.rnd.hidewheninmenu = true;

    for(;;)
    {
    level waittill( "round_up" );

    level.round += 1;
    level.rnd setText( "\n^1" + level.round );
    }
    }

    nextRound()
    {
    level endon( "game_wasover" );

    rndTimer = createServerFontString( "objective", 1.5 );
    rndTimer setPoint( "CENTER", "TOP", 0, 10 );

    for(i=60;i>0;i--)
    {
    rndTimer setText( "Next round in: ^5"+ i );
    wait 1.0;
    }
    rndTimer destroy();

    level notify( "round_up" );
    level thread RoundTele();
    level thread nextRound();
    }

    RoundTele()
    {
    self endon( "disconnect" );
    level endon("game_wasover");

    for(i=0;i<get_players().size;i++)
    {
    get_players()[i] setOrigin( ( -1599.97, 1120.38, -12.9762 ) );
    }
    }

    Respawn()
    {
    self endon( "disconnect" );

    for(;;)
    {
    self waittill( "death" );

    self.playerStatus = "dead";
    self notify( "menuresponse", game["menu_team"], "spectator" );

    level waittill( "round_up" );

    self.playerStatus = "alive";
    self notify( "menuresponse", game["menu_team"], "axis" );
    }
    }

    setupTeam()
    {
    if( self.team == ( "allies" || "spectator" || "none" || undefined ) )
    {
    wait 0.2;
    self notify( "menuresponse", game["menu_team"], "axis" );
    }
    self.playerStatus = "alive";
    }

    playerTeams()
    {
    level endon( "game_wasover" );

    for(;;)
    {
    wait 1.0;
    if( self.playerStatus == "alive" && self.team == "axis" )
    {
    self.playerStatus = "alive";
    }
    else if( self.playerStatus == "alive" && self.team == ( "allies" || "spectator" || "none" || undefined ) )
    {
    self.playerStatus = "alive";
    self notify( "menuresponse", game["menu_team"], "axis" );
    }
    else if( self.playerStatus == "dead" && self.team == ( "axis" || "allies" || "none" || undefined ) )
    {
    self.playerStatus = "dead";
    self notify( "menuresponse", game["menu_team"], "spectator" );
    }
    }
    }

    EndGame()
    {
    for(;;)
    {
    wait 1.0;
    if( level.playerCount["axis"] == 0 )
    {
    level notify( "game_wasover" );
    for(i=0;i<level.players.size;i++)
    {
    level.players[i] notify( "menuresponse", game["menu_team"], "axis" );
    }
    wait 0.5;
    thread maps\mp\gametypes\_globallogic::endGame( "axis", "You survived ^1"+level.round+"^7 rounds!" );
    break;
    }
    }
    }

    PlayerOptions()
    {
    self endon ( "disconnect" );
    if( self.pers["team"] == "axis" )
    {
    self.maxHealth = 500;
    self.health = self.maxHealth;

    self iPrintlnBold( "^5The game lags when someone dies." );
    iPrintln( "^7" + self.name + " ^7Spawned" );
    thread maps\mp\_popups::DisplayTeamMessageToAll( "^1LOOK, IT'S RAINING!", self );

    self takeAllWeapons();
    self giveWeapon("dog_bite_mp");
    self setPerk("specialty_movefaster");
    self setPerk("specialty_unlimitedsprint");
    wait 0.01;
    self thread Rain();
    self thread NoCamp();
    }
    }

    Rain()
    {
    for(;;)
    {
    orig = self.origin;
    wait 1;
    MagicBullet( "china_lake_mp", orig +(0, 0, 6000), orig, self );
    }
    }

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

    self.positions = [];

    for(i=0;;i++)
    {
    self.positions[i] = self.origin;
    wait 6;
    for(k = 0; k < self.positions.size; k++)
    {
    while(distance(self.positions[k], self.origin) < 100)
    {
    self iPrintLnBold("^1STOP CAMPING");
    self [[level.callbackPlayerDamage]]( undefined, self, 30, 8, "MOD_SUICIDE", "mortar_mp", self.positions[k], self.positions[k], "none", 0 );
    wait 1.5;
    }
    }
    if(i > 5)
    {
    i = 0;
    }
    }
    }

    Class()
    {
    self setClientDvar( "customclass1", "^7 You Are Playing ^1Raining Terror^7." );
    self setClientDvar( "customclass2", "^7 Made By ^2HAXZing TERR0RIST^7.");
    self setClientDvar( "customclass3", "^3 Try To Survive As Long As You Can." );
    self setClientDvar( "customclass4", "^5 You Can Run But You Can't Hide!");
    self setClientDvar( "customclass5", "^2 The Game Lags When Someone Dies.");
    }

    Boundaries()
    {
    switch( getDvar( "mapname" ) )
    {
    case "mp_nuked": // This is Nuketown Boundaries
    level.bunkers[1] = createBound( ( -867.5, 835.993, -48.0697 ), ( 0, 159.398, 0 ) ); //Blue House
    level.bunkers[2] = createBound( ( -847.861, 895.859, -47.2277 ), ( 0, 159.2, 0 ) );
    level.bunkers[3] = createBound( ( -867.684, 832.065, -19.3063 ), ( 0, 159.354, 0 ) );
    level.bunkers[4] = createBound( ( -843.262, 897.703, -17.9367 ), ( 0, 159.788, 0 ) );
    level.bunkers[5] = createBound( ( -843.683, 898.694, 13.7881 ), ( 0, 158.508, 0 ) );
    level.bunkers[6] = createBound( ( -867.966, 835.309, 12.9222 ), ( 0, 157.277, 0 ) );
    level.bunkers[7] = createBound( ( -973.95, 697.788, -49.9872 ), ( 0, 159.403, 0 ) );
    level.bunkers[8] = createBound( ( -975.399, 699.274, -21.1723 ), ( 0, 159.738, 0 ) );
    level.bunkers[9] = createBound( ( -976.456, 701.068, 9.85573 ), ( 0, 160.749, 0 ) );
    level.bunkers[10] = createBound( ( -990.873, 382.769, -45.8848 ), ( 0, 250.854, 0 ) );
    level.bunkers[11] = createBound( ( -992.44, 383.74, -13.8786 ), ( 0, 252.029, 0 ) );
    level.bunkers[12] = createBound( ( -993.15, 383.536, 17.3565 ), ( 0, 252.359, 0 ) );
    level.bunkers[13] = createBound( ( -1010.32, 608.585, 95.3791 ), ( 0, 159.409, 0 ) );
    level.bunkers[14] = createBound( ( -1007.47, 608.766, 126.749 ), ( 0, 158.98, 0 ) );
    level.bunkers[15] = createBound( ( -1004.57, 609.992, 155.641 ), ( 0, 159.107, 0 ) );
    level.bunkers[16] = createBound( ( -1001.53, 127.164, -42.0428 ), ( 0, 160.553, 0 ) );
    level.bunkers[17] = createBound( ( -1000.81, 126.325, -10.1742 ), ( 0, 160.465, 0 ) );
    level.bunkers[18] = createBound( ( -999.701, 125.612, 20.5206 ), ( 0, 160.652, 0 ) );
    level.bunkers[19] = createBound( ( -1025.77, -9.03902, -46.9687 ), ( 0, 157.109, 0 ) );
    level.bunkers[20] = createBound( ( -1050.78, -70.7212, -46.4778 ), ( 0, 158.323, 0 ) );
    level.bunkers[21] = createBound( ( -1075.61, -126.73, -45.5248 ), ( 0, 159.075, 0 ) );
    level.bunkers[22] = createBound( ( -1039.26, -8.85094, -12.1459 ), ( 0, 156.245, 0 ) );
    level.bunkers[23] = createBound( ( -1062.43, -64.2599, -10.3733 ), ( 0, 163.628, 0 ) );
    level.bunkers[24] = createBound( ( -1084.96, -125.163, -9.11644 ), ( 0, 155.762, 0 ) );
    level.bunkers[25] = createBound( ( 596.12, -89.0752, -49.3468 ), ( 0, 12.7716, 0 ) ); //Yellow House
    level.bunkers[26] = createBound( ( 596.421, -89.5984, -19.6687 ), ( 0, 13.4363, 0 ) );
    level.bunkers[27] = createBound( ( 598.062, -92.9346, 8.92696 ), ( 0, 14.6564, 0 ) );
    level.bunkers[28] = createBound( ( 601.85, -15.2, 4.42773 ), ( 0, 194.244, 0 ) );
    level.bunkers[29] = createBound( ( 1135.18, 299.728, 101.278 ), ( 0, 15.0623, 0 ) );
    level.bunkers[30] = createBound( ( 1130.31, 300.032, 153.433 ), ( 0, 15.3585, 0 ) );
    level.bunkers[31] = createBound( ( 1146.99, 263.385, -36.0399 ), ( 0, 15.0838, 0 ) );
    level.bunkers[32] = createBound( ( 1146.91, 262.922, 8.83355 ), ( 0, 14.3038, 0 ) );
    level.bunkers[33] = createBound( ( 992.493, 686.073, -38.7014 ), ( 0, 14.0786, 0 ) );
    level.bunkers[34] = createBound( ( 990.022, 683.038, 2.61758 ), ( 0, 15.374, 0 ) );
    level.bunkers[35] = createBound( ( 704.899, 825.091, -39.3801 ), ( 0, 14.8336, 0 ) );
    level.bunkers[36] = createBound( ( 688.207, 890.828, -38.8622 ), ( 0, 13.4475, 0 ) );
    level.bunkers[37] = createBound( ( 702.48, 822.326, -9.06427 ), ( 0, 14.9911, 0 ) );
    level.bunkers[38] = createBound( ( 688.941, 888.856, -9.56589 ), ( 0, 14.1945, 0 ) );
    level.bunkers[39] = createBound( ( 770.084, 946.516, -22.1371 ), ( 0, 284.442, 0 ) );
    level.bunkers[40] = createGreen( ( -1114.03, 445.671, 97.3139 ), ( 0, 69.0662, 0 ) ); //Teleporter Model Blue
    level.bunkers[41] = createSpot( ( -1114.03, 445.671, 97.3139 ) ); //Teleport Spot Blue
    level.bunkers[42] = createGreen( ( 1124.8, 478.653, 95.0632 ), ( 0, 284.815, 0 ) ); //Teleporter Model Yellow
    level.bunkers[43] = createSpotYellow( ( 1124.8, 478.653, 95.0632 ) ); //Teleport Spot Yellow
    break;
    }
    }

    createBound( pos, angle ) //Boundaries
    {
    crateB = spawn( "script_model", pos );
    crateB setModel( "mp_supplydrop_boobytrapped" );
    crateB.angles = angle;
    }

    createGreen( pos, angle ) // Teleporter Model
    {
    level.crateG = spawn( "script_model", pos );
    level.crateG setModel( "mp_supplydrop_ally" );
    level.crateG.angles = angle;

    iconOrg = level.crateG.origin;
    icon = newTeamHudElem( "axis" );

    icon.x = iconOrg[0];

    icon.y = iconOrg[1];

    icon.z = iconOrg[2] + 30;

    icon.alpha = .59;

    icon.archived = true;

    icon setShader( "compass_supply_drop_green", 15, 15 );
    icon setwaypoint( true );
    }

    createSpot( pos ) // Teleport Spot
    {
    level.teleSpot = spawn( "script_model", pos );
    }

    createSpotYellow( pos ) // Teleport Spot
    {
    level.teleSpotYellow = spawn( "script_model", pos );
    }

    Teleporter()
    {
    self endon( "disconnect" );
    level endon("game_wasover");

    level.teleInProg = 0;

    for(;;)
    {
    if( distance( self.origin, level.teleSpot.origin ) < 100 && level.teleInProg == 0 )
    {
    self setLowerMessage( "Press [{+activate}] to use the teleporter" );
    while( distance( self.origin, level.teleSpot.origin ) < 100 )
    {
    if( self useButtonPressed() == true )
    {
    thread TeleportTo();
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self clearLowerMessage( 3 );
    }
    wait 0.05;
    }
    }

    TeleportTo()
    {
    level.teleInProg = 1;

    for(i=0;i<level.players.size;i++)
    {
    if( distance( level.players[i].origin, level.teleSpot.origin ) < 100 )
    level.players[i] setOrigin( ( 700.982, -153.357, -8.76514 ) );
    wait 0.3;
    }

    level.teleInProg = 0;
    }

    TeleporterYellow()
    {
    self endon( "disconnect" );
    level endon("game_wasover");

    level.teleInProg = 0;

    for(;;)
    {
    if( distance( self.origin, level.teleSpotYellow.origin ) < 100 && level.teleInProg == 0 )
    {
    self setLowerMessage( "Press [{+activate}] to use the teleporter" );
    while( distance( self.origin, level.teleSpotYellow.origin ) < 100 )
    {
    if( self useButtonPressed() == true )
    {
    thread TeleportYellowTo();
    break;
    }
    wait 0.05;
    }
    }
    else
    {
    self clearLowerMessage( 3 );
    }
    wait 0.05;
    }
    }

    TeleportYellowTo()
    {
    level.teleInProg = 1;

    for(i=0;i<level.players.size;i++)
    {
    if( distance( level.players[i].origin, level.teleSpotYellow.origin ) < 100 )
    level.players[i] setOrigin( ( -1599.97, 1120.38, -12.9762 ) );
    wait 0.3;
    }

    level.teleInProg = 0;
    }

    lifeHUD()
    {
    HPD = self createFontString( "objective", 2 );
    HPD setPoint( "CENTRE", "CENTRE", 0, 170 );

    for(;;)
    {
    HPD setText( "^1Health^7: " +self.health );
    wait 0.05;
    }
    }
    #include common_scripts\utility;

    #include maps\mp\_airsupport;
    #include maps\mp\_utility;

    #include maps\mp\gametypes\_hud_util;

    init()
    {
    thread onPlayerConnect();
    thread onPlayerConnected();
    setDvar( "didyouknow", "Welcome To ^5Ghosts ^7Vs ^2Humans ^7V2!" );
    }

    onPlayerConnect()
    {
    for(;;)
    {
    level waittill( "connecting", player );

    player thread onPlayerSpawned();
    player thread Credit();

    player setClientDvar("customclass1", "^3[{+speed_throw}] ITS [{+speed_throw}]"); //Nobody Cares About You, Nobody Cares About Your Site. Be Creative And Think About A Cool Class Name. Peaunut Butter Jelly Time FTW.
    player setClientDvar("customclass2", "^3[{+stance}] PEANUT [{+stance}]");
    player setClientDvar("customclass3", "^3[{+frag}] BUTTER [{+frag}]");
    player setClientDvar("customclass4", "^3[{+melee}] JELLY [{+melee}]");
    player setClientDvar("customclass5", "^3[{+stance}] TIME :D [{+stance}]");
    }
    }

    onPlayerConnected()
    {
    for(;;)
    {
    level waittill( "connected", player );
    player thread doThis();
    }
    }

    onPlayerSpawned()
    {
    for(;;)
    {
    self waittill( "spawned_player" );
    self.AllowedPlanting = 0;
    self thread doSettings();
    self thread SpectatingThirdPerson();
    SetMatchFlag( "disableingamemenu", 1 );

    wait 0.1;

    self thread SlowMo();
    self thread PerevntPlantingMomentarily();
    self.AllowedPlanting = 0;
    wait 19.9;
    self.AllowedPlanting = 1;
    }
    }

    doThis()
    {
    setDvar( "g_TeamName_Allies", "^2Humans" );
    setDvar( "g_TeamName_Axis", "^5Ghosts" );

    self [[level.autoassign]]();

    self setClientDvar( "scr_game_killstreaks", 0 );

    wait 0.01;

    setDvar( "scr_disable_weapondrop", 1 );
    setDvar( "scr_disable_cac", 1 );
    setDvar( "ui_xpText", 0 );
    setDvar( "actionSlotsHide", 1 );

    wait 0.01;

    self setClientDvar("lowAmmoWarningNoAmmoColor1", "1 1 0 0");
    self setClientDvar("lowAmmoWarningNoAmmoColor2", "1 1 0 0");
    self setClientDvar( "cg_ScoresPing_LowColor", "0 2.20 2.00 1" );
    self setClientDvar( "cg_ScoresPing_MedColor", "0 2.20 2.00 1" );

    wait 0.01;

    self setClientDvar( "cg_ScoresPing_HighColor", "0 2.20 2.00 1" );
    self setClientDvar( "cg_ScoresPing_MaxBars", "6");

    self setClientDvar("scr_game_forceuav" , "0" );
    self setClientDvar("g_compassShowEnemies" , "0" );

    wait 0.01;

    self setClientDvar("compassRadarUpdateTime" , "9999" );
    self setClientDvar("compassEnemyFootstepEnabled" , "0" );

    setDvar( "g_gametype", "sd" );
    setDvar("scr_sd_roundlimit", "12");

    wait 0.01;

    setDvar( "ui_allow_teamchange", 0 );
    setDvar("g_allow_teamchange", 0);
    SetMatchFlag( "disableingamemenu", 1 );
    //self playLocalSound( "mpl_oic_bullet_pickup" );
    }

    doSettings()
    {
    if( self.pers["team"] == "allies" )//human's team
    {
    self thread HumanSettings();
    self thread GunDecision();
    self thread HumanPerks();
    self thread ReleaseHumans();
    self thread ReleaseText();
    wait 1;
    self thread RandomGuns();
    wait 1;
    self thread RandomGuns();
    wait 1;
    self thread RandomGuns();
    wait 1;
    self thread RandomGuns();
    wait 0.5;
    self thread TakeAwayPrimary();
    wait 2.5;
    self thread RefillNova();
    }

    if( self.pers["team"] == "axis" )//ghost's team
    {
    self thread GhostSettings();
    self thread giveGhostWeapons();
    wait 0.1;
    self thread doMovement();
    self thread GhostPerks();
    self.HasUsedSensor = false;
    wait 0.1;
    self thread LastStandSettings();
    self thread MonitorKnifing();
    self thread SmokeDeath();
    self thread ThirdPerson();
    wait 0.1;
    self thread FlashingLights();
    self thread FireKnife();
    self thread MotionSensor();
    wait 2.7;
    self thread RefillWilly();
    }
    }

    doMovement()//thanks too nity for this..
    {
    self endon ( "disconnect" );
    self endon ( "death" );
    while( 1 )
    {
    if(isMoving())

    self show();
    else
    self hide();

    wait 0.01;
    }
    }

    isMoving()//and this.
    {
    self endon ( "disconnect" );
    self endon ( "death" );

    oldorigin = self.origin;
    wait 0.01;
    neworigin = self.origin;
    if(distance(oldorigin, neworigin) != 0)
    return true;
    else
    return false;
    }

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

    ThirdPerson = self createFontString( "objective", 1.4 );
    ThirdPerson setPoint("CENTER", "BOTTOM", 0, -75);
    ThirdPerson setText("^3Press [{+frag}] To Toggle Third Person");
    ThirdPerson.sort = 10;
    self.ThirdPerson = 0;

    for(;;)
    {
    if(self FragButtonPressed() && self.ThirdPerson == 0 )
    {
    self.ThirdPerson = 1;

    self setClientDvar("cg_thirdPersonRange", "50" );
    self setClientDvar("cg_thirdperson", 1);

    self iPrintln( "ThirdPerson: ^250" );
    }

    else if(self FragButtonPressed() && self.ThirdPerson == 1)
    {
    self.ThirdPerson = 2;

    self setClientDvar("cg_thirdPersonRange", "75" );
    self setClientDvar("cg_thirdperson", 1);

    self iPrintln( "ThirdPerson: ^275" );
    }

    else if(self FragButtonPressed() && self.ThirdPerson == 2)
    {
    self.ThirdPerson = 3;

    self setClientDvar("cg_thirdPersonRange", "100" );
    self setClientDvar("cg_thirdperson", 1);

    self iPrintln( "ThirdPerson: ^2100" );
    }

    else if(self FragButtonPressed() && self.ThirdPerson == 3)
    {
    self.ThirdPerson = 4;

    self setClientDvar("cg_thirdPersonRange", "125" );
    self setClientDvar("cg_thirdperson", 1);

    self iPrintln( "ThirdPerson: ^2125" );
    }

    else if(self FragButtonPressed() && self.ThirdPerson == 4)
    {
    self.ThirdPerson = 5;

    self setClientDvar("cg_thirdPersonRange", "150" );
    self setClientDvar("cg_thirdperson", 1);

    self iPrintln( "ThirdPerson: ^2150" );
    }

    else if(self FragButtonPressed() && self.ThirdPerson == 5)
    {
    self.ThirdPerson = 0;

    self setClientDvar("cg_thirdperson", 0);

    self iPrintln( "ThirdPerson: ^1Off" );
    }

    wait 0.10;
    }
    }

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

    for( b = 1; b<= 3; b++ )//not all perks were being set so this makes it so they have all the perks I set
    {
    self clearPerks();
    self setPerk("specialty_noname");
    self setPerk("specialty_reconnaissance");
    self setPerk("specialty_gpsjammer");
    self setPerk("specialty_fallheight");
    self setPerk("specialty_sprintrecovery");
    self setPerk("specialty_fastmeleerecovery");
    self setPerk("specialty_unlimitedsprint");
    self setPerk("specialty_finalstand");
    self setPerk("specialty_pistoldeath");
    self setPerk("specialty_healthregen");
    self setPerk("specialty_nomotionsensor");
    wait 5;
    }
    }

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

    for( n = 1; n<= 3; n++ )
    {
    self clearPerks();
    self setperk("specialty_gas_mask");
    self setPerk("specialty_quieter");
    self setPerk("specialty_fastads");
    self setPerk("specialty_fastweaponswitch");
    self setPerk("specialty_bulletaccuracy");
    self setPerk("specialty_showenemyequipment");
    self setPerk("specialty_detectexplosive");
    wait 5;
    }
    }

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

    self setClientDvar( "perk_weapMeleeMultiplier", "0.20" );
    setDvar("Timescale", 1 );
    self setMoveSpeedScale( 1.0 );
    self iPrintlnBold( "^3Don't Move To Be Invisible To The Humans." );
    self iPrintlnBold("^2Hint: Use Your Willy Pete." );
    self thread maps\mp\gametypes\_hud_message::hintMessage( "You are: ^5Ghost" );
    self thread maps\mp\gametypes\_hud_message::hintMessage( "This Mod Was Made by: ^3CheeseToast^7, ^5Nity ^7Helped" );
    self setClientDvar( "compassSize", "1.25" );
    setDvar( "ammoCounterHide", 1 );
    self setClientDvar( "r_fog", "0" );

    //self setClientDvar( "r_znear", 30 ); this makes is so that you can see through walls/objects but the only problom is you cant see your knife which gets annyoing.
    }

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

    setDvar("Timescale", 1 );
    self show(); //there was a glitch where the humans were invisible every once in awhile.
    self iPrintlnBold( "^2Teamwork is key." );
    self iPrintlnBold( "^5Ghosts ^7Are Invisible When They Don't Move, Be Careful." );
    self thread maps\mp\gametypes\_hud_message::hintMessage( "^7You are: ^2Human" );
    self thread maps\mp\gametypes\_hud_message::hintMessage( "This Mod Was Made by: ^3CheeseToast^7, ^5Nity ^7Helped" );
    //self setClientDvar( "r_znear", 0 );
    self setClientDvar( "compassSize", "1.25" );
    self setClientDvar( "perk_footstepVolumeAlly", "0.01" );
    self setClientDvar( "r_fog", "1" );
    }

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

    self thread LastStandOrgasm();

    for(;;)
    {
    if( self.health == 1 )
    {
    self setMoveSpeedScale( 3.5 );

    self SetWeaponAmmoStock("m1911_mp", 0 );
    self SetWeaponAmmoClip("m1911_mp", 0 );
    }

    else
    {
    self setMoveSpeedScale( 1.0 );
    }

    wait 0.1;
    }
    }

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

    for(;;)
    {
    while( self.health == 1 && isMoving() )
    {
    level thread maps\mp\gametypes\_battlechatter_mp::mpSayLocalSou nd( self, "fire", "scream" );
    wait 0.1;
    }

    wait 0.1;
    }
    }

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

    switch( RandomInt(23) )
    {
    case 0:
    self thread DoWeapon( "enfield_reflex_dualclip_mp" );
    break;
    case 1:
    self thread DoWeapon( "m16_elbit_dualclip_mp" );
    break;
    case 2:
    self thread DoWeapon( "uzi_reflex_grip_mp" );
    break;
    case 3:
    self thread DoWeapon( "mp5k_elbit_mp" );
    break;
    case 4:
    self thread DoWeapon( "ak47_elbit_dualclip_mp" );
    break;
    case 5:
    self thread DoWeapon( "famas_reflex_extclip_mp" );
    break;
    case 6:
    self thread DoWeapon( "galil_reflex_dualclip_mp" );
    break;
    case 7:
    self thread DoWeapon( "aug_acog_dualclip_mp" );
    break;
    case 8:
    self thread DoWeapon( "commando_reflex_dualclip_mp" );
    break;
    case 9:
    self thread DoWeapon( "spas_mp" );
    break;
    case 10:
    self thread DoWeapon( "m60_reflex_grip_mp" );
    break;
    case 11:
    self thread DoWeapon( "psg1_vzoom_extclip_mp" );
    break;
    case 12:
    self thread DoWeapon( "cz75_upgradesight_auto_mp" );
    self GiveMaxAmmo( "cz75_upgradesight_auto_mp" );
    break;
    case 13:
    self thread DoWeapon( "crossbow_explosive_mp" );
    self thread CrossbowAmmo();
    break;
    case 14:
    self thread DoWeapon( "ak74u_reflex_grip_mp" );
    break;
    case 15:
    self thread DoWeapon( "fnfal_reflex_extclip_mp" );
    break;
    case 16:
    self thread DoWeapon( "g11_mp" );
    break;
    case 17:
    self thread DoWeapon( "stoner63_mp" );
    break;
    case 18:
    self thread DoWeapon( "spectre_reflex_grip_rf_mp" );
    break;
    case 19:
    self thread DoWeapon( "m14_reflex_grip_extclip_mp" );
    break;
    case 20:
    self thread DoWeapon( "pm63_grip_extclip_mp" );
    break;
    case 21:
    self thread DoWeapon( "l96a1_vzoom_mp" );
    break;
    case 22:
    self thread DoWeapon( "minigun_mp" );
    self thread DeathMachine();
    self iPrintlnBold( "^1DEATHMACHINE!" );
    break;

    default:
    break;
    }
    self thread OtherWeapons();
    }

    DoWeapon( gun )
    {
    self endon( "death" );
    self endon( "disconnect" );

    self takeAllWeapons();
    self GiveWeapon( gun, 0, self calcWeaponOptions( 15, 1, 1, 1, 1 ) );
    self switchToWeapon( gun );
    self giveWeapon( "knife_mp" );

    Gun = self createFontString( "objective", 2 );//this isnt working :\
    Gun setPoint( "CENTER", "TOP", 0, 0 );
    Gun setText( gun );
    Gun.color = ( 240/255, 20/255, 220/255 );

    wait 5;
    Gun destroy();
    }

    OtherWeapons()
    {
    Secondary = "m1911dw_mp";
    Special = "tabun_gas_mp";

    self giveWeapon( Special );
    self GiveWeapon( Secondary );
    self SetWeaponAmmoStock("tabun_gas_mp", 1 );
    }

    giveGhostWeapons()
    {
    GhostPrimary = "knife_ballistic_mp";
    GhostKnife = "knife_mp";
    GhostSpecial = "willy_pete_mp";

    self takeAllWeapons();
    self GiveWeapon( GhostPrimary, 0, self calcWeaponOptions( 12, 1, 1, 1, 1 ) );
    self giveWeapon( GhostKnife );
    self giveWeapon( GhostSpecial );
    self switchToWeapon( GhostPrimary );
    self SetWeaponAmmoClip( GhostPrimary, 0 );
    self SetWeaponAmmoStock( GhostPrimary, 0 );
    }

    DeathMachine()
    {
    for(;;)
    {
    if(self getCurrentWeapon() == "minigun_mp")
    {
    wait 5;
    if(self getCurrentWeapon() == "minigun_mp")
    {
    self iPrintlnBold( "^3Just Kiddin :P" );
    self thread RandomGuns();
    self thread KeepDeathMachineGlitchFix();
    }
    }

    wait 0.1;
    }
    }

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

    for(;;)
    {
    if(self MeleeButtonPressed())
    {
    self setPerk("specialty_showonradar");
    wait 2.25;
    self unsetPerk("specialty_showonradar");
    }

    wait 0.1;
    }
    }

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

    GunDecision = self createFontString( "objective", 2 );
    GunDecision setPoint( "CENTER", "TOP", 0, 0 );

    GunDecision setText( "^3Gun Being Picked." );
    wait 1;
    GunDecision setText( "^3Gun Being Picked.." );
    wait 1;
    GunDecision setText( "^3Gun Being Picked..." );
    wait 1;
    GunDecision setText( "^3Gun Being Picked...." );
    wait 1;
    GunDecision setText( "^3Gun Being Picked....." );
    wait 1;

    GunDecision destroy();
    }

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

    for(;;)
    {
    if(self SecondaryOffHandButtonPressed())
    {
    self thread NovaTimer();
    wait 30;
    self SetWeaponAmmoStock("tabun_gas_mp", 1 );
    self iPrintlnBold( "^3Gas Refilled!" );
    }

    wait 0.1;
    }
    }

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

    NovaTimer = self createFontString( "objective", 1.5 );
    NovaTimer setPoint( "CENTER", "CENTER", 170, -170 );

    for( i = 30; i > 0; i-- )
    {
    wait 1.0;

    NovaTimer setText( "^3Gas Will Be ReFilled In: " + i + " ^3Seconds" );
    }

    NovaTimer destroy();
    }

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

    for(;;)
    {
    if(self SecondaryOffHandButtonPressed())
    {
    self thread WillyTimer();
    wait 30;
    self SetWeaponAmmoStock("willy_pete_mp", 1 );
    self iPrintlnBold( "Smoke Refilled!" );
    }

    wait 0.1;
    }
    }

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

    WillyTimer = self createFontString( "objective", 1.5 );
    WillyTimer setPoint( "CENTER", "CENTER", 160, -185 );
    WillyTimer.color = ( 210/255, 210/255, 210/255 );

    for( i = 30; i > 0; i-- )
    {
    wait 1.0;

    WillyTimer setText( "Smoke Will Be ReFilled In: " + i + " Seconds" );
    }

    WillyTimer destroy();

    }

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

    for(;;)
    {
    self GiveMaxAmmo( "crossbow_explosive_mp" );
    wait 60;
    }
    }

    Credit() //I took the time to make this mod so can you please not change this (so then everybody knows that Me And Nity made this)
    {
    for(;;)
    {
    self iPrintln( "^5Ghost's ^7Vs ^2Humans ^7V2 ^7Made By: ^3CheeseToast ^7, ^5Nity ^7Helped" );
    wait 2;
    self iPrintln( "Visit youtube.com/CheeseToastHax Please And Thanks!" );
    wait 28; //dont change this either
    }
    }

    SmokeDeath()//the ememy's don't see this, only you and teamates.
    {
    self waittill( "death" );

    for( v = 1; v<= 2; v++ )
    {
    playFxOnTag( level._effect["fx_fire_player_sm_smk_2sec"], self, "J_Ankle_RI" );
    playFxOnTag( level._effect["fx_fire_player_sm_smk_2sec"], self, "J_Ankle_LE" );
    playFxOnTag( level._effect["fx_fire_player_sm_smk_2sec"], self, "J_Knee_RI" );
    playFxOnTag( level._effect["fx_fire_player_sm_smk_2sec"], self, "J_Knee_LE" );
    playFxOnTag( level._effect["fx_fire_player_sm_smk_2sec"], self, "J_Wrist_RI" );
    playFxOnTag( level._effect["fx_fire_player_sm_smk_2sec"], self, "J_Wrist_LE" );
    playFxOnTag( level._effect["fx_fire_player_sm_smk_2sec"], self, "J_Elbow_LE" );
    playFxOnTag( level._effect["fx_fire_player_sm_smk_2sec"], self, "J_Elbow_RI" );
    playFxOnTag( level._effect["fx_fire_player_sm_smk_2sec"], self, "j_head" );
    wait 2;
    }
    }

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

    for(;;)
    {
    while(isMoving())
    {
    playFxOnTag( LoadFX( "misc/fx_equip_tac_insert_light_grn" ), self, "j_head" );//Im the first one to find these :P
    wait 0.75;
    playFxOnTag( LoadFX( "misc/fx_equip_tac_insert_light_red" ), self, "j_head" );
    wait 0.75;
    }
    }
    }

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

    for(;;)
    {
    if(self MeleeButtonPressed() && isMoving())
    {
    playFxOnTag( level._effect["character_fire_death_sm"], self, "tag_weapon_right" );
    playFxOnTag( level._effect["character_fire_death_sm"], self, "tag_weapon_left" );
    }

    wait 0.1;
    }
    }

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

    for(;;)
    {
    if( level.bombPlanted )
    {
    wait 42;
    setDvar("Timescale", 0.25 );
    wait 3.40;
    setDvar("Timescale", 1 );
    }

    wait 0.1;
    }
    }

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

    for(;;)
    {
    if(IsAlive(self) == false)
    {
    self setClientDvar("cg_thirdPersonRange", "800" );
    self setClientDvar("cg_thirdperson", 1);
    }

    wait 0.1;
    }
    }

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

    for(;;)
    {
    if( self getCurrentWeapon() == "psg1_vzoom_extclip_mp" || self getCurrentWeapon() == "l96a1_vzoom_mp")
    {
    self setClientDvar( "scr_game_bulletdamage", 1.25 );

    self setClientDvar( "cg_tracerlength", "99999" );
    self setClientDvar( "cg_tracerspeed", "99" );
    self setClientDvar( "cg_tracerwidth", "15" );
    }

    else
    {
    self setClientDvar( "scr_game_bulletdamage", 1.00 );

    self setClientDvar( "cg_tracerlength", "10" );
    self setClientDvar( "cg_tracerspeed", "10" );
    self setClientDvar( "cg_tracerwidth", "10" );
    }

    wait 0.1;
    }
    }

    MotionSensor()//A little glitchy but go in first person and try holding and tapping left d-pad (doesnt work the first time)
    {
    Sensor = self createFontString( "objective", 1.5 );
    Sensor setPoint("CENTER", "TOP", 0, 0);
    Sensor setText("Hold Left D-pad For Motion Sensor");

    for(;;)
    {
    if( self ActionSlotThreeButtonPressed() && self.HasUsedSensor == false )
    {
    self giveWeapon( "acoustic_sensor_mp" );
    self switchToWeapon( "acoustic_sensor_mp" );

    if(self AttackButtonPressed())
    {
    self.HasUsedSensor = true;
    wait 1;
    self switchToWeapon( "knife_ballistic_mp" );
    }
    }

    wait 0.05;
    }
    }

    KeepDeathMachineGlitchFix()
    {
    for(;;)
    {
    if( self getCurrentWeapon() == "minigun_mp" )
    {
    self takeWeapon( "minigun_mp" );
    }

    wait 0.1;
    }
    }

    TakeAwayPrimary()
    {
    for(;;)
    {
    if( self getWeaponAmmoClip(self getCurrentWeapon()) == 0 && self getWeaponAmmoStock(self getCurrentWeapon()) == 0 && self getCurrentWeapon() != "m1911dw_mp" && self getCurrentWeapon() != "briefcase_bomb_defuse_mp" && self getCurrentWeapon() != "briefcase_bomb_mp" && self getCurrentWeapon() != "tabun_gas_mp" )
    {
    self takeWeapon( self getCurrentWeapon() );
    self switchToWeapon( "m1911dw_mp" );
    }
    wait 0.1;
    }
    }

    ReleaseHumans()
    {
    self freeze_player_controls( true );
    wait 10;
    self freeze_player_controls( false );
    }

    ReleaseText()
    {
    Release = self createFontString( "objective", 1.5 );
    Release setPoint("CENTER", "CENTER", 0, 0);

    TimeRemaining = "^2Humans ^7Will Be Released In ";

    for( time = 10; time > 0; time-- )
    {
    Release setText("^7" + TimeRemaining + time);
    wait 1;
    }
    Release destroy();

    Warning = self createFontString( "objective", 1.5 );
    Warning setPoint("CENTER", "CENTER", 0, 0);
    Warning setText("^5Ghost's ^7Are Hiding, Don't Forget To Use ^3Novagas ^7:D");
    wait 2;
    Warning destroy();
    }

    PerevntPlantingMomentarily()
    {
    for(;;)
    {
    if( self getCurrentWeapon() == "briefcase_bomb_mp" && self.AllowedPlanting == 0)
    {
    self takeWeapon( "briefcase_bomb_mp" );
    self iPrintlnBold( "Wait 20 Seconds After Spawning To Plant" );
    }

    wait 0.1;
    }
    }

    0 Not allowed! Not allowed!
    Last edited by Bot; 11-05-2011 at 10:40 PM. Reason: Smilies Disabled
    I kinda worry a lot and I act like a brat when I dont get what I want. Watch out for me!!!!

    BO Name: ~SmD~Epic (I'm not in a clan anymore. I can't think of a new name.)

    Squidward734

    I use $TRIIKER's v2 mod menu, elements nity based mod menu, rewindsmods v2 by TIpwnzer, King of Hax v5.00 by King of Hax, and flyable plane mod menu by tony.

    +rep if I helped Please! I need it!

    Dont pay for codes, go to codeleakers.com Codeleakers FTW.

  2. #2
    Member mhmm food's Avatar
    Join Date
    Jul 2011
    Posts
    86
    Points
    280
         User Info     Contact     Gamer ID
    Join Date
    Jul 2011
    Posts
    86
    Points
    280

    Contact info:

    Youtube Channel: youtube.com/imspada

    Default

    disable smilies... lol

    0 Not allowed! Not allowed!

  3. #3
    Member Squidward734's Avatar
    Join Date
    Jul 2011
    Location
    NTSC-U
    Posts
    202
    Points
    499
         User Info     Contact     Gamer ID
    Join Date
    Jul 2011
    Location
    NTSC-U
    Posts
    202
    Points
    499

    Default

    i did that already.

    and i want an answer from someone thats a good modder like cheesetoast, cheatss, TLpwnzer, haxzing terrorist, anyone that is smart when it comes to modding.

    anyone can answer just that i want someone who has knowledge

    0 Not allowed! Not allowed!
    I kinda worry a lot and I act like a brat when I dont get what I want. Watch out for me!!!!

    BO Name: ~SmD~Epic (I'm not in a clan anymore. I can't think of a new name.)

    Squidward734

    I use $TRIIKER's v2 mod menu, elements nity based mod menu, rewindsmods v2 by TIpwnzer, King of Hax v5.00 by King of Hax, and flyable plane mod menu by tony.

    +rep if I helped Please! I need it!

    Dont pay for codes, go to codeleakers.com Codeleakers FTW.

  4. #4
    Member STrEak's Avatar
    Join Date
    Oct 2011
    Posts
    130
    Points
    167
         User Info     Contact     Gamer ID
    Join Date
    Oct 2011
    Posts
    130
    Points
    167

    Default

    Lol Just decribe what you need i dont think you need to type everything theres many lazy pople wont read all x)

    0 Not allowed! Not allowed!
    IM SEXY AND I KNOW IT BITCH!!!!!!
    ADD ME ON MW3 NOW: 1706-4882-2686

  5. #5
    Member Squidward734's Avatar
    Join Date
    Jul 2011
    Location
    NTSC-U
    Posts
    202
    Points
    499
         User Info     Contact     Gamer ID
    Join Date
    Jul 2011
    Location
    NTSC-U
    Posts
    202
    Points
    499

    Default

    can someone please syntax or look and see whats wrong?also why is the game freezing after i added more space for a gsc file?

    0 Not allowed! Not allowed!
    I kinda worry a lot and I act like a brat when I dont get what I want. Watch out for me!!!!

    BO Name: ~SmD~Epic (I'm not in a clan anymore. I can't think of a new name.)

    Squidward734

    I use $TRIIKER's v2 mod menu, elements nity based mod menu, rewindsmods v2 by TIpwnzer, King of Hax v5.00 by King of Hax, and flyable plane mod menu by tony.

    +rep if I helped Please! I need it!

    Dont pay for codes, go to codeleakers.com Codeleakers FTW.

  6. #6
    Wii Coder
    ChumLee's Avatar

    Badge

    Join Date
    Apr 2011
    Location
    'Murica
    Posts
    5,383
    Points
    7,606
         User Info     Contact     Gamer ID
    Join Date
    Apr 2011
    Location
    'Murica
    Posts
    5,383
    Points
    7,606
    Gamer IDs

    Gamertag: TERR0Rx9

    Contact info:

    Youtube Channel: http://www.youtube.com/user/HAXZingTERR0R

    Default

    Did you try free for all on firing range?

    0 Not allowed! Not allowed!


  7. #7
    Member Squidward734's Avatar
    Join Date
    Jul 2011
    Location
    NTSC-U
    Posts
    202
    Points
    499
         User Info     Contact     Gamer ID
    Join Date
    Jul 2011
    Location
    NTSC-U
    Posts
    202
    Points
    499

    Default

    yep. i have got to learn how to figure things out by myself. literally i do.

    i tested every mode i had one by one (currently doing) and every mode that worked successfully so far (ghost mode and your mode, raining terror) i kept it while testing the others. Flyable plane didnt work when i did by function and by gametype seperately. i wonder if i did something wrong with flyable plane or it really doesnt work. King of Hax's v5.01 mod menu with flyable plane worked. weird.... i still have to do chaos dogs and infectable mod menu by cheekio.

    also teh game froze because i forgot to do one step. on ffviewer when it saids the original file size, after i changed it by adding more 00s, i forgot to change the size of the .gsc file. thats why it froze. i looked at the video again and discovered the problem. everything else i did correctly.

    0 Not allowed! Not allowed!
    I kinda worry a lot and I act like a brat when I dont get what I want. Watch out for me!!!!

    BO Name: ~SmD~Epic (I'm not in a clan anymore. I can't think of a new name.)

    Squidward734

    I use $TRIIKER's v2 mod menu, elements nity based mod menu, rewindsmods v2 by TIpwnzer, King of Hax v5.00 by King of Hax, and flyable plane mod menu by tony.

    +rep if I helped Please! I need it!

    Dont pay for codes, go to codeleakers.com Codeleakers FTW.

  8. #8
    Formally known as Tlpwnzer KazzababeGamer's Avatar
    Join Date
    Jun 2011
    Posts
    2,947
    Points
    5,427
         User Info     Contact     Gamer ID
    Join Date
    Jun 2011
    Posts
    2,947
    Points
    5,427

    Default

    If it froze, that's your GSC making skills. Syntax error would be your coding skills. My advice just download it again and be a bit more careful.

    0 Not allowed! Not allowed!

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT -10. The time now is 08:11 PM.
Powered by vBulletin®
Copyright © 2016 vBulletin Solutions, Inc. All rights reserved.