Postado Fevereiro 16, 2016 9 anos Autor 1 hora atrás, dominus disse: Ot pokemon � bem estranho. Fiz algumas modifica��es para funcionar no ot pokemon, como � no-pvp, ent�o algumas linhas do script n�o s�o necessarias. Atualiza todos os scripts. Insere em; creaturescripts>kill.lua: --[[Marcryzius D'evil]]-- function onDeath(cid, corpse, deathList) for _,player in pairs(deathList) do local player = isMonster(player) and getCreatureMaster(player) or player if(isPlayer(player))then if(getDamageInMonster(cid,player) > 50)then --doPlayerAddItem(player,itemid,quant) end if(M[player])then table.remove(M,player) end end end return true end A maior diferen�a entre esse script do kill.lua para o que eu te mandei, � a falta da senten�a "if not( isCreature()) then" que estava gerando o erro. Bem como n�o d� - pelo menos eu n�o consegui atacar players (se bem que eu levei duas horas para entender como summonar um pokemon) - para atacar players, ent�o n�o faz necessario saber se � criatura. Insere em; creaturescripts>stats.lua: --[[ autor = Marcryzius data = sexta-feira, 05 de fevereiro de 2016 query para ser adicionada no monstro: <script> <event name = "stats"/> <event name = "deathMonster"/> </script> ]] function onStatsChange(cid, attacker, tipo, combat, value) local atac = attacker if not(M[cid])then M[cid] = {} end if not(tipo == 1)then return true end if(isPlayer(attacker))then if not(M[cid][attacker])then M[cid][attacker] = 0 end M[cid][attacker] = M[cid][attacker] + value elseif(isMonster(attacker))then -- caso seja um monstro o atacante local get = getCreatureMaster(attacker) -- averigua se n�o � um summon que est� atacando atac = get if(tonumber(get) and isPlayer(get))then -- caso o summon seja de um player, adiciona o dano como se fosse o player if not(M[cid][get])then M[cid][get] = 0 end M[cid][get] = M[cid][get] + value end end return true end Insere na lib>functions.lua: M = {} function getDamageInMonster(monster,cid) --[[Marcryzius D'evil]]-- local monster,cid,m_life,p_dano = tonumber(monster),tonumber(cid),0,0 if not(monster or cid)then return 0,error('function getDamageInMonster(): monster or cid, not number') end for k,v in pairs(M[monster]) do if(k == cid)then p_dano = v end m_life = m_life + v end return math.floor(p_dano/(m_life/100)) end o restante continua da mesma forma. Espero que funcione agora. N�o testei a fundo, pois, ainda n�o sei bem como jogar em ot pokemon - a backpack do boneco n�o abre mais, j� n�o sei o que fazer sem bp, n�o d� pra pegar outra bp, n�o d� pra mudar de outfit, n�o usa magias, cara isso n�o � tibia! Testei da seguinte forma: Summonei um dragon e matei solo, gerou 100% do dano. De novo o dragon, só que com dois players, gerou à porcentagem de cada um devido ao dano causado na criatura. Depois testei com pokemon, solo e com dois players, funcionou perfeitamente. voce tem que criar outro personagem para poder abrir a bp se ela não esta abrindo é porque tem algum item bugado dentro dela vou testar aqui AS MAGIAS SÃO M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12 para usalas é preciso estar com um pokémon solto para soltar um pokemon tem q colocar o icone dele no slot certo e dar use, o icone dele ja pode estar no local certo ou dentro da pb se a bp n abre n da pra colocar o icone no local certo pois ele deve tar dentro dela a outfit se troca igual tibia segura ctrl e clica para abrir o personagem e vai ter opções outra coisa como a lib n tem function.lua coloquei no 050-function.lua pois deve ser este localFUNCIONOU PERFEITAMENTE CARA EU TE AMO D+ VOU TESTAR + A FUNDO AS PORSENTAGENS PARA DIVIDIR PARA VARIOS PLAYERS MAS DE RESTO VOCE É PERFEITO, JA DISSE QUE TE AMO? + REP+obrigado por não desistir de me ajudar voce é o melhor deste forum sempre vejo voce ajudando todas as pessoas voce ta de parabéns Editado Fevereiro 16, 2016 9 anos por wevertonvrb (veja o histórico de edições)
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.