Jump to content

Search the Community

Showing results for tags 'PokeDex'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • Projetos Open Source
    • MyAAC
    • OTServBR-Global
    • Mehah OTClient
    • Canary
    • Projetos Arquivados
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
    • Divulgação de Servidores
  • Outros
    • Design

Found 4 results

  1. Scripting Erro ao usar PokeDex em si mesmo

    Base: POU - Open Source (0.3.6) Qual erro está surgindo/O que você procura? [Error - Action Interface] data/actions/scripts/pokedex.lua:onUse Description: data/actions/scripts/pokedex.lua:36: attempt to index field '?' (a number value) stack traceback: data/actions/scripts/pokedex.lua:36: in function <data/actions/scripts/pokedex.lua:3> Você tem o código disponível? Se tiver publique-o aqui: local rate = 20 function onUse(cid, item, fromPos, item2, toPos) if not isCreature(item2.uid) then return true end local poke = getCreatureName(item2.uid) if isMonster(item2.uid) then local this = newpokedex[getCreatureName(item2.uid)] local myball = 0 if isSummon(item2.uid) then myball = getPlayerSlotItem(getCreatureMaster(item2.uid), 8) end if not getPlayerInfoAboutPokemon(cid, poke).dex then local exp = this.level * rate doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked "..getCreatureName(item2.uid).." in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained "..exp.." experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, exp) doAddPokemonInDexList(cid, poke) else doShowPokedexRegistration(cid, item2, myball) end return true end if not isPlayer(item2.uid) then return true end local kanto = 0 local johto = 0 --alterado v1.7 \/\/ for i = 1, #oldpokedex do if getPlayerInfoAboutPokemon(item2.uid, oldpokedex[i][1]).dex then if i <= 151 then kanto = kanto+1 elseif i >= 209 then johto = johto+1 end end end --alterado v1.6 local player = getRecorderPlayer(toPos, cid) if cid == player then doPlayerSendTextMessage(cid, 27, "You has unlocked "..kanto.." kanto's and "..johto.." johto's pokémons until now.") doPlayerSetVocation(cid, 9) --alterado v1.6 openChannelDialog(cid) end return true end Agradeço quem puder ajudar!
  2. De um mês pra ca, mudei o foco da programação. Estou interessado em criar um app que capte algumas informações do cliente (próprio: pokexgames), e gere informações para meu app. Exemplo: Aparece um monstro X na tela App capta nome do monstro App busca no database sqlite os dados Retorna os dados do monstros como informação a interface Gostaria de saber se alguém tem uma idéia de como fazer isso. Se fosse um cliente normal, eu poderia desmembrar um bot (tibia auto), e pegar o método que faz essa captação de nomes dos monstros. Obs: Não é um bot, sei que é contra as regras.
  3. PokeDex (Básica)

    Nome: Pokedex (Básica) Autor: Wantedzin (Perdigues) Versão Testada: TFS 0.3.6 (Nescessário ter o OTAL) Agradecimentos ao: MaXwEllDeN - Pela idéa de criar uma pasta pokedex pra ler os scripts. rd_caldas - Pelas ajudas com alguns scripts que me prporcionaram o conehcimento pra fazer este script. crimm - Da otland pela base do script. felipedaniel - pela função de mostrar quantos pokemons vc já tem liberado. Bom o script está simples mas esta bem funcional vamos ao script: Na pasta actions abra a pasta scripts, crie uma pasta chamada pokemon e dentro dela um arquivo LUA e nomeie-o para pokedex.lua e cole isso: [spoiler=pokedex.lua] function onUse(cid, item, fromPos, itemEx, toPos) local pokemon = itemEx.uid local pokemons = { {"Bulbasaur", "1.txt", 11395, 20, 100, "Bulbasaur", 99101}, {"Ivysaur", "2.txt", 11396, 20, 100, "Ivysaur", 99102}, } for _,n in pairs(pokemons) do if isSummon(pokemon) then local Dex = io.open('data/pokedex/' .. n[2],'r') if getCreatureName(pokemon) == n[1] and getPlayerLevel(cid) >= n[4] and getPlayerStorageValue(cid, n[7]) <= 0 then doShowTextDialog(cid, n[3], Dex:read("*all")) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked " .. n[6] .. " in your pokedex") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained " .. n[5] .. " experience points.") doPlayerAddExperience(cid, n[5]) setPlayerStorageValue(cid, n[7], 1) elseif getCreatureName(pokemon) == n[1] and getPlayerLevel(cid) < n[4] and getPlayerStorageValue(cid, n[7]) <= 0 then doShowTextDialog(cid, n[3], Dex:read("*all")) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need level " .. n[4] .. " to unlock this pokemon.") elseif getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[7]) >= 1 then doShowTextDialog(cid, n[3], Dex:read("*all")) end Dex:close() elseif isMonster(pokemon) then local Dex = io.open('data/pokedex/' .. n[2],'r') if getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[7]) <= 0 then doShowTextDialog(cid, n[3], Dex:read("*all")) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked " .. n[6] .. " in your pokedex") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained " .. n[5] .. " experience points.") doPlayerAddExperience(cid, n[5]) setPlayerStorageValue(cid, n[7], 1) elseif getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[7]) >= 1 then doShowTextDialog(cid, n[3], Dex:read("*all")) end Dex:close() end end local store = {99100, 99101, 99102, 99103, 99104, 99105, 99106, 99107, 99108, 99109} local unlock = {} for i = 1, #store do if getPlayerStorageValue(cid, store[i]) > 0 then table.insert(unlock, 1) end end if isPlayer(itemEx.uid) then doPlayerSendTextMessage(cid, 27, "You have unlocked " .. #unlock .. "/151 pokemons in your PokeDex") end return true end agora vá na pasta actions e abra o actions.xml e adicione esta tag em qualquer lugar: [spoiler=actions.xml] <action itemid="xxxx" event="script" value="pokemon/pokedex.lua" allowfaruse="1" blockwalls="1"/> substitua o xxxx pelo item que quer usar como pokedex. agora nas pasta data crie uma outra pasta chamada pokedex esalve este texto dentro da pasta pokedex e nomeie-o para o nome desejado. [spoiler=exemplo.txt] Name: Bulbasaur Type: Grass Reuires Level: 20 Moves: Quick Attack - m1 - level 20 Razor Leaf - m2 - level 20 Vine Whip - m3 - level 20 Headbutt - m4 - level 20 Leech Seed - m5 - level 22 Solar Beam - m6 - level 40 Sleep Powder - m7 - level 35 Stun Spore - m8 - level 28 Poison Powder - m9 - level 26 Evolutions: Bulbasaur, requires level 20 Ivysaur, requires level 40 Vanusaur, requires level 80 Habilities: Cut No caso do meu script está pela ordem dos pokemons como são 151 meus scripts vão de 1 a 151 de acordo com a ordem da pokedex. Agora vamos aprender a configurar os scripts: [spoiler=Configurando]no pokedex.lua temos: local pokemons = { {"Bulbasaur", "1.txt", 11395, 20, 100, "name", 99101}, {"Squirtle", "2.txt", 11401, 20, 500, 99102}, } Verde - É o nome que o monster deve ter para que o script funcione. Laranja - É o nome do arquivo.txt que ele vai buscar as informações deste pokemon (é o arquivo.txt que vc crio na ultima etapa) OBS: se o noem do script for BuLBasaur.txt deve ser adicionado como BuLBasaur.txt pois é case sensitive.) Rosa - É a imagem do pokemon que vai aparecer na janelinha com o texto. Azul - O level que o pokemon pode ser usado(usado pra se for um summon ele não dar a xp) Vermelho - Experiência que o player ganha ao usar a Pokedex no monstro a primeira vez. PRETO NEGRITO - é a mensgaem que vai aparecer com o nome do Pokemoné desnecessário amis pra mim tem uma outra utilidade mas tah ai uma coisa a mais pra vcs editarem...caso não queiram apenas substitua isso nas tags ("You have unlocked " .. n[6] .. " in your pokedex", por "You have unlocked " .. n[1] .. " in your pokedex" e tah pronto) SUBLINHADO - É o storage value que será adicionado ao player quando ele usar a Pokedex no pokemon a primeira vez. (OBS: Cada pokemon deve ter seu storage value diferente se não os cript não funciona corretamente) Ultima observação ao final deve-se adicionar uma virgula antes de criar um novo pokemon, reparem no exemplo: {"Bulbasaur", "1.txt", 11395, 20, 100, "name", 99101}, Ao final temos sublinhado a storage value, ai vem uma chave( } ) fechando a tabela e após a chave temos a virgula. antes de adicionar uma nova chave abaixo deve-se ter uma virgula ou o script não funciona. [spoiler=Screenshots] Ao dar dex no summon abre a janela com a imagem do pokemon e as informações dele. Recebe também a mensagem de experiencia e o nome do pokemon que foi liberado. Nessa imagem o char de teste tenta usar a Pokedex em um summon no caso o pokemon do ADM e veja a mensagem que ele recebe em azul. O mesmo char de teste no level 4 usa dex no mesmo pokemon só que desta vez ele é monster e a experiencia é adicionada ao player e ele pode ver o pokemon. A caixa com informações também é mostrada. Bom se não funcionar será nescessário adicionar isso: [spoiler=isSummon] function isSummon(sid) for i, pid in ipairs(getPlayersOnline()) do for c, cid in pairs(getCreatureSummons(pid)) do if (cid == sid) then return true end end end return false end Isso deve ser adicionado na pasta lib do seu otserver. O que faz esta versão: - Diferencia monstros de summons ou seja se o monstro for um summon assim como no Pokemon Online você precisa ter o level dele para poder usar a pokedex nele a ganhar a experiencia que cada pokemon da. Este script faz a mesma coisa. Se for monstro por ele poder te atacar você ganha a experiencia se for summon checa o level e compara com o do pokemon. --- Bom é isso tá simples mais também não vou sair distribuindo tudo 100% feito.Até porquê qualquer um poderia pegar e falar que os erver tem pokedex. Então tah ai usem como base para novos scripts melhores. Fiz esse em 20 minutos e liberei pra vcs só pra ver se diminui os pedidos deste script em lojas da OTNET. Quem gostou dá um Thanks. Se te ajudei doe V$ pra mim :yes: É meu primeiro script pra OTNET espero que tanham gostado. ---------- EDITANDO Versão da Pokedex Atualizada agora com função de mostrar quantos pokemons já foram liberados na sua pokedex. Agradecer muito ao felipedaniel que foi quem criou essa parte do script e contribuiu pra que esse script evolui-se mais uma vez Bom só postando como fazer pra confirar este novo script: local store = {99100, 99101, 99102, 99103, 99104, 99105, 99106, 99107, 99108, 99109} Como podem ver essa é uam nova tabela que foi adicionada ela é bem smples cada storage value que você adicionar a um pokemon na primeira tabela deve ser adicionado aqui também se vc tiver usando storages value de 1 a 151 por exemplo deve-se colocar na tabela: local store = {1, 2, 3, 4, 5, ..., 150, 151} Bom é isso valeu pessoal... Gostou agradece... -------------- UPDATE Pasta pokedex com a informação de uns 120 pokemons.... Tah ai agradeçam o felipedaniel pq o cara além de ter vontade tah afim mesmo de ajudar vcs... http://sharex.xpg.com.br/files/2929513081/pokedex.rar.html tah ai o link pras txt dos pokemons o link foi feito pelo felipedaniel todos os thanks são pra ele... sugiro q todos q usarem doem V$ pra ele.... o cara merece.... Valeu moçada...
  4. PokéDex

    [spoiler=dex.lua] function onUse(cid, item, fromPos, item2, toPos) local DexID = 8266 local Pokes = { Bulbasaur = 'Bulbasaur.txt', Ivysaur = 'Ivysaur.txt', Venusaur = 'Venusaur.txt', Charmander = 'Charmander.txt', Charmeleon = 'Charmeleon.txt', Charizard = 'Charizard.txt', Squirtle = 'Squirtle.txt', Wartortle = 'Wartortle.txt', Blastoise = 'Blastoise.txt', Caterpie = 'Caterpie.txt', Metapod = 'Metapod.txt', Buterfree = 'Buterfree.txt', Weedle = 'Weedle.txt', Kakuna = 'Kakuna.txt', Beedrill = 'Beedrill.txt' } local status = false; for i, v in pairs(Pokes) do if isMonster(item2.uid) and i == getCreatureName(item2.uid)then local Dex = io.open('Dex/'..v,'r') doShowTextDialog(cid, DexID, Dex:read("*all")) status = true; break end Dex:close() end if not status then doPlayerSendCancel(cid, "Você só pode usar Dex em pokemons.") end return true end e a TAG no seu actions.xml(data/actions/actions.xml) Bom, vamos entender o Script para que você possa edita-lo! Depois, vá na pasta do seu ot(onde tem a pasta data e o arquivo config.lua) faça uma pasta lá com o nome dex e abra ela, crie um arquivo lá com o nome do poke, e dentro ponha as informações dele( no final do topico eu ponho os que eu tenho aqui, pra você não ter que criar eles, hehe)... Para adicionar mais pokémons você faz assim: Opa, quase ia esqueçendo, tá ai a minha pasta dex: Isso ai pessoal, qualquer BUG, avisem! sou iniciante em scripting, por isso pode haver vários bugs :$ -- BUG Corrigido ( Help do Yahoo )
×