Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Bom dia, (tarde e noite) tibianos. Eu nunca achei um tutorial aqui nem no xtibia, e nem no tibiaking, nem no tibiaface ou otland entre vários outros sites de tibia. A gente encontra apenas downloads pra instalar o evento, tudo muito mau explicado, e algumas pessoas quebram a cabeça tentando instalar e tem muita dificuldade. Eu mesmo tive essa dificuldade e ninguém me ajudou nem nesse fórum nem no xtibia. Então vamos direto ao assunto, vou ensinar tudo a vocês passo-a-passo, e qualquer dúvida pode postar aqui no tópico que eu estarei ajudando com todo prazer.

 

Créditos do evento DOTA: Desconheço.

Créditos desse tutorial: Fábio Leandro.

 

Primeiro vá em:

DATA/ACTIONS/SCRIPTS (copie um arquivo.lua qualquer, renomeie com o nome "dota" e cole isto dentro):

Spoiler

function onStepIn(cid, item, pos, frompos)
local positions = {
{x=691, y=42, z=8},
{x=595, y=42, z=8}
}
local destino = math.random(#positions)
doTeleportThing(cid,positions[destino], true)
doSendMagicEffect(getPlayerPosition(cid), 10)
end

Depois crie um arquivo na mesma pasta com o nome "start_dota"

Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)
gatepos = {x=685, y=42, z=8, stackpos=1} -- Posição da Parede 1
getgate = getThingfromPos(gatepos)
gatepos2 = {x=601, y=42, z=8, stackpos=1} -- Posição da Parede 2
getgate2 = getThingfromPos(gatepos2)

if item.uid == 5533 and item.itemid == 1945 and getgate.itemid == 1304 and getgate2.itemid == 1304 then
doRemoveItem(getgate.uid,1)
doRemoveItem(getgate2.uid,1)
doTransformItem(item.uid,1946)

elseif item.uid == 5533 and item.itemid == 1946 and getgate.itemid == 1304 and getgate2.itemid == 1304 then
doRemoveItem(getgate.uid,1)
doRemoveItem(getgate2.uid,1)
doTransformItem(item.uid,1945)
end
return 1
end

Depois á em actions.XML e cole isso dentro:

Spoiler

<!-- Dota -->
    <action uniqueid="5533" script="start_dota.lua" />

Pronto, terminamos a parte de actions.

 

Agora vão em DATA/CREATURESCRIPTS/SCRIPTS:

 

ga1

Spoiler

function onDeath(cid, corpse, killer) 

local M ={
 ["Gerador Azul I"] = {Pos = {x=613,y=42,z=8},id= 1353, Pos2 = {x=613,y=41,z=8},id2= 1353, Pos3 = {x=613,y=40,z=8},id3= 1353, Pos4 = {x=613,y=43,z=8},id4= 1353, Pos5 = {x=613,y=44,z=8},id5= 1353},
}
local mensage1 = "[Evento Dota] Gerador Azul I Foi Destruido!" -- Mensagem depois que o Gerador for Destruido
local monster1 = "Gerador Azul II" -- Boss que irá aparecer na invasão!

local x = M[getCreatureName(cid)]
if x then
        local parede = getTileItemById(x.Pos, x.id) 
        local parede2 = getTileItemById(x.Pos2, x.id2) 
        local parede3 = getTileItemById(x.Pos3, x.id3) 
        local parede4 = getTileItemById(x.Pos4, x.id4) 
        local parede5 = getTileItemById(x.Pos5, x.id5) 
        if parede then 
                doRemoveItem(parede.uid, 1)
                doRemoveItem(parede2.uid, 1)
                doRemoveItem(parede3.uid, 1)
                doRemoveItem(parede4.uid, 1)
                doRemoveItem(parede5.uid, 1)
                doSummonCreature(monster1, {x=619, y=41, z=8})
broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE) 
        end 
end
return TRUE 
end

 

ga2

Spoiler

function onDeath(cid, corpse, killer) 

local M ={
 ["Gerador Azul II"] = {Pos = {x=625,y=42,z=8},id= 1353, Pos2 = {x=625,y=41,z=8},id2= 1353, Pos3 = {x=625,y=40,z=8},id3= 1353, Pos4 = {x=625,y=43,z=8},id4= 1353, Pos5 = {x=625,y=44,z=8},id5= 1353},
}
local mensage1 = "[Evento Dota] Gerador Azul II Foi Destruido!" -- Mensagem depois que o Gerador for Destruido
local monster1 = "Gerador Azul III" -- Boss que irá aparecer na invasão!

local x = M[getCreatureName(cid)]
if x then
        local parede = getTileItemById(x.Pos, x.id) 
        local parede2 = getTileItemById(x.Pos2, x.id2) 
        local parede3 = getTileItemById(x.Pos3, x.id3) 
        local parede4 = getTileItemById(x.Pos4, x.id4) 
        local parede5 = getTileItemById(x.Pos5, x.id5) 
        if parede then 
                doRemoveItem(parede.uid, 1) 
                doRemoveItem(parede2.uid, 1)
                doRemoveItem(parede3.uid, 1)
                doRemoveItem(parede4.uid, 1)
                doRemoveItem(parede5.uid, 1)
                                doSummonCreature(monster1, {x=631, y=42, z=8})
broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE) 
        end 
end
return TRUE 
end

ga3

Spoiler

function onDeath(cid, corpse, killer) 

local M ={
 ["Gerador Azul III"] = {Pos = {x=638,y=43,z=8},id= 1353,Pos2 = {x=646,y=42,z=8},id2= 1354,Pos3 = {x=661,y=42,z=8},id3= 1354,Pos4 = {x=673,y=42,z=8},id4= 1354},
}
local mensage1 = "[Evento Dota] Gerador Azul III Foi Destruido! Time Azul foi o Vencedor desta Rodada do Evento Dota! Sala dos vencedores Liberada, Comemorem!" -- Mensagem depois que o Gerador for Destruido
local v3 = {x=655, y=42, z=8, stackpos=253} -- position v3
local v2 = {x=667, y=41, z=8, stackpos=253} -- position v2
local v1 = {x=679, y=42, z=8, stackpos=253} -- position v1

local x = M[getCreatureName(cid)]
if x then
        local parede = getTileItemById(x.Pos, x.id)
        local parede2 = getTileItemById(x.Pos2, x.id2) 
        local parede3 = getTileItemById(x.Pos3, x.id3) 
        local parede4 = getTileItemById(x.Pos4, x.id4) 
        if parede then 
                doRemoveItem(parede.uid, 1) 
                doRemoveItem(parede2.uid, 1) 
                doRemoveItem(parede3.uid, 1) 
                doRemoveItem(parede4.uid, 1) 
            doRemoveCreature(getThingfromPos(v3).uid)
            doRemoveCreature(getThingfromPos(v2).uid)
            doRemoveCreature(getThingfromPos(v1).uid)
            
broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE) 
        end 
end
return TRUE 
end

gv1

Spoiler

function onDeath(cid, corpse, killer) 

local M ={
 ["Gerador Vermelho I"] = {Pos = {x=673,y=42,z=8},id= 1354, Pos2 = {x=673,y=41,z=8},id2= 1354, Pos3 = {x=673,y=40,z=8},id3= 1354, Pos4 = {x=673,y=43,z=8},id4= 1354, Pos5 = {x=673,y=44,z=8},id5= 1354},
}
local mensage1 = "[Evento Dota] Gerador Vermelho I Foi Destruido!" -- Mensagem depois que o Gerador for Destruido
local monster1 = "Gerador Vermelho II" -- Boss que irá aparecer na invasão!

local x = M[getCreatureName(cid)]
if x then
        local parede = getTileItemById(x.Pos, x.id)
        local parede2 = getTileItemById(x.Pos2, x.id2) 
        local parede3 = getTileItemById(x.Pos3, x.id3) 
        local parede4 = getTileItemById(x.Pos4, x.id4) 
        local parede5 = getTileItemById(x.Pos5, x.id5) 
        if parede then
                doRemoveItem(parede.uid, 1)
                doRemoveItem(parede2.uid, 1)
                doRemoveItem(parede3.uid, 1)
                doRemoveItem(parede4.uid, 1)
                doRemoveItem(parede5.uid, 1)

                doSummonCreature(monster1, {x=667, y=41, z=8})
broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE) 
        end 
end
return TRUE 
end

gv2

Spoiler

function onDeath(cid, corpse, killer) 

local M ={
 ["Gerador Vermelho II"] = {Pos = {x=661,y=42,z=8},id= 1354, Pos2 = {x=661,y=41,z=8},id2= 1354, Pos3 = {x=661,y=40,z=8},id3= 1354, Pos4 = {x=661,y=43,z=8},id4= 1354, Pos5 = {x=661,y=44,z=8},id5= 1354},
}
local mensage1 = "[Evento Dota] Gerador Vermelho II Foi Destruido!" -- Mensagem depois que o Gerador for Destruido
local monster1 = "Gerador Vermelho III" -- Boss que irá aparecer na invasão!

local x = M[getCreatureName(cid)]
if x then
        local parede = getTileItemById(x.Pos, x.id) 
        local parede2 = getTileItemById(x.Pos2, x.id2) 
        local parede3 = getTileItemById(x.Pos3, x.id3) 
        local parede4 = getTileItemById(x.Pos4, x.id4) 
        local parede5 = getTileItemById(x.Pos5, x.id5) 
        if parede then 
                doRemoveItem(parede.uid, 1)
                doRemoveItem(parede2.uid, 1) 
                doRemoveItem(parede3.uid, 1) 
                doRemoveItem(parede4.uid, 1) 
                doRemoveItem(parede5.uid, 1) 
                doSummonCreature(monster1, {x=655, y=42, z=8})
broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE) 
        end 
end
return TRUE 
end

gv3

Spoiler

function onDeath(cid, corpse, killer) 

local M ={
 ["Gerador Vermelho III"] = {Pos = {x=648,y=40,z=8},id= 1354,Pos2 = {x=640,y=42,z=8},id2= 1353,Pos3 = {x=625,y=42,z=8},id3= 1353,Pos4 = {x=613,y=42,z=8},id4= 1353},
}
local mensage1 = "[Evento Dota] Gerador Vermelho III Foi Destruido! Time Vermelho foi o Vencedor desta Rodada do Evento Dota! Sala dos vencedores Liberada, Comemorem!" -- Mensagem depois que o Gerador for Destruido
local a3 = {x=631, y=42, z=8, stackpos=253} -- position a3
local a2 = {x=619, y=41, z=8, stackpos=253} -- position a2
local a1 = {x=607, y=42, z=8, stackpos=253} -- position a1

local x = M[getCreatureName(cid)]
if x then
        local parede = getTileItemById(x.Pos, x.id)
        local parede2 = getTileItemById(x.Pos2, x.id2)
        local parede3 = getTileItemById(x.Pos3, x.id3)     
        local parede4 = getTileItemById(x.Pos4, x.id4)         
        if parede then 
                doRemoveItem(parede.uid, 1)
                doRemoveItem(parede2.uid, 1)     
                doRemoveItem(parede3.uid, 1)             
                doRemoveItem(parede4.uid, 1)                 
            doRemoveCreature(getThingfromPos(a3).uid)
            doRemoveCreature(getThingfromPos(a2).uid)
            doRemoveCreature(getThingfromPos(a1).uid)

broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE) 
        end 
end
return TRUE 
end

Agora vá em CREATURESCRIPTS.XML e cole isso:

Spoiler

<!-- Dota -->
    <event type="death" name="ga1" event="script" value="ga1.lua"/>
    <event type="death" name="ga2" event="script" value="ga2.lua"/>
        <event type="death" name="ga3" event="script" value="ga3.lua"/>
        <event type="death" name="gv1" event="script" value="gv1.lua"/>
        <event type="death" name="gv2" event="script" value="gv2.lua"/>
    <event type="death" name="gv3" event="script" value="gv3.lua"/>

Prontinho.

 

Agora abra a pasta MOVEMENTS/SCRIPTS e adicionem esses arquivos:

blue.lua

Spoiler

function onStepIn(cid, item, frompos, item2, topos)

local outfit = {lookType = 128, lookHead = 88, lookBody = 114, lookLegs = 114, lookFeet = 88, lookAddons = 0}

if item.actionid == 5031 and isPlayer(cid) then
doCreatureChangeOutfit(cid, outfit)
doPlayerSetTown(cid, 7)
end
return true
end

red.lua

Spoiler

local look = {lookType = 128, lookHead = 59, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = 0}

function onStepIn(cid, item, pos)
doSetCreatureOutfit(cid, look, -1)
end

dota_templonormal.lua

Spoiler

function onStepIn(cid, item, frompos, item2, topos)

if doPlayerSetTown(cid, 1) then
end
return TRUE
end

dota_templonormalp.lua

Spoiler

local config = {
    rewards_id = {2494, 2472, 2514, 2493, 2470, 2195, 2173, 2160}, -- Rewards ID
    crystal_counts = 20, -- used only if on rewards_id you have crystal coins (ID: 2160).
    }

function onStepIn(cid, item, frompos, item2, topos)
        
local random_item = config.rewards_id[math.random(1, #config.rewards_id)]
local item_name =  getItemNameById(random_item)

if doPlayerSetTown(cid, 1) then
  if(random_item == 2160) then
                        doPlayerAddItem(cid, random_item, config.crystal_counts)
                        doPlayerAddItem(cid, 10138, 1)
               doPlayerSendTextMessage(cid,25, 'Your team won the dota round! You winner: '.. config.crystal_counts ..' '.. item_name ..'s and dota winner medal!')
                else
                     doPlayerSendTextMessage(cid,25, 'Your team won the dota round! You winner: '.. item_name ..' and dota winner medal!')
                        doPlayerAddItem(cid, random_item, 1)
                        doPlayerAddItem(cid, 10138, 1)
                end
end
return TRUE
end

dota.lua

Spoiler

function onStepIn(cid, item, pos, frompos)
local positions = {
{x=691, y=42, z=8},
{x=595, y=42, z=8}
}
local destino = math.random(#positions)
doTeleportThing(cid,positions[destino], true)
doSendMagicEffect(getPlayerPosition(cid), 10)
end

Agora abra o arquivo MOVEMENTS.XML e adicione isso dentro:

Spoiler

<!-- Dota -->
    <movevent type="StepIn" actionid="5036" event="script" value="dota_templonormalp.lua" />
    <movevent type="StepIn" actionid="5035" event="script" value="dota_templonormal.lua" />
    <movevent type="StepIn" actionid="5040" event="script" value="dota.lua" />
    <movevent type="StepIn" actionid="5031" event="script" value="blue_dota.lua" />
    <movevent type="StepIn" actionid="5032" event="script" value="red_dota.lua" />
    <movevent type="StepIn" actionid="2000" event="script" value="zombie event.lua"/>

Prontinho.

 

Agora abra a pasta/DATA/TALKACTIONS/SCRIPTS crie arquivos.lua dnv com os seguintes nomes:

 

start_dota

Spoiler

function onSay(cid, words, param, channel)
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=8, stackpos=1} -- Posição da Pedras 1
getgate = getThingfromPos(gatepos)

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

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

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

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


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

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

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

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

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

if getgate.itemid == 1304 and getgate2.itemid == 1304 then
broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE)
doSummonCreature(monster1, {x=607, y=42, z=8})
doSummonCreature(monster2, {x=679, y=42, z=8})
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=8})


end
return 1
end

team_dota

Spoiler

function onSay(cid, words, param, channel)
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=8, stackpos=1} -- Posição da Pedra
getgate = getThingfromPos(gatepos)

if getgate.itemid == 1304 then
broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE)
doRemoveItem(getgate.uid,1)

end
return 1
end

Agora abra TAKACTIONS.XML e adicione:

Spoiler

        <talkaction log="yes" words="/start-dota" access="5" event="script" value="start_dota.lua"/>
    <talkaction log="yes" words="/team-dota" access="5" event="script" value="team_dota.lua"/>

essas talkactions servem para começar o evento. vc inicia dizendo /team-dota com o GOD, daí a primeira pedra vai se abrir.

depois vc diz start-dota, e o evento começa por completo tudo automático.

 

Agora o ultimo passo, vamos registrar os monstros, que são os famosos geradores do dota, vcs podem editar a vida e o life deles como quiserem.

Gerador Azul I.lua

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Gerador Azul I" nameDescription="a Gerador Azul I" race="undead" experience="10000000" speed="0" manacost="0">
  <health now="1000000" max="1000000"/>
  <look typeex="9785" />
  <targetchange interval="5000" chance="0"/>
  <strategy attack="100" defense="0"/>
  <script>
<event name="ga1"/>
</script>
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="0"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="1"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="100"/>
  </flags>
  <attacks>
    <attack name="energy" interval="2000" chance="100" radius="10" target="0" min="-999" max="-1000">
            <attribute key="areaEffect" value="energy"/>
    </attack>
  </attacks>
  <defenses armor="1" defense="1"/>
  <immunities>
    <immunity poison="1"/>
    <immunity lifedrain="1"/>
    <immunity paralyze="1"/>
    <immunity outfit="1"/>
    <immunity drunk="1"/>
    <immunity invisible="1"/>
  </immunities>
</monster>
 

Gerador Azul II

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Gerador Azul II" nameDescription="a Gerador Azul II" race="undead" experience="15000000" speed="0" manacost="0">
  <health now="1500000" max="1500000"/>
  <look typeex="9785" />
  <targetchange interval="5000" chance="0"/>
  <strategy attack="100" defense="0"/>
    <script>
<event name="ga2"/>
</script>
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="0"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="1"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="100"/>
  </flags>
  <attacks>
    <attack name="energy" interval="2000" chance="100" radius="10" target="0" min="-999" max="-1000">
            <attribute key="areaEffect" value="energy"/>
    </attack>
  </attacks>
  <defenses armor="1" defense="1"/>
  <immunities>
    <immunity poison="1"/>
    <immunity lifedrain="1"/>
    <immunity paralyze="1"/>
    <immunity outfit="1"/>
    <immunity drunk="1"/>
    <immunity invisible="1"/>
  </immunities>
</monster>
 

Gerador Azul III

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Gerador Azul III" nameDescription="a Gerador Azul III" race="undead" experience="20000000" speed="0" manacost="0">
  <health now="2000000" max="2000000"/>
  <look typeex="9790" />
  <targetchange interval="5000" chance="0"/>
  <strategy attack="100" defense="0"/>
      <script>
<event name="ga3"/>
</script>
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="0"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="1"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="100"/>
  </flags>
  <attacks>
    <attack name="energy" interval="2000" chance="100" radius="10" target="0" min="-999" max="-1000">
            <attribute key="areaEffect" value="energy"/>
    </attack>
  </attacks>
  <defenses armor="1" defense="1"/>
  <immunities>
    <immunity poison="1"/>
    <immunity lifedrain="1"/>
    <immunity paralyze="1"/>
    <immunity outfit="1"/>
    <immunity drunk="1"/>
    <immunity invisible="1"/>
  </immunities>
</monster>
 

Gerador Vermelho I

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Gerador Vermelho I" nameDescription="a Gerador Vermelho I" race="undead" experience="10000000" speed="0" manacost="0">
  <health now="1000000" max="1000000"/>
  <look typeex="9784" />
  <targetchange interval="5000" chance="0"/>
  <strategy attack="100" defense="0"/>
    <script>
<event name="gv1"/>
</script>
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="0"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="1"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="100"/>
  </flags>
  <attacks>
    <attack name="energy" interval="2000" chance="100" radius="10" target="0" min="-999" max="-1000">
            <attribute key="areaEffect" value="energy"/>
    </attack>
  </attacks>
  <defenses armor="1" defense="1"/>
  <immunities>
    <immunity poison="1"/>
    <immunity lifedrain="1"/>
    <immunity paralyze="1"/>
    <immunity outfit="1"/>
    <immunity drunk="1"/>
    <immunity invisible="1"/>
  </immunities>
</monster>
 

Gerador Vermelho II

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Gerador Vermelho II" nameDescription="a Gerador Vermelho II" race="undead" experience="15000000" speed="0" manacost="0">
  <health now="1500000" max="1500000"/>
  <look typeex="9784" />
  <targetchange interval="5000" chance="0"/>
  <strategy attack="100" defense="0"/>
    <script>
<event name="gv2"/>
</script>
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="0"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="1"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="100"/>
  </flags>
  <attacks>
    <attack name="energy" interval="2000" chance="100" radius="10" target="0" min="-999" max="-1000">
            <attribute key="areaEffect" value="energy"/>
    </attack>
  </attacks>
  <defenses armor="1" defense="1"/>
  <immunities>
    <immunity poison="1"/>
    <immunity lifedrain="1"/>
    <immunity paralyze="1"/>
    <immunity outfit="1"/>
    <immunity drunk="1"/>
    <immunity invisible="1"/>
  </immunities>
</monster>
 

Gerador Vermelho III

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Gerador Vermelho III" nameDescription="a Gerador Vermelho III" race="undead" experience="20000000" speed="0" manacost="0">
  <health now="2000000" max="2000000"/>
  <look typeex="9788" />
  <targetchange interval="5000" chance="0"/>
  <strategy attack="100" defense="0"/>
      <script>
<event name="gv3"/>
</script>
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="0"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="1"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="100"/>
  </flags>
  <attacks>
    <attack name="energy" interval="2000" chance="100" radius="10" target="0" min="-999" max="-1000">
            <attribute key="areaEffect" value="energy"/>
    </attack>
  </attacks>
  <defenses armor="1" defense="1"/>
  <immunities>
    <immunity poison="1"/>
    <immunity lifedrain="1"/>
    <immunity paralyze="1"/>
    <immunity outfit="1"/>
    <immunity drunk="1"/>
    <immunity invisible="1"/>
  </immunities>
</monster>
 

Agora só falta registrar os monstros em MONSTERS.XML

 

Abra seu monsters.xml e adicione isso dentro:

Spoiler

        <!-- Dota -->
    <monster name="Gerador Azul I" file="Dota/Gerador Azul I.xml"/>
    <monster name="Gerador Azul II" file="Dota/Gerador Azul II.xml"/>
    <monster name="Gerador Azul III" file="Dota/Gerador Azul III.xml"/>
        <monster name="Gerador Vermelho I" file="Dota/Gerador Vermelho I.xml"/>
    <monster name="Gerador Vermelho II" file="Dota/Gerador Vermelho II.xml"/>
    <monster name="Gerador Vermelho III" file="Dota/Gerador Vermelho III.xml"/>

 

Prontinho galera, evento totalmente configurado!

 

Agora pra ajudar vcs, estarei postando o mapa do evento dota completinho. Gente, o principal requisito que quero que vcs façam pra dar tudo certo, é copiar e colar o mapa com as mesmas posições no mapa de vocês. por exemplo, vcs pegam um tile, ou uma torre pra usar como referência e colem, com o propósito de deixar todas as posições iguaizinhas as que enviarei pra vcs agora.

 

Link do mapa Dota: https://www.4shared.com/rar/Mwu1NKZJca/DOTA.html?  (posição: {x = 677, y = 16, z = 8}

Link do Scan do arquivo: https://www.virustotal.com/pt/file/590d3f147e4d8198d60694a91a49f55851c617a770032b87c0753584124ff821/analysis/1513708277/

 

Ajudei? Deixe aquele rep+, tbm me ajudará muito! Como eu disse, qualquer dúvida, pode postar aqui no tópico que responderei rapidamente. Grande abraço :D

Editado por Fabio Leandro (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 1 month later...

Amigo.... Seu tópico acredito que está incompleto, a action só tem uma tag?

e uma dúvida qual o local que ira nascer o teleport para ir para o evento ? ja rodei tudo e não achei na cidade principal :)´~ 

 

 

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

Mano, dá uma lida no tópico com atenção e faz tudo do jeitinho que eu ensinei que da tudo certinho, ja testei, só tem uma action, pois nesta script ja tem tudo que vai acontecer certinho no evento, o evento não nasce por teleport, pois ele inicia por talkaction e nao por globalevent. 

Link para o post
Compartilhar em outros sites
Em 09/02/2018 em 18:51, Fabio Leandro disse:

Mano, dá uma lida no tópico com atenção e faz tudo do jeitinho que eu ensinei que da tudo certinho, ja testei, só tem uma action, pois nesta script ja tem tudo que vai acontecer certinho no evento, o evento não nasce por teleport, pois ele inicia por talkaction e nao por globalevent. 

por talkactions ou globalevents o tp tem q aparecer né.... isso que ele quis dizer

Link para o post
Compartilhar em outros sites

@Fabio Leandro  sim entendido, mas você fez duas actions e só registrou uma no xml

<!-- Dota -->
    <action uniqueid="5533" script="start_dota.lua" />

não teria que ter mais uma tipow... <action uniqueid="5543" script="dota.lua" /> ?       para abrir o seguinte arquivo "dota.lua" ?

e como os players irão chegar na sala? se não nasce teleporte e nao tem nenhuma talkaction para os players ? o Gm tem que puxar  para iniciar o evento?

 

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