• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Spells] Push Monsters a Player

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1[Spells] Push Monsters a Player Empty [Spells] Push Monsters a Player Miér Dic 05, 2018 6:53 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibaiface


    Bueno esta spells es para el moustro trata el moustro atrae al player o salta a donde esta el.

    nos vamos a:

    data\spells\scripts
    creamos una carpeta llamada monsters y dentro ahi creamos un archivo lua llamado push.lua y dentro pegamos esto

    Código:

    function onCastSpell(cid, var) -- By Mock the bear
        local c = getCreatureTarget(cid)
        local cid2 = cid
        if isCreature(c) then
            if math.random(1,2) == 1 then
                local p = getCreaturePosition(cid)
                local n = 0
                while true do
                    n = n+1
                    p.x = p.x+choose(-1,1)
                    p.y = p.y+choose(-1,1)
                    if isWalkable(p,true) or n > 15 then
                        doTeleportThing(c,p)
                        break
                    else
                        p = getCreaturePosition(cid)
                    end
                end
            else
                local p = getCreaturePosition(c)
                local n = 0
                while true do
                    n = n+1
                    p.x = p.x+choose(-1,1)
                    p.y = p.y+choose(-1,1)
                    if isWalkable(p,true) or n > 15 then
                        doTeleportThing(cid,p)
                        break
                    else
                        p = getCreaturePosition(c)
                    end
                end
            end
            doCreatureSay(cid2,'Muhuhaha!!',19)
        end
        return false
    end
     

    ahora nos vamos a:

    data\spells\spells.xml
    y agregamos esta tag

    Código:
    <instant name="mock_push_monster" words="mock_push_monster" enabled="0" event="script" value="monsters/push.lua"></instant>

    bueno ahora buscamos el moustro que queremos que tenga esta spells en mi caso yo usar el orc le vamos añadir esto:

    Código:
    <attack name="mock_push_monster" interval="1000" chance="25"/>

    que es la spells de push

    como quedaria integrada en el moustro ejemplo:

    Código:

    <?xml version="1.0" encoding="UTF-8"?>
    <monster name="Orc" nameDescription="a orc" race="blood" experience="25" speed="150" manacost="300">
       <health now="70" max="70"/>
       <look type="5" corpse="5966"/>
       <targetchange interval="2000" chance="0"/>
       <strategy attack="100" defense="0"/>
       <flags>
          <flag summonable="1"/>
          <flag attackable="1"/>
          <flag hostile="1"/>
          <flag illusionable="1"/>
          <flag convinceable="1"/>
          <flag pushable="1"/>
          <flag canpushitems="0"/>
          <flag canpushcreatures="0"/>
          <flag targetdistance="1"/>
          <flag staticattack="90"/>
          <flag runonhealth="15"/>
       </flags>
       <attacks>
          <attack name="melee" interval="2000" skill="25" attack="20"/>
          <attack name="mock_push_monster" interval="1000" chance="25"/>  -------> push aqui esta
       </attacks>
       <defenses armor="4" defense="8"/>
       <elements>
          <element energyPercent="20"/>
          <element holyPercent="10"/>
          <element earthPercent="-20"/>
          <element deathPercent="-5"/>
       </elements>
       <voices interval="5000" chance="10">
          <voice sentence="Grak brrretz!"/>
          <voice sentence="Grow truk grrrrr."/>
          <voice sentence="Prek tars, dekklep zurk."/>
       </voices>
       <loot>
          <item id="2148" countmax="15" chance="17500"/><!-- gold coin -->
          <item id="2666" countmax="2" chance="22500"/><!-- meat -->
          <item id="2484" chance="15000"/><!-- studded armor -->
          <item id="2482" chance="10000"/><!-- studded helmet -->
          <item id="2526" chance="1600"/><!-- studded shield -->
          <item id="2385" chance="17500"/><!-- sabre -->
          <item id="2386" chance="18000"/><!-- axe -->
       </loot>
    </monster>


    testeado en otx 2.x.s.3



    [Spells] Push Monsters a Player YNU5B25
    2 participantes
    http://www.tibiaface.com

    2[Spells] Push Monsters a Player Empty Re: [Spells] Push Monsters a Player Jue Dic 06, 2018 2:49 pm

    Deget92

    Deget92
    Miembro
    Miembro


    Código:
    Add it on 050-function.lua:
    Code (Lua):

     
    function choose(...) -- by mock
        local arg = {...}
        return arg[math.random(1,#arg)]
    end
     

    Do the same to:
    Code (Lua):

     
    function isWalkable(pos, creature, proj, pz)-- by Nord
        if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
        if getTopCreature(pos).uid > 0 and creature then return false end
        if getTileInfo(pos).protection and pz then return false, true end
        local n = not proj and 3 or 2
        for i = 0, 255 do
            pos.stackpos = i
            local tile = getTileThingByPos(pos)
            if tile.itemid ~= 0 and not isCreature(tile.uid) then
                if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
                    return false
                end
            end
        end
        return true
    end
     

    2 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).