Author Topic: Ac130 static screen image doesn't go away.  (Read 287 times)

Offline SmokingJoePot

  • Rank: Private
  • *
  • Posts: 20
Ac130 static screen image doesn't go away.
« on: May 04, 2011, 08:52:22 pm »
Hi, me and my friend were playing the other day and on X4_v3 mw2, when we would use the ac130, the screen would look static whiteish, I guess thats the way its suppose to be and thats not the problem but when the ac130s finished, the screen still has the static white screen and doesn't go back to normal. How do I fix this?

Offline bhcmax

  • Rank: Private
  • *
  • Posts: 150
    • http://www.bhc-rangers.com
Re: Ac130 static screen image doesn't go away.
« Reply #1 on: May 05, 2011, 05:42:31 am »
try these settings in wmdcontrol.cfg

// Static view
// Off = 0
// On = 1 (default)
set ex_ac130_static "0"

// AC130 HUD Text on Screen
// Off = 0
// On = 1 (default)
set ex_ac130_hud "1"

// Thermal view
// Off = 0
// On = 1 (default)
set ex_ac130_thermal "1"

// AC130 Hud Grain
// Off = 0
// On = 1 (default)
set enable_ac130_hud_grain "0"

and press "melee" button to switch from thermal to normal view

and try this
_ac130.gsc settings
( find it in zz_svr_x4.iwd / maps/mp)
(save a copy of original one,just in case)
then copy paste these settings onto _ac130.gsc file

Code: [Select]
#include maps\mp\_utility;
#include maps\mp\_dvardef;

init()
{
level.ac130_time = createdvar("ac130_time",60,0,300,"int");
level.ac130_rotationSpeed = createdvar("ac130_speed",60,0,150,"int");
level.ac130_maxhealth = createdvar("ac130_health",1000,500,3000,"int");
level.ac130_armor = createdvar("ac130_armor",100,10,950,"int");
level.ac130_hud_grain = createdvar("enable_ac130_hud_grain",1,0,1,"int");
level.ac130_exploded = false;
precacheModel("c130_zoomrig");
precacheModel("vehicle_ac130_low");
precacheShader("ac130_overlay_25mm");
precacheShader("ac130_overlay_40mm");
precacheShader("ac130_overlay_105mm");
precacheShader("ac130_overlay_grain");
precacheShader("black");
precacheItem("ac130_25mm_mp");
precacheItem("ac130_40mm_mp");
precacheItem("ac130_105mm_mp");

precacheShader("compass_objpoint_ac130_green");
precacheShader("compass_objpoint_ac130_red");
precacheShader( "hud_ac130" );


level.physicsSphereForce["ac130_25mm_mp"] = 0.5;
level.physicsSphereForce["ac130_40mm_mp"] = 3.0;
level.physicsSphereForce["ac130_105mm_mp"] = 6.0;
level.physicsSphereRadius["ac130_25mm_mp"] = 200;
level.physicsSphereRadius["ac130_40mm_mp"] = 600;
level.physicsSphereRadius["ac130_105mm_mp"] = 1000;

level.ac130_fx = loadfx ("explosions/helicopter_explosion_cobra");

level.ac130_sound["axis"]["crash"] = "hind_helicopter_crash";
level.ac130_sound["allies"]["crash"] = "cobra_helicopter_crash";


level thread GetMapDim();
level thread GetFieldDim();

level.ac130Origin = getAboveBuildingsLocation(level.ex_playArea_Centre);
}

main()
{

}

main_ac130()
{
level.ac130 = spawn("script_model", level.ac130Origin);
level.ac130 setModel("c130_zoomrig");
level.ac130.angles = (0,75,0);

level.ac130.health_low = level.ac130_maxhealth*0.8;
level.ac130.health_bulletdamageble = level.ac130_armor;
level.ac130.team = self.pers["team"];
level.ac130_exploded = false;
level.ac130.attacker = undefined;
level.ac130.currentstate = "ok";
level.ac130.owner = self;
level.ac130 hide();
level.ac130Model = spawn("script_model", level.ac130Origin);
level.ac130Model setModel("vehicle_ac130_low");
level.ac130Model.angles = (0,75,0);
level.ac130Model linkTo(level.ac130, "tag_player", (0,0,0), (0,0,0));
level.ac130Model.health_low = level.ac130_maxhealth*0.8;
level.ac130Model.health_bulletdamageble = level.ac130_armor;
level.ac130Model.team = self.pers["team"];
level.ac130Model.attacker = undefined;
level.ac130Model.currentstate = "ok";
level.ac130Model.owner = self;

level.ac130Model thread ac130_damage_monitor();
level.ac130Model thread ac130_health();
level.ac130 thread ac130_damage_monitor();
level.ac130 thread ac130_health();

level.ac130 thread rotatePlane(true);
level.ac130 thread ac130_monitor_owner();

}

ac130_monitor_owner()
{
self endon( "leaving" );
self endon("left_ac130");
self endon("crashing");
self endon("death");

while(1)
{
if ( !isDefined( self.owner ) && isDefined(level.ac130))
{
self thread ac130_leave();
}
if(!isDefined(level.ac130) || !isDefined(level.ac130Model))
{
self notify("stop_rotatePlane_thread");
break;
}
wait 1;
}
}


ac130_attachPlayer()
{
self endon("joined_spectators");
self endon("disconnect");
self endon("death");

//level.ac130 show();
//level.ac130model show();

// Give all the ac130 weapons
     if( !self hasWeapon( "ac130_25mm_mp" ) )
{
self giveweapon( "ac130_25mm_mp" );
}

if( !self hasWeapon( "ac130_40mm_mp" ) )
{
self giveweapon( "ac130_40mm_mp" );
}

if( !self hasWeapon( "ac130_105mm_mp" ) )
{
self giveweapon( "ac130_105mm_mp" );
}

self.thermal = false;
self.inAc130 = true;
level.ac130Player = self;
self linkTo(level.ac130, "tag_player", (4000,0,0), (0,0,0));

self hide();
self.food = self.maxhealth;

self.maxhealth = 999999;
self.health = self.maxhealth;

self setClientDvar( "ui_hud_hardcore", 1 );

if(level.ex_air_raid_global) thread extreme\_ex_utils::playSoundLoc("air_raid",(0,0,0));
if(level.ex_air_raid_team) thread extreme\_ex_utils::playSoundOnPlayers("air_raid");
        
if(level.ac130_hud_grain)
{
self setClientDvar( "ui_player_ac130", 1 );
}
self thread ac130_hud();
self thread changeWeapons();
self thread shotFired();
self thread CleanUp_AC130();
self thread check_weap_proper();

if(level.ex_ac130_thermal)
{
self thread togglethermalOn();
}

self iprintlnbold("You have ^3" + level.ac130_time + " ^7seconds.");

        wait 1;

wait level.ac130_time;

if( isPlayer(self) && isAlive(self) && self.inAc130 && isDefined(level.ac130) )
{
level.ac130_exploded = false;
self thread goToLz();
}
}

CleanUp_AC130()
{
if(isDefined(level.ex_mapannouncer)) level.ex_mapannouncer destroy();
if(isDefined(self.hud_statsscore)) self.hud_statsscore destroy();
if(isDefined(self.hud_statshead)) self.hud_statshead destroy();
if(isDefined(self.hud_statsknife)) self.hud_statsknife destroy();
if(isDefined(self.hud_statsnade)) self.hud_statsnade destroy();
if(isDefined(self.hud_statskill)) self.hud_statskill destroy();
if(isDefined(self.hud_statsdeath)) self.hud_statsdeath destroy();
if(isDefined(self.hud_statskd)) self.hud_statskd destroy();
if(isDefined(self.ex_healthbar)) self.ex_healthbar destroy();
if(isDefined(self.ex_healthback)) self.ex_healthback destroy();
if(isDefined(self.ex_healthcross)) self.ex_healthcross destroy();  
if(isDefined(self.ex_firstaidicon)) self.ex_firstaidicon destroy();
if(isDefined(self.ex_firstaidval)) self.ex_firstaidval destroy();
if(isDefined(level.logo_img)) level.logo_img destroy();
if(isDefined(level.ex_alliesicon)) level.ex_alliesicon destroy();
if(isDefined(level.ex_alliesnumber)) level.ex_alliesnumber destroy();
if(isDefined(level.ex_axisicon)) level.ex_axisicon destroy();
if(isDefined(level.ex_axisnumber)) level.ex_axisnumber destroy();
if(isDefined(level.ex_deadalliesicon)) level.ex_deadalliesicon destroy();
if(isDefined(level.ex_deadalliesnumber)) level.ex_deadalliesnumber destroy();
if(isDefined(level.ex_deadaxisicon)) level.ex_deadaxisicon destroy();
if(isDefined(level.ex_deadaxisnumber)) level.ex_deadaxisnumber destroy();
if(isDefined(self .ex_hudstats)) self.hud_stats destroy();
if(isDefined(self.ex_laserdot)) self.ex_laserdot destroy();
if(isDefined(self.ex_hudstats)) self.ex_hudstats destroy();
}

goToLz()
{

if( self hasWeapon( "ac130_25mm_mp" ) )
{ self takeWeapon( "ac130_25mm_mp" ); }

if( self hasWeapon( "ac130_40mm_mp" ) )
{ self takeWeapon( "ac130_40mm_mp" ); }

if( self hasWeapon( "ac130_105mm_mp" ) )
{ self takeWeapon( "ac130_105mm_mp" ); }

wait 1;
if(level.ac130_exploded == false)
{
spawnPoints = maps\mp\gametypes\_spawnlogic::getTeamSpawnPoints( self.pers["team"] );
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_NearTeam( spawnPoints );
self unlink();
self setorigin(spawnpoint.origin);
self setplayerangles(spawnpoint.angles);
self show();
}

self notify("left_ac130");

if(!level.hardcoreMode)
{
self setClientDvar( "ui_hud_hardcore", 0 );
}

self.thermal = false;
self setclientdvar("r_filmtweakdesaturation", 0);
self setclientdvar("r_filmtweakenable", 0);
self setclientdvar("r_filmusetweaks", 0);  
self setclientdvar("r_filmtweakbrightness", 0);
if(!isDefined(level.emp))
{
if(level.ex_hudstats) self thread extreme\_ex_hudstats::main();
if(level.ex_healthbar) self thread extreme\_ex_healthbar::start();
if(level.ex_firstaid_kits != 0) self thread extreme\_ex_firstaid::start();
if(level.ex_logo) self thread extreme\_ex_logo::init();
if(level.ex_laserdot) self thread extreme\_ex_laserdot::start();
}

self.inAc130 = false;

self.maxhealth = self.food;
self.health = self.maxhealth;

level.ac130Player = undefined;

weaponsList = self GetWeaponsList();
primary = undefined;
for( idx = 0; idx <weaponsList>= weapon.size) currentWeapon = 0;
                self setClientDvar( "cg_fov", weapon[currentWeapon].fov );
self switchToWeapon( weapon[currentWeapon].weapon );
self setWeaponAmmoClip( weapon[currentWeapon].weapon, 999 );
self thread setWepText(weapon[currentWeapon].settext);
self thread setOverlay(weapon[currentWeapon].overlay);

//self iPrintln( "Switched to: " + weapon[currentWeapon].name );

self PlayLocalSound( "weap_rpg_twist_plr" );  
while(self useButtonPressed()) wait 0.05;
}
}

check_weap_proper()
{
self endon("death");
self endon("disconnect");
self endon("joined_spectators");
self endon("left_ac130");

while(1)
{
wait 0.05;

weapon = self getCurrentWeapon();

if(!isSubStr(weapon, "ac130_"))
{
self switchToWeapon( "ac130_25mm_mp" );
self setWeaponAmmoClip( "ac130_overlay_25mm", 999 );
self thread setOverlay( "ac130_overlay_25mm" );
self PlayLocalSound( "weap_rpg_twist_plr" );
}
else
{

}
}
}
togglethermalOn()
{
self endon("death");
self endon("disconnect");
self endon("joined_spectators");
self endon("left_ac130");

while(isAlive(self))
{
wait 0.02;
wait (0.2);
if(self meleeButtonPressed() && self.thermal == true)
{
self.thermal = false;
self PlayLocalSound("item_nightvision_off");  
self setClientDvar("r_filmtweakdesaturation", 0);
self setClientDvar("r_filmtweakenable", 0);
self setClientDvar("r_filmusetweaks", 0);  
self setClientDvar("r_filmtweakbrightness", 0);  

}
else
if(self meleeButtonPressed() && self.thermal == false)
{
self.thermal = true;
self PlayLocalSound( "item_nightvision_on" );
self setclientdvar("r_filmtweakinvert", 1);
                        self setClientDvar("r_filmtweakdesaturation", 1);
self setClientDvar("r_filmtweakenable", 1);
self setClientDvar("r_filmusetweaks", 1);  
self setClientDvar("r_filmtweakbrightness", 0.001);
}
}
}

setOverlay(overlay)
{
self endon("death");
self endon("disconnect");
self endon("joined_spectators");

//Setup some huds
if( !isDefined( self.ac130_timer ) )
{
self.ac130_timer = newClientHudElem( self );
self.ac130_timer.x = 635;
self.ac130_timer.y = 250;
self.ac130_timer.alignx = "right";
self.ac130_timer.aligny = "middle";
self.ac130_timer.horzAlign = "fullscreen";
self.ac130_timer.vertAlign = "fullscreen";
self.ac130_timer.alpha = 1.0;
self.ac130_timer.fontScale = 2;
self.ac130_timer.sort = 100;
self.ac130_timer.foreground = true;
self.ac130_timer.glowAlpha = 0.1;
self.ac130_timer.glowColor = (0, 1, 0);
self.ac130_timer setTimer( level.ac130_time );
}

if( !isDefined( self.ac130_overlay ) )
{
self.ac130_overlay = newClientHudElem( self );
self.ac130_overlay.x = 0;
self.ac130_overlay.y = 0;
self.ac130_overlay.alignX = "center";
self.ac130_overlay.alignY = "middle";
self.ac130_overlay.horzAlign = "center";
self.ac130_overlay.vertAlign = "middle";
self.ac130_overlay.foreground = true;
}
self.ac130_overlay setshader(overlay, 640, 480);

self waittill("left_ac130");

if( isDefined(self.ac130_timer ) )
{ self.ac130_timer destroy(); }

if (isDefined(self.ac130_overlay))
{ self.ac130_overlay destroy(); }
}

ac130_hud()
{
self endon("death");
self endon("disconnect");
self endon("joined_spectators");

self.HUDItem[ "hud_text_top" ] = newClientHudElem( self );
  self.HUDItem[ "hud_text_top" ].x = 0;
  self.HUDItem[ "hud_text_top" ].y = 0;
  self.HUDItem[ "hud_text_top" ].alignX = "left";
  self.HUDItem[ "hud_text_top" ].alignY = "top";
  self.HUDItem[ "hud_text_top" ].horzAlign = "left";
  self.HUDItem[ "hud_text_top" ].vertAlign = "top";
  self.HUDItem[ "hud_text_top" ].fontScale = 2.5;
  self.HUDItem[ "hud_text_top" ] settext ( &"AC130_HUD_TOP_BAR" );
   self.HUDItem[ "hud_text_top" ].glowColor = (0.2, 0.3, 0.7);
   self.HUDItem[ "hud_text_top" ].glowAlpha = 1;
  self.HUDItem[ "hud_text_top" ].alpha = 1.0;

  self.HUDItem[ "hud_text_left" ] = newClientHudElem( self );
  self.HUDItem[ "hud_text_left" ].x = 0;
  self.HUDItem[ "hud_text_left" ].y = 60;
  self.HUDItem[ "hud_text_left" ].alignX = "left";
  self.HUDItem[ "hud_text_left" ].alignY = "top";
  self.HUDItem[ "hud_text_left" ].horzAlign = "left";
  self.HUDItem[ "hud_text_left" ].vertAlign = "top";
  self.HUDItem[ "hud_text_left" ].fontScale = 2.5;
  self.HUDItem[ "hud_text_left" ] settext ( &"AC130_HUD_LEFT_BLOCK" );
   self.HUDItem[ "hud_text_left" ].glowColor = (0.2, 0.3, 0.7);
   self.HUDItem[ "hud_text_left" ].glowAlpha = 1;
  self.HUDItem[ "hud_text_left" ].alpha = 1.0;

  self.HUDItem[ "hud_text_right" ] = newClientHudElem( self );
  self.HUDItem[ "hud_text_right" ].x = 0;
  self.HUDItem[ "hud_text_right" ].y = 50;
  self.HUDItem[ "hud_text_right" ].alignX = "right";
  self.HUDItem[ "hud_text_right" ].alignY = "top";
  self.HUDItem[ "hud_text_right" ].horzAlign = "right";
  self.HUDItem[ "hud_text_right" ].vertAlign = "top";
  self.HUDItem[ "hud_text_right" ].fontScale = 2.5;
  self.HUDItem[ "hud_text_right" ] settext ( &"AC130_HUD_RIGHT_BLOCK" );
   self.HUDItem[ "hud_text_right" ].glowColor = (0.2, 0.3, 0.7);
   self.HUDItem[ "hud_text_right" ].glowAlpha = 1;
  self.HUDItem[ "hud_text_right" ].alpha = 1.0;

  self.HUDItem[ "hud_text_bottom" ] = newClientHudElem( self );
  self.HUDItem[ "hud_text_bottom" ].x = 0;
  self.HUDItem[ "hud_text_bottom" ].y = 0;
  self.HUDItem[ "hud_text_bottom" ].alignX = "center";
  self.HUDItem[ "hud_text_bottom" ].alignY = "bottom";
  self.HUDItem[ "hud_text_bottom" ].horzAlign = "center";
  self.HUDItem[ "hud_text_bottom" ].vertAlign = "bottom";
  self.HUDItem[ "hud_text_bottom" ].fontScale = 2.5;
self.HUDItem[ "hud_text_bottom" ] settext ( &"AC130_HUD_BOTTOM_BLOCK" );
   self.HUDItem[ "hud_text_bottom" ].glowColor = (0.2, 0.3, 0.7);
   self.HUDItem[ "hud_text_bottom" ].glowAlpha = 1;
  self.HUDItem[ "hud_text_bottom" ].alpha = 1.0;

  self.HUDItem[ "thermal_mode" ] = newClientHudElem( self );
  self.HUDItem[ "thermal_mode" ].x = -80;
  self.HUDItem[ "thermal_mode" ].y = 50;
  self.HUDItem[ "thermal_mode" ].alignX = "right";
  self.HUDItem[ "thermal_mode" ].alignY = "top";
  self.HUDItem[ "thermal_mode" ].horzAlign = "right";
  self.HUDItem[ "thermal_mode" ].vertAlign = "top";
self.HUDItem[ "thermal_mode" ].fontScale = 2.5;
  self.HUDItem[ "thermal_mode" ] settext ( &"AC130_HUD_THERMAL_WHOT" );
   self.HUDItem[ "thermal_mode" ].glowColor = (0.2, 0.3, 0.7);
   self.HUDItem[ "thermal_mode" ].glowAlpha = 1;
   self.HUDItem[ "thermal_mode" ].alpha = 1.0;

self.HUDItem[ "coordinate_agl" ] = newClientHudElem( self );
self.HUDItem[ "coordinate_agl" ].x = 0;
self.HUDItem[ "coordinate_agl" ].y = 20;
self.HUDItem[ "coordinate_agl" ].alignX = "right";
self.HUDItem[ "coordinate_agl" ].alignY = "top";
self.HUDItem[ "coordinate_agl" ].horzAlign = "right";
self.HUDItem[ "coordinate_agl" ].vertAlign = "top";
self.HUDItem[ "coordinate_agl" ].fontScale = 2.5;
self.HUDItem[ "coordinate_agl" ] settext ( &"AC130_HUD_AGL" );
   self.HUDItem[ "coordinate_agl" ].glowColor = (0.2, 0.3, 0.7);
   self.HUDItem[ "coordinate_agl" ].glowAlpha = 1;
self.HUDItem[ "coordinate_agl" ].alpha = 1.0;

self.HUDItem[ "keypress" ] = newClientHudElem( self );
self.HUDItem[ "keypress" ].x = 0;
self.HUDItem[ "keypress" ].y = -60;
self.HUDItem[ "keypress" ].alignX = "left";
self.HUDItem[ "keypress" ].alignY = "bottom";
self.HUDItem[ "keypress" ].horzAlign = "left";
self.HUDItem[ "keypress" ].vertAlign = "bottom";
self.HUDItem[ "keypress" ].fontScale = 1.5;
self.HUDItem[ "keypress" ] settext ( &"AC130_HINT_CYCLE_WEAPONS" );
self.HUDItem[ "keypress" ].alpha = 1.0;
if(!level.ac130_hud_grain)
{
self.HUDItem[ "keypressthermal" ] = newClientHudElem( self );
self.HUDItem[ "keypressthermal" ].x = 0;
self.HUDItem[ "keypressthermal" ].y = -40;
self.HUDItem[ "keypressthermal" ].alignX = "left";
self.HUDItem[ "keypressthermal" ].alignY = "bottom";
self.HUDItem[ "keypressthermal" ].horzAlign = "left";
self.HUDItem[ "keypressthermal" ].vertAlign = "bottom";
self.HUDItem[ "keypressthermal" ].fontScale = 1.5;
self.HUDItem[ "keypressthermal" ] settext ( &"AC130_HINT_TOGGLE_THERMAL" );
self.HUDItem[ "keypressthermal" ].alpha = 1.0;
}



self waittill("left_ac130");

hud_items = [];
hud_items[ hud_items.size ] = "hud_text_top";
hud_items[ hud_items.size ] = "hud_text_left";
hud_items[ hud_items.size ] = "hud_text_right";
hud_items[ hud_items.size ] = "hud_text_bottom";
hud_items[ hud_items.size ] = "thermal_mode";
   hud_items[ hud_items.size ] = "keypressthermal";
  hud_items[ hud_items.size ] = "keypress";
hud_items[ hud_items.size ] = "coordinate_agl";

for ( i = 0 ; i < hud_items.size ; i++ )
{
if ( isdefined( self.HUDItem[ hud_items[ i ] ] ) )
{
self.HUDItem[ hud_items[ i ] ] destroy();
}
if (isDefined(self.ac130_weptext))
{
self.ac130_weptext destroy();
}
}


}

setWepText(settext)
{
self endon("death");
self endon("disconnect");
self endon("joined_spectators");
self endon("left_ac130");

if(!isDefined(self.ac130_weptext))
{
self.ac130_weptext = newClientHudElem( self );
self.ac130_weptext.x = 0;
self.ac130_weptext.y = 0;
self.ac130_weptext.alignX = "left";
self.ac130_weptext.alignY = "bottom";
self.ac130_weptext.horzAlign = "left";
self.ac130_weptext.vertAlign = "bottom";
self.ac130_weptext.foreground = true;
self.ac130_weptext.glowColor = (0.2, 0.3, 0.7);
self.ac130_weptext.glowAlpha = 1;
}
self.ac130_weptext settext(settext, 256, 256);

}

shotFired()
{
self endon("death");
self endon("disconnect");
self endon("joined_spectators");
self endon("left_ac130");

for(;;)
{
self waittill("projectile_impact", weapon, position, radius);

self thread shotFiredScreenShake( weapon );
self thread shotFiredPhysicsSphere(position, weapon);
wait 0.05;
}
}

shotFiredScreenShake(weapon)
{
self endon("death");
self endon("disconnect");
self endon("joined_spectators");
self endon("left_ac130");

switch(weapon)
{
case "ac130_105mm_mp":
duration = 0.7;
break;
case "ac130_40mm_mp":
duration = 0.5;
default:
duration = 0;
break;
}

if(duration)
{ earthquake(duration, 1, self.origin, 1000); }
}

shotFiredPhysicsSphere(center, weapon)
{
wait 0.1;
physicsExplosionSphere(center, level.physicsSphereRadius[weapon], level.physicsSphereRadius[weapon] / 2, level.physicsSphereForce[weapon]);
}

getAboveBuildingsLocation(location)
{
trace = bullettrace(location + (0,0,10000), location, false, undefined);
startorigin = trace["position"] + (0,0,-514);
  
zpos = 0;
  
maxxpos = 13; maxypos = 13;
for (xpos = 0; xpos < maxxpos; xpos++)
{
for (ypos = 0; ypos < maxypos; ypos++)
{
thisstartorigin = startorigin + ((xpos/(maxxpos-1) - .5) * 1024, (ypos/(maxypos-1) - .5) * 1024, 0);
thisorigin = bullettrace(thisstartorigin, thisstartorigin + (0,0,-10000), false, undefined);
zpos += thisorigin["position"][2];
}
}

zpos = zpos / (maxxpos*maxypos);
zpos = zpos + level.ex_ac130_fly_height;
  
return (location[0], location[1], zpos);
}

rotatePlane(toggle)
{
level notify("stop_rotatePlane_thread");
level endon("stop_rotatePlane_thread");
self endon( "leaving" );
self endon("left_ac130");
self endon("crashing");
self endon("death");

if(toggle)
{
for(;;)
{
level.ac130 rotateyaw( 360, level.ac130_rotationSpeed );
wait level.ac130_rotationSpeed;
}
}
else level.ac130 rotateyaw( level.ac130.angles[2], 0.05 );
}

addToArray(array, entname)
{
if(!isDefined(array))
{
array = [];
}

if(!isDefined(entname))
{
return array;
}

entarray = getEntArray(entname, "classname");
for(i = 0; i < entarray.size; i++)
{
array[array.size] = entarray[i];
}

return array;
}

GetMapDim()
{
xMax = -30000;
xMin = 30000;

yMax = -30000;
yMin = 30000;

zMax = -30000;
zMin = 30000;

xMin_e[0] = xMax;
yMin_e[1] = yMax;
zMin_e[2] = zMax;

xMax_e[0] = xMin;
yMax_e[1] = yMin;
zMax_e[2] = zMin;      

entitytypes = getentarray();

for(i = 1; i < entitytypes.size; i++)
{
if(isDefined(entitytypes[i].origin))
{
trace = bulletTrace(entitytypes[i].origin, entitytypes[i].origin - (30000,0,0), false, undefined);
if(trace["fraction"] != 1) xMin_e = trace["position"];

trace = bulletTrace(entitytypes[i].origin, entitytypes[i].origin + (30000,0,0), false, undefined);
if(trace["fraction"] != 1) xMax_e = trace["position"];

trace = bulletTrace(entitytypes[i].origin, entitytypes[i].origin - (0,30000,0), false, undefined);
if(trace["fraction"] != 1) yMin_e = trace["position"];

trace = bulletTrace(entitytypes[i].origin, entitytypes[i].origin + (0,30000,0), false, undefined);
if(trace["fraction"] != 1) yMax_e = trace["position"];

trace = bulletTrace(entitytypes[i].origin, entitytypes[i].origin - (0,0,30000), false, undefined);
if(trace["fraction"] != 1) zMin_e = trace["position"];

trace = bulletTrace(entitytypes[i].origin, entitytypes[i].origin + (0,0,30000), false, undefined);
if(trace["fraction"] != 1) zMax_e = trace["position"];

if(xMin_e[0] < xMin) xMin = xMin_e[0];
if(yMin_e[1] < yMin) yMin = yMin_e[1];
if(zMin_e[2] <zMin> xMax) xMax = xMax_e[0];
if(yMax_e[1] > yMax) yMax = yMax_e[1];
if(zMax_e[2] > zMax) zMax = zMax_e[2];      
}
wait 0.05;
}

level.ex_playArea_Centre = (int(xMax + xMin)/2, int(yMax + yMin)/2, int(zMax + zMin)/2);
level.ex_mapArea_Max = (xMax, yMax, zMax);
level.ex_mapArea_Min = (xMin, yMin, zMin);
level.ex_mapArea_Width = int(distance((xMin,yMin,zMax),(xMax,yMin,zMax)));
level.ex_mapArea_Length = int(distance((xMin,yMin,zMax),(xMin,yMax,zMax)));

entitytypes = [];
entitytypes = undefined;
}

GetFieldDim()
{
spawnpoints = [];
spawnpoints = addToArray(spawnpoints, "mp_dm_spawn");
spawnpoints = addToArray(spawnpoints, "mp_tdm_spawn");
spawnpoints = addToArray(spawnpoints, "mp_dom_spawn");
spawnpoints = addToArray(spawnpoints, "mp_sab_spawn_allies");
spawnpoints = addToArray(spawnpoints, "mp_sab_spawn_axis");
spawnpoints = addToArray(spawnpoints, "mp_sd_spawn_attacker");
spawnpoints = addToArray(spawnpoints, "mp_sd_spawn_defender");

xMax = spawnpoints[0].origin[0];
xMin = spawnpoints[0].origin[0];

yMax = spawnpoints[0].origin[1];
yMin = spawnpoints[0].origin[1];

zMax = spawnpoints[0].origin[2];
zMin = spawnpoints[0].origin[2];

for(i = 1; i <spawnpoints> xMax) xMax = spawnpoints[i].origin[0];
if (spawnpoints[i].origin[1] > yMax) yMax = spawnpoints[i].origin[1];
if (spawnpoints[i].origin[2] > zMax) zMax = spawnpoints[i].origin[2];
if (spawnpoints[i].origin[0] < xMin) xMin = spawnpoints[i].origin[0];
if (spawnpoints[i].origin[1] < yMin) yMin = spawnpoints[i].origin[1];
if (spawnpoints[i].origin[2] <zMin> self.maxhealth )
{
attacker thread [[level.onXPEvent]]( "killed_AC130" );
attacker notify( "destroyed_helicopter" );
break;
}
}
}

ac130_health()
{
self endon("death");
self endon( "leaving" );
self endon( "crashing" );

self.currentstate = "ok";
self.laststate = "ok";

self.maxhealth = level.ac130_maxhealth;



for ( ;; )
{


if ( self.health_bulletdamageble > self.health_low )
{
if ( self.damageTaken >= self.health_bulletdamageble )
self.currentstate = "heavy smoke";
else if ( self.damageTaken >= self.health_low )
self.currentstate = "light smoke";
}
else
{
if ( self.damageTaken >= self.health_low )
self.currentstate = "heavy smoke";
else if ( self.damageTaken >= self.health_bulletdamageble )
self.currentstate = "light smoke";
}

if ( self.currentstate == "light smoke" && self.laststate != "light smoke" )
{
self.laststate = self.currentstate;

}
if ( self.currentstate == "heavy smoke" && self.laststate != "heavy smoke" )
{
self notify ( "stop body smoke" );
self.laststate = self.currentstate;
}

if ( self.currentstate == "heavy smoke" )
{
self.damageTaken += level.heli_health_degrade;
}
if ( self.currentstate == "light smoke" )
{
self.damageTaken += level.heli_health_degrade/2;
}

if( self.damageTaken > self.maxhealth )
{
self thread ac130_explode( );
}
wait 1;
}
}

ac130_explode()
{
self notify("death");
self notify("crashing");
self playSound( level.ac130_sound["axis"]["crash"] );

playfxontag ( level.ac130_fx, level.ac130Model, "tag_explode_1" );
wait 0.1;
playfxontag ( level.ac130_fx, level.ac130Model, "tag_explode_2" );
wait 0.1;
playfxontag ( level.ac130_fx, level.ac130Model, "tag_explode_3" );
wait 0.1;
playfxontag (level.ac130_fx, level.ac130Model, "tag_explode_4" );
wait 0.1;
playfxontag ( level.ac130_fx, level.ac130Model, "tag_explode_5" );
wait 0.1;
playfxontag ( level.ac130_fx, level.ac130Model, "tag_explode_6" );
wait 0.1;
level.ac130_exploded = true;

level.ac130Player thread gotolz();
}

Offline bhcmax

  • Rank: Private
  • *
  • Posts: 150
    • http://www.bhc-rangers.com
Re: Ac130 static screen image doesn't go away.
« Reply #2 on: May 05, 2011, 06:39:16 am »
dont know why those winks have appeard lol
but theyre replacing this bit of text
;)                     incase another smilie appears its a ; then a ) close to gether

Offline PatmanSan

  • Administrator
  • Rank: Private
  • *****
  • Posts: 2527
Re: Ac130 static screen image doesn't go away.
« Reply #3 on: May 05, 2011, 07:45:38 am »
Try to wrap code in a code block

Offline SmokingJoePot

  • Rank: Private
  • *
  • Posts: 20
Re: Ac130 static screen image doesn't go away.
« Reply #4 on: May 05, 2011, 09:08:29 am »
kk, I'll try those changes, thanks so much.

Also, are the players joining on my server suppose to download just the mod.ff and iwd or are they suppose to download the entire folder structure ie. configs, maps, extreme in the same folder structure with contents except the .cfgs?  Because on the mw2 version it doesn't have a folder structure, its just thrown together and I have everything together in the x4_v3_mw2 mod folder.

Offline bhcmax

  • Rank: Private
  • *
  • Posts: 150
    • http://www.bhc-rangers.com
Re: Ac130 static screen image doesn't go away.
« Reply #5 on: May 05, 2011, 02:19:31 pm »
Quote from: "SmokingJoePot";p="37578"
Also, are the players joining on my server suppose to download just the mod.ff and iwd or are they suppose to download the entire folder structure ie. configs, maps, extreme in the same folder structure with contents except the .cfgs?  Because on the mw2 version it doesn't have a folder structure, its just thrown together and I have everything together in the x4_v3_mw2 mod folder.


server side should have all cfgs and iwds..

redirect(your download space) should not have any cfgs or server.cfg  
also

teamfix.iwd
zz_svr_x4.iwd
zz_svr_charachter.iwd
should NOT be in redirect space (keep these on server side only)