Cloak_Master
Active Member
- Reaction score
- 41
For starters, there is no possible way even to detect cheating through any form of an entered string. You can test this do making a trigger that reads something like this
You will see that it displays that message when you type anything, but not when you type in a cheat.
The only way you can test this is by making a completely controlled situation. Now, whos your daddy multiplies your damage by 100. You can integrate triggers that set a units health to a variable, cause a players hero to do 1 damage to it through triggers and check if more than 2 damage was done. If so, they're cheating.
Inversely, you can create an invisible unit with 100 health and high regeneration. Periodically, you can cause your hero to damage that unit for 1 point. If the unit dies, you can just pick every unit owned by owner of killing unit and explode them or put him into cintematic purgatory. Personally, I'd reccomend this method. GL.
My method of stopping gold cheating would be this. First, what you'll want to do is find out the biggest single way to get gold in your map. This will not work if you can get 10,000's of gold from one method, but that is rare.
500 being the highest possible way to get gold in your map. Basically, if a players gold spikes as it shouldn't be, they get defeated.
Code:
Check
Events
Player - Player 1 (Red) types a chat message containing <Empty String> as A substring
Conditions
Actions
Game - Display to (All players) the text: Test
You will see that it displays that message when you type anything, but not when you type in a cheat.
The only way you can test this is by making a completely controlled situation. Now, whos your daddy multiplies your damage by 100. You can integrate triggers that set a units health to a variable, cause a players hero to do 1 damage to it through triggers and check if more than 2 damage was done. If so, they're cheating.
Inversely, you can create an invisible unit with 100 health and high regeneration. Periodically, you can cause your hero to damage that unit for 1 point. If the unit dies, you can just pick every unit owned by owner of killing unit and explode them or put him into cintematic purgatory. Personally, I'd reccomend this method. GL.
My method of stopping gold cheating would be this. First, what you'll want to do is find out the biggest single way to get gold in your map. This will not work if you can get 10,000's of gold from one method, but that is rare.
Code:
Cool
Events
Player - Player 1 (Red)'s Current gold becomes Greater than (Real((Player 1 (Red) Current gold)))
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Player 1 (Red) Current gold) - (Integer(Playersgold[(Player number of (Triggering player))]))) Greater than 500
Then - Actions
Else - Actions
Set Playersgold[(Player number of (Triggering player))] = (Real((Player 1 (Red) Current gold)))
500 being the highest possible way to get gold in your map. Basically, if a players gold spikes as it shouldn't be, they get defeated.