Ir para conteúdo
  • 0
eliaspalermo

suporte scripts Preciso de Potion instantâneo.

Pergunta

Versão do Servidor: TFS - 1.0
Tipo de Script: actions
Código:

      
  	
    

Olá Boa noite.

Queria que esses potions recuperassem instantaneamente e tivessem um delay de 10 segundos de uso. Se alguém puder me ajudar ><

Citar

function doHealOverTime(cid, div, turn, effect)                     --alterado v2.6 peguem o script todo!!
if not isCreature(cid) then return true end

if turn <= 0 or (getCreatureHealth(cid) == getCreatureMaxHealth(cid)) or getPlayerStorageValue(cid, 173) <= 0 then 
   setPlayerStorageValue(cid, 173, -1)
   return true 
end

local d = div / 10000
local amount = math.floor(getCreatureMaxHealth(cid) * d)
doCreatureAddHealth(cid, amount)
if math.floor(turn/10) == turn/10 then
   doSendMagicEffect(getThingPos(cid), effect)
end
addEvent(doHealOverTime, 100, cid, div, turn - 1, effect)
end

local potions = {
[12347] = {effect = 13, div = 15}, --Small Recovery
[12348] = {effect = 13, div = 30}, --Medium Recovery              
[12346] = {effect = 12, div = 60}, --Large Recovery
[12345] = {effect = 14, div = 100}, --Super Recovery
}

function onUse(cid, item, frompos, item2, topos)
local pid = getThingFromPosWithProtect(topos)

if getCreatureMaster(pid) ~= cid then
return doPlayerSendCancel(cid, "Recovery e compativel apenas com o Digimon!")
end

if getCreatureHealth(pid) == getCreatureMaxHealth(pid) then
return doPlayerSendCancel(cid, "Este Digimon ja esta com a vida totalmente cheia.")
end

if getPlayerStorageValue(pid, 173) >= 1 then
return doPlayerSendCancel(cid, "Este Digimon ja esta sob uso do Recovery.")
end

if getPlayerStorageValue(cid, 52481) >= 1 then
return doPlayerSendCancel(cid, "Voce nao pode usar Potion quando estiver no duelo.")
end
 
doCreatureSay(cid, ""..getCreatureName(pid)..", Pegue o Recovery!", TALKTYPE_SAY)
doSendMagicEffect(getThingPos(pid), 0)
setPlayerStorageValue(pid, 173, 1)
doRemoveItem(item.uid, 1)

local a = potions[item.itemid]
doHealOverTime(pid, a.div, 100, a.effect)
doSendAnimatedText(getThingPos(item2.uid), "RECOVERY!", 205)

return true
end

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
function doHealOverTime(cid, div, turn, effect)                    


		
if not isCreature(cid) then return true end

if turn <= 0 or (getCreatureHealth(cid) == getCreatureMaxHealth(cid)) or getPlayerStorageValue(cid, 173) <= 0 then 
   setPlayerStorageValue(cid, 173, -1)
   return true 
end

local d = div / 10000
local amount = math.floor(getCreatureMaxHealth(cid) * d)
doCreatureAddHealth(cid, amount)
if math.floor(turn/10) == turn/10 then
   doSendMagicEffect(getThingPos(cid), effect)
end
addEvent(doHealOverTime, 100, cid, div, turn - 1, effect)
end

local potions = {
[12347] = {effect = 13, div = 30}, --super potion
[12348] = {effect = 13, div = 60}, --great potion              
[12346] = {effect = 12, div = 80}, --ultra potion
[12345] = {effect = 14, div = 90}, --hyper potion
[12343] = {effect = 14, div = 110}, --full restore
}

function onUse(cid, item, frompos, item2, topos)
local pid = getThingFromPosWithProtect(topos)

if not isSummon(pid) or getCreatureMaster(pid) ~= cid then
return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!")
end

if getCreatureHealth(pid) == getCreatureMaxHealth(pid) then
return doPlayerSendCancel(cid, "This pokemon is already at full health.")
end

if getPlayerStorageValue(pid, 173) >= 1 then
return doPlayerSendCancel(cid, "This pokemon is already under effects of potions.")
end

if getPlayerStorageValue(cid, 52481) >= 1 then
return doPlayerSendCancel(cid, "You can't do that while a duel.")
end

if getPlayerStorageValue(cid, 990) >= 1 then
   doPlayerSendCancel(cid, "You can't use rpotion during gym battles.")
   return true
end



local cd = {
cdtime = 30, -- TEMPO EM SEGUNDO PARA PODER USAR O ITEM 30 = 30 SEGUNDOS !
str = 69889, -- NÃO MEXA
}
if getPlayerStorageValue(cid, cd.str) < os.time() then
doCreatureSay(cid, "".. getCreatureName(pid)..", take this potion!", TALKTYPE_MONSTER)
doSendMagicEffect(getThingPos(pid), 0)
setPlayerStorageValue(cid, cd.str, os.time() + cd.cdtime)
setPlayerStorageValue(pid, 173, 1)
doRemoveItem(item.uid, 1)

local a = potions[item.itemid]
doHealOverTime(pid, a.div, 100, a.effect)

elseif getPlayerStorageValue(cid, cd.str) >= os.time() then
doPlayerSendCancel(cid, "espere para usar novamente")

return true
end
end

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
3 horas atrás, Kuro o Shiniga disse:
function doHealOverTime(cid, div, turn, effect)                    


		
if not isCreature(cid) then return true end

if turn <= 0 or (getCreatureHealth(cid) == getCreatureMaxHealth(cid)) or getPlayerStorageValue(cid, 173) <= 0 then 
   setPlayerStorageValue(cid, 173, -1)
   return true 
end

local d = div / 10000
local amount = math.floor(getCreatureMaxHealth(cid) * d)
doCreatureAddHealth(cid, amount)
if math.floor(turn/10) == turn/10 then
   doSendMagicEffect(getThingPos(cid), effect)
end
addEvent(doHealOverTime, 100, cid, div, turn - 1, effect)
end

local potions = {
[12347] = {effect = 13, div = 30}, --super potion
[12348] = {effect = 13, div = 60}, --great potion              
[12346] = {effect = 12, div = 80}, --ultra potion
[12345] = {effect = 14, div = 90}, --hyper potion
[12343] = {effect = 14, div = 110}, --full restore
}

function onUse(cid, item, frompos, item2, topos)
local pid = getThingFromPosWithProtect(topos)

if not isSummon(pid) or getCreatureMaster(pid) ~= cid then
return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!")
end

if getCreatureHealth(pid) == getCreatureMaxHealth(pid) then
return doPlayerSendCancel(cid, "This pokemon is already at full health.")
end

if getPlayerStorageValue(pid, 173) >= 1 then
return doPlayerSendCancel(cid, "This pokemon is already under effects of potions.")
end

if getPlayerStorageValue(cid, 52481) >= 1 then
return doPlayerSendCancel(cid, "You can't do that while a duel.")
end

if getPlayerStorageValue(cid, 990) >= 1 then
   doPlayerSendCancel(cid, "You can't use rpotion during gym battles.")
   return true
end



local cd = {
cdtime = 30, -- TEMPO EM SEGUNDO PARA PODER USAR O ITEM 30 = 30 SEGUNDOS !
str = 69889, -- NÃO MEXA
}
if getPlayerStorageValue(cid, cd.str) < os.time() then
doCreatureSay(cid, "".. getCreatureName(pid)..", take this potion!", TALKTYPE_MONSTER)
doSendMagicEffect(getThingPos(pid), 0)
setPlayerStorageValue(cid, cd.str, os.time() + cd.cdtime)
setPlayerStorageValue(pid, 173, 1)
doRemoveItem(item.uid, 1)

local a = potions[item.itemid]
doHealOverTime(pid, a.div, 100, a.effect)

elseif getPlayerStorageValue(cid, cd.str) >= os.time() then
doPlayerSendCancel(cid, "espere para usar novamente")

return true
end
end

 

Opa amigo obrigado, só que ainda não está curando instantaneamente e quando em batalha da lost heal e cancela a cura.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por alisonrenna
      Versão do Servidor: TFS - 0.4 Tipo de Script: actions Código: Queria ajuda de vcs para uma quest, como séria essa quest ?
      Bem ela e no estilo anihi só que até 6 player, e se um player só quiser fazer, que seja possível ir de um player, e que na quest summon só um monster, e que ela seja possível fazer em 24/24h no caso se um player quiser fazer todo dia, seja possível
    • Por boxxer321
      Versão do Servidor: TFS - 0.3.5 Tipo de Script: creaturescript Código: Galera, cá estou eu mais uma vez por conta desse addon system kkk
      o problema é o seguinte: 
      assim que voce entra em RIDE, FLY ou SURF, voce continua tendo acesso a janela do "set outfit" como a imagem abaixo, e quando voce troca o seu addon do pokémon durante o ride. fly etc, o do player troca junto...
      Queria saber se tem alguma forma de por um exhausted caso o player esteja em FLY, RIDE E SURF, na hora de tentar trocar o addon.
       
      Imagens do erro:

       
      Após a contra:

       
      vou deixar meu creaturescrips/addon.lua e meu lib/order.lua, caso precisem.
       
      addon.lua
      Please login or register to see this spoiler.
       
    • Por duflex
      Versão do Servidor: TFS - 0.3.4 Tipo de Script: monster Código: Bug nos Status do pokemon 
       
      Base: DXP
       
      Não consigo ajustar a força dos pokemons (adequadamente)  Usando o charizard de exemplo, o magma storm dele da 6k de dano (o hit basico ja diminui pra 200 e pouco) 
       
      ['Charizard'] = {offense = 2, defense = 9, specialattack = 7, life = 3700, vitality = 8, agility = 210, exp = 210, level = 80, wildLvl = 70, type = 'fire', type2 = 'flying'}, 
       
      Nota: ja abaixei o specialattack pra 0, pra 1, e nada .... o attack continua dando 1k pra cima 
       
      spells dele : 
       
      ["Charizard"] =  {move1 = {name = "Ember", level = 80, cd = 10, dist = 10, target = 1, f = 42, t = "fire"},
                move2 = {name = "Flamethrower", level = 80, cd = 20, dist = 1, target = 0, f = 80, t = "fire"},
                move3 = {name = "Fireball", level = 80, cd = 25, dist = 10, target = 1, f = 75, t = "fire"},
                move4 = {name = "Fire Fang", level = 80, cd = 20, dist = 1, target = 1, f = 65, t = "fire"},
                move5 = {name = "Raging Blast", level = 80, cd = 35, dist = 1, target = 0, f = 100, t = "fire"},
                move6 = {name = "Fire Blast", level = 80, cd = 60, dist = 1, target = 0, f = 115, t = "fire"},
                move7 = {name = "Air Slash", level = 83, cd = 40, dist = 1, target = 0, f = 100, t = "flying"},
                move8 = {name = "Wing Attack", level = 85, cd = 35, dist = 1, target = 0, f = 75, t = "flying"},
                move9 = {name = "Magma Storm", level = 90, cd = 90, dist = 1, target = 0, f = 150, t = "fire"},
                move10 = {name = "Scary Face", level = 82, cd = 50, dist = 1, target = 0, f = 0, t = "ghost"},
                move11 = {name = "Rage", level = 80, cd = 40, dist = 1, target = 0, f = 0, t = "dragon"},
                move12 = {name = "Mega - Charizard", level = 1, cd = 0, dist = 10, target = 0, f = 50, t = "ground", mega = 1},
               },
       
      Nota2:Ja abaixei o f pra 0 e nada também
    • Por vinicius231
      Versão do Servidor: TFS - 0.3.5 Tipo de Script: talkaction Código: Olá Pessoal do Xtibia De boaz?  


        Eu Gostaria de uma script ou seja la como e   

      Que Players Free poderia usar o comando !teleport mas somente para as cidades frees como Cerulean , Saffron , Cinnabar entre outras

      Mas não podendo acessar a area vip  

      ❤️ Quem poder ajudar agradeço  ❤️ 
    • Por Fawkzz12
      Versão do Servidor: TFS - 1.0 Tipo de Script: actions Código: Não sei se aqui é o lugar..
      Mas quando vou tentar me cadastrar com o facebook no otservlist.com ele da erro ao autenticar com o facebook 
       

      Please login or register to see this attachment.
×