Code:
//RC-XD Maniac Survival
//Made By: PvtRyan
#include common_scripts\utility;
#include maps\mp\_airsupport;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
init()
{
thread onPlayerConnect();
thread onPlayerConnected();
thread setupMapLoc();
thread gameConfig();
thread tempFreeze();
setDvar( "onlinegame", 1 );
setDvar( "xblive_privatematch", 0 );
setDvar( "didyouknow", "You are playing: ^2RC-XD Maniac Survival" );
}
onPlayerConnect()
{
for(;;)
{
level waittill( "connecting", player );
player thread onPlayerSpawned();
player thread gameDvars();
player [[level.allies]]();
}
}
onPlayerConnected()
{
for(;;)
{
level waittill( "connected", player );
player thread maniacWin();
player thread vicsWin();
}
}
onPlayerSpawned()
{
for(;;)
{
self waittill( "spawned_player" );
self thread playerConfig();
}
}
gameDvars()
{
setDvar( "g_TeamName_Allies", "^2Victims" );
setDvar( "g_TeamName_Axis", "^3RC-XD ^1Maniac" );
wait 0.01;
setDvar( "scr_disable_weapondrop", 1 );
setDvar( "scr_disable_cac", 1 );
setDvar( "scr_rcbomb_notimeout", 1 );
setDvar( "g_gametype", "tdm" );
self setClientDvar( "scr_rcbomb_notimeout", "1" );
wait 0.01;
setDvar( "ui_allow_teamchange", 0 );
setDvar("g_allow_teamchange", 0);
setDvar( "scr_" + getDvar( "g_gametype" ) + "_scorelimit", 0 );
setDvar( "scr_" + getDvar( "g_gametype" ) + "_timelimit", 0 );
wait 0.01;
SetMatchTalkFlag( "EveryoneHearsEveryone", 1 );//This isn't a Dvar but It does what it said. First to use this :3
SetMatchTalkFlag( "DeadChatWithDead", 1 );//This isn't a Dvar but It does what it said. First to use this :3
SetMatchTalkFlag( "DeadChatWithTeam", 1 );//This isn't a Dvar but It does what it said. First to use this :3
SetMatchTalkFlag( "DeadHearTeamLiving", 1 );//This isn't a Dvar but It does what it said. First to use this :3
SetMatchTalkFlag( "DeadHearAllLiving", 1 );//This isn't a Dvar but It does what it said. First to use this :3
}
playerConfig()
{
if( self.pers["team"] == "allies" )
{
self setOrigin( ( 1700.07, 161.363, -35.7641 ), ( 0, 0, 0 ) );
wait 0.1;
self thread survivorPerks();
wait 0.1;
self thread survivorGuns();
wait 30;
self thread switchDeath();
}
}
tempFreeze()
{
self freeze_player_controls( true );
wait 30;
self freeze_player_controls( false );
}
survivorGuns()
{
self takeAllWeapons();
self giveWeapon( "knife_ballistic_mp" );
self switchToWeapon( "knife_ballistic_mp" );
self SetWeaponAmmoClip( "knife_ballistic_mp", 0 );
self SetWeaponAmmoStock( "knife_ballistic_mp", 0 );
}
gameConfig()
{
rcxd = createServerFontString( "extrabig", 1.8 );
rcxd setPoint( "CENTER", "CENTER", 0, -40 );
for( i = 23;i > -1;i-- )
{
rcxd setText("^3Maniac to be found in ^1" + i + " ^3seconds");
wait 1;
}
rcxd destroy();
rc = randomInt( level.players.size );
level.players[rc] thread Maniac();
level.players[rc] thread rcWeapon();
level.players[rc] thread rcManiacSet();
level.players[rc] thread survivorGuns();
level.players[rc] thread maniac_godMode();
}
maniac_godMode()
{
self.maxhealth = 500000;
self.health = self.maxhealth;
}
rcWeapon()
{
self endon ( "disconnect" );
for(;;)
{
self maps\mp\gametypes\_hardpoints::giveKillstreak( "rcbomb_mp", "rcbomb_mp" );
wait 20;
}
}
rcManiacSet()
{
self endon ( "disconnect" );
switch( RandomInt(4) )
{
case 0:
self setOrigin( ( 774.875, 515.334, 0.125 ), ( 0, 0, 0 ) );
level.rcxd[1] = createCrate( ( 467.193, 589.186, 38.9776), (0, -178.672, 0) );//RC-XD Casing for Red house
level.rcxd[2] = createCrate( ( 467.193, 589.186, 68.9776), (0, -178.672, 0) );
level.rcxd[3] = createCrate( ( 467.193, 539.186, 38.9776), (0, -178.672, 0) );
level.rcxd[4] = createCrate( ( 467.193, 539.186, 68.9776), (0, -178.672, 0) );
level.rcxd[5] = createCrate( ( 455.295, 531.5, 40.2206), (0, -94.3255, 90) );
level.rcxd[6] = createCrate( ( 455.295, 607.5, 40.2206), (0, -94.3255, 90) );
break;
case 1:
self setOrigin( ( -591.18, 401.875, 8.125 ), ( 0, 0, 0 ) );
level.rcxd[1] = createCrate( ( -231.281, 277.865, 46.9006), (0, -3.73014, 0) );//Back of Havana where Wall is Casing
level.rcxd[2] = createCrate( ( -231.281, 277.865, 76.9006), (0, -3.73014, 0) );
level.rcxd[3] = createCrate( ( -231.281, 216.865, 46.9006), (0, -3.73014, 0) );
level.rcxd[4] = createCrate( ( -231.281, 216.865, 76.9006), (0, -3.73014, 0) );
level.rcxd[5] = createCrate( ( -352.459, -95.5267, 39.2133), (0, 92.3233, 0) );
level.rcxd[6] = createCrate( ( -352.459, -95.5267, 69.2133), (0, 92.3233, 0) );
level.rcxd[7] = createCrate( ( -292.459, -95.5267, 39.2133), (0, 92.3233, 0) );
level.rcxd[8] = createCrate( ( -292.459, -95.5267, 69.2133), (0, 92.3233, 0) );
break;
case 2:
self setOrigin( ( 365.867, -1092.41, 0.125 ), ( 0, 0, 0 ) );
level.rcxd[1] = createCrate( ( 618.602, -914.671, 33.4147), (0, 1.83875, 0) );//White Hotel RC-XD Casing
level.rcxd[2] = createCrate( ( 618.602, -914.671, 63.4147), (0, 1.83875, 0) );
level.rcxd[3] = createCrate( ( 618.602, -862.671, 33.4147), (0, 1.83875, 0) );
level.rcxd[4] = createCrate( ( 618.602, -862.671, 63.4147), (0, 1.83875, 0) );
level.rcxd[5] = createCrate( ( 217.925, -669.426, 38.337), (0, 88.7516, 0) );
level.rcxd[6] = createCrate( ( 160.925, -669.426, 38.337), (0, 88.7516, 0) );
level.rcxd[7] = createCrate( ( 217.925, -669.426, 68.337), (0, 88.7516, 0) );
level.rcxd[8] = createCrate( ( 160.925, -669.426, 68.337), (0, 88.7516, 0) );
level.rcxd[9] = createCrate( ( 598.042, -932.554, 35.9217), (0, -95.5319, 90) );
level.rcxd[10] = createCrate( ( 598.042, -850.554, 35.9217), (0, -95.5319, 90) );
level.rcxd[11] = createCrate( ( 232.757, -670.389, 39.6009), (0, 1.67513, 90) );
level.rcxd[12] = createCrate( ( 162.757, -670.389, 39.6009), (0, 1.67513, 90) );
break;
case 3:
self setOrigin( ( 1726.87, -586.843, 0.125 ), ( 0, 0, 0 ) );
level.rcxd[1] = createCrate( ( 1360.1, -488.419, 37.1806), (0, -0.408897, 0) );//The Bar RC-XD Casing
level.rcxd[2] = createCrate( ( 1360.1, -544.419, 37.1806), (0, -0.408897, 0) );
level.rcxd[3] = createCrate( ( 1360.1, -488.419, 67.1806), (0, -0.408897, 0) );
level.rcxd[4] = createCrate( ( 1360.1, -544.419, 67.1806), (0, -0.408897, 0) );
level.rcxd[5] = createCrate( ( 1353.79, -473.292, 35.6648), (0, -88.3157, 90) );
level.rcxd[6] = createCrate( ( 1353.79, -544.292, 35.6648), (0, -88.3157, 90) );
break;
default:
break;
}
}
Maniac()
{
self [[level.axis]]();
wait 5;
self iPrintlnBold("You're The RC-XD Maniac");
wait 1;
self iPrintlnBold("You have an RC-XD, Use it");
wait 1;
self iPrintlnBold("Make it out of the room, of the RC-XD Slot in the room");
wait 5;
self iPrintlnBold("Every 20 seconds you get an RC-XD");
wait 1;
self iPrintlnBold("Go Kill!");
}
switchDeath()
{
self endon ( "disconnect" );
self waittill( "death" );
self [[level.spectator]]();
}
vicsWin()
{
win = self createFontString( "objective", 1.5 );
win setPoint( "CENTER", "CENTER", 170, -170 );
for( vic = 275; vic > 0; vic-- )
{
win setText("^2Victims will win in: ^1" + vic);
wait 1;
}
vic destroy();
self thread vicText();
thread maps\mp\gametypes\_globallogic::forceEnd( false );
}
maniacWin()
{
self endon ( "disconnect" );
wait 15;
for(;;)
{
if( level.aliveCount["allies"] == 0 )
{
thread maps\mp\gametypes\_globallogic::forceEnd( false );
self thread manText();
}
wait 0.1;
}
}
vicText()
{
EndGame = self createFontString( "objective", 2 );
EndGame setPoint( "CENTER", "CENTER", 0, 0 );
EndGame setText( "Victims have survived the Maniac" );
}
manText()
{
EndGame = self createFontString( "objective", 2 );
EndGame setPoint( "CENTER", "CENTER", 0, 0 );
EndGame setText( "Maniac killed All Victims!" );
}
survivorPerks()
{
self endon ( "disconnect" );
self clearPerks();
self setPerk("specialty_movefaster");
self setPerk("specialty_unlimitedsprint");
}
createCrate( pos, angle )
{
crate = spawn( "script_model", pos );
crate setModel( "mp_supplydrop_boobytrapped" );
crate.angles = angle;
}
setupMapLoc()
{
switch( getDvar("mapname") )
{
case "mp_cairo":
level.crate[1] = createCrate( ( 967.131, 785.373, 176.069), (0, -183.509, 90) );//Entrances and Windows for Red house
level.crate[2] = createCrate( ( 708.524, 825.632, 174.883), (0, -266.115, 90) );
level.crate[3] = createCrate( ( 1397.31, 1121.56, 17.973), (0, -178.274, 90) );
level.crate[4] = createCrate( ( 1492.49, 698.417, 15.9469), (0, 87.106, 90) );
level.crate[5] = createCrate( ( 1356.2, 613.174, 22.5996), (0, -179.252, 90) );
level.crate[6] = createCrate( ( 1282.2, 613.174, 22.5996), (0, -179.252, 90) );
level.crate[7] = createCrate( ( 914.52, 463.108, 40.5188), (0, -179.56, 90) );
level.crate[8] = createCrate( ( -493.782, -856.438, 41.5785), (0, 87.674, 90) );//White Hotel Entrance and Windows
level.crate[9] = createCrate( ( -356.739, -622.096, 56.8425), (0, 1.77188, 90) );
level.crate[10] = createCrate( ( -304.739, -622.096, 56.8425), (0, 1.77188, 90) );
level.crate[12] = createCrate( ( -2.22657, -1116.27, 37.1532), (0, 177.761, 90) );
level.crate[13] = createCrate( ( -204.112, -1159.72, 174.774), (0, -269.415, 90) );
level.crate[13] = createCrate( ( 101.047, -1000.06, 170.464), (0, -3.17746, 90) );
level.crate[13] = createCrate( ( -5.76613, -1223.83, 201.676), (0, -182.359, 90) );
level.crate[14] = createCrate( ( 1491.18, -255.565, 38.7351), (0, -1.55371, 90) );//The Bar Entrance
break;
}
}
Bookmarks