Legal, pode ser útil de alguma forma.
Agora um desafio simples, faz uma função que adiciona ataques no monstro.
Por caotic, 26 de jan. de 2013 em Actions e Talkactions
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Legal, pode ser útil de alguma forma.
Agora um desafio simples, faz uma função que adiciona ataques no monstro.
Editado Janeiro 26 por LuckOake
Seus scripts são bastante criativos, mas, caramba, porque você teima em não identar seus códigos?
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

Seus scripts são bastante criativos, mas, caramba, porque você teima em não identar seus códigos?
Sei la cara.
E chato não tem necessidade.
info
Grupo: Visconde
Registrado: 22/09/10
Posts: 474
Reputação: +47

Você é um ótico Scripter @Caotic, Mais falar que indentação não serve para nada já é de mais em.
Na realidade eu tenho preguiça tbm kk
Mas no final do script como no xtibia n tem tab vc usa ctrl h / tab por 5 espaços
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have
Ola pessoal xtibiano.
O Info Monster e um sistema que permite ver informações importantes de um monstro para o player.
Ele exibe vários atribbutos do monstro como por exemplo os ataques do monstro.
Assim o player antes de caçar um monstro ele irá analisar se ele poderá derrotar o monstro.
Além disso se o player errar o nome do monstro a talk exibe os nomes de todos os monstro do seu otserv assim o player podera identificar o monstro que ele procura.
Então vamos a talkactions.
Crie um arquivo lua chamado de info em talkactions e coloque isto:
function getDirMonsterByNameMonster(name) t = {} local monster = io.open("data/monster/monsters.xml", "r") for i in monster:read("*a"):gmatch('<monster name="'..tostring(name)..'" file="(.-)"/>') do table.insert(t, tostring(i)) end return t[1] or 0 end function getMonsterAttacks(name) local dir = "data/monster/"..getDirMonsterByNameMonster(name).."" local monster = io.open(""..dir.."", "r") str = "" for i in monster:read("*a"):gmatch('attack name="(.-)"') do str = ""..str.." - "..i.."" end return str end function getMonsterDefense(name) local dir = "data/monster/"..getDirMonsterByNameMonster(name).."" local monster = io.open(""..dir.."", "r") str = "" for i in monster:read("*a"):gmatch('defense name="(.-)"') do str = ""..str.." - "..i.."" end return str end function getMonsterLootItens(name) local dir = "data/monster/"..getDirMonsterByNameMonster(name).."" local monster = io.open(""..dir.."", "r") str = "" for i in monster:read("*a"):gmatch('id="(.-)"') do str = ""..str.." - "..i.."" end return str end function getMonsterVoices(name) local dir = "data/monster/"..getDirMonsterByNameMonster(name).."" local monster = io.open(""..dir.."", "r") str = "" for i in monster:read("*a"):gmatch('voice sentence="(.-)"') do str = ""..str.." - "..i.."" end return str end function getAllMonster() local str = "" local monster = io.open("data/monster/monsters.xml", "r") str = "Você digitou incorretamente o nome do monstro veja a lista de monstro\n" for i in monster:read("*a"):gmatch('<monster name="(.-)"') do str = ""..str.." - "..i.."" end return str end function getAttrMonster(name) return "Vida = "..getMonsterInfo(name).health.."\nExp = "..getMonsterInfo(name).experience.."\n" end function onSay(cid, words, param, channel) if param == "" or not param or param == " " then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa dizer o nome do monstro") return true end local name = param if (getMonsterInfo(param)) then doShowTextDialog(cid, 1397, "Info Monster "..name.."\n"..getAttrMonster(name).."\nAttacks = "..getMonsterAttacks(name).."\n\nDefense = "..getMonsterDefense(name).."\n\nVoices = "..getMonsterVoices(name).."\n\nLoots = "..getMonsterLootItens(name).."") else doShowTextDialog(cid, 1397, getAllMonster()) return true end return true endAgora vá em talkactions.xml e coloque isto:
Editado Fevereiro 3 por caotic