• 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.)

    1default [Spells] Push Monsters a Player el Miér 5 Dic 2018 - 18:53

    [Admin] God Maya

    avatar
    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



    Ver perfil de usuario http://www.tibiaface.com

    2default Re: [Spells] Push Monsters a Player el Jue 6 Dic 2018 - 14:49

    Deget92

    avatar
    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
     

    Ver perfil de usuario

    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).