История изменений
Исправление LightDiver, (текущая версия) :
function alfabet (bookv)
shablon="абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
myB=string.find(shablon,bookv)
return myB
end
function hashStr (nome)
local i = time()
i = i % 1000
nome1=string.sub(nome, 1, 1)
nome2=string.sub(nome, 2, 2)
nome1=alfabet(nome1)
nome2=alfabet(nome2)
hNome=nome1*nome2
hNome=string.sub(hNome, 1, 3)
hNome=string.format("%03d",hNome)
r1=string.sub(i, 1, 1)
r2=string.sub(hNome, 1, 1)
r3=string.sub(i, 2, 2)
r4=string.sub(hNome, 2, 2)
r5=string.sub(i, 3, 3)
r6=string.sub(hNome, 3, 3)
r=r1 .. r2 .. r3 .. r4 .. r5 .. r6
return r
end
hsh=hashStr(sender)
testMes=mysplit(message)
if testMes[1]=="#" then
hshStraniero1=string.sub(testMes[2],1,1)
hshStraniero2=string.sub(testMes[2],3,3)
hshStraniero3=string.sub(testMes[2],5,5)
hshStraniero=hshStraniero1 .. hshStraniero2 .. hshStraniero3
end
hsh1=string.sub(hsh,1,1)
hsh2=string.sub(hsh,3,3)
hsh3=string.sub(hsh,5,5)
hsh4=hsh1 .. hsh2 .. hsh3
hshC=(math.abs(hsh-hshStraniero)
if hshC<10 then
hshCMD="maodzedun"
else
hshCMD="0"
end
Короче. Кажется так. Добавлю в начало команд символ #. Буду читать по нему. Если есть символ - вычисляем. Если разница между хэшами меньше 10, то команда принимается. Кажется нигде не ошибся.
Исправление LightDiver, :
function alfabet (bookv)
shablon="абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
myB=string.find(shablon,bookv)
return myB
end
function hashStr (nome)
local i = time()
i = i % 1000
nome1=string.sub(nome, 1, 1)
nome2=string.sub(nome, 2, 2)
nome1=alfabet(nome1)
nome2=alfabet(nome2)
hNome=nome1*nome2
hNome=string.sub(hNome, 1, 3)
hNome=string.format("%03d",hNome)
r1=string.sub(i, 1, 1)
r2=string.sub(hNome, 1, 1)
r3=string.sub(i, 2, 2)
r4=string.sub(hNome, 2, 2)
r5=string.sub(i, 3, 3)
r6=string.sub(hNome, 3, 3)
r=r1 .. r2 .. r3 .. r4 .. r5 .. r6
return r
end
hsh=hashStr(sender)
testMes=mysplit(message)
if testMes[1]=="#" then
hshStraniero1=string.sub(testMes[2],1,1)
hshStraniero2=string.sub(testMes[2],3,3)
hshStraniero3=string.sub(testMes[2],5,5)
hshStraniero=hshStraniero1 .. hshStraniero2 .. hshStraniero3
end
hsh1=string.sub(hsh,1,1)
hsh2=string.sub(hsh,3,3)
hsh3=string.sub(hsh,5,5)
hsh=hsh1 .. hsh2 .. hsh3
hshC=(math.abs(hsh-hshStraniero)
if hshC<10 then
hsh="maodzedun"
else
hshC="0"
end
Короче. Кажется так. Добавлю в начало команд символ #. Буду читать по нему. Если есть символ - вычисляем. Если разница между хэшами меньше 10, то команда принимается. Кажется нигде не ошибся.
Исходная версия LightDiver, :
function alfabet (bookv)
shablon="абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
myB=string.find(shablon,bookv)
return myB
end
function hashStr (nome)
local i = time()
i = string.sub(i, 8, 9)
i = i % 1000
nome1=string.sub(nome, 1, 1)
nome2=string.sub(nome, 2, 2)
nome1=alfabet(nome1)
nome2=alfabet(nome2)
hNome=nome1*nome2
hNome=string.sub(hNome, 1, 3)
hNome=string.format("%03d",hNome)
r1=string.sub(i, 1, 1)
r2=string.sub(hNome, 1, 1)
r3=string.sub(i, 2, 2)
r4=string.sub(hNome, 2, 2)
r5=string.sub(i, 3, 3)
r6=string.sub(hNome, 3, 3)
r=r1 .. r2 .. r3 .. r4 .. r5 .. r6
return r
end
hsh=hashStr(sender)
testMes=mysplit(message)
if testMes[1]=="#" then
hshStraniero1=string.sub(testMes[2],1,1)
hshStraniero2=string.sub(testMes[2],3,3)
hshStraniero3=string.sub(testMes[2],5,5)
hshStraniero=hshStraniero1 .. hshStraniero2 .. hshStraniero3
end
hsh1=string.sub(hsh,1,1)
hsh2=string.sub(hsh,3,3)
hsh3=string.sub(hsh,5,5)
hsh=hsh1 .. hsh2 .. hsh3
hshC=(math.abs(hsh-hshStraniero)
if hshC<10 then
hsh="maodzedun"
else
hshC="0"
end
Короче. Кажется так. Добавлю в начало команд символ #. Буду читать по нему. Если есть символ - вычисляем. Если разница между хэшами меньше 10, то команда принимается. Кажется нигде не ошибся.