Koring4 0 Postado Agosto 3, 2017 Share Postado Agosto 3, 2017 Olá, gostaria de por fazer um potion que cura por segundo (Exemplo: a potion dura 30 segundos e cada 2 segundos vai cura) eu consegui fazer isso mas não sei por pra cura a cada 2 segundos por durante 30 segundos Spoiler local config = { storage = 19030, --use empty storage exhaust = 35 --Exhaust is in seconds 600 equals 10min} function onUse(cid, item, fromPos, itemEx, toPos) if (getPlayerStorageValue(cid, config.storage) <= os.time()) then if (item.itemid == 7440) then doCreatureAddHealth(cid, 12*getCreatureMaxHealth(cid)/100) doPlayerAddMana(cid, 12*getPlayerMaxMana(cid)/100) doCreatureSay(cid, "Muahaha!",TALKTYPE_ORANGE_1) doSendMagicEffect(getPlayerPosition(cid),14) doPlayerAddSoul(cid,-1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, config.storage, os.time() + config.exhaust) end endend Link para o comentário https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/ Compartilhar em outros sites More sharing options...
2 Leoxtibia 137 Postado Agosto 4, 2017 Share Postado Agosto 4, 2017 Coloquei para curar o life e a mana, como tinha no seu script, mas não testei. Em actions/scripts: potionHpMp.lua Spoiler local t = {duration = 20, -- tempo de duração em segundosinterval = 2, -- intervalo para aumentar X hp/mphp = 30, -- quanto vai aumentar de hpmp = 20 -- quanto vai aumentar de mp}function onUse(cid, item, fromPosition, itemEx, toPosition) if(not isPlayer(itemEx.uid)) then return false end doRemoveItem(item.uid, 1) doCreatureSay(cid, "Muahaha!", TALKTYPE_ORANGE_1, cid) setPlayerStorageValue(cid, 14421, os.time() + t.duration) AddHpMp(cid)endfunction AddHpMp(cid) if isCreature(cid) and (getPlayerStorageValue(cid, 14421) - os.time() >= 0) then doCreatureAddHealth(cid, t.hp) doCreatureAddMana(cid, t.mp) end addEvent(AddHpMp, t.interval*1000, cid)end Em actions.xml: <action itemid="ID_DO_ITEM" script="potionHpMp.lua" /> Link para o comentário https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/#findComment-1720543 Compartilhar em outros sites More sharing options...
1 Poccnn 385 Postado Agosto 4, 2017 Share Postado Agosto 4, 2017 No meu servidor eu fiz ssse sistema. Citar local EMPTY_POTION,ITEM_POOL,LVL = 7635,2016,80 local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 1000) -- tempo 10 segundos setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, math.random(7,9)) -- quantidade de vida ganha por segundo setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 125) function onUse(cid, item, fromPosition, itemEx, toPosition) if(isPlayer(itemEx.uid) == true and itemEx.uid ~= cid)then return true,doPlayerSendCancel(cid,'Essa pocao so pode ser consumido por tu mesmo.') elseif((not(isKnight(itemEx.uid)) or getPlayerLevel(itemEx.uid) < LVL) and getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then return true,doCreatureSay(itemEx.uid, "esse pote so pode ser consumido por "..getVocationNameById(4).." e seu respectivo superior de level "..LVL.." ou mais.", TALKTYPE_ORANGE_1) elseif(isPlayer(itemEx.uid) == FALSE)then local splash = doCreateItem(ITEM_POOL,2,toPosition) doDecayItem(splash) doTransformItem(item.uid, EMPTY_POTION) return true end doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) if(getConfigInfo('useEventPotions'))then doAddCondition(cid, condition) else doCreatureAddHealth(cid,math.random(450,550)) end if(getConfigInfo('removepotions'))then doRemoveItem(item.uid, 1) else doTransformItem(item.uid,EMPTY_POTION)end return true end Adicione ao seu config.lua essa variável Citar useEventPotions = true Link para o comentário https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/#findComment-1720541 Compartilhar em outros sites More sharing options...
1 Leoxtibia 137 Postado Agosto 4, 2017 Share Postado Agosto 4, 2017 Substitua essa linha: doCreatureAddMana(cid, t.mp) por essa: doPlayerAddMana(cid, t.mp) Link para o comentário https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/#findComment-1720547 Compartilhar em outros sites More sharing options...
0 Koring4 0 Postado Agosto 4, 2017 Autor Share Postado Agosto 4, 2017 @Leoxtibia testei aqui, não da pra usar o item no jogo, não mostra nenhuma mensagem de erro. Link para o comentário https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/#findComment-1720544 Compartilhar em outros sites More sharing options...
0 Leoxtibia 137 Postado Agosto 4, 2017 Share Postado Agosto 4, 2017 10 minutos atrás, Koring4 disse: @Leoxtibia testei aqui, não da pra usar o item no jogo, não mostra nenhuma mensagem de erro. @Koring4 Qual item que você tá usando? Achei que fosse algo como um potion mesmo que você teria que usar no player. Se não for, apague essa parte: if(not isPlayer(itemEx.uid)) then return false end Link para o comentário https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/#findComment-1720545 Compartilhar em outros sites More sharing options...
0 Koring4 0 Postado Agosto 4, 2017 Autor Share Postado Agosto 4, 2017 @Leoxtibia deu esse erro Spoiler Link para o comentário https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/#findComment-1720546 Compartilhar em outros sites More sharing options...
0 Koring4 0 Postado Agosto 4, 2017 Autor Share Postado Agosto 4, 2017 (editado) @Leoxtibia Funciono valeu mesmo rep+ pra ti. (como faz pra dar rep+?) @Poccnn não consegui usa o teu mas valeu pela ajuda. Editado Agosto 4, 2017 por Koring4 Link para o comentário https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/#findComment-1720548 Compartilhar em outros sites More sharing options...
0 Leoxtibia 137 Postado Agosto 4, 2017 Share Postado Agosto 4, 2017 (editado) 12 minutos atrás, Koring4 disse: @Leoxtibia Funciono valeu mesmo rep+ pra ti. (como faz pra dar rep+?) @Poccnn não consegui usa o teu mas valeu pela ajuda. @Koring4 É só clicar ali na seta verde pra cima Editado Agosto 4, 2017 por Leoxtibia Link para o comentário https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/#findComment-1720549 Compartilhar em outros sites More sharing options...
0 Poccnn 385 Postado Agosto 4, 2017 Share Postado Agosto 4, 2017 A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico. Link para o comentário https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/#findComment-1720550 Compartilhar em outros sites More sharing options...
Pergunta
Koring4 0
Olá, gostaria de por fazer um potion que cura por segundo (Exemplo: a potion dura 30 segundos e cada 2 segundos vai cura)
eu consegui fazer isso mas não sei por pra cura a cada 2 segundos por durante 30 segundos
Link para o comentário
https://xtibia.com/forum/topic/245929-resolvido-potion-que-cura-por-segundo/Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados