Ir para conteúdo
  • 0
eliaspalermo

suporte scripts Preciso de Potion instantâneo.

Pergunta

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.


  • Conteúdo Similar

    • Por MathhCunha
      Versão do Servidor: TFS - 0.4 Tipo de Script: talkaction Código: Please login or register to see this spoiler.
      Olá, eu utilizo esse script, só que ele esta com 2 erros, ele não mostra o MAGIC INCREASE e nem o PROTECTION (energy, physical, holy, earth, fire ..... = all)
       
      Para reduzir o tempo de todos:
       
      - Não aparece nenhum erro no console
      -Não tenho essas funções na minha sources (se precisar mexer, sei como compila)
      - Usei "print(increasemagic)" para ver qual o retorno no script (aparece 0 igual na foto)
       

       
      Aparece no default assim:

    • Por Olan trein
      Versão do Servidor: TFS - 0.3.4 Tipo de Script: spell Código: Please login or register to see this spoiler.
      Quero padronizar a cura.Por exemplo:
      O player lvl 500 cura 5k de life,sempre ira curar isso,mesmo que ele tenha com o life completo ou life baixo sempre vai curar a mesma quantia.
      O player lvl 200 cura 2k,pois é lvl mais baixo,ele sempre ira curar 2k.
      Quando sobe de lvl o player cura um pouco mais,por exemplo,o lvl 500 cura 5k,o lvl 501 cura 5050.
      Quero fazer a mesma coisa com o pokemon.
      Um player lvl 500 tem um alakazam.Esse alakazam sempre ira curar 5k de life,ae quando o player sobe de lvl,a cura aumenta tambem.
       
    • Por sisifos
      Versão do Servidor: TFS - 1.2 Tipo de Script: actions Código: Please login or register to see this spoiler.
      Boa tarde galera Xtibia, 
      Estou precisando de ajuda em um script de "item de outfit"
      Seria um item "present" e ao abrir, você ganharia uma outfit selecionada, porém seria registrada e você a não 
      perderia mesmo se trocasse, ou deslogasse o personagem, ou seja ficaria com a roupa para sempre, e também fosse possível trocar a cor da roupa do personagem,  e após usar o item, ele sumiria. 
      Agradeço muito pela atenção de todos!
    • Por Xblazzix
      Versão do Servidor: TFS - 0.3.4 Tipo de Script: monster Código: Please login or register to see this spoiler.
      Galera alguém me indica um Programa para compilar sprites , já uso o objectbuild, porem quero outro diferente para usar nas sprites que estou desenvolvendo, deis de já agradeço quem pode me ajudar ❤️
    • Por Kira Conquest
      Versão do Servidor: TFS - 0.4 Tipo de Script: talkaction Código: Please login or register to see this spoiler.
      Será que alguem pode me ajudar?
      Gostaria de uma talkaction que eu pudesse deletar todos os players da database com acces abaixo de 2 e menos o accoung manager,uso uma DB sqlite, e manualmente nao consigo deletar por causa das tabelas conectadas com foreign key, tenho uma talkaction que deleta playes mas apenas um por um.
×
×
  • Criar Novo...