не могу понять, может чего я не так делаю?
Решил попробовать сделать шаблон для текста...к примеру
local text ="This is a %d mouse"
function FUNC()
	local value=10
	print("a")
	print(string.format(text ,value))
	
	TimerStart(CreateTimer(),1,true,function()
		value=value+1
		print(string.format(text ,value))
	end)
	print("b")
end
не происходит никаких действий после print("a")
Может я не правильно делаю?
Искал на других ресурсах и даже пробовал в luademo , вот там работает, а в варике нет...Варик Reforged!
И как сделать на луа таймер без внутренеигровых TimerStart(CreateTimer())

Принятый ответ

Проверил, всё работает
do
	local text ="This is a %%d mouse"
	function FUNC()
		local value=10
		print("a")
		print(string.format(text ,value))

		TimerStart(CreateTimer(),1,true,function()
			value=value+1
			print(string.format(text ,value))
		end)
		print("b")
	end
end
Вызывать в любом месте через FUNC()
Варик не любит одинарный процент, поэтому ненаходит %d и возвращает nil в строку, ведь % это экранирующий символ
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
23
4 года назад
Отредактирован pro100master
0
Хотя я проверил у меня работает нормально из твоего кода
0
32
4 года назад
0
Луа - жалкий огрызок, в рефордже ничего не работает, переходите на актуальный патч 126, всегда виноват рефордж в любых бедах, а картодел или игрок - никогда
string.format(text ,value) возвращает nil
print(nil) роняет поток из за ошибки
и дальше ничего не происходит

Хотя должен был вывести This is a 10 mouse
0
23
4 года назад
0
А внутри принята дефолотный дисплей игрока)
0
32
4 года назад
0
function FUNC()
local text ="This is a %d mouse"
	local value=10
	print("a")
	print(string.format(text ,value))
	
	TimerStart(CreateTimer(),1,true,function()
		value=value+1
		print(string.format(text ,value))
	end)
	print("b")
end

local text ="This is a %d mouse" находится в другой области видимости за пределами function FUNC(), и поэтому не виден, и поэтому нил и поэтому ошибка и падение, и вообще все плохо

и вообще как можно пытаться выполнить этот огрызок? прям в варике?
0
32
4 года назад
0
А зачем все это нужно?
0
32
4 года назад
Отредактирован Берги
0
quq_CCCP:
А зачем все это нужно?
здрасте приехали? это плавное инкрементирование числа, например для увеличения урона от способностей, только тут в качестве урона выступают принты (дебаг), они и дадут понять, что всё работает как надо, и можно уже далее подставлять что-то реально
0
8
4 года назад
Отредактирован Castiel
0
Bergi_Bear:
function FUNC()
local text ="This is a %d mouse"
	local value=10
	print("a")
	print(string.format(text ,value))
	
	TimerStart(CreateTimer(),1,true,function()
		value=value+1
		print(string.format(text ,value))
	end)
	print("b")
end

local text ="This is a %d mouse" находится в другой области видимости за пределами function FUNC(), и поэтому не виден, и поэтому нил и поэтому ошибка и падение, и вообще все плохо

и вообще как можно пытаться выполнить этот огрызок? прям в варике?
почему то этот огрызок на lua demo работает без отказно, когда даже text находится не в функции....это все и есть область видимости главное чтоб локалка была выше по коду....не понимаю почему в варике это не работает.....И этот огрызок просто пример....Вот как сделать шаблоны теперь я без понятия...Просто когда открыть вкладку с текстами, одна из ячеек - "+%d к броне за каждые %d ед. ловкости" - как то так... Почму я не могу так же сделать!
1
32
4 года назад
Отредактирован Берги
1
Проверил, всё работает
do
	local text ="This is a %%d mouse"
	function FUNC()
		local value=10
		print("a")
		print(string.format(text ,value))

		TimerStart(CreateTimer(),1,true,function()
			value=value+1
			print(string.format(text ,value))
		end)
		print("b")
	end
end
Вызывать в любом месте через FUNC()
Варик не любит одинарный процент, поэтому ненаходит %d и возвращает nil в строку, ведь % это экранирующий символ
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.