diff --git a/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b.vmt b/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b.vmt new file mode 100644 index 00000000..45e4106a --- /dev/null +++ b/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b.vmt @@ -0,0 +1,11 @@ +"VertexLitGeneric" +{ + + "$baseTexture" "models/barrel01b/Wood_Barrel01b" + "$surfaceprop" "wood_barrel" + + + + //"$basealphaenvmapmask" 1 + +} diff --git a/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b.vtf b/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b.vtf new file mode 100644 index 00000000..cb6fbe65 Binary files /dev/null and b/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b.vtf differ diff --git a/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b_broken.vmt b/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b_broken.vmt new file mode 100644 index 00000000..7c4ddb16 --- /dev/null +++ b/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b_broken.vmt @@ -0,0 +1,10 @@ +"VertexLitGeneric" +{ + + "$baseTexture" "models/barrel01b/Wood_Barrel01b_No_Metal" + "$surfaceprop" "wood_barrel" + + + //"$basealphaenvmapmask" 1 + +} diff --git a/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b_no_metal.vtf b/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b_no_metal.vtf new file mode 100644 index 00000000..40368ff1 Binary files /dev/null and b/ItemSpawn/content/materials/models/barrel01b/wood_barrel01b_no_metal.vtf differ diff --git a/ItemSpawn/content/models/props/furnitures/humans/barrel01b.dx80.vtx b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.dx80.vtx new file mode 100644 index 00000000..a780135b Binary files /dev/null and b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.dx80.vtx differ diff --git a/ItemSpawn/content/models/props/furnitures/humans/barrel01b.dx90.vtx b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.dx90.vtx new file mode 100644 index 00000000..b4bfbed5 Binary files /dev/null and b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.dx90.vtx differ diff --git a/ItemSpawn/content/models/props/furnitures/humans/barrel01b.mdl b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.mdl new file mode 100644 index 00000000..37236086 Binary files /dev/null and b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.mdl differ diff --git a/ItemSpawn/content/models/props/furnitures/humans/barrel01b.phy b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.phy new file mode 100644 index 00000000..6abbed33 Binary files /dev/null and b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.phy differ diff --git a/ItemSpawn/content/models/props/furnitures/humans/barrel01b.sw.vtx b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.sw.vtx new file mode 100644 index 00000000..690588a7 Binary files /dev/null and b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.sw.vtx differ diff --git a/ItemSpawn/content/models/props/furnitures/humans/barrel01b.vvd b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.vvd new file mode 100644 index 00000000..7fcd6583 Binary files /dev/null and b/ItemSpawn/content/models/props/furnitures/humans/barrel01b.vvd differ diff --git a/ItemSpawn/scripting/ItemSpawn.sp b/ItemSpawn/scripting/ItemSpawn.sp index 0cc370f7..c47f2962 100644 --- a/ItemSpawn/scripting/ItemSpawn.sp +++ b/ItemSpawn/scripting/ItemSpawn.sp @@ -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"); } \ No newline at end of file