HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

DarkDeeds Scoring system,, How?

03-23-2004, 09:53 PM#1
Phoenix-Flame
ok i am sure you all have played DarkDeeds5. it uses a cool save and load credit system... what i dont get it how does weevilman makes em.. i know he didnt make 1,000,000 combinationsn of triggers,, so how? i kno how u make a hero save system.. and also could some one tell me how to make atrigg whenever u enter ur code thru that code thingy how does teh whisp go away and it rembers the number...

I would really love any help
also if some one can could they post a jass very simple version of it


Thank You. :D
03-23-2004, 11:30 PM#2
GosuSheep
ok

first of all, there are no wisps... the NUMBERS (or codes) are actually ABILITIES that do basically nothing that MAKE the wisp sound..

for the loading, the trigger input thing is like

Events
-A unit is cast an ability
Conditions
-Ability is equal to "1"
Events
-CODE = CODE+"1"


----
btw, code would be a string ^^

ANYWAY!!! back to the saving thing

i cant tell u weevilman's EXACT code, because then u could just get 999 points and that would be unfair^^

this is BASICALLY what his code is

••FIRST 3 NUMBERS: your score...
example: if your score was 10, the first 3 numbers of ure code would be 010
if your score was 746 the first 3 numbers of ure code would be 746

••4TH AND 5TH NUMBER: the first letter of ure name
trigger example:
make 69(^^) variables ALL STRINGS
A-Z, a-z, 0-9 , and ( ) { } - _ .

then, you set an array (arrays are pretty easy to understand after some programming VB heh..) which is also a string.. a string array

example:
ALPHABET[1] = A
ALPHABET[2] = B
ALPHABET[52] = z
ALPHABET[69] = .

BUT!!! instead of having A-J be 1,2,3,4,5,6,7,8, and 9

weevilman decided to start the code at 11, so all the different letters would be 2 digits (less confusing) so its actually

example:
ALPHABET[11] = A
ALPHABET[12] = B
ALPHABET[62] = z
ALPHABET[79] = .

THEN!!!! at the end of the game, when it gives u your code... it goes through a trigger like this:

For a = 11 to 79
If substring(player name),1,1 equal to ALPHABET[intergerA]
then
Set CODE to CODE+IntergerA

example:
If the first letter of my name was A (which is alphabet[11])
the 4th and 5th numbers of my code would be 11

THE 6TH NUMBER OF THE CODE: the last number of ure score
example: if you have a score of 17 the 6th number would be 7

this is the most sugnificant part of encryption

weevilman set up 10 different encryption triggers

EXAMPLE:
If Substring(code),6,6 equal to 0 then RUN 0encryption
If substring(code),6,6 equal to 7 then RUN 7encyrption

TRIGGER 0encyption

change 0 into 4
change 1 into 7
change 2 into 3
change 3 into 8
change 4 into 9
change 5 into 1
change 6 into 9
change 7 into 0
change 8 into 2
change 9 into 5

TRIGGER 7encryption
change 0 into 9
change 1 into 3
and so on

(note: this is not the actually encryption of weevilman)

thats why, when u get a code after a game of darkdeedz, a LOT of the time, it was VERY different from the last code u got...

7th, 8th, and 9th number: some random number, like 374

10th number: the length of your name
example: my name is gosusheep, so the 10th number of my code would be 9
(gosusheep is 9 letters long-.-)

so anyway, it does the whole code system, it goes through the encryption code (based on the 6th number) and finally!!! it gives you a code...

the loading system just does it backwards,
THE PROBLEM WITH WEEVILMAN'S LOADING CODE IS!!!!

if you have a friend, that his name starts with the same FIRST LETTER
and is the same LENGTH then u can share codes

example:
my friend's name is hoo-cacha
he has 760 points or so

i use the name hoo-cccha
and i can use his code heh^^

hope that helped, if not, my AIM is DaExK0n (the 0 is a zero)

and my email is [email protected]
03-23-2004, 11:36 PM#3
ThyFlame
Where do the capital letters come into play?
03-23-2004, 11:54 PM#4
GosuSheep
what do u mean capital letters?

u mean sometimes the capital letters screw up ure code??

eithers its because a CAPITAL A = 11 and a lowercase a = 38
or, because weevilman messed up the code system^^
03-24-2004, 09:38 PM#5
Phoenix-Flame
Thank You very much gosu sheep u are gosu at giving help to triggs :D
and its will haev to be all lower case cause capitals do screw it up
06-15-2004, 04:46 PM#6
Flaugment
Acually I don't think that is his code, or his code is corrupted on some periods of playing the game. Me and a few friends were playing Dark Deeds 5 privatly and we used codes. As we began to notice, some games we played had given all of us codes that did not work. I have multiple codes that don't follow your system. :: 1933315822 ; My score was 16 ; 0075133168 ; My score was 15 ; 0052954162 ; My score was 9. My name I used was m-flaugment.
06-15-2004, 07:41 PM#7
Evaporaterr
wow that post is a bit overwhelming!
06-15-2004, 11:18 PM#8
Nemesis9x
Ive just gotten done with a code system simliar to weevilman. It saves integers from 0-9999 specific to each username. I plan on releasing it, but i dont know when or if i really want to. It should be about as complex as his but it has 4 encryption triggers. I could easily add more but i dont think it is needed. It can generate up to 8 random codes for the same username and integer. If I add more encryptions it would make more.

If i do release it, the system should be very easy to import into your maps, all you do is change the 4 encryptions variables on it and copy and paste the folder.

But for now, this is what he told me and it helped me alot to develop the system. The file attached is the saving system, its protected sorry :<

Quote:
hm ...... im not giving you mine, because that would make it easy for you to make a scorecode-generating program ...... and i won't make one for you, or modify mine for you, it's too much work ...... but i can give you some info ......


well ....... i must first warn you that making a good code system is lot of work ......... i take it you know basic triggers and what variables are? i have around 100 variables just for my code system, all of them arrays ....... but score systems are good .... they encourage people to stay in the game and add replay value ...... i'l tell you some of the basics ........

First off you make a variable called PlayersScore or something, make it an integer, and an array, with base 10 (if 10 people can play) or 12 for 12 people etc ......

Then at some point you must give people some points ........... you can make a trigger like For each integer A from 1 to 10 do Set PlayersScore [Loop integer A] = PlayersScore [Loop integer A] + 1 ......... this adds 1 point to everyone's score ........

The define some other variables and set them ....... like setting ScoreOdd[whatever] = 4 when the person's score is odd, or 9 when it is even ......... You can check of the score is odd by the Modulo function ........

If DDScore[whatever] mod 2 = 1 then the score is odd ...... if 0 then it's even ........

Then convert all the variables to strings and stick them together:

DDScore and ScoreOdd and LengthOfPlayersName and SomeOtherVariable
120 9 07 778

=120956778

Swap the numbers around, using one of two scrambling methods ........ set Key[whatever] = Key + 1 (for scrambling method 1) or +0 (for scrambling method 2) .......... choose the scrambling method randomly for each player ........ (by using the math - Random number function)

So the code is now 780271709

Encrypt it, changing the numbers:

1 into 8
2 into 9
3 into 4
4 into 5
5 into 3
6 into 2
7 into 0
8 into 1
9 into 6
0 into 7

And make another encryption method, different to the above ...... if you use encryption 1, add 0 to the key, if encryption 2, add 2 to the key ......... i used "encryption 2" (shown above)

So the code is 017908076

Add in the key (the key for this example is 3, (scrambling method 1, encryption method 2)) in position 6 in the code (for example)

So the code is 0179038236

And output it ........

When inputting in the next game, first read the key (which is 3), then unscramble and decrypt as necessary ............ and carry out checks to see if the code is fake .......

Those are the basics, good luck if you decide to make a code system :D

PS: About checking account names ..... i check the first letter ..... First i create a string variable array with a base of 69, i call it Alphabet, then i set

Alphabet[11] = h
Alphabet[12] = P
Alphabet[13] = 2
Alphabet[14] = -
Alphabet[15] = j

etc ..... up to Alphabet[79], include capitals, numbers, these symbols: . , [ ] ( ) _ -

Notice it starts at 11, NOT 0 or 1 ...... to keep the 2-digit consistency .......

Then i check the first letter of the player's name:

For each integer A from 1 to 10 do For each integer B from 11 to 79 do If Substring(Player Name of Player(Integer A)) 1,1 is equal to Alphabet[Integer B] then do Set PlayersFirstLetter = Integer B else do nothing .....

This gives me a 2-digit number telling me what the first letter of his name is ........

Hope that helps ......
06-16-2004, 11:29 PM#9
Nemesis9x
Ive just release my system.
http://www.wc3campaigns.com/showthre...901#post548901