mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-07-07 14:17:53 -05:00
Added MW3 Scripts
This commit is contained in:
358
MW3/PC/MP/maps/mp/_entityheadicons.gsc
Normal file
358
MW3/PC/MP/maps/mp/_entityheadicons.gsc
Normal file
@ -0,0 +1,358 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: maps\mp\_entityheadicons.gsc
|
||||
* Game: Call of Duty: Modern Warfare 3
|
||||
* Platform: PC
|
||||
* Function Count: 10
|
||||
* Decompile Time: 176 ms
|
||||
* Timestamp: 10/27/2023 2:14:58 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init()
|
||||
{
|
||||
if(isdefined(level.initedentityheadicons))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
level.initedentityheadicons = 1;
|
||||
game["entity_headicon_allies"] = maps\mp\gametypes\_teams::init("allies");
|
||||
game["entity_headicon_axis"] = maps\mp\gametypes\_teams::init("axis");
|
||||
precacheshader(game["entity_headicon_allies"]);
|
||||
precacheshader(game["entity_headicon_axis"]);
|
||||
if(!level.teambased)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
setheadicon(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A)
|
||||
{
|
||||
if(!isdefined(self.entityheadicons))
|
||||
{
|
||||
self.entityheadicons = [];
|
||||
}
|
||||
|
||||
if(!isdefined(param_05))
|
||||
{
|
||||
param_05 = 1;
|
||||
}
|
||||
|
||||
if(!isdefined(param_06))
|
||||
{
|
||||
param_06 = 0.05;
|
||||
}
|
||||
|
||||
if(!isdefined(param_07))
|
||||
{
|
||||
param_07 = 1;
|
||||
}
|
||||
|
||||
if(!isdefined(param_08))
|
||||
{
|
||||
param_08 = 1;
|
||||
}
|
||||
|
||||
if(!isdefined(param_09))
|
||||
{
|
||||
param_09 = 0;
|
||||
}
|
||||
|
||||
if(!isdefined(param_0A))
|
||||
{
|
||||
param_0A = 1;
|
||||
}
|
||||
|
||||
if(!isplayer(param_00) && param_00 == "none")
|
||||
{
|
||||
foreach(var_0D, var_0C in self.entityheadicons)
|
||||
{
|
||||
if(isdefined(var_0C))
|
||||
{
|
||||
var_0C destroy();
|
||||
}
|
||||
|
||||
self.entityheadicons[var_0D] = undefined;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if(isplayer(param_03))
|
||||
{
|
||||
if(isdefined(self.entityheadicons[param_03.guid]))
|
||||
{
|
||||
self.entityheadicons[param_03.guid] destroy();
|
||||
self.entityheadicons[param_03.guid] = undefined;
|
||||
}
|
||||
|
||||
if(param_04 == "")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(self.entityheadicons[param_03.team]))
|
||||
{
|
||||
self.entityheadicons[param_03.team] destroy();
|
||||
self.entityheadicons[param_03.team] = undefined;
|
||||
}
|
||||
|
||||
var_0C = newclienthudelem(param_03);
|
||||
self.entityheadicons[param_02.guid] = var_0D;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isdefined(self.entityheadicons[param_03]))
|
||||
{
|
||||
self.entityheadicons[param_03] destroy();
|
||||
self.entityheadicons[param_03] = undefined;
|
||||
}
|
||||
|
||||
if(param_04 == "")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach(var_0E in self.entityheadicons)
|
||||
{
|
||||
if(var_10 == "axis" || var_10 == "allies")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_0F = maps\mp\_utility::getplayerforguid(var_10);
|
||||
if(var_0F.team == param_01)
|
||||
{
|
||||
self.entityheadicons[var_10] destroy();
|
||||
self.entityheadicons[var_10] = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
var_0C = newteamhudelem(param_01);
|
||||
self.entityheadicons[param_01] = var_0C;
|
||||
}
|
||||
|
||||
if(!isdefined(param_04) || !isdefined(param_05))
|
||||
{
|
||||
param_04 = 10;
|
||||
param_05 = 10;
|
||||
}
|
||||
|
||||
var_0C.archived = param_06;
|
||||
var_0C.x = self.origin[0] + param_03[0];
|
||||
var_0C.y = self.origin[1] + param_03[1];
|
||||
var_0C.z = self.origin[2] + param_03[2];
|
||||
var_0C.alpha = 0.85;
|
||||
var_0C setshader(param_02,param_04,param_05);
|
||||
var_0C setwaypoint(param_08,param_09,param_0A,var_0B);
|
||||
var_0C thread keeppositioned(self,param_03,param_07);
|
||||
thread destroyiconsondeath();
|
||||
if(isplayer(param_01))
|
||||
{
|
||||
var_0C thread destroyonownerdisconnect(param_01);
|
||||
}
|
||||
|
||||
if(isplayer(self))
|
||||
{
|
||||
var_0C thread destroyonownerdisconnect(self);
|
||||
}
|
||||
|
||||
return var_0C;
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
destroyonownerdisconnect(param_00)
|
||||
{
|
||||
self endon("death");
|
||||
param_00 waittill("disconnect");
|
||||
self destroy();
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
destroyiconsondeath()
|
||||
{
|
||||
self notify("destroyIconsOnDeath");
|
||||
self endon("destroyIconsOnDeath");
|
||||
self waittill("death");
|
||||
foreach(var_01 in self.entityheadicons)
|
||||
{
|
||||
if(!isdefined(var_01))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_01 destroy();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
keeppositioned(param_00,param_01,param_02)
|
||||
{
|
||||
self endon("death");
|
||||
param_00 endon("death");
|
||||
param_00 endon("disconnect");
|
||||
var_03 = param_00.origin;
|
||||
for(;;)
|
||||
{
|
||||
if(!isdefined(param_00))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(var_03 != param_00.origin)
|
||||
{
|
||||
var_03 = param_00.origin;
|
||||
self.x = var_03[0] + param_01[0];
|
||||
self.y = var_03[1] + param_01[1];
|
||||
self.z = var_03[2] + param_01[2];
|
||||
}
|
||||
|
||||
if(param_02 > 0.05)
|
||||
{
|
||||
self.alpha = 0.85;
|
||||
self fadeovertime(param_02);
|
||||
self.alpha = 0;
|
||||
}
|
||||
|
||||
wait param_02;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
setteamheadicon(param_00,param_01)
|
||||
{
|
||||
if(!level.teambased)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isdefined(self.entityheadiconteam))
|
||||
{
|
||||
self.entityheadiconteam = "none";
|
||||
self.entityheadicon = undefined;
|
||||
}
|
||||
|
||||
var_02 = game["entity_headicon_" + param_00];
|
||||
self.entityheadiconteam = param_00;
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
self.entityheadiconoffset = param_01;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.entityheadiconoffset = (0,0,0);
|
||||
}
|
||||
|
||||
self notify("kill_entity_headicon_thread");
|
||||
if(param_00 == "none")
|
||||
{
|
||||
if(isdefined(self.entityheadicon))
|
||||
{
|
||||
self.entityheadicon destroy();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var_03 = newteamhudelem(param_00);
|
||||
var_03.archived = 1;
|
||||
var_03.x = self.origin[0] + self.entityheadiconoffset[0];
|
||||
var_03.y = self.origin[1] + self.entityheadiconoffset[1];
|
||||
var_03.z = self.origin[2] + self.entityheadiconoffset[2];
|
||||
var_03.alpha = 0.8;
|
||||
var_03 setshader(var_02,10,10);
|
||||
var_03 setwaypoint(0,0,0,1);
|
||||
self.entityheadicon = var_03;
|
||||
thread keepiconpositioned();
|
||||
thread destroyheadiconsondeath();
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
setplayerheadicon(param_00,param_01)
|
||||
{
|
||||
if(level.teambased)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isdefined(self.entityheadiconteam))
|
||||
{
|
||||
self.entityheadiconteam = "none";
|
||||
self.entityheadicon = undefined;
|
||||
}
|
||||
|
||||
self notify("kill_entity_headicon_thread");
|
||||
if(!isdefined(param_00))
|
||||
{
|
||||
if(isdefined(self.entityheadicon))
|
||||
{
|
||||
self.entityheadicon destroy();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var_02 = param_00.team;
|
||||
self.entityheadiconteam = var_02;
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
self.entityheadiconoffset = param_01;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.entityheadiconoffset = (0,0,0);
|
||||
}
|
||||
|
||||
var_03 = game["entity_headicon_" + var_02];
|
||||
var_04 = newclienthudelem(param_00);
|
||||
var_04.archived = 1;
|
||||
var_04.x = self.origin[0] + self.entityheadiconoffset[0];
|
||||
var_04.y = self.origin[1] + self.entityheadiconoffset[1];
|
||||
var_04.z = self.origin[2] + self.entityheadiconoffset[2];
|
||||
var_04.alpha = 0.8;
|
||||
var_04 setshader(var_03,10,10);
|
||||
var_04 setwaypoint(0,0,0,1);
|
||||
self.entityheadicon = var_04;
|
||||
thread keepiconpositioned();
|
||||
thread destroyheadiconsondeath();
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
keepiconpositioned()
|
||||
{
|
||||
self endon("kill_entity_headicon_thread");
|
||||
self endon("death");
|
||||
var_00 = self.origin;
|
||||
for(;;)
|
||||
{
|
||||
if(var_00 != self.origin)
|
||||
{
|
||||
updateheadiconorigin();
|
||||
var_00 = self.origin;
|
||||
}
|
||||
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
destroyheadiconsondeath()
|
||||
{
|
||||
self endon("kill_entity_headicon_thread");
|
||||
self waittill("death");
|
||||
if(!isdefined(self.entityheadicon))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
self.entityheadicon destroy();
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
updateheadiconorigin()
|
||||
{
|
||||
self.entityheadicon.x = self.origin[0] + self.entityheadiconoffset[0];
|
||||
self.entityheadicon.y = self.origin[1] + self.entityheadiconoffset[1];
|
||||
self.entityheadicon.z = self.origin[2] + self.entityheadiconoffset[2];
|
||||
}
|
Reference in New Issue
Block a user