initGiveWeap(code, name, camo, enab)
{
if(camo == 0)
{
self giveWeapon(code, 0, false);
}
else
{
self giveWeapon(code, 0, true(camo, 0, 0, 0, 0));
}
self switchToWeapon(code);
self givemaxammo(code);
self setWeaponAmmoClip(code, weaponClipSize(self getCurrentWeapon()));
if(enab == 1)
{
self iPrintlnbold("^6Give Weapon to ^2" + name);
}
}
//Typewriterメッセージカスタム表示
optionCalledMesage(titleWord, isNotify, notifyWord, color, time)
{
optionMessage = spawnstruct();
optionMessage.titleText = titleWord;
if(isNotify == 1)
{
optionMessage.notifyText = notifyWord;
}
optionMessage.glowColor = color;
optionMessage.duration = time;
optionMessage.font = "objective";
optionMessage.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(optionMessage);
}
//着弾地点の計算
traceBullet()
{
return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
}
//=====[ 呼び出し / スイッチ ]=====
initRaygun()
{
if(self.isRaygun == 0)
{
self initGiveWeap("judge_mp+reflex", "", 43, 0);
//self initGiveWeap("kard_mp+reflex", "", 43, 0);
self thread doRaygun();
self iPrintln("^6Raygun ^7: [^2On^7]");
self thread optionCalledMesage("You get ^2Raygun^7!!", 1, "^7Is this a ^0Zombie?", (0.243, 0.957, 0.545),
;
self.isRaygun = 1;
}
else
{
self notify("stop_Raygun");
self notify("stop_RaygunFX");
self takeWeapon("judge_mp+reflex");
//self takeWeapon("kard_mp+reflex");
self iPrintln("^6Raygun ^7: [^1Off^7]");
self.isRaygun = 0;
}
}
//=====[ 本体 ]=====
//発砲→メインFnction呼び出し
doRaygun()
{
self endon("disconnect");
self endon("stop_Raygun");
self thread waitRaygunSuicide();
for(;
{
self waittill("weapon_fired");
if(self getCurrentWeapon() == "judge_mp+reflex" || self getCurrentWeapon() == "kard_mp+reflex")
{
self thread mainRaygun();
}
}
}
//メイン動作
mainRaygun()
{
raygunExplode = loadfx("weapon/emp/fx_emp_explosion_equip");
raygunExplode2 = loadfx("explosions/fx_exp_equipment_lg");
weapOrigin = self getTagOrigin("tag_weapon_right");
target = self traceBullet();
raygunMissile = spawn("script_model", weapOrigin);
raygunMissile setModel("projectile_at4");
raygunMissile.killcament = raygunMissile;
endLocation = BulletTrace(raygunMissile.origin, target, false, self)["position"];
raygunMissile.angles = VectorToAngles(endLocation - raygunMissile.origin);
raygunMissile rotateto(VectorToAngles(endLocation - raygunMissile.origin), 0.001);
raygunMissile moveto(endLocation, 0.55);
self thread raygunEffect(raygunMissile, endLocation);
wait 0.556;
self notify("stop_RaygunFX");
playfx(raygunExplode, raygunMissile.origin);
playfx(raygunExplode2, raygunMissile.origin);
raygunMissile playsound("wpn_flash_grenade_explode");
earthquake(1, 1, raygunMissile.origin, 300);
raygunMissile RadiusDamage(raygunMissile.origin, 200, 200, 200, self);
raygunMissile delete();
}
//緑のトーチEffect移動コード
raygunEffect(object, target)
{
self endon("disconnect");
self endon("stop_RaygunFX_Final");
self endon("stop_Raygun");
raygunLaser = loadFX("misc/fx_equip_tac_insert_light_grn");
for(;
{
raygunGreen = spawnFx(raygunLaser, object.origin, VectorToAngles(target - object.origin));
triggerFx(raygunGreen);
wait 0.0005;
raygunGreen delete();
}
for(;
{
self waittill("stop_RaygunFX");
effect delete();
self notify("stop_RaygunFX_Final");
}
}
waitRaygunSuicide()
{
self waittill("death");
self notify("stop_Raygun");
self notify("stop_RaygunFX");
self.isRaygun = 0;
}
initGiveWeap(code, name, camo, enab)
{
if(camo == 0)
{
self giveWeapon(code, 0, false);
}
else
{
self giveWeapon(code, 0, true(camo, 0, 0, 0, 0));
}
self switchToWeapon(code);
self givemaxammo(code);
self setWeaponAmmoClip(code, weaponClipSize(self getCurrentWeapon()));
if(enab == 1)
{
self iPrintlnbold("^6Give Weapon to ^2" + name);
}
}
//Typewriterメッセージカスタム表示
optionCalledMesage(titleWord, isNotify, notifyWord, color, time)
{
optionMessage = spawnstruct();
optionMessage.titleText = titleWord;
if(isNotify == 1)
{
optionMessage.notifyText = notifyWord;
}
optionMessage.glowColor = color;
optionMessage.duration = time;
optionMessage.font = "objective";
optionMessage.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(optionMessage);
}
//着弾地点の計算
traceBullet()
{
return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
}
//=====[ 呼び出し / スイッチ ]=====
initRaygunM2()
{
if(self.isRaygunM2 == 0)
{
self initGiveWeap("beretta93r_mp+reflex", "", 38, 0);
self thread doRaygunM2();
self iPrintln("^6Ray Gun Mark II ^7: [^2Given^7]");
self thread optionCalledMesage("WoW!! ^1Red Color...?", 1, "^7Upgraded Weapon LoL", (1, 0.502, 0.251),
;
self.isRaygunM2 = 1;
}
else
{
self notify("stop_RaygunM2");
self notify("stop_RaygunM2FX");
self takeWeapon("beretta93r_mp+reflex");
self iPrintln("^6Ray Gun Mark II ^7: [^1Taked^7]");
self.isRaygunM2 = 0;
}
}
//=====[ 本体 ]=====
//発砲→メインFnction呼び出し
doRaygunM2()
{
self endon("disconnect");
self endon("stop_RaygunM2");
self thread waitRaygunM2Suicide();
for(;
{
self waittill("weapon_fired");
if(self getCurrentWeapon() == "beretta93r_mp+reflex")
{
self thread mainRaygunM2();
}
}
}
//メイン動作
mainRaygunM2()
{
raygunM2Explode = loadfx("weapon/bouncing_betty/fx_betty_destroyed");
raygunM2Explode2 = loadfx("weapon/tracer/fx_tracer_flak_single_noExp");
weapOrigin = self getTagOrigin("tag_weapon_right");
target = self traceBullet();
raygunM2Missile = spawn("script_model", weapOrigin);
raygunM2Missile setModel("projectile_at4");
raygunM2Missile.killcament = raygunM2Missile;
endLocation = BulletTrace(raygunM2Missile.origin, target, false, self)["position"];
raygunM2Missile.angles = VectorToAngles(endLocation - raygunM2Missile.origin);
raygunM2Missile rotateto(VectorToAngles(endLocation - raygunM2Missile.origin), 0.001);
raygunM2Missile moveto(endLocation, 0.3);
self thread raygunM2Effect(raygunM2Missile, endLocation);
wait 0.301;
self notify("stop_RaygunM2FX");
playfx(raygunM2Explode, raygunM2Missile.origin);
playfx(raygunM2Explode2, raygunM2Missile.origin); //level.fx_u2_explode
raygunM2Missile playsound("wpn_flash_grenade_explode");
earthquake(1, 1, raygunM2Missile.origin, 300);
raygunM2Missile RadiusDamage(raygunM2Missile.origin, 270, 270, 270, self);
raygunM2Missile delete();
}
//赤のトーチEffect移動コード
raygunM2Effect(object, target)
{
self endon("disconnect");
self endon("stop_RaygunM2FX_Final");
self endon("stop_RaygunM2");
raygunM2Laser = loadFX("misc/fx_equip_tac_insert_light_red");
for(;
{
raygunM2Red = spawnFx(raygunM2Laser, object.origin, VectorToAngles(target - object.origin));
triggerFx(raygunM2Red);
wait 0.0005;
raygunM2Red delete();
}
for(;
{
self waittill("stop_RaygunM2FX");
raygunM2Red delete();
self notify("stop_RaygunM2FX_Final");
}
}
waitRaygunM2Suicide()
{
self waittill("death");
self notify("stop_RaygunM2");
self notify("stop_RaygunM2FX");
self.isRaygunM2 = 0;
}
void setExpFog(float fStartDistance, float fHalfwayDistance, float fRed, float fGreen, float fBlue, float fTransmitionTime)
{
SV_GameSendServerCommand(-1, 1, va("d 10 %g %g %g %g %g %g %g %.0f %g %g %g %g %g %g %g %g %g %g", fStartDistance, 1.0 / fHalfwayDistance, 0.0, 0.0, fRed, fGreen, fBlue, fTransmitionTime*1000.0, 1.0, 0.5, 0.5, 0.5, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0));
}
initGiveWeap(code, name, camo, enab)
{
if(camo == 0)
{
self giveWeapon(code, 0, false);
}
else
{
self giveWeapon(code, 0, true(camo, 0, 0, 0, 0));
}
self switchToWeapon(code);
self givemaxammo(code);
self setWeaponAmmoClip(code, weaponClipSize(self getCurrentWeapon()));
if(enab == 1)
{
self iPrintlnbold("^6Give Weapon to ^2" + name);
}
}
//Typewriterメッセージカスタム表示
optionCalledMesage(titleWord, isNotify, notifyWord, color, time)
{
optionMessage = spawnstruct();
optionMessage.titleText = titleWord;
if(isNotify == 1)
{
optionMessage.notifyText = notifyWord;
}
optionMessage.glowColor = color;
optionMessage.duration = time;
optionMessage.font = "objective";
optionMessage.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(optionMessage);
}
//着弾地点の計算
traceBullet()
{
return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
}
//=====[ 呼び出し / スイッチ ]=====
initRaygun()
{
if(self.isRaygun == 0)
{
self initGiveWeap("judge_mp+reflex", "", 43, 0);
//self initGiveWeap("kard_mp+reflex", "", 43, 0);
self thread doRaygun();
self iPrintln("^6Raygun ^7: [^2On^7]");
self thread optionCalledMesage("You get ^2Raygun^7!!", 1, "^7Is this a ^0Zombie?", (0.243, 0.957, 0.545),
;
self.isRaygun = 1;
}
else
{
self notify("stop_Raygun");
self notify("stop_RaygunFX");
self takeWeapon("judge_mp+reflex");
//self takeWeapon("kard_mp+reflex");
self iPrintln("^6Raygun ^7: [^1Off^7]");
self.isRaygun = 0;
}
}
//=====[ 本体 ]=====
//発砲→メインFnction呼び出し
doRaygun()
{
self endon("disconnect");
self endon("stop_Raygun");
self thread waitRaygunSuicide();
for(;
{
self waittill("weapon_fired");
if(self getCurrentWeapon() == "judge_mp+reflex" || self getCurrentWeapon() == "kard_mp+reflex")
{
self thread mainRaygun();
}
}
}
//メイン動作
mainRaygun()
{
raygunExplode = loadfx("weapon/emp/fx_emp_explosion_equip");
raygunExplode2 = loadfx("explosions/fx_exp_equipment_lg");
weapOrigin = self getTagOrigin("tag_weapon_right");
target = self traceBullet();
raygunMissile = spawn("script_model", weapOrigin);
raygunMissile setModel("projectile_at4");
raygunMissile.killcament = raygunMissile;
endLocation = BulletTrace(raygunMissile.origin, target, false, self)["position"];
raygunMissile.angles = VectorToAngles(endLocation - raygunMissile.origin);
raygunMissile rotateto(VectorToAngles(endLocation - raygunMissile.origin), 0.001);
raygunMissile moveto(endLocation, 0.55);
self thread raygunEffect(raygunMissile, endLocation);
wait 0.556;
self notify("stop_RaygunFX");
playfx(raygunExplode, raygunMissile.origin);
playfx(raygunExplode2, raygunMissile.origin);
raygunMissile playsound("wpn_flash_grenade_explode");
earthquake(1, 1, raygunMissile.origin, 300);
raygunMissile RadiusDamage(raygunMissile.origin, 200, 200, 200, self);
raygunMissile delete();
}
//緑のトーチEffect移動コード
raygunEffect(object, target)
{
self endon("disconnect");
self endon("stop_RaygunFX_Final");
self endon("stop_Raygun");
raygunLaser = loadFX("misc/fx_equip_tac_insert_light_grn");
for(;
{
raygunGreen = spawnFx(raygunLaser, object.origin, VectorToAngles(target - object.origin));
triggerFx(raygunGreen);
wait 0.0005;
raygunGreen delete();
}
for(;
{
self waittill("stop_RaygunFX");
effect delete();
self notify("stop_RaygunFX_Final");
}
}
waitRaygunSuicide()
{
self waittill("death");
self notify("stop_Raygun");
self notify("stop_RaygunFX");
self.isRaygun = 0;
}
initGiveWeap(code, name, camo, enab)
{
if(camo == 0)
{
self giveWeapon(code, 0, false);
}
else
{
self giveWeapon(code, 0, true(camo, 0, 0, 0, 0));
}
self switchToWeapon(code);
self givemaxammo(code);
self setWeaponAmmoClip(code, weaponClipSize(self getCurrentWeapon()));
if(enab == 1)
{
self iPrintlnbold("^6Give Weapon to ^2" + name);
}
}
//Typewriterメッセージカスタム表示
optionCalledMesage(titleWord, isNotify, notifyWord, color, time)
{
optionMessage = spawnstruct();
optionMessage.titleText = titleWord;
if(isNotify == 1)
{
optionMessage.notifyText = notifyWord;
}
optionMessage.glowColor = color;
optionMessage.duration = time;
optionMessage.font = "objective";
optionMessage.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(optionMessage);
}
//着弾地点の計算
traceBullet()
{
return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
}
//=====[ 呼び出し / スイッチ ]=====
initRaygunM2()
{
if(self.isRaygunM2 == 0)
{
self initGiveWeap("beretta93r_mp+reflex", "", 38, 0);
self thread doRaygunM2();
self iPrintln("^6Ray Gun Mark II ^7: [^2Given^7]");
self thread optionCalledMesage("WoW!! ^1Red Color...?", 1, "^7Upgraded Weapon LoL", (1, 0.502, 0.251),
;
self.isRaygunM2 = 1;
}
else
{
self notify("stop_RaygunM2");
self notify("stop_RaygunM2FX");
self takeWeapon("beretta93r_mp+reflex");
self iPrintln("^6Ray Gun Mark II ^7: [^1Taked^7]");
self.isRaygunM2 = 0;
}
}
//=====[ 本体 ]=====
//発砲→メインFnction呼び出し
doRaygunM2()
{
self endon("disconnect");
self endon("stop_RaygunM2");
self thread waitRaygunM2Suicide();
for(;
{
self waittill("weapon_fired");
if(self getCurrentWeapon() == "beretta93r_mp+reflex")
{
self thread mainRaygunM2();
}
}
}
//メイン動作
mainRaygunM2()
{
raygunM2Explode = loadfx("weapon/bouncing_betty/fx_betty_destroyed");
raygunM2Explode2 = loadfx("weapon/tracer/fx_tracer_flak_single_noExp");
weapOrigin = self getTagOrigin("tag_weapon_right");
target = self traceBullet();
raygunM2Missile = spawn("script_model", weapOrigin);
raygunM2Missile setModel("projectile_at4");
raygunM2Missile.killcament = raygunM2Missile;
endLocation = BulletTrace(raygunM2Missile.origin, target, false, self)["position"];
raygunM2Missile.angles = VectorToAngles(endLocation - raygunM2Missile.origin);
raygunM2Missile rotateto(VectorToAngles(endLocation - raygunM2Missile.origin), 0.001);
raygunM2Missile moveto(endLocation, 0.3);
self thread raygunM2Effect(raygunM2Missile, endLocation);
wait 0.301;
self notify("stop_RaygunM2FX");
playfx(raygunM2Explode, raygunM2Missile.origin);
playfx(raygunM2Explode2, raygunM2Missile.origin); //level.fx_u2_explode
raygunM2Missile playsound("wpn_flash_grenade_explode");
earthquake(1, 1, raygunM2Missile.origin, 300);
raygunM2Missile RadiusDamage(raygunM2Missile.origin, 270, 270, 270, self);
raygunM2Missile delete();
}
//赤のトーチEffect移動コード
raygunM2Effect(object, target)
{
self endon("disconnect");
self endon("stop_RaygunM2FX_Final");
self endon("stop_RaygunM2");
raygunM2Laser = loadFX("misc/fx_equip_tac_insert_light_red");
for(;
{
raygunM2Red = spawnFx(raygunM2Laser, object.origin, VectorToAngles(target - object.origin));
triggerFx(raygunM2Red);
wait 0.0005;
raygunM2Red delete();
}
for(;
{
self waittill("stop_RaygunM2FX");
raygunM2Red delete();
self notify("stop_RaygunM2FX_Final");
}
}
waitRaygunM2Suicide()
{
self waittill("death");
self notify("stop_RaygunM2");
self notify("stop_RaygunM2FX");
self.isRaygunM2 = 0;
}
void setExpFog(float fStartDistance, float fHalfwayDistance, float fRed, float fGreen, float fBlue, float fTransmitionTime)
{
SV_GameSendServerCommand(-1, 1, va("d 10 %g %g %g %g %g %g %g %.0f %g %g %g %g %g %g %g %g %g %g", fStartDistance, 1.0 / fHalfwayDistance, 0.0, 0.0, fRed, fGreen, fBlue, fTransmitionTime*1000.0, 1.0, 0.5, 0.5, 0.5, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0));
}
setdvar( "r_fog", 0 );
setfogsliders()
fogall = strtok_loc( getDvar( "g_fogColorReadOnly" ), " " );
red = fogall[ 0 ];
green = fogall[ 1 ];
blue = fogall[ 2 ];
setdvar( "scr_fog_color", ( red + " " ) + green + " " + blue );
setdvar( "scr_fog_exp_halfplane", "500" );
setdvar( "scr_fog_exp_halfheight", "500" );
setdvar( "scr_fog_nearplane", "0" );
setdvar( "scr_fog_baseheight", "0" );
setdvar( "scr_fog_fraction", "1.0" );
setdvar( "scr_art_sun_fog_dir_set", "0" );
fogsettings = getfogsettings();
setdvar( "scr_fog_nearplane", fogsettings[ 0 ] );
setdvar( "scr_fog_exp_halfplane", fogsettings[ 1 ] );
setdvar( "scr_fog_exp_halfheight", fogsettings[ 3 ] );
setdvar( "scr_fog_baseheight", fogsettings[ 2 ] );
setdvar( "scr_fog_color", fogsettings[ 4 ] + " " + fogsettings[ 5 ] + " " + fogsettings[ 6 ] );
setdvar( "scr_fog_color_scale", fogsettings[ 7 ] );
setdvar( "scr_sun_fog_color", fogsettings[ 8 ] + " " + fogsettings[ 9 ] + " " + fogsettings[ 10 ] );
level.fogsundir = [];
level.fogsundir[ 0 ] = fogsettings[ 11 ];
level.fogsundir[ 1 ] = fogsettings[ 12 ];
level.fogsundir[ 2 ] = fogsettings[ 13 ];
setdvar( "scr_sun_fog_start_angle", fogsettings[ 14 ] );
setdvar( "scr_sun_fog_end_angle", fogsettings[ 15 ] );
setdvar( "scr_fog_max_opacity", fogsettings[ 16 ] );
level.fogexphalfplane = getDvarFloat( "scr_fog_exp_halfplane" );
level.fogexphalfheight = getDvarFloat( "scr_fog_exp_halfheight" );
level.fognearplane = getDvarFloat( "scr_fog_nearplane" );
level.fogbaseheight = getDvarFloat( "scr_fog_baseheight" );
level.fogcolorred = getDvarColorRed( "scr_fog_color" );
level.fogcolorgreen = getDvarColorGreen( "scr_fog_color" );
level.fogcolorblue = getDvarColorBlue( "scr_fog_color" );
level.fogcolorscale = getDvarFloat( "scr_fog_color_scale" );
level.sunfogcolorred = getDvarColorRed( "scr_sun_fog_color" );
level.sunfogcolorgreen = getDvarColorGreen( "scr_sun_fog_color" );
level.sunfogcolorblue = getDvarColorBlue( "scr_sun_fog_color" );
level.sunstartangle = getDvarFloat( "scr_sun_fog_start_angle" );
level.sunendangle = getDvarFloat( "scr_sun_fog_end_angle" );
level.fogmaxopacity = getDvarFloat( "scr_fog_max_opacity" );
if ( getDvarInt( "scr_art_sun_fog_dir_set" ) )
setdvar( "scr_art_sun_fog_dir_set", "0" );
level.fogsundir = [];
level.fogsundir[ 0 ] = dir[ 0 ];
level.fogsundir[ 1 ] = dir[ 1 ];
level.fogsundir[ 2 ] = dir[ 2 ];
if ( !getDvarInt( "scr_fog_disable" ) )
if ( !isDefined( level.fogsundir ) )
level.fogsundir = [];
level.fogsundir[ 0 ] = 1;
level.fogsundir[ 1 ] = 0;
level.fogsundir[ 2 ] = 0;
setvolfog( level.fognearplane, level.fogexphalfplane, level.fogexphalfheight, level.fogbaseheight, level.fogcolorred, level.fogcolorgreen, level.fogcolor
level.fogsundir[ 1 ], level.fogsundir[ 2 ], level.sunstartangle, level.sunendangle, 0, level.fogmaxopacity );
setexpfog( 100000000, 100000001, 0, 0, 0, 0 );
setdvar( "r_fog", 0 );
setfogsliders()
fogall = strtok_loc( getDvar( "g_fogColorReadOnly" ), " " );
red = fogall[ 0 ];
green = fogall[ 1 ];
blue = fogall[ 2 ];
setdvar( "scr_fog_color", ( red + " " ) + green + " " + blue );
setdvar( "scr_fog_exp_halfplane", "500" );
setdvar( "scr_fog_exp_halfheight", "500" );
setdvar( "scr_fog_nearplane", "0" );
setdvar( "scr_fog_baseheight", "0" );
setdvar( "scr_fog_fraction", "1.0" );
setdvar( "scr_art_sun_fog_dir_set", "0" );
fogsettings = getfogsettings();
setdvar( "scr_fog_nearplane", fogsettings[ 0 ] );
setdvar( "scr_fog_exp_halfplane", fogsettings[ 1 ] );
setdvar( "scr_fog_exp_halfheight", fogsettings[ 3 ] );
setdvar( "scr_fog_baseheight", fogsettings[ 2 ] );
setdvar( "scr_fog_color", fogsettings[ 4 ] + " " + fogsettings[ 5 ] + " " + fogsettings[ 6 ] );
setdvar( "scr_fog_color_scale", fogsettings[ 7 ] );
setdvar( "scr_sun_fog_color", fogsettings[ 8 ] + " " + fogsettings[ 9 ] + " " + fogsettings[ 10 ] );
level.fogsundir = [];
level.fogsundir[ 0 ] = fogsettings[ 11 ];
level.fogsundir[ 1 ] = fogsettings[ 12 ];
level.fogsundir[ 2 ] = fogsettings[ 13 ];
setdvar( "scr_sun_fog_start_angle", fogsettings[ 14 ] );
setdvar( "scr_sun_fog_end_angle", fogsettings[ 15 ] );
setdvar( "scr_fog_max_opacity", fogsettings[ 16 ] );
level.fogexphalfplane = getDvarFloat( "scr_fog_exp_halfplane" );
level.fogexphalfheight = getDvarFloat( "scr_fog_exp_halfheight" );
level.fognearplane = getDvarFloat( "scr_fog_nearplane" );
level.fogbaseheight = getDvarFloat( "scr_fog_baseheight" );
level.fogcolorred = getDvarColorRed( "scr_fog_color" );
level.fogcolorgreen = getDvarColorGreen( "scr_fog_color" );
level.fogcolorblue = getDvarColorBlue( "scr_fog_color" );
level.fogcolorscale = getDvarFloat( "scr_fog_color_scale" );
level.sunfogcolorred = getDvarColorRed( "scr_sun_fog_color" );
level.sunfogcolorgreen = getDvarColorGreen( "scr_sun_fog_color" );
level.sunfogcolorblue = getDvarColorBlue( "scr_sun_fog_color" );
level.sunstartangle = getDvarFloat( "scr_sun_fog_start_angle" );
level.sunendangle = getDvarFloat( "scr_sun_fog_end_angle" );
level.fogmaxopacity = getDvarFloat( "scr_fog_max_opacity" );
if ( getDvarInt( "scr_art_sun_fog_dir_set" ) )
setdvar( "scr_art_sun_fog_dir_set", "0" );
level.fogsundir = [];
level.fogsundir[ 0 ] = dir[ 0 ];
level.fogsundir[ 1 ] = dir[ 1 ];
level.fogsundir[ 2 ] = dir[ 2 ];
if ( !getDvarInt( "scr_fog_disable" ) )
if ( !isDefined( level.fogsundir ) )
level.fogsundir = [];
level.fogsundir[ 0 ] = 1;
level.fogsundir[ 1 ] = 0;
level.fogsundir[ 2 ] = 0;
setvolfog( level.fognearplane, level.fogexphalfplane, level.fogexphalfheight, level.fogbaseheight, level.fogcolorred, level.fogcolorgreen, level.fogcolor
level.fogsundir[ 1 ], level.fogsundir[ 2 ], level.sunstartangle, level.sunendangle, 0, level.fogmaxopacity );
setexpfog( 100000000, 100000001, 0, 0, 0, 0 );
Copyright © 2026, NextGenUpdate.
All Rights Reserved.