caotic 393 Postado Outubro 12, 2012 Share Postado Outubro 12, 2012 Ola pessoal estou neste tutorial para revelar todos os fundamentos de um otserv pokemon. Quando eu desenvolvia otservs pokemons eu sempre utilizava de base o pokemon dash. Pokemon dash foi criado pelo brun123 o mesmo criador do PDA. Logo apos o lançamento do PDA o pokemon dash perdeu sua popularidade mais continua sendo umas melhoras opções para o desenvolvimento de um otserv pokemon. Neste tutorial vamos ver com o pokemon dash utiliza LUA e como seu funcionamento e tão perfeito. PokeBalls As pokebolas que são famosas bolas que guardam monstrinhos que podem ser soltos pelo treinador. No seu otserv pokemon basicamente suas pokebolas são itens normais como atributos diferentes. A função doItemSetAttribute(....) e a responsável pelo nome,vida e etc.... doItemSetAttribute(item, "poke", params.poke) doItemSetAttribute(item, "nome", params.nome) doItemSetAttribute(item, "description", params.description) doItemSetAttribute(item, "description", "Contains a "..i.." +1.") doItemSetAttribute(item, "nick", ""..i.."") r1 = math.random(1,2) if r1 == 1 then doItemSetAttribute(item, "gender", 3) end if r1 == 2 then doItemSetAttribute(item, "gender", 4) end Todos estes atributos são verificados durante a action do go/back e logo seu summon veem com características únicas. Vamos ao exemplo do script que eu fiz usando as funções do executavel do PDA. function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end local pk = getCreatureSummons(cid)[1] local pokeball = getPlayerSlotItem(cid, 8) local pkcmpos = getThingPos(getCreatureSummons(cid)[1]) if #getCreatureSummons(cid) == 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Solte seu pokemon") return true end doItemSetAttribute(pokeball.uid, "nick", ""..param.."") doRemoveCreature(getCreatureSummons(cid)[1]) pk = doSummonCreature(getItemAttribute(pokeball.uid, "poke"):match("This is (.-)'s pokeball."), pkcmpos) doConvinceCreature(cid, pk) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 12) doPlayerSendTextMessage(cid,27, "Parabens voce colocou um novo nick seu nick nove e "..param.."." ) doCreatureSetNick(getCreatureSummons(cid)[1],""..getItemAttribute(pokeball.uid, "nick").."") doCreatureSetSkullType(pk, getItemAttribute(pokeball.uid, "gender")) return true end Summons Incrivelmente os summons foi uma etapa fácil para a criação dos sistema dos pokemons porque tibia já acompanha funções para summonar getCreatureMaster(cid) getCreatureSummons(cid) doSummonCreature(name, pos) doRemoveCreature(cid[, executeLogout = true]) Estas funções foram muito importante para que seu otserv pokemon ser construído. A manipulação das funções e de fácil utilização mais precisa tomar algumas precações. A função getCreatureSummons(cid) verifica TODOS os summons do player então precisamos usar # ou uma estrutura de repetição tal como for. Vamos verificar se o player tem pelo menos um summon: for _,summon in pairs(getCreatureSummons(cid)) do if summon > 0 then ..... return true end if #getCreatureSummons(cid)) > 0 then .... return true end Habilidades Pokemons Não foi um grande desafio criar o order sytem mais a quantidade de habilidades custo algumas horas de trabalhos. Os famosos ride e fly foram criados usando funções tibianas o que acontece e que quando o order e clicado no player acontece uma rápida troca de outfit e a colocação de algumas storages. Light/Rock Smash/Cut e Ditto são sistema secundários do order sytem. Todas essa habilidades foram feitas em apenas uma action. Na action do order existe varias verificações do item2 tais como itemID,Monstro e Player. O order sytem e um desafio para a edição pois a retirada de apenas uma storage pode bugar o sistema completamente. Moves Pokemons Estes foram complicados e estão ate hoje em evolução. São muitos ataques de pokemons e diferentes de tibia os ataques foram todos construindo em talkactions separados com (m1,m2,m3,m4,m5,m6,m7,m8,m9,10,m11,m12). Foram utilizados funções para mandar efeitos e retirar danos doAreaCombatHealth(....) doSendMagicEffect(...) Tabelas local flamen = createCombatArea{ {0, 0, 2, 0, 0}, {0, 1, 1, 1, 0}, {0, 1, 1, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 0, 0, 0} } [6] = {x = { pok = wartortle, spell = "Bubbles", minLv = 20, ex = 8000002, base1 = 120, base2 = 135, dista = 4, bonus = 4.2, type = "water", cd = 8 } } Para os iniciantes a edição de tal script foi um pouco complicado. Suas variáveis foram todas colocadas em tabelas deixando o script um pouco mais leve. O script e ainda maior do que o order sytem Link para o comentário https://xtibia.com/forum/topic/196333-mini-tutoentenda-o-funcionamento-de-um-otserv-pokemon/ Compartilhar em outros sites More sharing options...
StyloMaldoso 330 Postado Outubro 12, 2012 Share Postado Outubro 12, 2012 tipo assim.. perfeito kk, vai ajuda quem não entende nada nada de pokemon\o abraços hehe ! Link para o comentário https://xtibia.com/forum/topic/196333-mini-tutoentenda-o-funcionamento-de-um-otserv-pokemon/#findComment-1362161 Compartilhar em outros sites More sharing options...
Session Start 125 Postado Outubro 12, 2012 Share Postado Outubro 12, 2012 Porra, vai ajuda mesmo, no começo e muito foda sabe o que é 'sasporra'. REP+ Link para o comentário https://xtibia.com/forum/topic/196333-mini-tutoentenda-o-funcionamento-de-um-otserv-pokemon/#findComment-1362170 Compartilhar em outros sites More sharing options...
rDs7008 47 Postado Outubro 12, 2012 Share Postado Outubro 12, 2012 Muito bom, rep+. Eu digo que você poderia continuar adicionando mais coisas nesse tópico, e transformar isso num grande tutorial. Link para o comentário https://xtibia.com/forum/topic/196333-mini-tutoentenda-o-funcionamento-de-um-otserv-pokemon/#findComment-1362174 Compartilhar em outros sites More sharing options...
Mophz 0 Postado Outubro 12, 2012 Share Postado Outubro 12, 2012 Concordo com o RicardoSohnn, você deveria continuar a adicionar mais coisas neste tópico e tornar ele em um grande tutorial! Link para o comentário https://xtibia.com/forum/topic/196333-mini-tutoentenda-o-funcionamento-de-um-otserv-pokemon/#findComment-1362176 Compartilhar em outros sites More sharing options...
EdMignari 187 Postado Outubro 12, 2012 Share Postado Outubro 12, 2012 Parabéns cara. Muito bom esses tutoriais que não só ensinam alguma coisa, mas explicam como elas foram feitas. Link para o comentário https://xtibia.com/forum/topic/196333-mini-tutoentenda-o-funcionamento-de-um-otserv-pokemon/#findComment-1362202 Compartilhar em outros sites More sharing options...
caotic 393 Postado Outubro 12, 2012 Autor Share Postado Outubro 12, 2012 Se vocês me ajudarem a construir dando ideias de que precisa ser explicado. Podemos fazer... Link para o comentário https://xtibia.com/forum/topic/196333-mini-tutoentenda-o-funcionamento-de-um-otserv-pokemon/#findComment-1362278 Compartilhar em outros sites More sharing options...
BrunooMaciell 84 Postado Outubro 20, 2012 Share Postado Outubro 20, 2012 0.o Nossa muito bom esse tutorial bem explicado bem organizado muito bom mesmo Parabens !! Link para o comentário https://xtibia.com/forum/topic/196333-mini-tutoentenda-o-funcionamento-de-um-otserv-pokemon/#findComment-1367217 Compartilhar em outros sites More sharing options...
MrCatra 24 Postado Outubro 24, 2012 Share Postado Outubro 24, 2012 Adorei o tuto muito bom. Link para o comentário https://xtibia.com/forum/topic/196333-mini-tutoentenda-o-funcionamento-de-um-otserv-pokemon/#findComment-1371017 Compartilhar em outros sites More sharing options...
myukimoon 0 Postado Janeiro 15, 2013 Share Postado Janeiro 15, 2013 Muito Bom esse Tutorial , Pena que eu nao entendi poha nenhuma Link para o comentário https://xtibia.com/forum/topic/196333-mini-tutoentenda-o-funcionamento-de-um-otserv-pokemon/#findComment-1440198 Compartilhar em outros sites More sharing options...
Posts Recomendados