Pesquisar na Comunidade
Mostrando resultados para as tags ''buff''.
Encontrado 5 registros
-
Bem, para quem joga outros jogos já devem conhecer, ao dar a magia, o player buffa todo sua PT. Esse buff da uma PORCENTAGEM de HP e SHIELD conforme os status de cada player... ex: o Fulano tem 2000 de health e 50 de shield, com o buff ele ficará com 2400 de health e 70 de shield durante 5 segundos caso seja configurado com 20% e 5 segundos de tempo... Primeiramente vá em data/creaturescript/scripts/login.lua e adicione: if ((getPlayerStorageValue(cid, 99971)) > 1) then setCreatureMaxHealth(cid,getCreatureMaxHealth(cid) - getPlayerStorageValue(cid, 99971)) doPlayerSetStorageValue(cid, 99971, 0) doCreatureAddHealth(cid, 1) doCreatureAddHealth(cid, -1) end Abra o data/spells/spells.xml e adicione a seguinte tag: <instant name="HPDEF Party" words="utito mas hpdef" lvl="32" mana="60" prem="1" aggressive="0" selftarget="1" needlearn="0" event="script" value="party/hpdef.lua"> <vocation id="8"/> </instant> Crie um arquivo dentro da pasta data/spells/scripts/party/ com o nome hpdef.lua e cole o código: local combat = createCombatObject()local area = createCombatArea(AREA_CROSS5X5)setCombatArea(combat, area)setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)local config = {cooldown = 15, -- tempo entre uma magia e outratempo = 5, -- tempo em segundos que ficará com o buffporcentohp = 100, --- porcentagem da vida que vai addporcentoshield = 100, --- porcentagem da vida que vai addstorage = 45382, -- storage do tempo strlife = 99971, -- storage da vida tempoparaacabar = 10,baseMana = 90,hardcoreManaSpent = getConfigValue("addManaSpentInPvPZone")}function onCastSpell(cid, var) local pos, membersList = getCreaturePosition(cid), getPartyMembers(cid) if(membersList == nil or type(membersList) ~= 'table' or table.maxn(membersList) <= 1) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE) doSendMagicEffect(pos, CONST_ME_POFF) return false end local affectedList = {} for _, pid in ipairs(membersList) do if(getDistanceBetween(getCreaturePosition(pid), pos) <= 36) then table.insert(affectedList, pid) end end local tmp = table.maxn(affectedList) if(tmp <= 1) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE) doSendMagicEffect(pos, CONST_ME_POFF) return false end local mana = math.ceil((0.9 ^ (tmp - 1) * config.baseMana) * tmp) if(getCreatureMana(cid) < mana) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHMANA) doSendMagicEffect(pos, CONST_ME_POFF) return false end if(not doCombat(cid, combat, var)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) doSendMagicEffect(pos, CONST_ME_POFF) return false end doCreatureAddMana(cid, -(mana - config.baseMana), false) if(not getPlayerFlagValue(cid, PlayerFlag_NotGainMana) and (not getTileInfo(getThingPosition(cid)).hardcore or config.hardcoreManaSpent)) then doPlayerAddSpentMana(cid, (mana - config.baseMana)) end for _, pid in ipairs(affectedList) do if os.time() - getPlayerStorageValue(pid, config.storage) >= config.cooldown thenlocal lifeMAX = math.ceil(getCreatureMaxHealth(pid) * (config.porcentohp)/100)local ShieldMAX = math.ceil(getPlayerSkill(pid, 5) * (config.porcentoshield)/100) --- add % shieldlocal condition = createConditionObject(CONDITION_ATTRIBUTES)setConditionParam(condition, CONDITION_PARAM_SUBID, 2)setConditionParam(condition, CONDITION_PARAM_BUFF, true)setConditionParam(condition, CONDITION_PARAM_TICKS, 1000* config.tempoparaacabar)setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, ShieldMAX) ------ --- add % hp ----addEvent(function() if isCreature(pid) then local pos = getPlayerPosition(pid) doAddCondition(pid, condition) setCreatureMaxHealth(pid,getCreatureMaxHealth(pid)+lifeMAX) doPlayerSetStorageValue(pid, config.strlife, lifeMAX) doCreatureAddHealth(pid, 1) doCreatureAddHealth(pid, -1) doSendAnimatedText(pos, "+"..lifeMAX , TEXTCOLOR_GREEN) doSendAnimatedText(pos, "+"..ShieldMAX , TEXTCOLOR_YELLOW) endend, 1* 1) -- instantaneo --------- --- remove hp ---- addEvent(function() if isCreature(pid) then local pos = getPlayerPosition(pid) setCreatureMaxHealth(pid,getCreatureMaxHealth(pid) - lifeMAX) doPlayerSetStorageValue(pid, config.strlife, 0) doCreatureAddHealth(pid, 1) doCreatureAddHealth(pid, -1) doSendAnimatedText(pos, "-"..lifeMAX , TEXTCOLOR_GREEN) doSendAnimatedText(pos, "-"..ShieldMAX , TEXTCOLOR_YELLOW) endend, 1000* config.tempoparaacabar) doPlayerSetStorageValue(pid, config.strlife, 0)doPlayerSetStorageValue(pid, config.storage, os.time())elsedoPlayerSendCancel(pid, "Aguardem "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storage))).." segundos para usarnovamente.")end end return trueend Acho que é isso! estou procurando algum servidor para ajudar, se alguém precisar... um grande abraço!
-
Olá galerinha, Suave? Hoje eu vim pedir a vocês para colocar uma formula de MagicLevel nesta Spell: e nesta próxima Spell gostaria que adicionassem um 'BUFF', está spell e como a 'utura' ou 'utura gran' ela heala aos poucos só que quando o jogador se mover e ela estiver ativada o 'BUFF' desativa a spell e manda a mensagem 'utura foi desativada'. [spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF_SPELL, 1) setConditionParam(condition, CONDITION_PARAM_TICKS, 20 * 1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, 200) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end *Então é isso espero que me ajudem e agradeço desde já a intenção e a força de vontade.
- 1 resposta
-
- buff
- magiclevel
-
(e 2 mais)
Tags:
-
Eae galera, muitos devem saber, que no narutibia, existem as buffs, para todos os personagens, cada uma com seu efeito, e eu gostaria, de colocar dois efeitos ao mesmo tempo, em apenas uma buff, vou postar aqui o script para voces verem, e tentar me ajudar... local tempo = 60 -- tempo em segundos. local effect = {221} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 150 -- quantos ira aumentar o skill de ML local skillfist = 50 -- quantos ira aumentar o skill de Fist local skillsword = 50 -- quantos ira aumentar o skill de Sword local skillaxe = 50 -- quantos ira aumentar o skill de Axe local skillclub = 50 -- quantos ira aumentar o skill de Club local skilldistance = 50 -- quantos ira aumentar o skill de Distance local skillshield = 50 -- quantos ira aumentar o skill de Shield local health = 100 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 300) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect2244(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect) end end end end function onCastSpell(cid, var) local position127 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect2244, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "Susano", TALKTYPE_MONSTER) doSendMagicEffect(position127, 110) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end Então, esta ai o script da buff, e eu gostaria que ela tivesse 2 efeitos ao mesmo tempo, nesse script só tem 1, Rep+ pra quem ajudar!
-
Quero uma spell de buff que não pare de sair efeito em quanto estiver o tempo do buff...
-
Ola, gostaria que se alguém pudesse criar para mim uma spell que de buff em areá, por exemplo o player usa a spell e ai todos em sua volta ganhariam uma certa quantidade de hp, não precisa ser necessariamente hp, mais fazendo o script ta bom, eu entendo um pouco de scripts e posso editar, espero que tenham entendido. Obrigado, desde ja Lol boss