LINUX.ORG.RU

Предсказуемость математики и луа

 ,


1

1
function hashStr (nome)
	hours, minutes = GetGameTime()
	count1=hours* 3,1415926535
	count2=minutes* 3,1415926535
	count3=count1*count2
	count3=string.sub(count3, 1, 3)
	count3=string.format("%03d",count3)
	hNik=string.byte(nome,1)
	hNik2=string.byte(nome,2)
	hNome=hNik*hNik2
	hNome=string.sub(hNome, 1, 3)
	hNome=string.format("%03d",hNome)
	r1=string.sub(count3, 1, 1)
	r2=string.sub(hNome, 1, 1)
	r3=string.sub(count3, 2, 2)
	r4=string.sub(hNome, 2, 2)
	r5=string.sub(count3, 3, 3)
	r6=string.sub(hNome, 3, 3)
	r=r1 .. r2 .. r3 .. r4 .. r5 .. r6
	return r
end

hours, minutes = GetGameTime() получает текущие час и минуту в формате: 01 22

Скармливаем слово на одном компе - получаем предсказуемо одинаковый результат. Скармливаем на другом компе получаем тоже предсказуемо одинаковый результат, но не такой, как на предыдущем компе. Это как вообще? Данные одинаковые. Ник один и тот же. Время одно и то же. Результат всегда разный. Это вообще законно?! Время возвращается серверное - одинаковое и там и там.

Перемещено Dimez из general

★★★★★

Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от anonymous

Это было 2 года назад и там все ясно, просто понятно. Я тогда вообще не понимал что делаю и как. Там все уже решено.

LightDiver ★★★★★
() автор топика
Ответ на: комментарий от hobbit

https://rutube.ru/video/private/95714f2b3c9ec21e978d544a462f48e2/?p=uik0TWPF_jEFxxw462dKxQ

Смотри чего я тут запилил. Возможно ты оценишь. Надо конечно допиливать, но пока работает добавление любых предметов из сумок для отслеживания количества, добавления любых функций, возвращающих значения. Количество потребления памяти аддонами, вывод значений переменных, параметров всяких от персонажей итд итп.

https://pastebin.com/uMXcw5EH

полезным может быть как юзеру, так и при разработке. Очень полезным.

пример использования:

/run infoFrame = UniversalInfoFrame:new(5, testQ['uniFrame'])  -- создаем экземпляр. Первый параметр - частота обновления данных в секундах. Второй - таблица для сохранения (тут еще надо подумать)  

/run infoFrame:AddText("Логи", function() return GetAddOnMemoryUsage("NSQS_chat_log") end, true) -- добавляю отображение потребления аддонаNSQS_chat_log сверху фрейма

/run infoFrame:AddText("Строки", function() return chat_log:Len() end, false) -- добавляю отображение количества строк в логе внизу фрейма

Или же:

/run infoFrame:AddText("Хп", function() return UnitHealth('player') end, true) -- добавляю отображение хп персонажа сверху фрейма
LightDiver ★★★★★
() автор топика
Последнее исправление: LightDiver (всего исправлений: 2)
Ответ на: комментарий от hobbit

https://github.com/Vladgobelen/NSQC3

Вот такие вот классы получились. Допилил фрейм - сохраняет данные добавленные, включая сохранение функций. Вдруг пригодится когда.

LightDiver ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Хэш-таблицы - мерзкие двуличные твари.

LightDiver ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.