Ir para conteúdo

lukas13on

Artesão
  • Total de itens

    138
  • Registro em

  • Última visita

Posts postados por lukas13on

  1. <instant name="Exori Bong" words="exori bong" lvl="65" mana="580" prem="0" exhaustion="2000" needtarget="1" range = "4" needlearn="0" script="attack/exori bong.lua">

     

    function onCastSpell(cid, var)
    local exaustion = getSpellEx(2000,Ex)
    local playerpos = getCreaturePosition(cid)
    local target = getCreatureTarget(cid)
    local trapos = getCreaturePosition(target)
    local level = getPlayerLevel(cid)
    local numero1 = (level*1.5) -- Dano Mínimo
    local numero2 = (level*2.5) -- Dano Máximo
    for i = numero1, numero2 do
    levelz = (math.random(numero2))
    end
    
    doExaustionSpell(Ex, 2000)
    doCreatureAddHealth(target, -levelz)
    doSendAnimatedText(trapos, levelz, 180)
    doCreatureAddHealth(cid, levelz)
    doCreatureAddMana(cid, -300) -- Quanto Vai Gastar de Mana
    doSendMagicEffect(trapos, 9)
    doSendMagicEffect(playerpos, 12)
    doSendDistanceShoot(trapos, playerpos, 40)
    end

  2. baixon.jpg

     

    Bom dia venho apresentar a você uma versão de sistema de

    mineração melhorada por mim espero que gostem:

     

    -Sistema : Usar item X em item Y gerando item Z = X+Y=7<%

    - Npc : Troca item X+Quantidade por Item Z+Quantidade < Money

     

    cimad.png

    baixon.jpg

    Mineração



     

    Script:

     


    function onUse(cid, item, frompos, item2, topos)
    Level = getPlayerLevel(cid)
    AxeSkill = getPlayerSkill(cid,1)
    if item2.actionid == 6786 and
    Level >= 10
    and
    AxeSkill >= 10
    then
    rand = math.random(1,2000)
    if rand < 20 then
    doPlayerSendTextMessage(cid,22,"Um stone golem apareceu apartir da pilha de rochas!")
    doSummonCreature("Stone Golem", topos)
    elseif rand == 1300 then
    doPlayerSendTextMessage(cid,22,"Voce achou um golden nugget.")
    doPlayerAddItem(cid,2157,1)
    elseif rand > 1995 then
    doPlayerSendTextMessage(cid,22,"Voce achou uma diamond.")
    doPlayerAddItem(cid,2145,1)
    elseif rand >500 and rand <800 then
    doPlayerAddItem(cid,2148,7)
    elseif rand >700 and rand <1000 then
    doPlayerSendTextMessage(cid,22,"Voce achou um Iron Ore.")
    doPlayerAddItem(cid,5880,1)
    elseif rand >1000 and rand <1300 then
    doPlayerSendTextMessage(cid,22,"Voce achou uma Pearl.")
    doPlayerAddItem(cid,2143,1)
    elseif rand >300 and rand <600 then
    doPlayerSendTextMessage(cid,22,"Voce achou um Crystal Piece.")
    doPlayerAddItem(cid,8300,1)
    elseif rand >1500 and rand <1800 then
    doPlayerSendTextMessage(cid,22,"Voce achou um Rare Crystal.")
    doPlayerAddItem(cid,10613,1)
    elseif rand >1100 and rand <1400 then
    doPlayerAddItem(cid,2148,8)
    elseif rand >800 and rand <1100 then
    doPlayerAddHealth(cid,-20)
    doPlayerSendTextMessage(cid,22,"Voce perdeu pontos de vida pela exaustion da mineracao.")
    elseif rand >500 and rand <800 then
    doPlayerSendTextMessage(cid,22,"Voce achou um Ruby.")
    doPlayerAddItem(cid,2147,1)
    elseif rand >550 and rand <800 then
    doPlayerSendTextMessage(cid,22,"Um Dwarf feroz apareceu apartir da pilha de rochas!")
    doSummonCreature("Dwarf", topos)
    elseif rand == 40 then
    doPlayerSendTextMessage(cid,22,"Um Dwarf Guard feroz apareceu apartir da pilha de rochas!")
    doSummonCreature("Dwarf Guard", topos)
    elseif rand == 20 then
    doPlayerSendTextMessage(cid,22,"Um Troll fraco apareceu apartir da pilha de rochas!")
    doSummonCreature("Troll", topos)
    elseif rand >2000 then
    doPlayerSendTextMessage(cid,22,"Earthquake!")
    doPlayerAddHealth(cid,-100)
    elseif rand == 100 and rand <140 then
    doPlayerSendTextMessage(cid,22,"Um Troll fraco apareceu apartir da pilha de rochas!")
    doSummonCreature("Troll", topos)
    elseif rand == 200 then
    doPlayerSendTextMessage(cid,22,"Um Dwarf Soldier apareceu apartir da pilha de rochas!")
    doSummonCreature("Dwarf Soldier", topos)
    elseif rand >= 105 and rand <150 then
    end
    doSendMagicEffect(topos,3)
    doPlayerAddSkillTry(cid,1,0)
    doPlayerSay(cid,"Mining!",1)
    else
    doPlayerSendCancel(cid,"Voce nao esta minerando no lugar correto, ou nao tem level minimo.")
    end
    return 1
    end
    
    



     

    Actions.XML :

     


    <action itemid="2553" event="script" value="mining.lua"/>
    
    



     

    cimad.png

    baixon.jpg

    Npc:

     

    Script:

     


    local focus = 0
    local talk_start = 0
    local target = 0
    local following = false
    local attacking = false
    function onThingMove(creature, thing, oldpos, oldstackpos)
    end

    function onCreatureAppear(creature)
    end

    function onCreatureDisappear(cid, pos)
    if focus == cid then
    selfSay('Good bye then.')
    focus = 0
    talk_start = 0
    end
    end

    function onCreatureTurn(creature)
    end

    function msgcontains(txt, str)
    return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
    end

    function onCreatureSay(cid, type, msg)
    msg = string.lower(msg)
    if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
    selfSay('Hello ' .. getCreatureName(cid) .. '! Eu posso fazer barras de ouro por 10 Crystal Coins).')
    focus = cid
    talk_start = os.clock()
    elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
    selfSay('Wait you time, ' .. getCreatureName(cid) .. '!')
    elseif focus == cid then
    talk_start = os.clock()
    if msgcontains(msg, 'gold') or msgcontains(msg, 'gold ingot')then
    if getPlayerItemCount(cid,2157) >= 1 and getPlayerItemCount(cid,2152) >= 100 or getPlayerItemCount(cid,2157) >= 1 and getPlayerItemCount(cid,2160) >= 1 then
    selfSay('Here you are.')
    doPlayerAddItem(cid,9971,1)
    if doPlayerTakeItem(cid,2157,1) and doPlayerTakeItem(cid,2152,100) == 0 or doPlayerTakeItem(cid,2157,1) and doPlayerTakeItem(cid,2160,1) == 0 then
    end
    else
    selfSay('Desculpa, você nao tem o item necessario.')
    end

    elseif msgcontains(msg, 'bye') and getDistanceTo(cid) < 4 then
    selfSay('Good bye, ' .. getCreatureName(cid) .. '!')
    focus = 0
    talk_start = 0
    end
    end
    end

    function onCreatureChangeOutfit(creature)
    end

    function onThink()
    if (os.clock() - talk_start) > 30 then
    if focus > 0 then
    selfSay('Next Please...')
    end
    focus = 0
    end
    if focus ~= 0 then
    if getDistanceToCreature(focus) > 5 then
    selfSay('Good bye then.')
    focus = 0
    end
    end
    end
    
    



     

     

    NPC.xml

     


    <npc name="Yenous" script="data/npc/scripts/goldingot.lua" access="5" lookdir="1">
    <health now="1000" max="1000"/>
    <look type="194" head="95" body="76" legs="95" feet="76" addons="3"/>
    <parameters>
    <parameter key="message_greet" value="Hello |PLAYERNAME|. I've been working hard these days in this project, I can now repair your dear friend {soft boots}." />
    </parameters>
    </npc>
    
    



     

    cimad.png

    http://www.youtube.com/watch?v=9nxCCW1-Q8Y&feature=youtu.be

    baixon.jpg

  3. divisao.jpg

    Strikes

    divisao.jpg

     

     

    Terra element:

    efeitos de um exori tera e um "exevo gran mas tera"

    Script:

    (combinado os efeito de exori tera + exevo gran mas tera)

     

    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_PLANTATTACK)
    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    
    local distanceCombat = createCombatObject()
    setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
    setCombatParam(distanceCombat, COMBAT_PARAM_EFFECT, CONST_ME_PLANTATTACK)
    setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)
    setCombatFormula(distanceCombat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    
    function onCastSpell(cid, var)
    if(variantToNumber(var) ~= 0) then
    return doCombat(cid, distanceCombat, var)
    end
    return doCombat(cid, combat, var)
    end

     

    Spells.xml

     

    				<instant name="tera divine" words="tera divine" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/tera divine.lua">
    <vocation id="1">
    <vocation id="2">
    <vocation id="5">
    <vocation id="3">
    <vocation id="7">
    <vocation id="6">
    <vocation id="4">
    <vocation id="8">
    </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>

     

    Screenshot

    (Obs:no game fica mais lindo .-.)

    ataques tera feios nunca mais 'o'

    maldito screenshot n mostra os efeitos ' kkkk

     

    tibia2012072719341781.jpg

    divisao.jpg

     

    Ice element:

    Combinados efeito de Avalanche + Exori frigo = Orgasmos nerd

    Script:

     

    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA)
    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    
    local distanceCombat = createCombatObject()
    setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
    setCombatParam(distanceCombat, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA)
    setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)
    setCombatFormula(distanceCombat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    
    function onCastSpell(cid, var)
    if(variantToNumber(var) ~= 0) then
    return doCombat(cid, distanceCombat, var)
    end
    return doCombat(cid, combat, var)
    end

     

    Spells.xml

     

    			<instant name="ice divine" words="ice divine" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/ice divine.lua">
     <vocation id="1">
     <vocation id="2">
     <vocation id="5">
     <vocation id="3">
     <vocation id="7">
     <vocation id="6">
     <vocation id="4">
     <vocation id="8">
    </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>

     

    Screenshot

    (Obs:no game fica mais lindo .-.)

     

    tibia2012072719165110.jpg

    divisao.jpg

     

    Energy Element

    efeitos de um exori vis com energy beam

     

    Script:

     

    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL)
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.8, 0)
    
    function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
    end

     

    Spells.xml

     

    				<instant name="divine vis" words="divine vis" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/divine vis.lua">
    <vocation id="1">
    <vocation id="2">
    <vocation id="5">
    <vocation id="3">
    <vocation id="7">
    <vocation id="6">
    <vocation id="4">
    <vocation id="8">
    </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>

     

    Screenshot

    (Obs:no game fica mais lindo .-.)

     

    tibia2012072718531900.jpg

    divisao.jpg

     

    Fire Element

    efeitos de um "exevo gran mas flam" com exori flam

     

    Script:

     

    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    
    local distanceCombat = createCombatObject()
    setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(distanceCombat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
    setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(distanceCombat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    
    function onCastSpell(cid, var)
    if(variantToNumber(var) ~= 0) then
    return doCombat(cid, distanceCombat, var)
    end
    return doCombat(cid, combat, var)
    end

     

    Spells.xml

     

    				<instant name="fire divine" words="fire divine" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/fire divine.lua">
     <vocation id="1">
     <vocation id="2">
     <vocation id="5">
     <vocation id="3">
     <vocation id="7">
     <vocation id="6">
     <vocation id="4">
     <vocation id="8">
    </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>

     

    Screenshot

    (Obs:no game fica mais lindo .-.)

     

    tibia2012072718331893.jpg

    divisao.jpg

    AoE

    divisao.jpg

     

    Groundshock

     

    Script:

     

    local combatx = createCombatObject()
    local combat1 = createCombatObject()
    setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255)
    setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 37)
    setCombatFormula(combat1, COMBAT_FORMULA_SKILL, -1.0, -1, -1, -1)
    local combat2 = createCombatObject()
    setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat2, COMBAT_PARAM_EFFECT, 48)
    setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.6, 0)
    local combat3 = createCombatObject()
    setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat3, COMBAT_PARAM_EFFECT, 49)
    local arr1 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 1, 1, 0, 3, 0, 1, 1, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local arr2 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local arr3 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local area1 = createCombatArea(arr1)
    local area2 = createCombatArea(arr2)
    local area3 = createCombatArea(arr3)
    local areax = createCombatArea(arr1)
    setCombatArea(combatx, area1)
    setCombatArea(combat1, area1)
    setCombatArea(combat2, area2)
    setCombatArea(combat3, area3)
    function onTargetTile(cid, pos)
    			doCombat(cid,combat1,positionToVariant(pos))
    end
    setCombatCallback(combatx, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
    local function onCastSpell1(parameters)
    			doCombat(parameters.cid, combatx, parameters.var)
    end
    local function onCastSpell2(parameters)
    			doCombat(parameters.cid, combat2, parameters.var)
    end
    local function onCastSpell3(parameters)
    			doCombat(parameters.cid, combat3, parameters.var)
    end
    
    function onCastSpell(cid, var)
    local parameters = { cid = cid, var = var}
    addEvent(onCastSpell1, 300, parameters)
    addEvent(onCastSpell2, 100, parameters)
    addEvent(onCastSpell3, 80, parameters)
    end

     

    SpellsXML:

     

    				<instant name="groundshock" words="groundshock" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/groundshock.lua">
     <vocation id="1">
     <vocation id="2">
     <vocation id="5">
     <vocation id="3">
     <vocation id="7">
     <vocation id="6">
     <vocation id="4">
     <vocation id="8">
    </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>

     

    ScreenShot:

    Como vocês sabem screenshot não mostra spell ;o

     

     

    tibia2012072720434534.jpg

    divisao.jpg

    Death Aoe*new

     

    Script:

     

    local combatx = createCombatObject()
    local combat1 = createCombatObject()
    setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255)
    setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 31)
    setCombatFormula(combat1, COMBAT_FORMULA_SKILL, -1.0, -1, -1, -1)
    local combat2 = createCombatObject()
    setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat2, COMBAT_PARAM_EFFECT, 17)
    setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 1.0, 0, -1.3, 0)
    local combat3 = createCombatObject()
    setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat3, COMBAT_PARAM_EFFECT, 38)
    local arr1 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local arr2 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local arr3 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local area1 = createCombatArea(arr1)
    local area2 = createCombatArea(arr2)
    local area3 = createCombatArea(arr3)
    local areax = createCombatArea(arr1)
    setCombatArea(combatx, area1)
    setCombatArea(combat1, area1)
    setCombatArea(combat2, area2)
    setCombatArea(combat3, area3)
    function onTargetTile(cid, pos)
    				    doCombat(cid,combat1,positionToVariant(pos))
    end
    setCombatCallback(combatx, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
    local function onCastSpell1(parameters)
    				    doCombat(parameters.cid, combatx, parameters.var)
    end
    local function onCastSpell2(parameters)
    				    doCombat(parameters.cid, combat2, parameters.var)
    end
    local function onCastSpell3(parameters)
    				    doCombat(parameters.cid, combat3, parameters.var)
    end
    function onCastSpell(cid, var)
    local parameters = { cid = cid, var = var}
    addEvent(onCastSpell1, 300, parameters)
    addEvent(onCastSpell2, 100, parameters)
    addEvent(onCastSpell3, 80, parameters)
    end
    

     

    Spells.XML

     

    <instant name="death aoe" words="death aoe" lvl="15" mana="99999999" prem="0" range="7" casterTargetOrDirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="hpspells/death aoe.lua">
     <vocation id="1"/>
     <vocation id="2"/>
     <vocation id="5"/>
     <vocation id="3"/>
     <vocation id="7"/>
     <vocation id="6"/>
     <vocation id="4"/>
     <vocation id="8"/>
    </instant>
    

     

    Screenshot

    anigiftof.gif

    divisao.jpg

    Like a Ninja

     

    Script:

     

    local combatx = createCombatObject()
    local combat1 = createCombatObject()
    setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255)
    setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 7)
    setCombatFormula(combat1, COMBAT_FORMULA_SKILL, -1.0, -1, -1, -1)
    local combat2 = createCombatObject()
    setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat2, COMBAT_PARAM_EFFECT, 34)
    setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 1.0, 0, -1.3, 0)
    local combat3 = createCombatObject()
    setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat3, COMBAT_PARAM_EFFECT, 44)
    local arr1 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local arr2 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local arr3 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local area1 = createCombatArea(arr1)
    local area2 = createCombatArea(arr2)
    local area3 = createCombatArea(arr3)
    local areax = createCombatArea(arr1)
    setCombatArea(combatx, area1)
    setCombatArea(combat1, area1)
    setCombatArea(combat2, area2)
    setCombatArea(combat3, area3)
    function onTargetTile(cid, pos)
    		doCombat(cid,combat1,positionToVariant(pos))
    end
    setCombatCallback(combatx, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
    local function onCastSpell1(parameters)
    		doCombat(parameters.cid, combatx, parameters.var)
    end
    local function onCastSpell2(parameters)
    		doCombat(parameters.cid, combat2, parameters.var)
    end
    local function onCastSpell3(parameters)
    		doCombat(parameters.cid, combat3, parameters.var)
    end
    
    function onCastSpell(cid, var)
    local parameters = { cid = cid, var = var}
    addEvent(onCastSpell1, 300, parameters)
    addEvent(onCastSpell2, 100, parameters)
    addEvent(onCastSpell3, 80, parameters)
    end

     

    SpellsXML:

     

    			<instant name="like ninja" words="like ninja" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/like ninja.lua">
     <vocation id="1">
     <vocation id="2">
     <vocation id="5">
     <vocation id="3">
     <vocation id="7">
     <vocation id="6">
     <vocation id="4">
     <vocation id="8">
    </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>

     

    ScreenShot:

    Como vocês sabem screenshot não mostra spell ;o

     

     

     

    tibia2012072720550571.jpg

    divisao.jpg

     

    Essa spell é realmente linda eu tive 5 orgasmos simultâneos.

    sabe porque? porque são 5 ataques simultâneos isso mesmo,

    o ataque está super balanceado, é um pouquinho mais forte que o

    eternal winter (exevo gran mas frigo). espero que gostem ;)

     

    Avalon strength

     

    Script:

     

    local combat1 = createCombatObject()
    setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 28)
    local combat2 = createCombatObject()
    setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECTT, 29)
    setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    local combat3 = createCombatObject()
    setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 35)
    setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    local combat4 = createCombatObject()
    setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat4, COMBAT_PARAM_EFFECT, 41)
    setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    local combat5 = createCombatObject()
    setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat5, COMBAT_PARAM_EFFECT, 52)
    setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)
    arr1 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    }
    arr2 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    }
    arr3 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    }
    arr4 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    }
    arr5 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    }
    local area1 = createCombatArea(arr1)
    local area2 = createCombatArea(arr2)
    local area3 = createCombatArea(arr3)
    local area4 = createCombatArea(arr4)
    local area5 = createCombatArea(arr5)
    setCombatArea(combat1, area1)
    setCombatArea(combat2, area2)
    setCombatArea(combat3, area3)
    setCombatArea(combat4, area4)
    setCombatArea(combat5, area5)
    local function onCastSpell1(parameters)
    doCombat(parameters.cid, parameters.combat1, parameters.var)
    end
    local function onCastSpell2(parameters)
    doCombat(parameters.cid, parameters.combat2, parameters.var)
    end
    local function onCastSpell3(parameters)
    doCombat(parameters.cid, parameters.combat3, parameters.var)
    end
    local function onCastSpell4(parameters)
    doCombat(parameters.cid, parameters.combat4, parameters.var)
    end
    local function onCastSpell5(parameters)
    doCombat(parameters.cid, parameters.combat5, parameters.var)
    end
    function onCastSpell(cid, var)
    local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5 }
    addEvent(onCastSpell1, 100, parameters)
    addEvent(onCastSpell2, 200, parameters)
    addEvent(onCastSpell3, 300, parameters)
    addEvent(onCastSpell4, 400, parameters)
    addEvent(onCastSpell5, 500, parameters)
    return TRUE
    end

     

    SpellsXML:

     

    			<instant name="Avalon strength" words="Avalon strength" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/Avalon strength.lua">
     <vocation id="1">
     <vocation id="2">
     <vocation id="5">
     <vocation id="3">
     <vocation id="7">
     <vocation id="6">
     <vocation id="4">
     <vocation id="8">
    </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>

     

    ScreenShot:

     

    Obs: vocês ja sabem que a spell é mto mais linda no game =)

    dessa vez em gif ;)

     

     

     

    anigifib.gif

    divisao.jpg

     

    Stronderwave

     

    Script:

     

    local combatx = createCombatObject()
    local combat1 = createCombatObject()
    setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255)
    setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 33)
    setCombatFormula(combat1, COMBAT_FORMULA_SKILL, -1.0, -1, -1, -1)
    local combat2 = createCombatObject()
    setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat2, COMBAT_PARAM_EFFECT, 5)
    setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 1.0, 0, -1.3, 0)
    local combat3 = createCombatObject()
    setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat3, COMBAT_PARAM_EFFECT, 6)
    local arr1 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local arr2 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local arr3 = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    }
    local area1 = createCombatArea(arr1)
    local area2 = createCombatArea(arr2)
    local area3 = createCombatArea(arr3)
    local areax = createCombatArea(arr1)
    setCombatArea(combatx, area1)
    setCombatArea(combat1, area1)
    setCombatArea(combat2, area2)
    setCombatArea(combat3, area3)
    function onTargetTile(cid, pos)
    		doCombat(cid,combat1,positionToVariant(pos))
    end
    setCombatCallback(combatx, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
    local function onCastSpell1(parameters)
    		doCombat(parameters.cid, combatx, parameters.var)
    end
    local function onCastSpell2(parameters)
    		doCombat(parameters.cid, combat2, parameters.var)
    end
    local function onCastSpell3(parameters)
    		doCombat(parameters.cid, combat3, parameters.var)
    end
    
    function onCastSpell(cid, var)
    local parameters = { cid = cid, var = var}
    addEvent(onCastSpell1, 300, parameters)
    addEvent(onCastSpell2, 100, parameters)
    addEvent(onCastSpell3, 80, parameters)
    end

     

    SpellsXML:

     

    			<instant name="exevo pala hur" words="exevo pala hur" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/exevo pala hur.lua">
     <vocation id="1">
     <vocation id="2">
     <vocation id="5">
     <vocation id="3">
     <vocation id="7">
     <vocation id="6">
     <vocation id="4">
     <vocation id="8">
    </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>

     

    ScreenShot:

    Como vocês sabem screenshot não mostra spell ;o

     

    tibia2012072720412310.jpg

    divisao.jpg

     

    divisao.jpg

  4. tem como melhorar, você tem que saber combinar

    as effects, com coordenação exemplo tente esse:

    veja como fico diferente, usei seu script so mudei effect e cordenadas.

     

     

    script:

    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, 52)
    setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 12)
    
    
    local arr = {
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    }
    
    local area = createCombatArea(arr)
    setCombatArea(combat, area)
    
    function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
    end
    
    

  5. *Por favor se for responder, leia tudo antes*

     

    Função:

    Quando usado Item X em cima do Item Y

    a cada refinação terá 40% de sucesso

    e 60% de falha, O maximo de Refinação é +9.

    e não pode sumir o status alterado quando logar,

    ou quando der save server, permanente.

     

    Fará

    item weapons:

    Addextra_attack = 2, Addextra_def = 2,

    Items armor,legs,helmet:

    Add_armor = 2

    items boots:

    Add_Speed = 2

    items Shield:

    Add_Shield = 2

    items Wand,Staff

    Add_deff=3

    Effect Quando sucesso

    Effectoncreature= 53

    Effect Quando Fail

    Effectoncreature= 2

  6. O que essa script faz?

    Ele informa para quem o player morreu e em que level.

     

    local config = {
    deathAssistCount = getConfigValue('deathAssistCount') + 1,
    maxDeathRecords = getConfigValue('maxDeathRecords'),
    limit = ""
    }
    if(config.deathAssistCount > 0) then
    config.limit = " LIMIT 0, " .. config.deathAssistCount
    end
    function onSay(cid, words, param, channel)
    local target = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";")
    if(target:getID() == -1) then
    doPlayerSendCancel(cid, "A player with that name does not exist.")
    return true
    end
    local targetName, targetId = target:getDataString("name"), target:getDataInt("id")
    target:free()
    local str, deaths = "", db.getResult("SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = " .. targetId .." ORDER BY `date` DESC LIMIT 0, " .. config.maxDeathRecords)
    if(deaths:getID() ~= -1) then
    repeat
    local killers = db.getResult("SELECT environment_killers.name AS monster_name, players.name AS player_name FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_id LEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_id WHERE killers.death_id = " .. deaths:getDataInt("id") .. " ORDER BY killers.final_hit DESC, killers.id ASC" .. config.limit)
    if(killers:getID() ~= -1) then
    if(str ~= "") then
    str = str .. "\n" .. os.date("%d %B %Y %X ", deaths:getDataLong("date"))
    else
    str = os.date("%d %B %Y %X ", deaths:getDataLong("date"))
    end
    local count, i = killers:getRows(false), 0
    repeat
    local monster = killers:getDataString("monster_name")
    if(i == 0 or i == (count - 1)) then
    monster = string.gsub(monster:gsub("an ", ""), "a ", "")
    end
    if(killers:getDataString("player_name") ~= "") then
    if(i == 0) then
    str = str .. "Killed at level " .. deaths:getDataInt("level") .. " by:\n  "
    elseif(i == count) then
    str = str .. " and by "
    elseif(i % 4 == 0) then
    str = str .. ",\n  "
    else
    str = str .. ", "
    end
    if(monster ~= "") then
    str = str .. monster .. " summoned by "
    end
    str = str .. killers:getDataString("player_name")
    else
    if(i == 0) then
    str = str .. "Died at level " .. deaths:getDataInt("level") .. " by:\n  "
    elseif(i == count) then
    str = str .. " and by "
    elseif(i % 4 == 0) then
    str = str .. ",\n  "
    else
    str = str .. ", "
    end
    str = str .. monster
    end
    i = i + 1
    if(i == count) then
    str = str .. "."
    end
    until not(killers:next())
    killers:free()
    end
    until not(deaths:next())
    deaths:free()
    else
    str = "No deaths recorded."
    end
    doPlayerPopupFYI(cid, "Deathlist for player: " .. targetName .. ".\n\n" .. str)
    return true
    end
    

     

    TALKACTIONS.XML

    <talkaction words="!deathlist" event="script" value="deathlist.lua"/>
    

  7. Aqui está

     

     

    -- SCRIPT FEITO POR YUNIE
    -- config
    minlevel = 400 -- level para resetar
    price = 0
    newlevel = 10 -- level após reset
    newexp = 9300 -- nova experiencia após reset
    -- end config
    
    function addReset(cid)
    resets = getResets(cid)
    setPlayerStorageValue(cid,36874,resets+1)
    return true
    end
    
    function getResets(cid)
    resets = getPlayerStorageValue(cid,36874)
    if resets < 0 then
    resets = 0
    end
    return resets
    end
    
    
    local keywordHandler = KeywordHandler:new()
    local npcHandler = npcHandler:new(keywordHandler)
    NpcSystem.parseParameters(npcHandler)
    local talkState = {}
    
    function onCreatureAppear(cid)  npcHandler:onCreatureAppear(cid)  end
    function onCreatureDisappear(cid)  npcHandler:onCreatureDisappear(cid)  end
    function onCreatureSay(cid, type, msg)  npcHandler:onCreatureSay(cid, type, msg)  end
    function onThink()  npcHandler:onThink()  end
    
    function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
    return false
    end
    local talkUser = npcHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
    
    if msgcontains(msg, 'reset') then
    selfSay('Do you want to reset your character level? Your character will be logged off if you confirm. You must pay '..price..' gold coins to reset.', cid)
    talkState[talkUser] = 1
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
    if getPlayerMoney(cid) < price then
    selfSay('You must pay '..price..' gold coins to reset.', cid)
    elseif getPlayerLevel(cid) < minlevel then
    selfSay('You must be at least level '.. minlevel ..' to reset.', cid)
    else
    doPlayerRemoveMoney(cid,price)
    addReset(cid)
    playerid = getPlayerGUID(cid)
    doRemoveCreature(cid)
    db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `players`.`id`= ".. playerid .."")
    end
    talkState[talkUser] = 0
    elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
    talkState[talkUser] = 0
    selfSay('Ok.', cid)
    elseif msgcontains(msg, 'quant') then
    selfSay('You have '..getResets(cid)..' reset(s).', cid)
    end
    
    return true
    end
    
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())

  8. Nesse sisteminha eu e meu amigo conseguimos

    fazer um npc que teleporta para algum lugar

    casoo jogador possua a storage !

     

    Data/Script/npc.lua

    
    local price = 50
    local config = {
    pos1 = {x=2061,y=2140,z=10},
    pos2 = {x=2061,y=2144,z=10},
    }
    local keywordHandler = KeywordHandler:new()
    local npcHandler = NpcHandler:new(keywordHandler)
    NpcSystem.parseParameters(npcHandler)
    local talkState = {}                                                                                                                                                                                      
    function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
    function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
    function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
    function onThink() npcHandler:onThink() end
    function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
    return false
    end
    local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
    if(msgcontains(msg, 'travel')) then
    if getPlayerStorageValue(cid, 13595) - os.time() <= 0 then
    selfSay('Desculpa, você não tem acesso a area.',cid)
    return TRUE
    end
    talkState[talkUser] = 1
    selfSay("Bem-vindo!", cid)
    doTeleportThing(cid, config.pos1)
    
    elseif (msgcontains(msg, 'travel')) and talkState[talkUser] == 1  then
    if doPlayerRemoveMoney(cid, price)==true then
    doTeleportThing(cid, config.pos1)
    else
    return selfSay('Você não tem dinheiro para se teleportar.',cid)
    end
    end
    return true
    end
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())
    

     

    Data/npc.xml

    <?xml version="1.0"?>
    <npc name="Bastown" script="data/npc/scripts/npc" access="3" lookdir="1">
    <health now="1" max="1"/>
    <look type="57" head="20" body="30" legs="40" feet="50" corpse="3128"/>
    </npc>
    

     

    Obs: Deve ter muita coisa desnecessaria na scrip (eu acho),

    não entendemos mto de script, mais ta ai o resultado.

     

    @Atualização

    Conversation Log:

    Hi

    Travel

     

    "Se tiver storage irá teleportar e falar bem-vindo"

    "Se falar travel e não tiver storagedará acesso negado."

     

     

    Creditos:

     

    Harpia look / 60%

     

    Esaus / 40%

  9. Vá ao amulet no items.xml

    e adicione os seguintes keys:

     

    Def contra energia + Value = Porcentagem

    <attribute key="absorbPercentEnergy" value="10" />

    Def contra fisico + Value = Porcentagem

    <attribute key="absorbPercentPhysical" value="10" />

    Def contra Sagrado + Value = Porcentagem

    <attribute key="absorbPercentHoly" value="10" />

    Def contra fogo + Value = Porcentagem

    <attribute key="absorbPercentFire" value="10" />

    Def contra gelo + Value = Porcentagem

    <attribute key="absorbPercentIce" value="10" />

    Def contra morte + Value = Porcentagem

    <attribute key="absorbPercentDeath" value="10" />

     

    -----------------------------------------------------------------------------------------

     

    Adc em axe + Value = Pontos

    <attribute key="skillAxe" value="4" />

     

    Adc em Sword + Value = Pontos

    <attribute key="skillSword" value="4" />

     

    Adc em Club + Value = Pontos

    <attribute key="skillClub" value="4" />

     

    Adc em Distance + Value = Pontos

    <attribute key="skillDist" value="4" />

     

    Adc em Shielding + Value = Pontos

    <attribute key="skillShield" value="2" />

     

    Adc em Shielding + Value = Pontos

    <attribute key="magiclevelpoints" value="2" />

  10. function onUse(cid, storage, fromPosition, toPosition)
    
    local teleport = {x=100, y=54, z=7} -- Coordenadas para onde o player irá ser teleportado.
    local Storage_id = 2195 -- ID do item que o player precisa para ser teleportado.
    
    if getPlayerStorage(cid,Storage_id) == 2195 then
    	doTeleportThing(cid, teleport)
    	doSendMagicEffect(getPlayerPosition(cid), 10)
    	doPlayerSendTextMessage(cid, 22, "Ok, let's go! You are permision  for make this teleport!")
    	else
    	doPlayerSendTextMessage(cid, 23, "Sorry, you need a permission to enter")
    	end
    end

     

    .-. TENTA DNV até nos conseguirmos.

     

    esse é diferente ;-; vc coloca isso na pasta actions/scripts/arquivo.lua

     

    dai dps vc coloca em actions.xml

     

    <action actionid="2195" event="script" value="arquivo.lua"/>
    

     

    dai tipo vai no rme escolhe uma estatua e coloca o actionid nela

    dai ela vai teleporta quando tiver item.

  11. Hm tente esse

     

    local keywordHandler = KeywordHandler:new()
    local npcHandler = NpcHandler:new(keywordHandler)
    NpcSystem.parseParameters(npcHandler)
    
    function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
    function onCreatureDisappear(cid)  npcHandler:onCreatureDisappear(cid) end
    function onCreatureSay(cid, type, msg)  npcHandler:onCreatureSay(cid, type, msg) end
    function onThink()  npcHandler:onThink() end
    
    function oracle(cid, message, keywords, parameters, node)
    if(not npcHandler:isFocused(cid)) then
    return false
    end
    
    local cityNode = node:getParent():getParent()
    local vocNode = node:getParent()
    
    local destination = cityNode:getParameters().destination
    local town = cityNode:getParameters().town
    local vocation = vocNode:getParameters().vocation
    
    if(destination ~= nil and vocation ~= nil and town ~= nil) then
    if(getPlayerStorage(cid) =  7714 then
    npcHandler:say('Only permited players ' .. parameters.level .. '!', cid)
    else
    doPlayerSetStorage(cid, storage)
    doPlayerSetTown(cid, town)
    else
    doTeleportThing(cid, destination)
    Setdestination(cid, storage) = town = 1, destination = {x=469, y=172, z=7}
    doSendMagicEffect(destination, CONST_ME_MAGIC_BLUE)
    end
    	end
    end
    npcHandler:resetNpc()
    return true
    end
    
    function greetCallback(cid)
    if(getPlayerLevel(cid) < 8) then
    npcHandler:say('COME BACK WHEN YOU GROW UP, CHILD!')
    return false
    else
    return true
    end
    end
    
    

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...