Ir para conteúdo
  • Cadastre-se

(Resolvido)[pedido] Remover parede em x dia e x hora


Ir para solução Resolvido por Vodkart,

Posts Recomendados

 

Opa eai galera do TK, queria pedir um script (globalevents) para remover uma parede no dia x (da semana) e as x horas, eu tentei alguns mas todos eles deram o erro de onTimer, quem puder ajudar agradeço! 

Valeu.

 

 

 TFS 0.3.4 - 8.54

 

 

 

 

Link para o post
Compartilhar em outros sites

@Vodkart o único que funcinou por partes

 

Spoiler

local days =
{
    ["Sunday"] = {    ["21:34"] = {} }        
}

if (days[os.date("%A")]) then 

hours = tostring(os.date("%X")):sub(1, 5)

tb = days[os.date("%A")][hours]

end 

function onThink(interval, lastExecution, thinkInterval)
if tb then
minut = 30 -- minutos
tempo = minut*1000*60   -- pra vc testar tira o *60 e em minut coloca 5 e ve se a parede aparece depois de 5 segundos
item = {x=1033, y=907, z=7, stackpos=1} -- declare a posição do item que será removido 
itempos = getThingfromPos(item)          
doRemoveItem(itempos.uid, 1)
doBroadcastMessage("Castle War Está aberto, Guilds corram para dominar o castelo. O Castelo irá se fechar em 1 Hora.")
addEvent(s, tempo, interval, lastExecution, thinkInterval)
return true
end
end

 

function s(interval, lastExecution, thinkInterval)
item1 = 9486   -- id do item que será colocado depois de 30 minutos
pos = {x=1033, y=907, z=7}    -- posição que vai criar o item
doCreateItem(item1, 1, pos) -- se n der certo deixe assim: doCreateItem(item1, 1, pos) 
doBroadcastMessage("Castle War fechou! Proxima abertura Domingo as 19:30.")
return true
end 

 

Editado por Sonark (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

wall.lua

local config = {
	pos = {x = 183, y = 59, z=7}, -- posição da parede
	id = 8476, -- id da parede
	time = 5 -- vai voltar a parede em 5 minutos
}

local days = {"Monday","Wednesday","Friday","Saturday"} -- coloque os dias que vc quer

function removeParede()
	local t = getTileItemById(config.pos, config.id).uid
	return t > 0 and doRemoveItem(t) and doSendMagicEffect(config.pos, CONST_ME_POFF)
end

function onTimer()
	if isInArray(days, os.date("%A")) then
		removeParede()
		doBroadcastMessage("[Evento] A parede foi removida!!", 22) 
		addEvent(function()
			local x = getTileItemById(config.pos, config.id).uid
			if x == 0 then
				doCreateItem(config.id, 1, config.pos)
			end
		end, config.time*60*1000)
	end
	return true
end

 

TAG

 

<globalevent name="remove wall" time="19:00" event="script" value="wall.lua"/>

 

 

Caso der erro na função main, troque o "onTimer()" por "onTime()"

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
  • 2 years later...
Em 24/12/2018 em 18:58, Vodkart disse:

wall.lua


local config = {
	pos = {x = 183, y = 59, z=7}, -- posição da parede
	id = 8476, -- id da parede
	time = 5 -- vai voltar a parede em 5 minutos
}

local days = {"Monday","Wednesday","Friday","Saturday"} -- coloque os dias que vc quer

function removeParede()
	local t = getTileItemById(config.pos, config.id).uid
	return t > 0 and doRemoveItem(t) and doSendMagicEffect(config.pos, CONST_ME_POFF)
end

function onTimer()
	if isInArray(days, os.date("%A")) then
		removeParede()
		doBroadcastMessage("[Evento] A parede foi removida!!", 22) 
		addEvent(function()
			local x = getTileItemById(config.pos, config.id).uid
			if x == 0 then
				doCreateItem(config.id, 1, config.pos)
			end
		end, config.time*60*1000)
	end
	return true
end

 

TAG

 


<globalevent name="remove wall" time="19:00" event="script" value="wall.lua"/>

 

 

Caso der erro na função main, troque o "onTimer()" por "onTime()"

Desculpa reviver, mas queria usar isso, mas n funciona n da erro nenhum mas n funciona. teria como ver? e se possivel deixar pra todos os dias da semana

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo