Jump to content

Recommended Posts

Olá novamente ?, alguém poderia me ensinar por favor como utilizo loop for, queria que esse retangulo troca-se de cor a cada um certo tempo, fiz isso abaixo mas fiz errado demais, se alguém poder me ajudar ficarei muito grato

(OBS: Sou apenas um scripter iniciante ?)

local sx, sy = guiGetScreenSize()
local x, y = (sx/1366), (sy/768)

cor = {}
function dxLoginS()
  	local rectangle = dxDrawRectangle(x*0, y*70, x*500, y*5, cor)
  	
	cor[1] = tocolor(10, 85, 230, 255)
	cor[2] = tocolor(255, 140, 0, 255)
	cor[3] = tocolor(190, 255, 0, 255)
  	
  	for i = cor do
    	return rectangle
	end
  
  	setTimer(function ()
  		if rectangle then
    end, 2500, 1)
end
addEventHandler("onClientRender", root, dxLoginS)

 

Edited by +Sommer
Link to comment

Certo Fiz Assim :

cor = {tocolor(10, 85, 230, 255), tocolor(255, 140, 0, 255), tocolor(190, 255, 0, 255)}
function dxLoginS()
	function rectangle()
		for _, i in pairs (cor) do
			dxDrawRectangle(x*0, y*70, x*500, y*5, cor)
		end
	end
	
	setTimer(function()
		if rectangle then
			return true
		end
	end, 50, 0)
end
addEventHandler("onClientRender", root, dxLoginS)

Aparece o resto do elementos todos apenas esse retangulo não aparece, utilizei o debug e da o seguinte erro: [Expected number at argument 5, got table]

(OBS: Não Entendi muito sobre FOR, meio complicado,  utilizei alguns exemplos mas nada tão proximo e eu tbm n entendi kkk... não postei o codigo completo por motivos de ser exclusivo)

Edited by +Sommer
Link to comment
2 minutes ago, Lord Henry said:

Então tipo, o retângulo é criado em azul

Depois de 10 segundos ele deve ficar verde-lima

Depois de mais 10 segundos, ele deve ficar laranja, é isso?

Exatamente isso, deve ser um sistema fácil, porem não sei usar loop e nem sei se é necessário um loop

Edited by +Sommer
Link to comment
  • Other Languages Moderators
cores = {
	tocolor(10, 85, 230, 255), -- roxo
	tocolor(190, 255, 0, 255), -- verde-amarelado
	tocolor(255, 140, 0, 255) -- laranja
}

function dxLoginS()
	dxDrawRectangle(x*0, y*70, x*500, y*5, cores[cor]) -- Supondo que esses 4 primeiros parâmetros estejam corretos...
end
addEventHandler("onClientRender", root, dxLoginS)

cor = 1
local theTimer = setTimer (function()
	if (cor < #cores) then
		cor = cor + 1
	else
		cor = 1
	end
end, 10000, 0)

Obs: Não testado.

Edited by Lord Henry
  • Thanks 1
Link to comment
6 minutes ago, Lord Henry said:

cores = {
	tocolor(10, 85, 230, 255), -- roxo
	tocolor(190, 255, 0, 255), -- verde-amarelado
	tocolor(255, 140, 0, 255) -- laranja
}

function dxLoginS()
	dxDrawRectangle(x*0, y*70, x*500, y*5, cores[cor]) -- Supondo que esses 4 primeiros parâmetros estejam corretos...
end
addEventHandler("onClientRender", root, dxLoginS)

cor = 1
local theTimer = setTimer (function()
	if (cor < #cores) then
		cor = cor + 1
	else
		cor = 1
	end
end, 10, 0)

Obs: Não testado.

Ok , vou testar aqui

2 minutes ago, +Sommer said:

Ok , vou testar aqui

Esta dando este erro Mod/cliente.lua:12: ')' expected near '

Edited by +Sommer
Link to comment
  • Other Languages Moderators

Vc deve ter copiado errado então. Acabei de testar aqui no meu e está funcionando. A única diferença é que não estou usando aqueles valores de x e y no dxDraw, estou usando valores inteiros.

cores = {
	tocolor(10, 85, 230, 255), -- roxo
	tocolor(190, 255, 0, 255), -- verde-amarelado
	tocolor(255, 140, 0, 255) -- laranja
}

function dxLoginS()
	dxDrawRectangle(0, 70, 500, 50, cores[cor])
end
addEventHandler("onClientRender", root, dxLoginS)

cor = 1
local theTimer = setTimer (function()
	if (cor < #cores) then
		cor = cor + 1
	else
		cor = 1
	end
end, 10000, 0)

Obs: Foi testado.

  • Thanks 1
Link to comment
2 minutes ago, Lord Henry said:

Vc deve ter copiado errado então. Acabei de testar aqui no meu e está funcionando. A única diferença é que não estou usando aqueles valores de x e y no dxDraw, estou usando valores inteiros.

Ué? estou copiando exatamente igual e da esse erro na linha do dxDrawRectangle

 

Link to comment
14 minutes ago, Lord Henry said:

Teste com aqueles números que eu coloquei.

Se não der certo então vc tem outras coisas no seu código que estão dando erro e vc não quer me mostrar.

mexendo aq era isso mesmo era uma outra parte do meu script que estava interferindo no script, mano vlw ae pelo help funcionou e por mais questão de estética mesmo mas outra parte para aprender também, vlw msm

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...