• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Hard Triggers NEED HELP

Status
Not open for further replies.
Level 4
Joined
Oct 31, 2010
Messages
34
HI could any please help me with this hard trigger
I want a load codes. I want it so the load codes can unlock secrete heros JUst like custom hero foooties made by bond009. Could anyone help me please AND i want it but the code cant be shared. Could anyone help me and also to find out wins so if player wins they get a code for it. so if player wins 100 times they can unlock a secrete hero from a tavern
 
Level 9
Joined
Nov 19, 2011
Messages
516
Idea is simple:

Player MajorKaza wins:

MajorKaza -> ajM
Loaded code had 5 points -> 006
5+1=6, 6 mod 52 = 6 (a-1,b-2,...) -> f
-------------------------------------------
save code is: ajM-006-f (or if you wish to make it harder to detect a0j0M6-f)

then when load do this:

MajorKaza: -load a0j0M6-f
Firs 3 letters of nick must be Maj
6 mod 52 = 6 (f)
Autorization aproved. Loaded points = 6.

Of course you don't need to do it exacly this way. You can get 1 and 4 latter or last sign made as mod in hex. More or less that style is hard to breake becouse player can't just copy someones code or paste any points without knowing last sign recipe.

How to allow/disalow picking?

To allow picking just make some fake units without model or shadow called "100 points". Change your heroes stats so they player need that fake unit to pick hero (labeled "Requires"). Then just create that fake unit out of gaming area if player loaded 100 points. If he didn't he will see tip "Requires - 100 points" on hero descreption.
 
Level 9
Joined
Nov 19, 2011
Messages
516
Ive showed him only most simple. Of course it would be best if he get his own style. Nestharus' Save/Load systems can be reversed if you alredy have one and can make own programs without math at all. All oficial systems can be cracked with easy just by reading functions code. Best way is your own way!
 
Ive showed him only most simple. Of course it would be best if he get his own style. Nestharus' Save/Load systems can be reversed if you alredy have one and can make own programs without math at all. All oficial systems can be cracked with easy just by reading functions code. Best way is your own way!

You cannot write a program that will do it for you without have Blizzard's complex StringHash function because Nestharus uses it to generate checksums for each player name.

You can however write a Jass script that generates the codes after you extract the checksums, the bases and the salt values.

Still, it takes time and effort.

I'd rather have a system that requires Time and Effort to crack rather than having a system that could be cracked in 1-2 minutes just by looking at the code. :/
 
Level 9
Joined
Nov 19, 2011
Messages
516
My Variables:

string tmp: null
integer mod: 0
string abc: 'ABCDEFGHIJKLMNOPQRSTUWXYZabcdefghijklmnoprstquwxyz'
boolean check: False


  • save
    • Events
      • Player - Chat message '-save'
    • Conditions
      • none
    • Actions
      • Set tmp = string(points(player index(triggering player))
      • If
        • Conditions
          • Lenght(tmp) equals 2
        • Actions
          • Set tmp = '0' + tmp
        • Actions (else)
          • Do Nothing
      • If
        • Conditions
          • Lenght(tmp) equals 1
        • Actions
          • Set tmp = '00' + tmp
        • Actions (else)
          • Do Nothing
      • Set mod = modulo(points[player index(triggering player]),length(abc))
      • Set tmp = substring(player name(triggering player),2,2) + substring(player name(triggering player),4,4) + substring(player name(triggering player),1,1) + '-' + tmp + '-' + substring(abc,mod,mod)
After that trigger tmp returns save code. To read use that:

  • load
    • Events
      • Player - Chat message like '-load'
    • Conditions
      • none
    • Actions
      • Set Check = False
      • Set tmp = Substring(Entered chat string,7,9) //becouse command string got 7 chars.
      • If
        • Conditions
          • Substring(Player name (triggering player),2,2) equals Substring(tmp,1,1)
          • Substring(Player name (triggering player),4,4) equals Substring(tmp,2,2)
          • Substring(Player name (triggering player),1,1) equals Substring(tmp,3,3)
          • Coment(Thats checking if player typed his own code)
        • Actions
          • Set Check = True
        • Actions (else)
          • Do Nothing
      • Set mod = Modulo(Integer(Substring(tmp,5,7)),length(abc))
      • If
        • Conditions
          • Substring(abc,mod,mod) equals Substring(tmp,9,9)
          • Coment(Thats checking if player tried to cheat)
        • Actions
          • Set Check = True
        • Actions (else)
          • Do Nothing
        • Actions
          • Set Check = True
        • Actions (else)
          • Do Nothing
      • If Check equals False then Skip Remaining Actions else Quest - Display tip message to (Triggering Player) that reads 'Autorization: |cff00ff00Aproved|r'
      • Set Points[Player Index(Triggering Player)] = Integer(Substring(tmp,5,7))
If all goes well player will see:

Autorization Aproved

and points will be set to loaded.

Of course you can change abc string as you wish, for e.g. A!4z3gH#... But remember that signs in abc can't be doubled.

EDIT:

Of course like you see it will only save/load up to 999 points. If you know that there can be more points change generateing/loading lines to have more signs, but then its recomended to optimize adding '0' useing for loop.

xxx-000-006-f -> 6 points (added empty line, max 999999 points)
 
Last edited:
Status
Not open for further replies.
Top