author | unC0Rr |
Fri, 12 Feb 2016 17:03:42 +0300 | |
changeset 11547 | 64a5ab2c4f00 |
parent 11540 | 135094ab3146 |
child 11550 | 86528b0cd491 |
permissions | -rw-r--r-- |
10022 | 1 |
function detectMap() |
10091 | 2 |
if RopePercent == 100 and MinesNum == 0 then |
10211 | 3 |
-- challenges with border |
10214 | 4 |
if band(GameFlags, gfBorder) ~= 0 then |
10211 | 5 |
if LandDigest == "M838018718Scripts/Multiplayer/Racer.lua" then |
6 |
return("Racer Challenge #1") |
|
7 |
elseif LandDigest == "M-490229244Scripts/Multiplayer/Racer.lua" then |
|
8 |
return("Racer Challenge #2") |
|
9 |
elseif LandDigest == "M806689586Scripts/Multiplayer/Racer.lua" then |
|
10 |
return("Racer Challenge #3") |
|
10222 | 11 |
elseif LandDigest == "M1770509913Scripts/Multiplayer/Racer.lua" then |
12 |
return("Racer Challenge #7") |
|
10247 | 13 |
elseif LandDigest == "M1902370941Scripts/Multiplayer/Racer.lua" then |
14 |
return("Racer Challenge #8") |
|
10335 | 15 |
elseif LandDigest == "M185940363Scripts/Multiplayer/Racer.lua" then |
16 |
return("Racer Challenge #9") |
|
10365 | 17 |
elseif LandDigest == "M751885839Scripts/Multiplayer/Racer.lua" then |
18 |
return("Racer Challenge #10") |
|
10366 | 19 |
elseif LandDigest == "M178845011Scripts/Multiplayer/Racer.lua" then |
10367 | 20 |
return("Racer Challenge #11") |
10377 | 21 |
elseif LandDigest == "M706743197Scripts/Multiplayer/Racer.lua" then |
22 |
return("Racer Challenge #12") |
|
10832 | 23 |
elseif LandDigest == "M157242054Scripts/Multiplayer/Racer.lua" then |
24 |
return("Racer Challenge #13") |
|
10833 | 25 |
elseif LandDigest == "M-1585582638Scripts/Multiplayer/Racer.lua" then |
26 |
return("Racer Challenge #14") |
|
10885 | 27 |
elseif LandDigest == "M-528106034Scripts/Multiplayer/Racer.lua" then |
28 |
return("Racer Challenge #16") |
|
11540 | 29 |
elseif LandDigest == "M-534640804Scripts/Multiplayer/Racer.lua" then |
30 |
return("Racer Challenge #18") |
|
31 |
elseif LandDigest == "M-1839546856Scripts/Multiplayer/Racer.lua" then |
|
32 |
return("Racer Challenge #19") |
|
10214 | 33 |
end |
10211 | 34 |
-- challenges without border |
10214 | 35 |
elseif LandDigest == "M-134869715Scripts/Multiplayer/Racer.lua" then |
36 |
return("Racer Challenge #4") |
|
37 |
elseif LandDigest == "M-661895109Scripts/Multiplayer/Racer.lua" then |
|
38 |
return("Racer Challenge #5") |
|
10221 | 39 |
elseif LandDigest == "M479034891Scripts/Multiplayer/Racer.lua" then |
40 |
return("Racer Challenge #6") |
|
10854 | 41 |
elseif LandDigest == "M256715557Scripts/Multiplayer/Racer.lua" then |
42 |
return("Racer Challenge #15") |
|
11363 | 43 |
elseif LandDigest == "M-1389184823Scripts/Multiplayer/Racer.lua" then |
44 |
return("Racer Challenge #17") |
|
10091 | 45 |
end |
10022 | 46 |
end |
47 |
end |
|
11547
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
48 |
|
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
49 |
-- modified Adler hash |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
50 |
local hashA = 0 |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
51 |
local hashB = 0 |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
52 |
local hashModule = 299993 |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
53 |
|
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
54 |
function resetHash() |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
55 |
hashA = 0 |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
56 |
hashB = 0 |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
57 |
end |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
58 |
|
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
59 |
function addHashData(i) |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
60 |
hashA = (hashA + i + 65536) % hashModule |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
61 |
hashB = (hashB + hashA) % hashModule |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
62 |
end |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
63 |
|
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
64 |
function hashDigest() |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
65 |
return(hashB * hashModule + hashA) |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
66 |
end |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
67 |
|
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
68 |
function detectMapWithDigest() |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
69 |
return("map " .. hashDigest()) |
64a5ab2c4f00
Attempt to implement hash for special points to detect tech racer maps
unC0Rr
parents:
11540
diff
changeset
|
70 |
end |