local function tonum(cchar) if cchar == ":" then return 58 end if cchar == "-" then return 45 end if cchar == "!" then return 32 end if cchar == "," then return 44 end if cchar == "0" then return 48 end if cchar == "1" then return 49 end if cchar == "2" then return 50 end if cchar == "3" then return 51 end if cchar == "4" then return 52 end if cchar == "5" then return 53 end if cchar == "6" then return 54 end if cchar == "7" then return 55 end if cchar == "8" then return 56 end if cchar == "9" then return 57 end if cchar == "A" then return 65 end if cchar == "B" then return 66 end if cchar == "C" then return 67 end if cchar == "D" then return 68 end if cchar == "E" then return 69 end if cchar == "F" then return 70 end if cchar == "G" then return 71 end if cchar == "H" then return 72 end if cchar == "I" then return 73 end if cchar == "J" then return 74 end if cchar == "K" then return 75 end if cchar == "L" then return 76 end if cchar == "M" then return 77 end if cchar == "N" then return 78 end if cchar == "O" then return 79 end if cchar == "P" then return 80 end if cchar == "Q" then return 81 end if cchar == "R" then return 82 end if cchar == "S" then return 83 end if cchar == "T" then return 84 end if cchar == "U" then return 85 end if cchar == "V" then return 86 end if cchar == "W" then return 87 end if cchar == "X" then return 88 end if cchar == "Y" then return 89 end if cchar == "Z" then return 90 end if cchar == "a" then return 97 end if cchar == "b" then return 98 end if cchar == "c" then return 99 end if cchar == "d" then return 100 end if cchar == "e" then return 101 end if cchar == "f" then return 102 end if cchar == "g" then return 103 end if cchar == "h" then return 104 end if cchar == "i" then return 105 end if cchar == "j" then return 106 end if cchar == "k" then return 107 end if cchar == "l" then return 108 end if cchar == "m" then return 109 end if cchar == "n" then return 110 end if cchar == "o" then return 111 end if cchar == "p" then return 112 end if cchar == "q" then return 113 end if cchar == "r" then return 114 end if cchar == "s" then return 115 end if cchar == "t" then return 116 end if cchar == "u" then return 117 end if cchar == "v" then return 118 end if cchar == "w" then return 119 end if cchar == "x" then return 120 end if cchar == "y" then return 121 end if cchar == "z" then return 122 end end local function findcollision(hash_table, array) local collisions = 0 for k,v in ipairs(hash_table) do for i = 1, table.getn(hash_table) do if i ~= k then if hash_table[i] == hash_table[k] then collisions = collisions + 1 print(hash_table[i], hash_table[k], i, k, array[i], array[k]) end end end end return collisions end aura_env.tohash = function(tempvar) local charTable = {} local hash = 0 for char in tempvar:gmatch("%a") do charTable[#charTable + 1] = char hash = hash + tonum(char) hash = hash / table.getn(charTable) end hash = math.floor(hash * 10000) return hash --print(aura_env.spellarray[hash], hash) end aura_env.checkbase = function(spell) if aura_env.spellarray[aura_env.tohash(spell)] == nil then return 0 end if aura_env.spellarray[aura_env.tohash(spell)] == spell then return 1 end end