BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

{pedido} Script boots recarga

{pedido} Script boots recarga

#1 {pedido} Script boots recarga el Vie Sep 26, 2014 8:44 am

Exanime


Miembro
Hola, quisera pedir una ayuda urgente por favor, he tratado de hacer un script donde me recargue cierto porcentaje de mana y sangre cada cierto tiempo peor no lo he logrado hacer, (el porcentaje va variando de acuerdo al maximo helath y sangre de cada porcentaje).

aqui va lo que ando haciendo, pero no me funciona, no da errores pero no funciona, no se en que ando mal, se los agradeceria unos consejos para temrinarlo, gracias.

Código:


  local exhausted_seconds = 2000
  local exhausted_storagevalue = 0
  local mana = getCreatureMaxMana(cid)
 
local sangre = getCreatureMaxHealth(cid)


local porcentaje_mana = math.random((mana * (getCreatureMana(cid)/100)), (mana * (getCreatureMana(cid)/100)))
local porcentaje_sangre = math.random((sangre * (getCreatureHealth(cid)/100)), (sangre * (getCreatureHealth(cid)/100)))

function onEquip(cid, item, slot)
 
      if(item.type >= 1) then
        if(os.time() > getPlayerStorageValue(cid, exhausted_storagevalue)) then
            if(isPlayer(cid) == 1) then
doSendMagicEffect(topos,12)
doCreatureAddHealth(cid,porcentaje_sangre)
doPlayerAddMana(cid,porcentaje_mana)
doPlayerSay(cid,"me recupere",1)
              setPlayerStorageValue(cid, exhausted_storagevalue, os.time() + exhausted_seconds)
              doChangeTypeItem(item.uid, item.type - 1)
            else
              doSendMagicEffect(frompos, CONST_ME_POFF)
              doPlayerSendCancel(cid, "You are exchausted.")
            end
        else
            doSendMagicEffect(frompos, CONST_ME_POFF)
            doPlayerSendCancel(cid, "You are exhausted.")
        end
      else
        if(os.time() < getPlayerStorageValue(cid, exhausted_storagevalue)) then
            doSendMagicEffect(frompos, CONST_ME_POFF)
            doPlayerSendCancel(cid, "You are exhausted.")
        else
            if(isPlayer(cid) == 1) then
doSendMagicEffect(topos,12)
              doPlayerAddMana(cid, porcentaje_mana)
                                        doPlayerAddHealth(cid, porcentaje_sangre*1.5)
doPlayerSay(cid,"I feel the best",1)
              setPlayerStorageValue(cid, exhausted_storagevalue, os.time() + exhausted_seconds)
              doRemoveItem(item.uid, 1)
            else
              doSendMagicEffect(frompos, CONST_ME_POFF)
              doPlayerSendCancel(cid, "You are exchausted.")
            end
        end
      end
 
  return 1
end
function onDeEquip(cid, item, slot)
local pos = getPlayerPosition(cid)
doSendMagicEffect(pos, 13)
doSendAnimatedText(pos, "Botas quitadas", 65)
end

Espero Su ayuda, Gracias

#2 Re: {pedido} Script boots recarga el Lun Sep 29, 2014 9:04 pm

Exanime


Miembro
@Bump

#3 Re: {pedido} Script boots recarga el Mar Sep 30, 2014 2:21 pm

God Remady


Miembro
Eres el que me contacto en *************** que queria unas botas que regeneraran un % de la mana y vida? XD

#4 Re: {pedido} Script boots recarga el Mar Sep 30, 2014 2:22 pm

God Remady


Miembro
En FB. De tibiaOt Scripts Service. Se me olvida que esta sensurada la palabra FB aqui. :s

#5 Re: {pedido} Script boots recarga el Vie Oct 24, 2014 6:55 am

Belerofonte


Administrador
Servidor/Data/Globalevents/... Globalevents.xml:
Código:
<globalevent name="regenerateBio" interval="3000" script="bioRegen.lua"/>

Servidor/Data/Globalevents/Scripts/... bioRegen.lua:
Código:
function onThink(interval)
  for _, name in ipairs(getOnlinePlayers()) do
  local a = {
    percent = 10, -- Tanto por ciento que curará de Mana/Vida, respecto a la Vida/Mana total del jugador.
    weaponID = 9931, -- ID del equipamento que desees.
    slot = CONST_SLOT_FEET, -- lugar que ocupará en el Set del jugador.
    lifeEffect = CONST_ME_MAGIC_GREEN, -- Término del Efecto Mágico que aparecerá al curar Vida.
    manaEffect = CONST_ME_MAGIC_BLUE, -- Término del Efecto Mágico que aparecerá al curar Mana.
    pid = getPlayerByName(name),
  }
  local b = {
    lifeCur = getCreatureHealth(a.pid),
    lifeMax = getCreatureMaxHealth(a.pid),
    manaCur = getCreatureMana(a.pid),
    manaMax = getCreatureMaxMana(a.pid),
  }
  local c = {
    lifePer = ((a.percent * b.lifeMax)/100),
    manaPer = ((a.percent * b.manaMax)/100),
    pos = getThingPos(a.pid),
  }
    if getPlayerSlotItem(a.pid, a.slot).itemid == a.weaponID then
        if b.lifeCur < b.lifeMax then
            doCreatureAddHealth(a.pid, c.lifePer)
            doSendMagicEffect(c.pos, a.lifeEffect)
        end
        if b.manaCur < b.manaMax then
            doCreatureAddMana(a.pid, c.manaPer)
            doSendMagicEffect(c.pos, a.manaEffect)
        end
    end
  end
  return true
end

Si por ejemplo en la variable "percent" le ponemos "10"...
Y el jugador posee 2992 de vida total, pues se le curará 299 cada vez.
Y el jugador posee 972 de mana total, pues se le curará 97 cada vez.

Comprobado con calculadora: Genius.
El 10% de 2992 es igual a 299,2.
El 10% de 972 es igual a 97,2.



O si por ejemplo en la variable "percent" le ponemos "28"...
Y el jugador posee 2992 de vida total, pues se le curará 837 cada vez.
Y el jugador posee 972 de mana total, pues se le curará 272 cada vez.

Comprobado con calculadora: Genius.
El 28% de 2992 es igual a 837,76.
El 28% de 972 es igual a 272,76.


Es decir, que a cada jugador le curará X de vida y X de mana dependiendo de sus totales.
Es lo que querías, ¿no?. Es que estoy algo inseguro pues nunca me he llevado bien con esto de los tantos por ciento xD


[Tienes que estar registrado y conectado para ver este vínculo] escribió:Hubieras usado un match.floor para obtener numeros redondeados xd y eso debio haber sido un movement para menos lag xD
Tal vez si el señorito se hubiese dignado a hacerlo a la primera, en vez de comentar lo del facebook bla bla bla...



Última edición por Belerofonte el Dom Oct 26, 2014 8:00 am, editado 1 vez



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#6 Re: {pedido} Script boots recarga el Sáb Oct 25, 2014 2:06 am

God Remady


Miembro
Hubieras usado un match.floor para obtener numeros redondeados xd y eso debio haber sido un movement para menos lag xD

Contenido patrocinado


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.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .