System Encoder

Nestharus

o-o
Reaction score
84
Added a quickstart guide to getting Lua into a map since a lot of people are struggling with that =).
 

Narks

Vastly intelligent whale-like being from the stars
Reaction score
90
a more appropriate name for SPACE might be DELIMITER
 

Nestharus

o-o
Reaction score
84
Perhaps, but it'd be an incredible hassle to change it... going through the demo map changing all refs to it, updating two threads... >.<
 

Romek

Super Moderator
Reaction score
963
> Perhaps, but it'd be an incredible hassle to change it... going through the demo map changing all refs to it, updating two threads... >.<
Change it along with anything else you change in the next update. It's obviously not a high priority issue. You'll need to update the system at some point though. :p

Anyway, approved. I'll also change the prefix to [System]. Demo maps are something slightly different.
 

Nestharus

o-o
Reaction score
84
> Perhaps, but it'd be an incredible hassle to change it... going through the demo map changing all refs to it, updating two threads... >.<
Change it along with anything else you change in the next update. It's obviously not a high priority issue. You'll need to update the system at some point though. :p

Anyway, approved. I'll also change the prefix to [System]. Demo maps are something slightly different.

/cry

you're really not going to make me do an update just to change SPACE -> DELIMITER are you? : (

Because I don't know if there will ever be an update for this again o-o. If there is, who knows when it would be ;o.
 

Romek

Super Moderator
Reaction score
963
> you're really not going to make me do an update just to change SPACE -> DELIMITER are you? : (
No, read my post again. I assumed there'd be an update at some point in the eventual future though. There's no need for an update for such a minor 'issue'.
 

Nestharus

o-o
Reaction score
84
ok =o. When I read this-
You'll need to update the system at some point though.

I thought you wanted me to change the SPACE -> DELIMITER at some point, even if no other update was planned =P.

okie then =D

Btw, I think it's funny that this got approved before the resources that it uses did =P.
 

Sim

Forum Administrator
Staff member
Reaction score
534
> Btw, I think it's funny that this got approved before the resources that it uses did =P.

IMHO it's better that way.

To have a delicious apple pie you first need delicious apples.

;)
 

Nestharus

o-o
Reaction score
84
Wrote a new tutorial: Quickstart Guide to Installing and Using Encoder =).

Linked to at the top
 

Magthridon96

Member
Reaction score
2
So, Nestharus, how's Encoder 3.0.0.0 coming along? =)
Any issues when Scrambling with prime bases yet? :D
Were you able to maintain a 0.45-0.5 p-value? ^^
If yes, then go for it =)
Make the best save/load system out there even better =D
 

Nestharus

o-o
Reaction score
84
I just got up, but I'll prob be doing an update in the next 16 hours.

Were you able to maintain a 0.45-0.5 p-value

From Scrambler thread on THW

-> http://www.hiveworkshop.com/forums/pastebin.php?id=fk1keq
As the data set increases in value or decreases in value, the average increases/decreases in value. Because of this, lower values are weighted on one side and higher values are weighted on another side with medium values in the center. This is the reason why this fails the runs test with large numbers of data.

This behavior is to be expected and is actually desirable for this =).

Within a local area of 20 or 80, the data is very even as the data set isn't large enough to cause this effect.

So given a number, you can expect it to fall within a specific range. The larger the number, the bigger the range it can fall in. As save/load codes are very large, the effect that takes away from the randomness will take much longer to occur (I was dealing with a very small value of 65536), meaning that this will pretty much generate a random number given a number.

To give you an idea of the range for larger numbers, 65536 goes between around 4500 and 1.2 million.
 

Nestharus

o-o
Reaction score
84
Updated to Encoder 3


Man, I barely got this to fit into the thread >: O


This update features a variety of new security techniques
-player based bases based on player name + salt + a derived base
-player based checksums with variance derived from player name + salt 2 + checksum
-uses new Scrambler 3 (-save and -load lag on big codes now, /sad face)


So essentially, the codes are pretty much 100% impossible to crack w/o both opening the map and ripping out the settings + understanding the systems in the first place ;D


Updated to Encoder 3.0.1.0
Added minimum/maximum boundaries on loading codes. This will block out players attempting to load things like 1, 5, or 7. I came up with the idea when I tried -load 5 in another map and it worked, haha.


And TH gets my special remove as many characters as I can for the code in the post. That's the only way I can fit it in now.


Updated to Encoder 3.0.1.1
-Updated demo map to use updated Base and BigInt
-Added a check to make sure all characters in a code are valid characters before proceeding to open data buffer


And I'm just not going to post the Encoder code on the thread anymore... it doesn't fit unless I make it unreadable, so it's pointless >: P
 

tooltiperror

Super Moderator
Reaction score
231
>And I'm just not going to post the Encoder code on the thread anymore... it doesn't fit unless I make it unreadable, so it's pointless >: P
You could ask in Forum Questions to have a second post put in after your first post so you can have a space for the code.

And putting code in a post has become a (possibly evil) de facto standard.
 

Nestharus

o-o
Reaction score
84
Nah, I don't like to split code up into two posts. That's just something I don't do ^)^. It makes it very difficult to update the post, harder cnp, and harder for users to read. No tx ^^


The header should be enough to give people a feel for the system ; ).
 

Narks

Vastly intelligent whale-like being from the stars
Reaction score
90
Nah, I don't like to split code up into two posts. That's just something I don't do ^)^. It makes it very difficult to update the post, harder cnp, and harder for users to read.


JASS:
    function CatalogAddCatalog takes integer y, integer b returns nothing
        local integer z = w
        loop
            if (not f[y].boolean.has(p<b>)) then
                set z = z + 1
                set p[z] = p<b>
                set f[y].boolean[p<b>] = true
                set e[l[y]] = z
                set l[y] = z
            endif
            set b = e<b>
            exitwhen b == 0
        endloop
        set w = z
    endfunction</b></b></b></b>


really?
 

Bribe

vJass errors are legion
Reaction score
67
Combined with the prefix Encoder__ or even Encoder___, the difference
between a readable 3 or 4 char variable and a 1 char variable is a waste
of time. It will also make this library very tough for him to edit in a few
months because he will have to re-study the entire thing instead of just
pick up where he left off.

Unless Nestharus is secretly a machine able to discern a meaningful
difference between "x" and "f".

I think for the pain in trying to read these libraries in order to give them
a proper review, or the pain of users who try to judge if this script is
good enough to import into their map, just to avert the problem of a
map optimizer that the majority of users don't have and/or couldn't care
less about, it is worth it to have long variable names.

Any one using AI natives or string-based API can simply edit their map
using an mpq editor to fix said problems, in the 0.5% chance they are
actually using the thing.

Or Nestharus can take the time to build a short program that shortens
names, instead of taking the time to figure out his own systems trying
to remember if "x" is a unit and "u" is a coordinate.

Or we can wait for me to build a standalone optimizer which will happen
in the next month or two.
 

tooltiperror

Super Moderator
Reaction score
231
I agree with all that Bribe said.

I do not think any script with such practices should be approved at all.
 

Nestharus

o-o
Reaction score
84
Eh, I write them in such a way that I'd be willing to use them as well ; ).

I'm not going to write something that I'd never be willing to use. That's the reason for the short variable names =P.


And I put up all of the code as requested.


Furthermore, the code is thoroughly commented. The short variable names shouldn't really be a problem as it can clearly be seen what's going on in the code =).
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top