Postado Julho 16, 2015 9 anos queria colocar exausting nesse spells, não pelo xml e sim pelo script mesmo..... 10seg. Rep+ se para quem me ajudar local condition = createConditionObject(CONDITION_FREEZING) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 1, 15000, 0) setCombatCondition(combat, condition) local tempo = 10 -- tempo em segundos. local ml = 15 -- quantos ira aumentar o skill de ML local skillfist = 15 -- quantos ira aumentar o skill de Fist local skillsword = 15 -- quantos ira aumentar o skill de Sword local skillaxe = 15 -- quantos ira aumentar o skill de Axe local skillclub = 15 -- quantos ira aumentar o skill de Club local skilldistance = 15 -- quantos ira aumentar o skill de Distance local skillshield = 80 -- quantos ira aumentar o skill de Shield local health = 50 -- 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) function a1(cid) local pos = getPlayerPosition(cid) pos.x=pos.x+2 pos.y=pos.y doSendMagicEffect(pos,117) end function a2(cid) doCreatureAddHealth(cid,-getCreatureMaxHealth(cid)+getCreatureMaxHealth(cid)/3) doRemoveCondition(cid,CONDITION_FREEZING) end function a3(cid) if isPlayer(cid) then doPlayerSay(cid, '', TALKTYPE_ORANGE_1) end if isCreature(cid) then end doSendMagicEffect(getPlayerPosition(cid),109) doPlayerSay(cid, '', TALKTYPE_ORANGE_1) doAddCondition(cid,condition) addEvent(a1,0,cid) addEvent(a1,500,cid) addEvent(a1,900,cid) addEvent(a1,1300,cid) addEvent(a1,1700,cid) addEvent(a1,2100,cid) addEvent(a1,2500,cid) addEvent(a1,2900,cid) addEvent(a1,3100,cid) addEvent(a1,3500,cid) addEvent(a1,3900,cid) addEvent(a1,4300,cid) addEvent(a1,4700,cid) addEvent(a1,5100,cid) addEvent(a1,5500,cid) addEvent(a1,5900,cid) addEvent(a1,6300,cid) addEvent(a1,6700,cid) addEvent(a1,7100,cid) addEvent(a1,7500,cid) addEvent(a1,7900,cid) addEvent(a1,8300,cid) addEvent(a1,8700,cid) addEvent(a1,9100,cid) addEvent(a1,9500,cid) addEvent(a2,9900,cid) end function onCastSpell(cid, var) doCombat(cid, combat, var) a3(cid) return true end
Postado Julho 16, 2015 9 anos Se vc quinzer cooldown ta ae é quase msm coisa: Logo após: function onCastSpell(cid, var) Adicione: if getPlayerStorageValue(cid, cooldownStorage) > os.time() thendoPlayerSendCancel(cid, "You are exhausted.")return trueelsesetPlayerStorageValue(cid, cooldownStorage, (os.time()+cooldownSeconds))end E no começo to arquivo, no começo mesmo, de dois enter, e atrás dos dois enter, adicione isso: local cooldownSeconds = 5local cooldownStorage = 6541 Nisso /\, você configura o tempo de cooldown que a spell irá dar: 5 segundos que está configurado. E a storage do cooldown, caso queira um cooldown diferente para cada magia, mude o cooldownStorage para outro valor sempre para cada magia. Exemplo: local cooldownSeconds = 5 local cooldownStorage = 6541 local tempo = 30 local effect = {175} local health = 1000 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) 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 magicEffect10(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) if getPlayerStorageValue(cid, cooldownStorage) > os.time() then doPlayerSendCancel(cid, "You are exhausted.") return true else setPlayerStorageValue(cid, cooldownStorage, (os.time()+cooldownSeconds)) end 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(magicEffect10, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) else doPlayerSendCancel(cid, "A magia está sendo usada!") end end Palavras de Snowsz. creditos: Snowsz Editado Julho 16, 2015 9 anos por xADMx (veja o histórico de edições) Se ti ajudei. Marque como Melhor Resposta e agradeça com um Rep+, clicando em Gostei!. Obrigado!
Postado Julho 16, 2015 9 anos Autor não funcionou, ainda continua usando spells sem exaust Editado Julho 16, 2015 9 anos por alisonrenna (veja o histórico de edições)
Postado Julho 16, 2015 9 anos testa: local condition = createConditionObject(CONDITION_FREEZING) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 1, 15000, 0) setCombatCondition(combat, condition) local cooldownSeconds = 100 local cooldownStorage = 6541 local tempo = 10 -- tempo em segundos. local ml = 15 -- quantos ira aumentar o skill de ML local skillfist = 15 -- quantos ira aumentar o skill de Fist local skillsword = 15 -- quantos ira aumentar o skill de Sword local skillaxe = 15 -- quantos ira aumentar o skill de Axe local skillclub = 15 -- quantos ira aumentar o skill de Club local skilldistance = 15 -- quantos ira aumentar o skill de Distance local skillshield = 80 -- quantos ira aumentar o skill de Shield local health = 50 -- 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) function a1(cid) local pos = getPlayerPosition(cid) pos.x=pos.x+2 pos.y=pos.y doSendMagicEffect(pos,117) end function a2(cid) doCreatureAddHealth(cid,-getCreatureMaxHealth(cid)+getCreatureMaxHealth(cid)/3) doRemoveCondition(cid,CONDITION_FREEZING) end function a3(cid) if isPlayer(cid) then doPlayerSay(cid, '', TALKTYPE_ORANGE_1) end if isCreature(cid) then end doSendMagicEffect(getPlayerPosition(cid),109) doPlayerSay(cid, '', TALKTYPE_ORANGE_1) doAddCondition(cid,condition) addEvent(a1,0,cid) addEvent(a1,500,cid) addEvent(a1,900,cid) addEvent(a1,1300,cid) addEvent(a1,1700,cid) addEvent(a1,2100,cid) addEvent(a1,2500,cid) addEvent(a1,2900,cid) addEvent(a1,3100,cid) addEvent(a1,3500,cid) addEvent(a1,3900,cid) addEvent(a1,4300,cid) addEvent(a1,4700,cid) addEvent(a1,5100,cid) addEvent(a1,5500,cid) addEvent(a1,5900,cid) addEvent(a1,6300,cid) addEvent(a1,6700,cid) addEvent(a1,7100,cid) addEvent(a1,7500,cid) addEvent(a1,7900,cid) addEvent(a1,8300,cid) addEvent(a1,8700,cid) addEvent(a1,9100,cid) addEvent(a1,9500,cid) addEvent(a2,9900,cid) end function onCastSpell(cid, var) if getPlayerStorageValue(cid, cooldownStorage) > os.time() then doPlayerSendCancel(cid, "You are exhausted.") return true else setPlayerStorageValue(cid, cooldownStorage, (os.time()+cooldownSeconds)) end doCombat(cid, combat, var) a3(cid) return true end e dis se da algum erro. Se ti ajudei. Marque como Melhor Resposta e agradeça com um Rep+, clicando em Gostei!. Obrigado!
Postado Julho 16, 2015 9 anos Autor não aparece erro porem não dar exaust :/ meu xml <instant name="susanou" exhnr="14" exhaustionall="1000" words="susanou" needlearn="0" direction="1" aggressive="1" lvl="250" maglv="110" mana="10000" soul="0" exhaustion="1000" prem="1" enabled="1" script="itachi/susanou.lua"><vocation id="71-80"/><vocation id="120"/><vocation id="71-80"/><vocation id="114-119"/><vocation id="105-106"/></instant>
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.