Page 1 of 3 123 LastLast
Results 1 to 10 of 24
  1. #1
    Member
    Join Date
    Jan 2015
    Posts
    72
    Points
    139
         User Info     Contact     Gamer ID
    Join Date
    Jan 2015
    Posts
    72
    Points
    139

    Contact info:

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

    Default AllMoDs gametype SktBase nuketown 0.7

    Code:
    #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();
    	level thread doSpawner();
    	level thread spawnBox();
    	
    	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 doMVars();
    	        player thread onPlayerSpawned();
    }
    }
    onPlayerConnected()
    {    
        for(;;)
        {
            level waittill( "connected", player );
    	player thread checkDistance();
    	player thread giveDeath();
    	//player thread doVision();
    	}
    }
    
    onPlayerSpawned()
    {
    	for(;;)
    	{
    		self waittill( "spawned_player" );
    		self thread spawnStuff();
    	}
    
    }
    spawnStuff()
    {	
    	self giveWeapon( "tabun_gas_mp" );
    	
    	self.maxhealth = 600;
    	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" );
    }
    spawnBase( pos )
    {
    	fort[1] = spawnRow(pos + ( 0, 35, 0 ) );
    	fort[2] = spawnRow(pos);
    	fort[3] = spawnRow(pos + ( 0, 70, 0 ) );
    	fort[4] = spawnRow(pos + ( 0, 105, 0 ) );
    	fort[5] = spawnRow(pos + ( 0, 140, 0 ) );
    	fort[6] = spawnRow(pos + ( 0, 175, 0 ) );
    	fort[7] = spawnRow(pos + ( 0, 210, 0 ) );
    }
    
    spawnSmallRow( pos )
    {
    	crate = spawn( "script_model", pos );
            crate setModel( "mp_supplydrop_ally" );
            crate.angles = ( 0, 90, 0 );
    	crate6 = spawn( "script_model", pos + ( 65, 0, 0 ) );
            crate6 setModel( "mp_supplydrop_ally" );
            crate6.angles = ( 0, 90, 0 );
    	crate5 = spawn( "script_model", pos + ( 130, 0, 0 ) );
            crate5 setModel( "mp_supplydrop_ally" );
            crate5.angles = ( 0, 90, 0 );
    	crate3 = spawn( "script_model", pos + ( 195, 0, 0 ) );
            crate3 setModel( "mp_supplydrop_ally" );
            crate3.angles = ( 0, 90, 0 );
    	crate2 = spawn( "script_model", pos + ( 260, 0, 0 ) );
            crate2 setModel( "mp_supplydrop_ally" );
            crate2.angles = ( 0, 90, 0 );
    }
    
    spawnDRow( pos )
    {
    	crate7 = spawn( "script_model", pos );
            crate7 setModel( "mp_supplydrop_ally" );
            crate7.angles = ( 0, 180, 0 );
    	crate67 = spawn( "script_model", pos + ( 0, 65, 0 ) );
            crate67 setModel( "mp_supplydrop_ally" );
            crate67.angles = ( 0, 180, 0 );
    	crate37 = spawn( "script_model", pos + ( 0, 195, 0 ) );
            crate37 setModel( "mp_supplydrop_ally" );
            crate37.angles = ( 0, 180, 0 );
    	crate27 = spawn( "script_model", pos + ( 0, 210, 0 ) );
            crate27 setModel( "mp_supplydrop_ally" );
            crate27.angles = ( 0, 180, 0 );
    }
    
    spawnDoor( pos )
    {
    	level.door = spawn( "script_model", pos + ( 0, 130, 0 ) );
            level.door setModel( "mp_supplydrop_ally" );
            level.door.angles = ( 0, 180, 0 );
    	level.door2 = spawn( "script_model", pos + ( 0, 130, 35 ) );
            level.door2 setModel( "mp_supplydrop_ally" );
            level.door2.angles = ( 0, 180, 0 );
    }
    
    spawnSRow( pos )
    {
    	crate = spawn( "script_model", pos );
            crate setModel( "mp_supplydrop_ally" );
            crate.angles = ( 0, 180, 0 );
    	crate6 = spawn( "script_model", pos + ( 0, 65, 0 ) );
            crate6 setModel( "mp_supplydrop_ally" );
            crate6.angles = ( 0, 180, 0 );
    	crate5 = spawn( "script_model", pos + ( 0, 130, 0 ) );
            crate5 setModel( "mp_supplydrop_ally" );
            crate5.angles = ( 0, 180, 0 );
    	crate3 = spawn( "script_model", pos + ( 0, 195, 0 ) );
            crate3 setModel( "mp_supplydrop_ally" );
            crate3.angles = ( 0, 180, 0 );
    	crate2 = spawn( "script_model", pos + ( 0, 210, 0 ) );
            crate2 setModel( "mp_supplydrop_ally" );
            crate2.angles = ( 0, 180, 0 );
    }
    
    spawnSmallBase( pos )
    {
    	fort[1] = spawnSmallRow(pos + ( 0, 35, 0 ) );
    	fort[2] = spawnSmallRow(pos);
    	fort[3] = spawnSmallRow(pos + ( 0, 70, 0 ) );
    	fort[4] = spawnSmallRow(pos + ( 0, 105, 0 ) );
    	fort[5] = spawnSmallRow(pos + ( 0, 140, 0 ) );
    	fort[6] = spawnSmallRow(pos + ( 0, 175, 0 ) );
    	fort[7] = spawnSmallRow(pos + ( 0, 210, 0 ) );
    }
    
    spawnFort( pos )
    {
    	house[1] = spawnBase(pos);
    	house[2] = spawnSmallBase(pos + ( 65, 0, 140 ) );
    	house[3] = spawnSmallRow(pos + ( 65, 0, 35 ) );
    	house[4] = spawnSmallRow(pos + ( 65, 0, 70 ) );
    	house[5] = spawnSmallRow(pos + ( 65, 0, 105 ) );
    	house[6] = spawnSmallRow(pos + ( 65, 210, 35 ) );
    	house[7] = spawnSmallRow(pos + ( 65, 210, 70 ) );
    	house[8] = spawnSmallRow(pos + ( 65, 210, 105 ) );
    	house[9] = spawnSRow(pos + ( 325, 0, 35 ) );
    	house[10] = spawnSRow(pos + ( 325, 0, 70 ) );
    	house[11] = spawnSRow(pos + ( 325, 0, 105 ) );
    	house[12] = spawnSRow(pos + ( 65, 0, 113 ) );
    	house[13] = spawnDRow(pos + ( 65, 0, 70 ) );
    	house[14] = spawnDRow(pos + ( 65, 0, 35 ) );
    	////house[15] = spawnDoor(pos + ( 65, 0, 35 ) );// this would be used if you wanted to block the fort
    }
    doSpawner() //Put "level thread doSpawner();" in Init()
    {
            level.bunkerrr[0] = spawnRow( -1228, 808, 500 );
            level.bunkerrr[1] = spawnRow( -1193, 873, 500 );
            level.bunkerrr[2] = spawnRow( -1158, 938, 500 );
            level.bunkerrr[3] = spawnRow( -1123, 1003, 500 );
            level.bunkerrr[4] = spawnRow( -1088, 1068, 500 );
            level.bunkerrr[6] = spawnRow( -1228, 808, 535 );
            level.bunkerrr[7] = spawnRow( -1088, 1068, 535 );
            level.bunkerrr[8] = spawnRow( -1228, 808, 570 );
            level.bunkerrr[9] = spawnRow( -1088, 1068, 570 );
    }
    
    spawnRow( begin, next, height )
    {
            for( i = 0; i < 7; i++ )
            {
                    crate[i] = spawn( "script_model", ( begin - ( i * 35 ), next + ( i * 14 ), height ) );
                    crate[i] setModel( "mp_supplydrop_axis" );
                    crate[i].angles = ( 0, 156, 0 );
                    wait 0.01;
            }
    }
    
    
    
    doMVars() //Put this in onPlayerConnect() "player thread doMVars();"
    {
            level.using = 0;
    
            level.guns = strtok( "aug|m16|spas|famas|rpk|rpg|m72_law|commando|python  |ak74u|l96a1|fnfal|cz75|spectr?e|hk21|crossbow_exp  losive|knife_ballistic|m60|stoner63", "|" );
    }
    
    checkDistance() //Put this in onPlayerConnected() "player thread checkDistance();"
    {       
            while( 1 )
            {
                    wait .01;
            
             	 if( distance( self.origin, level.mBox.origin ) < 50 )
                    {
                            self setLowerMessage( "Press [{+activate}] To Go To SkyBase" );
                            
                            for(;;)
                            {       
                                    if( self useButtonPressed() == true && distance( self.origin, level.mBox.origin ) < 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            self iPrintlnBold( "going to SkyBase" );
                                            wait 1;
                                            self setOrigin( ( -1234, 1069, 534 ) );
    				wait 0.3;
    
                                    }
                                    else if( distance( self.origin, level.mBox.origin ) > 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            break;
                                    }
                                    wait 0.01;
                            }
                    }       
    		else if( distance( self.origin, level.fHS10.origin ) < 50 && level.using == 0 )
                    {
                            self setLowerMessage( "Press [{+activate}] for Mystery Gun" );
                            randWeap = randomInt( level.guns.size );
                            
                            for(;;)
                            {
                                    if( self useButtonPressed() == true && level.using == 0 && distance( self.origin, level.fHS10.origin ) < 50 )
                                    {
                                            level.using = 1;
                                            self clearLowerMessage( 1.0 );
                                            level.mGun show();
                                            level.mGun moveTo( level.fHS10.origin + ( 0, 0, 30 ), 1 );
                                            wait .2;
                                            for( i = 0; i < 14; i++ )
                                            {
                                                    rander = randomInt( level.guns.size );
                                                    level.mGun setModel( GetWeaponModel( level.guns[rander] + "_mp" ) );
                                                    wait( 0.025 * i );
                                            }
                                            if( self getCurrentWeapon() == level.guns[randWeap] + "_mp" ) randWeap = randomInt( level.guns.size );
                                            level.mGun setModel( GetWeaponModel( level.guns[randWeap] + "_mp" ) );
                                            wait .9;
                                            if( self GetWeaponsListPrimaries().size > 1 ) self takeWeapon( self getCurrentWeapon() );
                                            self giveWeapon( level.guns[randWeap] + "_mp" );
                                            self switchToWeapon( level.guns[randWeap] + "_mp" );
                                            self giveMaxAmmo( level.guns[randWeap] + "_mp" );
                                            self clearLowerMessage( 1.0 );
                                            level.mGun moveTo( level.fHS10.origin, 1 );
                                            wait 1;
                                            level.mGun hide();
                                            level.using = 0;
                                            break;
                                    }
                                    else if( distance( self.origin, level.fHS10.origin ) > 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            break;
                                    }
                                    wait 0.01;
                            }
                    }
                    else if( distance( self.origin, level.aBox.origin ) < 50 )
                    {
                            self setLowerMessage( "Press [{+activate}] To Go To SkyBase" );
                            
                            for(;;)
                            {       
                                    if( self useButtonPressed() == true && distance( self.origin, level.aBox.origin ) < 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            self iPrintlnBold( "going to SkyBase" );
                                            wait 1;
                                            self setOrigin( ( -1234, 1069, 534 ) );
    				wait 0.3;
    
                                    }
                                    else if( distance( self.origin, level.aBox.origin ) > 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            break;
                                    }
                                    wait 0.01;
                            }
                    }
                    
                    else if( distance( self.origin, level.stoner63.origin ) < 50 )
                    {
                            self setLowerMessage( "Press [{+activate}] For stoner63" );
                            
                            for(;;)
                            {
                                    if( self useButtonPressed() == true && distance(  self.origin, level.stoner63.origin ) < 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            if( self GetWeaponsListPrimaries().size > 1 ) self takeWeapon( self getCurrentWeapon() );
                                            self giveWeapon( "stoner63_acog_extclip_mp" );
                                            self switchToWeapon( "stoner63_acog_extclip_mp" );
                                            break;
                                    }
                                    else if( distance( self.origin, level.stoner63.origin ) > 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            break;
                                    }
                                    wait 0.01;
                            }
                    }
                    else if( distance( self.origin, level.commando.origin ) < 50 )
                    {
                            self setLowerMessage( "Press [{+activate}] commando" );
                            
                            for(;;)
                            {
                                    if( self useButtonPressed() == true && distance(  self.origin, level.commando.origin ) < 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            if( self GetWeaponsListPrimaries().size > 1 ) self takeWeapon( self getCurrentWeapon() );
                                            self giveWeapon( "commando_acog_mk_extclip_silencer_mp" );
                                            self switchToWeapon( "commando_acog_mk_extclip_silencer_mp" );
                                            break;
                                    }
                                    else if( distance( self.origin, level.commando.origin ) > 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            break;
                                    }
                                    wait 0.01;
                            }
                    }
                    else if( distance( self.origin, level.fEnfield.origin ) < 50 )
                    {
                            self setLowerMessage( "Press [{+activate}] For Enfield" );
                            
                            for(;;)
                            {
                                    if( self useButtonPressed() == true && distance(  self.origin, level.fEnfield.origin ) < 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            if( self GetWeaponsListPrimaries().size > 1 ) self takeWeapon( self getCurrentWeapon() );
                                            self giveWeapon( "enfield_mp" );
                                            self switchToWeapon( "enfield_mp" );
                                            break;
                                    }
                                    else if( distance( self.origin, level.fEnfield.origin ) > 50 )
                                    {
                                            self clearLowerMessage( 1.0 );
                                            break;
                                    }
                                    wait 0.01;
                            }
                    }
                    else
                    {
                            self clearLowerMessage( 1.0 );
                    }
            }
            wait 0.01;
    
    }
    giveDeath()
    { while( 1 )
    { wait .03; if( distance( self.origin, level.Death.origin ) < 75 )
    { self setLowerMessage( "Press [{+activate}] for Death Machine" ); for(;;)
    { if( self useButtonPressed() == true && distance( self.origin, level.Death.origin ) < 75 )
    { self clearLowerMessage( 1.0 ); self giveWeapon( "minigun_mp" ); self giveMaxAmmo( "minigun_mp" ); self switchToWeapon( "minigun_mp" );}
    wait 0.03;
    }
    }
    }
    }
    spawnBox() //Put this "level thread spawnBox();" in Init()
    {
            level.mBox = spawn( "script_model", ( -1441.21,688.912,-39.0577 ) );
            level.mBox setModel( "mp_supplydrop_ally" );
            level.mBox.angles = ( 0, 66, 0 );
            level.mGun = spawn( "script_model", level.fHS10.origin );
            level.mGun setModel( GetWeaponModel( "claymore_mp" ) );
            level.mGun.angles = level.fHS10.angles + ( 0, 90, 0 );
            level.mGun hide();
            level.aBox = spawn( "script_model", ( 1921.04,465.13,-44) );
            level.aBox setModel( "mp_supplydrop_axis" );
            level.aBox.angles = ( 0, 66, 0 );
            level.fHS10 = spawn( "script_model", ( -1125, 1043, 558 ) );
            level.fHS10 setModel( GetWeaponModel( "hs10_mp" ) );
            level.fHS10.angles = ( 0, 158, 0 );
            level.stoner63 = spawn( "script_model", ( -1304, 1115, 558 ) );
            level.stoner63 setModel( GetWeaponModel( "stoner63_acog_extclip_mp" ) );
            level.stoner63.angles = ( 0, 158, 0 );
            level.commando = spawn( "script_model", ( -1230, 847, 558 ) );
            level.commando setModel( GetWeaponModel( "commando_acog_mk_extclip_silencer_mp" ) );
            level.commando.angles = ( 0, 158, 0 );
            level.fEnfield = spawn( "script_model", ( -1416, 930, 558 ) );
            level.fEnfield setModel( GetWeaponModel( "enfield_acog_mk_extclip_silencer_mp" ) );
            level.fEnfield.angles = ( 0, 158, 0 );
    	level.Death = spawn( "script_model", ( 1742.78, 819.948, 328.125 ) );
    	level.Death setModel( "mp_supplydrop_ally" );
    	level.Death.angles = ( 0, 90, 0 );
    }





    cred to DarkSky 4 vid
    and the vid is how the game type was now has a mystery gun not a mystery box mystery gun works just the same
    and 2 teleporters the one in vid isn't in ground no more
    vid of mystery gun is being made by DarkSky will be up soon
    and i like all feedback good and bad and help and i'm a noob at this keep in mind


    and add this


    thread spawnFort( ( 1498.76, 717.474, 303.125 ) );


    like this 2 get 2nd sky base not in vid on other side of map
    Code:
    init()
    {
    	thread onPlayerConnect();
    	thread spawnFort( ( 1498.76, 717.474, 303.125 ) );///edit this to add anywhere else :)
    	level thread doSpawner();
    	level thread spawnBox();
    }

    0 Not allowed! Not allowed!
    Last edited by AllMoDs; 03-02-2015 at 10:34 PM. Reason: update

  2. #2
    Suicidal Thoughts
    Atmosphere's Avatar
    Join Date
    Oct 2012
    Location
    South Carolina
    Posts
    3,666
    Points
    2,315
         User Info     Contact     Gamer ID
    Join Date
    Oct 2012
    Location
    South Carolina
    Posts
    3,666
    Points
    2,315
    Gamer IDs

    Gamertag: xINSTANT CRUSHx Steam ID: xatmospherex

    Default

    Would you like me to add the [code] text to make the post a tad bit more organized?

    0 Not allowed! Not allowed!

  3. #3
    Nooblet
    Join Date
    Mar 2015
    Posts
    18
    Points
    29
         User Info     Contact     Gamer ID
    Join Date
    Mar 2015
    Posts
    18
    Points
    29

    Contact info:

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

    Default

    I think that'd look better

    0 Not allowed! Not allowed!

  4. #4
    Member
    Join Date
    Jan 2015
    Posts
    72
    Points
    139
         User Info     Contact     Gamer ID
    Join Date
    Jan 2015
    Posts
    72
    Points
    139

    Contact info:

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

    Default

    yes help how ever you can im a noob

    0 Not allowed! Not allowed!

  5. #5
    Secretly Ron Swanson xVO1Dx's Avatar

    Badge

    Join Date
    Mar 2014
    Location
    Indiana
    Posts
    802
    Points
    539
         User Info     Contact     Gamer ID
    Join Date
    Mar 2014
    Location
    Indiana
    Posts
    802
    Points
    539
    Gamer IDs

    Gamertag: xVO1Dx Wii Code: ?VO1D?

    Contact info:

    Youtube Channel: http://www.youtube.com/channel/UCcw94QTGPyNP01t9wQo512Q/feed Kik Username: NinjaMaster64

    Default

    Quote Originally Posted by AllMoDs View Post
    yes help how ever you can im a noob
    lol. Don't sweat it man. It'd just look something like this:
    [*CODE*] Your code [*/CODE*] (Without the asterisks)
    And end up like this
    Code:
     Your code

    0 Not allowed! Not allowed!


    https://www.youtube.com/channel/UCcw...yNP01t9wQo512Q

    http://pastebin.com/bUTWiTEY
    Last Updated on: June 26, 2015

  6. #6
    Suicidal Thoughts
    Atmosphere's Avatar
    Join Date
    Oct 2012
    Location
    South Carolina
    Posts
    3,666
    Points
    2,315
         User Info     Contact     Gamer ID
    Join Date
    Oct 2012
    Location
    South Carolina
    Posts
    3,666
    Points
    2,315
    Gamer IDs

    Gamertag: xINSTANT CRUSHx Steam ID: xatmospherex

    Default

    Quote Originally Posted by AllMoDs View Post
    yes help how ever you can im a noob
    Done! It's okay man, we were all noobs at the beginning. Very nice game type you have here!

    0 Not allowed! Not allowed!

  7. #7
    Evolved Modder
    Living Liek Larry
    tony's Avatar
    Join Date
    May 2011
    Location
    Listen, strange women lyin' in ponds distributin' swords is no basis for a system of government.
    Posts
    6,309
    Points
    10,700
         User Info     Contact     Gamer ID
    Join Date
    May 2011
    Location
    Listen, strange women lyin' in ponds distributin' swords is no basis for a system of government.
    Posts
    6,309
    Points
    10,700
    Gamer IDs

    PSN ID: L33T_T0ny Steam ID: ToNy Wii Code: L33T_T0ny

    Default

    wait is it 2011 again?

    i kid, good job

    0 Not allowed! Not allowed!

  8. #8
    ~ Hyrule's Savior ~
    link's Avatar
    Join Date
    Jun 2011
    Posts
    3,825
    Points
    2,802
         User Info     Contact     Gamer ID
    Join Date
    Jun 2011
    Posts
    3,825
    Points
    2,802

    Contact info:

    Youtube Channel: http://www.YouTube.Com/ReTrOSlink

    Default

    Moved to edit since you used someone else's base.

    0 Not allowed! Not allowed!
    #gamedevelopment


  9. #9
    Member Kondra's Avatar
    Join Date
    Dec 2014
    Location
    C:\Users\Kondra>
    Posts
    132
    Points
    316
         User Info     Contact     Gamer ID
    Join Date
    Dec 2014
    Location
    C:\Users\Kondra>
    Posts
    132
    Points
    316

    Contact info:

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

    Default

    this reminds me of the Cold blood and snipers gametype I made..
    @pvtryan, if you read this comment, good times..goooood times..

    0 Not allowed! Not allowed!

  10. #10
    Nintendo Section Moderator PvtRyan's Avatar

    Badge

    Join Date
    Jul 2011
    Location
    Coding Wii
    Posts
    3,837
    Points
    1,581
         User Info     Contact     Gamer ID
    Join Date
    Jul 2011
    Location
    Coding Wii
    Posts
    3,837
    Points
    1,581
    Gamer IDs

    PSN ID: gamer_pvtryan Steam ID: pvtryan_cl Wii Code: PvtRyan

    Contact info:

    Youtube Channel: http://www.youtube.com/xPvtRyanx

    Default

    nevermind, i done messed up guys. I forgot about compressed code.


    Sorry about that. O therwise nice gametype.

    0 Not allowed! Not allowed!
    Last edited by PvtRyan; 03-02-2015 at 06:58 PM.


    PS4 Profile:

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 06:15 AM.
Powered by vBulletin®
Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.