Перейти к содержимому

Рекомендуемые сообщения

Ладно. 
Запись в файл: 201 строка
Чтение: 84 строка


 

--ПОДКЛЮЧЕНИЕ КОМПОНЕНТОВ
component=require("component")
radar=component.openperipheral_sensor
cb=component.command_block
gpu=component.gpu
event=require("event")
term=require("term")
unicode=require("unicode")
computer=require("computer")
keys=require("keyboard").keys
--НАСТРОЙКИ
background=0x000000
foreground=0x00ff00
--ФУНКЦИИ
function getUserXP_local(login)
	ta=radar.getPlayerByName(LOGIN).all().player.experience
	return ta.level, ta.levelProgress, ta.nextLevelXp
end
function c(command)
	cb.setCommand(command)
	cb.executeCommand()
end
--[[
17*Level --(at levels 0-15)
1.5*Level^2 - 29.5*Level + 360 --(at levels 16-30)
3.5*Level^2 - 151.5*Level + 2220 --(at level 31+)]]--
function xpInLevelF(level)
	if level>=31 then
		return 3.5*level^2-151.5*level+2220
	elseif level>=16 and level<=30 then
		return 1.5*level^2 - 29.5*level + 360
	elseif level<=15 then 
		return 17*level
	end
end
function xpInLevel(level)
	if level==1 then return 17
	end
	xpbig=xpInLevelF(level)
	xpmin=xpInLevelF(level-1)
	return xpbig-xpmin
end
function xpInUser(login)
	return xpInLevelF(getUserXP_local(login))
end
function otjatLevel(login, level)
	levelInUser=getUserXP_local(login)
	if levelInUser-level<0 then
		return false, "Не хватает опыта!"
	end
	maxXpInUser=xpInUser(login)
	minXpInUser=xpInLevelF(levelInUser-level)
	selected=maxXpInUser-minXpInUser
	c("xp -"..selected.." "..login)
	return selected
end
function otjatExperience(login, exp)
	inUser=xpInUser(login)
	if inUser-exp<0 then
		return false, "Не хватает опыта!"
	end
	c("xp -"..exp.." "..login)
	return exp
end
function giveExperience(login, exp)
	c("xp "..exp.." "..login)
end
function giveLevel(login, exp)
	level=getUserXP_local(login)
	otjatExperience(login, xpInUser(login))
	giveExperience(login, xpInLevelF(level)+xpInLevelF(exp))
end
function setCenterText(y, text)
	len=unicode.len(text)
	x=(80/2)-(len/2)
	gpu.set(x, y, text)
end
function removeUsers()
	users={computer.users()}
	for i=1, #users do
		computer.removeUser(users[i])
	end
end
function getUserXP_db(login)
	xp=nil
	file=io.open(login)
	if file then
	xp=file:read("*all")
	file:close()
	end
	if xp=="" then xp=0
	elseif xp==nil then xp=0
	end
	return xp
end
function clear22()
	tst=""
	for i=1, 80 do
		tst=tst.." "
	end
	gpu.setBackground(0x000000)
	setCenterText(22, tst)
end
function initEnetring()
	if selectedTab==1 then
		setCenterText(22, "Весь ваш опыт снят и добавлен в банк!")
		for i=1, 3 do
			otjatiyLevel=otjatExperience(LOGIN, xpInLevelF(getUserXP_local(LOGIN)))
			inDB=getUserXP_db(LOGIN)
			writeTo(LOGIN, otjatiyLevel+inDB)
		end
	elseif selectedTab==2 then
		setCenterText(22, "Весь ваш опыт из банка переведён вам!")
		levelCIB=tonumber(getUserXP_db(LOGIN))
		giveExperience(LOGIN, levelCIB)
		writeTo(LOGIN, 0)
	elseif selectedTab==3 then
		gpu.setBackground(0x000000)
		gpu.setForeground(0xffffff)
		setCenterText(22, "Снятие части уровней БАНК==>ИГРОК! Ввод в единицах опыта. ")
		inputForGive=tonumber(read(23))
		setCenterText(23, "                          ")
		xpInDB=tonumber(getUserXP_db(LOGIN))
		if inputForGive>xpInDB then
			setCenterText(24, "Недостаточно опыта в банке!")
			os.sleep(2)
			setCenterText(24, "                          ")
			return false
		end
		giveExperience(LOGIN, inputForGive)
		nowInDB=xpInDB-inputForGive
		writeTo(LOGIN, tostring(nowInDB))
	elseif selectedTab==4 then 
		gpu.setBackground(0x000000)
		gpu.setForeground(0xffffff)
		setCenterText(22, "Снятие части уровней ИГРОК==>БАНК! Ввод в уровнях. ")
		inputForGive=tonumber(read(23))
		setCenterText(23, "                          ")
		xpInDB=tonumber(getUserXP_db(_G.LOGIN))
		levelInUserNow=getUserXP_local(_G.LOGIN)
		if levelInUserNow<inputForGive then
			setCenterText(24, "Недостаточно уровней!")
			os.sleep(2)
			setCenterText(24, "                          ")
			return false
		else 
			inputForGive=levelInUserNow-inputForGive
		end
		otjatExperience(LOGIN, xpInLevelF(levelInUserNow))
		inputForGive=xpInLevelF(inputForGive)
		giveExperience(LOGIN, inputForGive)
		writeTo(LOGIN, xpInDB+inputForGive)
	end
	event.timer(5, clear22)
	drawINFO()
end
function reload(_, _, x, y)
	if x==80 and y==1 then 
		drawGUI()
	end
end
event.listen("touch", reload)
function printCurrentlySelected()
	msg="Выбрано: "..tostring(tofrom)
	ts=""
	for i=1, unicode.len(msg) do
		ts=ts.." "
	end
	gpu.set(1, 1, ts)
	gpu.set(1, 1, msg)
	for i=2, tofrom+1 do
		gpu.set(i, 13, "█")
	end
end
function pcst()
	gpu.setBackground(0xff0000)
	if selectedTab==1 then 
		setCenterText(14, "Добавить все уровни в банк")
	elseif selectedTab==2 then 
		setCenterText(15, "Снять весь опыт с банка")
	elseif selectedTab==3 then 
		setCenterText(16, "Снять часть опыта с банка")
	elseif selectedTab==4 then
		setCenterText(17, "Добавить часть уровней в банк")
	end
	gpu.setForeground(0x000000)
end
function pcst2(selectedTab)
	gpu.setBackground(0x00ff00)
	if selectedTab==1 then 
		setCenterText(14, "Добавить все уровни в банк")
	elseif selectedTab==2 then 
		setCenterText(15, "Снять весь опыт с банка")
	elseif selectedTab==3 then 
		setCenterText(16, "Снять часть опыта с банка")
	elseif selectedTab==4 then
		setCenterText(17, "Добавить часть уровней в банк")
	end
	gpu.setForeground(0x000000)
end
function writeTo(login, xp)
	file=io.open(login, "w")
	file:write(xp)
	file:close()
end
function clearINFO()
	for y=10, 12 do
		for x=1, 80 do
			gpu.set(x, y, " ")
		end
	end
end
function printTabes()
	noExit=true
	for i=1, 4 do
		pcst2(i)
	end
	tofrom=1
	selectedTab=1
	gpu.set(1, 13, "|")
	gpu.set(80, 13, "|")
	setCenterText(16, "Снять часть опыта с банка")
	setCenterText(15, "Снять весь опыт с банка")
	setCenterText(17, "Добавить часть уровней в банк")
	printCurrentlySelected()
	gpu.setBackground(0xff0000)
	setCenterText(14, "Добавить все уровни в банк")
	gpu.setForeground(0x000000)
	while noExit do
		pcst()
		printCurrentlySelected()
		_, _, _, key = event.pull("key_down")
		key=keys[key]
		if key=="up" and selectedTab~=1 then
			pcst2(selectedTab)
			selectedTab=selectedTab-1
		elseif key=="down" and selectedTab~=4 then
		  pcst2(selectedTab)
			selectedTab=selectedTab+1
		elseif key=="enter" then
			initEnetring()
		elseif key=="f5" then 
			reDrawGUI()
		end
	end
end
function drawINFO()
	gpu.setBackground(0x000000)
	gpu.setForeground(0x00ff00)
	clearINFO()
	setCenterText(10, "Игрок "..LOGIN.." залогинился.")
	setCenterText(11, 'Уровень "на руках": '..getUserXP_local(LOGIN))
	setCenterText(12, "Опыт в Банке: "..tostring(getUserXP_db(LOGIN)))
	gpu.setForeground(0x000000)
end
function reDrawGUI()
	gpu.setBackground(background)
	gpu.setForeground(foreground)
	gpu.setResolution(80, 25)
	gpu.fill(1, 1, 80, 25, " ")
	gpu.set(80, 1, "x")
	setCenterText(1, "Банк Опыта")
	setCenterText(2, line1)
	setCenterText(3, line2)
	setCenterText(4, line3)
	setCenterText(5, line4)
	setCenterText(6, line5)
	setCenterText(7, line6)
	setCenterText(8, line7)
	setCenterText(9, line8)
	setCenterText(10, "Игрок "..login.." залогинился.")
	setCenterText(11, 'Уровень "на руках": '..getUserXP_local(login))
	setCenterText(12, "Уровень в Банке: "..tostring(getUserXP_db(login)))
	printTabes()
end
function read(y)
	repeat
	term.setCursor(38, y)
	setCenterText(y, "                                              ")
	variableValue=io.read()
	until tonumber(variableValue)
	return variableValue
end
line1=[[_________ _______           _______           _ ]]
line2=[[\__   __/(  ___  )|\     /|(  ____ \|\     /|( )]]
line3=[[   ) (   | (   ) || )   ( || (    \/| )   ( || |]]
line4=[[   | |   | |   | || |   | || |      | (___) || |]]
line5=[[   | |   | |   | || |   | || |      |  ___  || |]]
line6=[[   | |   | |   | || |   | || |      | (   ) |(_)]]
line7=[[   | |   | (___) || (___) || (____/\| )   ( | _ ]]
line8=[[   )_(   (_______)(_______)(_______/|/     \|(_)]]
function drawGUI()
	gpu.setBackground(background)
	gpu.setForeground(foreground)
	gpu.setResolution(80, 25)
	gpu.fill(1, 1, 80, 25, " ")
	gpu.set(80, 1, "x")
	setCenterText(1, "Банк Опыта")
	setCenterText(2, line1)
	setCenterText(3, line2)
	setCenterText(4, line3)
	setCenterText(5, line4)
	setCenterText(6, line5)
	setCenterText(7, line6)
	setCenterText(8, line7)
	setCenterText(9, line8)
	_, _, _, _, _, login = event.pull("touch")
	_G.LOGIN=login
	setCenterText(10, "Игрок "..login.." залогинился.")
	setCenterText(11, 'Уровень "на руках": '..getUserXP_local(login))
	setCenterText(12, "Уровень в Банке: "..tostring(getUserXP_db(login)))
	levelNow=getUserXP_local(LOGIN)
	c("xp -"..tostring(levelNow+1).."L "..LOGIN)
	c("xp "..levelNow.."L "..LOGIN)
	printTabes()
end
function getExperienceSphereCL(login)
end

 


Вроде всё:)
 


Для выхода - справа, сверху есть крестик 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что все?   Это уже релиз? Работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что все?   Это уже релиз? Работает?

Работает:) Вот как выглядит установка: 

5321406285.jpg

a411009052.jpg

d0e2a6f56c.jpg

3cdaf29758.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И что должно в твоей проге запуститься? Если там набор фанкшенов только? :)   Где майн цикл или старт какой-то функции?

 

Что это:

function fкакая-то()
        ......
end

function drawGUI()
	gpu.setBackground(background)
	gpu.setForeground(foreground)
	gpu.setResolution(80, 25)
	gpu.fill(1, 1, 80, 25, " ")
	gpu.set(80, 1, "x")
        ...
end
function getExperienceSphereCL(login)
end

Конец проги неожиданно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тьфу. Допиши в конце

while true do
  drawGUI()
end 

  :)

Изменено пользователем Asummonster

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ты ее тестировал? :D  Часть опыта банк просто себе присваивает при снятии, а потом забирании Если снять какую-то часть своего опыта в банк, а потом весь забрать, то остаешься в попе. Банк конкретно не додает опыта. Ищи ошибку в логике.

 

И сделано все как просили с точностью наИборот=)  Я ж тебе говорил, не связывайся с уровнями. Все должно быть в ед. Много багулек и артефактов графических (остатки букв, цвета) остается в диалогах тоже пока.

 

'Сохранку' еще не смотрел, как ты ее сделал, но ее в любом случае мы подключим к SQL ячейку с опытом каждому игроку.

 

Авторазлогин есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ты ее тестировал? :D  Часть опыта банк просто себе присваивает при снятии, а потом забирании Если снять какую-то часть своего опыта в банк, а потом весь забрать, то остаешься в попе. Банк конкретно не додает опыта. Ищи ошибку в логике.

 

И сделано все как просили с точностью наИборот=)  Я ж тебе говорил, не связывайся с уровнями. Все должно быть в ед. Много багулек и артефактов графических (остатки букв, цвета) остается в диалогах тоже пока.

 

'Сохранку' еще не смотрел, как ты ее сделал, но ее в любом случае мы подключим к SQL ячейку с опытом каждому игроку.

 

Авторазлогин есть?

Авторазлогина нет, а смысл? Ты же без игрока опыт не снимешь, не переведёшь. Но сделать это легко, по идее. Странно.Меня банк ни разу обманывал...С уровнями не связывался, в банке хранится всё в единицах опыта. Или ты хочешь с игрока тоже в единицах снимать?  По моему, не удобно будет. К примеру, хочешь снять 5 уровней, и считай себе:) Скинь артефакты, если не сложно. Я не видел(тестил мало, ~20 минут)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну смотри, во первых, а лазаю по компу, в любой момент может кто-то начать тыкать в комп и мешать и я не знаю, что прога начнет тогда вообще чебучить, я и подумать боюсь. Его по идее нужно аддюзерить на текущего клиента. А через время убивать этого юзера.

 

Во вторых. Если снимать опыт не весь, а потом его забирать и еще много всяких комбинаций, то начинается что-то непонятное. При первом подходе я с 10 уровня упал на 5-й, а при втором подходе за пару манипуляций в виде переливания опыта туда-сюда обратно по пару уровней я с 10 уровня апнулся до 17-го.  Где там баг,  я и предположить боюсь. Нужно смотреть всю  логику от начала и до конца.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хм,странно...Вот,честно,меня никогда не обманывало...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Только что потестировал. С опытом проблем нет,всё честно. Тут в другом дело, Алекс. Если у тебя не полный уровень, то сферы в тебе остаются. Он видит,сколько у тебя уровня, снимает его с тебя. Однако, если у тебя 80 лвл и половина 81 лвл, то если ты снимешь всё, у тебя половина 81 превратится в 15 уровней простых. И, когда ты снимаешь с банка он видит,что у тебя 15 уровней, и к ним прибавляет опыт. И ещё: Я заметил баг,что если уровень >120, его не всегда полностью снимает. Его просто не видит радар...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну, а тут наши полномочия всё

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Смотри!  99% сделано. Осталось только проверить все и отжебажить. Я ж говорю. Прогресс у меня вообще был пустой. Тупо себе гивнул 10 лвл с консоли. Потом 2 раза снял в банк по 2-3 уровня, два раза потом забирал весь опыт из банка. В итоге 17 лвл стал. Проверяй. То ли где-то ты не так считаешь, то ли не гетишь там что-то вовремя, или не туда пишешь.

 

Какой мне смысл это писать, если бы оно все хорошо считало. Пересмотри аккуратно все еще.

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ха-ха, правда! Я с 10 лвл снял 2 уровня, потом 3, перевёл всё себе, и Аллилуйя!  У меня 17 лвл с половинкой...


Да, я понял где ошибка...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всё, багфикснул.

 


 

--ПОДКЛЮЧЕНИЕ КОМПОНЕНТОВ
component=require("component")
radar=component.openperipheral_sensor
cb=component.command_block
gpu=component.gpu
event=require("event")
term=require("term")
unicode=require("unicode")
computer=require("computer")
keys=require("keyboard").keys
--НАСТРОЙКИ
background=0x000000
foreground=0x00ff00
--ФУНКЦИИ
function getUserXP_local(login)
	ta=radar.getPlayerByName(LOGIN).all().player.experience
	return ta.level, ta.levelProgress, ta.nextLevelXp
end
function c(command)
	cb.setCommand(command)
	cb.executeCommand()
end
--[[
17*Level --(at levels 0-15)
1.5*Level^2 - 29.5*Level + 360 --(at levels 16-30)
3.5*Level^2 - 151.5*Level + 2220 --(at level 31+)]]--
function xpInLevelF(level)
	if level>=31 then
		return 3.5*level^2-151.5*level+2220
	elseif level>=16 and level<=30 then
		return 1.5*level^2 - 29.5*level + 360
	elseif level<=15 then 
		return 17*level
	end
end
function xpInLevel(level)
	if level==1 then return 17
	end
	xpbig=xpInLevelF(level)
	xpmin=xpInLevelF(level-1)
	return xpbig-xpmin
end
function xpInUser(login)
	return xpInLevelF(getUserXP_local(login))
end
function otjatLevel(login, level)
	levelInUser=getUserXP_local(login)
	if levelInUser-level<0 then
		return false, "Не хватает опыта!"
	end
	maxXpInUser=xpInUser(login)
	minXpInUser=xpInLevelF(levelInUser-level)
	selected=maxXpInUser-minXpInUser
	c("xp -"..selected.." "..login)
	return selected
end
function otjatExperience(login, exp)
	inUser=xpInUser(login)
	if inUser-exp<0 then
		return false, "Не хватает опыта!"
	end
	c("xp -"..exp.." "..login)
	return exp
end
function giveExperience(login, exp)
	c("xp "..exp.." "..login)
end
function giveLevel(login, exp)
	level=getUserXP_local(login)
	otjatExperience(login, xpInUser(login))
	giveExperience(login, xpInLevelF(level)+xpInLevelF(exp))
end
function setCenterText(y, text)
	len=unicode.len(text)
	x=(80/2)-(len/2)
	gpu.set(x, y, text)
end
function removeUsers()
	users={computer.users()}
	for i=1, #users do
		computer.removeUser(users[i])
	end
end
function getUserXP_db(login)
	xp=nil
	file=io.open(login)
	if file then
	xp=file:read("*all")
	file:close()
	end
	if xp=="" then xp=0
	elseif xp==nil then xp=0
	end
	return xp
end
function clear22()
	tst=""
	for i=1, 80 do
		tst=tst.." "
	end
	gpu.setBackground(0x000000)
	setCenterText(22, tst)
end
function initEnetring()
	if selectedTab==1 then
		setCenterText(22, "Весь ваш опыт снят и добавлен в банк!")
		for i=1, 3 do
			otjatiyLevel=otjatExperience(LOGIN, xpInLevelF(getUserXP_local(LOGIN)))
			inDB=getUserXP_db(LOGIN)
			writeTo(LOGIN, otjatiyLevel+inDB)
		end
	elseif selectedTab==2 then
		setCenterText(22, "Весь ваш опыт из банка переведён вам!")
		levelCIB=tonumber(getUserXP_db(LOGIN))
		giveExperience(LOGIN, levelCIB)
		writeTo(LOGIN, 0)
	elseif selectedTab==3 then
		gpu.setBackground(0x000000)
		gpu.setForeground(0xffffff)
		setCenterText(22, "Снятие части уровней БАНК==>ИГРОК! Ввод в единицах опыта. ")
		inputForGive=tonumber(read(23))
		setCenterText(23, "                                                 ")
		xpInDB=tonumber(getUserXP_db(LOGIN))
		if inputForGive>xpInDB then
			setCenterText(24, "Недостаточно опыта в банке!")
			os.sleep(2)
			setCenterText(24, "                                                ")
			return false
		end
		giveExperience(LOGIN, inputForGive)
		nowInDB=xpInDB-inputForGive
		writeTo(LOGIN, tostring(nowInDB))
	elseif selectedTab==4 then 
		gpu.setBackground(0x000000)
		gpu.setForeground(0xffffff)
		setCenterText(22, "Снятие части уровней ИГРОК==>БАНК! Ввод в уровнях. ")
		inputForGive=tonumber(read(23))
		setCenterText(23, "                                                       ")
		xpInDB=tonumber(getUserXP_db(_G.LOGIN))
		levelInUserNow=getUserXP_local(_G.LOGIN)
		if levelInUserNow<inputForGive then
			setCenterText(24, "Недостаточно уровней!")
			os.sleep(2)
			setCenterText(24, "                                           ")
			return false
		else 
			inputForGive=levelInUserNow-inputForGive
		end
		xpInUserNow=xpInLevelF(levelInUserNow)
		xpToBank=xpInLevelF(levelInUserNow-inputForGive)
		otjatExperience(LOGIN, xpToBank)
		writeTo(LOGIN, xpInDB+xpToBank)
	end
	event.timer(5, clear22)
	drawINFO()
end
function reload(_, _, x, y)
	if x==80 and y==1 then 
		drawGUI()
	end
end
event.listen("touch", reload)
function printCurrentlySelected()
	msg="Выбрано: "..tostring(tofrom)
	ts=""
	for i=1, unicode.len(msg) do
		ts=ts.." "
	end
	gpu.set(1, 1, ts)
	gpu.set(1, 1, msg)
	for i=2, tofrom+1 do
		gpu.set(i, 13, "█")
	end
end
function pcst()
	gpu.setBackground(0xff0000)
	if selectedTab==1 then 
		setCenterText(14, "Добавить все уровни в банк")
	elseif selectedTab==2 then 
		setCenterText(15, "Снять весь опыт с банка")
	elseif selectedTab==3 then 
		setCenterText(16, "Снять часть опыта с банка")
	elseif selectedTab==4 then
		setCenterText(17, "Добавить часть уровней в банк")
	end
	gpu.setForeground(0x000000)
end
function pcst2(selectedTab)
	gpu.setBackground(0x00ff00)
	if selectedTab==1 then 
		setCenterText(14, "Добавить все уровни в банк")
	elseif selectedTab==2 then 
		setCenterText(15, "Снять весь опыт с банка")
	elseif selectedTab==3 then 
		setCenterText(16, "Снять часть опыта с банка")
	elseif selectedTab==4 then
		setCenterText(17, "Добавить часть уровней в банк")
	end
	gpu.setForeground(0x000000)
end
function writeTo(login, xp)
	file=io.open(login, "w")
	file:write(xp)
	file:close()
end
function clearINFO()
	for y=10, 12 do
		for x=1, 80 do
			gpu.set(x, y, " ")
		end
	end
end
function printTabes()
	noExit=true
	for i=1, 4 do
		pcst2(i)
	end
	tofrom=1
	selectedTab=1
	gpu.set(1, 13, "|")
	gpu.set(80, 13, "|")
	setCenterText(16, "Снять часть опыта с банка")
	setCenterText(15, "Снять весь опыт с банка")
	setCenterText(17, "Добавить часть уровней в банк")
	printCurrentlySelected()
	gpu.setBackground(0xff0000)
	setCenterText(14, "Добавить все уровни в банк")
	gpu.setForeground(0x000000)
	while noExit do
		pcst()
		printCurrentlySelected()
		_, _, _, key = event.pull("key_down")
		key=keys[key]
		if key=="up" and selectedTab~=1 then
			pcst2(selectedTab)
			selectedTab=selectedTab-1
		elseif key=="down" and selectedTab~=4 then
		  pcst2(selectedTab)
			selectedTab=selectedTab+1
		elseif key=="enter" then
			initEnetring()
		elseif key=="f5" then 
			reDrawGUI()
		end
	end
end
function drawINFO()
	gpu.setBackground(0x000000)
	gpu.setForeground(0x00ff00)
	clearINFO()
	setCenterText(10, "Игрок "..LOGIN.." залогинился.")
	setCenterText(11, 'Уровень "на руках": '..getUserXP_local(LOGIN))
	setCenterText(12, "Опыт в Банке: "..tostring(getUserXP_db(LOGIN)))
	gpu.setForeground(0x000000)
end
function reDrawGUI()
	gpu.setBackground(background)
	gpu.setForeground(foreground)
	gpu.setResolution(80, 25)
	gpu.fill(1, 1, 80, 25, " ")
	gpu.set(80, 1, "x")
	setCenterText(1, "Банк Опыта")
	setCenterText(2, line1)
	setCenterText(3, line2)
	setCenterText(4, line3)
	setCenterText(5, line4)
	setCenterText(6, line5)
	setCenterText(7, line6)
	setCenterText(8, line7)
	setCenterText(9, line8)
	setCenterText(10, "Игрок "..login.." залогинился.")
	setCenterText(11, 'Уровень "на руках": '..getUserXP_local(login))
	setCenterText(12, "Уровень в Банке: "..tostring(getUserXP_db(login)))
	printTabes()
end
function read(y)
	repeat
	term.setCursor(38, y)
	setCenterText(y, "                                              ")
	variableValue=io.read()
	until tonumber(variableValue)
	return variableValue
end
line1=[[_________ _______           _______           _ ]]
line2=[[\__   __/(  ___  )|\     /|(  ____ \|\     /|( )]]
line3=[[   ) (   | (   ) || )   ( || (    \/| )   ( || |]]
line4=[[   | |   | |   | || |   | || |      | (___) || |]]
line5=[[   | |   | |   | || |   | || |      |  ___  || |]]
line6=[[   | |   | |   | || |   | || |      | (   ) |(_)]]
line7=[[   | |   | (___) || (___) || (____/\| )   ( | _ ]]
line8=[[   )_(   (_______)(_______)(_______/|/     \|(_)]]
function drawGUI()
	gpu.setBackground(background)
	gpu.setForeground(foreground)
	gpu.setResolution(80, 25)
	gpu.fill(1, 1, 80, 25, " ")
	gpu.set(80, 1, "x")
	setCenterText(1, "Банк Опыта")
	setCenterText(2, line1)
	setCenterText(3, line2)
	setCenterText(4, line3)
	setCenterText(5, line4)
	setCenterText(6, line5)
	setCenterText(7, line6)
	setCenterText(8, line7)
	setCenterText(9, line8)
	_, _, _, _, _, login = event.pull("touch")
	_G.LOGIN=login
	setCenterText(10, "Игрок "..login.." залогинился.")
	setCenterText(11, 'Уровень "на руках": '..getUserXP_local(login))
	setCenterText(12, "Уровень в Банке: "..tostring(getUserXP_db(login)))
	levelNow=getUserXP_local(LOGIN)
	c("xp -"..tostring(levelNow+1).."L "..LOGIN)
	c("xp "..levelNow.."L "..LOGIN)
	printTabes()
end
function getExperienceSphereCL(login)
end

 

 

Визуальные баги тоже фиксанул

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну слава яйцам. Сегодня протестирую. :)

 

Пока сам немного программки все свои заканчиваю оформлять и с новой сборкой игрался.

 

Серега Кибер уже предлагает тебя под реабилитацию запускать, но я предложил только после должного оформления программки "Баночка опыта" и полного дебажинга, иначе она бы так и валялась с кучей багулек. А так сразу будет новая фича на ИТ. Я уже и компунтер там поставил специально для  нее=)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну слава яйцам. Сегодня протестирую. :)

 

Пока сам немного программки все свои заканчиваю оформлять и с новой сборкой игрался.

 

Серега Кибер уже предлагает тебя под реабилитацию запускать, но я предложил только после должного оформления программки "Баночка опыта" и полного дебажинга, иначе она бы так и валялась с кучей багулек. А так сразу будет новая фича на ИТ. Я уже и компунтер там поставил специально для  нее=)

Мне уже "шпионы" доложили о компуктере:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Монстрик, вот то, как я хотел и просил именно сделать ;) 

 Вчера вечером с нуля за 2 часа  написал эту программульку, максимально приближенную к офф. моду.

Есть еще вариант с ползуночком прогресс-баром (0-100%), но он пока не сильно мне нравиться, нужно переделать.

 

[ok=За то, что ты в целом выполнил поставленную задачу, хоть и ушел от технических требований, К.А. коллективно приняла решение снять блокировку твоего акка на ИТ.][/ok]

 

Но помни! Еще один залет, гриф, влезание куда-то, читы и прочее, бан будет перманентным! :) 

  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Зайди еще раз, я разбанил

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...