Postado Fevereiro 26, 2012 13 anos Autor Renato obrigada ! REP + Me ajudem com isso aqui... Tentei fazer esse script. Como ele deve funcionar : Quando a mana do player estiver full e o player estiver de target ele vai perder 70% de mana ! Mas aqui ele só faz isso uma vez, sendo que era pra fazer sempre que ele tiver com mana full... Alguem me ajuda ? function onTarget(cid, target) if (getCreatureName(target) == "Hitdoll" or getCreatureName(target) == "Marksman Target") then SendEffect(cid) end return TRUE end function SendEffect(cid, target) local tempo = 1 -- Tempo em segundos local mpdown = (getCreatureMaxMana(cid) / 100) * 70 if isMonster(target) then if ((getPlayerMana(cid)) == (getCreatureMaxMana(cid))) then doPlayerAddMana(cid, -mpdown) doPlayerAddSpentMana(cid, mpdown) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) doCreatureSay(cid, "Automana...", TALKTYPE_ORANGE_1) addEvent(SendEffect, cid) end return TRUE end end Att. Huziwara no Mokou
Postado Fevereiro 26, 2012 13 anos onTarget seria tipo ao possuir um target Então a lógica tá errada ai... Procure aprender sobre a função onThink, e lá você checa se tem target, e se, o target é hitdoll etc. rena.to
Postado Fevereiro 26, 2012 13 anos Autor Tentei com Think, mas tambem nada... Com think nem tira a mana na primeira vez ! Att. Huziwara no Mokou
Postado Fevereiro 26, 2012 13 anos Estou sem OTserver para criar um script, então editei o seu. function onTarget(cid, target) if (getCreatureName(target) == "Hitdoll" or getCreatureName(target) == "Marksman Target") then SendEffect(cid) end return TRUE end function SendEffect(cid, target) local tempo = 1 -- Tempo em segundos local mpdown = (getCreatureMaxMana(cid) / 100) * 70 if (isMonster(target) and (getPlayerMana(cid) == getCreatureMaxMana(cid))) then registerCreatureEvent(cid, "Targets") doPlayerAddMana(cid, -mpdown) doPlayerAddSpentMana(cid, mpdown) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) doCreatureSay(cid, "Automana...", TALKTYPE_ORANGE_1) addEvent(SendEffect, cid) end return TRUE end
Postado Fevereiro 26, 2012 13 anos Autor Kimoszin, o seu não funcionou, but Esse aqui que eu fiz : function onTarget(cid, target) local mpdown = (getCreatureMaxMana(cid) / 100) * 70 if (getCreatureName(target) == "Hitdoll" or getCreatureName(target) == "Marksman Target") and ((getPlayerMana(cid)) == (getCreatureMaxMana(cid))) then doPlayerAddMana(cid, -mpdown) doPlayerAddSpentMana(cid, mpdown) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) doCreatureSay(cid, "Automana...", TALKTYPE_ORANGE_1) end return true end Funcionou, só que ele só funciona uma vez, só quando eu to target em alguem e não funciona mais :/ Att. Huziwara no Mokou
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.