Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 01/26/11 em %

  1. KamuiHunt2

    [Pedido] Vip Status

    Ah simm intendin , eu aguardo sim voce chegar pra me dar 1 help \õ/ , obgrigado por me ajudar cara , ta ai o rep+ em forma de agradecimento :smile_positivo: Obrigado pelo reconhecimento cara =). Então, se quiser me add nesse: terror_lg@hotmail.com Eu uso esse ai mais pra pessoas que prestem, gente boa, e merecedoras de respeito. Você é gente boa =). Add lá, ai nós ja batemos um papinho :*
    5 pontos
  2. KamuiHunt2

    [Pedido] Vip Status

    adicionei lá no msn pra ver si voce consegue me ajudar melhor, qualquer coisa podemos postar aqui para deixar resolvido para a galera \õ/ Então cara, quando eu entrar eu te add. É que eu to no trampo rs. É que eu trabalho com desenvolvimento de scripts aqui, e é tudo liberado, ai quando não tem serviço eu fico no forum. Eu até estou no msn, mas no meu pessoal. Só continuar respondendo a conversa la e ta de boa. Olha cara, eu tenho o script pronto em casa, mas eu chego 19h, e hoje vou chegar um pouco mais tarde por que vou dar um pulinho na facul. Mas assim, se você estiver online de noite, la pelas.. 20h, 21h. Nós batemos uma papinho =D. Abraços.
    5 pontos
  3. KamuiHunt2

    [Pedido] Vip Status

    Eu fui aonde voce me falou mas nao achei nada aver com o account status lá , sera si é o lugar correto mesmo? , si for nao tem nada disso lá vou até mandar oq tem la dentro actions.lua function destroyItem(cid, itemEx, toPosition) if(itemEx.uid <= 65535 or itemEx.actionid > 0) then return false end if not(isInArray({1770, 2098, 1774, 2064, 2094, 2095, 1619, 2602, 3805, 3806}, itemEx.itemid) or (itemEx.itemid >= 1724 and itemEx.itemid <= 1741) or (itemEx.itemid >= 2581 and itemEx.itemid <= 2588) or (itemEx.itemid >= 1747 and itemEx.itemid <= 1753) or (itemEx.itemid >= 1714 and itemEx.itemid <= 1717) or (itemEx.itemid >= 1650 and itemEx.itemid <= 1653) or (itemEx.itemid >= 1666 and itemEx.itemid <= 1677) or (itemEx.itemid >= 1614 and itemEx.itemid <= 1616) or (itemEx.itemid >= 3813 and itemEx.itemid <= 3820) or (itemEx.itemid >= 3807 and itemEx.itemid <= 3810) or (itemEx.itemid >= 2080 and itemEx.itemid <= 2085) or (itemEx.itemid >= 2116 and itemEx.itemid <= 2119)) then return false end if(math.random(1, 7) == 1) then if(isInArray({1738, 1739, 1770, 2098, 1774, 1775, 2064}, itemEx.itemid) or (itemEx.itemid >= 2581 and itemEx.itemid <= 2588)) then doCreateItem(2250, 1, toPosition) elseif((itemEx.itemid >= 1747 and itemEx.itemid <= 1749) or itemEx.itemid == 1740) then doCreateItem(2251, 1, toPosition) elseif((itemEx.itemid >= 1714 and itemEx.itemid <= 1717)) then doCreateItem(2252, 1, toPosition) elseif((itemEx.itemid >= 1650 and itemEx.itemid <= 1653) or (itemEx.itemid >= 1666 and itemEx.itemid <= 1677) or (itemEx.itemid >= 1614 and itemEx.itemid <= 1616) or (itemEx.itemid >= 3813 and itemEx.itemid <= 3820) or (itemEx.itemid >= 3807 and itemEx.itemid <= 3810)) then doCreateItem(2253, 1, toPosition) elseif((itemEx.itemid >= 1724 and itemEx.itemid <= 1737) or (itemEx.itemid >= 2080 and itemEx.itemid <= 2085) or (itemEx.itemid >= 2116 and itemEx.itemid <= 2119) or isInArray({2094, 2095}, itemEx.itemid)) then doCreateItem(2254, 1, toPosition) elseif((itemEx.itemid >= 1750 and itemEx.itemid <= 1753) or isInArray({1619, 1741}, itemEx.itemid)) then doCreateItem(2255, 1, toPosition) elseif(itemEx.itemid == 2602) then doCreateItem(2257, 1, toPosition) elseif(itemEx.itemid == 3805 or itemEx.itemid == 3806) then doCreateItem(2259, 1, toPosition) end doRemoveItem(itemEx.uid, 1) end doSendMagicEffect(toPosition, CONST_ME_POFF) return true end Então cara, negativo não é isso. Vou ser mais especifico. Tem ots que ficam no Talkactions, então la dentro terá um actions correto? Tem alguns que fica como actions/scripts E dependendo da versão fica no global.lua. Eu teria que saber o código exatamente onde está, e eu te ajudo. Me mantenha informado la, se quiser me add: kamui_lg@hotmail.com
    5 pontos
  4. KamuiHunt2

    [Pedido] Vip Status

    Simples cara, sabe o básico de ingles? Vai la, actions/lib seja onde estiver (Depende da configuração do ot). De ctrl c + ctrl v E ache o texto citado acima. E modifique ao seu gosto, é bem simples. Se não entendeu, está com dúvidas ou algo do tipo. Vai la no meu perfil, manda um e-mail, convida amigo (O que for) E eu te ajudo ok? Abraços.
    4 pontos
  5. Alissow OTs 4.11! Esta versão 4.11 foi meio apressada, só adicionamos as features novas do 8.6. Aproveitem. Créditos: Alissow Comedinha Luis Nirk TFS Team Viniply Xedegux Sobre o OT/Mapa: Principais quests: -Annihilator -Inquisition Quest -Pits of inferno -Demon Oak -Solar axe quest -HOTA -MPA quest -The Challenger Monstros: -Total monstros: 10292 -Total spawn: 5587+ Cidades: -12 Cidades -200 Houses+- Raids/Invasões: -Rat -Orshabaal -Ghazbaran -Giant spider/The old window -Ferumbras -Morgaroth Spells: -Magias editadas para balanceamento das vocações Changelog Atualização [3.4 BETA]: - Removido áreas não usadas no mapa, diminuindo o tamanho em MBs - Adicionado Anti Magebomb System - Corrigido bugs no npc addon - Adicionado sistema onde os npcs falam sozinhos (Igual como foi adicionado no global). First ;] - Adicionado Elf village em Venonh ( bem parecida com a do global ;]) - Potions desaparecem quando usadas - Corrigido sistema de Up - Corrigido sistema de Monster Counter - Nova dragon lair em Mirand Theraan (Subsolo) - Adicionado porta de level, que protege leveis baixos acessarem os demons da cidade de Flam - Ampliado deserto da cidade de Mirand Theraan - Adicionado Ilha de Goroma - Adicionado Forbidden islands - Ampliado floresta da cidade de alfon e colocado área de macacos parecida com Banuta. - Ligação de alfon com Mirand Theraan - Corrigido bugs reportados nas portas das casas - Corrigido posição dos buracos e escadas - Adicionado beds em todas as casas - Corrigido bugs em casas de yalahar - Adicionado Blue legs quest ( Koshei The Deathless global) - Corrigidas quase todas as areas de Yalahar - Teleports em Yalahar substituidos por NPCs de teleport do global - Corrigido pequenos erros no npc Capitao Coruja, e adicionado viagem à goroma - diminuido ataque do Eye of the seven - Ice rapier agora quebra - Corrigido npc Banker - Adicionado quase todos os items 8.5 - Adicionado medusa - Adicionado Todos os outfits novos - Corrigido NPC Banker (que dava dinheiro) Script By Ta4e - Corrigido Annihilator Quest - Adicionado Notice System - Adicionado novo distro, compilado por Comedinha Atualização nº 2 [3.4]: Otserv atualizado... Corrigido debugs frequentes Corrigido debugs na magia exevo pan Corrigido bugs nos npcs Roy e Firewalker Adicionados mais novos items 8.5, agora temos 90% dos items novos... Atualização 3.5 [06/08/2009]: - Cidade principal (dorion) totalmente reformada - corrigido blue legs quest - Corrigido alavancas de compra de potions - Adicionado alavancas de compra de runas - Corrigido npc Bank - Adicionado NPC King Arthas, que vende promotion - Adicionado npc Rashid, que vende items. - Arrumado Wild Growth rune - Arrumado Utani Hur - Magias reajustadas - Novo estilo de server save - Ilha de mystic reformulada (by Nirk) - Adicionado nova magia para knights "Exkordium". - Adicionado nova magia para mages (promoted) "Exura Seil". - Adicionado nova magia para mages (promoted) "Exevo Gran Frigo". (arrumar -> sem exhausted nem gasta mana) - Adicionados novos monstros. - Adicionado quest challenge (lvl 250) - Corrigido bug do Dead Cyclops - Bug aol Arrumado - Poi Modificada - Corrigido teleports ghouls yalahar - Modificada demon helmet quest, assim como o premio da quest - Corrigido nome do Hallowed axe - Corrigido bug das houses - Corrigido bug dos items andaveis Atualização Patch 3.5.1 [07/08/2009]: - Corrigido erro na inicialização do Ot - Bug das potions corrigido - Bug do aol corrigido (pelomenos pra mim) - Bug dos outfits corrigido - Corrigido erros nas escadas na ilha PvP - O monstro The Fastest Turtle agora não morre, se tornando um monstro apenas para atrapalhar - Retirada suposta quest dos 3 hellhounds e 1 minishabaal - Adicionado teleport de retorno na Ferumbras Tower - Corrigido posições da raid de The old widow - Corrigido bug das escadas nas minas de demons - Corrigido alguns bugs vistos no mapa Atualização 3.6 [10/08/2009]: - Arrumado bugs criticos - Arrumado comando !promote/!demote - Atualizado Items.xml - Bug das Beds arrumado - Modificações na cidade, como, nature e caves - Nova sala de treino - Adicionado comando !highscores Atualização 3.7! Beta [18/12/2009]: - Guildhall support (Elf) - Nova deathlist(Elf, OpenTibia SVN) - Frags funcionando (Elf) - Atualizado monstros e items (slawkens, KaczooH, Elf) - Novas talkactions: /commands, /wp, /storage, /config, /promote & /demote. (slawkens) - Novas funções lua - Novos creatureevents (slawkens, Elf) - Novos configuráveis (Elf, slawkens) - Modificado ataque de monstros existentes (especialmente outfits e velocidade) (Elf) - Monstros reorganizados & atualizados (Nem todos) (slawkens) - Melhorado sistema de banimentos (Elf) - Reescrita janela de Rule Violation (Elf) - Arrumado Stamina (Elf, OpenTibia SVN) - Casas agora são salvas nas modificações do dono (Elf) - Escadas de yalahar funcionando perfeitamente (Elf, Talaturen) - Sistema de nado & waterball completo (slawkens) - Monstros invisiveis não são mais mandandos ao client (anti bot) (OpenTibia SVN) - Anti-dash (OpenTibia SVN) - Sistema de leilão de casas, possibilidade de usar site para vender casas (house_actions table) (OpenTibia SVN, Elf) - Salvando bot actions para /logs/bots por cada player. Por exemplo, bot pode enviar mensagem com mais de 255 caracteres (slawkens) - Novos raid events- item spawning & disappearing and more (Elf) - Modificações no NPC system (Elf) - NPCs OutfitModule (Elf) - Completo 8.53 support, com wars (Elf) - Completo 8.54 support (Elf) - Arrumado NPC voices (Elf) - Players serão informados quando o Gamemaster logar ou ficar invisivel (slawkens) - Arrumado Player Deaths (Elf, slawkens) - Arrumado Abuso de PZ (slawkens) - Portas agora não ajudam players a entrar em PZ (slawkens) - Magic level formula (OpenTibia SVN, KaczooH) - Memory leaks (Elf) - Queries optimization (Talaturen) - Janelas podem ser abertas do lado de fora da casa- agora apenas GMs podem fazer isso (slawkens) - arrumado Efeitos para o Ghost (GM)- configuravel (slawkens) - Corrigido >> Ghost debugging players (OpenTibia SVN, Elf) - Corrigido erro na promotion (Elf) - Corrigido vários erros no console. (slawkens) - Corrigido Spam de magias (Elf) - Corrigido stamina premium (Elf) - Corrigido Clean (Elf) - Corrigido vários outfits (Elf) - Corrigido Ghost (Elf) - Todas as correções no OpenTibia SVN (Open Tibia SVN, Elf) - Corrigido Todos os crashes possiveis (Elf) - Npcs Corrigidos (Comedinha) - Distro Reformulado (comedinha) - Bugs de reports arrumados (Comedinha) - Novos outfits (Alissow) - Actions Arrumadas (Comedinha) - Libs trocadas (Comedinha) - Talkactions bugadas arrumadas (Comedinha) - Reforma na área Sul da cidade Dorion (Alissow) - Adicionado monstros 8.54 (Alissow) - Corrigido bug das potions infinitas (Alissow) Atualização 3.7 Patch 1 [27/12/2009]: - Rampa na frente da loja de foods retirada (Alissow) - Arrumado bugs de mapa em anknor (Alissow) - Bug na Lib dos npcs corrigido (Alissow) - Bug do acc manager arrumado! (Alissow) - Magias "Exkordium" e "Ice Storm" arrumadas (Alissow) - Monstros 8.54 funcionando (Alissow) - 2º Addon Yalaharian arrumado (Alissow) - Addons Warmaster adicionados no NPC Addoner (Alissow) - Pequenas modificações na cidade principal, Dorion, para melhora da jogabilidade (Alissow) - Comando /Deathlist retirado (Alissow) - Magic Wall Rune arrumada (Alissow) - Quest Annihilator arrumada (Alissow) - "Your depot contain x items" Arrumado (Alissow) - Addons reorganizados, mais facil aggora (Alissow) - Tempo de Red skull e Black skull reduzidos para 24 e 42 horas (Alissow) - Reduzida porcentagem de morte (Alissow) - Acrescentado chance de critical hits (Alissow) - ShowHealingDamage Adicionado (Alissow) - Várias partes do mapa remapeadas (Alissow) - NPCs para recarga de Soft boots & Firewalker boots arrumados [Não testado] (Alissow) - Comando !frags arrumado! (Alissow) - Agora é possivel fazer addons sem precisar do comando !buypremium (Alissow) Atualização 3.8 [17/01/2010]: - Arrumado bug nas escadas do Dlair (Alissow) - Todos os bugs nos NPCs arrumados (Comedinha) - Novas talkactions [a pedidos] (Comedinha) - Deathlist arrumada (Comedinha) - Novo Distro (Comedinha) - MySQL Atualizada (Comedinha) - Firewarker boots não é mais gasta quando não está usando (Comedinha) - Problemas com items no Rashid arrumados (Alissow, Comedinha, Comunidade) - O NPC Banker foi corrigido, mas achei mais seguro retira-lo, visto que ninguem usava e poderia causar outro tipo de bug - Ilha (Sim aqui é uma ilha) de Zao adicionada (Alissow, Barker) - Monstros 8.54 aperfeiçoados (Alissow, Markithu, Zkum) - Reduzido danos da magia Exkordium (Alissow) - Os npcs Dark Rodo e Rachel vendem Blank Runes (Alissow) - Magias que não hitavam anteriormente foram arrumadas (Alissow) - Comando !buypremium arrumado (Alissow) - Arena PVM - Mais conhecida como Arena Svargrond - FUNCIONANDO!!! (Alissow) - Magia LightChain Retirada (Alissow) - Adicionado um sisteminha legal no templo (Alissow) - NPC Rashid retirado (Alissow) Atualização 3.8 Minor Patch 1 [17/01/2010]: - Comando Deathlist retirado novamente, fizemos testes equivocados. Se você é uma das 16 pessoas que baixou a versão anterior (3.8) não precisa baixar esta, basta retirar o comando !deathlist e /deathlist do seu Talkactions.xml, Os comandos causam quedas no servidor. Atualização 3.9 [15/02/2010]: - Cidade principal (Dorion) reformada, novo templo, novo depot, novo porto, novos npcs :] (Alissow) - Adicionado Reputation System (Comedinha, Cybermaster) - Adicionado !bless system (Comedinha) - /info melhorado (Comedinha) - Jail System (Comedinha) - Bug chatinho nos tiles pretos arrumado. - Magic Wall Funcionando! (Alissow) - Agora você pode fazer bolos e pães :] (Comedinha, Jean, Ojani) - Adicionado sistema de casamento (Comedinha, ScorpiOOn93, Alissow) - Loot The Fastest Turtle diminuido (Alissow) - Loot e experiencia do Feromous mais baixo (Alissow) - Sistema de parceis para Dorion funcionando (Alissow) - Guildwar System (Comedinha) - Anti MageBomb System (Comedinha, Huggen) - Adicionado Anti Nuker - Esse funciona! (Comedinha) - Adicionado Map Marks, para os players novos (Alissow, Comedinha) Atualização 4.0 [15/02/2010]: - Cidade Mountain totalmente reformada (Alissow) - Montanha de Goblins de Dorion reformada (Alissow) - Demonic Castle de Dorion reformado (Alissow) - Cidade de Venonh modificada (Luis) - Distro atualizado, funcionando nos clients 8.54, 8.55, 8.56 e 8.57 (Comedinha) - Comando !bless retirado (Alissow) - O NPC Ermes não vende mais items de decoração (Alissow) - Arrumado bugs na Ferumbras Tower (Alissow) - O comando !AFK on agora mantem o player parado (Comedinha) - Arrumado bugs nas escadas da área de DeathFans (Alissow) - Comando !Deathlist funcionando! (Alissow, Doidinmapper, GT Thionix) - Sistema de REP atualizado (Comedinha) - Sistema de Polls (Comedinha) - Banco por comandos (Comedinha) - Novos comandos de addon e accounts (Comedinha) - Sistema de futebol completo! (Comedinha) - Sistema Antibot (Comedinha) - Magia Spared Hur modificada (Alissow, Orzeleagle) - Adicionado sistema de montaria (Alissow, unknown666) - Adicionado Canivetes (Alissow, Siramix) - Nova hunt Subaquatica (Luis) Atualização 4.11! [11/07/2010]: - Versão 8.6, todos os items, outfits e monstros novos (Comedinhasss, Fireelement) - Adicionados os novos monstros 8.6 (Alissow) - Bug das potions arrumado (Comedinha, Matheusmkalo, Gabriel linhares, Fireelement) - Erros das runas arrumado (Comedinha, Gabriel linhares, Matheusmkalo, fireelement) Download Servidor: 4shared Tamanho: 17,416 KB Download: http://www.4shared.com/file/ez8XKrju/860_Alissow_Ots_411.html Link protegido: http://lix.in/-8d4bc0 Scan VirusTotal: http://www.virustotal.com/pt/analisis/983abb574dbb957a75aa1fd29eb804065f775e6a0c43216aa277686d32bce22a-1263702373 Atenção - Acc do God: god/god - LEIA o tópico antes de postar qualquer coisa ou duvida - Reportem se houver algum bug - A database fica na pasta schemas+Database - Proibido o uso do nosso distro sem o nosso consenso, obrigado. Andei percebendo que há muitos mapas feitos por mim em outros servidores postados aqui no xtibia, eu não sei se vocês sabem, mas isso é PLÁGIO. Eu não sou uma pessoa egoista, tudo que eu posto aqui no XTibia é para ser compartilhado, mas desde que mantenham os devidos créditos. Será denunciado qualquer tipo de "roubo" sem minha autorização para beneficio próprio. Eu sei que vocês não se importam muito com isso, eu também não deveria me importar, mas é o tempo e a dedicação de outra pessoa que vocês estão roubando, então peço gentilmente aos que tem conhecimento desses mapas, que me apontem. Não tem graça trabalhar horas e horas e ser roubado em dois minutos.
    3 pontos
  6. Vmspk

    Azeroth Server Updated

    Azeroth Server Updated 14/07/2011: v1.0 Outras Versões: v1.1 [8.60]: http://www.xtibia.co...oth-rpg-reborn/ v2.0 [9.60]: http://www.xtibia.com/forum/topic/205054-960-azeroth-rpg/ Versão: 8.70 Distro: Crystal Server Mapa Base: Yourots Edited e Mix Yourots Features: > 7 Cidades: Azeroth Avalon Zatur Liberty Bay Gloria Sand Trap Tiquanda > Montarias por quest(NPC Mount Master, cavernas ao norte de Azeroth). > NPCs de Travel/Boat diferentes para cada cidade. > Corrigidos Vários Bugs do mapa. > Templo Reformado > Retirados Vários Itens custom e suas quests do antigo Riot Server. > Adicionada Dragon Dungeon. > Adicionado Vulcão de Goroma. > Adicionada Quest Especial em Gloria (NPC Gloria Scientist). > Adicionada Ferumbras Tower. > Várias Hunts adicionadas. > Adicionada Formorgar Mines. > Sistema de Refinamento e Slot. > 6 Novas Mounts. > Principais Quests: Annihilator Pits of Inferno The Inquisition FireWalker Boots Demon Helmet Draken Hell Conquer > 23 Raids Automáticas e configuradas: > Sistema de Guerras pelo Castelo [Honor Castle, a oeste de Azeroth] Evento automático. Quando a guerra é anunciada as guilds podem batalhar pelo controle do castelo, dando use no monumento do último andar e permanecendo assim até a guerra acabar. O último jogador a ter o controle do castelo antes do tempo acabar será o vencedor, e sua guild se tornará dona do castelo. Todos os membros da Guild ganharão uma recompensa e poderão acessar o mapa do subsolo. Os membros de outras Guilds serão teleportados para o templo e não poderão acessar o castelo. O sistema envia mensagens a todos antes de o evento começar, quando começar, quando o dono do castelo muda, antes de se finalizar e ao finalizar, relatando o conquistador do castelo e a guild vencedora. Imagens: Raids Castle Upgrade & Slot System Não há teleports diretos para hunts ou quests. Não há items ou monstros editados(além dos trainers). Não há sistema VIP(premium account valorizada). Não há raids com monstros excessivamente fortes nas cidades iniciais. Acc God: 2/password Créditos:Unknow YourOts Edited, Mix Yourots Team, Crystal Server Team, Tryller, Mock, TFS Team e um pouquinho (bem pouquinho) pra mim xD. Source - IP Changer 8.70 - Utilitários(opcional) - Map Editor *Utilitários inclui: Lista com códigos de todos os looktypes, SQLite Studio 1.1.1, códigos das cores dos outfits e o OTRestarter. Download Azeroth Server V 1.0 - Completo [MEDIAFIRE] Comandos: !war para executar a guerra pelo castelo manualmente, !reset para interromper o funcionamento da war e !castle para limpar todos os dados, ou seja, o castelo volta a ser terra de ninguém. V 0.2 V 0.3 V 0.4 V 1.0 Último pedido meu: encham o saco dos adms pra colocarem o tópico do tryller como fixo. É o melhor distro 8.70 que nós temos aqui, talvez ele salve os ots 8.70 daqui pra frente Contato: vmspk@hotmail.com Edit - Coloquei os Scans Edit2 - Adicionado comando Edit3 - Atualização Edit4 - Atualização http://img208.images...claymorepsf.jpg
    3 pontos
  7. Maldição da Magia Saia para uma nova caçada. Os campos ao leste de Thais haviam sidos pacificados desde a posse do novo rei. Talvez isso o proporcionasse essa nova coragem que dava essa sensação de poder à ele. Ele nunca foi assim, nunca se sentiu assim. As muralhas eram grandes e certamente era difícil escalá-las, mas ele saberia que o que esperava por ele era muito maior do que qualquer caminho que teria de percorrer, e então prosseguiu sem hesitação em nenhum momento. Ele só queria chegar ao topo, fazer seu trabalho, voltar ao rei e pegar a recompensa. Era um mercenário, não se importava com ninguém ou com algo. Que se dane para que o rei iria utilizar tal pedra, isso não seria mais problema dele, ele só queria fazer-lhe o melhor: ser rico. A cada gota de suor que derramava sobre a escalada lembrava-se de moedas de ouros escorregando sobre os seus dedos e caindo sobre um baú cheio delas. Ele era doente, sua doença poderia ser comparada a dos anões por cerveja, ou a de trolls por sujeira. Mas o que o diferenciava disso tudo era uma coisa, que talvez fosse a mais importante de sua vida. Ele era um homem. Finalmente, só mais um pouco, ele estava quase lá. De repente um rugido forte, pedras caíram sobre ele, ele resistiu, mas não poderia permanecer por muito tempo, sua mão estava machucada e a pressão do vento sobre o seu corpo o empurrava contra a montanha de rochas pontiagudas, o que o machucava seriamente. Ele resistiu por um tempo, até o vento cessou. Continuou a subida. O que o atraí para esses perigos que provavelmente nunca o trará vivo de volta é apenas o ouro. Esse rapaz tornou-se altamente subornável e corrompido pela riqueza, seu coração foi corrompido. Ouro era tudo que pensava. Mas talvez isso esteja relacionado com a morte de seus pais. Talvez. Afinal, é triste a morte de aldeões quando não podem pagar os impostos. Mas isso não torna o fato surreal. Os reinos antigos eram muito severos, principalmente nas terras do norte. Ele ainda se lembrava daquela noite. Eles estavam quase sem comida, mal tinham moedas para sobreviverem, estavam juntando migalhas para comer e poder assim juntar dinheiro para a taxa do reino. Foi inútil, os soldados invadiram a pequena casa, procuraram por qualquer material de valor e não encontraram nada. Julgaram pouco o que lhe deram, e então, usando o nome do rei, eles assinaram brutalmente os seus pais. O sangue deles espirrou em seu rosto, e junto às lagrimas criaram uma memória atormentadora inesquecível. Vinte anos. Ele viveu todo esse tempo relembrando a crueldade do rei toda noite, era uma perturbação constante. As memórias perdiam a intensidade, mas quando ele ingressava num trabalho, elas vinham com toda a intensidade. Apesar do seu amor pelas moedas de ouro, as próprias traziam essas lembranças. Esse amor pelas moedas era difícil de entender. Ele deveria odiá-las, foi por causa delas que seus pais foram mortos. Não, talvez, por escassez delas. Se eles as tivessem, não teriam sido mortos. Era esse o seu receio. Chegou ao topo de montanha, cansado. Esvaziou o seu odre de água e recuperou o fôlego. Retirou sua espada da bainha e caminhou em frente lentamente. _DRAGÃO! O grito furioso ecoou por toda a montanha, ressoando em cada estalagmite e estalactites dos túneis sob a montanha. Um rugido forte e monstruoso foi ouvido, e então ele correu na direção deste rugido. As paredes de um túnel que ele havia recém entrado foram surpreendidas por chamas altas e fortes, que logo cessou quando foi procedida por um rugido ensurdecedor. O dragão agora era visível. Ele correu entre os túneis e o dragão o perseguia. Cada passo estremecia o chão e fazia que as estalactites se soltassem, cada passo fazia o chão ceder, o túnel estava desmoronando, e quando o dragão rugia, era como se a montanha inteira fosse ceder. Uma pedra caiu sobre sua cabeça e ele caiu. Tonto por alguns instantes, o dragão se aproximava. Ele abriu a sua grande boca e soltou outro furacão de fogo. Ele se virou e protegeu sua cabeça, sentiu suas costas arderem sendo queimadas pelo fogo infernal do dragão. Num ultimo desesperado ato, pegou sua espada e levantou-se. Travaria então uma batalha sangrenta com o dragão, que logo perdeu a cabeça. Triunfante após a vitória caminhou até o corpo sem cabeça do dragão, retirou da boca uma pedra vermelha e brilhante, de aspecto resistente e infinitamente maravilhoso. A entrada do túnel por onde havia entrado estava bloqueada pelo desmoronamento, só o restou andar para o outro lado. Antes que pudesse atingir a saída, os túneis que interceptavam aquele foram preenchidos por fortes e ensurdecedores rugidos vindos de todos os lados, e ele se percebeu cercado. _Wyverns? Ele mentiu pra mim, disse que só havia um dragão, não fui informado sobre Wyverns! Fui enviado à morte! Seu ódio pela corte só aumentara. Ele correu em direção a saída e os wyverns foram atrás, eram três. São menores que dragões, mas isso não faziam deles oponentes mais fracos. De modo rápido, um wyvern voou sobre os outros e então o capturou. Suas enormes garras foram cortadas pela lâmina de sua espada e ele caiu junto à elas, o wyvern caiu ao seu lado, fazendo que o chão estremecesse. Ele se sentia turvo, logo iria perder a consciência e cair em profundo desmaio. Os wyverns se aproximaram furiosos, mas antes que pudessem abocanhá-lo, foram interrompidos. Foram jogados contra o túnel outra vez, e subitamente as pedras caíram sobre eles. Os poderosos e perigosos wyverns foram mortos facilmente. Somente alguém muito poderoso poderia ter feito aquilo. Ele olhou para seu lado esquerdo e encontrou uma figura desconhecida. Usava um chapéu longo e uma túnica preta que ia do pescoço aos pés, uma capa cinzenta e um cajado marrom com uma pedra azul brilhante na ponta. Sua barba era branca e seus cabelos, de fato. O velho caminhou até ele, e então se ajoelhou ao seu lado. Recitou algumas palavras que ele não pode ouvir, mas então se sentia melhor. O estado de lucidez voltara. _Quem és? Por que me ajudas? O velho desapareceu subitamente. Ele, espantado, recolheu suas coisas e desejava sair daquele lugar o mais rápido possível, reivindicar suas moedas de ouro e sair da cidade em busca de outro trabalho. No sopé da montanha, antes que pudesse montar seu cavalo, ele viu o velho outra vez. Estava parado observando-o com uma expressão de alegria. Ele não ligou, montou em seu cavalo e seguiu na direção oeste, mas antes que pudesse ser perdido de vista no horizonte alaranjado, ouviu a voz do velho. _A propósito, me chamo Ferumbras. O velho desapareceu. O jovem mercenário tentou olhar para trás, mas sentiu uma forte dor no peito. Caiu do cavalo e sua própria espada perfurou seu peito. A pedra ao seu lado foi tingida de vermelho.
    2 pontos
  8. thalia

    [8.54]Pokeserver Tfs 0.3.6 [V3.0]

    Oi galera do xtibia, alguns já me conhece , posto scripts na seção de actions/talk/move! Aqui está a versão 3.0 do PokeServer TFS 0.3.6pl1, ~~( O que contém na versão 3.0? ) ~~ ~~>Fly System - Bug corrigido ~~>Ride System- Bug corrigido ~~>Catch System- Bug corrigido ~~>Go/back System- Bug corrigido ~~>Stones System - Bug corrigido ~~>Npc Heal - Bug arrumano ~~>Todos os 151 pokemons (50% configurados) ~~>Skill System - Para cada tipo de pokemon é um poder difirente! ~~>Mapa Svke 70% ~~>Todas as outfits Stones,Go/back,Npc,Fly,Ride,Skill, foram testados, então não venha encher o saco falando merda <--! Download !--> Server 3.0 Client (È extremamento necessario para poder entrar no server!) Versão 3.0 do server de pokemon Faça você mesmo! Créditos ao Drakylucas por me ajuda a fazer os scripts! Não se esqueça de clicar ali no icone verde
    1 ponto
  9. (Oficial - SQL) The Forgotten Server v0.2.10 - M. Spirit! Esta é uma versão do The Forgotten Server atualizada para o cliente do Tibia 8.70 e Tibia 8.71, com os novos sistemas (sistema de montaria, magias, entre outros), lembrando que ainda não está totalmente completo, em breve terá mais atualizações. ( Informações ) Atualização Versão 0.2.10: Esta versão é para fixar os bugs mais críticos relatados em 0.2.9, e um número de outras questões que foram encontradas. Ele também vem com otimizações para o código de eventos globais, principalmente na prevenção de eventos globais terem impactos no desempenho do seu servidor. Este é, portanto, essencialmente uma versão para correção de bugs. Desejamos apresentar mais recursos e novos trabalhos a versão 0.3! ChangeLog: Screenshot: DLLs: (Necessário para rodar o servidor). -> http://download294.mediafire.com/72p6126345jg/2ao9klbmehkb3f8/TFS+DLLs+-+XTibia.com.7z Código Source: Subversion client: svn://svn.otland.net/public/forgottenserver/tags/0.2.10/ Browse: http://otland.net/subversion.php?svn=public&file=listing.php&repname=forgottenserver&path=/tags/0.2.10/ Download dos Distros: Download Completo (Distros + DLLs): Créditos: Desenvolvedores do TFS - (Talaturen - OTland) - - - - - - - - - - - - - - - - - - - - - - - - - É isso, té. (+REP)
    1 ponto
  10. Olá XTibianos, Estou aqui para trazer à vocês meu primeiro tutorial. Vou ensinar como deixar um servidor online, quando se trata de Internet Compartilhada. (Apenas para Roteador) Primeiramente, vá até a aba Iniciar/Executar e digite cmd Após isso, digite IPCONFIG e procure pelo IP Gateway Padrão.Pegue este mesmo IP e digite na barra de endereços. Quando fizer isso, ele irá pedir um Usuário e Senha.No Usuário, você coloca ' admin ' e a senha tem 3 opções, dependendo do modelo do roteador. *Tente colocar admin, password ou deixe em branco. Quando entrar no site, tente achar algo como Adicionamento de Porta.No meu aparece como Encaminhamento de porta/Acionamento de porta. - Na pagina que se abrir, você ira "abrir" as portas do seu Roteador. - Onde pede o Nome do Serviço, você deve colocar Tibia1. - No Tipo de Serviço, você coloca na opção TCP/UDP. - Onde pede a Porta Inicial e Porta Final, você coloca a port que você usará no Server. (Ex: 7171) - E para saber qual IP você coloca no Endereço de IP do Servidor, você entra novamente no EXECUTAR/cmd, digita IPCONFIG e utiliza o Endereço IPv4. Salve as alterações, e suas portas estarão abertas. Para saber se suas ports estão realmente abertas, baixe o seguinte programa: http://www.portforward.com/store/PFPortChecker.exe Caso não entendeu o Tutorial, entre NESTE SITE, procure pelo modelo de seu roteador e siga as instruções. (O Site está todo em Inglês) Espero ter ajudado todos que tinham dúvida em relação a isso!
    1 ponto
  11. Rookwar

    [Globaleventes] Teleports Falantes

    Galera, estou aqui para ensinar vcs a criarem um Teleport Falante. 1º Vão a pasta Data/Globalevents e abram o globalevents.xml e adicionem essa linha Abaixo. 2° vão a pasta Data/Globalevents/Scripts criem um arquivo lua, e renomeie para teleports, apague tudo que está dentro e escreva isto: Explicação: Vermelho: É a posição do TP Verde: é oq estará escrito. Notem q do lado do nome do tp " Hydra [1], Hydra [2]... está escrito pos ou pos1... o Hydra [1] é o 1º la nas coordenadas por q dentro do parenteses está escrito Pos, se estivesse escrito pos1 seria o 2º Azul: A cor do TP Se quiserem adicionar mais tps é só copiar e colar e muda as coordenadas Comentem ;D Obs:Este Script não foi Testado se tiver algum bug Reportem Para baiak.lula@hotmail.com ou ou envie aqui para o post.
    1 ponto
  12. Hudsin

    [Npc] Vendedor De Stamina

    Npc: Vendedor De Stamina que funciona :smile_positivo: Script original mas que nao funcionou no meu sv: Nem Funcionou ;x fiz funcionar e vou postar aqui,acho que o desse link nao funciona pois nao foi feito para versões novas. 1º Copie um npc qualquer na sua pasta data/npc,cole e renomeie para o nome que você quiser. 2º Abra-o e apague tudo o que estiver dentro. 3º Cole esse Script. 4º Salve e feche. Lembrando: Você pode por o nome que quiser em "Jhon The Botter". Aqui está para vender stamina full por 3kk; Depois de comprar é só relogar que estará com stamina full. Você pode mudar o preço na linha: local price = 3000000 Creditos por ter criado o script: Não sei Creditos por ter arrumado para novas versões de Ot Server: Eu :tongue2:
    1 ponto
  13. antoniojun

    Account Manager Pelado? Nunca Mais :)

    Account Manager Pelado? Nunca mais Tutorial by me ( antoniojun ) Vai em: data/creaturescripts/scripts, localise firstitems local firstItems = { 2050, --------- Aqui onde fica espada ou escudo 2382 --------- Aqui onde fica espada ou escudo } function onLogin(cid) if getPlayerStorageValue(cid, 30001) == -1 then for i = 1, table.maxn(firstItems) do doPlayerAddItem(cid, firstItems[i], 1) end if getPlayerSex(cid) == 0 then doPlayerAddItem(cid, 2651, 1) ---- Aqui onde fica o armor else doPlayerAddItem(cid, 2478, 1) ---- aqui onde fica a calsa end local bag = doPlayerAddItem(cid, 1987, 1) doAddContainerItem(bag, 2674, 1) ---- Aqui onde fica os intes da bag setPlayerStorageValue(cid, 30001, 1) ---- Aqui onde fica os intes da bag end return TRUE end
    1 ponto
  14. Quem nunca se deparou com o bendito do problema da Internet Compartilhada, onde se incluem também probleminhas como Routers, Rubs e Switchs. Essas belezinhas impedem agente de hospedar servidores tanto de Tibia como de outros jogos online também. Uma das explicações mais simples para isso é o bendito do IP gerado pelo Router/Rub/Switch, eles criam o seu próprio IP impidindo assim nós, pobres mortais, de hospedar nossos tão aclamados Open Tibia Servers! Agora trago ao XTibia em primeiríssima mão como faze-lo sem problemas. É simples e bem eficaz. Serve para todos os tipos aparelhos de compartilhamento! (de A-Z). Conceito de IP Os endereços IP são quatro conjuntos de números separados por pontos que permitem os computadores identificarem uns aos outros. Cada computador tem pelo menos um endereço IP, e dois computadores nunca devem ter o mesmo endereço IP. Se eles fizerem isso, nenhum deles será capaz de se conectar à Internet. Conceito de IP Estático e Dinâmico A maioria dos roteadores atribuem endereços IP dinâmicos por omissão. Eles fazem isto porque o endereço IP dinâmico de redes não exigem nenhuma configuração. O utilizador pode simplesmente ligar seu computador e sua rede irá funcionar. Quando os endereços IP são atribuídos de forma dinâmica, o router é que atribui um deles. Cada vez que um computador reinicializa ele pede para o router um endereço IP. O roteador então gera um endereço IP que já não tenha sido entregue a outro computador. Isto é importante para a nota. Quando você configurar seu computador para um endereço IP estático, o router não sabe que um computador está usando esse endereço IP. Portanto, o mesmo endereço IP pode ser entregue a outro computador mais tarde, e que irá impedir os computadores de se conectarem à Internet. Assim, quando você atribuir um endereço IP estático, é importante atribuir um endereço IP que não será entregue a outros computadores através do endereço IP dinâmico servidor. O endereço IP dinâmico servidor é geralmente referido como o servidor DHCP. dica: atribua à ultima casa numérica numeros de 10 à 254(máximo). PRIMEIRO PASSO (Descobrir/Criar o seu IP Estático) - Configurar um IP estático para o Windows Vista. 1.0 Abra o menu Iniciar e clique em Executar. Você deve ver agora a janela seguinte. 2.0 Digite cmd na caixa de texto, e clique em OK. 3.0 Os comandos podem aparecer de forma diferente na tela, mas isso realmente não interessa. Digite ipconfig /all na tela, em seguida, pressione a tecla Enter. Isto irá mostrar uma grande quantidade de informação. 4.0 Eu quero que você anote algumas das informações contidas nesta janela. Estabelecendo o endereço IP, Máscara, Gateway Padrão, e nomes de servidores. Certifique-se de constatar qual é qual. Vamos utilizar esta informação um pouco mais tarde. Estamos apenas preocupados com entradas IPv4, você pode ignorar as IPv6. 4.1 Digite quit nesta janela e, em seguida, pressione a tecla Enter para fechá-la. 5.0 Mais uma vez, abra o menu Iniciar. Desta vez clique em Painel de controle. 6.0 Dê Duplo clique em Centro de Rede e Compartilhamento. 7.0 Dê Único clique em Gerenciar Conexões de Rede, no lado esquerdo da tela. 8.0 Você pode ter várias ligações de rede nesta janela. Quero que dê um clique direito sobre o que você utiliza para se conectar à internet. Em seguida, clique em Propriedades. 8.1 Se você não tiver certeza de qual seja, dê um clique direito nele e clique em Desativar. Em seguida abra uma página na web. Será que ela vai abrir? Se não for possível, então você encontrou a sua ligação à Internet. Feche a janela do navegador. Vá em frente e dê um clique direito na conexão de rede novamente e clique em Ativar. Mais uma vez, abra um novo navegador. Você deverá ver uma página web. Feche a janela do navegador. (Caso não visualize a página web volte ao passo 8.1). Clique direito sobre a conexão de rede e clique em Propriedades na parte inferior. 9.0 Agora você deve ter exposto essa janela na sua tela. Clique no botão Propriedades para abrir a janela de propriedades desta ligação à Internet. 10.0 Selecione Protocolo TCP/IP Versão 4 (TCP/IPv4) e, em seguida, no botão Propriedades. Você verá a seguinte tela. 11.0 Antes de fazer quaisquer alterações, anote as configurações que você vê nesta página. Se algo der errado você pode alterar as configurações de volta para a que antes estavam! Você deverá ver um ponto no Obter um Endereço IP Automaticamente na caixa. Se não estiver marcado, sua conexão já está configurada para um IP estático. Basta fechar todas as janelas e está feito. 11.1 Escolha um endereço IP e inseria-o na caixa Endereço IP. O endereço IP que você escolher deverá ser muito semelhante ao do endereço IP do roteador. Apenas os últimos números do endereço IP devem ser diferentes. Se o endereço IP do roteador é 192.168.0.1, eu posso escolher 192.168.0.10. O endereço IP que você escolhe deve terminar com um número entre 1 e 254, e não deve ser o mesmo que o endereço IP do roteador. Cada dispositivo que conecta a sua rede precisa de ter seu próprio endereço IP. 11.2 Coloque a máscara na caixa Máscara de Sub-Rede, que já havia sido identificada no passo 4.0. O gateway padrão deve ir para a caixa Gateway Padrão, também identificado no passo 4.0. Digite os servidores de DNS encontrado na caixa Servidor DNS Preferencial/Alternativo. 11.3 Clique em OK, automaticamente saindo deste menu. Se você não conseguir abrir páginas web ou se conectar a internet, é mais provável que o problema esteja nas DNS digitadas. Você pode repara-las com seu ISP, entrando em contato com sua operadora Banda Larga. Eles serão capazes de dizer o que você deve usar imediatamente. É isso que deve ser feito! Se você não pode se conectar à internet, mude a configuração de volta ao que era originalmente. SEGUNDO PASSO (Configurando as Portas) No meu caso, tenho um D-LINK (DIR-100). Todos os modelos e fabricantes seguem o mesmo sistema, mais os passos podem variar um pouco, mais nada fora do comum. Caso tenha dificuldades em se localizar nos procedimentos a seguir, utilize o manual do fabricante juntamente com esse tutorial. 1.0 Abra um navegador da web como o Internet Explorer ou Google Chrome. Digite o endereço IP do seu router na barra de endereços do seu navegador. Por padrão o endereço IP deve ser definido como 192.168.0.1. 2.0 Você deverá ver uma caixa perguntar-lhe por seu nome de usuário e senha. Digite seu nome de usuário e senha agora. Por padrão o usuário é admin, e a senha é em branco. Clique no botão OK para efetuar login no seu router. 3.0 Clique no link Advanced perto do topo da página. 4.0 Vamos listar aqui uma série de linhas que irá mostrar-lhe exactamente como encaminhar as portas que você precisa para avançar. Open Tibia Server requer que você transmita a 7171 e 8000. Vá em frente e introduza as definições acima como demonstrado na Port Forwarding Rules menu(imagem). Em IP Adress introduza o seu IP Estático, adiquirido no PRIMEIRO PASSO. 5.0 Quando terminar, clique em Save Sttings na parte superior da tela para salvar suas alterações. Pronto, as portas estão desbloqueadas e devidamente configuradas. TERCEIRO PASSO (Liberando no Firewall a Porta 7171 e configurando o arquivo config.lua) 1.0 Desbloqueie a Porta 7171 no Firewall do Windows. 2.0 Acesse o arquivo config.lua na pasta de seu servidor e modifique o IP, substituindo pelo IP Dinâmico, que você pode identifica-lo Aqui . Pronto, agora é só esbanjar de seu servidor 100% hospedado em Internet Compartilhada. - Caso alguem queira conferir um server em Net Compartilhada segue o meu: theopera.servegame.com (8.50). ======= CREDITOS @Januska ======= Quatro horas foi o tempo que levei para reunir informações, organiza-las, transcreve-las e confeccionar as Screens, então peço sinceramente para não retirarem o Tutorial do seu lugar de Origem e muito menos retirar os créditos. Caso haja nescessidade de divulga-lo em outros forums, favor colocar os devidos créditos. Obrigado! Duvidas: Em relação as dúvidas, favor tirar no tópico! não estou mais atendendo via e-mail. Obrigado! Cya (Y). Edit Cause: Correção do nome do Tópico; Erros Ortográficos; Cores e Fontes.
    1 ponto
  15. oiacaio

    [Talkactions]Sistema M1 Do Xotservx

    Pessoal venho aqui trazer o sistema de move do xotservx, mas com todos 151 pokes(nao tem os movements dos shinys), tenho o m1 e o m2, que achei em um serve, nao sei quem fez, mas vou postar aqui pra vocês pra facilitar a edição das spells. M1: function isSummon(uid) return uid ~= getCreatureMaster(uid) or false end function doSendMagicEffectInArea(pos,effect,area,cid) -- Function by mock local centro = {} centro.y = math.floor(table.getn(area)/2)+1 for y = 1, table.getn(area) do for x = 1, table.getn(area[y]) do if area[y][x] > 0 then centro.x = math.floor(table.getn(area[y])/2)+1 if type(effect) == 'table' then doSendMagicEffect({x=pos.x+x-centro.x,y=pos.y+y-centro.y,z= pos.z},(effect[area[y][x]] or 0),cid) else doSendMagicEffect({x=pos.x+x-centro.x,y=pos.y+y-centro.y,z= pos.z},effect or 0,cid) end end end end return true end function getTime(s) -- by : Mkalo. local n = math.floor(s / 60) s = s - (60 * n) return n, s end -- AREAS -- local arr1 = { {1, 1, 1}, {1, 0, 1}, {1, 1, 1}, } local arr2 = { {0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 0, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, } local pokes = { ["Bulbasaur"] = {attackname = "Quick Attack", level = 1, storage = 1900, cd = 2, atkmin = 40, atkmax = 60, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Ivysaur"] = {attackname = "Quick Attack", level = 40, storage = 1900, cd = 2, atkmin = 100, atkmax = 150, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Venusaur"] = {attackname = "Quick Attack", level = 85, storage = 1900, cd = 2, atkmin = 160, atkmax = 210, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Charmander"] = {attackname = "Scratch", level = 1, storage = 1901, cd = 2, atkmin = 30, atkmax = 50, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Charmeleon"] = {attackname = "Scratch", level = 40, storage = 1901, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Charizard"] = {attackname = "Scratch", level = 85, storage = 1901, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Squirtle"] = {attackname = "Headbutt", level = 1, storage = 1902, cd = 2, atkmin = 40, atkmax = 60, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Wartortle"] = {attackname = "Headbutt", level = 40, storage = 1902, cd = 2, atkmin = 100, atkmax = 150, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Blastoise"] = {attackname = "Headbutt", level = 85, storage = 1902, cd = 2, atkmin = 160, atkmax = 210, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Caterpie"] = {attackname = "Headbutt", level = 1, storage = 1902, cd = 2, atkmin = 5, atkmax = 15, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Metapod"] = {attackname = "String Shot", level = 15, storage = 1903, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 137, type = COMBAT_PHYSICALDAMAGE}, ["Butterfree"] = {attackname = "String Shot", level = 35, storage = 1903, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Weedle"] = {attackname = "Horn Attack", level = 1, storage = 1904, cd = 2, atkmin = 5, atkmax = 15, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, ["Kakuna"] = {attackname = "String Shot", level = 15, storage = 1903, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 137, type = COMBAT_PHYSICALDAMAGE}, ["Beedrill"] = {attackname = "String Shot", level = 35, storage = 1903, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Pidgey"] = {attackname = "Quick Attack", level = 1, storage = 1900, cd = 2, atkmin = 5, atkmax = 15, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Pidgeotto"] = {attackname = "Quick Attack", level = 20, storage = 1900, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Pidgeot"] = {attackname = "Quick Attack", level = 65, storage = 1900, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Rattata"] = {attackname = "Quick Attack", level = 1, storage = 1900, cd = 2, atkmin = 5, atkmax = 15, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Raticate"] = {attackname = "Quick Attack", level = 25, storage = 1900, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Spearow"] = {attackname = "Quick Attack", level = 1, storage = 1900, cd = 2, atkmin = 5, atkmax = 15, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Fearow"] = {attackname = "Quick Attack", level = 50, storage = 1900, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Ekans"] = {attackname = "Bite", level = 15, storage = 1905, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Arbok"] = {attackname = "Bite", level = 35, storage = 1905, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Pikachu"] = {attackname = "Thunder Shock", level = 20, storage = 1906, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "area", arr = arr2, effecta = 207, type = COMBAT_PHYSICALDAMAGE}, ["Raichu"] = {attackname = "Thunder Shock", level = 50, storage = 1906, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "area", arr = arr2, effecta = 207, type = COMBAT_PHYSICALDAMAGE}, ["Sandshrew"] = {attackname = "Sand Attack", level = 20, storage = 1907, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Sandslash"] = {attackname = "Sand Attack", level = 55, storage = 1907, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Nidoranfe"] = {attackname = "Quick Attack", level = 10, storage = 1900, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Nidorina"] = {attackname = "Quick Attack", level = 30, storage = 1900, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Nidoqueen"] = {attackname = "Quick Attack", level = 65, storage = 1900, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Nidoranma"] = {attackname = "Quick Attack", level = 10, storage = 1900, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Nidorino"] = {attackname = "Quick Attack", level = 30, storage = 1900, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Nidoking"] = {attackname = "Quick Attack", level = 65, storage = 1900, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Clefairy"] = {attackname = "Doubleslap", level = 20, storage = 1908, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Clefable"] = {attackname = "Doubleslap", level = 45, storage = 1908, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Vulpix"] = {attackname = "Quick Attack", level = 15, storage = 1900, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Ninetales"] = {attackname = "Quick Attack", level = 70, storage = 1900, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Jigglypuff"] = {attackname = "Doubleslap", level = 20, storage = 1908, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Wigglytuff"] = {attackname = "Doubleslap", level = 45, storage = 1908, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Zubat"] = {attackname = "Super Sonic", level = 15, storage = 1909, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Golbat"] = {attackname = "Super Sonic", level = 35, storage = 1909, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Gloom"] = {attackname = "Absorb", level = 25, storage = 1910, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 8, type = COMBAT_PHYSICALDAMAGE}, ["Vileplume"] = {attackname = "Absorb", level = 50, storage = 1910, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 8, type = COMBAT_PHYSICALDAMAGE}, ["Paras"] = {attackname = "Absorb", level = 5, storage = 1910, cd = 2, atkmin = 5, atkmax = 20, range = 1, typeattack = "intarget", effecta = 8, type = COMBAT_PHYSICALDAMAGE}, ["Parasect"] = {attackname = "Absorb", level = 50, storage = 1910, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 8, type = COMBAT_PHYSICALDAMAGE}, ["Venonat"] = {attackname = "Absorb", level = 5, storage = 1910, cd = 2, atkmin = 5, atkmax = 20, range = 1, typeattack = "intarget", effecta = 8, type = COMBAT_PHYSICALDAMAGE}, ["Venomoth"] = {attackname = "Absorb", level = 50, storage = 1910, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 8, type = COMBAT_PHYSICALDAMAGE}, ["Diglett"] = {attackname = "Sand Attack", level = 10, storage = 1907, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Dugtrio"] = {attackname = "Sand Attack", level = 35, storage = 1907, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Meowth"] = {attackname = "Slash", level = 15, storage = 1912, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Persian"] = {attackname = "Slash", level = 30, storage = 1912, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Psyduck"] = {attackname = "Water Gun", level = 20, storage = 1913, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Golduck"] = {attackname = "Doubleslap", level = 55, storage = 1908, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Mankey"] = {attackname = "Scratch", level = 15, storage = 1901, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Primeape"] = {attackname = "Scratch", level = 35, storage = 1901, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Growlithe"] = {attackname = "Roar", level = 20, storage = 1914, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Arcanine"] = {attackname = "Roar", level = 90, storage = 1914, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Poliwag"] = {attackname = "Doubleslap", level = 5, storage = 1908, cd = 2, atkmin = 5, atkmax = 20, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Poliwhirl"] = {attackname = "MudShot", level = 25, storage = 1915, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Poliwrath"] = {attackname = "MudShot", level = 65, storage = 1915, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Abra"] = {attackname = "Psybeam", level = 20, storage = 1916, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "direcion", effectdir0 = 108, effectdir1 = 109, effectdir2 = 108, effectdir3 = 106, effectdir4 = 107, effectdir5 = 106, effectdir6 = 108, effectdir7 = 109, effectdir8 = 108, effectdir9 = 107, effectdir10 = 106, effectdir11 = 107, type = COMBAT_PHYSICALDAMAGE}, ["Kadabra"] = {attackname = "Psybeam", level = 45, storage = 1916, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "direcion", effectdir0 = 108, effectdir1 = 109, effectdir2 = 108, effectdir3 = 106, effectdir4 = 107, effectdir5 = 106, effectdir6 = 108, effectdir7 = 109, effectdir8 = 108, effectdir9 = 107, effectdir10 = 106, effectdir11 = 107, type = COMBAT_PHYSICALDAMAGE}, ["Alakazam"] = {attackname = "Psybeam", level = 80, storage = 1916, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "direcion", effectdir0 = 108, effectdir1 = 109, effectdir2 = 108, effectdir3 = 106, effectdir4 = 107, effectdir5 = 106, effectdir6 = 108, effectdir7 = 109, effectdir8 = 108, effectdir9 = 107, effectdir10 = 106, effectdir11 = 107, type = COMBAT_PHYSICALDAMAGE}, ["Machop"] = {attackname = "Triple Punch", level = 20, storage = 1917, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 110, type = COMBAT_PHYSICALDAMAGE}, ["Machoke"] = {attackname = "Triple Punch", level = 47, storage = 1917, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 110, type = COMBAT_PHYSICALDAMAGE}, ["Machamp"] = {attackname = "Triple Punch", level = 70, storage = 1917, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 110, type = COMBAT_PHYSICALDAMAGE}, ["Bellsprout"] = {attackname = "Razor Leaf", level = 10, storage = 1918, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 79, type = COMBAT_PHYSICALDAMAGE}, ["Weepinbell"] = {attackname = "Razor Leaf", level = 25, storage = 1918, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 79, type = COMBAT_PHYSICALDAMAGE}, ["Victreebel"] = {attackname = "Razor Leaf", level = 50, storage = 1918, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 79, type = COMBAT_PHYSICALDAMAGE}, ["Tentacool"] = {attackname = "Acid", level = 15, storage = 1928, cd = 2, atkmin = 10, atkmax = 30, range = 1, typeattack = "intarget", effecta = 20, type = COMBAT_PHYSICALDAMAGE}, ["Tentacruel"] = {attackname = "Super Sonic", level = 75, storage = 1909, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Geodude"] = {attackname = "Rock Throw", level = 15, storage = 1919, cd = 2, atkmin = 10, atkmax = 30, range = 1, typeattack = "intarget", effecta = 34, type = COMBAT_PHYSICALDAMAGE}, ["Graveler"] = {attackname = "Rock Throw", level = 40, storage = 1919, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 34, type = COMBAT_PHYSICALDAMAGE}, ["Golem"] = {attackname = "Rock Throw", level = 70, storage = 1919, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 34, type = COMBAT_PHYSICALDAMAGE}, ["Ponyta"] = {attackname = "Quick Attack", level = 20, storage = 1900, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Rapidash"] = {attackname = "Quick Attack", level = 55, storage = 1900, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Slowpoke"] = {attackname = "Aqua Tail", level = 20, storage = 1920, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 1, type = COMBAT_PHYSICALDAMAGE}, ["Slowbro"] = {attackname = "Aqua Tail", level = 45, storage = 1920, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 1, type = COMBAT_PHYSICALDAMAGE}, ["Magnemite"] = {attackname = "Super Sonic", level = 15, storage = 1909, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Magneton"] = {attackname = "Super Sonic", level = 45, storage = 1909, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Farfetch'd"] = {attackname = "Sand Attack", level = 40, storage = 1907, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Doduo"] = {attackname = "Sand Attack", level = 10, storage = 1907, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Dodrio"] = {attackname = "Sand Attack", level = 45, storage = 1907, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Seel"] = {attackname = "Headbutt", level = 20, storage = 1902, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Dewgong"] = {attackname = "Aqua Tail", level = 45, storage = 1920, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 1, type = COMBAT_PHYSICALDAMAGE}, ["Grimer"] = {attackname = "Mud Shot", level = 15, storage = 1915, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Muk"] = {attackname = "Mud Shot ", level = 35, storage = 1915, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Shellder"] = {attackname = "Lick", level = 10, storage = 1921, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 145, type = COMBAT_PHYSICALDAMAGE}, ["Cloyster"] = {attackname = "Lick", level = 60, storage = 1921, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 145, type = COMBAT_PHYSICALDAMAGE}, ["Gastly"] = {attackname = "Lick", level = 20, storage = 1921, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 145, type = COMBAT_PHYSICALDAMAGE}, ["Haunter"] = {attackname = "Lick", level = 45, storage = 1921, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 145, type = COMBAT_PHYSICALDAMAGE}, ["Gengar"] = {attackname = "Lick", level = 80, storage = 1921, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 145, type = COMBAT_PHYSICALDAMAGE}, ["Onix"] = {attackname = "Sand Attack", level = 50, storage = 1907, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Drowzee"] = {attackname = "Headbutt", level = 25, storage = 1902, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Hypno"] = {attackname = "Headbutt", level = 55, storage = 1902, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Krabby"] = {attackname = "Bubbles", level = 10, storage = 1922, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Kingler"] = {attackname = "Bubbles", level = 40, storage = 1922, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Voltorb"] = {attackname = "Thunder Shock", level = 10, storage = 1906, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "area", arr = arr2, effecta = 207, type = COMBAT_PHYSICALDAMAGE}, ["Electrode"] = {attackname = "Thunder Shock", level = 35, storage = 906, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "area", arr = arr2, effecta = 207, type = COMBAT_PHYSICALDAMAGE}, ["Exeggcute"] = {attackname = "Hypnosis", level = 15, storage = 1923, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "area", arr = arr2, effecta = 136, type = COMBAT_PHYSICALDAMAGE}, ["Exeggutor"] = {attackname = "Hypnosis", level = 55, storage = 1923, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "area", arr = arr2, effecta = 136, type = COMBAT_PHYSICALDAMAGE}, ["Cubone"] = {attackname = "Headbutt", level = 10, storage = 1902, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Marowak"] = {attackname = "Headbutt", level = 55, storage = 1902, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Hitmonlee"] = {attackname = "Triple Kick Lee", level = 60, storage = 1924, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 110, type = COMBAT_PHYSICALDAMAGE}, ["Hitmonchan"] = {attackname = "Triple Punch", level = 60, storage = 1924, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 110, type = COMBAT_PHYSICALDAMAGE}, ["Lickitung"] = {attackname = "Lick", level = 55, storage = 1921, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 145, type = COMBAT_PHYSICALDAMAGE}, ["Koffing"] = {attackname = "Mud Shot", level = 15, storage = 1915, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Weezing"] = {attackname = "Mud Shot", level = 35, storage = 1915, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Chansey"] = {attackname = "Doubleslap", level = 60, storage = 1908, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Tangela"] = {attackname = "Absorb", level = 50, storage = 1910, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 8, type = COMBAT_PHYSICALDAMAGE}, ["Kangaskhan"] = {attackname = "Bite", level = 80, storage = 1905, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Horsea"] = {attackname = "Mud Shot", level = 10, storage = 1915, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Seadra"] = {attackname = "Mud Shot", level = 45, storage = 1915, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Goldeen"] = {attackname = "Horn Attack", level = 10, storage = 1904, cd = 2, atkmin = 10, atkmax = 25, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, ["Seaking"] = {attackname = "Horn Attack", level = 45, storage = 1904, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, ["Staryu"] = {attackname = "Swift", level = 15, storage = 1925, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 7, type = COMBAT_PHYSICALDAMAGE}, ["Starmie"] = {attackname = "Swift", level = 35, storage = 1925, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 7, type = COMBAT_PHYSICALDAMAGE}, ["Mr.Mime"] = {attackname = "Doubleslap", level = 60, storage = 1908, cd = 2, atkmin = 90, atkmax = 160, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Scyther"] = {attackname = "Quick Attack", level = 80, storage = 1900, cd = 2, atkmin = 160, atkmax = 210, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Jynx"] = {attackname = "Lovely Kiss", level = 80, storage = 1926, cd = 2, atkmin = 160, atkmax = 210, range = 1, typeattack = "intarget", effecta = 147, type = COMBAT_PHYSICALDAMAGE}, ["Electabuzz"] = {attackname = "Quick Attack", level = 80, storage = 1900, cd = 2, atkmin = 160, atkmax = 210, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Magmar"] = {attackname = "Scratch", level = 80, storage = 1901, cd = 2, atkmin = 160, atkmax = 210, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Pinsir"] = {attackname = "Scratch", level = 45, storage = 1901, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Tauros"] = {attackname = "Headbutt", level = 45, storage = 1902, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Magikarp"] = {attackname = "Splash", level = 5, storage = 1927, cd = 2, atkmin = 5, atkmax = 15, range = 1, typeattack = "intarget", effecta = 53, type = COMBAT_PHYSICALDAMAGE}, ["Gyarados"] = {attackname = "Roar", level = 85, storage = 1914, cd = 2, atkmin = 160, atkmax = 215, range = 1, typeattack = "intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Lapras"] = {attackname = "Horn Attack", level = 80, storage = 1904, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, ["Eevee"] = {attackname = "Sand Attack", level = 20, storage = 1907, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Vaporeon"] = {attackname = "Quick Attack", level = 55, storage = 1900, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Jolteon"] = {attackname = "Quick Attack", level = 55, storage = 1900, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Flareon"] = {attackname = "Quick Attack", level = 55, storage = 1900, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Porygon"] = {attackname = "Super Sonic", level = 40, storage = 1909, cd = 2, atkmin = 70, atkmax = 130, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Omanyte"] = {attackname = "Bite", level = 20, storage = 1905, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Omastar"] = {attackname = "Bite", level = 80, storage = 1905, cd = 2, atkmin = 160, atkmax = 210, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Kabuto"] = {attackname = "Scratch", level = 20, storage = 1901, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Kabutops"] = {attackname = "Scratch", level = 80, storage = 1901, cd = 2, atkmin = 160, atkmax = 210, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Snorlax"] = {attackname = "Scratch", level = 80, storage = 1901, cd = 2, atkmin = 160, atkmax = 210, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Dratini"] = {attackname = "Aqua Tail", level = 20, storage = 1920, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 1, type = COMBAT_PHYSICALDAMAGE}, ["Dragonair"] = {attackname = "Headbutt", level = 60, storage = 1902, cd = 2, atkmin = 100, atkmax = 150, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Dragonite"] = {attackname = "Headbutt", level = 100, storage = 1902, cd = 2, atkmin = 170, atkmax = 220, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Rhydon"] = {attackname = "Iron Tail", level = 30, storage = 1929, cd = 2, atkmin = 60, atkmax = 80, range = 1, typeattack = "intarget", effecta = 160, type = COMBAT_PHYSICALDAMAGE}, ["Rhydon"] = {attackname = "Iron Tail", level = 75, storage = 1929, cd = 2, atkmin = 150, atkmax = 200, range = 1, typeattack = "intarget", effecta = 160, type = COMBAT_PHYSICALDAMAGE}, } function onSay(cid, words, param, target) if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You do not have any pokemon.") end if getPlayerStorageValue(cid, 102032) == 1 then doPlayerSendCancel(cid, "Your pokemon is exhausted.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end for i,x in pairs(pokes) do local storage = x.storage local cd = x.cd if getCreatureSummons(cid) ~= 0 then if not getTilePzInfo(getPlayerPosition(cid)) then if getCreatureName(getCreatureSummons(cid)[1]) == i then if getCreatureTarget(cid) ~= 0 then if not isSummon(getCreatureTarget(cid)) or not isPlayer(getCreatureTarget(cid)) then if getPlayerLevel(cid) >= x.level then if os.time()-getPlayerStorageValue(cid, storage) <= cd then minutes,seconds = getTime(cd-(os.time()-getPlayerStorageValue(cid, storage))) return doPlayerSendTextMessage(cid, 26, "You need to wait ".. seconds .. " seconds to use " ..x.attackname..".") end if x.typeattack == "distance" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then doSendDistanceShoot(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid)), x.effectd) doSendMagicEffect(getCreaturePosition(getCreatureTarget(cid)), x.effecta) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) doCreatureSay(cid, ""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, storage, os.time()+cd) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end if x.typeattack == "area" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then doSendMagicEffectInArea(getCreaturePosition(getCreatureSummons(cid)[1]),x.effecta,x.arr) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) doCreatureSay(cid,""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, storage, os.time()+cd) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end if x.typeattack == "direcion" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 0, 1),x.effectdir0) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 1, 1),x.effectdir1) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 2, 1),x.effectdir2) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 3, 1),x.effectdir3) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) end else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end if x.typeattack == "intarget" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then doSendMagicEffect(getCreaturePosition(getCreatureTarget(cid)), x.effecta) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) doCreatureSay(cid, ""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, storage, os.time()+cd) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end else doPlayerSendTextMessage(cid, 27, "You need level "..x.level.." to use " ..x.attackname..".") doSendMagicEffect(getCreaturePosition(cid), 2) return true end else doPlayerSendCancel(cid, "Invalid Target.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end else doPlayerSendCancel(cid, "Target not is avalied.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end end else doPlayerSendCancel(cid, "Do not Attack in Protection Zone.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end else doPlayerSendCancel(cid, "You need pokemon to use attacks.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end end return true end M2 function Poison(cid) -- by miih local arrpoison = { {0, 0, 0}, {0, 1, 0}, {0, 0, 0}, } for i = 1, 6 do addEvent(doSendMagicEffect, i*1000, getCreaturePosition(getCreatureTarget(cid)), 8) addEvent(doAreaCombatHealth, i*1000, getCreatureSummons(cid)[1], COMBAT_EARTHDAMAGE, getCreaturePosition(getCreatureTarget(cid)), arrpoison, -10, -15, 8) end return true end function isSummon(uid) return uid ~= getCreatureMaster(uid) or false end function doSendMagicEffectInArea(pos,effect,area,cid) -- Function by mock local centro = {} centro.y = math.floor(table.getn(area)/2)+1 for y = 1, table.getn(area) do for x = 1, table.getn(area[y]) do if area[y][x] > 0 then centro.x = math.floor(table.getn(area[y])/2)+1 if type(effect) == 'table' then doSendMagicEffect({x=pos.x+x-centro.x,y=pos.y+y-centro.y,z= pos.z},(effect[area[y][x]] or 0),cid) else doSendMagicEffect({x=pos.x+x-centro.x,y=pos.y+y-centro.y,z= pos.z},effect or 0,cid) end end end end return true end function getTime(s) -- by : Mkalo. local n = math.floor(s / 60) s = s - (60 * n) return n, s end -- AREAS -- local arr1 = { {0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 0, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, } -- M1 System, by: XotserX. -- local pokes = { ["Bulbasaur"] = {attackname = "Razor Leaf", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 79, type = COMBAT_PHYSICALDAMAGE}, ["Ivysaur"] = {attackname = "Razor Leaf ", level = 40, storage = 2000, cd = 2, atkmin = 150, atkmax = 170, range = 1, typeattack = "intarget", effecta = 79, type = COMBAT_PHYSICALDAMAGE}, ["Venusaur"] = {attackname = "Razor Leaf ", level = 85, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 79, type = COMBAT_PHYSICALDAMAGE}, ["Charmander"] = {attackname = "Ember", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 35, type = COMBAT_PHYSICALDAMAGE}, ["Charmeleon"] = {attackname = "Ember", level = 40, storage = 2000, cd = 2, atkmin = 150, atkmax = 170, range = 1, typeattack = "intarget", effecta = 35, type = COMBAT_PHYSICALDAMAGE}, ["Charizard"] = {attackname = "Ember", level = 85, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 35, type = COMBAT_PHYSICALDAMAGE}, ["Squirtle"] = {attackname = "Bubbles", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Wartortle"] = {attackname = "Bubbles", level = 40, storage = 2000, cd = 2, atkmin = 150, atkmax = 170, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Blastoise"] = {attackname = "Bubbles", level = 85, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Caterpie"] = {attackname = "String Shot", level = 1, storage = 2000, cd = 2, atkmin = 70, atkmax = 90, range = 1, typeattack = "intarget", effecta = 137, type = COMBAT_PHYSICALDAMAGE}, ["Metapod"] = {attackname = "Headbutt", level = 15, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Butterfree"] = {attackname = "Super Sonic", level = 35, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Weedle"] = {attackname = "String Shot ", level = 1, storage = 2000, cd = 2, atkmin = 70, atkmax = 90, range = 1, typeattack = "intarget", effecta = 137, type = COMBAT_PHYSICALDAMAGE}, ["Kakuna"] = {attackname = "Headbutt", level = 15, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Beedrill"] = {attackname = "Poison Sting ", level = 35, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, ["Pidgey"] = {attackname = "Sand Attack", level = 1, storage = 2000, cd = 2, atkmin = 70, atkmax = 90, range = 1, typeattack = " direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Pidgeotto"] = {attackname = "Sand Attack ", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = " direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Pidgeot"] = {attackname = "Sand Attack ", level = 65, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = " direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Rattata"] = {attackname = "Bite", level = 1, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Raticate"] = {attackname = "Bite", level = 25, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Spearow"] = {attackname = "Sand Attack", level = 1, storage = 2000, cd = 2, atkmin = 70, atkmax = 90, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Fearow"] = {attackname = "Sand Attack", level = 50, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "direcion", effectdir0 = 122, effectdir1 = 121, effectdir2 = 120, effectdir3 = 119, type = COMBAT_PHYSICALDAMAGE}, ["Ekans"] = {attackname = "Poison Fang", level = 17, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Arbok"] = {attackname = "Poison Fang", level = 35, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Pikachu"] = {attackname = "Thunder", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "area", arr = arr1, effecta = 48, type = COMBAT_PHYSICALDAMAGE}, ["Raichu"] = {attackname = "Thunder", level = 50, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "area", arr = arr1, effecta = 48, type = COMBAT_PHYSICALDAMAGE}, ["Sandshrew"] = {attackname = "Mud Shot", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = " intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Sandslash"] = {attackname = "Mud Shot", level = 55, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = " intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Nidoranfe"] = {attackname = "Bite", level = 10, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Nidorina"] = {attackname = "Bite", level = 30, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Nidoqueen"] = {attackname = "Bite", level = 65, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Nidoranma"] = {attackname = "Bite", level = 10, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Nidorino"] = {attackname = "Bite", level = 30, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Nidoking"] = {attackname = "Bite", level = 65, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Clefairy"] = {attackname = "Lovely Kiss", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 147, type = COMBAT_PHYSICALDAMAGE}, ["Clefable"] = {attackname = "Lovely Kiss", level = 45, storage = 2000, cd = 2, atkmin = 150, atkmax = 170, range = 1, typeattack = "intarget", effecta = 147, type = COMBAT_PHYSICALDAMAGE}, ["Vulpix"] = {attackname = "Iron Tail", level = 15, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 160, type = COMBAT_PHYSICALDAMAGE}, ["Ninetales"] = {attackname = "Iron Tail", level = 70, storage = 2000, cd = 2, atkmin = 230, atkmax = 270, range = 1, typeattack = "intarget", effecta = 160, type = COMBAT_PHYSICALDAMAGE}, ["Jigglypuff"] = {attackname = "Lovely Kiss", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 147, type = COMBAT_PHYSICALDAMAGE}, ["Wigglytuff"] = {attackname = "Lovely Kiss", level = 45, storage = 2000, cd = 2, atkmin = 150, atkmax = 170, range = 1, typeattack = "intarget", effecta = 147, type = COMBAT_PHYSICALDAMAGE}, ["Zubat"] = {attackname = "Bite", level = 15, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Golbat"] = {attackname = "Bite", level = 35, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Gloom"] = {attackname = "Acid", level = 25, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 20, type = COMBAT_PHYSICALDAMAGE}, ["Vileplume"] = {attackname = "Acid", level = 50, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 20, type = COMBAT_PHYSICALDAMAGE}, ["Paras"] = {attackname = "Poison Sting", level = 5, storage = 2000, cd = 2, atkmin = 70, atkmax = 90, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, ["Parasect"] = {attackname = "Poison Sting", level = 50, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, ["Venonat"] = {attackname = "Super Sonic", level = 5, storage = 2000, cd = 2, atkmin = 70, atkmax = 90, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Venomoth"] = {attackname = "Super Sonic", level = 50, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Diglett"] = {attackname = "Slash", level = 10, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = " intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Dugtrio"] = {attackname = "Sand Attack", level = 35, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = " intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Meowth"] = {attackname = " Scratch", level = 15, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Persian"] = {attackname = "Scratch", level = 30, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = "intarget", effecta = 142, type = COMBAT_PHYSICALDAMAGE}, ["Psyduck"] = {attackname = "Aqua Tail", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 1, type = COMBAT_PHYSICALDAMAGE}, ["Golduck"] = {attackname = "Water Gun", level = 55, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Mankey"] = {attackname = "Triple Kick", level = 15, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 110, type = COMBAT_PHYSICALDAMAGE}, ["Primeape"] = {attackname = "Triple Kick", level = 35, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = "intarget", effecta = 110, type = COMBAT_PHYSICALDAMAGE}, ["Growlithe"] = {attackname = "Bite", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Arcanine"] = {attackname = "Bite", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Poliwag"] = {attackname = "Bubbles", level = 5, storage = 2000, cd = 2, atkmin = 70, atkmax = 90, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Poliwhirl"] = {attackname = "Doubleslap", level = 25, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Poliwrath"] = {attackname = "Doubleslap", level = 65, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Kadabra"] = {attackname = " Confusion", level = 45, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "area", arr = arr1, effecta = 136, type = COMBAT_PHYSICALDAMAGE}, ["Alakazam"] = {attackname = " Confusion", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "area", arr = arr1, effecta = 136, type = COMBAT_PHYSICALDAMAGE}, ["Machop"] = {attackname = "Mega Punch", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 112, type = COMBAT_PHYSICALDAMAGE}, ["Machoke"] = {attackname = "Mega Punch", level = 47, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 112, type = COMBAT_PHYSICALDAMAGE}, ["Machamp"] = {attackname = "Mega Punch", level = 70, storage = 2000, cd = 2, atkmin = 230, atkmax = 270, range = 1, typeattack = "intarget", effecta = 112, type = COMBAT_PHYSICALDAMAGE}, ["Bellsprout"] = {attackname = "Vine Whip", level = 10, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "direcion", effectdir0 = 80, effectdir1 = 83, effectdir2 = 81, effectdir3 = 82, type = COMBAT_PHYSICALDAMAGE}, ["Weepinbell"] = {attackname = "Vine Whip", level = 25, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "direcion", effectdir0 = 80, effectdir1 = 83, effectdir2 = 81, effectdir3 = 82, type = COMBAT_PHYSICALDAMAGE}, ["Victreebel"] = {attackname = "Vine Whip", level = 50, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "direcion", effectdir0 = 80, effectdir1 = 83, effectdir2 = 81, effectdir3 = 82, type = COMBAT_PHYSICALDAMAGE}, ["Tentacool"] = {attackname = "Bubbles", level = 15, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Tentacruel"] = {attackname = "Mud Shot", level = 75, storage = 2000, cd = 2, atkmin = 230, atkmax = 270, range = 1, typeattack = "intarget", effecta = 116, type = COMBAT_PHYSICALDAMAGE}, ["Geodude"] = {attackname = "Rock Throw", level = 15, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "area", arr = arr1, effecta = 44, type = COMBAT_PHYSICALDAMAGE}, ["Graveler"] = {attackname = "Rock Throw", level = 40, storage = 2000, cd = 2, atkmin = 150, atkmax = 170, range = 1, typeattack = "area", arr = arr1, effecta = 44, type = COMBAT_PHYSICALDAMAGE}, ["Golem"] = {attackname = "Rock Throw", level = 70, storage = 2000, cd = 2, atkmin = 230, atkmax = 270, range = 1, typeattack = "area", arr = arr1, effecta = 44, type = COMBAT_PHYSICALDAMAGE}, ["Ponyta"] = {attackname = "Quick Attack", level = 20, storage = 2000, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Rapidash"] = {attackname = "Quick Attack", level = 55, storage = 2000, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Slowpoke"] = {attackname = "Aqua Tail", level = 20, storage = 2000, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = "intarget", effecta = 1, type = COMBAT_PHYSICALDAMAGE}, ["Slowbro"] = {attackname = "Aqua Tail", level = 45, storage = 2000, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = "intarget", effecta = 1, type = COMBAT_PHYSICALDAMAGE}, ["Magnemite"] = {attackname = "Thunder Shock", level = 15, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "area", arr = arr1, effecta = 207, type = COMBAT_PHYSICALDAMAGE}, ["Magneton"] = {attackname = "Thunder Shock", level = 45, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "area", arr = arr1, effecta = 207, type = COMBAT_PHYSICALDAMAGE}, ["Farfetch'd"] = {attackname = "Drill Peck", level = 40, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Doduo"] = {attackname = "Quick Attack", level = 10, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = " intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Dodrio"] = {attackname = "Quick Attack", level = 45, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = " intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Seel"] = {attackname = "Aqua Tail", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 1, type = COMBAT_PHYSICALDAMAGE}, ["Dewgong"] = {attackname = "Headbutt", level = 45, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Grimer"] = {attackname = "Acid", level = 15, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 20, type = COMBAT_PHYSICALDAMAGE}, ["Muk"] = {attackname = "Acid", level = 35, storage = 2000, cd = 2, atkmin = 130, atkmax = 160, range = 1, typeattack = "intarget", effecta = 20, type = COMBAT_PHYSICALDAMAGE}, ["Shellder"] = {attackname = "Super Sonic", level = 10, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Cloyster"] = {attackname = "Super Sonic", level = 60, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 22, type = COMBAT_PHYSICALDAMAGE}, ["Gastly"] = {attackname = "Shadow Ball", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 140, type = COMBAT_PHYSICALDAMAGE}, ["Haunter"] = {attackname = "Shadow Ball", level = 45, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 140, type = COMBAT_PHYSICALDAMAGE}, ["Gengar"] = {attackname = "Shadow Ball", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 140, type = COMBAT_PHYSICALDAMAGE}, ["Onix"] = {attackname = "Iron Tail", level = 50, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 160, type = COMBAT_PHYSICALDAMAGE}, ["Drowzee"] = {attackname = "Psybeam", level = 25, storage = 2000, cd = 2, atkmin = 30, atkmax = 60, range = 1, typeattack = " direcion", effectdir0 = 108, effectdir1 = 109, effectdir2 = 108, effectdir3 = 106, effectdir4 = 107, effectdir5 = 106, effectdir6 = 108, effectdir7 = 109, effectdir8 = 108, effectdir9 = 107, effectdir10 = 106, effectdir11 = 107, type = COMBAT_PHYSICALDAMAGE}, ["Hypno"] = {attackname = "Psybeam", level = 55, storage = 2000, cd = 2, atkmin = 90, atkmax = 140, range = 1, typeattack = " direcion", effectdir0 = 108, effectdir1 = 109, effectdir2 = 108, effectdir3 = 106, effectdir4 = 107, effectdir5 = 106, effectdir6 = 108, effectdir7 = 109, effectdir8 = 108, effectdir9 = 107, effectdir10 = 106, effectdir11 = 107, type = COMBAT_PHYSICALDAMAGE}, ["Krabby"] = {attackname = "Bubblebeam", level = 10, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 25, type = COMBAT_PHYSICALDAMAGE}, ["Kingler"] = {attackname = "Bubblebeam", level = 40, storage = 2000, cd = 2, atkmin = 150, atkmax = 160, range = 1, typeattack = "intarget", effecta = 25, type = COMBAT_PHYSICALDAMAGE}, ["Voltorb"] = {attackname = "Spark", level = 10, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 207, type = COMBAT_PHYSICALDAMAGE}, ["Electrode"] = {attackname = "Spark", level = 35, storage = 2000, cd = 2, atkmin = 150, atkmax = 170, range = 1, typeattack = "intarget", effecta = 207, type = COMBAT_PHYSICALDAMAGE}, ["Exeggcute"] = {attackname = "Confusion", level = 15, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "area", arr = arr1, effecta = 136, type = COMBAT_PHYSICALDAMAGE}, ["Exeggutor"] = {attackname = "Confusion", level = 55, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "area", arr = arr1, effecta = 136, type = COMBAT_PHYSICALDAMAGE}, ["Cubone"] = {attackname = "Bonemerang", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "area", arr = arr2, effecta = 212, type = COMBAT_PHYSICALDAMAGE}, ["Marowak"] = {attackname = "Bonemerang", level = 55, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "area", arr = arr2, effecta = 212, type = COMBAT_PHYSICALDAMAGE}, ["Hitmonlee"] = {attackname = "Mega Punch", level = 60, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 112, type = COMBAT_PHYSICALDAMAGE}, ["Hitmonchan"] = {attackname = "Mega Punch", level = 60, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 112, type = COMBAT_PHYSICALDAMAGE}, ["Lickitung"] = {attackname = "Headbutt", level = 55, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Koffing"] = {attackname = "Acid", level = 15, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 20, type = COMBAT_PHYSICALDAMAGE}, ["Weezing"] = {attackname = "Acid", level = 35, storage = 2000, cd = 2, atkmin = 150, atkmax = 170, range = 1, typeattack = "intarget", effecta = 20, type = COMBAT_PHYSICALDAMAGE}, ["Chansey"] = {attackname = "Great Love", level = 60, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "area", arr = arr1, effecta = 147, type = COMBAT_PHYSICALDAMAGE}, ["Tangela"] = {attackname = "Absorb", level = 50, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "direcion", effectdir0 = 80, effectdir1 = 83, effectdir2 = 81, effectdir3 = 82, type = COMBAT_PHYSICALDAMAGE}, ["Kangaskhan"] = {attackname = "Headbutt", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 118, type = COMBAT_PHYSICALDAMAGE}, ["Horsea"] = {attackname = "Bubbles", level = 10, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Seadra"] = {attackname = "Bubbles", level = 45, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Goldeen"] = {attackname = "Poison Sting", level = 10, storage = 2000, cd = 2, atkmin = 90, atkmax = 100, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, ["Seaking"] = {attackname = "Poison Sting", level = 45, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, ["Staryu"] = {attackname = "Slash", level = 15, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = "intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Starmie"] = {attackname = "Slash", level = 35, storage = 2000, cd = 2, atkmin = 150, atkmax = 170, range = 1, typeattack = "intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Mr.Mime"] = {attackname = "Psychic", level = 60, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 134, type = COMBAT_PHYSICALDAMAGE}, ["Scyther"] = {attackname = "Slash", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Jynx"] = {attackname = "Doubleslap", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 148, type = COMBAT_PHYSICALDAMAGE}, ["Electabuzz"] = {attackname = "Thunder Punch", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "area", arr = arr1, effecta = 48, type = COMBAT_PHYSICALDAMAGE}, ["Magmar"] = {attackname = "Fire Punch", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 5, type = COMBAT_PHYSICALDAMAGE}, ["Pinsir"] = {attackname = "Slash", level = 45, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 159, type = COMBAT_PHYSICALDAMAGE}, ["Tauros"] = {attackname = "Quick Attack", level = 45, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Gyarados"] = {attackname = "Bite", level = 85, storage = 2000, cd = 2, atkmin = 275, atkmax = 325, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Lapras"] = {attackname = "Ice Beam", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "area", arr = arr1, effecta = 147, type = COMBAT_PHYSICALDAMAGE}, ["Eevee"] = {attackname = "Quick Attack", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = " intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}, ["Vaporeon"] = {attackname = "Bite", level = 55, storage = 2000, cd = 2, atkmin = 170, atkmax = 210, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Jolteon"] = {attackname = "Bite", level = 55, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Flareon"] = {attackname = "Bite", level = 55, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Porygon"] = {attackname = "Psybeam", level = 40, storage = 2000, cd = 2, atkmin = 150, atkmax = 170, range = 1, typeattack = "area", arr = arr1, effecta = 136, type = COMBAT_PHYSICALDAMAGE}, ["Omanyte"] = {attackname = " Rock Throw", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = " area", arr = arr1, effecta = 34, type = COMBAT_PHYSICALDAMAGE}, ["Omastar"] = {attackname = " Rock Throw", level = 80, storage = 2000, cd = 2, atkmin = 230, atkmax = 270, range = 1, typeattack = "area", arr = arr1, effecta = 34, type = COMBAT_PHYSICALDAMAGE}, ["Kabuto"] = {attackname = "Bubbles", level = 20, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Kabutops"] = {attackname = "Bubbles", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 68, type = COMBAT_PHYSICALDAMAGE}, ["Snorlax"] = {attackname = "Bite", level = 80, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 138, type = COMBAT_PHYSICALDAMAGE}, ["Dratini"] = {attackname = "Thunder Wave", level = 20, storage = 2000, cd = 2, atkmin = 100, atkmax = 130, range = 1, typeattack = " area", arr = arr1, effecta = 48, type = COMBAT_PHYSICALDAMAGE}, ["Dragonair"] = {attackname = "Aqua Tail", level = 60, storage = 2000, cd = 2, atkmin = 210, atkmax = 230, range = 1, typeattack = "intarget", effecta = 1, type = COMBAT_PHYSICALDAMAGE}, ["Dragonite"] = {attackname = "Aqua Tail", level = 100, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 1, type = COMBAT_PHYSICALDAMAGE}, ["Rhydon"] = {attackname = "Horn Attack", level = 30, storage = 2000, cd = 2, atkmin = 130, atkmax = 150, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, ["Rhydon"] = {attackname = "Horn Attack", level = 75, storage = 2000, cd = 2, atkmin = 270, atkmax = 310, range = 1, typeattack = "intarget", effecta = 9, type = COMBAT_PHYSICALDAMAGE}, } function onSay(cid, words, param, target) if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You do not have any pokemon.") end if getPlayerStorageValue(cid, 102032) == 1 then doPlayerSendCancel(cid, "Your pokemon is exhausted.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end for j,x in pairs(pokes) do local storage = x.storage local cd = math.ceil(x.cd/2) if getCreatureSummons(cid) ~= 0 then if not getTilePzInfo(getPlayerPosition(cid)) then if getCreatureName(getCreatureSummons(cid)[1]) == j then if getCreatureTarget(cid) ~= 0 then if not isSummon(getCreatureTarget(cid)) or not isPlayer(getCreatureTarget(cid)) then if getPlayerLevel(cid) >= x.level then if os.time()-getPlayerStorageValue(cid, storage) <= cd then minutes,seconds = getTime(cd-(os.time()-getPlayerStorageValue(cid, storage))) return doPlayerSendTextMessage(cid, 26, "You need to wait ".. seconds .. " seconds to use " ..x.attackname..".") end if x.typeattack == "distance" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then doSendDistanceShoot(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid)), x.effectd) doSendMagicEffect(getCreaturePosition(getCreatureTarget(cid)), x.effecta) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) doCreatureSay(cid, ""..j..", "..x.attackname..".", 1) setPlayerStorageValue(cid, storage, os.time()+cd) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) if x.poison == true then Poison(cid) end else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end if x.typeattack == "area" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then doSendMagicEffectInArea(getCreaturePosition(getCreatureSummons(cid)[1]),x.effecta,x.arr) if x.poison == "yes" then Poison(cid) end doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) doCreatureSay(cid,""..j..", "..x.attackname..".", 1) setPlayerStorageValue(cid, storage, os.time()+cd) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end if x.typeattack == "direcion" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then if x.poison == true then Poison(cid) end if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 0, 1),x.effectdir0) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..j..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 1, 1),x.effectdir1) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..j..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 2, 1),x.effectdir2) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..j..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 3, 1),x.effectdir3) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..j..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) end else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end if x.typeattack == "intarget" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then if x.poison == true then Poison(cid) end doSendMagicEffect(getCreaturePosition(getCreatureTarget(cid)), x.effecta) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) doCreatureSay(cid, ""..j..", "..x.attackname..".", 1) setPlayerStorageValue(cid, storage, os.time()+cd) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end else doPlayerSendTextMessage(cid, 27, "You need level "..x.level.." to use " ..x.attackname..".") doSendMagicEffect(getCreaturePosition(cid), 2) return true end else doPlayerSendCancel(cid, "Invalid Target.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end else doPlayerSendCancel(cid, "Target not is avalied.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end end else doPlayerSendCancel(cid, "Do not Attack in Protection Zone.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end else doPlayerSendCancel(cid, "You need pokemon to use attacks.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end end return true end Ainda nao consegui editar as magias em area pois o script é um pouco complicado mas to tentando, quando conseguir eu posto aqui. O tutorial de edição esta nesse topico:[Talkaction]System M1 Pronto pessoal, é uma ajudinha pra vocês ai, devidos creditos a:XotservX por ter liberado o script, Mock , pela função doSendMagicEffectInArea MatheusMkalo pela função getTime(s).Dá um REP + AI PESSoAL!! MEU PRIMEIRO TOPICO Até mais.
    1 ponto
  16. Olá XTibianos, vou fazer um tutorial de uma coisa que muitos já sabem fazer, mas que nem todos fazem direito. Vou ensinar a criar monstros, explicado e com fotos (8.54+). Vamos fazer por partes do monstro: Vou citar apenas em que você pode mecher e explicar as partes: Monster name: nessa parte você escolhe o nome do seu monstro. Name Description: é a descrição do nome. Vou dar um exemplo: o monstro se chama Teste XTibia, mas se o nome da descrição for apenas 'teste', quando você der look no monstro vai aparecer apenas "You see teste", então ponha o nome bem relacionado ao nome original para não ficar feio. Race: é a raça do monstro. não faz muita diferença, mas escolha uma raça que combine com seu monstro. Experience: é a experiencia que ele deixa quando morre, é claro. Speed: é a velocidade do seu monstro. A velocidade usada (380) é a de Bosses, como Annihilon. Dependendo do monstro, não deixe muito alta. Mana Cost: é a quantidade de mana que você precisara para sumonar o monstro, se ele for sumonavel ou convencivel. Health now: é a quantidade da vida que seu monstro terá quando surgir. Health max: é a quantidade total de vida do seu monstro. Para que ele venha com a vida cheia, coloque a mesma quantidade nos 2 lugares. Looktype: é a aparência do seu monstro. Head, Body, Legs ... são as cores do monstro, e em corpse, você coloca o ID do corpo que o seu monstro se tornará quando morrer. Target change: é o intervalo em que o monstro terá a chance de mudar o alvo que está atacando, e a chance de isso acontecer, você escolhe. Strategy attack: vai variar de acordo com o seu monstro **. Vou explicar o que é cada 'flag': Summonable: aqui você pode escolher se seu monstro poderá ser sumonado com a magia Utevo Res ". Attackable: aqui você escolhe se seu monstro poderá ser atacado ou não. Hostile: vai variar de monstro em monstro. Aqui você escolhe se o monstro será hostil ou não. Illusionable: sempre mechi aqui e nunca notei nada de diferente. Então, não descobri pra que serve. Se alguem souber poste. Convinceable: se ele poderá ser sumonado com a runa de convencer monstros. {Caso você queira que ele seja sumonavel mas não seja hostil, mude a quantidade de mana necessária para sumoná-lo, coloque "summonable="1" e em convinceable="0"} Pushable: se o monstro poderá ser empurrado. Canpushitens: se ele pode remover itens que estejam no caminho para ir até os players. Canpushcreatures: se ele pode remover ou matar as criaturas que estão no seu caminho para chegar até o player. Targetdistance: se ele poderá atacar os players a distância. [ATENÇÃO, TODAS AS FLAGS ACIMA, SÃO REPRESENTADAS POR SIM OU NÃO. "1" = SIM || 0 = NÃO] Staticattack: novamente, outra coisa que você muda variando com o tipo do monstro. Runnonhealth: agora, você pode escolher com quantos de sangue o monstro vai fugir. Caso não queira que ele fuja, deixe o número 0. Melee: nesta parte você escolhe os skills do monstro, como se ele fosse um player. O "Attack" seria o ataque de uma arma que o monstro estaria usando, porém, quanto maior os skills e attack, maior serão os outros hits do monstro além de physical. Atributekey: nesta parte, você escolhe o efeito que terá o hit do monstro. Exemplo: o 'groundshaker', irá funcionar como um 'exori mas'. Segunda attributekey: você escolhe o elemento que surgirá ao o monstro usar o ataque. Defenses armor: funciona como se o monstro estivesse usando uma armadura com 'x' defesa. Defense: funciona como o skill de shielding do monstro. Healing (a defesa mais comum de todas): o defesa do monstro se healar, tem sua chance de acontecer e seu intervalo de acontecer. Na foto o monstro pode healar entre 400 | 900. Speed (segunda mais comum): como o healing, tem sua chance e intervalo de acontecer. Se o monstro usar esta defesa, ele altera sua velocidade original para a velocidade 'x' que está marcada na defesa. Duration: é a duração em que alguma defesa vai durar. É marcada em milisegundos, ou seja, a duration 7000 durará 7 segundos. Não há muito o que dizer desta parte. Explicação 'elements': nesta seção você vai escolher se o monstro será forte ou fraco contra algum elemento. Quando mais o elemento for NEGATIVO ( - ), mais o monstro será fraco. Quando mais o elemento for positivo (não é marcado por nada), mais forte o monstro vai ser contra tal elemento. [OS ELEMENTOS SÃO ESCOLHIDOS POR ATÉ - 100 OU 100] [CASO VOCÊ QUEIRA QUE UM MONSTRO SEJA 0% (NEM FORTE NEM FRACO), VOCÊ DEVE REMOVER A LINHA DELE DOS ELEMENTOS]. Imunity lifedrain: significa que você e nem outros monstro poderão drenar vida deste se o parâmetro estiver como "1". Imunity invisible: significa que ele vai poder invisibilidade, se o parâmetro estiver como "1" [PARA QUE UM MONSTRO FIQUE IMUNE A ALGUM ELEMENTO, NA TAG "ELEMENTS" VOCÊ NÃO PRECISA POR FORÇA 100, BASTA ADICIONAR UMA LINHA NO "IMMUNITIES" COM O ELEMENTO] Exemplo: Yell="1": significa que o monstro vai 'gritar' como nós quando clicamos no icone do 'adjust volume' in game. Como adicionar outras vozes: adicione mais uma tag de 'voice sentence' na linha de baixo. Exemplo: Bom, todo mundo pode configurar o loot da forma que prefirir. Quando menos a chance, mais dificil será o drop do item. <inside>: é usado depois de alguma bag, backpack ou outro container, para que represente que é para os próximos itens aparecerem dentro do "container". </inside>: usado para fechar o "container" em que você adicionou lá em cima (bag, backpack ...) </item>: o </item> você só usa SE USAR algum tipo de container no corpo. Caso não use nada, não precisará colocar isto. </loot>: fecha o loot do monstro. </monster>: ultima coisa que você deve por em um monstro. Serve para dar 'fim' ao monstro. _____________________________________________________________________________ Espero ter ajudado :weight_lift:. Se gostou, dá um REP+ ai, não custa nada Caso tenha alguma coisa errado, me avisem.
    1 ponto
  17. Vmspk

    Azeroth Server Updated

    @Post Adicionei um comando para poder executar a guerra por talkaction também. @maper1 Você deve editar no database Azeroth.s3db Na aba Players, vá em data e procure a coluna group_id, mudando seu value para 3. Na aba Accounts, procure pelas colunas group_id e type, mude ambos os values para 5.
    1 ponto
  18. Vmspk

    Azeroth Server Updated

    Os comandos de staff estão em data/XML/commands.xml No Mystic Spirit algumas coisas são diferentes do Crying Damson @maper1 As funções do Crying Damson são um pouco diferentes e até mais variadas, algumas não funcionam no Mystic Spirit. Tenta achar um Mystic Spirit 8.60 com as talkactions que você quer, daí as funções serão compatíveis.
    1 ponto
  19. tyuahoi

    Ultimo Bug Do Meu Site !

    Vai na pasta HTDOCS, abre o INDEX.PHP, e adiciona embaixo de <?PHP isso: "date_default_timezone_set('Europe/Berlin');" (Sem aspas)
    1 ponto
  20. Lordfire

    Re-Montando O Pc

    aueaehaheh lol, memória RAM NUNCA pode pegar vírus porque ela é apagada ao 0 toda vez que o computador é desligado, formatar não tem nada a ver com BIOS, problema na BIOS nem ia ligar o computador e seu amigo não tem isso. Por último, HD 5770 é pior do que a GTX460 e superiores e do que a GTX560 Ti e superiores. Não sai falando merda assim meu brother, aí você ilude as pessoas que vao pensar que você entende alguma coisa.
    1 ponto
  21. VitorCtaylor

    [Monstro] Ultimo Pesadelo

    Olá XTibianos, estou passando aqui para postar meu primeiro trabalho no XTibia. Sou muito iniciante no site, mas sou muito bom para criar scripts .. essas coisas, principalmente criar monstros. Vamos ao que importa então: Agora no arquivo 'monsters' do seu Ot, crie: Na região XXX, coloque o nome da pasta onde você colocou o monstro. Não tenho criatividade para criar falas então se alguém tiver alguma idéia melhor que as que estão lá, postem aqui para mim . O loot do monstro seria um full loot de Ferumbras no tibia rl. Só falta o item gold ingot. Caso algum item do loot seja um item editado no seu ot, não se esqueça de remover ** Recomendo para Ots com experiência até 150x. ** O monstro da pouca experiência por causa de seu loot. ** Apesar da chance dos itens do loot serem baixar, você pode dropar itens facilmente. ** É bem facil de matar apartir do level 300+. Ele tem os hits rapidos, porém não hita muito. ** Testado em todos 8.50 +, e não foram encontrados bugs. Espero que gostem.
    1 ponto
  22. Hudsin

    [Talkaction] Dirigindo "carro"

    Cara receio que seja a versão do server /=
    1 ponto
  23. seempre que eu pudeer ajudaar vou teentar Rep++ ? plxxxx
    1 ponto
  24. Sem problemas meu amigo ... Tudo em que eu puder ajudar eu ajudo ... Obrigado pelo elogio Tryller você é meu FAN ! xD
    1 ponto
  25. Bom galera n sei direito se e na area de tutorial mais to aqui pra postar um poko de cada coisa que uma equipe de ot serv deve ter!! • O Que é meu cargo no mundo do OTServ. • O Que eu devo saber para continuar no meu cargo. • O Que devo fazer para aprender mais sobre meu cargo. • E por fim, Porque este cargo é requisitado. • Mapper Mapper é um dos cargos, mas importantes de uma grande e futura equipe de OTserv, pois com eles, se podem criar um MUNDO, criar um mapa cheio de pontos misteriosos, ação, aventura. SpriterQualquer um pode ser dizer que é um Mapper, porem um verdadeiro Mapper é aquele que tem uma criatividade em si criando coisas inéditas, montanhas, cavernas e muito mais, mas isso qualquer um cria, só que o MAPPER tem sua criatividade, é muito interessante quando um player encontra um lugar desconhecido pois aí está o RPG. Para se aprender mas sobre Mapping, é recomendável sempre INOVAR, baixar mapas de terceiros é bom, não copiar mas sim ter idéias, pois as vezes até os Mappers “profissionais” empacam em idéias. Mappers são bastante requisitados para uma equipe, como disse no começo os Mappers são os que inventam o MUNDO do Servidor, criando fatos inéditos, quests surpresas, podemos até dizer que se não existe-se um Editor de Mapa, o OTserv, não seria como é hoje. • Scripter Scripter muito procurado por Equipes diversas de OTserv, pois os Scripters, fabricam ou editam actions, e as partes relacionadas a área de Scripts, muito necessário para um OT “Perfeito”. Diferentemente dos Mappers, aprender a ser um Scripter não é muito fácil, pois qualquer erro em quaisquer script pode causa um BUG no Jogo, ou então atrapalhar o script mudando de efeitos, pois quaisquer Sinal, em lugares errados, causa aqueles erros no DOS de carregação, Muitos confundem Scripters com Action Maker, um Action Maker cuida simplesmente das Actions, e um Scripter, faz / edita: Actions, NPCS, Monstros, Spells e derivados (Quase tudo da pasta "data/" de um OtServ). Para se manter informado sobre os Scripters, é sempre bom verificar as atualizações de Scripts, Monstros, pois um Scripter, que cria suas spells personalizadas, nada extravagante tem uma grande chance de está em uma equipe e seguir feliz. Scripters são requisitados para uma Equipe pois um motivo lógico, quem não gostaria de um Servidor, com as magias, monstros novos, nada Muito Forte, e sim Equilibrado. • spriter Spriter podemos dizer que não é muito utilizado em uma equipe, porem é muito bom para uma equipe. Para ser um bom Spriter, é recomendável saber desenhar [A MÃO], só que o Mundo já está tão globalizados que os grandes desenhistas, estão perdendo seus cargos para Desenhistas gráficos, os que utilizam programas como, Fireworks, Photoshop e etc. Para aprender um pouco mas sobre Spriter, é se inspirar em itens de outros jogos, como itens incríveis, espadas bonitas, caprichadas... Os Spriters não são muitos requisitados para uma Equipe, bom um único fato, existem aquelas pessoas que tem preguiça de baixar o arquivo.SPR, pois pesa 7MB+, Mas já estão existindo servidores, com AUTO-Patch [Não Confirmado], com isso, sô baixar o cliente, e sempre que o SPR for atualizado será ativada na pasta, A idéia do Auto-Patcher pode está próxima, pois usar sistema de outros jogos para servir como FTP Client. • Hoster Hosters são membros de Equipes que hosteiam os servidores em seus computadores. Hosters são bastantes úteis para um inicio de servidor, pois um fato de um servidor “Dar” certo ou não, depende da quantidade de players que vem popularizar... Se existir uma grande quantidade de Players, um computador de uma pessoa comum [HOME], não irá servir muito, pois acarretara em LAGS, e Possíveis Erros. Como já disse, o Mundo cada vez vem se atualizando, e servidores que estão crescendo estão trocando seus supostos Hosters, por “Dedicadas”, Dedicadas é um Computador podemos dizer, Potente, hosteado por algum tipo de Empresa, trazendo maior confiabilidade deixando seu servidor 24/7 Monitorado, Só que nem tudo no mundo é fácil... E dependendo do Hoster, os preços não são acessíveis, Porem outros fazem um preço “camarada”. • Webmaster / Designers < EM OTSERV > Os webmasters e designers são um dos mais importantes em uma equipe, pois o cargo tem como produzir o Website da sua equipe. Para ser um grande Webmaster e Designers, é importante ter criatividade pois quando um jogador acessa um site, ali é sua primeira visão, um site bem produzido e criativo, já começa com uma boa visão do servidor. Para aprender mas sobre o assunto, È sempre bom verificar códigos fontes, mas copiar nunca, se copiar poste créditos, verificar código fonte é bom para aprender novos scripts. Lembrando que um Webdesigner iniciante se baseia em HTML / PHP, e os avançados, ja partem para JAVA e muito mais! Está área é bastante requisitada pois, é bom começar um servidor com uma boa visão um site, criado caprichado e criativo, começa o servidor com um Ponto a Mais. • Programmer Programmer, tambem bastantes requisitados igual aos Mappers, pois com ele se pode adicionar sistema extras em seus OTs, exemplo: Folow System, Neve e muito mais... Para seguir como um ótimo programador tem que está sempre ligado nas “novas”, os códigos novos, os sistemas e muito mais... Para aprender mas sobre o assunto é bom está ligado como disse antes nas novidades, Os programadores fazem seus maravilhosos serviços no .EXE do Servidor, e lá o que predomina é a Linguagem C++, mas nao se assuste, se você não sabe C++, pois outras linguagens existem... Outro tipo de Programador, é os que "fabricam" os utilitarios muito utilizado por todos, a linguagem que predomina nessa área, não só uma, e sim varias, tais como: Visual Basic, Delphi e C++... Os Programadores são bastantes requisitados, pois desenvolvem códigos para o OTserv, compilam os OTs, fazendo o seu próprio OT, bastante personalizado. E isso espero ter ajudado!!! Desculpe se ouvi algum erros fiz com todo e maior esforço
    1 ponto
  26. LorDz

    [Encerrado] Error: Unable To Load Bans !

    é mais simples do que imagina. apenas mude no config.lua de MySql para Sqlite. Abraços
    1 ponto
  27. 749676

    Preciso De Um Script Fast.

    Ola, gente ate agora so vi nego burro, ninguem monto um script que funfa de alavanca q remove pedra e dps de um tempo q pedra volte aonde estava sozinha.
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...