Postado Outubro 21, 2022 2 anos Boa noite galerinha do tk. Venho pedir a vcs um script. Não sei fazer assim do jeito que eu quero, então venho pedir ajudar .. Quero um item... Ex: ring que ao ser equipado ele da um dano a minha ... Ex: tenho um bow que ataca 100 de dano. Se eu equipar o ring ele vai continuar atacando os 100 normalmente do bow mas vai dar um dano adicional ao bow . Pode ser em elementos . Ex 100 de dano do bow mais 60 de elemento Holy. Mas só funcionar se tiver uma arma equipada . Tipo acrescentando na arma o elemento por ter o ring equipado ... Tentei ser o mais explicativo possível. Se alguém puder me ajudar com esse script ficarei muito grato . Obrigado
Postado Outubro 24, 2022 2 anos Este tópico foi movido para a seção de Suporte Otserv. Em 21/10/2022 em 00:17, mullino disse: dano do bow mais 60 de elemento Holy. Mas só funcionar se tiver uma arma equipada . pra isso seria necessário talvez uma modificação na source, mas acho que da pra fazer com movements de Equip item, ou um creatureScripts de StatsChange, mas stats change é meio "pesadinho" pro servidor. function isWeapon(uid) -- By Killua return getItemWeaponType(uid) ~= 0 end local ringDeDano = 1522 -- ID do ring 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 ringEquipado = getPlayerSlotItem(cid, CONST_SLOT_RING).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 ringEquipado and ringEquipado == ringDeDano 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 Outubro 24, 2022 2 anos Autor 18 minutos atrás, FeeTads disse: Este tópico foi movido para a seção de Suporte Otserv. pra isso seria necessário talvez uma modificação na source, mas acho que da pra fazer com movements de Equip item, ou um creatureScripts de StatsChange, mas stats change é meio "pesadinho" pro servidor. function isWeapon(uid) -- By Killua return getItemWeaponType(uid) ~= 0 end local ringDeDano = 1522 -- ID do ring 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 ringEquipado = getPlayerSlotItem(cid, CONST_SLOT_RING).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 ringEquipado and ringEquipado == ringDeDano 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 Esse é de qual ? Creature/ movment ou weapons? Kk
Postado Outubro 24, 2022 2 anos ai regista no XML <event type="statschange" name="RingMaisDano" event="script" value="NOME-DO-SCRIPT.lua"/> E registrar ele la no login.lua registerCreatureEvent(cid, "RingMaisDano") Agora, mullino disse: Esse é de qual ? Creature/ movment ou weapons? Kk creatureScripts
Postado Outubro 24, 2022 2 anos Autor Agora, FeeTads disse: ai regista no XML <event type="statschange" name="RingMaisDano" event="script" value="NOME-DO-SCRIPT.lua"/> E registrar ele la no login.lua registerCreatureEvent(cid, "RingMaisDano") creatureScripts Obrigado.. vou já testar e volto com o feed
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.