From a474a3c1fc18e87b83efde554ad1cc8a0015f6ac Mon Sep 17 00:00:00 2001 From: Jackz Date: Wed, 30 Dec 2020 17:33:31 -0600 Subject: [PATCH] l4d2_feedthetrolls: Refactor into full enum usage. Hopefully it doesnt explode --- plugins/l4d2_feedthetrolls.smx | Bin 14463 -> 15016 bytes scripting/l4d2_feedthetrolls.sp | 66 ++++++++++++++++++++++++-------- 2 files changed, 50 insertions(+), 16 deletions(-) diff --git a/plugins/l4d2_feedthetrolls.smx b/plugins/l4d2_feedthetrolls.smx index 75218cbbdedb21d5826174ce66b4f677f6217cbf..2c3db12a83ae649c4fc7c7b1b3fc5e419e4d31c1 100644 GIT binary patch literal 15016 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

mr|R-sv(^mzBN|`#Ze2 zWlH=cN?h^=B#jz^$K>CNbESabbIg1toAqmL7ex!f$ny>o^($xEQ)>Zy-7Ze_7(f~U zy}?wwNW<*Vl0n0D;XPYk*sI3#)=HMv{@(QE9zR%z($aa+-R>47`xW^(_4!wmUcb|Ab*s46bn;YLTYMuy!PxOIjf(5D4Z*_Kja@BrBkWfHEx+f46AEsU6Vzysq;$oLAiYk!ECF94;8l+9C@it* zEhfQ&{KgHJ3ir!1@pS`c*$dL0q|rbMS5robOLilvN6O6}9DKsV6hwzJVs^A;No=o0 zxFC^qDsAXt(Orn2O^2%$>~=^maxgw*QqjYgxX@_=wRlzEc^jkZIXDP~0PHTv*yATY zpqQ}iH>$KJOxck|9zlUE;zf-hdDCaqWC-f`NZHG`0mphhuv|~smxU|=$kuV+RW(VC zOhTKmgntxg>WmMyS~!w!sC~b{^moDJ(4_6OK-!cMrlyvp#Aqo_50XHp)~5sk08af= zY5LTS9rjav0DIG&AJRE@ z1kdBAXcnpyx-0L?jA)QG^7u8ZT6t!u5`55`Qq1(sa6$1J>*5yj)nASdgDNn9ls3Y& z&BORoX%vv2$b-}LZ**z_$Tu`7aqn8%mFr&xCUl!&Ykq`ozv8p|Ln>GO&b#Hegp#c0 XOn~|_ZurMi*BsB_XWR+Oo{;|!*zEzt literal 14463 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 bpsCrRExe>{x#-&x|EFE_CyWieS5f~DLH{rM diff --git a/scripting/l4d2_feedthetrolls.sp b/scripting/l4d2_feedthetrolls.sp index a075fb5..bb42291 100644 --- a/scripting/l4d2_feedthetrolls.sp +++ b/scripting/l4d2_feedthetrolls.sp @@ -28,8 +28,8 @@ 11 -> ThrowItAll (Makes player just throw all their items at a nearby player, and periodically) */ #define TROLL_MODE_COUNT 13 -enum TROLL_MODE { - Troll_ResetUser, //0 +enum TrollMode { + Troll_Reset, //0 Troll_SlowSpeed, //1 Troll_HigherGravity, //2 Troll_HalfPrimaryAmmo, //3 @@ -88,7 +88,7 @@ bool bTrollTargets[MAXPLAYERS+1], lateLoaded; int iTrollMode = 0; //troll mode. 0 -> Slosdown | 1 -> Higher Gravity | 2 -> CameTooEarly | 3 -> UziRules int g_iAmmoTable; -int iTrollUsers[MAXPLAYERS+1]; +TrollMode iTrollUsers[MAXPLAYERS+1]; int gChargerVictim = -1; bool bChooseVictimAvailable = false; @@ -227,7 +227,7 @@ public Action Command_ApplyUser(int client, int args) { for (int i = 0; i < target_count; i++) { if(GetClientTeam(target_list[i]) == 2) - ApplyModeToClient(client, target_list[i], mode, false); + ApplyModeToClient(client, target_list[i], view_as(mode), false); } } } @@ -242,8 +242,8 @@ public Action Command_ListModes(int client, int args) { public Action Command_ListTheTrolls(int client, int args) { int count = 0; for(int i = 1; i < MaxClients; i++) { - if(IsClientConnected(i) && IsPlayerAlive(i) && iTrollUsers[i] > 0) { - int mode = iTrollUsers[i]; + if(IsClientConnected(i) && IsPlayerAlive(i) && view_as(iTrollUsers[i]) > 0) { + TrollMode mode = iTrollUsers[i]; ReplyToCommand(client, "%N | Mode %s (#%d)", i, TROLL_MODES_NAMES[mode], mode); count++; } @@ -280,11 +280,43 @@ public int ChooseModeMenuHandler(Menu menu, MenuAction action, int param1, int p char str[2][8]; ExplodeString(info, "|", str, 2, 8, false); int client = GetClientOfUserId(StringToInt(str[0])); - int mode = StringToInt(str[1]); - ApplyModeToClient(param1, client, mode, false); + TrollMode mode = view_as(StringToInt(str[1])); + //If mode has an option to be single-time fired/continous/both, prompt: + if(mode == Troll_Clumsy + || mode ==Troll_ThrowItAll + || mode == Troll_PrimaryDisable + || mode == Troll_CameTooEarly + ) { + Menu modiferMenu = new Menu(CHooseTrollModiferHandler); + modiferMenu.SetTitle("Choose Troll Modifer Option"); + char singleUse[16], multiUse[16], bothUse[16]; + Format(singleUse, sizeof(singleUse), "%d|%d|1"); + Format(multiUse, sizeof(multiUse), "%d|%d|2"); + Format(bothUse, sizeof(bothUse), "%d|%d|0"); + menu.AddItem(singleUse, "Activate once"); + menu.AddItem(multiUse, "Activate Periodically"); + menu.AddItem(bothUse, "Activate Periodically & Instantly"); + modiferMenu.ExitButton = true; + modiferMenu.Display(param1, 0); + } else { + ApplyModeToClient(param1, client, mode, 0); + } } else if (action == MenuAction_End) delete menu; } +public int CHooseTrollModiferHandler(Menu menu, MenuAction action, int param1, int param2) { + if (action == MenuAction_Select) { + char info[16]; + menu.GetItem(param2, info, sizeof(info)); + char str[3][8]; + ExplodeString(info, "|", str, 3, 8, false); + int client = GetClientOfUserId(StringToInt(str[0])); + TrollMode mode = view_as(StringToInt(str[1])); + int modifier = StringToInt(str[2]); + ApplyModeToClient(param1, client, mode, modifier); + } else if (action == MenuAction_End) + delete menu; +} public Action Event_ItemPickup(int client, int weapon) { char wpnName[64]; GetEdictClassname(weapon, wpnName, sizeof(wpnName)); @@ -295,7 +327,7 @@ public Action Event_ItemPickup(int client, int weapon) { || StrContains(wpnName, "shotgun") > -1 ) { //If 4: Only UZI, if 5: Can't switch. - if(iTrollUsers[client] == view_as(Troll_UziRules)) { + if(iTrollUsers[client] == Troll_UziRules) { char currentWpn[32]; GetClientWeaponName(client, 0, currentWpn, sizeof(currentWpn)); if(StrEqual(wpnName, "weapon_smg", true)) { @@ -309,7 +341,7 @@ public Action Event_ItemPickup(int client, int weapon) { SetCommandFlags("give", flags|FCVAR_CHEAT); return Plugin_Stop; } - }else if(iTrollUsers[client] == view_as(Troll_PrimaryDisable)) { + }else if(iTrollUsers[client] == Troll_PrimaryDisable) { return Plugin_Stop; } return Plugin_Continue; @@ -319,7 +351,7 @@ public Action Event_ItemPickup(int client, int weapon) { } public Action Event_WeaponReload(int weapon) { int client = GetEntPropEnt(weapon, Prop_Send, "m_hOwner"); - if(iTrollUsers[client] == view_as(Troll_GunJam)) { + if(iTrollUsers[client] == Troll_GunJam) { float dec = GetRandomFloat(0.0, 1.0); if(FloatCompare(dec, 0.10) == -1) { //10% chance gun jams return Plugin_Stop; @@ -332,7 +364,7 @@ public Action Event_WeaponReload(int weapon) { public Action Timer_ThrowTimer(Handle timer) { int count = 0; for(int i = 1; i < MaxClients; i++) { - if(IsClientConnected(i) && IsClientInGame(i) && IsPlayerAlive(i) && iTrollUsers[i] == 11) { + if(IsClientConnected(i) && IsClientInGame(i) && IsPlayerAlive(i) && iTrollUsers[i] == Troll_ThrowItAll) { ThrowAllItems(i); count++; } @@ -359,9 +391,11 @@ public Action Timer_Main(Handle timer) { } return Plugin_Continue; } -void ApplyModeToClient(int client, int victim, int mode, bool single) { +//Applies the selected TrollMode to the victim. +//Modifiers are as followed: 0 -> Both (fire instant, and timer), 1 -> Fire Once, 2 -> Start timer +void ApplyModeToClient(int client, int victim, TrollMode mode, int modifier) { ResetClient(victim); - if(mode > TROLL_MODE_COUNT || mode < 0) { + if(view_as(mode) > TROLL_MODE_COUNT || view_as(mode) < 0) { ReplyToCommand(client, "Unknown troll mode ID '%d'. Pick a mode between 1 and %d", mode, TROLL_MODE_COUNT - 1); return; } @@ -404,7 +438,7 @@ void ApplyModeToClient(int client, int victim, int mode, bool single) { ReplyToCommand(client, "This troll mode is not implemented."); case Troll_ThrowItAll: { ThrowAllItems(victim); - if(hThrowTimer == INVALID_HANDLE && !single) { + if(hThrowTimer == INVALID_HANDLE && modifier != 2) { PrintToServer("Created new throw item timer"); hThrowTimer = CreateTimer(hThrowItemInterval.FloatValue, Timer_ThrowTimer, _, TIMER_REPEAT); } @@ -457,7 +491,7 @@ public Action Timer_ThrowWeapon(Handle timer, Handle pack) { } void ResetClient(int victim) { - iTrollUsers[victim] = 0; + iTrollUsers[victim] = Troll_Reset; SetEntityGravity(victim, 1.0); SetEntPropFloat(victim, Prop_Send, "m_flLaggedMovementValue", 1.0); SDKUnhook(victim, SDKHook_WeaponCanUse, Event_ItemPickup);