diff --git a/_CSGO/FixGloves/scripting/FixGloves.sp b/FixGloves/scripting/FixGloves.sp similarity index 83% rename from _CSGO/FixGloves/scripting/FixGloves.sp rename to FixGloves/scripting/FixGloves.sp index 1fa165de..0c4d2e79 100644 --- a/_CSGO/FixGloves/scripting/FixGloves.sp +++ b/FixGloves/scripting/FixGloves.sp @@ -19,6 +19,20 @@ public Plugin myinfo = version = "1.0.0" }; +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max) +{ + if(GetEngineVersion() != Engine_CSGO) + { + strcopy(error, err_max, "This plugin is only required on CS:GO!"); + return APLRes_Failure; + } + + return APLRes_Success; +} + //---------------------------------------------------------------------------------------------------- // Purpose: //---------------------------------------------------------------------------------------------------- @@ -57,7 +71,7 @@ public void OnSpawnPost(int iClient) { if(!IsClientInGame(iClient) || IsClientObserver(iClient) || !IsPlayerAlive(iClient)) return; - + if (GetEntPropEnt(iClient, Prop_Send, "m_hMyWearables") == INVALID_ENT_REFERENCE) { switch(GetClientTeam(iClient)) diff --git a/_CSGO/ForceCvars/scripting/ForceCvars.sp b/ForceConvars/scripting/ForceConvars.sp similarity index 69% rename from _CSGO/ForceCvars/scripting/ForceCvars.sp rename to ForceConvars/scripting/ForceConvars.sp index e7861d5e..c7357dd5 100644 --- a/_CSGO/ForceCvars/scripting/ForceCvars.sp +++ b/ForceConvars/scripting/ForceConvars.sp @@ -7,12 +7,26 @@ //---------------------------------------------------------------------------------------------------- public Plugin myinfo = { - name = "Force CVars", + name = "Force ConVars", author = "zaCade", - description = "Force CVars to specific values.", + description = "Force ConVars to specific values.", version = "1.0.0" }; +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max) +{ + if(GetEngineVersion() != Engine_CSGO) + { + strcopy(error, err_max, "This plugin is only required on CS:GO!"); + return APLRes_Failure; + } + + return APLRes_Success; +} + //---------------------------------------------------------------------------------------------------- // Purpose: //---------------------------------------------------------------------------------------------------- @@ -29,15 +43,15 @@ public Action Command_ForceCVar(int args) char sArguments[2][128]; GetCmdArg(1, sArguments[0], sizeof(sArguments[])); GetCmdArg(2, sArguments[1], sizeof(sArguments[])); - + ConVar CVar; if ((CVar = FindConVar(sArguments[0])) != null) { float fValue = StringToFloat(sArguments[1]); - + CVar.SetBounds(ConVarBound_Lower, true, fValue); CVar.SetBounds(ConVarBound_Upper, true, fValue); - + CVar.SetFloat(fValue, true, false); } } \ No newline at end of file diff --git a/_CSS/Meteors/scripting/Meteors.sp b/Meteors/scripting/Meteors.sp similarity index 100% rename from _CSS/Meteors/scripting/Meteors.sp rename to Meteors/scripting/Meteors.sp diff --git a/_CSS/RandomizeSpawns/gamedata/RandomizeSpawns.games.txt b/RandomizeSpawns/gamedata/RandomizeSpawns.games.txt similarity index 100% rename from _CSS/RandomizeSpawns/gamedata/RandomizeSpawns.games.txt rename to RandomizeSpawns/gamedata/RandomizeSpawns.games.txt diff --git a/_CSS/RandomizeSpawns/scripting/RandomizeSpawns.sp b/RandomizeSpawns/scripting/RandomizeSpawns.sp similarity index 100% rename from _CSS/RandomizeSpawns/scripting/RandomizeSpawns.sp rename to RandomizeSpawns/scripting/RandomizeSpawns.sp diff --git a/_CSGO/_IncreaseReserveAmmo/scripting/IncreaseReserveAmmo.sp b/_CSGO/_IncreaseReserveAmmo/scripting/IncreaseReserveAmmo.sp deleted file mode 100644 index 51b5a6d9..00000000 --- a/_CSGO/_IncreaseReserveAmmo/scripting/IncreaseReserveAmmo.sp +++ /dev/null @@ -1,67 +0,0 @@ -#include -#include -#include - -#define MAXAMMO 10000 -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Plugin myinfo = -{ - name = "IncreaseReserveAmmo", - author = "zaCade", - description = "Feex volvo bullshiet!", - version = "1.0.0" -}; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnPluginStart() -{ - for(int client = 1; client <= MaxClients; client++) - { - if(IsClientInGame(client) && !IsFakeClient(client)) - OnClientPutInServer(client); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnClientPutInServer(int client) -{ - if (!IsFakeClient(client)) - { - SDKHook(client, SDKHook_WeaponEquipPost, OnWeaponAction); - SDKHook(client, SDKHook_WeaponDropPost, OnWeaponAction); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnWeaponAction(int client, int weapon) -{ - if (IsValidEntity(weapon)) - { - if (!HasEntProp(client, Prop_Send, "m_iAmmo")) - return; - - SetEntProp(weapon, Prop_Send, "m_iPrimaryReserveAmmoCount", MAXAMMO); - SetEntProp(weapon, Prop_Send, "m_iSecondaryReserveAmmoCount", MAXAMMO); - - int AmmoTypePrimary = GetEntProp(weapon, Prop_Data, "m_iPrimaryAmmoType"); - int AmmoTypeSecondary = GetEntProp(weapon, Prop_Data, "m_iSecondaryAmmoType"); - -// PrintToChatAll("Primary: %d | Secondary: %d", AmmoTypePrimary, AmmoTypeSecondary) - - if (AmmoTypePrimary >= 0 && AmmoTypePrimary <= 13 || AmmoTypePrimary == 20) - if (GetEntProp(client, Prop_Send, "m_iAmmo", _, AmmoTypePrimary) >= 0) - SetEntProp(client, Prop_Send, "m_iAmmo", MAXAMMO, _, AmmoTypePrimary); - - if (AmmoTypeSecondary >= 0 && AmmoTypeSecondary <= 13 || AmmoTypeSecondary == 20) - if (GetEntProp(client, Prop_Send, "m_iAmmo", _, AmmoTypeSecondary) >= 0) - SetEntProp(client, Prop_Send, "m_iAmmo", MAXAMMO, _, AmmoTypeSecondary); - } -} \ No newline at end of file diff --git a/_ChatFilter/configs/chatfilters.cfg b/_ChatFilter/configs/chatfilters.cfg deleted file mode 100644 index 8241ce53..00000000 --- a/_ChatFilter/configs/chatfilters.cfg +++ /dev/null @@ -1,11 +0,0 @@ -"chatfilters" -{ - "#lennies" - { - "( ͡° ͜ʖ ͡°)" {} - } - "#entWatch" - { - "[entWatch]" {} - } -} \ No newline at end of file diff --git a/_ChatFilter/scripting/ChatFilter.sp b/_ChatFilter/scripting/ChatFilter.sp deleted file mode 100644 index a64a5814..00000000 --- a/_ChatFilter/scripting/ChatFilter.sp +++ /dev/null @@ -1,129 +0,0 @@ -#pragma newdecls required - -#include -#include -#include - -ArrayList g_aClientFilters[MAXPLAYERS+1]; -ArrayList g_aGroupFilters[MAXPLAYERS+1]; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Plugin myinfo = -{ - name = "ChatFilter", - author = "zaCade", - description = "Allows users to filter their chat messages", - version = "1.0.0" -}; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnPluginStart() -{ - RegConsoleCmd("sm_cf", Command_ChatFilter); - RegConsoleCmd("sm_cfg", Command_ChatFilterGroup); - - - - - - for (int client = 1; client <= MAXPLAYERS; client++) - { - g_aClientFilters[client] = new ArrayList(512); - g_aGroupFilters[client] = new ArrayList(512); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnClientConnected(int client) -{ - g_aClientFilters[client].Clear(); - g_aGroupFilters[client].Clear(); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_ChatFilter(int client, int args) -{ - - - - - -// g_aClientFilters[client].PushString(filter); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_ChatFilterGroup(int client, int args) -{ - - - -// ArrayList filters = new ArrayList(128); - - - -// filters.PushString(filter); - - - -// g_aGroupFilters[client].Push(filters); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action CCC_OnChatMessage(int client, int author, const char[] message) -{ - bool bBlockMessage = false; - - // Check the clients own filter list. - if (!bBlockMessage && g_aClientFilters[client].Length) - { - for (int filterID; filterID < g_aClientFilters[client].Length; filterID++) - { - char filter[128]; - g_aClientFilters[client].GetString(filterID, filter, sizeof(filter)); - - if (StrContains(message, filter, false)) - { - bBlockMessage = true; - break; - } - } - } - - // Check the clients group filter lists. - if (!bBlockMessage && g_aGroupFilters[client].Length) - { - for (int groupID; groupID < g_aGroupFilters[client].Length; groupID++) - { - ArrayList filters = g_aGroupFilters[client].Get(groupID); - - if (filters.Length) - { - for (int filterID; filterID < filters.Length; filterID++) - { - char filter[128]; - filters.GetString(filterID, filter, sizeof(filter)); - - if (StrContains(message, filter, false)) - { - bBlockMessage = true; - break; - } - } - } - } - } - - return (bBlockMessage) ? Plugin_Handled : Plugin_Continue; -} \ No newline at end of file diff --git a/_InfectionExploitFix/scripting/InfectionExploitFix.sp b/_InfectionExploitFix/scripting/InfectionExploitFix.sp deleted file mode 100644 index ecaf03f0..00000000 --- a/_InfectionExploitFix/scripting/InfectionExploitFix.sp +++ /dev/null @@ -1,78 +0,0 @@ -#include -#include -#include - -public Plugin myinfo = -{ - name = "InfectionExploitFix", - author = "zaCade & Neon", - description = "Fixes Infection Dodge Exploit", - version = "1.0", - url = "" -} - -#pragma semicolon 1 -#pragma newdecls required - -bool g_bZombieSpawned = false; -bool g_bCriticalWindow = false; - -Handle g_hTimerHandle = INVALID_HANDLE; - -public void OnPluginStart() -{ - HookEvent("player_spawn", OnPlayerSpawn, EventHookMode_Post); - HookEvent("round_freeze_end", OnRoundStart, EventHookMode_PostNoCopy); - HookEvent("round_end", OnRoundEnd, EventHookMode_PostNoCopy); -} - -public void OnMapStart() -{ - g_bZombieSpawned = false; - g_bCriticalWindow = false; -} - -public void OnRoundStart(Event event, const char[] name, bool dontBroadcast) -{ - g_hTimerHandle = CreateTimer(20.0, PreventSpawnExploitStop, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE); - - g_bZombieSpawned = false; - g_bCriticalWindow = true; -} - -public void OnRoundEnd(Event event, const char[] name, bool dontBroadcast) -{ - if (g_hTimerHandle != INVALID_HANDLE && KillTimer(g_hTimerHandle)) - g_hTimerHandle = INVALID_HANDLE; - - g_bZombieSpawned = false; - g_bCriticalWindow = false; -} - -public void OnPlayerSpawn(Event event, const char[] name, bool dontBroadcast) -{ - int client = GetClientOfUserId(event.GetInt("userid")); - - if (g_bZombieSpawned && g_bCriticalWindow && GetClientTeam(client) >= CS_TEAM_T) - RequestFrame(OnPlayerSpawnPost, client); -} - -public void OnPlayerSpawnPost(int client) -{ - if (IsClientInGame(client) && IsPlayerAlive(client)) - ZR_InfectClient(client); -} - -public Action ZR_OnClientInfect(int &client, int &attacker, bool &motherInfect, bool &respawnOverride, bool &respawn) -{ - if (!g_bZombieSpawned && motherInfect) - g_bZombieSpawned = true; -} - -public Action PreventSpawnExploitStop(Handle timer) -{ - if (g_hTimerHandle != INVALID_HANDLE) - g_hTimerHandle = INVALID_HANDLE; - - g_bCriticalWindow = false; -} \ No newline at end of file diff --git a/_ItemSpawn/scripting/ItemSpawn.sp b/_ItemSpawn/scripting/ItemSpawn.sp deleted file mode 100644 index 3a255964..00000000 --- a/_ItemSpawn/scripting/ItemSpawn.sp +++ /dev/null @@ -1,1660 +0,0 @@ -#include -#include -#include - -#pragma semicolon 1 -#pragma newdecls required - -int g_iCounter = 0; - -int g_iConsole; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Plugin myinfo = -{ - name = "ItemSpawn", - author = "Neon", - description = "", - version = "1.1", - url = "https://steamcommunity.com/id/n3ontm" -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnPluginStart() -{ - HookEvent("round_start", OnRoundStart, EventHookMode_Post); - RegAdminCmd("sm_vortigaunt", Command_Vortigaunt, ADMFLAG_KICK); - RegAdminCmd("sm_balrog", Command_Balrog, ADMFLAG_KICK); - RegAdminCmd("sm_tnt", Command_TNT, ADMFLAG_KICK); - RegAdminCmd("sm_humandog", Command_HumanDog, ADMFLAG_KICK); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void OnMapStart() -{ - PrecacheModel("models/props/cs_militia/crate_extrasmallmill.mdl"); - - // Vortigaunt - PrecacheModel("models/vortigaunt_slave.mdl"); - - // Balrog - AddFileToDownloadsTable("models/player/slow/amberlyn/lotr/balrog/balrog_rafuron_hannibal.dx80.vtx"); - AddFileToDownloadsTable("models/player/slow/amberlyn/lotr/balrog/balrog_rafuron_hannibal.dx90.vtx"); - AddFileToDownloadsTable("models/player/slow/amberlyn/lotr/balrog/balrog_rafuron_hannibal.mdl"); - AddFileToDownloadsTable("models/player/slow/amberlyn/lotr/balrog/balrog_rafuron_hannibal.sw.vtx"); - AddFileToDownloadsTable("models/player/slow/amberlyn/lotr/balrog/balrog_rafuron_hannibal.vvd"); - AddFileToDownloadsTable("materials/models/player/slow/amberlyn/lotr/balrog/slow_body.vmt"); - AddFileToDownloadsTable("materials/models/player/slow/amberlyn/lotr/balrog/slow_body.vtf"); - AddFileToDownloadsTable("materials/models/player/slow/amberlyn/lotr/balrog/slow_body_2.vmt"); - AddFileToDownloadsTable("materials/models/player/slow/amberlyn/lotr/balrog/slow_eyes.vmt"); - AddFileToDownloadsTable("materials/models/player/slow/amberlyn/lotr/balrog/slow_weapon.vmt"); - AddFileToDownloadsTable("materials/models/player/slow/amberlyn/lotr/balrog/slow_weapon.vtf"); - AddFileToDownloadsTable("materials/models/player/slow/amberlyn/lotr/balrog/slow_weapon_blade.vmt"); - AddFileToDownloadsTable("materials/models/player/slow/amberlyn/lotr/balrog/slow_weapon_bump.vtf"); - AddFileToDownloadsTable("materials/models/player/slow/amberlyn/lotr/balrog/slow_wings.vmt"); - PrecacheModel("models/player/slow/amberlyn/lotr/balrog/balrog_rafuron_hannibal.mdl"); - AddFileToDownloadsTable("sound/unloze/balrog_scream.mp3"); - - // TNT - AddFileToDownloadsTable("models/props/furnitures/humans/barrel01b.dx80.vtx"); - AddFileToDownloadsTable("models/props/furnitures/humans/barrel01b.dx90.vtx"); - AddFileToDownloadsTable("models/props/furnitures/humans/barrel01b.mdl"); - AddFileToDownloadsTable("models/props/furnitures/humans/barrel01b.phy"); - AddFileToDownloadsTable("models/props/furnitures/humans/barrel01b.sw.vtx"); - AddFileToDownloadsTable("models/props/furnitures/humans/barrel01b.vvd"); - AddFileToDownloadsTable("materials/models/barrel01b/wood_barrel01b.vmt"); - AddFileToDownloadsTable("materials/models/barrel01b/wood_barrel01b.vtf"); - AddFileToDownloadsTable("materials/models/barrel01b/wood_barrel01b_broken.vmt"); - AddFileToDownloadsTable("materials/models/barrel01b/wood_barrel01b_no_metal.vtf"); - PrecacheModel("models/props/furnitures/humans/barrel01b.mdl"); - - // Dog - AddFileToDownloadsTable("models/player/pil/re1/dog/dog_pil.dx80.vtx"); - AddFileToDownloadsTable("models/player/pil/re1/dog/dog_pil.dx90.vtx"); - AddFileToDownloadsTable("models/player/pil/re1/dog/dog_pil.mdl"); - AddFileToDownloadsTable("models/player/pil/re1/dog/dog_pil.phy"); - AddFileToDownloadsTable("models/player/pil/re1/dog/dog_pil.sw.vtx"); - AddFileToDownloadsTable("models/player/pil/re1/dog/dog_pil.vvd"); - AddFileToDownloadsTable("materials/models/player/pil/re1/dog/0000a.vmt"); - AddFileToDownloadsTable("materials/models/player/pil/re1/dog/0000a.vtf"); - PrecacheModel("models/player/pil/re1/dog/dog_pil.mdl"); - - AddFileToDownloadsTable("models/poo/curlygpoo.dx80.vtx"); - AddFileToDownloadsTable("models/poo/curlygpoo.dx90.vtx"); - AddFileToDownloadsTable("models/poo/curlygpoo.mdl"); - AddFileToDownloadsTable("models/poo/curlygpoo.phy"); - AddFileToDownloadsTable("models/poo/curlygpoo.sw.vtx"); - AddFileToDownloadsTable("models/poo/curlygpoo.vvd"); - AddFileToDownloadsTable("materials/models/poo/curlypoo.vmt"); - AddFileToDownloadsTable("materials/models/poo/curlypoo.vtf"); - PrecacheModel("models/poo/curlygpoo.mdl"); - -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -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"); - DispatchKeyValue(iHumanFilter, "Negated", "0"); - DispatchKeyValue(iHumanFilter, "filterteam", "3"); - DispatchSpawn(iHumanFilter); - ActivateEntity(iHumanFilter); - - // Zombie filter - int iZombieFilter = CreateEntityByName("filter_activator_team"); - DispatchKeyValue(iZombieFilter, "targetname", "item_spawn_zombie_filter"); - DispatchKeyValue(iZombieFilter, "Negated", "0"); - DispatchKeyValue(iZombieFilter, "filterteam", "2"); - DispatchSpawn(iZombieFilter); - ActivateEntity(iZombieFilter); - - // player_weaponstrip - int iWeaponStrip = CreateEntityByName("player_weaponstrip"); - DispatchKeyValue(iWeaponStrip, "targetname", "item_spawn_weaponstrip"); - DispatchSpawn(iWeaponStrip); - ActivateEntity(iWeaponStrip); - - // speedmod - int iSpeedMod = CreateEntityByName("player_speedmod"); - DispatchKeyValue(iSpeedMod, "targetname", "item_spawn_speed"); - DispatchSpawn(iSpeedMod); - ActivateEntity(iSpeedMod); - -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_Vortigaunt(int client, int argc) -{ - float fOrigin[3]; - - if (argc < 1) - { - GetClientEyePosition(client, fOrigin); - SpawnVortigaunt(fOrigin); - LogAction(client, -1, "\"%L\" spawned Vortigaunt at <%f><%f><%f>.", client, fOrigin[0], fOrigin[1], fOrigin[2]); - return Plugin_Handled; - } - - char sArgs[64]; - char sTargetName[MAX_TARGET_LENGTH]; - int iTargets[MAXPLAYERS]; - int iTargetCount; - bool bIsML; - - GetCmdArg(1, sArgs, sizeof(sArgs)); - - if ((iTargetCount = ProcessTargetString(sArgs, client, iTargets, MAXPLAYERS, COMMAND_FILTER_CONNECTED, sTargetName, sizeof(sTargetName), bIsML)) <= 0) - { - ReplyToTargetError(client, iTargetCount); - return Plugin_Handled; - } - - for (int i = 0; i < iTargetCount; i++) - { - if(IsClientInGame(iTargets[i]) && IsPlayerAlive(iTargets[i]) && (ZR_IsClientZombie(iTargets[i]))) - { - GetClientEyePosition(iTargets[i], fOrigin); - SpawnVortigaunt(fOrigin); - LogAction(client, -1, "\"%L\" gave Vortigaunt to \"%L\".", client, iTargets[i]); - } - } - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_Balrog(int client, int argc) -{ - float fOrigin[3]; - - if (argc < 1) - { - GetClientEyePosition(client, fOrigin); - SpawnBalrog(fOrigin); - LogAction(client, -1, "\"%L\" spawned Balrog at <%f><%f><%f>.", client, fOrigin[0], fOrigin[1], fOrigin[2]); - return Plugin_Handled; - } - - char sArgs[64]; - char sTargetName[MAX_TARGET_LENGTH]; - int iTargets[MAXPLAYERS]; - int iTargetCount; - bool bIsML; - - GetCmdArg(1, sArgs, sizeof(sArgs)); - - if ((iTargetCount = ProcessTargetString(sArgs, client, iTargets, MAXPLAYERS, COMMAND_FILTER_CONNECTED, sTargetName, sizeof(sTargetName), bIsML)) <= 0) - { - ReplyToTargetError(client, iTargetCount); - return Plugin_Handled; - } - - for (int i = 0; i < iTargetCount; i++) - { - if(IsClientInGame(iTargets[i]) && IsPlayerAlive(iTargets[i]) && (ZR_IsClientZombie(iTargets[i]))) - { - GetClientEyePosition(iTargets[i], fOrigin); - SpawnBalrog(fOrigin); - LogAction(client, -1, "\"%L\" gave Balrog to \"%L\".", client, iTargets[i]); - } - } - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_TNT(int client, int argc) -{ - float fOrigin[3]; - - if (argc < 1) - { - GetClientEyePosition(client, fOrigin); - SpawnTNT(fOrigin); - LogAction(client, -1, "\"%L\" spawned TNT at <%f><%f><%f>.", client, fOrigin[0], fOrigin[1], fOrigin[2]); - return Plugin_Handled; - } - - char sArgs[64]; - char sTargetName[MAX_TARGET_LENGTH]; - int iTargets[MAXPLAYERS]; - int iTargetCount; - bool bIsML; - - GetCmdArg(1, sArgs, sizeof(sArgs)); - - if ((iTargetCount = ProcessTargetString(sArgs, client, iTargets, MAXPLAYERS, COMMAND_FILTER_CONNECTED, sTargetName, sizeof(sTargetName), bIsML)) <= 0) - { - ReplyToTargetError(client, iTargetCount); - return Plugin_Handled; - } - - for (int i = 0; i < iTargetCount; i++) - { - if(IsClientInGame(iTargets[i]) && IsPlayerAlive(iTargets[i]) && (ZR_IsClientZombie(iTargets[i]))) - { - GetClientEyePosition(iTargets[i], fOrigin); - SpawnTNT(fOrigin); - LogAction(client, -1, "\"%L\" gave TNT to \"%L\".", client, iTargets[i]); - } - } - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action Command_HumanDog(int client, int argc) -{ - float fOrigin[3]; - - if (argc < 1) - { - GetClientEyePosition(client, fOrigin); - SpawnHumanDog(fOrigin); - LogAction(client, -1, "\"%L\" spawned Human Dog at <%f><%f><%f>.", client, fOrigin[0], fOrigin[1], fOrigin[2]); - return Plugin_Handled; - } - - char sArgs[64]; - char sTargetName[MAX_TARGET_LENGTH]; - int iTargets[MAXPLAYERS]; - int iTargetCount; - bool bIsML; - - GetCmdArg(1, sArgs, sizeof(sArgs)); - - if ((iTargetCount = ProcessTargetString(sArgs, client, iTargets, MAXPLAYERS, COMMAND_FILTER_CONNECTED, sTargetName, sizeof(sTargetName), bIsML)) <= 0) - { - ReplyToTargetError(client, iTargetCount); - return Plugin_Handled; - } - - for (int i = 0; i < iTargetCount; i++) - { - if(IsClientInGame(iTargets[i]) && IsPlayerAlive(iTargets[i]) && (ZR_IsClientHuman(iTargets[i]))) - { - GetClientEyePosition(iTargets[i], fOrigin); - SpawnHumanDog(fOrigin); - LogAction(client, -1, "\"%L\" gave Human Dog to \"%L\".", client, iTargets[i]); - } - } - return Plugin_Handled; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void SpawnVortigaunt(float fOrigin[3]) -{ - char sBuffer[256]; - float fOriginTemp[3]; - - // Knife - int iKnife = CreateEntityByName("weapon_knife"); - Format(sBuffer, sizeof(sBuffer), "vort_knife_%d", g_iCounter); - DispatchKeyValue(iKnife, "targetname", sBuffer); - Format(sBuffer, sizeof(sBuffer), "11051995%d", g_iCounter); - DispatchKeyValue(iKnife, "hammerid", sBuffer); - DispatchKeyValue(iKnife, "spawnflags", "1"); - DispatchKeyValue(iKnife, "angles", "0 0 0"); - DispatchKeyValueVector(iKnife, "origin", fOrigin); - DispatchKeyValue(iKnife, "OnPlayerPickUp", "!activator,AddOutput,renderfx 6,0,-1"); - Format(sBuffer, sizeof(sBuffer), "vort_knife_%d,AddOutput,renderfx 6,0.03,-1", g_iCounter); - DispatchKeyValue(iKnife, "OnPlayerPickup", sBuffer); - Format(sBuffer, sizeof(sBuffer), "vort_ui_%d,Activate,,0,-1", g_iCounter); - DispatchKeyValue(iKnife, "OnPlayerPickup", sBuffer); - DispatchSpawn(iKnife); - ActivateEntity(iKnife); - HookSingleEntityOutput(iKnife, "OnPlayerPickup", VortigauntPickup, true); - - // Model - int iModel = CreateEntityByName("prop_dynamic"); - Format(sBuffer, sizeof(sBuffer), "vort_model_%d", g_iCounter); - DispatchKeyValue(iModel, "targetname", sBuffer); - DispatchKeyValue(iModel, "model", "models/vortigaunt_slave.mdl"); - DispatchKeyValue(iModel, "DisableBoneFollowers", "1"); - DispatchKeyValue(iModel, "DefaultAnim", "Run_all"); - fOriginTemp[0] = fOrigin[0] + 7.0; - fOriginTemp[1] = fOrigin[1] - 0.0; - fOriginTemp[2] = fOrigin[2] - 34.24; - DispatchKeyValueVector(iModel, "origin", fOriginTemp); - DispatchSpawn(iModel); - ActivateEntity(iModel); - SetVariantString("!activator"); - AcceptEntityInput(iModel, "SetParent", iKnife); - - // pickup trigger_once - int iTrigger = CreateEntityByName("trigger_once"); - Format(sBuffer, sizeof(sBuffer), "vort_trigger_%d", g_iCounter); - DispatchKeyValue(iTrigger, "targetname", sBuffer); - DispatchKeyValue(iTrigger, "spawnflags", "1"); - DispatchKeyValue(iTrigger, "startdisabled", "1"); - DispatchKeyValue(iTrigger, "filtername", "item_spawn_zombie_filter"); - DispatchKeyValue(iTrigger, "OnStartTouch", "item_spawn_weaponstrip,StripWeaponsAndSuit,,0,1"); - DispatchKeyValueVector(iTrigger, "origin", fOrigin); - DispatchSpawn(iTrigger); - ActivateEntity(iTrigger); - SetEntityModel(iTrigger, "models/vortigaunt_slave.mdl"); - float fMinbounds[3] = {-10.0, -10.0, -36.0}; - float fMaxbounds[3] = {10.0, 10.0, 36.0}; - SetEntPropVector(iTrigger, Prop_Send, "m_vecMins", fMinbounds); - SetEntPropVector(iTrigger, Prop_Send, "m_vecMaxs", fMaxbounds); - SetEntProp(iTrigger, Prop_Send, "m_nSolidType", 2); - 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"); - Format(sBuffer, sizeof(sBuffer), "vort_sound_%d", g_iCounter); - DispatchKeyValue(iSound, "targetname", sBuffer); - DispatchKeyValue(iSound, "spawnflags", "48"); - DispatchKeyValue(iSound, "radius", "2250"); - Format(sBuffer, sizeof(sBuffer), "vort_knife_%d", g_iCounter); - DispatchKeyValue(iSound, "SourceEntityName", sBuffer); - DispatchKeyValue(iSound, "message", "ambient/energy/zap9.wav"); - DispatchKeyValue(iSound, "volume", "10"); - DispatchKeyValue(iSound, "health", "10"); - DispatchKeyValue(iSound, "pitch", "100"); - DispatchKeyValue(iSound, "pitchstart", "100"); - DispatchSpawn(iSound); - ActivateEntity(iSound); - SetVariantString("!activator"); - AcceptEntityInput(iSound, "SetParent", iKnife); - - // Push - int iPush = CreateEntityByName("trigger_push"); - Format(sBuffer, sizeof(sBuffer), "vort_push_%d", g_iCounter); - DispatchKeyValue(iPush, "targetname", sBuffer); - DispatchKeyValue(iPush, "spawnflags", "1"); - DispatchKeyValue(iPush, "startdisabled", "1"); - DispatchKeyValue(iPush, "speed", "1800"); - DispatchKeyValue(iPush, "pushdir", "0 180 0"); - DispatchKeyValue(iPush, "filtername", "item_spawn_human_filter"); - fOriginTemp[0] = fOrigin[0] + 899.0; - fOriginTemp[1] = fOrigin[1] - 0.0; - fOriginTemp[2] = fOrigin[2] - 8.0; - DispatchKeyValueVector(iPush, "origin", fOriginTemp); - DispatchSpawn(iPush); - ActivateEntity(iPush); - SetEntityModel(iPush, "models/vortigaunt_slave.mdl"); - float fMinbounds2[3] = {-852.0, -16.0, -9.0}; - float fMaxbounds2[3] = {852.0, 16.0, 9.0}; - SetEntPropVector(iPush, Prop_Send, "m_vecMins", fMinbounds2); - SetEntPropVector(iPush, Prop_Send, "m_vecMaxs", fMaxbounds2); - SetEntProp(iPush, Prop_Send, "m_nSolidType", 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"); - Format(sBuffer, sizeof(sBuffer), "vort_relay_%d", g_iCounter); - DispatchKeyValueVector(iRelay, "origin", fOrigin); - DispatchKeyValue(iRelay, "targetname", sBuffer); - DispatchKeyValue(iRelay, "spawnflags", "0"); - DispatchKeyValue(iRelay, "startdisabled", "0"); - DispatchKeyValue(iRelay, "OnTrigger", "!self,Disable,,0,-1"); - DispatchKeyValue(iRelay, "OnTrigger", "!self,Enable,,4,-1"); - Format(sBuffer, sizeof(sBuffer), "vort_model_%d,SetAnimation,zapattack1,0,-1", g_iCounter); - DispatchKeyValue(iRelay, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "vort_push_%d,Enable,,1.5,-1", g_iCounter); - DispatchKeyValue(iRelay, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "vort_push_%d,Disable,,2,-1", g_iCounter); - DispatchKeyValue(iRelay, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "vort_sound_%d,PlaySound,,1.5,-1", g_iCounter); - DispatchKeyValue(iRelay, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "vort_beam_%d,TurnOn,,1.5,-1", g_iCounter); - DispatchKeyValue(iRelay, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "vort_beam_%d,TurnOff,,2.5,-1", g_iCounter); - DispatchKeyValue(iRelay, "OnTrigger", sBuffer); - DispatchKeyValue(iRelay, "OnTrigger", "item_spawn_speed,ModifySpeed,0,0,-1"); - DispatchKeyValue(iRelay, "OnTrigger", "item_spawn_speed,ModifySpeed,1.15,3.25,-1"); - DispatchSpawn(iRelay); - ActivateEntity(iRelay); - SetVariantString("!activator"); - AcceptEntityInput(iRelay, "SetParent", iKnife); - - // Game UI - int iUI = CreateEntityByName("game_ui"); - Format(sBuffer, sizeof(sBuffer), "vort_ui_%d", g_iCounter); - DispatchKeyValue(iUI, "targetname", sBuffer); - DispatchKeyValue(iUI, "spawnflags", "0"); - DispatchKeyValue(iUI, "FieldOfView", "-1.0"); - Format(sBuffer, sizeof(sBuffer), "vort_relay_%d,Trigger,,0,-1", g_iCounter); - DispatchKeyValue(iUI, "PressedAttack2", sBuffer); - DispatchSpawn(iUI); - ActivateEntity(iUI); - SetVariantString("!activator"); - AcceptEntityInput(iUI, "SetParent", iKnife); - - // beam start - int iBeamStart = CreateEntityByName("prop_dynamic_override"); - Format(sBuffer, sizeof(sBuffer), "vort_beam_start_%d", g_iCounter); - DispatchKeyValue(iBeamStart, "targetname", sBuffer); - DispatchKeyValue(iBeamStart, "model", "models/props/cs_italy/bananna.mdl"); - DispatchKeyValue(iBeamStart, "disableshadows", "1"); - DispatchKeyValue(iBeamStart, "disablereceiveshadows", "1"); - DispatchKeyValue(iBeamStart, "DisableBoneFollowers", "1"); - DispatchKeyValue(iBeamStart, "rendermode", "10"); - fOriginTemp[0] = fOrigin[0] + 29.0; - fOriginTemp[1] = fOrigin[1] - 0.0; - fOriginTemp[2] = fOrigin[2] - 8.0; - DispatchKeyValueVector(iBeamStart, "origin", fOriginTemp); - DispatchSpawn(iBeamStart); - ActivateEntity(iBeamStart); - SetVariantString("!activator"); - AcceptEntityInput(iBeamStart, "SetParent", iKnife); - - // beam end - int iBeamEnd = CreateEntityByName("prop_dynamic_override"); - Format(sBuffer, sizeof(sBuffer), "vort_beam_end_%d", g_iCounter); - DispatchKeyValue(iBeamEnd, "targetname", sBuffer); - DispatchKeyValue(iBeamEnd, "model", "models/props/cs_italy/bananna.mdl"); - DispatchKeyValue(iBeamEnd, "disableshadows", "1"); - DispatchKeyValue(iBeamEnd, "disablereceiveshadows", "1"); - DispatchKeyValue(iBeamEnd, "DisableBoneFollowers", "1"); - DispatchKeyValue(iBeamEnd, "rendermode", "10"); - fOriginTemp[0] = fOrigin[0] + 1743.0; - fOriginTemp[1] = fOrigin[1] - 0.0; - fOriginTemp[2] = fOrigin[2] - 8.0; - DispatchKeyValueVector(iBeamEnd, "origin", fOriginTemp); - DispatchSpawn(iBeamEnd); - ActivateEntity(iBeamEnd); - SetVariantString("!activator"); - AcceptEntityInput(iBeamEnd, "SetParent", iKnife); - - // Beam - int iBeam = CreateEntityByName("env_beam"); - Format(sBuffer, sizeof(sBuffer), "vort_beam_%d", g_iCounter); - DispatchKeyValue(iBeam, "targetname", sBuffer); - Format(sBuffer, sizeof(sBuffer), "vort_beam_start_%d", g_iCounter); - DispatchKeyValue(iBeam, "LightningStart", sBuffer); - Format(sBuffer, sizeof(sBuffer), "vort_beam_end_%d", g_iCounter); - DispatchKeyValue(iBeam, "LightningEnd", sBuffer); - DispatchKeyValue(iBeam, "BoltWidth", "3"); - DispatchKeyValue(iBeam, "NoiseAmplitude", "1"); - DispatchKeyValue(iBeam, "decalname", "Bigshot"); - DispatchKeyValue(iBeam, "framerate", "0"); - DispatchKeyValue(iBeam, "framestart", "0"); - DispatchKeyValue(iBeam, "life", "1"); - DispatchKeyValue(iBeam, "spawnflags", "48"); - DispatchKeyValue(iBeam, "TouchType", "1"); - DispatchKeyValue(iBeam, "rendercolor", "0 200 0"); - DispatchKeyValue(iBeam, "texture", "sprites/laserbeam.spr"); - DispatchSpawn(iBeam); - SetVariantString("!activator"); - AcceptEntityInput(iBeam, "SetParent", iKnife); - - // enable pickup trigger - SetVariantString("!activator"); - AcceptEntityInput(iTrigger, "Enable"); - - g_iCounter ++; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void SpawnBalrog(float fOrigin[3]) -{ - char sBuffer[256]; - float fOriginTemp[3]; - - // Knife - int iKnife = CreateEntityByName("weapon_knife"); - Format(sBuffer, sizeof(sBuffer), "balrog_knife_%d", g_iCounter); - DispatchKeyValue(iKnife, "targetname", sBuffer); - Format(sBuffer, sizeof(sBuffer), "11051995%d", g_iCounter); - DispatchKeyValue(iKnife, "hammerid", sBuffer); - DispatchKeyValue(iKnife, "spawnflags", "1"); - DispatchKeyValue(iKnife, "angles", "0 0 0"); - DispatchKeyValueVector(iKnife, "origin", fOrigin); - DispatchKeyValue(iKnife, "OnPlayerPickUp", "!activator,AddOutput,renderfx 6,0,-1"); - Format(sBuffer, sizeof(sBuffer), "balrog_knife_%d,AddOutput,renderfx 6,0.03,-1", g_iCounter); - DispatchKeyValue(iKnife, "OnPlayerPickup", sBuffer); - DispatchKeyValue(iKnife, "OnPlayerPickup", "item_spawn_speed,ModifySpeed,0.8,0,-1"); - Format(sBuffer, sizeof(sBuffer), "balrog_model_%d,SetAnimation,balrog_attack1,0,-1", g_iCounter); - DispatchKeyValue(iKnife, "OnPlayerPickup", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_ui_%d,Activate,,0,-1", g_iCounter); - DispatchKeyValue(iKnife, "OnPlayerPickup", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_timer_%d,Enable,,0,-1", g_iCounter); - DispatchKeyValue(iKnife, "OnPlayerPickup", sBuffer); - DispatchKeyValue(iKnife, "OnPlayerPickUp", "!activator,AddOutput,rendermode 10,0,-1"); - DispatchKeyValue(iKnife, "OnPlayerPickUp", "!activator,AddOutput,health 2000000000,0,-1"); - DispatchKeyValue(iKnife, "OnUser3", "!self,FireUser3,,5,-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); - ActivateEntity(iKnife); - HookSingleEntityOutput(iKnife, "OnPlayerPickup", BalrogPickup, true); - - // Model - int iModel = CreateEntityByName("prop_dynamic"); - Format(sBuffer, sizeof(sBuffer), "balrog_model_%d", g_iCounter); - DispatchKeyValue(iModel, "targetname", sBuffer); - DispatchKeyValue(iModel, "model", "models/player/slow/amberlyn/lotr/balrog/balrog_rafuron_hannibal.mdl"); - DispatchKeyValue(iModel, "DisableBoneFollowers", "1"); - DispatchKeyValue(iModel, "DefaultAnim", "crouch_walk_lower"); - DispatchKeyValue(iModel, "angles", "0 2 0"); - DispatchKeyValue(iModel, "solid", "0"); - fOriginTemp[0] = fOrigin[0] + 4.5; - fOriginTemp[1] = fOrigin[1] + 1.26; - fOriginTemp[2] = fOrigin[2] - 28.9; - DispatchKeyValueVector(iModel, "origin", fOriginTemp); - DispatchSpawn(iModel); - ActivateEntity(iModel); - SetVariantString("!activator"); - AcceptEntityInput(iModel, "SetParent", iKnife); - - // pickup trigger_once - int iTrigger = CreateEntityByName("trigger_once"); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_%d", g_iCounter); - DispatchKeyValue(iTrigger, "targetname", sBuffer); - DispatchKeyValue(iTrigger, "spawnflags", "1"); - DispatchKeyValue(iTrigger, "startdisabled", "1"); - DispatchKeyValue(iTrigger, "filtername", "item_spawn_zombie_filter"); - DispatchKeyValue(iTrigger, "OnStartTouch", "item_spawn_weaponstrip,StripWeaponsAndSuit,,0,1"); - DispatchKeyValueVector(iTrigger, "origin", fOrigin); - DispatchSpawn(iTrigger); - ActivateEntity(iTrigger); - SetEntityModel(iTrigger, "models/vortigaunt_slave.mdl"); - float fMinbounds[3] = {-10.0, -10.0, -36.0}; - float fMaxbounds[3] = {10.0, 10.0, 36.0}; - SetEntPropVector(iTrigger, Prop_Send, "m_vecMins", fMinbounds); - SetEntPropVector(iTrigger, Prop_Send, "m_vecMaxs", fMaxbounds); - SetEntProp(iTrigger, Prop_Send, "m_nSolidType", 2); - 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"); - Format(sBuffer, sizeof(sBuffer), "balrog_kill_trigger_%d", g_iCounter); - DispatchKeyValue(iKillTrigger, "targetname", sBuffer); - DispatchKeyValue(iKillTrigger, "spawnflags", "1"); - DispatchKeyValue(iKillTrigger, "startdisabled", "1"); - DispatchKeyValue(iKillTrigger, "filtername", "item_spawn_zombie_filter"); - DispatchKeyValue(iKillTrigger, "damagetype", "0"); - DispatchKeyValue(iKillTrigger, "damagemodel", "0"); - DispatchKeyValue(iKillTrigger, "damagecap", "20"); - DispatchKeyValue(iKillTrigger, "damage", "200000"); - DispatchKeyValueVector(iKillTrigger, "origin", fOrigin); - DispatchSpawn(iKillTrigger); - ActivateEntity(iKillTrigger); - SetEntityModel(iKillTrigger, "models/vortigaunt_slave.mdl"); - float fMinbounds4[3] = {-10.0, -10.0, -36.0}; - float fMaxbounds4[3] = {10.0, 10.0, 36.0}; - SetEntPropVector(iKillTrigger, Prop_Send, "m_vecMins", fMinbounds4); - SetEntPropVector(iKillTrigger, Prop_Send, "m_vecMaxs", fMaxbounds4); - SetEntProp(iKillTrigger, Prop_Send, "m_nSolidType", 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"); - Format(sBuffer, sizeof(sBuffer), "balrog_kill_trigger_walking_%d", g_iCounter); - DispatchKeyValue(iKillTriggerWalking, "targetname", sBuffer); - DispatchKeyValue(iKillTriggerWalking, "spawnflags", "9"); - DispatchKeyValue(iKillTriggerWalking, "startdisabled", "0"); - DispatchKeyValue(iKillTriggerWalking, "filtername", "item_spawn_human_filter"); - DispatchKeyValue(iKillTriggerWalking, "damagetype", "128"); - DispatchKeyValue(iKillTriggerWalking, "damagemodel", "0"); - DispatchKeyValue(iKillTriggerWalking, "damagecap", "20"); - DispatchKeyValue(iKillTriggerWalking, "damage", "190"); - fOriginTemp[0] = fOrigin[0] + 28.5; - fOriginTemp[1] = fOrigin[1] - 2.74; - fOriginTemp[2] = fOrigin[2] - 4.9; - DispatchKeyValueVector(iKillTriggerWalking, "origin", fOriginTemp); - DispatchSpawn(iKillTriggerWalking); - ActivateEntity(iKillTriggerWalking); - SetEntityModel(iKillTriggerWalking, "models/vortigaunt_slave.mdl"); - float fMinbounds5[3] = {-32.0, -72.0, -84.0}; - float fMaxbounds5[3] = {32.0, 72.0, 84.0}; - SetEntPropVector(iKillTriggerWalking, Prop_Send, "m_vecMins", fMinbounds5); - SetEntPropVector(iKillTriggerWalking, Prop_Send, "m_vecMaxs", fMaxbounds5); - SetEntProp(iKillTriggerWalking, Prop_Send, "m_nSolidType", 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"); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_roar1_%d", g_iCounter); - DispatchKeyValue(iTriggerRoar, "targetname", sBuffer); - DispatchKeyValue(iTriggerRoar, "spawnflags", "1"); - DispatchKeyValue(iTriggerRoar, "startdisabled", "1"); - DispatchKeyValue(iTriggerRoar, "filtername", "item_spawn_zombie_filter"); - DispatchKeyValue(iTriggerRoar, "wait", "1"); - DispatchKeyValue(iTriggerRoar, "OnStartTouch", "item_spawn_speed,ModifySpeed,0,0,-1"); - DispatchKeyValue(iTriggerRoar, "OnStartTouch", "item_spawn_speed,speed,ModifySpeed,0.8,3,-1"); - fOriginTemp[0] = fOrigin[0] + 5.0; - fOriginTemp[1] = fOrigin[1] - 0.0; - fOriginTemp[2] = fOrigin[2] - 0.0; - DispatchKeyValueVector(iTriggerRoar, "origin", fOriginTemp); - DispatchSpawn(iTriggerRoar); - ActivateEntity(iTriggerRoar); - SetEntityModel(iTriggerRoar, "models/vortigaunt_slave.mdl"); - float fMinbounds6[3] = {-0.5, -0.5, -36.0}; - float fMaxbounds6[3] = {0.5, 0.5, 36.0}; - SetEntPropVector(iTriggerRoar, Prop_Send, "m_vecMins", fMinbounds6); - SetEntPropVector(iTriggerRoar, Prop_Send, "m_vecMaxs", fMaxbounds6); - SetEntProp(iTriggerRoar, Prop_Send, "m_nSolidType", 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"); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_roar2_%d", g_iCounter); - DispatchKeyValue(iTriggerRoar2, "targetname", sBuffer); - DispatchKeyValue(iTriggerRoar2, "spawnflags", "1"); - DispatchKeyValue(iTriggerRoar2, "startdisabled", "1"); - DispatchKeyValue(iTriggerRoar2, "filtername", "item_spawn_zombie_filter"); - DispatchKeyValue(iTriggerRoar2, "wait", "1"); - DispatchKeyValue(iTriggerRoar2, "OnStartTouch", "!activator,AddOutput,health 10000,0,-1"); - DispatchKeyValue(iTriggerRoar2, "OnStartTouch", "item_spawn_speed,ModifySpeed,1.5,0,-1"); - DispatchKeyValue(iTriggerRoar2, "OnStartTouch", "item_spawn_speed,ModifySpeed,1.0,10,-1"); - DispatchKeyValue(iTriggerRoar2, "OnStartTouch", "!activator,AddOutput,color 255 0 0,0,-1"); - DispatchKeyValue(iTriggerRoar2, "OnStartTouch", "!activator,AddOutput,color 255 255 255,10,-1"); - fOriginTemp[0] = fOrigin[0] - 15.5; - fOriginTemp[1] = fOrigin[1] + 5.0; - fOriginTemp[2] = fOrigin[2] + 31.0; - DispatchKeyValueVector(iTriggerRoar2, "origin", fOriginTemp); - DispatchSpawn(iTriggerRoar2); - ActivateEntity(iTriggerRoar2); - SetEntityModel(iTriggerRoar2, "models/vortigaunt_slave.mdl"); - float fMinbounds7[3] = {-736.0, -736.0, -560.0}; - float fMaxbounds7[3] = {736.0, 736.0, 560.0}; - SetEntPropVector(iTriggerRoar2, Prop_Send, "m_vecMins", fMinbounds7); - SetEntPropVector(iTriggerRoar2, Prop_Send, "m_vecMaxs", fMaxbounds7); - SetEntProp(iTriggerRoar2, Prop_Send, "m_nSolidType", 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"); - Format(sBuffer, sizeof(sBuffer), "balrog_kill_trigger_attack_%d", g_iCounter); - DispatchKeyValue(iKillTriggerAttack, "targetname", sBuffer); - DispatchKeyValue(iKillTriggerAttack, "spawnflags", "9"); - DispatchKeyValue(iKillTriggerAttack, "startdisabled", "1"); - DispatchKeyValue(iKillTriggerAttack, "filtername", "item_spawn_human_filter"); - DispatchKeyValue(iKillTriggerAttack, "damagetype", "128"); - DispatchKeyValue(iKillTriggerAttack, "damagemodel", "0"); - DispatchKeyValue(iKillTriggerAttack, "damagecap", "20"); - DispatchKeyValue(iKillTriggerAttack, "damage", "500"); - fOriginTemp[0] = fOrigin[0] + 360.5; - fOriginTemp[1] = fOrigin[1] - 58.74; - fOriginTemp[2] = fOrigin[2] + 35.6; - DispatchKeyValueVector(iKillTriggerAttack, "origin", fOriginTemp); - DispatchSpawn(iKillTriggerAttack); - ActivateEntity(iKillTriggerAttack); - SetEntityModel(iKillTriggerAttack, "models/vortigaunt_slave.mdl"); - float fMinbounds8[3] = {-152.0, -256.0, -71.5}; - float fMaxbounds8[3] = {152.0, 256.0, 71.5}; - SetEntPropVector(iKillTriggerAttack, Prop_Send, "m_vecMins", fMinbounds8); - SetEntPropVector(iKillTriggerAttack, Prop_Send, "m_vecMaxs", fMaxbounds8); - SetEntProp(iKillTriggerAttack, Prop_Send, "m_nSolidType", 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"); - Format(sBuffer, sizeof(sBuffer), "balrog_sound1_%d", g_iCounter); - DispatchKeyValue(iSound1, "targetname", sBuffer); - DispatchKeyValue(iSound1, "spawnflags", "49"); - DispatchKeyValue(iSound1, "radius", "8250"); - Format(sBuffer, sizeof(sBuffer), "balrog_knife_%d", g_iCounter); - DispatchKeyValue(iSound1, "SourceEntityName", sBuffer); - DispatchKeyValue(iSound1, "message", "unloze/balrog_scream.mp3"); - DispatchKeyValue(iSound1, "volume", "10"); - DispatchKeyValue(iSound1, "health", "10"); - DispatchKeyValue(iSound1, "pitch", "100"); - DispatchKeyValue(iSound1, "pitchstart", "100"); - DispatchSpawn(iSound1); - ActivateEntity(iSound1); - SetVariantString("!activator"); - AcceptEntityInput(iSound1, "SetParent", iKnife); - - // Sound 2 - int iSound2 = CreateEntityByName("ambient_generic"); - Format(sBuffer, sizeof(sBuffer), "balrog_sound2_%d", g_iCounter); - DispatchKeyValue(iSound2, "targetname", sBuffer); - DispatchKeyValue(iSound2, "spawnflags", "48"); - DispatchKeyValue(iSound2, "radius", "8250"); - Format(sBuffer, sizeof(sBuffer), "balrog_knife_%d", g_iCounter); - DispatchKeyValue(iSound2, "SourceEntityName", sBuffer); - DispatchKeyValue(iSound2, "message", "npc/strider/strider_step2.wav"); - DispatchKeyValue(iSound2, "volume", "10"); - DispatchKeyValue(iSound2, "health", "10"); - DispatchKeyValue(iSound2, "pitch", "100"); - DispatchKeyValue(iSound2, "pitchstart", "100"); - DispatchSpawn(iSound2); - ActivateEntity(iSound2); - SetVariantString("!activator"); - AcceptEntityInput(iSound2, "SetParent", iKnife); - - // Sound 3 - int iSound3 = CreateEntityByName("ambient_generic"); - Format(sBuffer, sizeof(sBuffer), "balrog_sound3_%d", g_iCounter); - DispatchKeyValue(iSound3, "targetname", sBuffer); - DispatchKeyValue(iSound3, "spawnflags", "48"); - DispatchKeyValue(iSound3, "radius", "8250"); - Format(sBuffer, sizeof(sBuffer), "balrog_knife_%d", g_iCounter); - DispatchKeyValue(iSound3, "SourceEntityName", sBuffer); - DispatchKeyValue(iSound3, "message", "npc/strider/strider_skewer1.wav"); - DispatchKeyValue(iSound3, "volume", "10"); - DispatchKeyValue(iSound3, "health", "10"); - DispatchKeyValue(iSound3, "pitch", "100"); - DispatchKeyValue(iSound3, "pitchstart", "100"); - DispatchSpawn(iSound3); - ActivateEntity(iSound3); - SetVariantString("!activator"); - AcceptEntityInput(iSound3, "SetParent", iKnife); - - // Timer - int iTimer = CreateEntityByName("logic_timer"); - Format(sBuffer, sizeof(sBuffer), "balrog_timer_%d", g_iCounter); - DispatchKeyValue(iTimer, "targetname", sBuffer); - DispatchKeyValue(iTimer, "spawnflags", "0"); - DispatchKeyValue(iTimer, "startdisabled", "1"); - DispatchKeyValue(iTimer, "UseRandomTime", "0"); - DispatchKeyValue(iTimer, "RefireTime", "0.95"); - Format(sBuffer, sizeof(sBuffer), "balrog_sound2_%d,PlaySound,,0,-1", g_iCounter); - DispatchKeyValue(iTimer, "OnTimer", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_kill_trigger_walking_%d,Disable,,0,-1", g_iCounter); - DispatchKeyValue(iTimer, "OnTimer", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_kill_trigger_walking_%d,Enable,,0.1,-1", g_iCounter); - DispatchKeyValue(iTimer, "OnTimer", sBuffer); - DispatchSpawn(iTimer); - ActivateEntity(iTimer); - SetVariantString("!activator"); - AcceptEntityInput(iTimer, "SetParent", iKnife); - - // Roar - int iRoar = CreateEntityByName("logic_relay"); - Format(sBuffer, sizeof(sBuffer), "balrog_relay1_%d", g_iCounter); - DispatchKeyValue(iRoar, "targetname", sBuffer); - DispatchKeyValue(iRoar, "spawnflags", "0"); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_roar2_%d,Enable,,0,-1", g_iCounter); - DispatchKeyValue(iRoar, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_roar2_%d,Disable,,4,-1", g_iCounter); - DispatchKeyValue(iRoar, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_model_%d,SetAnimation,balrog_groar,0,-1", g_iCounter); - DispatchKeyValue(iRoar, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_roar1_%d,Enable,,0,-1", g_iCounter); - //DispatchKeyValue(iRoar, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_roar1_%d,Disable,,3.05,-1", g_iCounter); - //DispatchKeyValue(iRoar, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_roar1_%d,Disable,,0.1,-1", g_iCounter); - //DispatchKeyValue(iRoar, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_roar1_%d,Disable,,3.01,-1", g_iCounter); - //DispatchKeyValue(iRoar, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_relay2_%d,Disable,,0,-1", g_iCounter); - DispatchKeyValue(iRoar, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_relay2_%d,Enable,,4,-1", g_iCounter); - 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", "!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"); - Format(sBuffer, sizeof(sBuffer), "balrog_relay2_%d", g_iCounter); - DispatchKeyValue(iAttack, "targetname", sBuffer); - DispatchKeyValue(iAttack, "spawnflags", "0"); - Format(sBuffer, sizeof(sBuffer), "balrog_model_%d,SetAnimation,balrog_attack1,0,-1", g_iCounter); - DispatchKeyValue(iAttack, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_sound3_%d,PlaySound,,1,-1", g_iCounter); - DispatchKeyValue(iAttack, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_roar1_%d,Enable,,0,-1", g_iCounter); - //DispatchKeyValue(iAttack, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_trigger_roar1_%d,Disable,,0.1,-1", g_iCounter); - //DispatchKeyValue(iAttack, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_kill_trigger_attack_%d,Enable,,1.75,-1", g_iCounter); - DispatchKeyValue(iAttack, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_kill_trigger_attack_%d,Disable,,2.2,-1", g_iCounter); - DispatchKeyValue(iAttack, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_relay1_%d,Disable,,0,-1", g_iCounter); - 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", "!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"); - Format(sBuffer, sizeof(sBuffer), "balrog_physbox_%d", g_iCounter); - DispatchKeyValue(iPhysbox, "targetname", sBuffer); - DispatchKeyValue(iPhysbox, "spawnflags", "574464"); - DispatchKeyValue(iPhysbox, "rendermode", "0"); - DispatchKeyValue(iPhysbox, "renderfx", "0"); - DispatchKeyValue(iPhysbox, "rendercolor", "255 255 255"); - DispatchKeyValue(iPhysbox, "renderamt", "255 255 255"); - DispatchKeyValue(iPhysbox, "propdata", "0"); - DispatchKeyValue(iPhysbox, "pressuredelay", "0"); - DispatchKeyValue(iPhysbox, "preferredcarryangles", "0 0 0"); - DispatchKeyValue(iPhysbox, "PerformanceMode", "0"); - DispatchKeyValue(iPhysbox, "notsolid", "0"); - DispatchKeyValue(iPhysbox, "nodamageforces", "0"); - DispatchKeyValue(iPhysbox, "material", "0"); - DispatchKeyValue(iPhysbox, "massScale", "0"); - DispatchKeyValue(iPhysbox, "health", "32500"); - DispatchKeyValue(iPhysbox, "gibdir", "0 0 0"); - DispatchKeyValue(iPhysbox, "forcetoenablemotion", "0"); - DispatchKeyValue(iPhysbox, "explosion", "0"); - DispatchKeyValue(iPhysbox, "ExplodeRadius", "0"); - DispatchKeyValue(iPhysbox, "explodemagnitude", "0"); - DispatchKeyValue(iPhysbox, "ExplodeDamage", "0"); - DispatchKeyValue(iPhysbox, "disableshadows", "1"); - 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); - Format(sBuffer, sizeof(sBuffer), "balrog_model_%d,ClearParent,,0,-1", g_iCounter); - DispatchKeyValue(iPhysbox, "OnBreak", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_model_%d,SetAnimation,balrog_death,0,-1", g_iCounter); - DispatchKeyValue(iPhysbox, "OnBreak", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_model_%d,SetDefaultAnimation,balrog_death_idle,0,-1", g_iCounter); - DispatchKeyValue(iPhysbox, "OnBreak", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_kill_trigger_%d,Enable,,1,-1", g_iCounter); - DispatchKeyValue(iPhysbox, "OnBreak", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_kill_trigger_%d,Disable,,2,-1", g_iCounter); - DispatchKeyValue(iPhysbox, "OnBreak", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_relay1_%d,Disable,,0,-1", g_iCounter); - DispatchKeyValue(iPhysbox, "OnBreak", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_relay2_%d,Disable,,0,-1", g_iCounter); - DispatchKeyValue(iPhysbox, "OnBreak", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_timer_%d,Disable,,0,-1", g_iCounter); - DispatchKeyValue(iPhysbox, "OnBreak", sBuffer); - fOriginTemp[0] = fOrigin[0] + 44.0; - fOriginTemp[1] = fOrigin[1] - 18.74; - fOriginTemp[2] = fOrigin[2] + 126.89; - DispatchKeyValueVector(iPhysbox, "origin", fOriginTemp); - DispatchSpawn(iPhysbox); - ActivateEntity(iPhysbox); - float fMinbounds3[3] = {-124.0, -120.0, -188.2}; - float fMaxbounds3[3] = {124.0, 120.0, 188.2}; - SetEntPropVector(iPhysbox, Prop_Send, "m_vecMins", fMinbounds3); - SetEntPropVector(iPhysbox, Prop_Send, "m_vecMaxs", fMaxbounds3); - SetEntProp(iPhysbox, Prop_Send, "m_nSolidType", 3); - int enteffects3 = GetEntProp(iPhysbox, Prop_Send, "m_fEffects"); - enteffects3 |= 32; - SetEntProp(iPhysbox, Prop_Send, "m_fEffects", enteffects3); - SetVariantString("!activator"); - AcceptEntityInput(iPhysbox, "SetParent", iKnife); - HookSingleEntityOutput(iPhysbox, "OnBreak", BalrogKill, true); - - // Game UI - int iUI = CreateEntityByName("game_ui"); - Format(sBuffer, sizeof(sBuffer), "balrog_ui_%d", g_iCounter); - DispatchKeyValue(iUI, "targetname", sBuffer); - DispatchKeyValue(iUI, "spawnflags", "0"); - DispatchKeyValue(iUI, "FieldOfView", "-1.0"); - Format(sBuffer, sizeof(sBuffer), "balrog_relay2_%d,Trigger,,0,-1", g_iCounter); - DispatchKeyValue(iUI, "PressedAttack", sBuffer); - Format(sBuffer, sizeof(sBuffer), "balrog_relay1_%d,Trigger,,0,-1", g_iCounter); - DispatchKeyValue(iUI, "PressedAttack2", sBuffer); - DispatchKeyValue(iUI, "PressedAttack2", "item_spawn_speed,ModifySpeed,0,0,-1"); - DispatchKeyValue(iUI, "PressedAttack2", "item_spawn_speed,ModifySpeed,0,0.1,-1"); - DispatchKeyValue(iUI, "PressedAttack2", "item_spawn_speed,ModifySpeed,0,0.2,-1"); - DispatchKeyValue(iUI, "PressedAttack2", "item_spawn_speed,ModifySpeed,0,0.3,-1"); - DispatchKeyValue(iUI, "PressedAttack2", "item_spawn_speed,ModifySpeed,0.8,3.0,-1"); - DispatchKeyValue(iUI, "PressedAttack", "item_spawn_speed,ModifySpeed,0,0,-1"); - DispatchKeyValue(iUI, "PressedAttack", "item_spawn_speed,ModifySpeed,0.8,3.0,-1"); - DispatchSpawn(iUI); - ActivateEntity(iUI); - SetVariantString("!activator"); - AcceptEntityInput(iUI, "SetParent", iKnife); - - // enable pickup trigger - SetVariantString("!activator"); - AcceptEntityInput(iTrigger, "Enable"); - - g_iCounter ++; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void SpawnTNT(float fOrigin[3]) -{ - char sBuffer[256]; - float fOriginTemp[3]; - - // Knife - int iKnife = CreateEntityByName("weapon_knife"); - Format(sBuffer, sizeof(sBuffer), "tnt_knife_%d", g_iCounter); - DispatchKeyValue(iKnife, "targetname", sBuffer); - Format(sBuffer, sizeof(sBuffer), "11051995%d", g_iCounter); - DispatchKeyValue(iKnife, "hammerid", sBuffer); - DispatchKeyValue(iKnife, "spawnflags", "1"); - DispatchKeyValue(iKnife, "angles", "0 0 0"); - DispatchKeyValueVector(iKnife, "origin", fOrigin); - Format(sBuffer, sizeof(sBuffer), "tnt_ui_%d,Activate,,0,-1", g_iCounter); - DispatchKeyValue(iKnife, "OnPlayerPickup", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_holder_sparks_%d,StartSpark,,0,1", g_iCounter); - DispatchKeyValue(iKnife, "OnPlayerPickup", sBuffer); - DispatchSpawn(iKnife); - ActivateEntity(iKnife); - HookSingleEntityOutput(iKnife, "OnPlayerPickup", TNTPickup, true); - - // Model - int iModel = CreateEntityByName("prop_dynamic"); - Format(sBuffer, sizeof(sBuffer), "tnt_model_%d", g_iCounter); - DispatchKeyValue(iModel, "targetname", sBuffer); - DispatchKeyValue(iModel, "model", "models/props/furnitures/humans/barrel01b.mdl"); - DispatchKeyValue(iModel, "DisableBoneFollowers", "1"); - DispatchKeyValue(iModel, "angles", "0.432793 271.953 -12.4926"); - DispatchKeyValue(iModel, "solid", "0"); - DispatchKeyValue(iModel, "OnUser1", "!self,IgniteLifetime,0,0,-1"); - DispatchKeyValue(iModel, "OnUser1", "!self,FireUser1,,0.2,-1"); - fOriginTemp[0] = fOrigin[0] - 30.16; - fOriginTemp[1] = fOrigin[1] - 2.0; - fOriginTemp[2] = fOrigin[2] - 9.2; - DispatchKeyValueVector(iModel, "origin", fOriginTemp); - DispatchSpawn(iModel); - ActivateEntity(iModel); - SetVariantString("!activator"); - AcceptEntityInput(iModel, "SetParent", iKnife); - SetVariantString("9999999"); - AcceptEntityInput(iModel, "SetHealth"); - AcceptEntityInput(iModel, "FireUser1"); - - // pickup trigger_once - int iTrigger = CreateEntityByName("trigger_once"); - Format(sBuffer, sizeof(sBuffer), "tnt_trigger_%d", g_iCounter); - DispatchKeyValue(iTrigger, "targetname", sBuffer); - DispatchKeyValue(iTrigger, "spawnflags", "1"); - DispatchKeyValue(iTrigger, "startdisabled", "1"); - DispatchKeyValue(iTrigger, "filtername", "item_spawn_zombie_filter"); - DispatchKeyValue(iTrigger, "OnStartTouch", "item_spawn_weaponstrip,StripWeaponsAndSuit,,0,1"); - DispatchKeyValueVector(iTrigger, "origin", fOrigin); - DispatchSpawn(iTrigger); - ActivateEntity(iTrigger); - SetEntityModel(iTrigger, "models/vortigaunt_slave.mdl"); - float fMinbounds[3] = {-10.0, -10.0, -36.0}; - float fMaxbounds[3] = {10.0, 10.0, 36.0}; - SetEntPropVector(iTrigger, Prop_Send, "m_vecMins", fMinbounds); - SetEntPropVector(iTrigger, Prop_Send, "m_vecMaxs", fMaxbounds); - SetEntProp(iTrigger, Prop_Send, "m_nSolidType", 2); - int enteffects = GetEntProp(iTrigger, Prop_Send, "m_fEffects"); - enteffects |= 32; - SetEntProp(iTrigger, Prop_Send, "m_fEffects", enteffects); - SetVariantString("!activator"); - AcceptEntityInput(iTrigger, "SetParent", iKnife); - - // Sparks - int iSparksHolder = CreateEntityByName("env_spark"); - Format(sBuffer, sizeof(sBuffer), "tnt_holder_sparks_%d", g_iCounter); - DispatchKeyValue(iSparksHolder, "targetname", sBuffer); - DispatchKeyValue(iSparksHolder, "TrailLength", "1"); - DispatchKeyValue(iSparksHolder, "spawnflags", "0"); - DispatchKeyValue(iSparksHolder, "angles", "0 0 0"); - DispatchKeyValue(iSparksHolder, "MaxDelay", "0"); - DispatchKeyValue(iSparksHolder, "Magnitude", "1"); - fOriginTemp[0] = fOrigin[0] - 22.0; - fOriginTemp[1] = fOrigin[1] - 0.0; - fOriginTemp[2] = fOrigin[2] + 36.0; - DispatchKeyValueVector(iSparksHolder, "origin", fOriginTemp); - DispatchSpawn(iSparksHolder); - ActivateEntity(iSparksHolder); - SetVariantString("!activator"); - AcceptEntityInput(iSparksHolder, "SetParent", iKnife); - - // Sprite - int iSprite = CreateEntityByName("env_sprite"); - Format(sBuffer, sizeof(sBuffer), "tnt_sprite_%d", g_iCounter); - DispatchKeyValue(iSprite, "targetname", sBuffer); - DispatchKeyValue(iSprite, "spawnflags", "0"); - DispatchKeyValue(iSprite, "spawnflags", "0"); - DispatchKeyValue(iSprite, "scale", "0.1"); - DispatchKeyValue(iSprite, "rendermode", "5"); - DispatchKeyValue(iSprite, "renderfx", "0"); - DispatchKeyValue(iSprite, "model", "sprites/640_train.vmt"); - fOriginTemp[0] = fOrigin[0] + 31.0; - fOriginTemp[1] = fOrigin[1] + 1.73; - fOriginTemp[2] = fOrigin[2] + 4.3; - DispatchKeyValueVector(iSprite, "origin", fOriginTemp); - DispatchSpawn(iSprite); - ActivateEntity(iSprite); - SetVariantString("!activator"); - AcceptEntityInput(iSprite, "SetParent", iKnife); - - // Push - int iPush = CreateEntityByName("trigger_push"); - Format(sBuffer, sizeof(sBuffer), "tnt_push_%d", g_iCounter); - DispatchKeyValue(iPush, "targetname", sBuffer); - DispatchKeyValue(iPush, "spawnflags", "8"); - DispatchKeyValue(iPush, "startdisabled", "1"); - DispatchKeyValue(iPush, "speed", "18000"); - DispatchKeyValue(iPush, "pushdir", "-60 0 0"); - fOriginTemp[0] = fOrigin[0] + 79.46; - fOriginTemp[1] = fOrigin[1] - 0.0; - fOriginTemp[2] = fOrigin[2] + 15.76; - DispatchKeyValueVector(iPush, "origin", fOriginTemp); - DispatchSpawn(iPush); - ActivateEntity(iPush); - SetEntityModel(iPush, "models/vortigaunt_slave.mdl"); - float fMinbounds2[3] = {-36.0, -12.0, -25.0}; - float fMaxbounds2[3] = {36.0, 12.0, 25.0}; - SetEntPropVector(iPush, Prop_Send, "m_vecMins", fMinbounds2); - SetEntPropVector(iPush, Prop_Send, "m_vecMaxs", fMaxbounds2); - SetEntProp(iPush, Prop_Send, "m_nSolidType", 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 Trigger - int iRelayTrigger = CreateEntityByName("logic_relay"); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_trigger_%d", g_iCounter); - DispatchKeyValue(iRelayTrigger, "targetname", sBuffer); - DispatchKeyValue(iRelayTrigger, "spawnflags", "0"); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_launch_up_%d,Trigger,,0,-1", g_iCounter); - DispatchKeyValue(iRelayTrigger, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_launch_%d,Trigger,,0,-1", g_iCounter); - DispatchKeyValue(iRelayTrigger, "OnTrigger", sBuffer); - DispatchSpawn(iRelayTrigger); - ActivateEntity(iRelayTrigger); - SetVariantString("!activator"); - AcceptEntityInput(iRelayTrigger, "SetParent", iKnife); - - // Launch Compare - int iLaunchCompare = CreateEntityByName("logic_compare"); - Format(sBuffer, sizeof(sBuffer), "tnt_compare_launch_%d", g_iCounter); - DispatchKeyValue(iLaunchCompare, "targetname", sBuffer); - DispatchKeyValue(iLaunchCompare, "InitialValue", "1"); - DispatchKeyValue(iLaunchCompare, "CompareValue", "0"); - DispatchKeyValue(iLaunchCompare, "OnEqualTo", "!self,SetValue,1,0,-1"); - Format(sBuffer, sizeof(sBuffer), "tnt_sprite_%d,HideSprite,,0,-1", g_iCounter); - DispatchKeyValue(iLaunchCompare, "OnEqualTo", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_launch_%d,Enable,,0,-1", g_iCounter); - DispatchKeyValue(iLaunchCompare, "OnEqualTo", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_launch_up_%d,Disable,,0,-1", g_iCounter); - DispatchKeyValue(iLaunchCompare, "OnEqualTo", sBuffer); - DispatchKeyValue(iLaunchCompare, "OnNotEqualTo", "!self,SetValue,0,0,-1"); - Format(sBuffer, sizeof(sBuffer), "tnt_sprite_%d,ShowSprite,,0,-1", g_iCounter); - DispatchKeyValue(iLaunchCompare, "OnNotEqualTo", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_launch_%d,Disable,,0,-1", g_iCounter); - DispatchKeyValue(iLaunchCompare, "OnNotEqualTo", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_launch_up_%d,Enable,,0,-1", g_iCounter); - DispatchKeyValue(iLaunchCompare, "OnNotEqualTo", sBuffer); - DispatchKeyValueVector(iLaunchCompare, "origin", fOrigin); - DispatchSpawn(iLaunchCompare); - ActivateEntity(iLaunchCompare); - SetVariantString("!activator"); - AcceptEntityInput(iLaunchCompare, "SetParent", iKnife); - - // Relay Launch - int iRelayLaunch = CreateEntityByName("logic_relay"); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_launch_%d", g_iCounter); - DispatchKeyValue(iRelayLaunch, "targetname", sBuffer); - DispatchKeyValue(iRelayLaunch, "spawnflags", "0"); - DispatchKeyValue(iRelayLaunch, "StartDisabled", "0"); - DispatchKeyValueVector(iRelayLaunch, "origin", fOrigin); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_trigger_%d,Disable,,0,-1", g_iCounter); - DispatchKeyValue(iRelayLaunch, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_trigger_%d,Enable,,20,-1", g_iCounter); - DispatchKeyValue(iRelayLaunch, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_holder_sparks_%d,StopSpark,,0,-1", g_iCounter); - DispatchKeyValue(iRelayLaunch, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_holder_sparks_%d,StartSpark,,20,-1", g_iCounter); - DispatchKeyValue(iRelayLaunch, "OnTrigger", sBuffer); - DispatchSpawn(iRelayLaunch); - ActivateEntity(iRelayLaunch); - SetVariantString("!activator"); - AcceptEntityInput(iRelayLaunch, "SetParent", iKnife); - HookSingleEntityOutput(iRelayLaunch, "OnTrigger", TNTUse, false); - - // Relay Launch Up - int iRelayLaunchUp = CreateEntityByName("logic_relay"); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_launch_up_%d", g_iCounter); - DispatchKeyValue(iRelayLaunchUp, "targetname", sBuffer); - DispatchKeyValue(iRelayLaunchUp, "spawnflags", "0"); - DispatchKeyValue(iRelayLaunchUp, "StartDisabled", "1"); - DispatchKeyValueVector(iRelayLaunchUp, "origin", fOrigin); - Format(sBuffer, sizeof(sBuffer), "tnt_push_%d,Enable,,0,-1", g_iCounter); - DispatchKeyValue(iRelayLaunchUp, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_push_%d,Disable,,0.5,-1", g_iCounter); - DispatchKeyValue(iRelayLaunchUp, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_trigger_%d,Disable,,0,-1", g_iCounter); - DispatchKeyValue(iRelayLaunchUp, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_trigger_%d,Enable,,20,-1", g_iCounter); - DispatchKeyValue(iRelayLaunchUp, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_holder_sparks_%d,StopSpark,,0,-1", g_iCounter); - DispatchKeyValue(iRelayLaunchUp, "OnTrigger", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_holder_sparks_%d,StartSpark,,20,-1", g_iCounter); - DispatchKeyValue(iRelayLaunchUp, "OnTrigger", sBuffer); - DispatchSpawn(iRelayLaunchUp); - ActivateEntity(iRelayLaunchUp); - SetVariantString("!activator"); - AcceptEntityInput(iRelayLaunchUp, "SetParent", iKnife); - HookSingleEntityOutput(iRelayLaunchUp, "OnTrigger", TNTUse, false); - - // Game UI - int iUI = CreateEntityByName("game_ui"); - Format(sBuffer, sizeof(sBuffer), "tnt_ui_%d", g_iCounter); - DispatchKeyValue(iUI, "targetname", sBuffer); - DispatchKeyValue(iUI, "spawnflags", "0"); - DispatchKeyValue(iUI, "FieldOfView", "-1.0"); - Format(sBuffer, sizeof(sBuffer), "tnt_relay_trigger_%d,Trigger,,0,-1", g_iCounter); - DispatchKeyValue(iUI, "PressedAttack2", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_compare_launch_%d,Compare,,0,-1", g_iCounter); - DispatchKeyValue(iUI, "PressedAttack", sBuffer); - DispatchSpawn(iUI); - ActivateEntity(iUI); - SetVariantString("!activator"); - AcceptEntityInput(iUI, "SetParent", iKnife); - - // enable pickup trigger - SetVariantString("!activator"); - AcceptEntityInput(iTrigger, "Enable"); - - g_iCounter ++; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void SpawnHumanDog(float fOrigin[3]) -{ - char sBuffer[256]; - float fOriginTemp[3]; - - // Knife - int iKnife = CreateEntityByName("weapon_knife"); - Format(sBuffer, sizeof(sBuffer), "human_dog_knife_%d", g_iCounter); - DispatchKeyValue(iKnife, "targetname", sBuffer); - Format(sBuffer, sizeof(sBuffer), "11051995%d", g_iCounter); - DispatchKeyValue(iKnife, "hammerid", sBuffer); - DispatchKeyValue(iKnife, "spawnflags", "1"); - DispatchKeyValue(iKnife, "angles", "0 0 0"); - DispatchKeyValueVector(iKnife, "origin", fOrigin); - //DispatchKeyValue(iKnife, "OnPlayerPickUp", "!activator,AddOutput,renderfx 6,0,-1"); - Format(sBuffer, sizeof(sBuffer), "human_dog_ui_%d,Activate,,0,-1", g_iCounter); - DispatchKeyValue(iKnife, "OnPlayerPickup", sBuffer); - DispatchSpawn(iKnife); - ActivateEntity(iKnife); - HookSingleEntityOutput(iKnife, "OnPlayerPickup", HumanDogPickup, true); - - // Model - int iModel = CreateEntityByName("prop_dynamic"); - Format(sBuffer, sizeof(sBuffer), "human_dog_model_%d", g_iCounter); - DispatchKeyValue(iModel, "targetname", sBuffer); - DispatchKeyValue(iModel, "model", "models/player/pil/re1/dog/dog_pil.mdl"); - DispatchKeyValue(iModel, "DisableBoneFollowers", "1"); - DispatchKeyValue(iModel, "angles", "0 0 0"); - DispatchKeyValue(iModel, "solid", "0"); - DispatchKeyValue(iModel, "skin", "1"); - DispatchKeyValue(iModel, "DefaultAnim", "Run_lower"); - fOriginTemp[0] = fOrigin[0] + 10.4; - fOriginTemp[1] = fOrigin[1] - 2.0; - fOriginTemp[2] = fOrigin[2] - 40.32; - DispatchKeyValueVector(iModel, "origin", fOriginTemp); - DispatchSpawn(iModel); - ActivateEntity(iModel); - SetVariantString("!activator"); - AcceptEntityInput(iModel, "SetParent", iKnife); - - // pickup trigger_once - int iTrigger = CreateEntityByName("trigger_once"); - Format(sBuffer, sizeof(sBuffer), "tnt_trigger_%d", g_iCounter); - DispatchKeyValue(iTrigger, "targetname", sBuffer); - DispatchKeyValue(iTrigger, "spawnflags", "1"); - DispatchKeyValue(iTrigger, "startdisabled", "1"); - DispatchKeyValue(iTrigger, "filtername", "item_spawn_human_filter"); - DispatchKeyValue(iTrigger, "OnStartTouch", "item_spawn_weaponstrip,StripWeaponsAndSuit,,0,1"); - DispatchKeyValueVector(iTrigger, "origin", fOrigin); - DispatchSpawn(iTrigger); - ActivateEntity(iTrigger); - SetEntityModel(iTrigger, "models/vortigaunt_slave.mdl"); - float fMinbounds[3] = {-1.0, -1.0, -10.0}; - float fMaxbounds[3] = {1.0, 1.0, 10.0}; - SetEntPropVector(iTrigger, Prop_Send, "m_vecMins", fMinbounds); - SetEntPropVector(iTrigger, Prop_Send, "m_vecMaxs", fMaxbounds); - SetEntProp(iTrigger, Prop_Send, "m_nSolidType", 2); - int enteffects = GetEntProp(iTrigger, Prop_Send, "m_fEffects"); - enteffects |= 32; - SetEntProp(iTrigger, Prop_Send, "m_fEffects", enteffects); - SetVariantString("!activator"); - AcceptEntityInput(iTrigger, "SetParent", iKnife); - - // Relay Trigger - int iRelayTrigger = CreateEntityByName("logic_relay"); - Format(sBuffer, sizeof(sBuffer), "human_dog_relay_trigger_%d", g_iCounter); - DispatchKeyValue(iRelayTrigger, "targetname", sBuffer); - DispatchKeyValue(iRelayTrigger, "spawnflags", "0"); - Format(sBuffer, sizeof(sBuffer), "human_dog_relay_trigger2_%d,Trigger,,0,4", g_iCounter); - DispatchKeyValue(iRelayTrigger, "OnTrigger", sBuffer); - DispatchSpawn(iRelayTrigger); - ActivateEntity(iRelayTrigger); - SetVariantString("!activator"); - AcceptEntityInput(iRelayTrigger, "SetParent", iKnife); - - // Relay Trigger2 - int iRelayTrigger2 = CreateEntityByName("logic_relay"); - Format(sBuffer, sizeof(sBuffer), "human_dog_relay_trigger2_%d", g_iCounter); - DispatchKeyValue(iRelayTrigger2, "targetname", sBuffer); - DispatchKeyValue(iRelayTrigger2, "spawnflags", "0"); - DispatchSpawn(iRelayTrigger2); - ActivateEntity(iRelayTrigger2); - SetVariantString("!activator"); - AcceptEntityInput(iRelayTrigger2, "SetParent", iKnife); - HookSingleEntityOutput(iRelayTrigger2, "OnTrigger", HumanDogUse, false); - - // Game UI - int iUI = CreateEntityByName("game_ui"); - Format(sBuffer, sizeof(sBuffer), "human_dog_ui_%d", g_iCounter); - DispatchKeyValue(iUI, "targetname", sBuffer); - DispatchKeyValue(iUI, "spawnflags", "0"); - DispatchKeyValue(iUI, "FieldOfView", "-1.0"); - Format(sBuffer, sizeof(sBuffer), "human_dog_relay_trigger_%d,Trigger,,0,-1", g_iCounter); - DispatchKeyValue(iUI, "PressedAttack2", sBuffer); - DispatchSpawn(iUI); - ActivateEntity(iUI); - SetVariantString("!activator"); - AcceptEntityInput(iUI, "SetParent", iKnife); - - // enable pickup trigger - SetVariantString("!activator"); - AcceptEntityInput(iTrigger, "Enable"); - - g_iCounter ++; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void VortigauntPickup(const char[] output, int caller, int activator, float delay) -{ - 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."); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void BalrogPickup(const char[] output, int caller, int activator, float delay) -{ - 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"); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void TNTPickup(const char[] output, int caller, int activator, float delay) -{ - char sBuffer[128]; - Format(sBuffer, sizeof(sBuffer), "say ** %N has picked up TNT **", activator); - SetVariantString(sBuffer); - AcceptEntityInput(g_iConsole, "Command"); - PrintToChat(activator, " RIGHT CLICK = Launch TNT and LEFT CLICK = Switch between 'put down' and 'throw'."); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void TNTUse(const char[] output, int caller, int activator, float delay) -{ - char sBuffer[256]; - float fOrigin[3]; - float fAngles[3]; - - GetClientEyeAngles(activator, fAngles); - GetClientEyePosition(activator, fOrigin); - fAngles[0] = 0.0; - fAngles[2] = 0.0; - fOrigin[0] = fOrigin[0] + Cosine(DegToRad(fAngles[1])) * 46.63; - fOrigin[1] = fOrigin[1] + Sine(DegToRad(fAngles[1])) * 46.63; - fOrigin[2] = fOrigin[2] - 29.86; - - // Prop - int iProp = CreateEntityByName("prop_physics_multiplayer"); - Format(sBuffer, sizeof(sBuffer), "tnt_prop_%d", g_iCounter); - DispatchKeyValue(iProp, "targetname", sBuffer); - DispatchKeyValue(iProp, "model", "models/props/furnitures/humans/barrel01b.mdl"); - DispatchKeyValue(iProp, "spawnflags", "256"); - DispatchKeyValue(iProp, "physdamagescale", "0.1"); - DispatchKeyValue(iProp, "PerformanceMode", "0"); - DispatchKeyValue(iProp, "nodamageforces", "0"); - DispatchKeyValue(iProp, "solid", "6"); - DispatchKeyValue(iProp, "minhealthdmg", "999999"); - DispatchKeyValue(iProp, "health", "999999"); - DispatchKeyValueVector(iProp, "origin", fOrigin); - Format(sBuffer, sizeof(sBuffer), "tnt_fire_%d,StartFire,,3,1", g_iCounter); - DispatchKeyValue(iProp, "OnUser1", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_explosion_%d,Explode,,6.5,1", g_iCounter); - DispatchKeyValue(iProp, "OnUser1", sBuffer); - Format(sBuffer, sizeof(sBuffer), "tnt_sound_%d,PlaySound,,6.5,1", g_iCounter); - DispatchKeyValue(iProp, "OnUser1", sBuffer); - Format(sBuffer, sizeof(sBuffer), "!self,Kill,,6.6,1", g_iCounter); - DispatchKeyValue(iProp, "OnUser1", sBuffer); - DispatchSpawn(iProp); - ActivateEntity(iProp); - AcceptEntityInput(iProp, "FireUser1"); - - // Sparks - int iSparks = CreateEntityByName("env_spark"); - Format(sBuffer, sizeof(sBuffer), "tnt_sparks_%d", g_iCounter); - DispatchKeyValue(iSparks, "targetname", sBuffer); - DispatchKeyValue(iSparks, "TrailLength", "1"); - DispatchKeyValue(iSparks, "spawnflags", "64"); - DispatchKeyValue(iSparks, "angles", "0 0 0"); - DispatchKeyValue(iSparks, "MaxDelay", "0"); - DispatchKeyValue(iSparks, "Magnitude", "1"); - DispatchKeyValueVector(iSparks, "origin", fOrigin); - DispatchSpawn(iSparks); - ActivateEntity(iSparks); - SetVariantString("!activator"); - AcceptEntityInput(iSparks, "SetParent", iProp); - - // Fire - int iFire = CreateEntityByName("env_fire"); - Format(sBuffer, sizeof(sBuffer), "tnt_fire_%d", g_iCounter); - DispatchKeyValue(iFire, "targetname", sBuffer); - DispatchKeyValue(iFire, "ignitionpoint", "32"); - DispatchKeyValue(iFire, "spawnflags", "17"); - DispatchKeyValue(iFire, "health", "30"); - DispatchKeyValue(iFire, "firesize", "64"); - DispatchKeyValue(iFire, "fireattack", "4"); - DispatchKeyValue(iFire, "damagescale", "1.0"); - DispatchKeyValueVector(iFire, "origin", fOrigin); - DispatchSpawn(iFire); - ActivateEntity(iFire); - SetVariantString("!activator"); - AcceptEntityInput(iFire, "SetParent", iProp); - - // Explosion - int iExplosion = CreateEntityByName("env_explosion"); - Format(sBuffer, sizeof(sBuffer), "tnt_explosion_%d", g_iCounter); - DispatchKeyValue(iExplosion, "targetname", sBuffer); - DispatchKeyValue(iExplosion, "fireballsprite", "sprites/zerogxplode.spr"); - DispatchKeyValue(iExplosion, "iMagnitude", "220"); - DispatchKeyValue(iExplosion, "iRadiusOverride", "1024"); - DispatchKeyValue(iExplosion, "rendermode", "5"); - DispatchKeyValue(iExplosion, "spawnflags", "16"); - DispatchKeyValueVector(iExplosion, "origin", fOrigin); - DispatchSpawn(iExplosion); - ActivateEntity(iExplosion); - SetVariantString("!activator"); - AcceptEntityInput(iExplosion, "SetParent", iProp); - - // Sound - int iSound = CreateEntityByName("ambient_generic"); - Format(sBuffer, sizeof(sBuffer), "tnt_sound_%d", g_iCounter); - DispatchKeyValue(iSound, "targetname", sBuffer); - DispatchKeyValue(iSound, "spawnflags", "48"); - DispatchKeyValue(iSound, "radius", "9800"); - DispatchKeyValue(iSound, "message", "ambient/explosions/explode_9.wav"); - DispatchKeyValue(iSound, "volume", "10"); - DispatchKeyValue(iSound, "health", "10"); - DispatchKeyValue(iSound, "pitch", "100"); - DispatchKeyValue(iSound, "pitchstart", "100"); - DispatchKeyValueVector(iSound, "origin", fOrigin); - DispatchSpawn(iSound); - ActivateEntity(iSound); - SetVariantString("!activator"); - AcceptEntityInput(iSound, "SetParent", iProp); - - g_iCounter ++; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void HumanDogPickup(const char[] output, int caller, int activator, float delay) -{ - char sBuffer[128]; - Format(sBuffer, sizeof(sBuffer), "say ** %N has picked up Human Dog **", activator); - SetVariantString(sBuffer); - AcceptEntityInput(g_iConsole, "Command"); - PrintToChat(activator, "RIGHT CLICK with your KNIFE to leave a present for the Zombies (max 4)"); - CreateTimer(2.0, EquipWeapons, GetClientUserId(activator), TIMER_FLAG_NO_MAPCHANGE); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public void HumanDogUse(const char[] output, int caller, int activator, float delay) -{ - char sBuffer[256]; - float fOrigin[3]; - float fAngles[3]; - GetClientEyeAngles(activator, fAngles); - GetClientEyePosition(activator, fOrigin); - fAngles[0] = 0.0; - fAngles[2] = 0.0; - fOrigin[0] = fOrigin[0] + Cosine(DegToRad(fAngles[1])) * -50.0; - fOrigin[1] = fOrigin[1] + Sine(DegToRad(fAngles[1])) * -50.0; - fOrigin[2] = fOrigin[2] - 62.00; - - // Prop - int iProp = CreateEntityByName("prop_dynamic"); - Format(sBuffer, sizeof(sBuffer), "human_dog_poo_%d", g_iCounter); - DispatchKeyValue(iProp, "targetname", sBuffer); - DispatchKeyValue(iProp, "model", "models/poo/curlygpoo.mdl"); - DispatchKeyValue(iProp, "spawnflags", "0"); - DispatchKeyValue(iProp, "PerformanceMode", "0"); - DispatchKeyValue(iProp, "solid", "0"); - DispatchKeyValueVector(iProp, "origin", fOrigin); - DispatchSpawn(iProp); - ActivateEntity(iProp); - - // trigger - int iTrigger = CreateEntityByName("trigger_once"); - Format(sBuffer, sizeof(sBuffer), "human_dog_poo_trigger_%d", g_iCounter); - DispatchKeyValue(iTrigger, "targetname", sBuffer); - DispatchKeyValue(iTrigger, "spawnflags", "1"); - DispatchKeyValue(iTrigger, "startdisabled", "0"); - DispatchKeyValue(iTrigger, "filtername", "item_spawn_zombie_filter"); - Format(sBuffer, sizeof(sBuffer), "human_dog_poo_%d,Kill,,1,1", g_iCounter); - DispatchKeyValue(iTrigger, "OnStartTouch", sBuffer); - Format(sBuffer, sizeof(sBuffer), "human_dog_poo_hurt_%d,Enable,,0,1", g_iCounter); - DispatchKeyValue(iTrigger, "OnStartTouch", sBuffer); - Format(sBuffer, sizeof(sBuffer), "human_dog_poo_hurt_%d,Disable,,0.25,1", g_iCounter); - DispatchKeyValue(iTrigger, "OnStartTouch", sBuffer); - Format(sBuffer, sizeof(sBuffer), "human_dog_particles_%d,Start,,0,-1", g_iCounter); - DispatchKeyValue(iTrigger, "OnStartTouch", sBuffer); - Format(sBuffer, sizeof(sBuffer), "human_dog_particles_%d,Kill,,1,-1", g_iCounter); - DispatchKeyValue(iTrigger, "OnStartTouch", sBuffer); - Format(sBuffer, sizeof(sBuffer), "human_dog_sound_%d,PlaySound,,0,-1", g_iCounter); - DispatchKeyValue(iTrigger, "OnStartTouch", sBuffer); - DispatchKeyValueVector(iTrigger, "origin", fOrigin); - DispatchSpawn(iTrigger); - ActivateEntity(iTrigger); - SetEntityModel(iTrigger, "models/vortigaunt_slave.mdl"); - float fMinbounds[3] = {-12.0, -12.0, -7.5}; - float fMaxbounds[3] = {12.0, 12.0, 7.5}; - SetEntPropVector(iTrigger, Prop_Send, "m_vecMins", fMinbounds); - SetEntPropVector(iTrigger, Prop_Send, "m_vecMaxs", fMaxbounds); - SetEntProp(iTrigger, Prop_Send, "m_nSolidType", 2); - int enteffects = GetEntProp(iTrigger, Prop_Send, "m_fEffects"); - enteffects |= 32; - SetEntProp(iTrigger, Prop_Send, "m_fEffects", enteffects); - SetVariantString("!activator"); - AcceptEntityInput(iTrigger, "SetParent", iProp); - - // poo hurt - int iHurt = CreateEntityByName("trigger_hurt"); - Format(sBuffer, sizeof(sBuffer), "human_dog_poo_hurt_%d", g_iCounter); - DispatchKeyValue(iHurt, "targetname", sBuffer); - DispatchKeyValue(iHurt, "spawnflags", "1"); - DispatchKeyValue(iHurt, "startdisabled", "1"); - DispatchKeyValue(iHurt, "filtername", "item_spawn_zombie_filter"); - DispatchKeyValue(iHurt, "damagetype", "0"); - DispatchKeyValue(iHurt, "damagemodel", "0"); - DispatchKeyValue(iHurt, "damagecap", "20"); - DispatchKeyValue(iHurt, "damage", "8000"); - DispatchKeyValueVector(iHurt, "origin", fOrigin); - DispatchSpawn(iHurt); - ActivateEntity(iHurt); - SetEntityModel(iHurt, "models/vortigaunt_slave.mdl"); - float fMinbounds2[3] = {-96.0, -112.0, -142.0}; - float fMaxbounds2[3] = {96.0, 112.0, 142.0}; - SetEntPropVector(iHurt, Prop_Send, "m_vecMins", fMinbounds2); - SetEntPropVector(iHurt, Prop_Send, "m_vecMaxs", fMaxbounds2); - SetEntProp(iHurt, Prop_Send, "m_nSolidType", 3); - int enteffects2 = GetEntProp(iHurt, Prop_Send, "m_fEffects"); - enteffects2 |= 32; - SetEntProp(iHurt, Prop_Send, "m_fEffects", enteffects2); - SetVariantString("!activator"); - AcceptEntityInput(iHurt, "SetParent", iProp); - - // Particles - int iParticles = CreateEntityByName("info_particle_system"); - Format(sBuffer, sizeof(sBuffer), "human_dog_particles_%d", g_iCounter); - DispatchKeyValue(iParticles, "targetname", sBuffer); - DispatchKeyValue(iParticles, "effect_name", "fire_small_01"); - DispatchKeyValue(iParticles, "start_active", "0"); - DispatchKeyValueVector(iParticles, "origin", fOrigin); - DispatchSpawn(iParticles); - ActivateEntity(iParticles); - SetVariantString("!activator"); - AcceptEntityInput(iParticles, "SetParent", iProp); - - // Sound - int iSound = CreateEntityByName("ambient_generic"); - Format(sBuffer, sizeof(sBuffer), "human_dog_sound_%d", g_iCounter); - DispatchKeyValue(iSound, "targetname", sBuffer); - DispatchKeyValue(iSound, "spawnflags", "49"); - DispatchKeyValue(iSound, "radius", "1250"); - DispatchKeyValue(iSound, "message", "ambient/explosions/explode_9.wav"); - DispatchKeyValue(iSound, "volume", "10"); - DispatchKeyValue(iSound, "health", "10"); - DispatchKeyValue(iSound, "pitch", "100"); - DispatchKeyValue(iSound, "pitchstart", "100"); - DispatchKeyValueVector(iSound, "origin", fOrigin); - DispatchSpawn(iSound); - ActivateEntity(iSound); - SetVariantString("!activator"); - AcceptEntityInput(iSound, "SetParent", iProp); - - g_iCounter ++; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -int FindEntityByTargetname(int entity, const char[] sTargetname, const char[] sClassname="*") -{ - if(sTargetname[0] == '#') // HammerID - { - int HammerID = StringToInt(sTargetname[1]); - - while((entity = FindEntityByClassname(entity, sClassname)) != INVALID_ENT_REFERENCE) - { - if(GetEntProp(entity, Prop_Data, "m_iHammerID") == HammerID) - return entity; - } - } - else // Targetname - { - int Wildcard = FindCharInString(sTargetname, '*'); - char sTargetnameBuf[64]; - - while((entity = FindEntityByClassname(entity, sClassname)) != INVALID_ENT_REFERENCE) - { - if(GetEntPropString(entity, Prop_Data, "m_iName", sTargetnameBuf, sizeof(sTargetnameBuf)) <= 0) - continue; - - if(strncmp(sTargetnameBuf, sTargetname, Wildcard) == 0) - return entity; - } - } - - return INVALID_ENT_REFERENCE; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action EquipWeapons(Handle timer, any userid) -{ - int client = GetClientOfUserId(userid); - - if (client != 0) - { - GivePlayerItem(client, "weapon_p90"); - GivePlayerItem(client, "weapon_elite"); - GivePlayerItem(client, "item_kevlar"); - GivePlayerItem(client, "weapon_hegrenade"); - } -} \ No newline at end of file diff --git a/_KillStreaks/scripting/KillStreaks.sp b/_KillStreaks/scripting/KillStreaks.sp deleted file mode 100644 index 4fd8aa3c..00000000 --- a/_KillStreaks/scripting/KillStreaks.sp +++ /dev/null @@ -1,115 +0,0 @@ -#include -#include -#include -#include "loghelper.inc" - -#pragma semicolon 1 -#pragma newdecls required - -ConVar g_cvarMinimumStreak = null; -ConVar g_cvarMaximumStreak = null; - -bool g_bIsMotherZM[MAXPLAYERS+1] = false; -int g_iKillStreak[MAXPLAYERS+1] = 0; - -public Plugin myinfo = -{ - name = "KillStreaks", - author = "Neon", - description = "Recreation of the original HLSTATS Killstreaks for Zombies only + new MotherZM-Win event", - version = "1.1", - url = "https://steamcommunity.com/id/n3ontm" -}; - -public void OnPluginStart() -{ - g_cvarMinimumStreak = CreateConVar("sm_killstreaks_min", "2", "amount of kills required for the lowest killstreak", 0, true, 0.0); - g_cvarMaximumStreak = CreateConVar("sm_killstreaks_max", "12", "amount of kills required for the highest killstreak", 0, true, 0.0); - - HookEvent("round_end", OnRoundEnding, EventHookMode_Pre); - HookEvent("player_spawn", OnClientSpawn); - HookEvent("player_death", OnClientDeath, EventHookMode_Pre); -} - -public void OnMapStart() -{ - GetTeams(); -} - -public void ZR_OnClientInfected(int client, int attacker, bool motherInfect, bool respawnOverride, bool respawn) -{ - if (motherInfect) - g_bIsMotherZM[client] = true; - - if (attacker > -1) - g_iKillStreak[attacker] += 1; -} - -public void OnClientDisconnect(int client) -{ - ResetClient(client); -} - -public void OnClientSpawn(Event hEvent, const char[] sEvent, bool bDontBroadcast) -{ - int client = GetClientOfUserId(hEvent.GetInt("userid")); - ResetClient(client); -} - -public void OnClientDeath(Event hEvent, const char[] sEvent, bool bDontBroadcast) -{ - int client = GetClientOfUserId(hEvent.GetInt("userid")); - EndKillStreak(client); -} - -public void OnRoundEnding(Event hEvent, const char[] sEvent, bool bDontBroadcast) -{ - int iReason = hEvent.GetInt("reason"); - - if (iReason != view_as(CSRoundEnd_GameStart)) - { - for (int client = 1; client <= MaxClients; client++) - { - if (IsValidClient(client)) - { - if ((ZR_IsClientZombie(client)) && (g_bIsMotherZM[client])) - LogPlayerEvent(client, "triggered", "ze_m_zombies_win"); - - EndKillStreak(client); - } - } - } -} - -public void EndKillStreak(int client) -{ - if (g_iKillStreak[client] >= g_cvarMinimumStreak.IntValue) - { - if (g_iKillStreak[client] > g_cvarMaximumStreak.IntValue) - g_iKillStreak[client] = g_cvarMaximumStreak.IntValue; - - char StrEventName[32]; - if(g_bIsMotherZM[client]) - { - Format(StrEventName, sizeof(StrEventName), "ze_m_kill_streak_%d", g_iKillStreak[client]); - LogPlayerEvent(client, "triggered", StrEventName); - } - else - { - Format(StrEventName, sizeof(StrEventName), "ze_kill_streak_%d", g_iKillStreak[client]); - LogPlayerEvent(client, "triggered", StrEventName); - } - ResetClient(client); - } -} - -public void ResetClient(int client) -{ - g_bIsMotherZM[client] = false; - g_iKillStreak[client] = 0; -} - -stock bool IsValidClient(int client) -{ - return (client > 0 && client <= MaxClients && IsClientInGame(client) && IsPlayerAlive(client)); -} \ No newline at end of file diff --git a/_hlstatsx_difficulty/scripting/hlstatsx_difficulty.sp b/_hlstatsx_difficulty/scripting/hlstatsx_difficulty.sp deleted file mode 100644 index 72560308..00000000 --- a/_hlstatsx_difficulty/scripting/hlstatsx_difficulty.sp +++ /dev/null @@ -1,142 +0,0 @@ -#include -#include -#include - -bool G_bIsHuman[MAXPLAYERS+1]; -bool G_bIsZombie[MAXPLAYERS+1]; - -ConVar G_hCvar_Difficulty_Humans; -ConVar G_hCvar_Difficulty_Zombies; -ConVar G_hCvar_Difficulty_Humans_BlockTime; - -Handle g_hHumanPointsTimer; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Plugin:myinfo = -{ - name = "HLstatsX CE Difficulty", - author = "zaCade + Neon", - description = "Grant points to the winning team. (zombies/humans)", - version = "1.2", - url = "" -}; - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public OnPluginStart() -{ - G_hCvar_Difficulty_Humans = CreateConVar("hlx_difficulty_humans", "0", "", 0, true, 0.0, true, 3.0); - G_hCvar_Difficulty_Zombies = CreateConVar("hlx_difficulty_zombies", "0", "", 0, true, 0.0, true, 3.0); - G_hCvar_Difficulty_Humans_BlockTime = CreateConVar("hlx_difficulty_humans_blocktime", "60", "", 0, true, 0.0, true, 180.0); - - HookEvent("round_start", Event_RoundStart); - HookEvent("round_end", Event_RoundEnd); - - AutoExecConfig(true, "plugin.hlstatsx_difficulty"); -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public ZR_OnClientInfected(client, attacker, bool:motherinfect, bool:respawnoverride, bool:respawn) -{ - G_bIsHuman[client] = false; - G_bIsZombie[client] = true; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public ZR_OnClientHumanPost(client, bool:respawn, bool:protect) -{ - G_bIsHuman[client] = true; - G_bIsZombie[client] = false; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast) -{ - if (g_hHumanPointsTimer != INVALID_HANDLE && CloseHandle(g_hHumanPointsTimer)) - g_hHumanPointsTimer = INVALID_HANDLE; - - g_hHumanPointsTimer = CreateTimer(G_hCvar_Difficulty_Humans_BlockTime.FloatValue, OnHumanPointsTimer); - - for (new client = 1; client <= MaxClients; client++) - { - G_bIsHuman[client] = true; - G_bIsZombie[client] = false; - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action:Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast) -{ - switch(GetEventInt(event, "winner")) - { - case(CS_TEAM_CT): CreateTimer(0.2, OnHumansWin, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE); - case(CS_TEAM_T): CreateTimer(0.2, OnZombiesWin, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE); - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action OnHumanPointsTimer(Handle timer) -{ - g_hHumanPointsTimer = INVALID_HANDLE; -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action:OnHumansWin(Handle:timer) -{ - if (g_hHumanPointsTimer != INVALID_HANDLE) - { - PrintToChatAll("[SM] Round ended too fast. Humans will not be rewarded for the Win."); - return; - } - - for (new client = 1; client <= MaxClients; client++) - { - if (IsClientInGame(client) && IsPlayerAlive(client) && !IsClientObserver(client) && !IsFakeClient(client)) - { - if (G_bIsHuman[client] && !G_bIsZombie[client]) - { - new String:sAuthid[64]; - if (!GetClientAuthString(client, sAuthid, sizeof(sAuthid))) - Format(sAuthid, sizeof(sAuthid), "UNKNOWN"); - - LogToGame("\"%N<%d><%s><%s>\" triggered \"human_win_%i\"", client, GetClientUserId(client), sAuthid, "CT", G_hCvar_Difficulty_Humans.IntValue); - } - } - } -} - -//---------------------------------------------------------------------------------------------------- -// Purpose: -//---------------------------------------------------------------------------------------------------- -public Action:OnZombiesWin(Handle:timer) -{ - for (new client = 1; client <= MaxClients; client++) - { - if (IsClientInGame(client) && IsPlayerAlive(client) && !IsClientObserver(client) && !IsFakeClient(client)) - { - if (G_bIsZombie[client] && !G_bIsHuman[client]) - { - new String:sAuthid[64]; - if (!GetClientAuthString(client, sAuthid, sizeof(sAuthid))) - Format(sAuthid, sizeof(sAuthid), "UNKNOWN"); - - LogToGame("\"%N<%d><%s><%s>\" triggered \"zombie_win_%i\"", client, GetClientUserId(client), sAuthid, "TERRORIST", G_hCvar_Difficulty_Zombies.IntValue); - } - } - } -} \ No newline at end of file diff --git a/includes/No_Steam_Info.inc b/includes/No_Steam_Info.inc deleted file mode 100644 index e6190031..00000000 --- a/includes/No_Steam_Info.inc +++ /dev/null @@ -1,65 +0,0 @@ -#if defined _No_Steam_Info_included - #endinput -#endif -#define _No_Steam_Info_included - -enum RevEmu_PlayerType -{ - ErrorGet = -1, //Failed determine PlayerType - SteamLegitUser = 0, - SteamCrackedUser, - RevEmuUser, - RevEmuUserOld, - SettiSRCScanBot, - RevEmuUserV74, - RevEmuUserVeryOld, - UnknownUser, - Steam2Legit, - Steam2Cracked -}; - -/** - * Checking if player is no-steam. - * @param iClient Index player. - * - - * @return True if no-steam. - * - - * @error Invalid player index or player not in game or player is a bot. -*/ -#pragma deprecated Use RevEmu_GetPlayerType instead -native bool IsPlayerNoSteam(int iClient); - -/** - * Get the type of player - * @param iClient Index player. - * - - * @return Returns RevEmu_PlayerType value. - * - - * @error Invalid player index or player not in game or player is bot. -*/ -native RevEmu_PlayerType RevEmu_GetPlayerType(int iClient); - - -public Extension __ext_No_Steam_Info = -{ - name = "No_Steam_Info", - file = "No_Steam_Info.ext", -#if defined AUTOLOAD_EXTENSIONS - autoload = 1, -#else - autoload = 0, -#endif -#if defined REQUIRE_EXTENSIONS - required = 1, -#else - required = 0, -#endif -}; - -#if !defined REQUIRE_EXTENSIONS -public __ext_No_Steam_Info_SetNTVOptional() -{ - MarkNativeAsOptional("IsPlayerNoSteam"); - MarkNativeAsOptional("RevEmu_GetPlayerType"); -} -#endif \ No newline at end of file