Ir para conteúdo
  • Cadastre-se

[Ajuda] automatizando evento dota


Posts Recomendados

Tenho o evento dota no meu ot mais ele nao é automatico queria que ele acontecesse 2vezes por semana quarta e sabado se alguem poder me ajuda ai.

 

 

 

Link para o post
Compartilhar em outros sites

Em globalevents.xml adicione:

	<globalevent name="dota" time="17:00" event="script" value="dota.lua"/>

Em 17:00 coloque a hora que você quiser.

Agora crie um arquivo chamado dota.lua na pasta dos scripts e adicione:

local config = {
    semana_mes = "semana",
    days = {4,7},
	tempo = 600,
	p = {{x=601,y=40,z=7},
		{x=601,y=41,z=7},
		{x=601,y=42,z=7},
		{x=601,y=43,z=7},
		{x=601,y=44,z=7},
		{x=685,y=40,z=7},
		{x=685,y=41,z=7},
		{x=685,y=42,z=7},
		{x=685,y=43,z=7},
		{x=685,y=44,z=7}
	},
	idpedra=1304,
	p2 = {{x=613,y=40,z=7},
		{x=613,y=41,z=7},
		{x=613,y=42,z=7},
		{x=613,y=43,z=7},
		{x=613,y=44,z=7},
		{x=625,y=40,z=7},
		{x=625,y=41,z=7},
		{x=625,y=42,z=7},
		{x=625,y=43,z=7},
		{x=625,y=44,z=7},
		{x=638,y=43,z=7},
		{x=640,y=42,z=7},
		{x=648,y=40,z=7},
		{x=646,y=42,z=7}
	},
	idpedra2=1353,
	p3 = {{x=661,y=40,z=7},
		 {x=661,y=41,z=7},
		 {x=661,y=42,z=7},
	      {x=661,y=43,z=7},
	      {x=661,y=44,z=7},
           {x=673,y=40,z=7},
		{x=673,y=41,z=7},
		{x=673,y=42,z=7},
		{x=673,y=43,z=7},
		{x=673,y=44,z=7}
	},
	idpedra3=1354,
	m={{"Gerador Azul I",{x=607,y=42,z=7}},
		{"Gerador Vermelho I",{x=679,y=42,z=7}}
		},
	nkpos = {{x=1,y=1,z=7},
		{x=1,y=1,z=7},
		{x=1,y=1,z=7},
		{x=1,y=1,z=7},
		{x=1,y=1,z=7},
		{x=1,y=1,z=7}

}} --em segundos

function onTime()
    local time = os.date("*t")
    if (config.semana_mes == "semana" and isInArray(config.days,time.wday)) or (config.semana_mes == "mes" and isInArray(config.daystime.day)) or config.semana_mes == "" then
	for _,k in pairs(config.nkpos) do
		if isMonster(getTopCreature(k).uid) then
			doRemoveCreature(getTopCreature(k).uid)
		end
	end
	for _,k in pairs(config.p) do
		 doRemoveItem(getTileItemById(k,config.idpedra).uid,1)
	end
	for _,k in pairs(config.p2) do
		doRemoveItem(getTileItemById(k,config.idpedra2).uid,1)
	end
	for _,k in pairs(config.p3) do
		doRemoveItem(getTileItemById(k,config.idpedra3).uid,1)
	end

	for _,k in pairs(config.p) do
		doCreateItem(config.idpedra,k)
	end
	for _,k in pairs(config.p2) do
		doCreateItem(config.idpedra2,k)
	end
	for _,k in pairs(config.p3) do
		doCreateItem(config.idpedra3,k)
	end
	for _,o in pairs(config.m) do
		doSummonCreature(o[1],o[2])
	end
	    local mensage1 = "[Evento Dota] Liberada Sala dos Times! Quem quiser Participar, vá para a sala de times até o Evento começar. Depois que começar, sÓ na outra rodada! Gogo (TELEPORTE PARA O DOTA NO TEMPLO DA CIDADE PRINCIPAL)" -- Mensagem Inicial
		gatepos = {x=677, y=14, z=7, stackpos=1} -- Posição da Pedra
		getgate = getThingfromPos(gatepos)
		if getgate.itemid == 1304 then
			broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE)
			doRemoveItem(getgate.uid,1)
		end
		addEvent(startDota,config.tempo*1000,nil)
    end
    return true
end

function startDota()
	local mensage1 = "[Evento Dota] Evento Iniciado! Destruam as Torres! quem destruir as 3 Torres primeiro, Ganha!" -- Mensagem Inicial
	local monster1 = "Gerador Azul I" -- Geradores Iniciais
	local monster2 = "Gerador Vermelho I" -- Geradores Iniciais

	gatepos = {x=685, y=42, z=7, stackpos=1} -- Posição da Pedras 1
	getgate = getThingfromPos(gatepos)

	gatepos11 = {x=685, y=41, z=7, stackpos=1} -- Posição da Pedras 11
	getgate11 = getThingfromPos(gatepos11)

	gatepos12 = {x=685, y=40, z=7, stackpos=1} -- Posição da Pedras 12
	getgate12 = getThingfromPos(gatepos12)

	gatepos13 = {x=685, y=44, z=7, stackpos=1} -- Posição da Pedras 13
	getgate13 = getThingfromPos(gatepos13)

	gatepos14 = {x=685, y=43, z=7, stackpos=1} -- Posição da Pedras 14
	getgate14 = getThingfromPos(gatepos14)


	gatepos2 = {x=601, y=42, z=7, stackpos=1} -- Posição da Pedra 2
	getgate2 = getThingfromPos(gatepos2)

	gatepos21 = {x=601, y=41, z=7, stackpos=1} -- Posição da Pedra 21
	getgate21 = getThingfromPos(gatepos21)

	gatepos22 = {x=601, y=40, z=7, stackpos=1} -- Posição da Pedra 22
	getgate22 = getThingfromPos(gatepos22)

	gatepos23 = {x=601, y=43, z=7, stackpos=1} -- Posição da Pedra 23
	getgate23 = getThingfromPos(gatepos23)

	gatepos24 = {x=601, y=44, z=7, stackpos=1} -- Posição da Pedra 24
	getgate24 = getThingfromPos(gatepos24)

	if getgate.itemid == 1304 and getgate2.itemid == 1304 then
		broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE)

		doRemoveItem(getgate.uid,1)
		doRemoveItem(getgate11.uid,1)
		doRemoveItem(getgate12.uid,1)
		doRemoveItem(getgate13.uid,1)
		doRemoveItem(getgate14.uid,1)
		doRemoveItem(getgate2.uid,1)
		doRemoveItem(getgate21.uid,1)
		doRemoveItem(getgate22.uid,1)
		doRemoveItem(getgate23.uid,1)
		doRemoveItem(getgate24.uid,1)
		doCreateItem(1304, {x=677, y=14, z=7})
	end
end

Bom, essa é uma parte do evento automatico, se você já estiver o resto instalado, vai funcionar, não sei se tem alguma diferença o seu com o automatico entre outros scripts, porém, teste, se der erro, entre em contato novamente.

OBS: Verifique as posições veja se está corretamente com o seu também.

DEDICADO BRASIL

Professional Internet Datacenter

banner_divulgativo_468x60.gif

 

Tudo oque você precisa para ter certeza de que não há nada que vai estragar teus planos em seu projeto Gamer/Engine, nós somos uma empresa qualificada em Segurança em servidores, obtemos técnicos especializados, que possam lhe alertar sobre qualquer falha que você esteja sofrendo.

 

- Visite o site

Link para o post
Compartilhar em outros sites

Olha mano deu certo nao da esse seguinte erro na minha executavel

 

 

[17/07/2013 12:03:35] [Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/dota.lua)

[17/07/2013 12:03:35] Reloaded global events.
Link para o post
Compartilhar em outros sites
local config = {
    semana_mes = "semana",
    days = {4,7},
	tempo = 600,
	p = {{x=601,y=40,z=7},
		{x=601,y=41,z=7},
		{x=601,y=42,z=7},
		{x=601,y=43,z=7},
		{x=601,y=44,z=7},
		{x=685,y=40,z=7},
		{x=685,y=41,z=7},
		{x=685,y=42,z=7},
		{x=685,y=43,z=7},
		{x=685,y=44,z=7}
	},
	idpedra=1304,
	p2 = {{x=613,y=40,z=7},
		{x=613,y=41,z=7},
		{x=613,y=42,z=7},
		{x=613,y=43,z=7},
		{x=613,y=44,z=7},
		{x=625,y=40,z=7},
		{x=625,y=41,z=7},
		{x=625,y=42,z=7},
		{x=625,y=43,z=7},
		{x=625,y=44,z=7},
		{x=638,y=43,z=7},
		{x=640,y=42,z=7},
		{x=648,y=40,z=7},
		{x=646,y=42,z=7}
	},
	idpedra2=1353,
	p3 = {{x=661,y=40,z=7},
		 {x=661,y=41,z=7},
		 {x=661,y=42,z=7},
	      {x=661,y=43,z=7},
	      {x=661,y=44,z=7},
           {x=673,y=40,z=7},
		{x=673,y=41,z=7},
		{x=673,y=42,z=7},
		{x=673,y=43,z=7},
		{x=673,y=44,z=7}
	},
	idpedra3=1354,
	m={{"Gerador Azul I",{x=607,y=42,z=7}},
		{"Gerador Vermelho I",{x=679,y=42,z=7}}
		},
	nkpos = {{x=1,y=1,z=7},
		{x=1,y=1,z=7},
		{x=1,y=1,z=7},
		{x=1,y=1,z=7},
		{x=1,y=1,z=7},
		{x=1,y=1,z=7}

}} --em segundos

function onTimer()
    local time = os.date("*t")
    if (config.semana_mes == "semana" and isInArray(config.days,time.wday)) or (config.semana_mes == "mes" and isInArray(config.daystime.day)) or config.semana_mes == "" then
	for _,k in pairs(config.nkpos) do
		if isMonster(getTopCreature(k).uid) then
			doRemoveCreature(getTopCreature(k).uid)
		end
	end
	for _,k in pairs(config.p) do
		 doRemoveItem(getTileItemById(k,config.idpedra).uid,1)
	end
	for _,k in pairs(config.p2) do
		doRemoveItem(getTileItemById(k,config.idpedra2).uid,1)
	end
	for _,k in pairs(config.p3) do
		doRemoveItem(getTileItemById(k,config.idpedra3).uid,1)
	end

	for _,k in pairs(config.p) do
		doCreateItem(config.idpedra,k)
	end
	for _,k in pairs(config.p2) do
		doCreateItem(config.idpedra2,k)
	end
	for _,k in pairs(config.p3) do
		doCreateItem(config.idpedra3,k)
	end
	for _,o in pairs(config.m) do
		doSummonCreature(o[1],o[2])
	end
	    local mensage1 = "[Evento Dota] Liberada Sala dos Times! Quem quiser Participar, vá para a sala de times até o Evento começar. Depois que começar, sÓ na outra rodada! Gogo (TELEPORTE PARA O DOTA NO TEMPLO DA CIDADE PRINCIPAL)" -- Mensagem Inicial
		gatepos = {x=677, y=14, z=7, stackpos=1} -- Posição da Pedra
		getgate = getThingfromPos(gatepos)
		if getgate.itemid == 1304 then
			broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE)
			doRemoveItem(getgate.uid,1)
		end
		addEvent(startDota,config.tempo*1000,nil)
    end
    return true
end

function startDota()
	local mensage1 = "[Evento Dota] Evento Iniciado! Destruam as Torres! quem destruir as 3 Torres primeiro, Ganha!" -- Mensagem Inicial
	local monster1 = "Gerador Azul I" -- Geradores Iniciais
	local monster2 = "Gerador Vermelho I" -- Geradores Iniciais

	gatepos = {x=685, y=42, z=7, stackpos=1} -- Posição da Pedras 1
	getgate = getThingfromPos(gatepos)

	gatepos11 = {x=685, y=41, z=7, stackpos=1} -- Posição da Pedras 11
	getgate11 = getThingfromPos(gatepos11)

	gatepos12 = {x=685, y=40, z=7, stackpos=1} -- Posição da Pedras 12
	getgate12 = getThingfromPos(gatepos12)

	gatepos13 = {x=685, y=44, z=7, stackpos=1} -- Posição da Pedras 13
	getgate13 = getThingfromPos(gatepos13)

	gatepos14 = {x=685, y=43, z=7, stackpos=1} -- Posição da Pedras 14
	getgate14 = getThingfromPos(gatepos14)


	gatepos2 = {x=601, y=42, z=7, stackpos=1} -- Posição da Pedra 2
	getgate2 = getThingfromPos(gatepos2)

	gatepos21 = {x=601, y=41, z=7, stackpos=1} -- Posição da Pedra 21
	getgate21 = getThingfromPos(gatepos21)

	gatepos22 = {x=601, y=40, z=7, stackpos=1} -- Posição da Pedra 22
	getgate22 = getThingfromPos(gatepos22)

	gatepos23 = {x=601, y=43, z=7, stackpos=1} -- Posição da Pedra 23
	getgate23 = getThingfromPos(gatepos23)

	gatepos24 = {x=601, y=44, z=7, stackpos=1} -- Posição da Pedra 24
	getgate24 = getThingfromPos(gatepos24)

	if getgate.itemid == 1304 and getgate2.itemid == 1304 then
		broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE)

		doRemoveItem(getgate.uid,1)
		doRemoveItem(getgate11.uid,1)
		doRemoveItem(getgate12.uid,1)
		doRemoveItem(getgate13.uid,1)
		doRemoveItem(getgate14.uid,1)
		doRemoveItem(getgate2.uid,1)
		doRemoveItem(getgate21.uid,1)
		doRemoveItem(getgate22.uid,1)
		doRemoveItem(getgate23.uid,1)
		doRemoveItem(getgate24.uid,1)
		doCreateItem(1304, {x=677, y=14, z=7})
	end
end

DEDICADO BRASIL

Professional Internet Datacenter

banner_divulgativo_468x60.gif

 

Tudo oque você precisa para ter certeza de que não há nada que vai estragar teus planos em seu projeto Gamer/Engine, nós somos uma empresa qualificada em Segurança em servidores, obtemos técnicos especializados, que possam lhe alertar sobre qualquer falha que você esteja sofrendo.

 

- Visite o site

Link para o post
Compartilhar em outros sites

Opa deu certo mano o evento acontece normal e tals so da um errinho quando libera a sala dos times

[17/07/2013 13:05:00] Lua Script Error: [GlobalEvent Interface]

[17/07/2013 13:05:00] data/globalevents/scripts/dota.lua:onTimer

[17/07/2013 13:05:00] luaDoRemoveItem(). Item not found

[17/07/2013 13:05:00] Lua Script Error: [GlobalEvent Interface]

[17/07/2013 13:05:00] data/globalevents/scripts/dota.lua:onTimer

[17/07/2013 13:05:01] luaDoRemoveItem(). Item not found

[17/07/2013 13:05:01] > Broadcasted message: "[Evento Dota] Liberada Sala dos Times! Quem quiser Participar, vá para a sala de times até o Evento começar. Depois que começar, sÓ na outra rodada! Gogo (TELEPORTE PARA O DOTA NO TEMPLO DA CIDADE PRINCIPAL)".

Mais o evento ocorre normalmenti Obrigado Reputado!

Editado por julemar (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 5 weeks later...

é pra editar algo nessa parte ?

 

nkpos = {{x=1,y=1,z=7},
        {x=1,y=1,z=7},
        {x=1,y=1,z=7},
        {x=1,y=1,z=7},
        {x=1,y=1,z=7},
        {x=1,y=1,z=7}

 

 

se for, o que seria pra botar ai ?

Editado por subhe (veja o histórico de edições)

n35408.gif

Link para o post
Compartilhar em outros sites
  • 4 years later...

Cara o TK ta ficando muito ruim, a um tempo atrás muita gente respondia os POST da galera, hoje a maioria fica no discord e não consegue se quer responder 1 pergunta.

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo