Postado Outubro 15, 2017 7 anos Como faço para meu pet (demon) me dar 10 de sword em quanto estiver ao meu lado (evocado), removendo esse bonus quando ele não estiver ativo/morto? action/pet.lua Spoiler function onUse(cid, item, frompos, item2, topos) local dolls = { [5896] = {pet = "Demon"} } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) --------------------------------------------------- if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) end return true end doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) return true end
Postado Outubro 15, 2017 7 anos @Thayguroficial Spoiler local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, -1 ) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 10) function onUse(cid, item, frompos, item2, topos) local dolls = { [5896] = {pet = "Demon"} } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) end return true end doAddCondition(cid, condition) doSummonMonster(cid,go.pet) ver_pet(cid) return true end function ver_pet(cid) if #getCreatureSummons(cid) == 0 then print(43) doRemoveCondition(cid, CONDITION_ATTRIBUTES) return true end addEvent(ver_pet,1000,cid) end
Postado Outubro 15, 2017 7 anos Autor 17 minutos atrás, antharaz disse: @Thayguroficial Ocultar conteúdo local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, -1 ) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 10) function onUse(cid, item, frompos, item2, topos) local dolls = { [5896] = {pet = "Demon"} } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) end return true end doAddCondition(cid, condition) doSummonMonster(cid,go.pet) ver_pet(cid) return true end function ver_pet(cid) if #getCreatureSummons(cid) == 0 then print(43) doRemoveCondition(cid, CONDITION_ATTRIBUTES) return true end addEvent(ver_pet,1000,cid) end Está funcionando perfeitamente, porem quando eu utilizo uma magia que "buffa" meus skills ela é anulada quando o pet está ativo. Pode fazer com que não dê conflito entre o pet e as magias de buff?
Postado Outubro 15, 2017 7 anos @Thayguroficial tenta com essa: Spoiler local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_SUBID, 2) setConditionParam(condition, CONDITION_PARAM_TICKS, -1 ) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 10) function onUse(cid, item, frompos, item2, topos) local dolls = { [5896] = {pet = "Demon"} } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) end return true end doAddCondition(cid, condition) doSummonMonster(cid,go.pet) ver_pet(cid) return true end function ver_pet(cid) if #getCreatureSummons(cid) == 0 then print(43) doRemoveCondition(cid, CONDITION_ATTRIBUTES, 2) return true end addEvent(ver_pet,1000,cid) end
Postado Outubro 15, 2017 7 anos Autor 3 minutos atrás, antharaz disse: @Thayguroficial tenta com essa: Ocultar conteúdo local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_SUBID, 2) setConditionParam(condition, CONDITION_PARAM_TICKS, -1 ) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 10) function onUse(cid, item, frompos, item2, topos) local dolls = { [5896] = {pet = "Demon"} } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) end return true end doAddCondition(cid, condition) doSummonMonster(cid,go.pet) ver_pet(cid) return true end function ver_pet(cid) if #getCreatureSummons(cid) == 0 then print(43) doRemoveCondition(cid, CONDITION_ATTRIBUTES, 2) return true end addEvent(ver_pet,1000,cid) end Muito obrigado por me ajudar mais uma vez! O que diferenciou os buffs foi a condition subid? no caso se eu quiser criar outros pets com atributo de buffs diferentes é só eu por subid 3,4,5..?
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.