Comparte
Ver el tema anteriorIr abajoVer el tema siguiente
avatar
Administrador
Mensajes Mensajes : 350
Ver perfil de usuariohttp://www.othispano.net

[Action] ManaRune Configurable.

el Jue Mayo 17, 2012 10:36 am
Reputación del mensaje :100% (1 voto)
Bien, esta es una mana rune con la cual pueden usar formula de level sola o ml sola, o las 2 juntas, o con un limite (entre numero y numero)
Fue hecha por un request de god rakzoo
Vamos a usar las runes con itemIDs:
2263 = Para sorcerer
2267 = Para Druid
2270 = Para pally
2272 = Para knight

data/actions/actions.xml

Código:
<action itemid="2263;2267;2270;2272" event="script" value="manar.lua"/>

data/actions/scripts/manar.lua
Código:
local exhausted = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhausted, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

local t = {
[2263] = {vocation = 1, level = 50, magic_level = 60, min = 500, max = 1000, voc = 5},
[2267] = {vocation = 2, level = 50, magic_level = 60, min = 500, max = 1000, voc = 6},
[2270] = {vocation = 3, level = 50, magic_level = 15, min = 250, max = 500, voc = 7},
[2272] = {vocation = 4, level = 40, magic_level = 5, min = 300, max = 600, voc = 8}
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
ppos = getPlayerPosition(cid)
local v = t[item.itemid]
      if v then
        if getPlayerLevel(cid) >= v.level then
            if getPlayerMagLevel(cid) >= v.magic_level then
              if isInArray({v.vocation,v.voc},getPlayerVocation(cid)) then
              doPlayerAddMana(cid,math.random(v.min, v.max))
           doSendMagicEffect(ppos,CONST_ME_MAGIC_BLUE)
           doAddCondition(cid, exhausted)
           doSendAnimatedText(ppos, "Mana rune!", math.random(1,100))
            else
                doPlayerSendCancel(cid,"Esta runa no es de tu vocation")
            end
        else
            doPlayerSendCancel(cid,"No tienes el magic level requerido")
        end
      else
          doPlayerSendCancel(cid,"No tienes el level requerido")
      end
if hasCondition(cid, CONDITION_EXHAUST_HEAL) then
      return doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
      end
if not isPlayer(itemEx.uid) then
      return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
   end
return true
end
end

Son 4 manarunes en un file.
Con este file, las mrs tendran todas un limite entre minimo y maximo de cada una Razz

Con este otro, seran las mismas runas, pero con formulas de level y/o magic level Smile
Código:
local exhausted = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhausted, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

local t = {
[2263] = {vocation = 1, level = 50, magic_level = 60, voc = 5},
[2267] = {vocation = 2, level = 50, magic_level = 60, voc = 6},
[2270] = {vocation = 3, level = 50, magic_level = 15, voc = 7},
[2272] = {vocation = 4, level = 40, magic_level = 5, voc = 8}
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
mlmin = getPlayerMagLevel(cid)*2
mlmax = getPlayerMagLevel(cid)*3
lvlmin = getPlayerLevel(cid)*2
lvlmax = getPlayerLevel(cid)*3
ppos = getPlayerPosition(cid)
local v = t[item.itemid]
      if v then
        if getPlayerLevel(cid) >= v.level then
            if getPlayerMagLevel(cid) >= v.magic_level then
              if isInArray({v.vocation, v.voc},getPlayerVocation(cid)) then
              doPlayerAddMana(cid,math.random(mlmin, mlmax) + math.random(lvlmin, lvlmax))
           doSendMagicEffect(ppos,CONST_ME_MAGIC_BLUE)
           doAddCondition(cid, exhausted)
           doSendAnimatedText(ppos, "Mana rune!", math.random(1,100))
            else
                doPlayerSendCancel(cid,"Esta runa no es de tu vocation")
            end
        else
            doPlayerSendCancel(cid,"No tienes el magic level requerido")
        end
      else
          doPlayerSendCancel(cid,"No tienes el level requerido")
      end
if hasCondition(cid, CONDITION_EXHAUST_HEAL) then
      return doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
      end
if not isPlayer(itemEx.uid) then
      return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
   end
return true
end
end

Como edito?
Código:
[2263] = {vocation = 1, level = 50, magic_level = 60, min = 500, max = 1000, voc = 5},

vocation 1 = Sorc, que level? que magic level? Minimo que va a curar, maximo que va a curar?
Si tienes el otro file es lo mismo pero sin min y max Very Happy

Ahora como edito las formulas?
mlmin = getPlayerMagLevel(cid)*2
mlmax = getPlayerMagLevel(cid)*3
lvlmin = getPlayerLevel(cid)*2
lvlmax = getPlayerLevel(cid)*3

mlmin = El minimo de mana que se puede ganar, la formula sera el maglevel del player*2
(Pueden hacer como quieran, (*algo, /algo, +algo)
mlmax = Lo mismo pero el maximo
lvlmin = El minimo de mana que se puede ganar por formula de level,
lvlmax = Lo mismo

(Las formulas pueden ir separadas o juntas, andara de todos modos!)
Disfruten Very Happy

[b]Quieren hacerla una UH en vez de una MR?


Nada mas cambien en el script, esta linea:
Código:
doPlayerAddMana(cid,math.random(mlmin, mlmax) + math.random(lvlmin, lvlmax))
Por esta:
Código:
doCreatureAddHealth(cid,math.random(mlmin, mlmax) + math.random(lvlmin, lvlmax))

Y esta:
Código:
doSendAnimatedText(ppos, "Mana rune!", math.random(1,100))
Por esta:
Código:
doSendAnimatedText(ppos, "UH!", math.random(1,100))

Y listo.
avatar
Moderador
Mensajes Mensajes : 312
Ver perfil de usuariohttp://www.otsuporter.com/

Re: [Action] ManaRune Configurable.

el Jue Mayo 17, 2012 2:22 pm
esta chida he se me ocurre que me servira un buen para el REO

__________________________________________________
avatar
Aportador
Mensajes Mensajes : 233
Ver perfil de usuario

Re: [Action] ManaRune Configurable.

el Jue Mayo 17, 2012 4:23 pm
Bien Very Happy
Contenido patrocinado

Re: [Action] ManaRune Configurable.

Ver el tema anteriorVolver arribaVer el tema siguiente
Permisos de este foro:
No puedes responder a temas en este foro.