Postado Novembro 7, 2022 2 anos .Qual servidor ou website você utiliza como base? 0.4 Qual o motivo deste tópico? queria arrumar esse script pra ele dar dano so se tiver arma equipada . esse e um item que coloca na onde tem uma flexa queria que desse o dano so se tiver equipado uma arma . do jeito que esta o player pode tar sem arma que ele da o dano normal. e mesmo se tiver uma parede tampando na tela ele da o dano queria tirar isso tbm para dar o dano so no targent Você tem o código disponível? Se tiver publique-o aqui: local burnBuff = { storageID = 25000, interval = 1, -- intervalo entre turnos damage = 95000, -- dano de cada turno ticks = 5, -- quantidade de turnos effect = CONST_ME_GIANTICE, -- efeito } -- FIRE EFFECT local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatParam(combat, COMBAT_PARAM_EFFECT, 37) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_) local condition = createConditionObject(CONDITION_FREEZING) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, burnBuff.ticks, burnBuff.interval, -burnBuff.damage) setCombatCondition(combat, condition) function onAttack(cid, target) storageStatus = getPlayerStorageValue (cid, burnBuff.storageID) playerPos = getCreaturePosition (cid) targetPos = getCreaturePosition (target) if storageStatus == 0 then return true end -- Se tiver como trocar essa fucnçao eu agradeço pois ela fica aparecendo o numero 0 na distrito if getDistanceBetween (playerPos, targetPos) > 8 then return true end -- FIM - jogador longe if storageStatus == 1 then -- Efeito Energy Se tiver como trocar essa fucnçao eu agradeço pois ela fica aparecendo o numero 2 na distrito doCombatAreaCondition(cid, targetPos, nil, condition, burnBuff.effect) end return true end
Postado Novembro 7, 2022 2 anos Solução ja fiz essa function uma vez, se não me engano foi pra um post seu, cuidado com post duplicado! NECESSÁRIO mudar o numero do "itemDeDano" pro id do seu item function isWeapon(uid) -- By Killua return getItemWeaponType(uid) ~= 0 end local itemDeDano = 1522 -- ID do item que irá no slot function onStatsChange(cid, attacker, type, combat, value) if not isPlayer(cid) then return false end if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and (combat ~= COMBAT_HEALING and value > 0) then local itemEquipado = getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid -- pega o ID do ring no slot local armaEquipadaEsquerda = getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid -- pega uid doq ta na mão esquerda local armaEquipadaDireita = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid -- pega uid doq ta na mão direita if isWeapon(armaEquipadaEsquerda) or isWeapon(armaEquipadaDireita) then -- se tiver arma na mão direita ou esquerda if itemEquipado and itemEquipado == itemDeDano then -- se tiver ring equipado E o ring for o escolhido local dano = value*0.5 -- 0.5 = 50% a mais de dano, 1 = 100% a mais.... local target = getCreatureTarget(cid) doTargetCombatHealth(cid, target, combat, -dano, -dano, 255) -- função de dar dano end end end return true end
Postado Novembro 7, 2022 2 anos Autor 6 horas atrás, FeeTads disse: ja fiz essa function uma vez, se não me engano foi pra um post seu, cuidado com post duplicado! NECESSÁRIO mudar o numero do "itemDeDano" pro id do seu item function isWeapon(uid) -- By Killua return getItemWeaponType(uid) ~= 0 end local itemDeDano = 1522 -- ID do item que irá no slot function onStatsChange(cid, attacker, type, combat, value) if not isPlayer(cid) then return false end if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and (combat ~= COMBAT_HEALING and value > 0) then local itemEquipado = getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid -- pega o ID do ring no slot local armaEquipadaEsquerda = getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid -- pega uid doq ta na mão esquerda local armaEquipadaDireita = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid -- pega uid doq ta na mão direita if isWeapon(armaEquipadaEsquerda) or isWeapon(armaEquipadaDireita) then -- se tiver arma na mão direita ou esquerda if itemEquipado and itemEquipado == itemDeDano then -- se tiver ring equipado E o ring for o escolhido local dano = value*0.5 -- 0.5 = 50% a mais de dano, 1 = 100% a mais.... local target = getCreatureTarget(cid) doTargetCombatHealth(cid, target, combat, -dano, -dano, 255) -- função de dar dano end end end return true end oxi nao primeira vez nao tinha funcionado kk agora funcionou obrigado teria como colocar pra sair um efeito tbm? tipo ice ou fire ou energy? tentei assim mas nao saiu function isWeapon(uid) -- By Killua return getItemWeaponType(uid) ~= 0 end local itemDeDano = 12730 -- ID do item que irá no slot function onStatsChange(cid, attacker, type, combat, value) if not isPlayer(cid) then return false end if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and (combat ~= COMBAT_HEALING and value > 0) then local itemEquipado = getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid -- pega o ID do ring no slot local armaEquipadaEsquerda = getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid -- pega uid doq ta na mão esquerda local armaEquipadaDireita = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid -- pega uid doq ta na mão direita if isWeapon(armaEquipadaEsquerda) or isWeapon(armaEquipadaDireita) then -- se tiver arma na mão direita ou esquerda if itemEquipado and itemEquipado == itemDeDano then -- se tiver ring equipado E o ring for o escolhido local dano = value*0.5 -- 0.5 = 50% a mais de dano, 1 = 100% a mais.... local target = getCreatureTarget(cid) setCombatParam(combat, COMBAT_PARAM_EFFECT, 37) --- efeito ice mas nao funcionou doTargetCombatHealth(cid, target, combat, -dano, -dano, 255) -- função de dar dano end end end return true end 6 horas atrás, FeeTads disse: ja fiz essa function uma vez, se não me engano foi pra um post seu, cuidado com post duplicado! NECESSÁRIO mudar o numero do "itemDeDano" pro id do seu item function isWeapon(uid) -- By Killua return getItemWeaponType(uid) ~= 0 end local itemDeDano = 1522 -- ID do item que irá no slot function onStatsChange(cid, attacker, type, combat, value) if not isPlayer(cid) then return false end if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and (combat ~= COMBAT_HEALING and value > 0) then local itemEquipado = getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid -- pega o ID do ring no slot local armaEquipadaEsquerda = getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid -- pega uid doq ta na mão esquerda local armaEquipadaDireita = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid -- pega uid doq ta na mão direita if isWeapon(armaEquipadaEsquerda) or isWeapon(armaEquipadaDireita) then -- se tiver arma na mão direita ou esquerda if itemEquipado and itemEquipado == itemDeDano then -- se tiver ring equipado E o ring for o escolhido local dano = value*0.5 -- 0.5 = 50% a mais de dano, 1 = 100% a mais.... local target = getCreatureTarget(cid) doTargetCombatHealth(cid, target, combat, -dano, -dano, 255) -- função de dar dano end end end return true end so da o dano adicional em staff e wand... em sword w bow nao da o dano adicional @FeeTads
Postado Novembro 8, 2022 2 anos 13 horas atrás, mullino disse: oxi nao primeira vez nao tinha funcionado kk agora funcionou obrigado teria como colocar pra sair um efeito tbm? tipo ice ou fire ou energy? tentei assim mas nao saiu function isWeapon(uid) -- By Killua return getItemWeaponType(uid) ~= 0 end local itemDeDano = 12730 -- ID do item que irá no slot function onStatsChange(cid, attacker, type, combat, value) if not isPlayer(cid) then return false end if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and (combat ~= COMBAT_HEALING and value > 0) then local itemEquipado = getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid -- pega o ID do ring no slot local armaEquipadaEsquerda = getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid -- pega uid doq ta na mão esquerda local armaEquipadaDireita = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid -- pega uid doq ta na mão direita if isWeapon(armaEquipadaEsquerda) or isWeapon(armaEquipadaDireita) then -- se tiver arma na mão direita ou esquerda if itemEquipado and itemEquipado == itemDeDano then -- se tiver ring equipado E o ring for o escolhido local dano = value*0.5 -- 0.5 = 50% a mais de dano, 1 = 100% a mais.... local target = getCreatureTarget(cid) setCombatParam(combat, COMBAT_PARAM_EFFECT, 37) --- efeito ice mas nao funcionou doTargetCombatHealth(cid, target, combat, -dano, -dano, 255) -- função de dar dano end end end return true end so da o dano adicional em staff e wand... em sword w bow nao da o dano adicional @FeeTads voce adicionou onde o script? Editado Novembro 8, 2022 2 anos por carloos (veja o histórico de edições)
Postado Novembro 8, 2022 2 anos Autor 19 minutos atrás, carloos disse: voce adicionou onde o script? sim 2 horas atrás, carloos disse: voce adicionou onde o script? Creaturescript
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.