author | unc0rr |
Sat, 13 Feb 2016 12:32:08 +0300 | |
changeset 11546 | 59bf29b4f523 |
parent 11545 | 86528b0cd491 |
child 11616 | 5b31f61e0723 |
permissions | -rw-r--r-- |
11545
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
1 |
local maps = { |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
2 |
["Border,60526986531,M838018718Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #1" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
3 |
, ["Border,71022545335,M-490229244Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #2" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
4 |
, ["Border,40469748943,M806689586Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #3" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
5 |
, ["85940488650,M-134869715Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #4" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
6 |
, ["62080348735,M-661895109Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #5" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
7 |
, ["56818170733,M479034891Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #6" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
8 |
, ["Border,25372705797,M1770509913Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #7" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
9 |
, ["Border,10917540013,M1902370941Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #8" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
10 |
, ["Border,43890274319,M185940363Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #9" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
11 |
, ["Border,27870148394,M751885839Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #10" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
12 |
, ["Border,22647869226,M178845011Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #11" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
13 |
, ["Border,46954401793,M706743197Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #12" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
14 |
, ["Border,60760377667,M157242054Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #13" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
15 |
, ["Border,51825989393,M-1585582638Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #14" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
16 |
, ["81841189250,M256715557Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #15" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
17 |
, ["Border,44246064625,M-528106034Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #16" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
18 |
, ["60906776802,M-1389184823Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #17" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
19 |
, ["Border,70774747774,M-534640804Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #18" |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
20 |
, ["Border,50512019610,M-1839546856Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #19" |
11546 | 21 |
-- tech racer |
22 |
, ["Border,19661006772,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #1" |
|
23 |
, ["Border,19661306766,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #2" |
|
24 |
, ["Border,19661606760,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #3" |
|
25 |
, ["Border,19661906754,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #4" |
|
26 |
, ["Border,19662206748,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #5" |
|
27 |
, ["Border,19662506742,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #6" |
|
28 |
, ["Border,19662806736,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #7" |
|
29 |
, ["Border,19663106730,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #8" |
|
11545
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
30 |
} |
11542
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
31 |
|
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
32 |
-- modified Adler hash |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
33 |
local hashA = 0 |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
34 |
local hashB = 0 |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
35 |
local hashModule = 299993 |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
36 |
|
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
37 |
function resetHash() |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
38 |
hashA = 0 |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
39 |
hashB = 0 |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
40 |
end |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
41 |
|
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
42 |
function addHashData(i) |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
43 |
hashA = (hashA + i + 65536) % hashModule |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
44 |
hashB = (hashB + hashA) % hashModule |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
45 |
end |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
46 |
|
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
47 |
function hashDigest() |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
48 |
return(hashB * hashModule + hashA) |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
49 |
end |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
50 |
|
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
51 |
function detectMapWithDigest() |
11545
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
52 |
if RopePercent == 100 and MinesNum == 0 then |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
53 |
mapString = hashDigest() .. "," .. LandDigest |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
54 |
|
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
55 |
if band(GameFlags, gfBorder) ~= 0 then |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
56 |
mapString = "Border," .. mapString |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
57 |
end |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
58 |
|
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
59 |
--WriteLnToConsole(mapString) |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
60 |
return(maps[mapString]) |
86528b0cd491
detectMap() rewrite with more sane approach, also check waypoints placement to avoid cheating
unc0rr
parents:
11542
diff
changeset
|
61 |
end |
11542
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11535
diff
changeset
|
62 |
end |