Ir para conteúdo

infernity

Campones
  • Total de itens

    46
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    infernity deu reputação a M4TH3U5 em Teleport Stone V1   
    O que ela faz?
     
    ao clicar na pedra é salvo a sua posição atual assim quando for usada novamente o jogador será teleportado para a posição salva. ao falar com um npc pode-se resetar a pedra ou então salvar a posição para a cidade atual do npc.
     
     
     
     
    se tiver algum bug ou se tiver alguma ideia, sugestão não deixa de comentar
  2. Upvote
    infernity deu reputação a HumpnieHumbert em [Encerrado]Fairy Tail Online - FTO   
    Olá, tudo bem? Há quase dois anos o "Fairy Tail Online" foi desativado por tempo indeterminado, algumas coisas resultaram nisso, como por exemplo a desmotivação da equipe e brigas internas, além de passarmos por diversos problemas no processo de criação do jogo. É com uma grande felicidade que venho anunciar a volta do projeto! Sim, hoje o "Fairy Tail Online" está de volta, então iremos deixar algumas informações sobre o mesmo: - Jogo feito do zero; - Novas ideias; - Equipe experiente; - Novos recursos; - Melhor organização. Além de tudo isso nós temos algumas novidades que serão divulgadas futuramente, contudo, desculpem-nos pela demora para a retomada do projeto. Então, é isso...Acompanhem!
  3. Upvote
    infernity deu reputação a Roksas em [Tutorial] Criar Otserv Com Internet Compartilhada   
    Bom galera, este e o meu primeiro Tutorial aqui no Forum, sim, estou postando na seçao errada pois nao consigo postar em outros locais, sou iniciante, por favor critiquem e movam meu Tutorial. Entao vamos la!
     
    Tutorial OTServ sem Hamachi com Internet Compartilhada
     
    Bom, sentem porque la vem conversa
    Em seguida vou colocar o nome dos programas necessarios, os que vamos usar:
    -ProXPN:
    -NO.IP:
     
    Primeiro Passo:: Baixando o ProXPN e se registrando.
    Bom, primeiro aqui esta o link para baixar o ProXPN: Clique aqui
     
    Bom, agora aparecera uma tela falando sobre o PayPal abaixo, entao logo acima havera duas opçoes, uma marcada e a outra desmarcada, clique na desmarcada e logo aparecera um local de registro. Voce devera colocar seu email e a senha, pronto, quando voce se registrar aparecera uma janelinha escrito Download. Otimo! Agora basta voce baixar, vamos para a instalaçao.
     
    Segundo Passo: Instalando o ProXPN
     
    Bom na primeira parte clique em Next, depois em Agree. Quando tudo carregar clique em "Continuar assim mesmo" ,como na imagem abaixo. Logo apos clique em Finish:
     

     
    Terceiro Passo: Obtendo o IP do ProXPN
    Otimo, ao clicar em Finish na instalaçao o ProXPN abrira sozinho, se nao abrir va no Desktop ou no local que foi instalado e abra-o manualmente.
     

     
    Otimo, aparecera uma janela como na imagem acima, agora basta colocar o email e a senha que voce colocou no registro! Quando fazer isto clique em Connect.
    Otimo no seu TrayIcon tem um cadiado amarelo, aguarde um momento ate o mesmo ficar verde como na imagem abaixo:
     
    http://b.imagehost.org/0890/112.png
     
    Otimo, no cadiado amarelo aonde tem a sequencia de letras: XXX.XXX.XXX ira ser o seu IP do ProXPN, otimo na janela que ira aparecer acima tera a opçao Connection Status, clique la fazendo esta janela aparecer:
     

     
    Bom, na imagem tem a sequencia de letras: XXX.XXX.XXX ira ser gerado o seu novo IP ProXPN, copieo e vamos para o proximo passo:
     
    Quarto Passo: Configurando o IP Gerado no Config.lua
    Otimo, normalmente todos sabem aonde fica o config.lua , caso nao saiba vou mostrar logo abaixo :
     

     
    Otimo no Config.lua, aperte o atalho Ctrl+F e procure por Connection Config, ou va descendo o arquivo manualmente ate encontra-lo:
     


     
    Estao vendo a sequencia de numeros: "127.0.0.1", ali voce colocara o seu IP gerado do ProXPN, por exemplo: Fulano gerou o IP do ProXPN: "18.9.18.9", entao ele alterara o IP "127.0.0.1" para "18.9.18.9", entenderam? Voces trocaram o IP, entenderam? Coloque entre as aspas.
    Simples Detalhe:

    ╚► Sempre que você reinicia o programa (fecha ele e abre novamente), o programa vai gerar um IP diferente para você, então ai vai uma dica(Só precisa fazer isso se você usa IP Fixo no seu Servidor, por exemplo: otdomax.servegame.com): Para você não ter que ir la no site do NO-IP, Logar no site e mudar o ip sempre que reinicia o programa ou o computador, é simples, Baixe este simples programa que eu citei nos programas necessarios no inicio do Tutorial:
    -NoIP: Para baixa-lo, clique aqui!
    Logo apos, entrar neste site clique no icone do seu sistema operacional e o instale, nao tem nenhum segredo, olhe:
     

     
    Estao vendo a setinha vermelha apontando para a caixinha? Entao, voce devera marcar esta caixa! Apos isso clique em "Next", Depois em Next denovo, clique em Install, apos instalar clique em Close. Apos instalar voces deverao abri-lo, como na imagem logo abaixo:
     

     
    Coloque o email e a senha do NO-IP, vou ensinalos a criar a conta no NO-IP:
    Entrem aqui : Clique aqui
    Gente, nao precisa de nenhum segredo nem um otimo conhecimento em Ingles para conseguir se registrar , e bem simples! Quando voce se registrar, voce devera entrar em: Clique aqui
     
    Otimo galera, estamos terminando, apos entrar no site acima, voce ira ver uma janela de Login no lado direito, coloque o email e a senha registradas, voce ira se logar. Na sua conta , havera um pequeno "Menu" abaixo, clique em "Add a Host". Em Hostname coloque o nome do IP, e do lado o dominio, por exemplo : otdomax.zapto.org
    Bem simples ne ? Agora que ja temos o "Host" , volte no programa NO-IP , coloque o email e a senha que voce registrou!
     
    Agora a ultima parte (e voce diz: Aleluia :smile_positivo: ), pronto galera voce abriu o programa e logou, clique em Select Hosts como na imagem abaixo:
     

     
    Agora clique na caixinha aonde esta o IP Fixo que voce criou no site do NO-IP e clique em "Save"! Obs: Sempre que quando você abrir o proXPN e depois o Duc, ficará 5 minutos para poder mudar o IP, então quando pegar o ip com o proXPN, clique em Refresh Now:
     

     
    Bom, galera este foi meu primeiro Topico, se houver algum erro (no caso postei na sessao errada pois nao consegui postar em outra!), por favor Moderadores movam meu topico e me avisem caso ha algum erro.
     
    Atensiosamente,
    Roksas.
  4. Upvote
    infernity recebeu reputação de DrFilipe7878 em [Pedido] Itens Que dão algumas coisas quando da use!   
    Premium Days:
     
    vá na pasta data/actions/scripts, copie um arquivo lua e o renomeie ele com o nome premiumday.lua
    function onUse(cid, item, frompos, item2, topos) local days = 30 -- Aqui você coloca a quantidade de dias de premium que o item irár dar. doRemoveItem(item.uid,1) doPlayerAddPremiumDays(cid, days) doPlayerSendTextMessage(cid,20,"Você ganhou "..days.." de premium.") end vá no arquivo xml e adicione a tag:
    <action itemid=" id do item " event="script" value="premiumday.lua"/>
     
    no id do item coloque o item que você quer q de a premium.
     
    Nightmare doll = 11138
    Pirate Voodoo doll = 5810
    Doll = 2110
  5. Upvote
    infernity deu reputação a Roksas em [Aula 7] Aplicações em OTServer (Parte 1)   
    Aplicações em OTServer
     
     
    Saudações queridos alunos, até agora aprendemos o básico, a Lua pura, aonde nós tivemos uma noção do que aprender realmente. Nesta aula estaremos ensinando funções e como criar seus próprios códigos em OTServer.
     
     

    Primeiramente irei mostar á vocês as funções [get] que em inglês significa (checar, verificar). Esses tipos de funções checam e verificam X coisa. Irei cá postar a maioria delas e como funcionam.
     
    Funções [get]:
     
     
     
     
    Funções [is]:
     
     
     
     
    Funções [do]:
     
     
     
     
    Funções [set]:
     
     
     
     
    Nós temos diversos tipos de scripts que podemos criar em OTServ (Actions, Creaturescripts, Globalevents, Movements, Talkactions, etc)
     
    Como começar?
     
    Actions:
    function onUse(cid, item, frompos, item2, topos)oufunction onUse(cid, item, fromPosition, itemEx, toPosition)
     
    cid: CreatureID (Monsters, NPCS, Players);
    item: O item que iremos clicar, podemos informar ele no script ou no .xml;
    frompos: Na posição que estou clicando;
    item2: Items com use with...
    topos: Para a posição;
     
    Creaturescripts:
    function onLogin(cid)function onLogout(cid)function onDie(cid)function onDeath(cid, corpse, killer)function onAdvance(cid, skill, oldlevel, newlevel)function onAttack(cid, target)function onCombat(cid, target)function onLook(cid, thing, position, lookDistance)function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)function onKill(cid, target, lastHit)function onTextEdit(cid, item, newText)function onStatsChange(cid, attacker, type, combat, value)
     
    corpse: Corpo ao morrer;
    killer: Quem matou;
    target: Quem o cid atacou;
    lastHitKiller: O último a hitar;
    mostDamageKiller: O que mais hitou;
    lastHit: O valor do último hit;
    attacker: Quem atacou o cid;
     
     
    Globalevents:
    function onThink(interval, lastExecution, thinkInterval)function onTimer() Movements:
    function onEquip(cid, item, slot)function onDeEquip(cid, item, slot)function onStepOut(cid, item, pos)function onStepIn(cid, item, pos)function onAddItem(moveitem, tileitem, pos)function onRemoveItem(moveitem, tileitem, pos)
     
    item: O item que o cid equipou / desequipou ou andou em cima;
     
     
     
     
     
     
    Talkactions:
    function onSay(cid, words, param)
     
    words: Palavras ditas;
    param: Parâmetros das palavras;
     
    Explicações:
    callbacks -- Nome das funçõesExemplos: onSay, onKill. parameters ou parâmetros -- São tudo que vem depois do callback e entre ( e ).Exemplos: (cid, item) Criandos os scripts:
     
    Primeiramente, devemos saber oque queremos fazer. Se vamos clicar em algo (actions), se vamos falar (talkactions), se vamos colocar / retirar items ou andar (movements), entre outros. Digamos que iremos criar um actions:
    function onUse(cid, item, frompos, item2, topos) Agora queremos adicionar ao script, uma verificação. Caso o player tenha level maior que 300, ele irá healar toda sua health e mana:
    function onUse(cid, item, frompos, item2, topos)    if getPlayerLevel(cid) >= 300 then    doCreatureAddHealth(cid, 100000)    doCreatureAddMana(cid, 100000)endend Utilizando operadores relacionais verificamos se o level do cid (player), é 300 ou maior. E assim, adicionar mana e health.
     
     
     

     
    Exercícios para casa:
     
    1º Exercício: Tente criar um item que ao clicar, me dê 100gps.
    2º Exercício: Faça oque puder com oque aprendemos, tente utilizar 10 funções.
    3º Exercício: Escolha um script qualquer na internet, e explique ele completo.
  6. Upvote
    infernity deu reputação a Roksas em [Tutorial] Conhecendo o math.random   
    Iaaae galera tudo bom? Hoje irei dar umas informações, ensinar mais a respeito do "math.random"!
    Introdução Modos de usá-lo Finalização


    math.random


    Bom galera, o math.random é uma função da linguagem Lua, que pertence á biblioteca MATH. Essa função é utilizada para gerar "valores" aleatórios, numa linguagem mais fácil de compreender: ele sorteia os valores!


    Como utilizar?

    A função math.random, por narutreza é composta desta forma:

    math.random(inicial, final)

    Aonde o "inicial" corresponde ao primeiro valor, e o "final" ao último valor. Exemplo:


    math.random (1, 20)

    Aqui sorteamos qualquer valor entre 1 e 20. (Valor inicial/final).

    Um outro exemplo de uso:

    doSendAnimatedText(position,"Hail Eks", math.random(1, 255))

    Aqui iremos mandar aquelas mensagens coloridas, as cores vão variar de 1 a 255 (Valor inicial/final). Entenderam?

    Ok, até aqui utilizamos valores "OBRIGATÓRIOS". Mas porque? Dei alguns exemplos acima, como:


    math.random(1, 20)

    Iremos sortear qualquer valor entre 1 e 20. MAS, e se eu não quiser passar pelo valor 15? Como fazemos?

    Simples, criamos uma variável com os valores desejados, e outra randomizando, exemplo:


    local quero_esses = {2,5,10}random = quero_esses[math.random(1, #quero_esses)]

    Vamos entender essa lógica? Na variável "random", especifiquei que quero randomizar entre 2, 5 e 10. que utilizei acima, coloquei o "VALOR INICIAL", que é o primeiro valor, não importa qual, da minha variável/table/array... e usando o símbolo #, verifico o "tamanho da tabela", ou seja, pego todos os valores da mesma. Que no caso estão na variável (quero_esses).

    Sorteando qualquer valor entre os da minha variável, pode ser 2, 5 ou 10!

    Podemos também utilizar essa lógica do sorteamento DESEJADO, para quests de sorte. Exemplo de uso:


    local possibilidades = {2148, 2450, 2555} -- Possíveis items a ganhar!local randomizar = possibilidades[math.random(1,#possibilidades)]function onUse(cid, item, frompos, item2, topos)if getPlayerStorageValue(cid,2033) == -1 thendoPlayerAddItem(cid,randomizar,1)doPlayerSendTextMessage(cid,27,"Parabéns, o seu prêmio da quest foi sorteado!")setPlayerStorageValue(cid,2033,1)endreturn trueend

    Viram? Depois de criar as duas variáveis, uma randomizando e a outra com os valores, basta usar o nome da variável que randomiza, para escolher os valores entre "2148,2450 e 2555" no caso!

    É isso galera, espero que façam bom uso do math.random, como por exemplo: Sistema de chance de dropar, ou acontecer X coisa


    Beijo grande.
  7. Upvote
    infernity deu reputação a Lordfire em Participe da escola de Lua   
    Fala galera! Você que sempre quis aprender a fazer scripts, mas tudo parece tão confuso, ou então já sabe fazer algo, mas quer se aprofundar e dominar a linguagem LUA, confira a escola do nosso estagiário iunix!
     
    As aulas serão completas e voltadas a toda programação Lua, não apenas scripts de OTserv, isto é, desde a simples sintaxe do Lua até mesmo programação orientada a objetos! Não percam esta oportunidade.
     
    Clique aqui (http://www.xtibia.com/forum/topic/201702-aulas-de-programacao-em-lua-inscricoes/) para acessar o tópico de inscrição.
     

  8. Upvote
    infernity recebeu reputação de biriba800 em Egg System ! Pokemon   
    Bom galera eu to com um ot de pokemon e eu queria um Egg System.
    basicamente o sistema seria você ter um ovo de uma determinada éspecie de pokemon e após algum tempo ou após anda uma certa quantidade de passos esse ovo chocaria, procurei pelo forum e não encontrei, quem poder ajudar ai e Rep+, sei que e dificil mas não impossivel até porque ja vi uns ot's com esse sistema, valeu galera :XTibia_smile:
  9. Upvote
    infernity recebeu reputação de boxxer321 em [Poketibia] Pokedex Não Funciona!   
    Faça o seguinte, va na pasta data/actions e abra actions.xml e veja se la possue a seguite tag:

    <action itemid="2376" event="script" value="pokemon/pokedex.lua" allowfaruse="1" blockwalls="1"/>
    caso não tenha à adicione, depois disso va na pasta data\actions\scripts\pokemon , e adicione esse script, coloque o nome pokedex.lua

    function onUse(cid, item, fromPos, itemEx, toPos) 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 local pokemon = itemEx.uid local pokemons = { {"Bulbasaur", 20, 1001}, {"Ivysaur", 40, 1002}, {"Venusaur", 85, 1003}, {"Charmander", 20, 1004}, {"Charmeleon", 40, 1005}, {"Charizard", 85, 1006}, {"Squirtle", 20, 1007}, {"Wartortle", 40, 1008}, {"Blastoise", 85, 1009}, {"Caterpie", 3, 1010}, {"Metapod", 10, 1011}, {"Butterfree", 30, 1012}, {"Weedle", 3, 1013}, {"Kakuna", 10, 1014}, {"Beedrill", 30, 1015}, {"Pidgey", 5, 1016}, {"Pidgeotto", 20, 1017}, {"Pidgeot", 65, 1018}, {"Rattata", 3, 1019}, {"Raticate", 20, 1020}, {"Spearow", 5, 1021}, {"Fearow", 50, 1022}, {"Ekans", 12, 1023}, {"Arbok", 30, 1024}, {"Pikachu", 20, 1025}, {"Raichu", 45, 1026}, {"Sandshrew", 18, 1027}, {"Sandslash", 55, 1028}, {"Nidoran Female", 10, 1029}, {"Nidorina", 25, 1030}, {"Nidoqueen", 65, 1031}, {"Nidoran Male", 10, 1032}, {"Nidorino", 25, 1033}, {"Nidoking", 65, 1034}, {"Clefairy", 10, 1035}, {"Clefable", 35, 1036}, {"Vulpix", 20, 1037}, {"Ninetales", 65, 1038}, {"Jigglypuff", 10, 1039}, {"Wigglytuff", 42, 1040}, {"Zubat", 10, 1041}, {"Golbat", 30, 1042}, {"Oddish", 5, 1043}, {"Gloom", 18, 1044}, {"Vileplume", 50, 1045}, {"Paras", 5, 1046}, {"Parasect", 50, 1047}, {"Venonat", 18, 1048}, {"Venomoth", 50, 1049}, {"Diglett", 5, 1050}, {"Dugtrio", 35, 1051}, {"Meowth", 12, 1052}, {"Persion", 25, 1053}, {"Psyduck", 12, 1054}, {"Golduck", 55, 1055}, {"Mankey", 10, 1056}, {"Primeape", 45, 1057}, {"Growlithe", 20, 1058}, {"Arcanine", 80, 1059}, {"Poliwag", 5, 1060}, {"Poliwhirl", 20, 1061}, {"Poliwrath", 65, 1062}, {"Abra", 15, 1063}, {"Kadabra", 45, 1064}, {"Alakazam", 80, 1065}, {"Machop", 18, 1066}, {"Machoke", 40, 1067}, {"Machamp", 65, 1068}, {"Bellsprout", 5, 1069}, {"Weepinbell", 18, 1070}, {"Victreebel", 50, 1071}, {"Tentacool", 12, 1072}, {"Tentacruel", 70, 1073}, {"Geodude", 12, 1074}, {"Graveler", 40, 1075}, {"Golem", 65, 1076}, {"Ponyta", 20, 1077}, {"Rapidash", 60, 1078}, {"Slowpoke", 12, 1079}, {"Slowbro", 45, 1080}, {"Magnemite", 15, 1081}, {"Magneton", 40, 1082}, {"Farfetchd", 40, 1083}, {"Doduo", 12, 1084}, {"Dodrio", 45, 1085}, {"Seel", 20, 1086}, {"Dewgong", 65, 1087}, {"Grimer", 12, 1088}, {"Muk", 30, 1089}, {"Shellder", 5, 1090}, {"Cloyster", 65, 1091}, {"Gastly", 18, 1092}, {"Haunter", 45, 1093}, {"Gengar", 80, 1094}, {"Onix", 50, 1095}, {"Drowzee", 22, 1096}, {"Hypno", 50, 1097}, {"Krabby", 5, 1098}, {"Kingler", 35, 1099}, {"Voltorb", 14, 1100}, {"Electrode", 38, 1101}, {"Exeggcute", 8, 1102}, {"Exeggutor", 48, 1103}, {"Cubone", 18, 1104}, {"Marowak", 45, 1105}, {"Hitmonlee", 60, 1106}, {"Hitmonchan", 60, 1107}, {"Lickitung", 45, 1108}, {"Koffing", 15, 1109}, {"Weezing", 30, 1110}, {"Rhyhorn", 35, 1111}, {"Rhydon", 65, 1112}, {"Chansey", 60, 1113}, {"Tangela", 40, 1114}, {"Kangaskhan", 60, 1115}, {"Horsea", 5, 1116}, {"Seadra", 45, 1117}, {"Goldeen", 10, 1118}, {"Seaking", 25, 1119}, {"Staryu", 15, 1120}, {"Starmie", 45, 1121}, {"Mr.mime", 60, 1122}, {"Scyther", 70, 1123}, {"Jynx", 65, 1124}, {"Electabuzz", 70, 1125}, {"Magmar", 70, 1126}, {"Pinsir", 42, 1127}, {"Tauros", 40, 1128}, {"Magikarp", 1, 1129}, {"Gyarados", 75, 1130}, {"Lapras", 70, 1131}, {"Ditto", 40, 1132}, {"Eevee", 20, 1133}, {"Vaporeon", 55, 1134}, {"Jolteon", 55, 1135}, {"Flareon", 55, 1136}, {"Porygon", 45, 1137}, {"Omanyte", 20, 1138}, {"Omastar", 70, 1139}, {"Kabuto", 20, 1140}, {"Kabutops", 70, 1141}, {"Aerodactyl", 100, 1142}, {"Snorlax", 85, 1143}, {"Articuno", 120, 1144}, {"Zapdos", 120, 1145}, {"Moltres", 120, 1146}, {"Dratini", 10, 1147}, {"Dragonair", 70, 1148}, {"Dragonite", 100, 1149}, {"Mewtwo", 120, 1150}, {"Mew", 120, 1151}, } for _,n in pairs(pokemons) do if isSummon(pokemon) then if getCreatureName(pokemon) == n[1] and getPlayerLevel(cid) >= n[2] and getPlayerStorageValue(cid, n[3]) <= 0 then j = (n[2]) * 275 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked " .. n[1] .. " in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained " .. j .. " experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, (n[2])*275) setPlayerStorageValue(cid, n[3], 1) elseif getCreatureName(pokemon) == n[1] and getPlayerLevel(cid) < n[2] and getPlayerStorageValue(cid, n[3]) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to be at least level " .. n[2] .. " to unlock this pokemon.") elseif getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[3]) >= 1 then local v = ((n[3]) + 1376) local dexstring = ""..n[1]..".txt" local Dex = io.open('data/pokedex/'..dexstring, 'r') doShowTextDialog(cid, (v), Dex:read("*all")) Dex:close() end elseif isMonster(pokemon) then if getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[3]) <= 0 then j = (n[2]) * 275 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked " .. n[1] .. " in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained " .. j .. " experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, (n[2])*275) setPlayerStorageValue(cid, n[3], 1) elseif getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[3]) >= 1 then local v = ((n[3]) + 1376) local dexstring = ""..n[1]..".txt" local Dex = io.open('data/pokedex/'..dexstring, 'r') doShowTextDialog(cid, v, Dex:read("*all")) Dex:close() end end end local store = {1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151} local unlock = {} if not isCreature(itemEx.uid) then return true end for i = 1, #store do if getPlayerStorageValue(itemEx.uid, store[i]) > 0 then table.insert(unlock, 1) end end if isPlayer(itemEx.uid) then setPlayerStorageValue(cid, 7274, 1) if getCreatureName(cid) == getCreatureName(itemEx.uid) then doPlayerSendTextMessage(cid, 27, "You have unlocked " .. #unlock .. " pokemons already.") doPlayerSendTextMessage(cid, 27, "You can open a pokedex entry by typing \"/dex <name>\". Example: \"/dex Pikachu\".") else doPlayerSendTextMessage(cid, 27, getPlayerName(itemEx.uid) .. " has unlocked " .. #unlock .. " pokemons already.") end end return true end
    Veja se na pasta data existe outra pasta chamada pokedex, caso não tenha me fale que eu coloco ela em winrrar.
  10. Upvote
    infernity deu reputação a zxsmockxz em Meus Primeiros Pokes   
    Olá pessoal do :XTibia_smile:
    Venho aqui mostrar um pouco do meu trabalho, to tentando colocar o máximo de pokes no meu server(eu nem vou abrir o server é só pra mim mesmo)
    Então la vai as SS's
     
    Staraptor:

     
    Leafeon:

     
    Download Sprite do Leafeon> AQUI
     
    Glaceon:

    Usei a dica do StrondaBoy e virei a Portrait desse
     
    É isso ai pessoal, deixem seus comentários e críticas(construtivas por favor..)
    E se eu merecer REP+ pra dar um insentivo :weight_lift:
    Até mais, logo, logo eu posto mais pokes.
  11. Upvote
    infernity recebeu reputação de tibiigor em [Poketibia] Pokedex Não Funciona!   
    Faça o seguinte, va na pasta data/actions e abra actions.xml e veja se la possue a seguite tag:

    <action itemid="2376" event="script" value="pokemon/pokedex.lua" allowfaruse="1" blockwalls="1"/>
    caso não tenha à adicione, depois disso va na pasta data\actions\scripts\pokemon , e adicione esse script, coloque o nome pokedex.lua

    function onUse(cid, item, fromPos, itemEx, toPos) 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 local pokemon = itemEx.uid local pokemons = { {"Bulbasaur", 20, 1001}, {"Ivysaur", 40, 1002}, {"Venusaur", 85, 1003}, {"Charmander", 20, 1004}, {"Charmeleon", 40, 1005}, {"Charizard", 85, 1006}, {"Squirtle", 20, 1007}, {"Wartortle", 40, 1008}, {"Blastoise", 85, 1009}, {"Caterpie", 3, 1010}, {"Metapod", 10, 1011}, {"Butterfree", 30, 1012}, {"Weedle", 3, 1013}, {"Kakuna", 10, 1014}, {"Beedrill", 30, 1015}, {"Pidgey", 5, 1016}, {"Pidgeotto", 20, 1017}, {"Pidgeot", 65, 1018}, {"Rattata", 3, 1019}, {"Raticate", 20, 1020}, {"Spearow", 5, 1021}, {"Fearow", 50, 1022}, {"Ekans", 12, 1023}, {"Arbok", 30, 1024}, {"Pikachu", 20, 1025}, {"Raichu", 45, 1026}, {"Sandshrew", 18, 1027}, {"Sandslash", 55, 1028}, {"Nidoran Female", 10, 1029}, {"Nidorina", 25, 1030}, {"Nidoqueen", 65, 1031}, {"Nidoran Male", 10, 1032}, {"Nidorino", 25, 1033}, {"Nidoking", 65, 1034}, {"Clefairy", 10, 1035}, {"Clefable", 35, 1036}, {"Vulpix", 20, 1037}, {"Ninetales", 65, 1038}, {"Jigglypuff", 10, 1039}, {"Wigglytuff", 42, 1040}, {"Zubat", 10, 1041}, {"Golbat", 30, 1042}, {"Oddish", 5, 1043}, {"Gloom", 18, 1044}, {"Vileplume", 50, 1045}, {"Paras", 5, 1046}, {"Parasect", 50, 1047}, {"Venonat", 18, 1048}, {"Venomoth", 50, 1049}, {"Diglett", 5, 1050}, {"Dugtrio", 35, 1051}, {"Meowth", 12, 1052}, {"Persion", 25, 1053}, {"Psyduck", 12, 1054}, {"Golduck", 55, 1055}, {"Mankey", 10, 1056}, {"Primeape", 45, 1057}, {"Growlithe", 20, 1058}, {"Arcanine", 80, 1059}, {"Poliwag", 5, 1060}, {"Poliwhirl", 20, 1061}, {"Poliwrath", 65, 1062}, {"Abra", 15, 1063}, {"Kadabra", 45, 1064}, {"Alakazam", 80, 1065}, {"Machop", 18, 1066}, {"Machoke", 40, 1067}, {"Machamp", 65, 1068}, {"Bellsprout", 5, 1069}, {"Weepinbell", 18, 1070}, {"Victreebel", 50, 1071}, {"Tentacool", 12, 1072}, {"Tentacruel", 70, 1073}, {"Geodude", 12, 1074}, {"Graveler", 40, 1075}, {"Golem", 65, 1076}, {"Ponyta", 20, 1077}, {"Rapidash", 60, 1078}, {"Slowpoke", 12, 1079}, {"Slowbro", 45, 1080}, {"Magnemite", 15, 1081}, {"Magneton", 40, 1082}, {"Farfetchd", 40, 1083}, {"Doduo", 12, 1084}, {"Dodrio", 45, 1085}, {"Seel", 20, 1086}, {"Dewgong", 65, 1087}, {"Grimer", 12, 1088}, {"Muk", 30, 1089}, {"Shellder", 5, 1090}, {"Cloyster", 65, 1091}, {"Gastly", 18, 1092}, {"Haunter", 45, 1093}, {"Gengar", 80, 1094}, {"Onix", 50, 1095}, {"Drowzee", 22, 1096}, {"Hypno", 50, 1097}, {"Krabby", 5, 1098}, {"Kingler", 35, 1099}, {"Voltorb", 14, 1100}, {"Electrode", 38, 1101}, {"Exeggcute", 8, 1102}, {"Exeggutor", 48, 1103}, {"Cubone", 18, 1104}, {"Marowak", 45, 1105}, {"Hitmonlee", 60, 1106}, {"Hitmonchan", 60, 1107}, {"Lickitung", 45, 1108}, {"Koffing", 15, 1109}, {"Weezing", 30, 1110}, {"Rhyhorn", 35, 1111}, {"Rhydon", 65, 1112}, {"Chansey", 60, 1113}, {"Tangela", 40, 1114}, {"Kangaskhan", 60, 1115}, {"Horsea", 5, 1116}, {"Seadra", 45, 1117}, {"Goldeen", 10, 1118}, {"Seaking", 25, 1119}, {"Staryu", 15, 1120}, {"Starmie", 45, 1121}, {"Mr.mime", 60, 1122}, {"Scyther", 70, 1123}, {"Jynx", 65, 1124}, {"Electabuzz", 70, 1125}, {"Magmar", 70, 1126}, {"Pinsir", 42, 1127}, {"Tauros", 40, 1128}, {"Magikarp", 1, 1129}, {"Gyarados", 75, 1130}, {"Lapras", 70, 1131}, {"Ditto", 40, 1132}, {"Eevee", 20, 1133}, {"Vaporeon", 55, 1134}, {"Jolteon", 55, 1135}, {"Flareon", 55, 1136}, {"Porygon", 45, 1137}, {"Omanyte", 20, 1138}, {"Omastar", 70, 1139}, {"Kabuto", 20, 1140}, {"Kabutops", 70, 1141}, {"Aerodactyl", 100, 1142}, {"Snorlax", 85, 1143}, {"Articuno", 120, 1144}, {"Zapdos", 120, 1145}, {"Moltres", 120, 1146}, {"Dratini", 10, 1147}, {"Dragonair", 70, 1148}, {"Dragonite", 100, 1149}, {"Mewtwo", 120, 1150}, {"Mew", 120, 1151}, } for _,n in pairs(pokemons) do if isSummon(pokemon) then if getCreatureName(pokemon) == n[1] and getPlayerLevel(cid) >= n[2] and getPlayerStorageValue(cid, n[3]) <= 0 then j = (n[2]) * 275 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked " .. n[1] .. " in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained " .. j .. " experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, (n[2])*275) setPlayerStorageValue(cid, n[3], 1) elseif getCreatureName(pokemon) == n[1] and getPlayerLevel(cid) < n[2] and getPlayerStorageValue(cid, n[3]) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to be at least level " .. n[2] .. " to unlock this pokemon.") elseif getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[3]) >= 1 then local v = ((n[3]) + 1376) local dexstring = ""..n[1]..".txt" local Dex = io.open('data/pokedex/'..dexstring, 'r') doShowTextDialog(cid, (v), Dex:read("*all")) Dex:close() end elseif isMonster(pokemon) then if getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[3]) <= 0 then j = (n[2]) * 275 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked " .. n[1] .. " in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained " .. j .. " experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, (n[2])*275) setPlayerStorageValue(cid, n[3], 1) elseif getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[3]) >= 1 then local v = ((n[3]) + 1376) local dexstring = ""..n[1]..".txt" local Dex = io.open('data/pokedex/'..dexstring, 'r') doShowTextDialog(cid, v, Dex:read("*all")) Dex:close() end end end local store = {1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151} local unlock = {} if not isCreature(itemEx.uid) then return true end for i = 1, #store do if getPlayerStorageValue(itemEx.uid, store[i]) > 0 then table.insert(unlock, 1) end end if isPlayer(itemEx.uid) then setPlayerStorageValue(cid, 7274, 1) if getCreatureName(cid) == getCreatureName(itemEx.uid) then doPlayerSendTextMessage(cid, 27, "You have unlocked " .. #unlock .. " pokemons already.") doPlayerSendTextMessage(cid, 27, "You can open a pokedex entry by typing \"/dex <name>\". Example: \"/dex Pikachu\".") else doPlayerSendTextMessage(cid, 27, getPlayerName(itemEx.uid) .. " has unlocked " .. #unlock .. " pokemons already.") end end return true end
    Veja se na pasta data existe outra pasta chamada pokedex, caso não tenha me fale que eu coloco ela em winrrar.
  12. Upvote
    infernity recebeu reputação de clevinhu em [Poketibia] Pokedex Não Funciona!   
    Faça o seguinte, va na pasta data/actions e abra actions.xml e veja se la possue a seguite tag:

    <action itemid="2376" event="script" value="pokemon/pokedex.lua" allowfaruse="1" blockwalls="1"/>
    caso não tenha à adicione, depois disso va na pasta data\actions\scripts\pokemon , e adicione esse script, coloque o nome pokedex.lua

    function onUse(cid, item, fromPos, itemEx, toPos) 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 local pokemon = itemEx.uid local pokemons = { {"Bulbasaur", 20, 1001}, {"Ivysaur", 40, 1002}, {"Venusaur", 85, 1003}, {"Charmander", 20, 1004}, {"Charmeleon", 40, 1005}, {"Charizard", 85, 1006}, {"Squirtle", 20, 1007}, {"Wartortle", 40, 1008}, {"Blastoise", 85, 1009}, {"Caterpie", 3, 1010}, {"Metapod", 10, 1011}, {"Butterfree", 30, 1012}, {"Weedle", 3, 1013}, {"Kakuna", 10, 1014}, {"Beedrill", 30, 1015}, {"Pidgey", 5, 1016}, {"Pidgeotto", 20, 1017}, {"Pidgeot", 65, 1018}, {"Rattata", 3, 1019}, {"Raticate", 20, 1020}, {"Spearow", 5, 1021}, {"Fearow", 50, 1022}, {"Ekans", 12, 1023}, {"Arbok", 30, 1024}, {"Pikachu", 20, 1025}, {"Raichu", 45, 1026}, {"Sandshrew", 18, 1027}, {"Sandslash", 55, 1028}, {"Nidoran Female", 10, 1029}, {"Nidorina", 25, 1030}, {"Nidoqueen", 65, 1031}, {"Nidoran Male", 10, 1032}, {"Nidorino", 25, 1033}, {"Nidoking", 65, 1034}, {"Clefairy", 10, 1035}, {"Clefable", 35, 1036}, {"Vulpix", 20, 1037}, {"Ninetales", 65, 1038}, {"Jigglypuff", 10, 1039}, {"Wigglytuff", 42, 1040}, {"Zubat", 10, 1041}, {"Golbat", 30, 1042}, {"Oddish", 5, 1043}, {"Gloom", 18, 1044}, {"Vileplume", 50, 1045}, {"Paras", 5, 1046}, {"Parasect", 50, 1047}, {"Venonat", 18, 1048}, {"Venomoth", 50, 1049}, {"Diglett", 5, 1050}, {"Dugtrio", 35, 1051}, {"Meowth", 12, 1052}, {"Persion", 25, 1053}, {"Psyduck", 12, 1054}, {"Golduck", 55, 1055}, {"Mankey", 10, 1056}, {"Primeape", 45, 1057}, {"Growlithe", 20, 1058}, {"Arcanine", 80, 1059}, {"Poliwag", 5, 1060}, {"Poliwhirl", 20, 1061}, {"Poliwrath", 65, 1062}, {"Abra", 15, 1063}, {"Kadabra", 45, 1064}, {"Alakazam", 80, 1065}, {"Machop", 18, 1066}, {"Machoke", 40, 1067}, {"Machamp", 65, 1068}, {"Bellsprout", 5, 1069}, {"Weepinbell", 18, 1070}, {"Victreebel", 50, 1071}, {"Tentacool", 12, 1072}, {"Tentacruel", 70, 1073}, {"Geodude", 12, 1074}, {"Graveler", 40, 1075}, {"Golem", 65, 1076}, {"Ponyta", 20, 1077}, {"Rapidash", 60, 1078}, {"Slowpoke", 12, 1079}, {"Slowbro", 45, 1080}, {"Magnemite", 15, 1081}, {"Magneton", 40, 1082}, {"Farfetchd", 40, 1083}, {"Doduo", 12, 1084}, {"Dodrio", 45, 1085}, {"Seel", 20, 1086}, {"Dewgong", 65, 1087}, {"Grimer", 12, 1088}, {"Muk", 30, 1089}, {"Shellder", 5, 1090}, {"Cloyster", 65, 1091}, {"Gastly", 18, 1092}, {"Haunter", 45, 1093}, {"Gengar", 80, 1094}, {"Onix", 50, 1095}, {"Drowzee", 22, 1096}, {"Hypno", 50, 1097}, {"Krabby", 5, 1098}, {"Kingler", 35, 1099}, {"Voltorb", 14, 1100}, {"Electrode", 38, 1101}, {"Exeggcute", 8, 1102}, {"Exeggutor", 48, 1103}, {"Cubone", 18, 1104}, {"Marowak", 45, 1105}, {"Hitmonlee", 60, 1106}, {"Hitmonchan", 60, 1107}, {"Lickitung", 45, 1108}, {"Koffing", 15, 1109}, {"Weezing", 30, 1110}, {"Rhyhorn", 35, 1111}, {"Rhydon", 65, 1112}, {"Chansey", 60, 1113}, {"Tangela", 40, 1114}, {"Kangaskhan", 60, 1115}, {"Horsea", 5, 1116}, {"Seadra", 45, 1117}, {"Goldeen", 10, 1118}, {"Seaking", 25, 1119}, {"Staryu", 15, 1120}, {"Starmie", 45, 1121}, {"Mr.mime", 60, 1122}, {"Scyther", 70, 1123}, {"Jynx", 65, 1124}, {"Electabuzz", 70, 1125}, {"Magmar", 70, 1126}, {"Pinsir", 42, 1127}, {"Tauros", 40, 1128}, {"Magikarp", 1, 1129}, {"Gyarados", 75, 1130}, {"Lapras", 70, 1131}, {"Ditto", 40, 1132}, {"Eevee", 20, 1133}, {"Vaporeon", 55, 1134}, {"Jolteon", 55, 1135}, {"Flareon", 55, 1136}, {"Porygon", 45, 1137}, {"Omanyte", 20, 1138}, {"Omastar", 70, 1139}, {"Kabuto", 20, 1140}, {"Kabutops", 70, 1141}, {"Aerodactyl", 100, 1142}, {"Snorlax", 85, 1143}, {"Articuno", 120, 1144}, {"Zapdos", 120, 1145}, {"Moltres", 120, 1146}, {"Dratini", 10, 1147}, {"Dragonair", 70, 1148}, {"Dragonite", 100, 1149}, {"Mewtwo", 120, 1150}, {"Mew", 120, 1151}, } for _,n in pairs(pokemons) do if isSummon(pokemon) then if getCreatureName(pokemon) == n[1] and getPlayerLevel(cid) >= n[2] and getPlayerStorageValue(cid, n[3]) <= 0 then j = (n[2]) * 275 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked " .. n[1] .. " in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained " .. j .. " experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, (n[2])*275) setPlayerStorageValue(cid, n[3], 1) elseif getCreatureName(pokemon) == n[1] and getPlayerLevel(cid) < n[2] and getPlayerStorageValue(cid, n[3]) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to be at least level " .. n[2] .. " to unlock this pokemon.") elseif getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[3]) >= 1 then local v = ((n[3]) + 1376) local dexstring = ""..n[1]..".txt" local Dex = io.open('data/pokedex/'..dexstring, 'r') doShowTextDialog(cid, (v), Dex:read("*all")) Dex:close() end elseif isMonster(pokemon) then if getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[3]) <= 0 then j = (n[2]) * 275 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked " .. n[1] .. " in your pokedex!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained " .. j .. " experience points.") doSendMagicEffect(getThingPos(cid), 210) doPlayerAddExperience(cid, (n[2])*275) setPlayerStorageValue(cid, n[3], 1) elseif getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[3]) >= 1 then local v = ((n[3]) + 1376) local dexstring = ""..n[1]..".txt" local Dex = io.open('data/pokedex/'..dexstring, 'r') doShowTextDialog(cid, v, Dex:read("*all")) Dex:close() end end end local store = {1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151} local unlock = {} if not isCreature(itemEx.uid) then return true end for i = 1, #store do if getPlayerStorageValue(itemEx.uid, store[i]) > 0 then table.insert(unlock, 1) end end if isPlayer(itemEx.uid) then setPlayerStorageValue(cid, 7274, 1) if getCreatureName(cid) == getCreatureName(itemEx.uid) then doPlayerSendTextMessage(cid, 27, "You have unlocked " .. #unlock .. " pokemons already.") doPlayerSendTextMessage(cid, 27, "You can open a pokedex entry by typing \"/dex <name>\". Example: \"/dex Pikachu\".") else doPlayerSendTextMessage(cid, 27, getPlayerName(itemEx.uid) .. " has unlocked " .. #unlock .. " pokemons already.") end end return true end
    Veja se na pasta data existe outra pasta chamada pokedex, caso não tenha me fale que eu coloco ela em winrrar.
  13. Upvote
    infernity recebeu reputação de nemeremo em [Pedido]Npc Noticia   
    Faz o seguinte vo te passa um script que ele da noticias esponteneas ao decorrer do jogo.
    Va em data\globalevents\scripts, e adicione esse script, anuncios.lua.
     

    function onThink(interval, lastExecution) -- Configurações local cor = 12 -- Defina a cor da mensagem (22 = branco) local mensagens = { "Reporte Bugs no Ctrl + r.", "Ajude nosso server a crescer, divulgem.", } -- Fim de Configurações doBroadcastMessage(mensagens[math.random(1,table.maxn(mensagens))]) return TRUE end
     
    Se quiser add uma nova so por "......", uma em baixo da outra.
     
    Agora va em data\globalevents e adicione essa tag:

    <globalevent name="Anuncios" interval="180" script="anuncios.lua"/>
  14. Upvote
    infernity recebeu reputação de othereality em Uma Simples Ajuda.   
    Velho,NÃO INTENDO muito de script, mas espero que ajude!
     

    <action itemid="xxxx" event="script" value="tools/fishing.lua" allowfaruse="1"/>

    xxxx = o id da fishrood desejada.
    value seria o local onde esta o script o meu ta na pasta tools.
     
    Um complemento para seu script, se voce desejar!
     

    local config = { waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}, }
    coloque logo abaixo de:
    function onUse(cid, item, fromPosition, itemEx, toPosition)
     
    Obs: não testei, olhe e me fale se pego ou não.
    _____________________________________________________________________________________________________________________________________
    Ajudei? verdinha :button_ok:

  15. Upvote
    infernity recebeu reputação de nyuchiha em Sistema Npc Gym Para Pokemon   
    RT:
    DeathAngels -- olhe os corpse de seus pokemons, no meu tava corpse 0 do geodude era a causa do erro.

  16. Upvote
    infernity deu reputação a brun123 em Sistema Npc Gym Para Pokemon   
    • nome: Sistema de Ginásio / GYM para pokemon.
    • autor: brun123 (mastercraft)
    • versão testada: TFS 0.36 pl 1 (8.54)
     
     
     
     
    Detalhes: Como cada servidor de pokemon é bem diferente, acredito que muitos erros vão aparecer devido a diferença de IDs das pokebolas por exemplo, mas vou ajudar no que posso.
     
     
    Primeiro passo: crie um arquivo com o nome gymlib.lua na pasta data/lib/, e coloque isso dentro do arquivo:
     
     
     
    Segundo passo: crie um arquivo chamado gym.lua na pasta data/creaturescripts/scripts/ e coloque isso dentro:
     
     
     
    Terceiro passo: abra o arquivo creaturescripts.xml (localizado em data/creaturescripts) e adicione essas 4 tags:
     
    <event type="cast" name="Gym1" event="script" value="gym.lua"/> <event type="attack" name="Gym2" event="script" value="gym.lua"/> <event type="direction" name="Gym3" event="script" value="gym.lua"/> <event type="death" name="Gym4" event="script" value="gym.lua"/> Quarto passo: crie um arquivo chamado brock.xml em data/npc e crie um chamado brock.lua em data/npc/scripts e coloque isso dentro:
     
     
    Quinto passo: se você usar o pokemon dash, vá no arquivo playerattack.lua (data/creatureevents/scripts) e adicione esses códigos embaixo da linha "function onAttack(cid, target)":
     

    if getPlayerStorageValue(target, 201) ~= -1 then for a, b in pairs(ginasios) do if getPlayerStorageValue(target, ginasios[getPlayerStorageValue(target, 201)].storage) == 1 then if getPlayerStorageValue(cid, ginasios[getPlayerStorageValue(target, 201)].storage) ~= 1 then doPlayerSendCancel(cid, "You can't attack this pokemon.") return false end end end end end
    Se você não usa o pokemon dash, crie um arquivo chamado playerattack.lua na pasta data/creatureevents/scripts e coloque isso dentro:
     

    function onAttack(cid, target) if getPlayerStorageValue(target, 201) ~= -1 then for a, b in pairs(ginasios) do if getPlayerStorageValue(target, ginasios[getPlayerStorageValue(target, 201)].storage) == 1 then if getPlayerStorageValue(cid, ginasios[getPlayerStorageValue(target, 201)].storage) ~= 1 then doPlayerSendCancel(cid, "You can't attack this pokemon.") return false end end end end return true end
    e adicione essa tag no creaturescripts.xml (data/creaturescripts):
     

    <event type="attack" name="PlayerAttack" event="script" value="playerattack.lua"/>
    e ainda, abra o arquivo login.lua e embaixo dessa linha: "function onLogin(cid)" adicione esse código:
     

    registerCreatureEvent(cid, "PlayerAttack")  
    Último passo: vá em data/creaturescripts/scripts e abra o arquivo goback.lua (aqui por exemplo, pode ser que haja uma particulariedade de servidor para servidor), e procure pela linha:
    function onDeath(cid, deathList)
    e abaixo dela, adicione esse código:
     
    local owner = getCreatureMaster(cid) for x, y in pairs(ginasios) do if getPlayerStorageValue(owner, y.storage) == 1 then if getPlayerStorageValue(owner, 991) == 5 or not hasPokemon(owner) then setPlayerStorageValue(owner, 991, -1) else local number = tonumber(getPlayerStorageValue(owner, 991)) setPlayerStorageValue(owner, 991, number + 1) end end end Configuração dos NPCs:
    Abrindo o arquivo brock.lua na pasta data/npc/scripts, procure por esta linha:
    "doGymBattle("Brock", "Brock Geodude", cid, 1)"
    o "Brock" precisa ser o nome do NPC e o "Brock Geodude" precisa ser o nome do primeiro pokemon a ser usado.
     
    Agora nessa parte, no script do seu NPC, você também deve editar o nome do NPC no lugar de "brock".
    Se quiser que o player possa lutar com o NPC mesmo depois de tê-lo vencido, é só remover a mesma parte:
     

    if getPlayerStorageValue(cid, ginasios["Brock"].storage) >= 1 then return true end
     
    Ao abrir o arquivo gymlib.lua, você encontra essas duas linhas (são as primeiras):
     

    funcpokemon = {2220, 2222} -- ID das pokebolas (o pokemon tem que estar vivo nessas IDs) bpslot = CONST_SLOT_BACKPACK --em outros servers, pode ser que seja CONST_SLOT_AMMO o lugar onde fica a backpack no inventory Onde está funcpokemon, você coloca o ID de todas as pokebolas do seu server, mas esse ID tem que ser o ID da pokebola com algum pokemon vivo dentro, e esses IDs devem ser separados por vírgula.
    Onde está bpslot, você escreve onde fica a BACKPACK do seu server de pokemon. Se ficar no lugar normal de BPs, deixe como está, mas se sua BP fica no slot da munição (ammunition), você deve estar para CONST_SLOT_AMMO. Isso é tudo, agora vocês podem configurar os IDs e localização da BP facilmente, sem precisar conhecimentos mais avançados sobre scripting, e evitar erros no sistema.
     
    Abrindo o arquivo gymlib.lua, localizado em data/lib/ você encontra essa tabela:
     

    ginasios = { ["Brock"] = { storage = 900, msgdefeat = "You lost! You aren't strong enough yet, don't come back until you get stronger!", msgafk = "Go away if you don't have any pokemons!", msgwin = "Congratulations, you were strong enough to win this battle fairly! Take this Earth Badge as reward.", [1] = { msggo = "Lets fight then! I choose you, Geodude!", msgba = "That's enough, Geodude!", pokem = "Brock Geodude", nextp = "Brock Graveler"}, [2] = { msggo = "It's your turn, Graveler!", msgba = "Come back, Graveler!", pokem = "Brock Graveler", nextp = "Brock Golem"}, [3] = { msggo = "Crush'em, Golem!", msgba = "You did well, Golem!", pokem = "Brock Golem", nextp = "finish"} } } • storage significa a única storage que deve variar de NPC para NPC, tenha certeza de que essa storage não está sendo usada, é você não deve usar a storage 901 aqui, pois a mesma já está em uso pelo próprio sistema.
    • msgdefeat significa o que o NPC irá dizer quando o player perder o duelo.
    • msgafk significa o que o NPC irá dizer caso o player comece o duelo, mas não faça nada depois.
    • msgwin significa o que o NPC irá dizer quando o player vencer o duelo.
    • msggo / msgba significam os textos que o NPC irá dizer ao sumonar o pokemon dele, ou quando o mesmo morrer, respectivamente.• pokem / nextp significam o nome do pokemon que será utilizado, e o próximo pokemon a ser sumonado pelo NPC, respectivamente. Caso o nextp seja especificado como "finish", não haverá um próximo pokemon.
    • o número entre [] significa a ordem utilizada pelo líder para usar o tal pokemon, sendo 1 o primeiro pokemon, 2 o segundo e assim vai...
    Uma tabela detalhada sobre a configuração:
     
     
    Importante: caso for testar o sistema como foi postado aqui, é necessário criar antes os monstros Brock Geodude, Brock Graveler e Brock Golem, assim como adicioná-los no monsters.xml.
    Recomendações: é bom você impedir que o pokemon consiga retornar para a pokebola durante duelos (assim como foi feito no SvkE), para isso, basta adicionar esse código no arquivo goback.lua (data/actions) na parte inicial de retornar o pokemon:
     

    for a, b in pairs(ginasios) do if getPlayerStorageValue(cid, b.storage) == 1 then -- GYM doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.") return true end end Aconselho fazer o mesmo caso seu server tenha script de revive.
     
    Deve-se também checar pelos storages usado em players, somente o 990 e o 991.
     
    No servidor testado, é utilizado apenas pokeballs e ultraballs, com IDs 2220 e 2222 (outra particularidade).
     
    Após ter instalado os arquivos, entre no jogo e use o comando /n Brock para testar o NPC.
     
    Último aviso: o prêmio ainda não foi adicionado (que seria a badge), pois esse sim é bem variado de servidor pra servidor.
    Já que nenhum servidor base já vem com os IDs das badges, cada um adicionou elas de modo diferente, por isso não pude fazer, mas existe uma parte sobre um prêmio no arquivo gym.lua (data/creaturescripts/scripts), procure por isso:
     

    --local item = getPlayerItemById(killer, true, 2307) --doTransformItem(item.uid, 2294) Você pode modificar para adicionar dinheiro ou outra coisa, e pode também desenvolver um sistema de badges.
    Eu não vou fazer badge aqui, mas se vocês tentarem, posso ajudar com problemas.
     
    Quaisquer erros, tentarei responder o mais rápido possível.
  17. Upvote
    infernity deu reputação a Vodkart em Script Super Facil   
    área errada.
     
    o npc só vai teleportar o jogador uma vez? ou o jogador sempre que pagar 500gp pro ncp recebe 30 diamonds e é teleportado?
  18. Upvote
    infernity deu reputação a peewee em [Talkaction]Sistema M1 Até M6 + Tutorial De Edições.   
    [Talkaction]Sistema M1 até M6 + Tutorial de Edições.
     
     
    Créditos:
     
    Apocarai
    PeeWee
     
     
     
    Olá, antes eu já havia postado o sistema até m3, agora venho traze-lo até m6.
    Do m4 até m6 decidir fazer diferente, dessa vez quem irá colocar as magias , combat e level necessário será vocês.
     
    Estou fazendo isso para que vocês entendam melhor o comando, e caso precisarem editar que não precisem e ajuda.
     
    No final do Tópico estará os tutoriais.
     
     
    M1
     
     
     
     
    M2
     
     
     
     
    M3
     
     
     
     
    ----//----//----//----//----//----//----//----//----//----//----//----//----//----
     
    M4
     
     
     
     
    M5
     
     
     
     
    M6
     
     
     
     
    Tags
     
     
     
     
     
    Obs. QUANDO SALVAR OS COMANDOS COLOQUE O NOME DE SistemaM... [Nos pontos bote numero da magia.
     
    Tutorial Como Adicionar Magia , Combat e Level.
     
     
     
     
    Como adicionar novos M.
     
    Na parte após os pokemon adicionados com suas magias procure essas partes das linhas.
     
     
     
     
     
    Tempo das Magias
     
    Logo abaixo após as linhas que citei acima , se tem o tempo usado das magias.
     
     
     
     
     
    Bom é isso, caso falei alguma besteira me falem que irei arrumar, qualquer duvida me adicione no msn ou poste no tópico.
     
    Não esqueça do REP +
  19. Upvote
    infernity deu reputação a DevilMoon em 3 Scripts   
    Toma ai uns Links de Alguns..
     
     
    Fly System
     
    Ride System
     
    Scripts Uteis
     
    Go/Back + Catch System + Evolution System
     
    Surf System
     
     
     
    Abraços..
  20. Upvote
    infernity deu reputação a LaisDosOts em 3 Scripts   
    Tente usar uma versão 8.10
    Vai funcionar; Pet System, Catch System, Go/Back, Evolution System, Rod que pesca monstros, Fly system;
     
    Todos esses scripts estão no xtibia, hoje etou sem tempo, amanhã eu edito o post e te deixo os links de tudo que eu falei. :weight_lift:
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...