Ir para conteúdo
Entre para seguir isso  
vamppuncker

Passar em um tile e summonar um monstro

Recommended Posts

vamppuncker    2
vamppuncker

Você passa em um tile e summona um dos monstros da lista

 

Primeiro vá em movements/script copie e cole qualquer arquivo e renomeie para tilesummon.lua

 

Em seguida abra-o e coloque isso:

local monsters = {
     [1] = {name = "[color="blue"]Dragon[/color]", chance = [color="red"]5[/color]},
     [2] = {name = "[color="blue"]Dragon Lord[/color]", chance = [color="red"]4[/color]},
     [3] = {name = "[color="blue"]Frost Dragon[/color]", chance = [color="red"]3[/color]},
     [4] = {name = "[color="blue"]Dragon Hatchling[/color]", chance = [color="red"]7[/color]}
}

function onStepIn(cid, item, pos)

local r = math.random(1,4)
local gb = {x = getCreaturePosition(cid).x + math.random(-1,1), y = getCreaturePosition(cid).y + math.random(-1,1), z = getCreaturePosition(cid).z}

        if (getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE) and (isPlayer(cid)) then
           if (math.random(1,100) <= monsters[r].chance) and (isPlayer(cid)) then
              if (getTilePzInfo(gb) == FALSE) and (isPlayer(cid)) then
                 local monster = doCreateMonster(monsters[r].name, gb)
                 return doPlayerSendTextMessage(cid, 27, "A wild ".. monsters[r].name .." appeared!") and doSendMagicEffect(gb, 10) and doChallengeCreature(cid, monster)
              elseif (getTilePzInfo(gb) == TRUE) and (isPlayer(cid)) then
                     return doPlayerSendCancel(cid, "Nothing!")
              end
           elseif (getTilePzInfo(gb) == TRUE) and (isPlayer(cid)) then
                  return doPlayerSendCancel(cid, "Nothing!")
           end
        elseif (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) and (isPlayer(cid)) then
               return doPlayerSendCancel(cid, "You are in fight!")
        end
   return true
end   

 

[#] = Chance de o bicho aparecer.

[#] = Nome do bicho.

 

E essa tag em movements.xml

	<movevent type="StepIn" itemid="[color="blue"]8423-8431[/color]" event="script" value="[color="red"]tilesummon.lua[/color]"/>

 

[#] = Id do piso

[#] = Nome do arquivo

 

Se preferir pode colocar em um piso só, aí vc muda "itemid" para "actionid" depois entra no map editor e edita a action nos pisos que vc quer.

 

Bom é isso , até +

Compartilhar este post


Link para o post
Lwkass    1
Lwkass

Bem, me desculpe pela demora na avaliação, mas sobre o script, poderia ter algo a mais pra fazer um diferencial,

 

Obrigado pela sua contribuição

Compartilhar este post


Link para o post
vamppuncker    2
vamppuncker

pdk, da pra tira esse monte de isPlayer(cid).

Editado por vamppuncker

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×