Raised This Month: $ Target: $400
 0% 

Fix round win duplication exploit (money buy on dust2 and others)


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
aron9forever
Veteran Member
Join Date: Feb 2013
Location: Rromania
Old 06-18-2017 , 09:24   Fix round win duplication exploit (money buy on dust2 and others)
Reply With Quote #1

I'm getting headaches from an ancient exploit in the game regarding duplicating round wins by standing in certain areas of the map when the bomb explodes.

You can see a demonstration of the exploit here https://www.youtube.com/watch?v=2CUuQp7UnWg (skip to min 1, if you stand on that line when bomb explodes, you win multiple times)

The problem (besides terrorists winning the first round being able to buy full awp/deag/vesthelm/nades) is that in my PUG manager, since I'm detecting round ends as such:
PHP Code:
register_event("SendAudio""eT_win" "a""2&%!MRAD_terwin");
register_event("SendAudio""eCT_win""a""2&%!MRAD_ctwin" ); 
When this exploit happens, eT_win() is called multiple times (from testing, it seems to depend on number of players somehow, hence why in the video or most singleplayer local tests, it only duplicates the round win money, but online it's possible to get 3x or more). Because of this the T team receives 3 rounds won in the match and a huge money bonus and the match is ruined.


Is there any way to fix this? The exploit happens on multiple maps (just happened to me on airstrip near the pit) and completely breaks the game if abused, but is very hard to counter manually.

Even if I use some other way of detecting who won the round, the money problem is still there.


The exploit can be reproduced on de_dust2 by standing on the line in the video, on latest steam version of 1.6, with latest hlds, amxmodx 1.8.2 and no other plugins / modules loaded
PHP Code:
#include <amxmodx>

new g_count

public plugin_init() {
    
register_event("SendAudio""eT_win" "a""2&%!MRAD_terwin");
}

public 
eT_win() {
    
g_count++
    
client_print(0print_chat"%d t_win called"g_count)

Spoiler


I'm not sure if this is even the right place to ask this, I've searched a lot but can't find much on google about this. I'd assume something like "amxx money fix" if this problem was well known and solved.
__________________
Meanwhile, in 2050:
Quote:
Originally Posted by aron9forever
useless small optimizations
Quote:
Originally Posted by Black Rose View Post
On a map that is 512x512x128 units you end up with 3,355,443,200,000 different "positions". To store each one of those positions individually in the variable "user_or" you need 12 terabytes of memory.

Last edited by aron9forever; 06-18-2017 at 09:30.
aron9forever is offline
 


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 22:52.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode