
fefuxd
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
fefuxd recebeu reputação de Vodkart em monstro morre todos players que atacaram recebem uma recompensada uma olhada nesse tópico
# link removido #
-
fefuxd recebeu reputação de Micheel15 em monstro morre todos players que atacaram recebem uma recompensada uma olhada nesse tópico
# link removido #
-
fefuxd recebeu reputação de robi123 em (Resolvido)Exhaust de magia UE interferindo no exhaust de runassim
-
fefuxd recebeu reputação de Vodkart em (Resolvido)Colocar mais de um item no bau de donateresolveu até meu problema que eu tava tendo de colocar itens com quantidades maiores (count)
-
fefuxd deu reputação a Vodkart em (Resolvido)Colocar mais de um item no bau de donateagora você pode adicionar quantos items quiser, só colocar {itemid, amount}
exemplo:
items = {{2173,1},{2160,10}}
ai para adicionar mais itens ficaria:
items = {{2173,1},{2160,10},{2494,1}}
-
fefuxd deu reputação a Vodkart em (Resolvido)Colocar mais de um item no bau de donatelocal coin = 6541 local lever = { [12323] = {amount = 8, items = {{2122,1}}}, [12324] = {amount = 2, items = {{9930,1}}}, [12325] = {amount = 2, items = {{2169,1}}}, [12326] = {amount = 10, items = {{2122,1},{2169,1},{9930,1}}}, [12327] = {amount = 2, items = {{7440,1}}}, [12328] = {amount = 2, items = {{7443,1}}}, [12329] = {amount = 2, items = {{7439,1}}} } function getItemsLevers(cid, items) local backpack = doPlayerAddItem(cid, 1999, 1) -- backpackID for _, i_i in ipairs(items) do local item, amount = i_i[1],i_i[2] if isItemStackable(item) or amount == 1 then doAddContainerItem(backpack, item, amount) else for i = 1, amount do doAddContainerItem(backpack, item, 1) end end end end function getItemsFromList(items) local str = '' if table.maxn(items) > 0 then for i = 1, table.maxn(items) do str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1]) if i ~= table.maxn(items) then str = str .. ', ' end end end return str end function onUse(cid,item,fromPosition,itemEx,toPosition) if not lever[item.actionid] then return true end local var = lever[item.actionid] if not doPlayerRemoveItem(cid,coin, var.amount) then return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você Precisa De "..var.amount.." " ..getItemNameById(coin)) end getItemsLevers(cid, var.items) doPlayerSendTextMessage(cid,22,"Você Acaba De Adquirir: " .. getItemsFromList(var.items)) doSendMagicEffect(getCreaturePosition(cid), math.random(28,30)) doTransformItem(item.uid, item.itemid == 1740 and 1740 or 1740) return true end
-
fefuxd deu reputação a Wakon em (Resolvido)Exhaust de magia UE interferindo no exhaust de runaslocal combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 8, 8, 10, 12) local area = createCombatArea(AREA_CROSS6X6) setCombatArea(combat, area) function onCastSpell(cid, var) if exhaustion.check(cid, 3200) then doPlayerSendCancel(cid, "You are exhausted.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return false end exhaustion.set(cid, 3200, 10) return doCombat(cid, combat, var) end
-
fefuxd deu reputação a DukeeH em (Resolvido)Exhaust de magia UE interferindo no exhaust de runasOpa, não tinha visto que respondeu, lembra de citar a minha resposta, ai sou avisado que você respondeu aqui no post.
O spells.lua fica assim:
<instant name="Rage of the Skies" words="exevo gran mas vis" lvl="55" mana="650" selftarget="1" prem="1" exhaustion="0" needlearn="0" event="script" value="attack/rage of the skies.lua"> <vocation id="1"/> <vocation id="5"/> </instant> O Rage of the skies.lua fica assim:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 8, 8, 10, 12) local area = createCombatArea(AREA_CROSS6X6) setCombatArea(combat, area) function onCastSpell(cid, var) if getPlayerStorageValue(cid, 3200) <= 0 then setPlayerStorageValue(cid, 3200, os.time()+10000) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "You are exhausted.") end return TRUE end
Agora vou explicar o que mudei pra que você possa fazer nas outras magias que quiser e adaptá-las.
A única parte que mudei foi a parte do onCastSpell.
Você adiciona "if getPlayerStorageValue(cid, 3200) <= 0 then" para checar se o storage 3200 esta igual ou menor a 0.
Embaixo você adiciona "setPlayerStorageValue(cid, 3200, os.time()+10000)" que caso o storage acima esteja igual ou menor a 0 ele adiciona 10s de exhaust.
Então o return doCombat (que é o que faz a magia sair, já estava no script)
O else serve como "se não" como uma condição contraria ao storage 3200 ser maior que 0 (faz menos de 10 segundos que o player soltou a magia)
Então vem um doPlayerSendCancel que vai falar que o player esta em exhausted caso tenha soltado a magia a menos de 10 segundos.
o end pra fechar aquele primeiro if (getPlayerStorageValue).
E o return true que não sei se é necessário.
Então, espero que tenha entendido o que fiz, assim você tem liberdade para fazer como quiser com as outras spell.
Caso queira que o exevo gran mas vis só exhauste com o mas flam, faça essa alteração no mas vis e mas flam, usando o storage 3200 nos dois. (Mesmo storage, mesmo exhaust)
Se você quiser que por exemplo, dê pra soltar exori vis, exevo gran mas vis e sd ao mesmo tempo, use o storage 3200 no mas vis, o 3201 no exori vis e a sd pode manter o exhaust do spells.xml