ItemSpawn: finished Balrog and started TNT (unifinished - DO NOT USE YET)

This commit is contained in:
neon 2018-07-30 23:07:56 +02:00
parent 6c285202d1
commit f453d0896d
11 changed files with 105 additions and 37 deletions

View File

@ -0,0 +1,11 @@
"VertexLitGeneric"
{
"$baseTexture" "models/barrel01b/Wood_Barrel01b"
"$surfaceprop" "wood_barrel"
//"$basealphaenvmapmask" 1
}

View File

@ -0,0 +1,10 @@
"VertexLitGeneric"
{
"$baseTexture" "models/barrel01b/Wood_Barrel01b_No_Metal"
"$surfaceprop" "wood_barrel"
//"$basealphaenvmapmask" 1
}

View File

@ -7,6 +7,8 @@
int g_iCounter = 0;
int g_iConsole;
//----------------------------------------------------------------------------------------------------
// Purpose:
//----------------------------------------------------------------------------------------------------
@ -66,6 +68,12 @@ public void OnRoundStart(Event hEvent, const char[] sEvent, bool bDontBroadcast)
{
g_iCounter = 0;
// point_servercommand
g_iConsole = CreateEntityByName("point_servercommand");
DispatchKeyValue(g_iConsole, "targetname", "item_spawn_console");
DispatchSpawn(g_iConsole);
ActivateEntity(g_iConsole);
// Human filter
int iHumanFilter = CreateEntityByName("filter_activator_team");
DispatchKeyValue(iHumanFilter, "targetname", "item_spawn_human_filter");
@ -204,7 +212,7 @@ public void SpawnBalrog(float fOrigin[3])
DispatchKeyValue(iKnife, "OnPlayerPickUp", "!activator,AddOutput,health 2000000000,0,-1");
DispatchKeyValue(iKnife, "OnPlayerPickUp", "!activator,SetDamageFilter, ,0,-1");
DispatchKeyValue(iKnife, "OnUser3", "!self,FireUser3,,5,-1");
DispatchKeyValue(iKnife, "OnUser3", "!activator,AddOutput,gravity 2,0,-1");
//DispatchKeyValue(iKnife, "OnUser3", "!activator,AddOutput,gravity 2,0,-1");
DispatchKeyValue(iKnife, "OnPlayerPickUp", "!self,FireUser3,,0,-1");
DispatchKeyValue(iKnife, "OnPlayerPickUp", "!activator,AddOutput,health 25000,15,-1");
DispatchSpawn(iKnife);
@ -225,8 +233,9 @@ public void SpawnBalrog(float fOrigin[3])
fOriginTemp[2] = fOrigin[2] - 28.9;
DispatchKeyValueVector(iModel, "origin", fOriginTemp);
DispatchSpawn(iModel);
ActivateEntity(iModel);
//HookSingleEntityOutput(iModel, "OnTakeDamage", Balrogxxx, false);
ActivateEntity(iModel);
SetVariantString("!activator");
AcceptEntityInput(iModel, "SetParent", iKnife);
// pickup trigger_once
int iTrigger = CreateEntityByName("trigger_once");
@ -248,6 +257,8 @@ public void SpawnBalrog(float fOrigin[3])
int enteffects = GetEntProp(iTrigger, Prop_Send, "m_fEffects");
enteffects |= 32;
SetEntProp(iTrigger, Prop_Send, "m_fEffects", enteffects);
SetVariantString("!activator");
AcceptEntityInput(iTrigger, "SetParent", iKnife);
// kill trigger_once
int iKillTrigger = CreateEntityByName("trigger_hurt");
@ -272,6 +283,8 @@ public void SpawnBalrog(float fOrigin[3])
int enteffects4 = GetEntProp(iKillTrigger, Prop_Send, "m_fEffects");
enteffects4 |= 32;
SetEntProp(iKillTrigger, Prop_Send, "m_fEffects", enteffects4);
SetVariantString("!activator");
AcceptEntityInput(iKillTrigger, "SetParent", iKnife);
// trigger_hurt walking
int iKillTriggerWalking = CreateEntityByName("trigger_hurt");
@ -299,6 +312,8 @@ public void SpawnBalrog(float fOrigin[3])
int enteffects5 = GetEntProp(iKillTriggerWalking, Prop_Send, "m_fEffects");
enteffects5 |= 32;
SetEntProp(iKillTriggerWalking, Prop_Send, "m_fEffects", enteffects5);
SetVariantString("!activator");
AcceptEntityInput(iKillTriggerWalking, "SetParent", iKnife);
// trigger roar 1
int iTriggerRoar = CreateEntityByName("trigger_multiple");
@ -325,6 +340,8 @@ public void SpawnBalrog(float fOrigin[3])
int enteffects6 = GetEntProp(iTriggerRoar, Prop_Send, "m_fEffects");
enteffects6 |= 32;
SetEntProp(iTriggerRoar, Prop_Send, "m_fEffects", enteffects6);
SetVariantString("!activator");
AcceptEntityInput(iTriggerRoar, "SetParent", iKnife);
// trigger roar 2
int iTriggerRoar2 = CreateEntityByName("trigger_multiple");
@ -354,6 +371,8 @@ public void SpawnBalrog(float fOrigin[3])
int enteffects7 = GetEntProp(iTriggerRoar2, Prop_Send, "m_fEffects");
enteffects7 |= 32;
SetEntProp(iTriggerRoar2, Prop_Send, "m_fEffects", enteffects7);
SetVariantString("!activator");
AcceptEntityInput(iTriggerRoar2, "SetParent", iKnife);
// trigger_hurt attack
int iKillTriggerAttack = CreateEntityByName("trigger_hurt");
@ -381,6 +400,8 @@ public void SpawnBalrog(float fOrigin[3])
int enteffects8 = GetEntProp(iKillTriggerAttack, Prop_Send, "m_fEffects");
enteffects8 |= 32;
SetEntProp(iKillTriggerAttack, Prop_Send, "m_fEffects", enteffects8);
SetVariantString("!activator");
AcceptEntityInput(iKillTriggerAttack, "SetParent", iKnife);
// Sound 1
int iSound1 = CreateEntityByName("ambient_generic");
@ -397,6 +418,8 @@ public void SpawnBalrog(float fOrigin[3])
DispatchKeyValue(iSound1, "pitchstart", "100");
DispatchSpawn(iSound1);
ActivateEntity(iSound1);
SetVariantString("!activator");
AcceptEntityInput(iSound1, "SetParent", iKnife);
// Sound 2
int iSound2 = CreateEntityByName("ambient_generic");
@ -413,6 +436,8 @@ public void SpawnBalrog(float fOrigin[3])
DispatchKeyValue(iSound2, "pitchstart", "100");
DispatchSpawn(iSound2);
ActivateEntity(iSound2);
SetVariantString("!activator");
AcceptEntityInput(iSound2, "SetParent", iKnife);
// Sound 3
int iSound3 = CreateEntityByName("ambient_generic");
@ -429,6 +454,8 @@ public void SpawnBalrog(float fOrigin[3])
DispatchKeyValue(iSound3, "pitchstart", "100");
DispatchSpawn(iSound3);
ActivateEntity(iSound3);
SetVariantString("!activator");
AcceptEntityInput(iSound3, "SetParent", iKnife);
// Timer
int iTimer = CreateEntityByName("logic_timer");
@ -446,6 +473,8 @@ public void SpawnBalrog(float fOrigin[3])
DispatchKeyValue(iTimer, "OnTimer", sBuffer);
DispatchSpawn(iTimer);
ActivateEntity(iTimer);
SetVariantString("!activator");
AcceptEntityInput(iTimer, "SetParent", iKnife);
// Roar
int iRoar = CreateEntityByName("logic_relay");
@ -472,11 +501,13 @@ public void SpawnBalrog(float fOrigin[3])
DispatchKeyValue(iRoar, "OnTrigger", sBuffer);
Format(sBuffer, sizeof(sBuffer), "balrog_sound1_%d,PlaySound,,1,-1", g_iCounter);
DispatchKeyValue(iRoar, "OnTrigger", sBuffer);
DispatchKeyValue(iRoar, "OnTrigger", "!activator,AddOutput,gravity 2,0,-1");
//DispatchKeyValue(iRoar, "OnTrigger", "!activator,AddOutput,gravity 2,0,-1");
DispatchKeyValue(iRoar, "OnTrigger", "!self,Disable,,0,-1");
DispatchKeyValue(iRoar, "OnTrigger", "!self,Enable,,25,-1");
DispatchSpawn(iRoar);
ActivateEntity(iRoar);
SetVariantString("!activator");
AcceptEntityInput(iRoar, "SetParent", iKnife);
// Attack
int iAttack = CreateEntityByName("logic_relay");
@ -499,11 +530,13 @@ public void SpawnBalrog(float fOrigin[3])
DispatchKeyValue(iAttack, "OnTrigger", sBuffer);
Format(sBuffer, sizeof(sBuffer), "balrog_relay1_%d,Enable,,4,-1", g_iCounter);
DispatchKeyValue(iAttack, "OnTrigger", sBuffer);
DispatchKeyValue(iAttack, "OnTrigger", "!activator,AddOutput,gravity 2,0,-1");
//DispatchKeyValue(iAttack, "OnTrigger", "!activator,AddOutput,gravity 2,0,-1");
DispatchKeyValue(iAttack, "OnTrigger", "!self,Disable,,0,-1");
DispatchKeyValue(iAttack, "OnTrigger", "!self,Enable,,4.1,-1");
DispatchSpawn(iAttack);
ActivateEntity(iAttack);
SetVariantString("!activator");
AcceptEntityInput(iAttack, "SetParent", iKnife);
// Physbox
int iPhysbox = CreateEntityByName("func_physbox_multiplayer");
@ -533,6 +566,7 @@ public void SpawnBalrog(float fOrigin[3])
DispatchKeyValue(iPhysbox, "disablereceiveshadows", "0");
DispatchKeyValue(iPhysbox, "Damagetype", "0");
DispatchKeyValue(iPhysbox, "damagetoenablemotion", "0");
DispatchKeyValue(iPhysbox, "damagefilter", "item_spawn_human_filter");
DispatchKeyValue(iPhysbox, "model", "models/props/cs_militia/crate_extrasmallmill.mdl");
Format(sBuffer, sizeof(sBuffer), "balrog_model_%d,EmitBlood,,0,-1", g_iCounter);
DispatchKeyValue(iPhysbox, "OnDamaged", sBuffer);
@ -566,6 +600,9 @@ public void SpawnBalrog(float fOrigin[3])
int enteffects3 = GetEntProp(iPhysbox, Prop_Send, "m_fEffects");
enteffects3 |= 32;
SetEntProp(iPhysbox, Prop_Send, "m_fEffects", enteffects3);
HookSingleEntityOutput(iPhysbox, "OnBreak", BalrogKill, false);
SetVariantString("!activator");
AcceptEntityInput(iPhysbox, "SetParent", iKnife);
// Game UI
int iUI = CreateEntityByName("game_ui");
@ -586,24 +623,10 @@ public void SpawnBalrog(float fOrigin[3])
DispatchKeyValue(iUI, "PressedAttack", "item_spawn_speed,ModifySpeed,0.8,3.0,-1");
DispatchSpawn(iUI);
ActivateEntity(iUI);
SetVariantString("!activator");
AcceptEntityInput(iUI, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iModel, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iTrigger, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iPhysbox, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iKillTrigger, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iKillTriggerWalking, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iTriggerRoar, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iTriggerRoar2, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iKillTriggerAttack, "SetParent", iKnife);
// enable pickup trigger
SetVariantString("!activator");
AcceptEntityInput(iTrigger, "Enable");
@ -649,6 +672,8 @@ public void SpawnVortigaunt(float fOrigin[3])
DispatchKeyValueVector(iModel, "origin", fOriginTemp);
DispatchSpawn(iModel);
ActivateEntity(iModel);
SetVariantString("!activator");
AcceptEntityInput(iModel, "SetParent", iKnife);
// pickup trigger_once
int iTrigger = CreateEntityByName("trigger_once");
@ -670,6 +695,8 @@ public void SpawnVortigaunt(float fOrigin[3])
int enteffects = GetEntProp(iTrigger, Prop_Send, "m_fEffects");
enteffects |= 32;
SetEntProp(iTrigger, Prop_Send, "m_fEffects", enteffects);
SetVariantString("!activator");
AcceptEntityInput(iTrigger, "SetParent", iKnife);
// Sound
int iSound = CreateEntityByName("ambient_generic");
@ -686,6 +713,8 @@ public void SpawnVortigaunt(float fOrigin[3])
DispatchKeyValue(iSound, "pitchstart", "100");
DispatchSpawn(iSound);
ActivateEntity(iSound);
SetVariantString("!activator");
AcceptEntityInput(iSound, "SetParent", iKnife);
// Push
int iPush = CreateEntityByName("trigger_push");
@ -711,6 +740,8 @@ public void SpawnVortigaunt(float fOrigin[3])
int enteffects2 = GetEntProp(iPush, Prop_Send, "m_fEffects");
enteffects2 |= 32;
SetEntProp(iPush, Prop_Send, "m_fEffects", enteffects2);
SetVariantString("!activator");
AcceptEntityInput(iPush, "SetParent", iKnife);
// Relay
int iRelay = CreateEntityByName("logic_relay");
@ -735,6 +766,8 @@ public void SpawnVortigaunt(float fOrigin[3])
DispatchKeyValue(iRelay, "OnTrigger", sBuffer);
DispatchSpawn(iRelay);
ActivateEntity(iRelay);
SetVariantString("!activator");
AcceptEntityInput(iRelay, "SetParent", iKnife);
// Game UI
int iUI = CreateEntityByName("game_ui");
@ -748,6 +781,8 @@ public void SpawnVortigaunt(float fOrigin[3])
DispatchKeyValue(iUI, "PressedAttack2", sBuffer);
DispatchSpawn(iUI);
ActivateEntity(iUI);
SetVariantString("!activator");
AcceptEntityInput(iUI, "SetParent", iKnife);
// beam start
int iBeamStart = CreateEntityByName("prop_dynamic_override");
@ -764,6 +799,8 @@ public void SpawnVortigaunt(float fOrigin[3])
DispatchKeyValueVector(iBeamStart, "origin", fOriginTemp);
DispatchSpawn(iBeamStart);
ActivateEntity(iBeamStart);
SetVariantString("!activator");
AcceptEntityInput(iBeamStart, "SetParent", iKnife);
// beam end
int iBeamEnd = CreateEntityByName("prop_dynamic_override");
@ -780,6 +817,8 @@ public void SpawnVortigaunt(float fOrigin[3])
DispatchKeyValueVector(iBeamEnd, "origin", fOriginTemp);
DispatchSpawn(iBeamEnd);
ActivateEntity(iBeamEnd);
SetVariantString("!activator");
AcceptEntityInput(iBeamEnd, "SetParent", iKnife);
// Beam
int iBeam = CreateEntityByName("env_beam");
@ -800,20 +839,10 @@ public void SpawnVortigaunt(float fOrigin[3])
DispatchKeyValue(iBeam, "rendercolor", "0 200 0");
DispatchKeyValue(iBeam, "texture", "sprites/laserbeam.spr");
DispatchSpawn(iBeam);
SetVariantString("!activator");
AcceptEntityInput(iBeam, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iModel, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iTrigger, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iBeamStart, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iBeamEnd, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iRelay, "SetParent", iKnife);
SetVariantString("!activator");
AcceptEntityInput(iPush, "SetParent", iKnife);
// enable pickup trigger
SetVariantString("!activator");
AcceptEntityInput(iTrigger, "Enable");
@ -825,7 +854,11 @@ public void SpawnVortigaunt(float fOrigin[3])
//----------------------------------------------------------------------------------------------------
public void VortigauntPickup(const char[] output, int caller, int activator, float delay)
{
PrintToChatAll("** %N has picked up Vortigaunt **", activator);
char sBuffer[128];
Format(sBuffer, sizeof(sBuffer), "say ** %N has picked up Vortigaunt **", activator);
SetVariantString(sBuffer);
AcceptEntityInput(g_iConsole, "Command");
PrintToChat(activator, "Right Click to Pull Humans in front of you.");
}
@ -834,6 +867,20 @@ public void VortigauntPickup(const char[] output, int caller, int activator, flo
//----------------------------------------------------------------------------------------------------
public void BalrogPickup(const char[] output, int caller, int activator, float delay)
{
PrintToChatAll("** %N has picked up Balrog **", activator);
char sBuffer[128];
Format(sBuffer, sizeof(sBuffer), "say ** %N has picked up Balrog **", activator);
SetVariantString(sBuffer);
AcceptEntityInput(g_iConsole, "Command");
PrintToChat(activator, " RIGHT CLICK = MOTIVATE ZOMBIES and LEFT CLICK = ATTACK.");
}
//----------------------------------------------------------------------------------------------------
// Purpose:
//----------------------------------------------------------------------------------------------------
public void BalrogKill(const char[] output, int caller, int activator, float delay)
{
char sBuffer[128];
Format(sBuffer, sizeof(sBuffer), "say ** %N has killed the Balrog **", activator);
SetVariantString(sBuffer);
AcceptEntityInput(g_iConsole, "Command");
}