Ir para conteúdo
  • 0

Evento invasao (diferente)


Duuhzinhow

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

Olha colega, rsrs' Aqui está funcionando perfeitamente.
Se liga, você vai usar o comando /spawn on e um BroadCast vai aparecer na tela (broadcast configuravel no script) e o teleport vai abrir em X posição.

 

 

 

Dentro do teleport, eu recomendo que você crie uma pequena arena, como à minha:

 

 

"Para melhor configuração."

Bem, continuando..

Lá dentro, vão ser criados X bixos, (configuravel pelo script), nas posições "random", porém, somente dentro da areninha. Ou seja, vão ser criados tais bixos, de forma aleatória "em relação a posição", porém, somente dentro dessa tal arena. O mesmo acontece com os itens (que você também pediu).

Eles também vao ser criados de forma aleatória dentro dessa arena, quanto a quantidade de itens, também será aleatória. (Tudo configurável pelo Script).

 

Bom, pra você não se perder na parte do "inferior" e "superior". Aqui vai um exemplo:

 

 

Quando você ver o script, vai entender o porque dessa print. rs'

 

script: data/talkactions/talkactions.xml:

<talkaction log="yes" words="/spawn" event="script" value="spawnrandom.lua"/>

script: data/talkactions/talkactions.lua:

 
monsters = {"Demon", "Ferumbras", "Ghoul", "Orshabaal", "Wolf", "Hydra", "Rat", "Cave Rat", "Medusa", "Fire Elemental"} -- nome dos monstros, pode adicionar mais.
fromToPos = {{x = 155, y = 153, z = 9},{x = 166, y = 163, z = 9}} -- Position do Canto Esquerdo Superior. Position do Canto Direito Inferior.
tpPos = {x = 159, y = 48, z = 7} -- Pos onde aparecerá o Teleport.
tpPos1 = {x = 160, y = 157, z = 9} -- Pos para onde o teleport irá levar o Player.
time = 10 --Tempo em que o Teleport fechará.
mensagem = "O evento invasão terminou." -- Mensagem que será enviada quando o teleport fechar.
mensagemcomeco = "O evento invasão iniciou." -- Mensagem que aparecerá assim que você usar o comando.
itens = {2160, 2554, 2148} -- Id dos itens que serão criados.
maximo_itens = 5   -- Maximo de itens que serão criados.// Cada item, pode ser criado de 1 a 5, de um modo random.
 
 
function removeTp()
         local t = getTileItemById(tpPos, 1387).uid
    return t > 0 and doRemoveItem(t) and doSendMagicEffect(_Lib_Battle_Info.tpPos, CONST_ME_POFF)
end
 
function sortPosition(pos)     --Função para fazer o random das Positions.
        local position = {
                x = math.random(pos[1].x, pos[2].x),
                y = math.random(pos[1].y, pos[2].y),
                z = 9       -- Não esqueça de configurar aqui, a posição Z do FromToPos.
        }
        return position
end
 
function CriarItens()   
             for i = 1, #itens do
                 a = 0 
                   while a < 10 do
                   a = a + 1
                     doCreateItem(itens[i],math.random(1, maximo_itens), sortPosition(fromToPos))
                   end
             end
end
 
function criarCriaturas()   --Função para criar os Bichos.
                for i = 1, #monsters do
                   doCreateMonster(monsters[i], sortPosition(fromToPos))
                end               
             addEvent(criarCriaturas, 60 * 1000)
  return true
end                              
function onSay(cid, words, param, channel)
 
      if (param == "on") then
           criarCriaturas()
             CriarItens()
               broadcastMessage(mensagemcomeco)
                  doCreateTeleport(1387, tpPos1, tpPos)
                        addEvent(removeTp, time * 60000)
                          addEvent(broadcastMessage, time * 60000, mensagem)
      end
  return true
end

Não sei se era isso mesmo que você queria...

Mas, qualquer coisa, comenta aew..

 

Vlw! :p

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...