TFS 0.3.6 8.60 EU FIZ ESSE CODIGO POREM ELE SÓ ATACA CRITURA SE USA ITEM 5902 ESSE ITEM É FEITO PRA APRIMORA O ITEM EU QUERO QUE NAO DEPENDA 5902 PRA TRANSFERI DANO A CRITURA MAIS SIM O APRIMORAMENTO DO ITEM MAX_LEEECH_PERCENT
TFS 0.3.6 8.60 EU FIZ ESSE CODIGO POREM ELE SÓ ATACA CRITURA SE USA ITEM 5902 ESSE ITEM É FEITO PRA APRIMORA O ITEM EU QUERO QUE NAO DEPENDA 5902 PRA TRANSFERI DANO A CRITURA MAIS SIM O APRIMORAMENTO DO ITEM MAX_LEEECH_PERCENT
localUPGRADE_ITEM_ID = 5902-- O item de aprimoramento, neste caso, o "olho azul assustador"localLIFE_LEECH_INCREMENT = 10-- Porcentagem a ser adicionada ao Life Leech a cada usolocalMANA_LEECH_INCREMENT = 10-- Porcentagem a ser adicionada ao Mana Leech a cada usolocalMAX_LEECH_PERCENT = 100-- Limite máximo para Life Leech e Mana LeechlocalBASE_DAMAGE = 100000000000-- Dano base da armalocalSTORAGE_KEY = 10000-- Chave de armazenamento para o nível de aprimoramentofunctiononUse(cid, item, fromPosition, itemEx, toPosition)-- Verifica se o jogador é válidoifnotisPlayer(cid) thenreturnfalseend-- Obtém a arma que o jogador está segurando (mão esquerda ou direita)localweapon = getPlayerSlotItem(cid, CONST_SLOT_LEFT)ifweapon.itemid == 0then
weapon = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)end-- Verifica se o jogador está segurando uma armaifweapon.itemid == 0then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_SMALL, "Você precisa estar segurando uma arma para aprimorá-la.")returnfalseend-- Obtém os valores atuais de Life Leech e Mana Leech (se existirem)localcurrentLifeLeech = tonumber(getItemAttribute(weapon.uid, "lifeLeech")) or0localcurrentManaLeech = tonumber(getItemAttribute(weapon.uid, "manaLeech")) or0-- Acumula novos valores de leech, limitados pelo máximolocalnewLifeLeech = math.min(currentLifeLeech + LIFE_LEECH_INCREMENT, MAX_LEECH_PERCENT)localnewManaLeech = math.min(currentManaLeech + MANA_LEECH_INCREMENT, MAX_LEECH_PERCENT)-- Aplica os novos valores de Life Leech e Mana Leech à arma
doItemSetAttribute(weapon.uid, "lifeLeech", newLifeLeech)
doItemSetAttribute(weapon.uid, "manaLeech", newManaLeech)-- Modifica a descrição da arma para exibir os novos valores de leechlocaldescription = getItemAttribute(weapon.uid, "description") or""
description = "Esta arma agora tem " .. newLifeLeech .. "% de Life Leech e " .. newManaLeech .. "% de Mana Leech. O máximo é 100%."
doItemSetAttribute(weapon.uid, "description", description)-- Envia uma mensagem para o jogador informando sobre o aprimoramento
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua arma foi aprimorada! Agora tem " .. newLifeLeech .. "% de Life Leech e " .. newManaLeech .. "% de Mana Leech. O máximo é 100%.")-- Exibe um texto animado "+Leech!!!" em verde (cor 35)localposition = getCreaturePosition(cid)
doSendAnimatedText(position, "+Leech!!!", 35)-- Remove o item de aprimoramento (olho azul assustador)
doRemoveItem(item.uid, 1)-- Armazena o novo nível de aprimoramento da arma
setPlayerStorageValue(cid, STORAGE_KEY, newLifeLeech)-- Obtém o alvo atual do jogadorlocaltarget = getCreatureTarget(cid)-- Verifica se há um alvo válidoifisCreature(target) then-- Calcula o dano proporcional ao nível de aprimoramento da armalocaldamage = (newLifeLeech / 100) * BASE_DAMAGE-- Dano proporcional ao nível de leech
doTargetCombatHealth(cid, target, COMBAT_UNDEFINEDDAMAGE, -damage, -damage, CONST_ME_HITAREA)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você realizou um ataque poderoso com sua arma aprimorada! Causou " .. damage .. " de dano.")else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_SMALL, "Você não tem um alvo válido para atacar.")endreturntrueend
Pergunta
Muvuka 1
TFS 0.3.6 8.60 EU FIZ ESSE CODIGO POREM ELE SÓ ATACA CRITURA SE USA ITEM 5902 ESSE ITEM É FEITO PRA APRIMORA O ITEM EU QUERO QUE NAO DEPENDA 5902 PRA TRANSFERI DANO A CRITURA MAIS SIM O APRIMORAMENTO DO ITEM MAX_LEEECH_PERCENT
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados