Round End Events - FINAL VERSION RELEASED
4 Attachment(s)
ROUND END EVENTS v2.4.5 First release: 02/06/2017 Last update: 06/22/2022 - Description This plugin catches every small or big events that occured during the round. From every single jump a player did, every gun dropped, every kills, headshots... every team win with no kills at all, after the player defuse the bomb with 0.01 seconds remaining, a ninja-defuse, when a player aces (kills an entire team), double kills, triple kill, damage dealt, received... every thing that can happen in a round this plugin catches and with a special code, chooses one depending of it's rarity or rate-of-repeat and displays on the screen for everyone team/player name and what happened. The plugin tries to avoid repeats on the events at all times. CURRENT EVENT LIST:
Spoiler
CLUTCH HUDMSG = As the last member alive, %s killed %d enemies and won. KILLEDBOMBCARRIERS HUDMSG = %s killed %d separate bomb carriers in the last round. ACE HUDMSG = Ace! %s killed the entire enemy team. KILLSWHILEFLASHED HUDMSG = %s killed %s enem%s while flashbanged. DEFUSEDTHEBOMBWITHENEMIESALIVE HUDMSG = %s defused the bomb with %s seconds remaining. WOUNDESTKILLS HUDMSG = %s finished off %d woundest enemies. LASTBULLETKILL HUDMSG = %s killed %s enem%s with his last bullet. KNIFEKILL HUDMSG = %s killed %s enem%s with knife. ANYCASUALTIES HUDMSG = %s won without taking any casualties. PLAYERASSISTIS HUDMSG = %s did %d assists. PROTECTEDTHEBOMB HUDMSG = %s defended the planted bomb from %d enemies. KILLSAFTERDYING HUDMSG = %s killed %s enem%s with grenade after dying. JUMPKILLS HUDMSG = %s killed %s enem%s in the air. ROUNDFINISHING HUDMSG = The %s won the round with %s seconds remaining. LOWHEALTHKILLS HUDMSG = %s killed %s enem%s with under 25 health. DEFUSEDWITHENEMIESALIVE HUDMSG = %s defused the bomb with %d alive terrorist%s. TRIEDTOPLANTS HUDMSG = %d Terrorists tried to plant the bomb in that round. TREIDTODEFUSE HUDMSG = %d CTs tried to defuse the bomb in that round. STOPEDTHEDEFUSER HUDMSG = %s successfully stoped %s bomb defuser%s. STOPEDTHEPLANTER HUDMSG = %s successfully stoped %s bomb planter%s. DAMAGEWITHOUTKILLS HUDMSG = %s did %d damage but does not killed any enemy. WONWITHOUTKILLS HUDMSG = %s won the round without killing any enemy. KILLEDWITHONEHP HUDMSG = %s killed an enemy and remained with 1 HP. KILLSTHROUGHWALL HUDMSG = %s killed %s enem%s through the wall. MOSTDAMAGE HUDMSG = %s took %d total damage on that round. ONETAP HUDMSG = %s one-tapped %s enem%s. TOOMANYHITS HUDMSG = %s shot %s %d times. ; - End of rare events ; - Start of common events TEAMACCURACY HUDMSG = %s had the best accuracy with %d%. DIFFERENTATTACKSSURVIVED HUDMSG = %s survived attacks from %d different enemies. DIFFERENTATTACKSDEAD HUDMSG = %s received %d different attacks before dying. FASTESTROUND HUDMSG = The %s eliminated the %s in %d seconds. CONSECUTIVEROUNDSALIVE HUDMSG = %s lasted %d consecutive rounds without dying. SHOOTSFIRED HUDMSG = %d shots were fired that round. GRENADESTHREW HUDMSG = %s threw %d grenades that round. ITEMSBOUGHT HUDMSG = %s has bought %d items. KNIFETOGUNFIGHT HUDMSG = %s brought a knife to a gunfight. HSKILLS HUDMSG = %s killed %d enemies with headshots that round. WEAPONSDONATED HUDMSG = %s donated %d weapons that round. MONEYSPENT HUDMSG = %s has spent %d money. ENEMIESKILLED HUDMSG = %s killed %d opponents. PLAYERACCURACY HUDMSG = %s's accuracy was %d%%%%%%% while his team was %d%% FASTESTKILL HUDMSG = %s caused the first death after %d seconds of round starts. ATTACKSBEFOREDYING HUDMSG = %s given damage to %d different enemies before dying. GRENADEDAMAGE HUDMSG = %s did %d total damage with grenade. KILLSWITHONEHE HUDMSG = %s killed %s enem%s with grenade in that round. JUMPCOUNT HUDMSG = %s jumped %d times during the round. MOSTTIMEALIVE HUDMSG = %s survived the most time: %d seconds. PLAYERSHOOTS HUDMSG = %s fired %d shots in that round. PLAYERRELOADS HUDMSG = %s reloaded his weapon %d times. KILLEDTEAMMATES HUDMSG = %s killed %d teammate%s. SUICIDE HUDMSG = %s killed himself in this round. CONSECUTIVEROUNDS HUDMSG = %s died %d round%s without killing anybody. CONSECUTIVEWINS HUDMSG = %s won %d consecutive rounds. FIRSTVICTIM HUDMSG = %s was the first victim on that round. GRENADESTHROWN HUDMSG = %d grenades were thrown on that round. - Change Log
Spoiler
02/06/2017 - v1.0 * First release 03/04/2017 - v1.1 ºAdded new events: . Protected the bomb planted from enemies. . Given damage to many enemies. . Did so many damage with HE Grenade. . Won the round with less than 1 second. . Killed an/so many player/s with HE grenade. . Killed an/so many player/s in the air. . Killed an/so many enemy/ies with a grenade after dying. . Jumped so many times in that round. . Killed an/so many enemy/ies with low HP. . Survived the most time. . Defused the bomb with much terrorists alives. ºCode edited . Added more values to some events, like: * Before, we had only 'an enemy', or '%d enemies' in different events, now, I've added '%d enemy/ies' message in these events. Then all these now have a capacibility to catch one or more than one kills. Like KnifeKills constant-string that had before. . Added more weapons than before, I've missed so many of them. . Added gLastDroppedWeapon, gLastBroughtWeapon and g_iItemNum for check if the weapon that the player has dropped/bought is not the same that he already has dropped/bought before for the ev_DonatedWeapons and ev_ItemsBought event. . Transfered the g_LastAnnounce from event_TWin() and event_CTWin to Round_End() function. . Removed the boolean isForCheckChance at checkChance() stock. That boolean wasn't making sense. . Added a new stock: GetPlayers(), this stock I've made because I had so much get_players() in the plugin, I know it doesn't matter but it's more easier to manipulate for me and for others peoples I guess. And that stock made the plugin lose so much lines, what's good as well. . Edited the ev_UserKills, now you can see a percent instead of User's kills. . Added arAloneKills to PlayerData because the ev_Clutch event. . Removed the Ham_Killed. Using DeathMsg instead. . Reseting the [/I]arConsecutiveRounds[/I] after sv_restart and Game Commecing, then removed the -1 at showEvents(). . Transfered the get_user_weapon(iVictim) & CSW_KNIFE) to Ham_TakeDamage. . Removed IsUserValidConnected, using is_user_connected() instead. And some optimizations on the code. 03/07/2017 - v1.2 ºAdded new events: . So many terrorists tried to plant the bomb. . So many cts tried to defuse the bomb. . Successfuly stoped so many/the bomb defuser/s. . Successfuly stoped so many/the bomb planter/s. ºCode edited: . Changed the position of "y" : "ies" to "ies" : "y" in some events. . Fixed the jump count format and added [33] size. . Replaced bool:(PlayerData[iKiller][arPlayerKills]+PlayerData[iKiller][arPlayerBombKills]+PlayerData[iKiller][arAloneKills] >= OppositeTeamNumber[/i] with PlayerData[iKiller][arPlayerKills] >= OppositeTeamNumber only. . Fixed the faster kill time. . Changed MAX_CHANCE to 6. . Added log_amx(). . Changed eLastEvent == ev_Ace to eLastEvent == event. . Added important events, now these event's chance is divided with 2. They're: Ace, Clutch, Player's accuracy, Killed players with one HE, Killed after dying, Killed someone in the air, Killed someone with knife and Killed someone with low HP. . Fixed a bug with LowHeathKills's event parameter's. I've forgot the second parameter. . Removed the isAce boolean. . Removed the NumToStr stock then fixed the heap low bug. . Removed the is_user_connected check at deathMsg. . Fixed the wrong value with iMultiplication, it was showing 160 instead of the real value. . Added a check for see if the iKiller is a Terrorist at ev_ProtectedTheBomb event. . Fixed the Assist and AttacksBeforeDying events. . Removed the GetPlayers() stock. Reason? With the stock: L 03/06/2017 - 20:36:45: [RoundEndEvents.amxx] Ace! [POD]Polymorph (98) killed the entire enemy team. L 03/06/2017 - 20:38:03: [RoundEndEvents.amxx] [P0D]Sharon_Stone (95) killed an enemy with knife L 03/06/2017 - 20:39:53: [RoundEndEvents.amxx] EFFx brought a knife to a gunfight. L 03/06/2017 - 20:40:52: [RoundEndEvents.amxx] Ace! EFFx killed the entire enemy team. L 03/06/2017 - 20:42:42: [RoundEndEvents.amxx] EFFx killed an enemy with knife L 03/06/2017 - 20:44:49: [RoundEndEvents.amxx] EFFx brought a knife to a gunfight. L 03/06/2017 - 20:46:25: [RoundEndEvents.amxx] EFFx killed an enemy with knife L 03/06/2017 - 20:57:05: [RoundEndEvents.amxx] EFFx has bought 0 items. L 03/06/2017 - 22:48:14: [RoundEndEvents.amxx] Ace! [P*D]Will_Smith (98) killed the entire enemy team. L 03/06/2017 - 22:49:27: [RoundEndEvents.amxx] EFFx brought a knife to a gunfight. L 03/06/2017 - 22:51:05: [RoundEndEvents.amxx] Ace! EFFx killed the entire enemy team. L 03/06/2017 - 22:41:07: [RoundEndEvents.amxx] Ace! [P*D]Will_Smith (98) killed the entire enemy team. L 03/06/2017 - 22:41:52: [RoundEndEvents.amxx] EFFx brought a knife to a gunfight. L 03/06/2017 - 22:42:21: [RoundEndEvents.amxx] Ace! EFFx killed the entire enemy team. These events was much normal, always appearing in the hud, almost is not Ace but it shows Ace and it shows wrong values and player's name. Without the stock: L 03/07/2017 - 01:39:20: [RoundEndEvents.amxx] [POD]Sharon_Stone (96) lasted 2 consecutive rounds without dying. L 03/07/2017 - 01:40:49: [RoundEndEvents.amxx] EFFx caused the first death after 17 seconds of round starts. L 03/07/2017 - 01:42:05: [RoundEndEvents.amxx] Counter-Terrorists won without taking any casualties. L 03/07/2017 - 01:43:44: [RoundEndEvents.amxx] EFFx caused the first death after 18 seconds of round starts. L 03/07/2017 - 01:44:11: [RoundEndEvents.amxx] [P*D]Rodney_Dangerfield (100) lasted 3 consecutive rounds without dying. L 03/07/2017 - 01:45:23: [RoundEndEvents.amxx] EFFx lasted 2 consecutive rounds without dying. L 03/07/2017 - 01:46:33: [RoundEndEvents.amxx] [POD]Sharon_Stone (96) killed 40% of the enemy team. L 03/07/2017 - 01:48:15: [RoundEndEvents.amxx] [POD]Sharon_Stone (96) caused the first death after 20 seconds of round starts. L 03/07/2017 - 01:49:32: [RoundEndEvents.amxx] As the last member alive, EFFx killed 2 enemies and won. L 03/07/2017 - 01:51:19: [RoundEndEvents.amxx] [POD]Sharon_Stone (96) jumped 6 times during the round. L 03/07/2017 - 01:52:57: [RoundEndEvents.amxx] 115 shoots were fired that round. L 03/07/2017 - 01:54:46: [RoundEndEvents.amxx] EFFx killed 2 enemies. L 03/07/2017 - 01:55:49: [RoundEndEvents.amxx] [P*D]killaruna (99) killed 2 enemies with under 25 health. L 03/07/2017 - 01:59:00: [RoundEndEvents.amxx] [POD]Sharon_Stone (96) killed an enemy with his last bullet. L 03/07/2017 - 02:03:33: [RoundEndEvents.amxx] [P0D]Jet_Li (97) received 2 different attacks before dying. L 03/07/2017 - 02:04:29: [RoundEndEvents.amxx] [P*D]Jim_Carrey (96) defended the planted bomb from 3 enemies. L 03/07/2017 - 02:05:19: [RoundEndEvents.amxx] 192 shoots were fired that round. L 03/07/2017 - 02:06:53: [RoundEndEvents.amxx] [P*D]Jim_Carrey (96) received 2 different attacks before dying. L 03/07/2017 - 02:27:30: [RoundEndEvents.amxx] Terrorists had the best accuracy with 60% L 03/07/2017 - 02:28:12: [RoundEndEvents.amxx] [P0D]Mickey_Rourke (99)'s accuracy was 38 while his team was 29% L 03/07/2017 - 02:29:03: [RoundEndEvents.amxx] [P0D]Mickey_Rourke (99) survived the most time: 130 seconds. L 03/07/2017 - 02:30:58: [RoundEndEvents.amxx] CTs had the best accuracy with 24% L 03/07/2017 - 02:31:53: [RoundEndEvents.amxx] Terrorists won without taking any casualties. L 03/07/2017 - 02:32:33: [RoundEndEvents.amxx] [P0D]Sharon_Stone (96) brought a knife to a gunfight. L 03/07/2017 - 02:34:21: [RoundEndEvents.amxx] [P*D]Kim_Basinger (98) given damage to 2 different enemies before dying. These events has appeared after I removed the stock. So much better. Without that stock, more events appear in the hud, repeating obviously but with correct values and player's name, I don't know why. 03/09/2017 - v1.3 ºAdded more events: . Did so many damage but doesn't killed any enemy. ºCode edited: . Removed the g_bIsOnFreezeTime boolean. . Fixed the scout's price, 275 to 2750 . Removed ImportantEvent stock. . Removed the gLastBoughtWeapon, gLastDroppedWeapon and added g_iItemDropped then fixed the flood on drop/buy event. . Changed (2 * MAX_CHANCE) to (4 * MAX_CHANCE) in ev_PlayerJumps . Added GlobalVariables enum-array (Idk how to call it). . Re-named g_bIsJumping to IsJumping and added to PlayerData. . Fixed the get_players() at bomb_defused and a plural check in ev_DefuseWithEnemiesAlive event. . Added private chance for all events. . Fixed the percent at ev_PlayerKills. . Removed the check for see if the eVent is ev_None in checkChance stock. . Added g_bRoundEnded boolean. . Removed the arLastWeapon. . Changed 60 to 85 seconds for ev_MostTimeAlive event. . Removed PlayersNum[cs_get_user_team(id)]-- in client_disconnect()client_disconnected()[/i] forward and in deathMsg() function then fixed the invalid vaue in ev_AnyCasualties event. . Transfered eLastEvent[i/] from checkChance() to showEvents() . Fixed the ev_Clutch event. 03/12/2017 - v1.4 ºCode edited: . Fixed the [il]ev_MuchDamageWithNoKills, I forgot a parameter. . Fixed the arAloneKills. . Added a small delay in checkIfIsAlone() function then fixed the wrong LastPlayerID. . Fixed the wrong ID in GlobalVariables[g_UserEventID] = iKiller in checkChance() stock. . Added g_iLastPlayer[index][LastPlayerSettings(Defuser/Planter)] to bomb_planting() and bomb_defusing() for catch more IDs. 03/14/2017 - v1.5 ºCode edited: . Fixed the wrong ID value and name in checkChance stock. . Re-organized all event's chance. . Fixed the Woundest kills. . Added a multiplication for set events in checkChance then improved the events, appearing more than before. 03/8/2017 - v1.6 ºCode edited . Added .ini file for configure all the events. You can turn enabled/disabled, change the event's chance and the message model. . Fixed the issue with percent simbol at ev_Accuracy . Added floatround() in getAccuracy() and getPlayerAccuracy() private stocks then using %d instead of %0.0f. 03/19/2017 - v1.7 ºCode edited . Added prepositions at .ini file. . Fixed the DEFUSEDTHEBOMBWITHENEMIESALIVE configurations. . Removed the percent in ev_UserKills . Added TEAM_T and TEAM_CT configuration at .ini file. 05/04/2017 - v1.8 ºCode edited . Added a chech for crash the plugin when the .ini is nonexistent. . Changed add() to formatex() at LoadEvents(). . Fixed the wrong vale in ev_MostTimeAlive event. 04/06/2017 - v1.9 ºAdded new events: . 'X team' Won the round without killed any enemy. . 'X' fired 'Y' shoots in that round. . 'X' reloaded his weapon 'Y' times. ºCode edited: . Added hud configuration in .ini file . Added MAX_EVENTS and g_iEventNumber for set a max event per round. . Added two more sizes to g_eLastEvent for don't repeat the same event chance check every time when it happens. . Changed the multiplication of 3 to 4 at checkChance() stock. 04/19/2017 - v2.0 ºCode edited: . Changed log_amx() to log_to_file() . Added a log alerting the wrong hud color at .ini file. . Drop code optimization . Translation of ev_ShootsFired, ev_WonWithOutAnyKills and ev_PlayerShoots events fixed. . Removed the id at Round_Restart. . Using ! instead of == 0 at event_TWin() and event_CTWin() events. 07/26/2018 - v2.1 . Changed some formats and now the events is appearing more randomly. . Fixed the 'X brought knife to a gunfight' event. . Fixed the hud color check format. . Fixed the percent value on ev_Accuracy event. . Added new event: X Killed Y teammate(s) . Added amx 1.8.3 version check on buy event. (1.8.3 has CS_OnBuy forward) . Changed some chances on the .ini file. . Optimized the code a little. 09/04/2019 - v2.2 - Changed the whole way to get an event from the round. - Fixed some messages and checks inside the plugin. - Removed the chance format, it's totally random (but rare events will be the first thing that the code will search for, otherwise, it chooses a random one). 03/14/2021 - v2.3 Fixed some formats in some events. Fixed some events that wasn't being called. Fixed the 'bought X items' check for grenades. Added new rare events: - Player X killed Y enemies through the wall. - Player X an enemy and remained with 1 HP. - Player X killed himself this round. - Player X died X rounds without killing anybody. Removed both cstrike and engine includes, they were useless. Changed some values from some events. Changed MIN_TIMES to random_num(2, 4). Changed the system of how the events appear: Now it gives priority to rare events, so everytime a rare event happens, it'll be printed. Therefore it has a check to see if the rare event selected already happened, otherwise it'll be ignored. Example: Code:
Events this round: - After some rounds, this is the list: Code:
Tommy_Lee_Jones killed an enemy with knife. Also, it got 17 events without repeating. - Second attempt: Code:
Jean_Claude_Van_Damme killed an enemy with grenade in that round. - Removed some unecessary codes. - Changed the way the plugin reads the events. Replace roundendevents.ini to update. - Improved the event selector code. - Changed the hud display to dhudmessage. - Fixed some events with wrong checks. - Fixed both Defused with X seconds remaining and Won with X seconds remaining events, both events now appearing. Also added support for really low values on both events, such as 0.01 or 0.001 (plugin converts 0.100, 0.010 or 0.101 values to 0.1 and 0.01 automatically). - Fixed some messages with wrong formats. - Fixed a spam of ace events. It still gives priority to ace but if the same player has aced on the previous round, it skips it. - Fixed Bought X items and Spent X$ on this round, both events now appearing. - Added custom events support. - Added a new event: X one-tapped Y enemy/ies on that round. - Added a new event: X took Y total damage on that round. - Added a new event: X team won Y consecutive rounds. - Added a new event: X shot Y Z times. - Added a new event: X was the first victim on that round. - Added a new event: X grenades were thrown on that round. ---- Just wrote another code to select the events, and with 32/32 server I could get up to 39 different events. New ones happening as well: Code:
L 02/01/2022 - 16:14:23: Log file started (file "cstrike\addons\amxmodx\logs\ree_log.log") (game "cstrike") (amx "1.8.3-dev+5201") So, with 32/32 players, from 41 events we've got 39 different ones, only the 37th and 38th events repeated but with the new code, it selects the oldest event possible to be choosed instead of a randomly one that could've been happened 3 rounds ago. The event repeat of the 37th round was an event that happened on 7th round and the 38th event repeat happened on the 6th, so the new system works much better now. Also even if the code repeats one event, it'll continue checking for new events to happen and select it if so. Just like the last event on the example above, two events repeated but even with this happening, a new one was registered after and selected immediately. - In statistics, after 41 events with 2 repeats only, we have only 4% of events repeating and 96% of the whole test were different events. well... 06/22/2022 - v2.4.5 Just some minor update regarding the API support: PHP Code:
|
Re: Round End Events
put the include i can't find it.
cl_buy.inc |
Re: Round End Events
I'm so sorry.
|
Re: Round End Events
LOL, I didn't notice that, and how it doesn't show up?
|
Re: Round End Events
what doesn't show up
|
Re: Round End Events
No, I compiled it without any errors.
|
Re: Round End Events
I'll try and test it. Thank you for all your support answering my questions and thank you for your dedication to our dear community, my friend! Have a nice day!
|
Re: Round End Events
i don't know because i compile it and i get error :D.
|
Re: Round End Events
Quote:
|
Re: Round End Events
looks nice, gj :P
|
All times are GMT -4. The time now is 19:52. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.