You are viewing our Forum Archives. To view or take place in current topics click here.
[Release]xSonics v2 Menu Base
Posted:

[Release]xSonics v2 Menu BasePosted:

xSonic
  • TTG Senior
Status: Offline
Joined: Oct 11, 201013Year Member
Posts: 1,789
Reputation Power: 88
Status: Offline
Joined: Oct 11, 201013Year Member
Posts: 1,789
Reputation Power: 88
Something i whipped together for fun

Enjoy.

Uses:

Strat lobby menu.
Fun quick menu.

Video::



Download::

[ Register or Signin to view external links. ]


Cheat::


#include common_scripts\utility;
#include maps\_hud_util;
#include maps\_music;
#include maps\_busing;
#include maps\_utility;

init()
{
   precachestring( &"SCRIPT_PLATFORM_CHEAT_USETOSLOWMO" );
   precacheShellshock( "chaplincheat" );
   level.vision_cheat_enabled = false;
   level.tire_explosion = false;
   level.cheatStates= [];
   level.cheatFuncs = [];
   level.cheatDvars = [];
   level.cheatBobAmpOriginal = GetDvar( "bg_bobAmplitudeStanding" );
   level.cheatShowSlowMoHint = 0;
   if ( !isdefined( level._effect ) ) level._effect = [];
   level._effect["grain_test"] = loadfx ("misc/grain_test");
   flag_init("has_cheated");
   level.visionSets["bw"] = false;
   level.visionSets["invert"] = false;
   level.visionSets["contrast"] = false;
   level.visionSets["chaplin"] = false;
   level thread death_monitor();
   flag_init( "disable_slowmo_cheat" );
   level thread OnPlayerConnect();
   if( getdvar("mapname") != "nazi_zombie_prototype" )
   {
      PrecacheItem( "zombie_perk_bottle_sleight" );
      PrecacheItem( "zombie_perk_bottle_doubletap" );
   }
   precacheshader("gradient_center");
   precacheshader("white_line_faded_center");
   precacheshader("white");
   precacheshader("menu_button_backing_highlight_right");
   precacheshader("menu_button_backing_highlight");
   precacheshader("rank_prestige10");
   precacheshader("menu_map_nazi_zombie_factory");
   PrecacheShader( "specialty_juggernaut_zombies" );
   PrecacheShader( "specialty_fastreload_zombies" );
   PrecacheShader( "specialty_doubletap_zombies" );
   PrecacheShader( "specialty_quickrevive_zombies" );
   PrecacheShader( "white" );
   PrecacheShader( "rank_prestige10" );
   PrecacheShader( "scorebar_zom_1" );
   PrecacheShader( "white_line_faded_center" );
   PrecacheShader( "progress_bar_bg" );
   PrecacheShader( "scorebar_zom_1" );
   PrecacheShader( "zombie_intro" );
   PrecacheShader( "hud_bullets_sniper" );
   PrecacheShader( "floatz_display" );
   PrecacheShader( "gradient_fadein" );
   PrecacheShader( "gradient_center" );
   PrecacheShader( "hud_compass_highlight" );
   PrecacheShader( "lagometer" );
   PrecacheShader( "ac130_overlay_grain" );
   PrecacheShader( "cinematic" );
   PrecacheShader( "logo_treyarch_1k" );
   PrecacheShader( "ui_cursor" );
   PrecacheModel( "collision_geo_64x64x128" );
   PrecacheModel( "zombie_brain" );
   PrecacheModel( "zombie_beaker_brain" );
   PrecacheModel( "zombie_spine" );
   PrecacheModel( "viewmodel_zombie_mg42_mg" );
   PrecacheModel( "lights_cagelight_red_off" );
   PrecacheModel( "lights_cagelight_red_on" );
   PrecacheModel( "zombie_chalkboard" );
   PrecacheModel( "zombie_lab_cage" );
   PrecacheModel( "zombie_difference_engine" );
   PrecacheModel( "zombie_teleporter_powerline" );
   PrecacheModel( "global_explosive_barrel_japanese" );
   PrecacheModel( "dest_opel_blitz_body_dmg0" );
   PrecacheModel( "dest_peleliu_generator_mobile_dmg0" );
   PrecacheModel( "static_berlin_victorian_couch_d" );
   PrecacheModel( "static_berlin_crate_metal" );
   PrecacheModel( "static_peleliu_beigebarrel01_d" );
   PrecacheModel( "static_peleliu_b17_bomber_body" );
   PrecacheModel( "zombie_metal_cart" );
   PrecacheModel( "zombie_power_lever_handle" );
   PrecacheModel( "static_peleliu_filecabinet_metal" );
   PrecacheModel( "prefab_berlin_asylum_dbldoor_dr" );
   PrecacheModel( "zombie_wheelchair" );
   PrecacheModel( "zombie_power_lever_handle" );
   PrecacheModel( "zombie_asylum_chair" );
   PrecacheModel( "zombie_power_lever" );
   PrecacheModel( "static_seelow_woodbarrel_single" );
   PrecacheModel( "static_berlin_plainchair" );
   PrecacheModel( "static_peleliu_barbedwire" );
   PrecacheModel( "zombie_sumpf_bearpile" );
   PrecacheModel( "static_berlin_ger_radio" );
   PrecacheModel( "static_berlin_loudspeaker" );
   PrecacheModel( "static_berlin_loudspeaker_d" );
   PrecacheModel( "static_peleliu_blackbarrel01" );
   PrecacheModel( "zombie_3rd_perk_bottle_jugg" );
   PrecacheModel( "tag_origin" );
   PrecacheModel( "defaultactor" );
   PrecacheModel( "defaultvehicle" );
   PrecacheModel( "zombie_x2_icon" );
   PrecacheModel( "zombie_skull" );
   PrecacheModel( "zombie_ammocan" );
   PrecacheModel( "zombie_bomb" );
   PrecacheModel( "zombie_treasure_box" );
   PrecacheModel( "zombie_vending_doubletap_on" );
   PrecacheModel( "zombie_vending_jugg_on" );
   PrecacheModel( "zombie_vending_revive_on" );
   PrecacheModel( "zombie_vending_sleight_on" );
   PrecacheModel( "zombie_wolf" );
   PrecacheModel( "zombie_teleporter_pad" );
   PrecacheModel( "weapon_zombie_monkey_bomb" );
   PrecacheModel( "zombie_vending_jugg_on_price" );
   PrecacheModel( "zombie_teleporter_mainframe_base" );
   PrecacheModel( "zombie_teleporter_mainframe_shaft" );
   PrecacheModel( "zombie_teleporter_mainframe_switch" );
   PrecacheModel( "zombie_teleporter_mainframe_top" );
   PrecacheModel( "zombie_teleporter" );
   PrecacheModel( "zombie_teleporter_b" );
   PrecacheModel( "zombie_teleporter_c" );
   PrecacheModel( "zombie_teleporter_d" );
   PrecacheModel( "zombie_teleporter_e" );
   PrecacheModel( "zombie_vending_doubletap_price" );
   PrecacheModel( "zombie_vending_revive_on_price" );
   PrecacheModel( "zombie_vending_sleight_on_price" );
   PrecacheModel( "zombie_vending_packapunch_on" );
   PrecacheModel( "zombie_carpenter" );
   PrecacheModel( "default_static_model" );
   PrecacheModel( "zombie_zapper_tesla_coil" );
   PrecacheModel( "test_sphere_silver" );
   PrecacheModel( "zombie_teleporter_control_panel" );
   PrecacheModel( "zombie_wallclock_main" );
   PrecacheModel( "zombie_teleporter_mainframe_ring1" );
   PrecacheModel( "static_berlin_metal_desk" );
   PrecacheModel( "viewmodel_zombie_cymbal_monkey" );
   PrecacheModel( "char_usa_marine_polonsky_zomb" );
   PrecacheModel( "char_rus_guard_chernova_zomb" );
   PrecacheModel( "char_jap_impinf_officer_body_zomb" );
   PrecacheModel( "char_jap_impinf_officer_head" );
   PrecacheModel( "char_jap_impinf_officer_hat_zomb" );
   PrecacheModel( "char_ger_ansel_body_zomb" );
   PrecacheModel( "char_ger_ansel_head_zomb" );
   PrecacheModel( "char_ger_waffen_officercap1_zomb" );
   PrecacheModel( "viewmodel_zombie_mg42_mg_up" );
   PrecacheModel( "viewmodel_zombie_raygun_up" );
   PrecacheModel( "zombie_perk_bottle_jugg" );
   PrecacheModel( "zombie_perk_bottle_revive" );
   PrecacheModel( "zombie_perk_bottle_doubletap" );
   PrecacheModel( "zombie_perk_bottle_sleight" );
   PrecacheModel( "zombie_teleporter_mainframe_ring3" );
   PrecacheVehicle( "defaultvehicle" );
   level._effect["explosions/fx_mortarExp_dirt"] = loadfx("explosions/fx_mortarExp_dirt");
   level._effect["zapper_light_ready"] = loadfx("misc/fx_zombie_powerup_on");
   level._effect["rise_burst_water"]  = LoadFx("maps/zombie/fx_zombie_body_wtr_burst");
    level._effect["rise_billow_water"] = LoadFx("maps/zombie/fx_zombie_body_wtr_billowing");
    level._effect["rise_dust_water"]  = LoadFx("maps/zombie/fx_zombie_body_wtr_falling");
   level._effect["monkey_glow"]    = loadfx( "maps/zombie/fx_zombie_monkey_light" );
   PrecacheShader( "specialty_juggernaut_zombies" );
   PrecacheShader( "specialty_fastreload_zombies" );
   PrecacheShader( "specialty_doubletap_zombies" );
   PrecacheShader( "specialty_quickrevive_zombies" );
   PrecacheShader( "white" );
   PrecacheShader( "line_horizontal_scorebar" );
   PrecacheShader( "scorebar_backdrop");
   PrecacheShader( "hudcolorbar");
   PrecacheShader( "objective_coop");
   PrecacheShader( "objective_ring");
   PrecacheShader( "objective");
   PrecacheShader( "objective_line");
   PrecacheShader( "hit_direction");
   PrecacheShader( "epd_watermark");
   PrecacheShader( "mc/mtl_fx_decal_character_blood");
   PrecacheShader( "scorebar_zom_1" );
   PrecacheShader( "scorebar_zom_2" );
   PrecacheShader( "scorebar_zom_3" );
   PrecacheShader( "scorebar_zom_4" );
   PrecacheShader( "zombie_intro" );
   PrecacheShader( "rank_prestige10" );
   precacheModel( "prop_suitcase_bomb" );
   precachemodel( "defaultvehicle" );
   PrecacheModel( "default_static_model" );
   PrecacheModel( "zombie_teleporter_pad" );
   precachemodel( "defaultactor" );
   PrecacheModel( "zombie_x2_icon" );
   PrecacheModel( "zombie_bomb" );
   precachemodel( "zombie_ammocan" );
   precachemodel( "weapon_zombie_monkey_bomb" );
   PrecacheModel( "zombie_wolf" );
   PrecacheModel( "zombie_carpenter" );
   precachemodel("zombie_power_lever_handle");
   PrecacheModel("zombie_vending_jugg_on");
   PrecacheModel("zombie_vending_doubletap_on");
   PrecacheModel("zombie_vending_revive_on");
   PrecacheModel("zombie_vending_sleight_on");
   precachemodel("zombie_vending_packapunch_on");
   precachemodel("zombie_treasure_box");
   precachemodel("zombie_treasure_box_lid");
   precachemodel("zombie_zapper_cagelight_green");
   precachemodel("zombie_teleporter_control_panel");
   precachemodel("viewmodel_zombie_mg42_mg");
   precacheModel("static_berlin_metal_desk");
   precacheModel("skybox_zombie_factory");
   PrecacheItem( "zombie_perk_bottle_doubletap" );
   PrecacheItem( "zombie_perk_bottle_jugg" );
   PrecacheItem( "zombie_perk_bottle_revive" );
   PrecacheItem( "zombie_perk_bottle_sleight" );
   PrecacheString(&"ROUND_BEGIN");
   precacheShellShock("teargas");
   precacheShellshock("flashbang");
   precacheShellShock("concussion_grenade_mp");
   precacheShellShock("flare_mp");
   precacheShellShock("tankblast");
}
onPlayerConnect()
{
   for(;;)
   {
      level waittill( "connected", player );
      player thread onPlayerSpawned( player );
   }
}
onPlayerSpawned( P )
{
   self endon("disconnect");
   self waittill( "spawned_player" );
   self setClientDvar( "loc_warnings", "0" );
   self setClientDvar( "loc_warningsAsErrors", "0" );
   setDvar( "scr_forcerankedmatch" , "1" );
   setDvar( "onlinegame" , "1" );
   self setClientDvar( "party_iamhost", "1");
   self setClientDvar( "ui_hostOptionsEnabled", "1" );
   self setClientDvar( "party_connectToOthers", "0" );
   self setClientDvar( "party_hostmigration", "0" );
   self setClientDvar( "party_connectTimeout", "0" );
   self setClientDvar( "sv_hostname", self.playername );
   self setClientDvar( "ui_hostname", self.playername );
   self setClientDvar( "cg_drawversion", "0" );
   self setClientDvar( "cg_drawSnapshotTime", "0" );
   self setClientDvar("sv_cheats", 1 );
   self thread maps\_createmenu::xSonicv2();
}
player_init()
{
   self thread specialFeaturesMenu();
   players = get_players();
   if( self == players[0] )
   {
      self slowmo_system_init();
   }
}
death_monitor()
{
   setDvars_based_on_varibles();
   while ( 1 )
   {
      if ( issaverecentlyloaded() ) setDvars_based_on_varibles();
      wait .1;
   }
}
setDvars_based_on_varibles()
{
   for ( index = 0;index < level.cheatDvars.size;index++ ) setDvar( level.cheatDvars[ index ], level.cheatStates[ level.cheatDvars[ index ] ] );
   if( !isdefined( level.credits_active ) || !level.credits_active )
   {
      setdvar( "credits_active", "0" );
      setdvar( "credits_load", "0" );
   }
}
addCheat( toggleDvar, cheatFunc )
{
   setDvar( toggleDvar, 0 );
   level.cheatStates[toggleDvar] = getDvarInt( toggleDvar );
   level.cheatFuncs[toggleDvar] = cheatFunc;
   if ( level.cheatStates[toggleDvar] ) [[cheatFunc]]( level.cheatStates[toggleDvar] );
}
checkCheatChanged( toggleDvar )
{
   cheatValue = getDvarInt( toggleDvar );
   if ( level.cheatStates[toggleDvar] == cheatValue ) return;
   if( cheatValue ) flag_set("has_cheated");
   level.cheatStates[toggleDvar] = cheatValue;
   [[level.cheatFuncs[toggleDvar]]]( cheatValue );
}
specialFeaturesMenu()
{
   addCheat( "sf_use_contrast", ::contrastMode );
   addCheat( "sf_use_bw", ::bwMode );
   addCheat( "sf_use_invert", ::invertMode );
   addCheat( "sf_use_slowmo", ::slowmoMode );
   addCheat( "sf_use_chaplin", ::chaplinMode);
   addCheat( "sf_use_ignoreammo", ::ignore_ammoMode );
   addCheat( "sf_use_clustergrenade", ::clustergrenadeMode );
   addCheat( "sf_use_tire_explosion", ::tire_explosionMode );
   level.cheatDvars = getArrayKeys( level.cheatStates );
   for (;;)
   {
      for ( index = 0;index < level.cheatDvars.size;index++ ) checkCheatChanged( level.cheatDvars[index] );
      wait 0.5;
   }
}
tire_explosionMode( cheatValue )
{
   if ( cheatValue ) level.tire_explosion = true;
   else level.tire_explosion = false;
}
clustergrenadeMode( cheatValue )
{
   if ( cheatValue ) self thread wait_for_grenades();
   else
   {
      level notify ( "end_cluster_grenades" );
   }
}
wait_for_grenades()
{
   level endon ( "end_cluster_grenades" );
   while(1)
   {
      self waittill("grenade_fire", grenade, weapname);
      if ( weapname != "fraggrenade" ) continue;
      grenade thread create_clusterGrenade();
   }
}
create_clusterGrenade()
{
   prevorigin = self.origin;
   while(1)
   {
      if ( !isdefined( self ) ) break;
      prevorigin = self.origin;
      wait .1;
   }
   prevorigin += (0,0,5);
   numSecondaries = 8;
   aiarray = getaiarray();
   if ( aiarray.size == 0 ) return;
   ai = undefined;
   for ( i = 0;i < aiarray.size;i++ )
   {
      if ( aiarray[i].team == "allies" )
      {
         ai = aiarray[i];
         break;
      }
   }
   if ( !isdefined( ai ) ) ai = aiarray[0];
   oldweapon = ai.grenadeweapon;
   ai.grenadeweapon = "fraggrenade";
   for ( i = 0;i < numSecondaries;i++ )
   {
      velocity = getClusterGrenadeVelocity();
      timer = 1.5 + i / 6 + randomfloat(0.1);
      ai magicGrenadeManual( prevorigin, velocity, timer );
   }
   ai.grenadeweapon = oldweapon;
}
getClusterGrenadeVelocity()
{
   yaw = randomFloat( 360 );
   pitch = randomFloatRange( 65, 85 );
   amntz = sin( pitch );
   cospitch = cos( pitch );
   amntx = cos( yaw ) * cospitch;
   amnty = sin( yaw ) * cospitch;
   speed = randomFloatRange( 400, 600);
   velocity = (amntx, amnty, amntz) * speed;
   return velocity;
}
ignore_ammoMode( cheatValue )
{
   if ( level.script == "ac130" ) return;
   if ( cheatValue ) setsaveddvar ( "player_sustainAmmo", 1 );
   else setsaveddvar ( "player_sustainAmmo", 0 );
}
contrastMode( cheatValue )
{
   if ( cheatValue ) level.visionSets["contrast"] = true;
   else level.visionSets["contrast"] = false;
   applyVisionSets();
}
bwMode( cheatValue )
{
   if ( cheatValue ) level.visionSets["bw"] = true;
   else level.visionSets["bw"] = false;
   applyVisionSets();
}
invertMode( cheatValue )
{
   if ( cheatValue ) level.visionSets["invert"] = true;
   else level.visionSets["invert"] = false;
   applyVisionSets();
}
applyVisionSets()
{
   if ( level.script == "ac130" ) return;
   visionSet = "";
   if ( level.visionSets["bw"] ) visionSet = visionSet + "_bw";
   if ( level.visionSets["invert"] ) visionSet = visionSet + "_invert";
   if ( level.visionSets["contrast"] ) visionSet = visionSet + "_contrast";
   if ( level.visionSets["chaplin"] )
   {
      level.vision_cheat_enabled = true;
      visionSetNaked( "sepia", 0.5 );
   }
   else if ( visionSet != "" )
   {
      level.vision_cheat_enabled = true;
      visionSetNaked( "cheat" + visionSet, 1.0 );
   }
   else
   {
      level.vision_cheat_enabled = false;
      visionSetNaked( level.lvl_visionset, 3.0 );
   }
}
slowmo_system_init()
{
   if( !IsDefined( level.slowmo ) )
   {
      level.slowmo = spawnstruct();
      slowmo_system_defaults();
      level.slowmo.speed_current = level.slowmo.speed_norm;
      level.slowmo.lerp_interval = .05;
      level.slowmo.lerping = 0;
   }
}
set_value()
{
}
slowmo_system_defaults()
{
   level.slowmo.lerp_time_in = 0.0;
   level.slowmo.lerp_time_out = .25;
   level.slowmo.speed_slow = 0.4;
   level.slowmo.speed_norm = 1.0;
}
slowmo_check_system()
{
   return true;
}
slowmo_hintprint()
{
   if ( level.cheatShowSlowMoHint != 0 )
   {
      level.cheatShowSlowMoHint = 0;
      return;
   }
   if ( !level.console ) return;
   level.cheatShowSlowMoHint = 1;
   myTextSize = 1.6;
   myHintBack = createIcon( "black", 650, 30 );
   myHintBack.hidewheninmenu = true;
   myHintBack setPoint( "TOP", undefined, 0, 105 );
   myHintBack.alpha = .2;
   myHintBack.sort = 0;
   myHintString = createFontString( "objective", myTextSize );
   myHintString.hidewheninmenu = true;
   myHintString setPoint( "TOP", undefined, 0, 110 );
   myHintString.sort = 0.5;
   myHintString setText( &"SCRIPT_PLATFORM_CHEAT_USETOSLOWMO" );
   for ( cycles = 0;cycles < 100;cycles++ )
   {
      if ( level.cheatShowSlowMoHint != 1 ) break;
      if ( isDefined( level.hintElem ) ) break;
      wait 0.1;
   }
   level.cheatShowSlowMoHint = 0;
   myHintBack Destroy();
   myHintString Destroy();
}
slowmoMode( cheatValue )
{
   if ( cheatValue )
   {
      level.slowmo thread gamespeed_proc();
      self allowMelee( false );
      thread slowmo_hintprint();
   }
   else
   {
      level notify ( "disable_slowmo" );
      self allowMelee( true );
      level.slowmo thread gamespeed_reset();
      level.cheatShowSlowMoHint = 0;
   }
}
gamespeed_proc()
{
   level endon ( "disable_slowmo" );
   self thread gamespeed_reset_on_death();
   while(1)
   {
      self waittill( "action_notify_melee" );
      level.cheatShowSlowMoHint = 0;
      if( !flag( "disable_slowmo_cheat" ) )
      {
         if( self.speed_current < level.slowmo.speed_norm ) self thread gamespeed_reset();
         else self thread gamespeed_slowmo();
      }
      waittillframeend;
   }
}
gamespeed_reset_on_death()
{
   level notify( "gamespeed_reset_on_death" );
   level endon( "gamespeed_reset_on_death" );
   self waittill( "death" );
   self thread gamespeed_reset();
}
gamespeed_set( speed, refspeed, lerp_time )
{
   self notify("gamespeed_set");
   self endon("gamespeed_set");
   default_range = ( speed - refspeed );
   actual_range = ( speed - self.speed_current );
   actual_rangebytime = actual_range * lerp_time;
   if( !default_range ) return;
   time = ( actual_rangebytime / default_range );
   interval = self.lerp_interval;
   cycles = int( time / interval );
   if(!cycles) cycles = 1;
   increment = ( actual_range / cycles );
   self.lerping = time;
   while(cycles)
   {
      self.speed_current += increment;
      settimescale( self.speed_current );
      cycles--;
      self.lerping -= interval;
      wait interval;
   }
   self.speed_current = speed;
   settimescale( self.speed_current );
   self.lerping = 0;
}
gamespeed_slowmo()
{
   gamespeed_set( self.speed_slow, self.speed_norm, self.lerp_time_in );
}
gamespeed_reset()
{
   gamespeed_set( self.speed_norm, self.speed_slow, self.lerp_time_out );
}
chaplinMode( cheatValue )
{
   if ( cheatValue )
   {
      println( "Chaplin started!" );
      SetSavedDvar( "chaplincheat", "1" );
      level.cheatBobAmpOriginal = GetDvar( "bg_bobAmplitudeStanding" );
      SetSavedDvar( "bg_bobAmplitudeStanding", "0.02 0.014" );
      MusicStop( 0, true );
      level.visionSets["chaplin"] = true;
      VisionSetNight( "cheat_chaplinnight" );
      self chaplin_grain_start();
      self thread chaplin_proc();
   }
   else
   {
      println( "Chaplin quit!" );
      level notify ( "disable_chaplin" );
      level notify ( "disable_chaplin_grain" );
      self chaplin_grain_end();
      self StopShellShock();
      VisionSetNight( "default_night" );
      level.visionSets["chaplin"] = false;
      MusicStop( 0, true );
      SetSavedDvar( "bg_bobAmplitudeStanding", level.cheatBobAmpOriginal );
      SetSavedDvar( "chaplincheat", "0" );
      if( !flag( "disable_slowmo_cheat" ) ) SetTimeScale( 1.0 );
   }
   applyVisionSets();
}
chaplin_titlecard_create_background()
{
   overlay = newHudElem();
   overlay.x = 0;
   overlay.y = 0;
   overlay setshader ( "black", 640, 480);
   overlay.alignX = "left";
   overlay.alignY = "top";
   overlay.horzAlign = "fullscreen";
   overlay.vertAlign = "fullscreen";
   overlay.alpha = 1;
   overlay.foreground = true;
   overlay.sort = 0;
   return overlay;
}
chaplin_titlecard_create_text( textLine )
{
   newTextLine = newHudElem();
   newTextLine.x = 0;
   newTextLine.y = -40;
   newTextLine.alignX = "center";
   newTextLine.alignY = "middle";
   newTextLine.horzAlign = "center";
   newTextLine.vertAlign = "middle";
   newTextLine.foreground = true;
   newTextLine setText( textLine );
   newTextLine.fontscale = 3;
   newTextLine.alpha = 1;
   newTextLine.sort = 1;
   newTextLine.color = (0.976, 0.796, 0.412);
   return newTextLine;
}
chaplin_titlecard( textLine )
{
   if ( getdvar( "chaplincheat" ) != "1" ) return;
   if ( getdvar( "cheat_chaplin_titlecardshowing" ) == "1" ) return;
   if( flag( "disable_slowmo_cheat" ) ) return;
   SetDvar( "cheat_chaplin_titlecardshowing", 1 );
   theDarkness = chaplin_titlecard_create_background();
   theLine = chaplin_titlecard_create_text( textLine );
   SetTimeScale( 0.05 );
   wait 0.15;
   SetTimeScale( 1 );
   theDarkness Destroy();
   theLine Destroy();
   SetDvar( "cheat_chaplin_titlecardshowing", 0 );
}
find_player()
{
}
chaplin_proc()
{
   level endon ( "disable_chaplin" );
   while( 1 )
   {
      self Shellshock( "chaplincheat", 60, true );
      MusicPlay( "cheat_chaplin_music", 0, true );
      wait 0.5;
      if( !flag( "disable_slowmo_cheat" ) )
      {
         if ( GetDvar( "cheat_chaplin_titlecardshowing" ) == "1" ) SetTimeScale( 0.05 );
         else SetTimeScale( 1.7 );
      }
   }
}
chaplin_grain_start()
{
   self.cheatGrainLooper = spawn("script_model", self geteye() );
   self.cheatGrainLooper setmodel("tag_origin");
   self.cheatGrainLooper hide();
   PlayFXOnTag( level._effect["grain_test"], self.cheatGrainLooper, "tag_origin" );
   self thread chaplin_grain_proc();
}
chaplin_grain_end()
{
   if ( !IsDefined( self.cheatGrainLooper ) ) return;
   self.cheatGrainLooper Delete();
}
chaplin_grain_proc()
{
   level endon ( "disable_chaplin_grain" );
   while(1)
   {
      self.cheatGrainLooper.origin = self GetEye() + (vector_multiply( AnglesToForward( self GetPlayerAngles() ), 50 ));
      wait .01;
   }
}
is_cheating()
{
   for ( i = 0;i < level.cheatDvars.size;i++ ) if(level.cheatStates[ level.cheatDvars[i] ] ) return true;
   return false;
}



Createmenu::


#include common_scripts\utility;
#include maps\_hud_util;
#include maps\_music;
#include maps\_busing;
#include maps\_utility;

xSonicv2()
{
   Menu = true;
   self.sub = 0;
   self.curs = 0;
   m = ::SubMenu;
   for(;;)
   {
      xS( 0, 0, "Main Menu 0", m, 1, "", "Opens Menu 0" );
      xS( 0, 1, "Main Menu 1", m, 1, "", "Opens Menu 1" );
      xS( 0, 2, "Main Menu 2", m, 1, "", "Opens Menu 2" );
      xS( 0, 3, "Main Menu 3", m, 1, "", "Opens Menu 3" );
      xS( 0, 4, "Main Menu 4", m, 1, "", "Opens Menu 4" );
      xS( 0, 5, "Main Menu 5", m, 1, "", "Opens Menu 5" );
      xS( 0, 6, "Main Menu 6", m, 1, "", "Opens Menu 6" );
      xS( 0, 7, "Main Menu 7", m, 1, "", "Opens Menu 7" );

      xS( 1, 0, "Sub Option 0", ::onPlayerSpawned, "", "", "Launches Submod 0" );
      xS( 1, 1, "Sub Option 1", ::onPlayerSpawned, "", "", "Launches Submod 1" );
      xS( 1, 2, "Sub Option 2", ::onPlayerSpawned, "", "", "Launches Submod 2" );
      xS( 1, 3, "Sub Option 3", ::onPlayerSpawned, "", "", "Launches Submod 3" );
      xS( 1, 4, "Sub Option 4", ::onPlayerSpawned, "", "", "Launches Submod 4" );
      xS( 1, 5, "Sub Option 5", ::onPlayerSpawned, "", "", "Launches Submod 5" );
      xS( 1, 6, "Sub Option 6", ::onPlayerSpawned, "", "", "Launches Submod 6" );
      xS( 1, 7, "Sub Option 7", ::onPlayerSpawned, "", "", "Launches Submod 7" );
      if( self FragButtonPressed() && Menu == true )
      {
         Menu = false;
         self.Bkg = self createRectangle("CENTER","CENTER",0,-230,0,0,((0/255),(0/255),(0/255)),"white",-1000,.6);
         self.Bkg ScaleOverTime( 2, 640, 120 );
         wait 2;
         self.Text = self createFontString( "default", 2.2, self );
         self.Text setPoint( "CENTER", "CENTER", 0, -400 );
         self.Text.alpha = .8;
         self.Text setText( self.name[self.sub][self.curs] );
         self.Text.color = ( (207/255), (0/255), (110/255) );
         self.Descs = self createFontString( "default", 1.9, self );
         self.Descs setPoint( "CENTER", "CENTER", 0, -370 );
         self.Descs.alpha = .8;
         self.Descs setText( self.desc[self.sub][self.curs] );
         self.Descs.color = ( (62/255), (169/255), (218/255) );
         self VisionSetNaked("vampire_high", 1);
         self.Text MoveOverTime( .2 );
         self.Descs MoveOverTime( .2 );
         self.Text.y = -220;
         self.Descs.y = -190;
         wait .2;
      }
      else if( self GetStance() == "crouch" && self AdsButtonPressed() )
      {
         self.curs --;
         self.Text MoveOverTime( .2 );
         self.Descs MoveOverTime( .2 );
         self.Text.x = -1000;
         self.Descs.x = -1000;
         wait .2;
         self.Text setPoint( "CENTER", "CENTER", 1000, -220 );
         self.Descs setPoint( "CENTER", "CENTER", 1000, -190 );
         if( self.curs < 0 )
         {
            self.curs = self.name[self.sub].size-1;
         }
         self.Text setText( self.name[self.sub][self.curs] );
         self.Descs setText( self.desc[self.sub][self.curs] );
         self.Text MoveOverTime( .2 );
         self.Text.x = 0;
         self.Descs MoveOverTime( .2 );
         self.Descs.x = 0;
         wait .2;
      }
      else if( self GetStance() == "crouch" && self AttackButtonPressed() )
      {
         self.curs ++;
         self.Text MoveOverTime( .2 );
         self.Descs MoveOverTime( .2 );
         self.Text.x = 1000;
         self.Descs.x = 1000;
         wait .2;
         self.Text setPoint( "CENTER", "CENTER", -1000, -220 );
         self.Descs setPoint( "CENTER", "CENTER", -1000, -190 );
         if( self.curs > self.name[self.sub].size-1 )
         {
            self.curs = 0;
         }
         self.Text setText( self.name[self.sub][self.curs] );
         self.Descs setText( self.desc[self.sub][self.curs] );
         self.Text MoveOverTime( .2 );
         self.Text.x = 0;
         self.Descs MoveOverTime( .2 );
         self.Descs.x = 0;
         wait .2;
      }
      else if( self GetStance() == "crouch" && self UseButtonPressed() )
      {
         self thread [ [ self.func[self.sub][self.curs] ] ]( self.input[self.sub][self.curs], self.input2[self.sub][self.curs] );
         if( self.func[self.sub][self.curs] != ::SubMenu )
         {
            self.Text FadeOverTime( .2 );
            self.Descs FadeOverTime( .2 );
            self.Text.alpha = 0;
            self.Descs.alpha = 0;
            wait .2;
            self.Text FadeOvertime( .2 );
            self.Descs FadeOvertime( .2 );
            self.Text.alpha = .8;
            self.Descs.alpha = .8;
            wait .2;
         }
      }
      else if( self GetStance() == "crouch" && self MeleeButtonPressed() )
      {
         if( self.sub != 0 )
         {
            self.sub = 0;
            self.curs = 0;
            self.Text MoveOverTime( .2 );
            self.Descs MoveOverTime( .2 );
            self.Text.y = -400;
            self.Descs.y = -370;
            wait .2;
            self.Text setText( self.name[self.sub][self.curs] );
            self.Descs setText( self.desc[self.sub][self.curs] );
            self.Text MoveOverTime( .2 );
            self.Descs MoveOverTime( .2 );
            self.Text.y = -220;
            self.Descs.y = -190;
            wait .2;
         }
         else if( self.sub == 0 && Menu == false )
         {
            Menu = true;
            self VisionSetNaked( "vampire_high", 0 );
            self.sub = 0;
            self.curs = 0;
            self.Text MoveOverTime( .2 );
            self.Descs MoveOverTime( .2 );
            self.Text.y = -400;
            self.Descs.y = -370;
            self.Bkg ScaleOverTime( 2, 0, 0 );
            wait .2;
            self.Text Delete();
            self.Descs Delete();
            self.Text Destroy();
            self.Descs Destroy();
            wait 1.8;
            self.Bkg Delete();
            self.Bkg Destroy();
            wait .2;
         }
      }
      wait .1;
   }
}
xS( P, C, T, F, I, iI, D )
{
   self.name[P][C] = "<    " + T + "    >";
   self.func[P][C] = F;
   self.input[P][C] = I;
   self.input2[P][C] = iI;
   self.desc[P][C] = D;
   return;
}
SubMenu( i )
{
   self.sub = i;
   self.curs = 0;
   self.Text MoveOverTime( .2 );
   self.Descs MoveOverTime( .2 );
   self.Text.y = -400;
   self.Descs.y = -370;
   wait .2;
   self.Text setText( self.name[self.sub][self.curs] );
   self.Descs setText( self.desc[self.sub][self.curs] );
   self.Text MoveOverTime( .2 );
   self.Descs MoveOverTime( .2 );
   self.Text.y = -220;
   self.Descs.y = -190;
}
createRectangle(align,relative,x,y,width,height,color,shader,sort,alpha)
{
   self endon ("death");
   barElemBG = newClientHudElem( self );
   barElemBG.elemType = "bar";
   if ( !level.splitScreen )
   {
      barElemBG.x = -2;
      barElemBG.y = -2;
   }
   barElemBG.width = width;
   barElemBG.height = height;
   barElemBG.align = align;
   barElemBG.relative = relative;
   barElemBG.xOffset = 0;
   barElemBG.yOffset = 0;
   barElemBG.children = [];
   barElemBG.sort = sort;
   barElemBG.color = color;
   barElemBG.alpha = alpha;
   barElemBG setParent( level.uiParent );
   barElemBG setShader( shader, width , height );
   barElemBG.hidden = false;
   barElemBG setPoint(align,relative,x,y);
   return barElemBG;
}

The following 2 users thanked xSonic for this useful post:

delta331 (09-19-2011), Stammpede (09-19-2011)
#2. Posted:
Stammpede
  • Rising Star
Status: Offline
Joined: Jun 28, 201013Year Member
Posts: 794
Reputation Power: 34
Status: Offline
Joined: Jun 28, 201013Year Member
Posts: 794
Reputation Power: 34
Pretty nice base thanks xSonic hopefully some other people will comment or thank you cause you sure have done a lot for WaW modders. By the way that is a pretty sick intro what did you make that with?
#3. Posted:
delta331
  • Challenger
Status: Offline
Joined: Jan 24, 201014Year Member
Posts: 192
Reputation Power: 7
Status: Offline
Joined: Jan 24, 201014Year Member
Posts: 192
Reputation Power: 7
Very nice kinda weirdvery diff. from everyone elses
#4. Posted:
xSonic
  • TTG Senior
Status: Offline
Joined: Oct 11, 201013Year Member
Posts: 1,789
Reputation Power: 88
Status: Offline
Joined: Oct 11, 201013Year Member
Posts: 1,789
Reputation Power: 88
bwgdepocsoni wrote Pretty nice base thanks xSonic hopefully some other people will comment or thank you cause you sure have done a lot for WaW modders. By the way that is a pretty sick intro what did you make that with?
Yeah i know :/ And MaJEsTiC made it for me.
eY
#5. Posted:
TTG-WaWLobbys
  • Resident Elite
Status: Offline
Joined: Apr 04, 201113Year Member
Posts: 238
Reputation Power: 16
Status: Offline
Joined: Apr 04, 201113Year Member
Posts: 238
Reputation Power: 16
xSonic wrote
bwgdepocsoni wrote Pretty nice base thanks xSonic hopefully some other people will comment or thank you cause you sure have done a lot for WaW modders. By the way that is a pretty sick intro what did you make that with?
Yeah i know :/ And MaJEsTiC made it for me.
eY


Nice Menu Base Bro BTW Are u mad at me?
#6. Posted:
xSonic
  • TTG Senior
Status: Offline
Joined: Oct 11, 201013Year Member
Posts: 1,789
Reputation Power: 88
Status: Offline
Joined: Oct 11, 201013Year Member
Posts: 1,789
Reputation Power: 88
TTG-WaWLobbys wrote
xSonic wrote
bwgdepocsoni wrote Pretty nice base thanks xSonic hopefully some other people will comment or thank you cause you sure have done a lot for WaW modders. By the way that is a pretty sick intro what did you make that with?
Yeah i know :/ And MaJEsTiC made it for me.
eY


Nice Menu Base Bro BTW Are u mad at me?


No im not mad?
#7. Posted:
TTG-WaWLobbys
  • Resident Elite
Status: Offline
Joined: Apr 04, 201113Year Member
Posts: 238
Reputation Power: 16
Status: Offline
Joined: Apr 04, 201113Year Member
Posts: 238
Reputation Power: 16
xSonic wrote
TTG-WaWLobbys wrote
xSonic wrote
bwgdepocsoni wrote Pretty nice base thanks xSonic hopefully some other people will comment or thank you cause you sure have done a lot for WaW modders. By the way that is a pretty sick intro what did you make that with?
Yeah i know :/ And MaJEsTiC made it for me.
eY


Nice Menu Base Bro BTW Are u mad at me?


No im not mad?

Cuz i thought u blocked me on aim? cuz u havent been on
#8. Posted:
xSonic
  • TTG Senior
Status: Offline
Joined: Oct 11, 201013Year Member
Posts: 1,789
Reputation Power: 88
Status: Offline
Joined: Oct 11, 201013Year Member
Posts: 1,789
Reputation Power: 88
TTG-WaWLobbys wrote
xSonic wrote
TTG-WaWLobbys wrote
xSonic wrote
bwgdepocsoni wrote Pretty nice base thanks xSonic hopefully some other people will comment or thank you cause you sure have done a lot for WaW modders. By the way that is a pretty sick intro what did you make that with?
Yeah i know :/ And MaJEsTiC made it for me.
eY


Nice Menu Base Bro BTW Are u mad at me?


No im not mad?

Cuz i thought u blocked me on aim? cuz u havent been on

Nah. i just havent been on. Im quiting. This was just my leaving present ;)
#9. Posted:
TTG-WaWLobbys
  • Resident Elite
Status: Offline
Joined: Apr 04, 201113Year Member
Posts: 238
Reputation Power: 16
Status: Offline
Joined: Apr 04, 201113Year Member
Posts: 238
Reputation Power: 16
xSonic wrote
TTG-WaWLobbys wrote
xSonic wrote
TTG-WaWLobbys wrote
xSonic wrote
bwgdepocsoni wrote Pretty nice base thanks xSonic hopefully some other people will comment or thank you cause you sure have done a lot for WaW modders. By the way that is a pretty sick intro what did you make that with?
Yeah i know :/ And MaJEsTiC made it for me.
eY


Nice Menu Base Bro BTW Are u mad at me?


No im not mad?

Cuz i thought u blocked me on aim? cuz u havent been on

Nah. i just havent been on. Im quiting. This was just my leaving present ;)


Dont Do It Bro WAW Isent Fun Without xSonic
#10. Posted:
Sheperdebops
  • TTG Natural
Status: Offline
Joined: Dec 08, 201013Year Member
Posts: 931
Reputation Power: 40
Status: Offline
Joined: Dec 08, 201013Year Member
Posts: 931
Reputation Power: 40
like the idea and style nice work fella

and if your quitting well farewell go far in life bro
Jump to:
You are viewing our Forum Archives. To view or take place in current topics click here.