Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 12/28/10 em todas áreas

  1. [Talkaction]Sistema M1 até M6 + Tutorial de Edições. Créditos: Apocarai PeeWee Olá, antes eu já havia postado o sistema até m3, agora venho traze-lo até m6. Do m4 até m6 decidir fazer diferente, dessa vez quem irá colocar as magias , combat e level necessário será vocês. Estou fazendo isso para que vocês entendam melhor o comando, e caso precisarem editar que não precisem e ajuda. No final do Tópico estará os tutoriais. M1 M2 M3 ----//----//----//----//----//----//----//----//----//----//----//----//----//---- M4 M5 M6 Tags Obs. QUANDO SALVAR OS COMANDOS COLOQUE O NOME DE SistemaM... [Nos pontos bote numero da magia. Tutorial Como Adicionar Magia , Combat e Level. Como adicionar novos M. Na parte após os pokemon adicionados com suas magias procure essas partes das linhas. Tempo das Magias Logo abaixo após as linhas que citei acima , se tem o tempo usado das magias. Bom é isso, caso falei alguma besteira me falem que irei arrumar, qualquer duvida me adicione no msn ou poste no tópico. Não esqueça do REP +
    3 pontos
  2. < Trancado - Não existe o download do arquivo no tópico, quando estiver completo você posta o tópico e o download > Té.
    3 pontos
  3. 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
    2 pontos
  4. 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.
    1 ponto
  5. Natanael Beckman

    Anti-Ddos [Apache]

    Agora vou ensinar com deixar seu Apache mais seguro, contra ataques DDoS! É bom lembrar que para iniciarmos a configuração desse sistem é bom seu apache está desativado. 1° Baixe esse arquivo: dosevasive.rar 2° Agora vamos extrair o arquivo dosevasive.rar e após isso irá aparecer dois arquivos, mod_dosevasive22 e mod_dosevasive22.dll. 3° Copie os dois arquivos e em seguida cole-os na pasta modules, acesse: \xampp\apache\modules\ 4° Agora abra o arquivo httpd.conf, acesse: \xampp\apache\Conf\httpd.conf 5° Com o httpd.conf aberto localicale com ctrl+f o que diz a linha seguinte: LoadModule autoindex_color_module modules/mod_autoindex_color.so Adicione abaixo: LoadModule dosevasive22_module modules/mod_dosevasive22.dll 6º Agora localize: <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> E logo após adicione: <IfModule dosevasive22_module> DOSHashTableSize 3097 DOSPageCount 20 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 300 </IfModule> Feito, seu sistema de Anti DDoS está configurado no seu Apache. Noções basicas: DOSHashTableSize 1024 = define o tamanho da tabela hash DOSPageCount 10 = define o número de solicitações para a mesma página DOSSiteCount 150 = Definir o número de pedidos de qualquer objeto pelo mesmo cliente, se o intervalo foi ultrapassado o endereço IP do cliente é adicionado à lista de bloqueio. DOSBlockingPeriod 600 = 10 minutos de bloqueio, se alguém DDoS Eu sempre uso assim: <IfModule dosevasive22_module> DOSHashTableSize 3097 DOSPageCount 20 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 300 </IfModule> Créditos: Ragal Natan Beckman
    1 ponto
  6. zeuzinhox

    Slayer Yurotz 8.70

    New Slayer Yurots Servidor oficial: A procura de um hoster. Cidades: Slayer City Vip City Frozen City Fire City Non Pvp City Novos itens: Os novos itens são todos encontrados na POI e na Inquisition. Adicionados Quest Inquisiton adicionada no Templo Algumas hunts do baiak yurots adicionas Sistema de compra de potion por alavanca no depot Downloads: 4Shared: Dll e exe Link Slayer Yurotz 8.70 sem exe e dll Link Source Slayer Scan Slayer Yurotz 8.70 Scan Dll's e Exe!! Eu Exportei o map pra um 8.70... + eh slayer esse...Aproveitem... se eu tiver errado me avisem. Quem quiser por a spell nova de Kina Exura ico ta ae... edita no Spells.xml Creditos TFS team comedinhasss Baiak Lula Slayer E meu por trazer o Slayer de volta.. Eu...
    1 ponto
  7. [Oficial] Real Global Map hello Galerinha do Xtibia, Venho aqui desponibilizar o mapa do Doidin (8.57 Só que editado com minhas ideias e na versão 8.60 OBS: Para rodar esse servidor No seu pc voce tem que ter 2GB+ de memória ram e em bom estado. ( nao recomendo abrir o otserv com o mapa editor aberto junto). Real Global Map: - Versão do Tibia:8.60 - Mapa global 95% full. - Quase todos os NPC's do Tibia Global. - Servidor com o mínimo de bugs possíveis. - Scripts arrumados. - Entre outros... Cidades: Quest's: Oque tem de melhor que o servidor do Doidin? Quase nada pois ele copio minhas coisas x) Algumas Print Screen: para quem nao conseguiu abrir o spolier e gostaria de ver as SS link abaixo: print screen.txt Créditos: - Doohz Rush - Doidin - Alissow - DoidinMapper - RenanSdc - TFS Team - Styller Team - Alissow Team - Feragon - Viana! - Azevedo ATUALIZADO DIA 28/10/2010 Scan: Arquivo Muito grande para fazer scan. Remeres Mapa Editor 2.0 ( nao use outra versão ou vai bugar o mapa: Download Aqui! Doohz Rush Server : Download Aqui! OBS: FOI ARRUMADO TODOS OS LOOT'S DOS MONSTROS, E FOI ADICIONADO A NOVA AREA DE ZÃO (OS Draken elite etc, todos configurados perfeitamente ) Atualização 2.2; Arrumado os Teleport's dos Drakens; Editado os seal's da POI (+ parecido com global); adicionado 1 npc de runa em northern de ZAO; arrumada as Houses, e bugs de Cormaya; Retirado BUG de money; Arrumado detalhes do mapa. MSN: Doohz_rush@hotmail.com Gostou? REP+ Ali do lado :arrow:
    1 ponto
  8. MatheusGlad

    [Systems] Pokemon Systems

    Scripts para TFS 0.3.6pl1 NAO FOI TESTADO EM OUTRA! Preview: Antes de tudo, va na pasta data/lib e adicione um script.lua com o nome de pokeLib e adicione isso: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon System By Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon System By Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- pokein, pokeout = 2222,2223 function doRemoveTile(pos)-- Script by mock pos.stackpos = 0 local sqm = getTileThingByPos(pos) doRemoveItem(sqm.uid,1) end function doCreateTile(id,pos) -- By mock doAreaCombatHealth(0,0,pos,0,0,0,CONST_ME_NONE) doCreateItem(id,1,pos) end function getPosDirs(p, dir) -- By MatheusMkalo return dir == 1 and {x=p.x-1, y=p.y, z=p.z} or dir == 2 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 3 and {x=p.x, y=p.y+1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x+1, y=p.y, z=p.z} or dir == 6 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 7 and {x=p.x, y=p.y-1, z=p.z} or dir == 8 and {x=p.x-1, y=p.y-1, z=p.z} end function doItem(pos,a,d)-- Script by mock doCreateTile(460,pos) pos.stackpos = 0 local c = getTileThingByPos(pos) doItemSetAttribute(c.uid, "aid", a) end function getDescription(uid) for i,x in pairs(getItemDescriptions(uid)) do if i == "special" then return x end end end function findLetter(string, letter) for i = 1, #string do if string:sub(i, i) == letter then return i end end end function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function getPosDirs(p, dir) return dir == 1 and {x=p.x-1, y=p.y, z=p.z} or dir == 2 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 3 and {x=p.x, y=p.y+1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x+1, y=p.y, z=p.z} or dir == 6 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 7 and {x=p.x, y=p.y-1, z=p.z} or dir == 8 and {x=p.x-1, y=p.y-1, z=p.z} end function canSummon(cid) local pos = getCreaturePosition(cid) local state = false for i = 1, 8 do if isWalkable(getPosDirs(getCreaturePosition(cid), i)) then state = true end end return state end function isPlayerSummon(cid, uid) if getCreatureMaster(uid) == cid then return TRUE end return FALSE end function getSummonLifes(cid) for _,x in pairs(getCreatureSummons(cid)) do return getCreatureHealth(x), getCreatureMaxHealth(x) end end function getItemsInContainerById(container, itemid) -- Function By Kydrai local items = {} if isContainer(container) and getContainerSize(container) > 0 then for slot=0, (getContainerSize(container)-1) do local item = getContainerItem(container, slot) if isContainer(item.uid) then local itemsbag = getItemsInContainerById(item.uid, itemid) for i=0, #itemsbag do table.insert(items, itemsbag[i]) end else if itemid == item.itemid then table.insert(items, item.uid) end end end end return items end function addPokeball(cid, pokename, maxh) local s = doPlayerAddItem(cid, pokein) doItemSetAttribute(s, "poke", "This is "..pokename.."'s pokeball. HP = ["..maxh.."/"..maxh.."]") doItemSetAttribute(s, "description", "Contains a " .. pokename) end function getPokeOutLive(cid) dat = {} for slot = CONST_SLOT_FIRST, CONST_SLOT_LAST do local item = getPlayerSlotItem(cid, slot) if isContainer(item.uid) then local items = getItemsInContainerById(item.uid, pokeout) for _, ui in pairs(items) do if getItemAttribute(ui, "poke"):sub(#getItemAttribute(ui, "poke")) == "." then table.insert(dat, ui) end end end if item.itemid == pokeout then if getItemAttribute(item.uid, "poke"):sub(#getItemAttribute(item.uid, "poke")) == "." then table.insert(dat, item.uid) end end end return dat end Go/Back Pokeball System By: MatheusMkalo Vá em data/actions/scripts e adicione um arquivo.lua com o nome de goback.lua Depois de ter feito isso, adicione o seguinte script no arquivo goback.lua: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon System By Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon System By Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- local pokes = { ["Dragon"] = {level = 1, go = "Vai Dragon", back = "Volte Dragon."}, ["Demon"] = {level = 8, go = "Vai Demon", back = "Volte Demon."}, ["Dragon Lord"] = {level = 8, go = "Vai Dragon Lord", back = "Volte Dragon Lord."}, ["Rat"] = {level = 8, go = "Vai Rat", back = "Volte Rat."}, } local msgunica = false function onUse(cid, item, frompos, item2, topos) local maxh = tonumber(getItemAttribute(item.uid, "poke"):match("/(.+)]")) local health = tonumber(getItemAttribute(item.uid, "poke"):match("%[(.-)/")) if item.itemid == pokeout then if health ~= nil and health <= 0 then return doPlayerSendCancel(cid, "This pokemon is dead.") end if #getCreatureSummons(cid) >= 1 then for _,z in pairs(getCreatureSummons(cid)) do if getItemAttribute(item.uid, "poke"):find(getCreatureName(z)) then doTransformItem(item.uid, pokein) if msgunica then doCreatureSay(cid, "Back, " .. getCreatureName(z), TALKTYPE_SAY) else doCreatureSay(cid, pokes[getCreatureName(z)].back, TALKTYPE_SAY) end doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")) .. " HP = ["..getCreatureHealth(z).."/"..getCreatureMaxHealth(z).."]") setPlayerStorageValue(cid, 61204, 0) doSendMagicEffect(getCreaturePosition(z), 10) return doRemoveCreature(z) end end end elseif item.itemid == pokein then if getTilePzInfo(getCreaturePosition(cid)) then return doPlayerSendCancel(cid, "You can't use pokeball in Protection Zones.") end if not canSummon(cid) then return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM) end if getPlayerStorageValue(cid, 63215) >= 1 then return doPlayerSendCancel(cid, "You can't use pokeball while surfing.") end if getPlayerStorageValue(cid, 62314) >= 1 then return doPlayerSendCancel(cid, "You can't use pokeball while flying.") end if getPlayerStorageValue(cid, 59987) >= 1 then return doPlayerSendCancel(cid, "You can't use pokeball while riding.") end for i,x in pairs(pokes) do if #getCreatureSummons(cid) >= 1 then return doPlayerSendCancel(cid, "You already summoned a pokemon.") end if i == getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1) then if getPlayerLevel(cid) >= x.level then pk = doSummonCreature(i, getThingPosition(cid)) doConvinceCreature(cid, pk) setCreatureMaxHealth(pk, tonumber(getItemAttribute(item.uid, "poke"):match("/(.+)]"))) doCreatureAddHealth(pk, maxh) doCreatureAddHealth(pk, health-maxh) doTransformItem(item.uid, pokeout) if msgunica then doCreatureSay(cid, "Go, " .. i, TALKTYPE_SAY) else doCreatureSay(cid, x.go, TALKTYPE_SAY) end doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), "."))) doSendMagicEffect(getCreaturePosition(pk), 10) setPlayerStorageValue(cid, 61204, 1) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(cid, "LogoutPoke") break else doPlayerSendCancel(cid, "Only players level "..x.level.." or higher can use this pokemon.") end end end end return TRUE end Depois, va em actions.xml e adicione a seguinte tag: <action itemid="2222;2223" event="script" value="goback.lua"/> Sendo que 2222 e 2223 são, respectivamente, o id da pokeball que ira "chamar" o pokemon, e o outro o id da pokeball que ira retirar o pokemon. (Seriam as pokebolas acesas e apagadas do PO) Agora, para evitar alguns bugs, va em data/creaturescripts/scripts e crie um arquivo.lua com o nome goback.lua e bote o seguinte script dentro: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon System By Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon System By Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- function onLogout(cid) local health,maxhealth = getSummonLifes(cid) if getPlayerStorageValue(cid, 61204) >= 1 and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 62314) <= 0 and getPlayerStorageValue(cid, 59987) <= 0 then setPlayerStorageValue(cid, 61205, health) setPlayerStorageValue(cid, 61206, maxhealth) setPlayerStorageValue(cid, 61204, 0) setPlayerStorageValue(cid, 61207, 1) end if getPlayerStorageValue(cid, 62314) >= 1 then pos = getCreaturePosition(cid) for i = 1,8 do doRemoveTile(getPosDirs(getCreaturePosition(cid), i)) end doRemoveTile(getCreaturePosition(cid)) setPlayerStorageValue(cid, 61941, pos.x) setPlayerStorageValue(cid, 61942, pos.y) setPlayerStorageValue(cid, 61943, pos.z) end return TRUE end function onLogin(cid) local pokes = { ["Dragon"] = {lookType=267, speed = 1500}, ["Rat"] = {lookType=267, speed = 500}, } local pokesfly = { ["Dragon"] = {lookType = 216, speed = 500}, } local pokesride = { ["Dragon Lord"] = {lookType=4, speed = 3000}, ["Dragon"] = {lookType=4, speed = 500}, } if getPlayerStorageValue(cid, 62314) >= 1 then doCreateTile(460, {x=getPlayerStorageValue(cid, 61941), y=getPlayerStorageValue(cid, 61942), z=getPlayerStorageValue(cid, 61943)}) doTeleportThing(cid, {x=getPlayerStorageValue(cid, 61941), y=getPlayerStorageValue(cid, 61942), z=getPlayerStorageValue(cid, 61943)}) for i = 1,8 do doItem(getPosDirs(getCreaturePosition(cid), i), 65119+i) end local item = getPokeOutLive(cid)[1] local a = getItemAttribute(item, "poke"):match("This is (.-)'s pokeball.") doSetCreatureOutfit(cid, pokesfly[tostring(a)], -1) doChangeSpeed(cid, pokesfly[tostring(a)].speed) registerCreatureEvent(cid, "PlayerPokeDeath") end if getPlayerStorageValue(cid, 63215) >= 1 then local item = getPokeOutLive(cid)[1] local a = getItemAttribute(item, "poke"):match("This is (.-)'s pokeball.") doSetCreatureOutfit(cid, pokes[tostring(a)], -1) doChangeSpeed(cid, pokes[tostring(a)].speed) registerCreatureEvent(cid, "PlayerPokeDeath") end if getPlayerStorageValue(cid, 59987) >= 1 then local item = getPokeOutLive(cid)[1] local a = getItemAttribute(item, "poke"):match("This is (.-)'s pokeball.") doSetCreatureOutfit(cid, pokesride[tostring(a)], -1) doChangeSpeed(cid, pokesride[tostring(a)].speed) registerCreatureEvent(cid, "PlayerPokeDeath") end if getPlayerStorageValue(cid, 61207) >= 1 then local item = getPokeOutLive(cid)[1] doTransformItem(item, pokein) doRemoveCondition(cid, CONDITION_OUTFIT) doItemSetAttribute(item, "poke", getItemAttribute(item, "poke"):sub(#getItemAttribute(item, "poke")) ~= "]" and getItemAttribute(item, "poke") .. " HP = ["..getPlayerStorageValue(cid, 61205).."/"..getPlayerStorageValue(cid, 61206).."]" or getItemAttribute(item, "poke")) setPlayerStorageValue(cid, 61207, 0) end return TRUE end function onDeath(cid, deathList) local owner = getCreatureMaster(cid) doPlayerSendTextMessage(owner, 22, "Your pokemon died.") for slot = CONST_SLOT_FIRST, CONST_SLOT_LAST do local item = getPlayerSlotItem(owner, slot) if isContainer(item.uid) then local items = getItemsInContainerById(item.uid, pokeout) for _, ui in pairs(items) do if getItemAttribute(ui, "poke"):sub(#getItemAttribute(ui, "poke")) == "." then local maxh = tonumber(getItemAttribute(ui, "poke"):match("/(.+)]")) doItemSetAttribute(ui, "poke", getItemAttribute(ui, "poke"):sub(1, findLetter(getItemAttribute(ui, "poke"), ".")) .. " HP = [0/"..getCreatureMaxHealth(cid).."]") end end end if item.itemid == pokeout then if getItemAttribute(item.uid, "poke"):sub(#getItemAttribute(item.uid, "poke")) == "." then local maxh = tonumber(getItemAttribute(item.uid, "poke"):match("/(.+)]")) doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")) .. " HP = [0/"..getCreatureMaxHealth(cid).."]") end end end doRemoveCreature(cid) setPlayerStorageValue(owner, 61207, 0) setPlayerStorageValue(owner, 61204, 0) return FALSE end Agora adicione outro arquivo.lua na pasta data/creaturescripts/scripts com o nome de playerpdeath e bote esse script: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon System By Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon System By Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- function onDeath(cid) local health,maxhealth = getSummonLifes(cid) if #getCreatureSummons(cid) >= 1 then setPlayerStorageValue(cid, 61205, health) setPlayerStorageValue(cid, 61206, maxhealth) setPlayerStorageValue(cid, 61204, 0) setPlayerStorageValue(cid, 61207, 1) end if getPlayerStorageValue(cid, 63215) >= 1 then setPlayerStorageValue(cid, 61205, getPlayerStorageValue(cid, 61210)) setPlayerStorageValue(cid, 61206, getPlayerStorageValue(cid, 61209)) setPlayerStorageValue(cid, 61204, 0) setPlayerStorageValue(cid, 63215, 0) setPlayerStorageValue(cid, 61207, 1) end if getPlayerStorageValue(cid, 62314) >= 1 then setPlayerStorageValue(cid, 61205, getPlayerStorageValue(cid, 61262)) setPlayerStorageValue(cid, 61206, getPlayerStorageValue(cid, 61263)) setPlayerStorageValue(cid, 61204, 0) setPlayerStorageValue(cid, 62314, 0) setPlayerStorageValue(cid, 61207, 1) end if getPlayerStorageValue(cid, 59987) >=1 then setPlayerStorageValue(cid, 61205, getPlayerStorageValue(cid, 59988)) setPlayerStorageValue(cid, 61206, getPlayerStorageValue(cid, 59989)) setPlayerStorageValue(cid, 61204, 0) setPlayerStorageValue(cid, 59987, 0) setPlayerStorageValue(cid, 61207, 1) end return TRUE end Depois va em creaturescripts.xml e adicione as seguintes TAGS: <event type="death" name="PlayerPokeDeath" event="script" value="playerpdeath.lua"/> <event type="death" name="DiePoke" event="script" value="goback.lua"/> <event type="logout" name="LogoutPoke" event="script" value="goback.lua"/> <event type="login" name="LoginPoke" event="script" value="goback.lua"/> Catch Pokemon System By: MatheusMkalo Vá em data/actions/scripts e adicione um arquivo.lua com o nome de catch.lua Depois adicione o seguinte script dentro dele: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon System By Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon System By Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- local pokes = { ["Dragon"] = {corpseid = 5973, chance = 100, health = 12200, maxhealth = 12200}, ["Dragon Lord"] = {corpseid = 5984, chance = 100, health = 12200, maxhealth = 12200}, ["Demon"] = {corpseid = 5995, chance = 100, health = 12200, maxhealth = 12200}, } local time = 4 -- Tempo para mandar as mensagens e adiciona item function onUse(cid, item, frompos, item2, topos) for i,x in pairs(pokes) do if item2.itemid == x.corpseid then doRemoveItem(item.uid, 1) doRemoveItem(item2.uid, 1) if math.random(1,100) <= x.chance then function add() local s = doPlayerAddItem(cid, pokein) doItemSetAttribute(s, "poke", "This is "..i.."'s pokeball. HP = ["..x.health.."/"..x.maxhealth.."]") doItemSetAttribute(s, "description", "Contains a " .. i) end doSendMagicEffect(topos, 24) addEvent(add, time*1000) return addEvent(doPlayerSendTextMessage, time*1000, cid, 27, "You catch a " .. i .. ".") else addEvent(doPlayerSendTextMessage, time*1000, cid, 27, "Your pokeball broke.") return doSendMagicEffect(topos, 23) end end end return TRUE end Depois adicione a seguinte TAG no actions.xml: <action itemid="2147" event="script" value="catch.lua"/> Sendo 2147, o id da sua pokebola para capturar pokemons (NAO A DE CHAMAR O POKEMON) Npc Healler By: MatheusMkalo Vá em data/npc/scripts e adicione um arquivo.lua com o seguinte script: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon System By Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon System By Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'heal') then if #getCreatureSummons(cid) >= 1 then return selfSay('Voce precisa botar seus pokemons dentro da pokebola.', cid) end for slo = CONST_SLOT_FIRST, CONST_SLOT_LAST do local item = getPlayerSlotItem(cid, slo) if isContainer(item.uid) then local items = getItemsInContainerById(item.uid, pokeout) for i,x in pairs(items) do local maxh = tonumber(getItemAttribute(x, "poke"):match("/(.+)]")) doItemSetAttribute(x, "poke", getItemAttribute(x, "poke"):sub(1, findLetter(getItemAttribute(x, "poke"), ".")) .. " HP = ["..maxh.."/"..maxh.."]") doTransformItem(x, pokein) end local items2 = getItemsInContainerById(item.uid, pokein) for i,x in pairs(items2) do local maxh = tonumber(getItemAttribute(x, "poke"):match("/(.+)]")) doItemSetAttribute(x, "poke", getItemAttribute(x, "poke"):sub(1, findLetter(getItemAttribute(x, "poke"), ".")) .. " HP = ["..maxh.."/"..maxh.."]") end elseif item.itemid == pokeout or item.itemid == pokein then local maxh = tonumber(getItemAttribute(item.uid, "poke"):match("/(.+)]")) doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")) .. " HP = ["..maxh.."/"..maxh.."]") doTransformItem(item.uid, pokein) end end selfSay('Pronto, voce e seus pokemons estao com a life maxima.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Depois va ate a pasta data/npc e adicione um arquivo.xml e bote isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Pokemon Healer" script="pokehealer.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="17" body="54" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Ola, diga {heal} para recuperar sua vida e a vida dos seus pokemons."/> </parameters> </npc> Surf System By: MatheusMkalo Vá em data/actions/scripts e crie um arquivo.lua com o nome de surf e bote esse script dentro: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon System By Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon System By Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- function onUse(cid, item, frompos, item2, topos) local configs = { [4647] = {x = -2, y = 0}, -- 4647 é o id da borda oeste (lado esquerdo do player) [4645] = {x = 2, y = 0}, -- 4645 é o id da borda leste (lado direito do player) [4646] = {x = 0, y = 2}, -- 4646 é o id da borda sul (abaixo do player) [4644] = {x = 0, y = -2}, -- 4644 é o id da borda norte (acima do player) } local playerpos = getCreaturePosition(cid) local pokes = { ["Dragon"] = {lookType=267, speed = 1500}, ["Rat"] = {lookType=267, speed = 500}, } if #getCreatureSummons(cid) <= 0 and getPlayerStorageValue(cid, 63215) <= 0 then return doPlayerSendCancel(cid, "You need a pokemon to surf.") end l = false for i,x in pairs(pokes) do if getPlayerStorageValue(cid, 63215) <= 0 and i:lower() == getCreatureName(getCreatureSummons(cid)[1]):lower() then l = true end end if not l and getPlayerStorageValue(cid, 63215) <= 0 then return doPlayerSendCancel(cid, "This pokemon can't surf.") end if getPlayerStorageValue(cid, 63215) <= 0 then doTeleportThing(cid, {x=playerpos.x+configs[item2.itemid].x, y=playerpos.y+configs[item2.itemid].y, z=playerpos.z}) setPlayerStorageValue(cid, 63215, 1) doSetCreatureOutfit(cid, pokes[getCreatureName(getCreatureSummons(cid)[1])], -1) doCreatureSay(cid, "Let's surf, "..getCreatureName(getCreatureSummons(cid)[1]), 1) setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) doChangeSpeed(cid, pokes[getCreatureName(getCreatureSummons(cid)[1])].speed) doRemoveCreature(getCreatureSummons(cid)[1]) else doTeleportThing(cid, {x=playerpos.x-configs[item2.itemid].x, y=playerpos.y-configs[item2.itemid].y, z=playerpos.z}) setPlayerStorageValue(cid, 63215, 0) doRemoveCondition(cid, CONDITION_OUTFIT) local item = getPokeOutLive(cid)[1] doCreatureSay(cid, "Im tired of surf, " .. getItemAttribute(item, "poke"):match("This is (.-)'s pokeball."), 1) pk = doSummonCreature(getItemAttribute(item, "poke"):match("This is (.-)'s pokeball."), getThingPosition(cid)) doConvinceCreature(cid, pk) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(cid, "LogoutPoke") setCreatureMaxHealth(pk, getPlayerStorageValue(cid, 61209)) doCreatureAddHealth(pk, getPlayerStorageValue(cid, 61209)) doCreatureAddHealth(pk, getPlayerStorageValue(cid, 61210)-getPlayerStorageValue(cid, 61209)) doChangeSpeed(cid, getCreatureBaseSpeed(cid)-getCreatureSpeed(cid)) end return TRUE end Depois va em actions.xml e adicione essa tag: <action itemid="4647;4645;4646;4644" event="script" value="surf.lua"/> Ensinarei nos tutorias como adicionar novas bordas e botar cada pokemon com seu proprio outfit na agua. OBS:Todos os scripts mudaram para implementar o surf, atualize-os OBS2: Para funcionar o id da agua tem que ser 4820. Para usar basta clicar na borda da agua. Evolution System By: MatheusMkalo Vá em data/actions/scripts e adicione um script.lua com o nome de evolution.lua e bote esse script: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon System By Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon System By Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- local pokes = { ["Dragon"] = {level = 1, evolution = "Dragon Lord", maxh = 2000}, } local types = { ["Water"] = {itemid = 2277, "Horsea", "Goldeen", "Magikarp"}, ["Venom"] = {itemid = 2278, "Zubat", "Ekans"}, ["Thunder"] = {itemid = 2279, "Magnemite", "Pikachu"}, ["Rock"] = {itemid = 2280, "Geodude", "Graveler"}, ["Punch"] = {itemid = 2281, "Machop", "Machoke"}, ["Leaf"] = {itemid = 2276, "Ivysaur"}, ["Fire"] = {itemid = 2283, "Charmander", "Charmeleon", "Dragon"}, ["Coccon"] = {itemid = 2284, "Caterpie", "Metapod"}, ["Crystal"] = {itemid = 2285, "Dratini", "Dragonair"}, ["Darkness"] = {itemid = 2286, "Gastly", "Haunter"}, ["Earth"] = {itemid = 2287, "Cubone"}, ["Enigma"] = {itemid = 2288, "Abra", "Kadabra"}, ["Heart"] = {itemid = 2289, "Rattata", "Pidgey"}, ["Ice"] = {itemid = 2290, "Seel"}, } function onUse(cid, item, frompos, item2, topos) for i,x in pairs(types) do if item.itemid == x.itemid then if isCreature(item2.uid) then if isPlayerSummon(cid, item2.uid) then if table.find(x, getCreatureName(item2.uid)) then if getPlayerLevel(cid) >= pokes[getCreatureName(item2.uid)].level then local pokeball = getPokeOutLive(cid)[1] local slo = pokes[getCreatureName(item2.uid)].maxh local sle = pokes[getCreatureName(item2.uid)].evolution doItemSetAttribute(pokeball, "description", "Contains a " .. pokes[getCreatureName(item2.uid)].evolution) doPlayerSendTextMessage(cid, 27, "Your "..getCreatureName(item2.uid).." evolued to a "..pokes[getCreatureName(item2.uid)].evolution) doSendMagicEffect(topos, 18) doItemSetAttribute(pokeball, "poke", "") doItemSetAttribute(pokeball, "poke", "This is "..pokes[getCreatureName(item2.uid)].evolution.."'s pokeball. HP = ["..pokes[getCreatureName(item2.uid)].maxh.."/"..pokes[getCreatureName(item2.uid)].maxh.."]") doRemoveCreature(item2.uid) local pk = doSummonCreature(sle, topos) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(cid, "LogoutPoke") doConvinceCreature(cid, pk) setCreatureMaxHealth(pk, slo) setPlayerStorageValue(cid, 61204, 1) doCreatureAddHealth(pk, slo) doRemoveItem(item.uid, 1) break else return doPlayerSendCancel(cid, "You need to be level "..pokes[getCreatureName(item2.uid)].level.." or higher to use this stone in this pokemon.") end end end end end end return TRUE end Depois vá em actions.xml e adicione esta tag: <action itemid="2276;2277;2278;2279;2280;2281;2283;2284;2285;2286;2287;2288;2289;2290" event="script" value="evolution.lua" allowfaruse="1"/> Fly System By: MatheusMkalo, Credits: Mock Vá em data/talkactions/scripts e adicione um arquivo.lua com o nome de fly e bote esse script: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon Systems by Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon Systems by Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- function onSay(cid, words, param) local pokes = { ["Dragon"] = {lookType = 216, speed = 500}, } if #getCreatureSummons(cid) <= 0 and getPlayerStorageValue(cid, 62314) <= 0 then doPlayerSendCancel(cid, "You need a pokemon to fly.") end if getPlayerStorageValue(cid, 62314) <= 0 and not pokes[getCreatureName(getCreatureSummons(cid)[1])] then return doPlayerSendCancel(cid, "This pokemon can't fly.") end if getPlayerStorageValue(cid, 62314) <= 0 then doSetCreatureOutfit(cid, pokes[getCreatureName(getCreatureSummons(cid)[1])], -1) doChangeSpeed(cid, pokes[getCreatureName(getCreatureSummons(cid)[1])].speed) setPlayerStorageValue(cid, 61263, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61262, getCreatureHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 62314, 1) registerCreatureEvent(cid, "LogoutPoke") doCreatureSay(cid, "Let's fly, "..getCreatureName(getCreatureSummons(cid)[1]), 1) doRemoveCreature(getCreatureSummons(cid)[1]) local ppos = getCreaturePos(cid) local newpos = {x=ppos.x, y=ppos.y, z = 0} doCreateTile(460, newpos) doTeleportThing(cid, newpos) for i = 1,8 do doItem(getPosDirs(getCreaturePosition(cid), i), 65119+i) end elseif getPlayerStorageValue(cid, 62314) >= 1 then local ppos = getCreaturePosition(cid) p = true for i = 1,17 do if getTileThingByPos({x=ppos.x, y=ppos.y, z=ppos.z+i}).itemid ~= 0 and not isWalkable({x=ppos.x, y=ppos.y, z=ppos.z+i}) then p = false break end if isWalkable({x=ppos.x, y=ppos.y, z=ppos.z+i}) then l = ppos.z + i break end end if not p or getTileThingByPos({x=ppos.x, y=ppos.y, z=l}).itemid == 4820 then return doPlayerSendCancel(cid, "You can't down in there.") end for i = 1,8 do doRemoveTile(getPosDirs(getCreaturePosition(cid), i)) end setPlayerStorageValue(cid, 62314, 0) doTeleportThing(cid, {x=ppos.x, y=ppos.y, z=l}) doRemoveTile(ppos) local item = getPokeOutLive(cid)[1] pk = doSummonCreature(getItemAttribute(item, "poke"):match("This is (.-)'s pokeball."), getThingPosition(cid)) doConvinceCreature(cid, pk) doCreatureSay(cid, "I'm tired of fly, "..getItemAttribute(item, "poke"):match("This is (.-)'s pokeball."), 1) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(cid, "PlayerPokeDeath") setCreatureMaxHealth(pk, getPlayerStorageValue(cid, 61263)) doCreatureAddHealth(pk, getPlayerStorageValue(cid, 61263)) doCreatureAddHealth(pk, getPlayerStorageValue(cid, 61262)-getPlayerStorageValue(cid, 61263)) doChangeSpeed(cid, getCreatureBaseSpeed(cid)-getCreatureSpeed(cid)) doRemoveCondition(cid, CONDITION_OUTFIT) end return TRUE end Depois bote essa tag no talkaction.xml: <talkaction words="!fly" event="script" value="fly.lua"/> Va em data/movements/scripts e crie um arquivo.lua com o nome de fly.lua e bote: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon Systems by Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon Systems by Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- function onStepIn(cid, item, position, fromPosition) local actions = { [65120] = {del = {4,5,6}, add = {1,2,8}}, [65121] = {del = {8,7,6,5,4}, add = {8,1,2,3,4}}, [65122] = {del = {8,7,6}, add = {2,3,4}}, [65123] = {del = {2,1,8,7,6}, add = {6,5,4,3,2}}, [65124] = {del = {2,1,8}, add = {4,5,6}}, [65125] = {del = {8,1,2,3,4}, add = {8,7,6,5,4}}, [65126] = {del = {2,3,4}, add = {8,7,6}}, [65127] = {del = {6,5,4,3,2}, add = {6,7,8,1,2}}, } local configs = actions[item.actionid] for i = 1,8 do if table.find(configs.del, i) then doRemoveTile(getPosDirs(fromPosition, i)) end doItem(getPosDirs(getCreaturePosition(cid), i), 65119+i) end return TRUE end Depois va em movements.xml e adicione essa tag: <movevent type="StepIn" actionid="65120;65121;65122;65123;65124;65125;65126;65127" event="script" value="fly.lua"/> Para usar o fly diga !fly para descer e subir Ride System By: MatheusMkalo Vá em talkactions/scripts e crie um arquivo.lua com o nome de ride e bote esse script: --[[ This file is part of Pokemon Systems by Mkalo. Pokemon Systems by Mkalo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pokemon Systems by Mkalo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pokemon Systems by Mkalo. If not, see <http://www.gnu.org/licenses/>. ]]-- function onSay(cid, words) local pokesride = { ["Dragon Lord"] = {lookType=4, speed = 3000}, ["Dragon"] = {lookType=4, speed = 500}, } if #getCreatureSummons(cid) <= 0 and getPlayerStorageValue(cid, 59987) <= 0 then return doPlayerSendCancel(cid, "You need a pokemon to ride.") end if not canSummon(cid) and getPlayerStorageValue(cid, 59987) >= 1 then return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM) end local sname = #getCreatureSummons(cid) >= 1 and getCreatureName(getCreatureSummons(cid)[1]) or nil if sname ~= nil and pokesride[sname] and getPlayerStorageValue(cid, 59987) <= 0 then doSetCreatureOutfit(cid, pokesride[sname], -1) doChangeSpeed(cid, pokesride[sname].speed) doCreatureSay(cid, "Let's ride, " .. sname, 1) setPlayerStorageValue(cid, 59987, 1) setPlayerStorageValue(cid, 59988, getCreatureHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 59989, getCreatureMaxHealth(getCreatureSummons(cid)[1])) doRemoveCreature(getCreatureSummons(cid)[1]) elseif getPlayerStorageValue(cid, 59987) >= 1 then setPlayerStorageValue(cid, 59987, 0) doRemoveCondition(cid, CONDITION_OUTFIT) local item = getPokeOutLive(cid)[1] doCreatureSay(cid, "Im tired of ride, " .. getItemAttribute(item, "poke"):match("This is (.-)'s pokeball."), 1) pk = doSummonCreature(getItemAttribute(item, "poke"):match("This is (.-)'s pokeball."), getThingPosition(cid)) doConvinceCreature(cid, pk) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(cid, "LogoutPoke") setCreatureMaxHealth(pk, getPlayerStorageValue(cid, 59989)) doCreatureAddHealth(pk, getPlayerStorageValue(cid, 59989)) doCreatureAddHealth(pk, getPlayerStorageValue(cid, 59988)-getPlayerStorageValue(cid, 59989)) doChangeSpeed(cid, getCreatureBaseSpeed(cid)-getCreatureSpeed(cid)) end return TRUE end Agora bote essa tag em talkactions.xml: <talkaction words="!ride" event="script" value="ride.lua"/> Pra usar o ride é so falar !ride. Para configurar os pokemons é praticamente igual ao surf. Configurando os scripts Como adicionar mais pokemons no go/back: No inicio do script, tem essa tabela com as informaçoes: Copie a ultima linha (vermelha) e cole logo abaixo, editando os nomes e as mensagens ficando assim: Voce pode configurar o level para usar o poke mudando o valor de level. Configurando pokemons para o catch:[/b] Olhe a tabela no inicio do script: Faça o mesmo processo do acima de copiar e colar embaixo e editar: Aonde as informaçoes corpseid, chance, health, maxhealth serao, respectivamente: Id do corpo do monstro, Chance de capturar em %, health que o pokemon iria ir pro player, e health maxima que o poke iria ir para o player. Como trocar os ids das pokebolas, acesas e apagadas. Para trocar o id da pokebola "acesa" e "apagada" basta mudar os ids 2222,2223 na lib sendo que 2222 eh o da acesa e o 2223 eh o id da apagada Mude tambem na tag do action.xml que seu script ira funcionar perfeitamente. Como adicionar mais bordas ao surf. Primeiramente va em actions.xml e adicione os ids das bordas na tag do surf: (Eu fiz com a borda de areia) Depois va no script surf.lua em actions e repare nessa parte: Copie todas as 4 bordas e cole abaixo ficando: Depois mude os ids das bordas do lado << conforme as informaçoes do lado >>, ficando: Como adicionar mais pokes ao surf: Va no script surf.lua em actions e repare nessa parte: Ai voce pode adicionar o pokemon pra surf e o outfit que ele vai te dar na agua copiando o de cima e colando logo abaixo e editando algumas coisas: Lembre-se de depois que acabar de editar toda a tabela no surf.lua, va no goback.lua em creaturescripts e substitua a tabela pokes, pela que esta na actions surf.lua: Como adicionar mais pokes no evolution: Repare nessa parte do script evolution.lua em actions: Bem voce deve copiar o primeiro monstro da tabela "pokes", e adicionar no final e mudar as configuraçoes: Sendo level,evolution,maxh respectivamente, o level pra evoluir o poke, o nome da evoluçao, e a health maxima do pokemon evoluido. Depois eh so adicionar o Nome do monstro que foi adicionado a tabela "pokes" na tabela "types", no lugar do type dele: Como adicionar mais pokes no fly: Repare nas partes iguais no fly.lua (talkaction) e no goback.lua(creaturescripts): fly.lua: goback.lua: A unica coisa que mudou foi o nome da tabela, "pokes" e "pokesfly", para adicionar mais pokes no fly basta adicionar no fly.lua e botar igual no goback.lua. Informaçoes Importantes!!! Para testar o script de catch que esta no topico, voce deve deletar as tags de encantamento de armas. Para poder summonar os pokemons com o go/back, voce precisa ir no arquivo.xml do monstro e editar essa linha: Se estiver convinceable="0", mude para convinceable="1" ficando: Creditos Especiais: Kydrai pela funçao "getItemsInContainerById" MarcelloMkez Mock por algumas funçoes do fly system dele. Agradecimentos: D3rs00n (Me ajudou a fazer sumir o corpo do pokemon) Julio Cezar (Ajudou reportando bugs e testando scripts) Miih (Ajudou reportando bugs e testando scripts) Arth3miS (Ajudou reportando bugs e testando scripts) E para todos que reportaram bugs. Bugs, erros, duvidas, elogios no topico[/b]
    1 ponto
  9. Moxica

    Tuto: criar e remover um item...

    Ae vai; fui procurar mas nao vi tuto falando disso. Eu to postando aki é o codigo da porta de pedra mas isso serve pra qualquer coisa (inclusive demon helmet quest pra remover akela pedra lol). Lembrando que o codigo é uniqueid (tem gente q nem sabe oq é mas vo logo falando). Pra vcs entenderam melhor eu subliniei alguns numeros que vao permitir a vcs de bota outro item o entao mudar a posiçao dele. aki é a posiçao da pedra o item que vc tiver escolhido no mapa.4003; é o uniqueid que vc devera bota na alavança o objeto que vai ter q clika nele para haver a açao. 1945 e 1946; é o id da alavança, se quiser otro objeto pra fazer a açao coloke o id dele no lugar desse. 1353; é o id do objeto que vai desaparecer e aparecer (nesse caso é o id da pedra). Se quiser otro id mude tds os 1353 pelo id do objeto que vc desejar. isso é a mgs que o player vai ver emcima da sua console se ele nao poder executar a açao.Bom espero ter ajudado o xtibia, claro que os creditos nao sao meus sao do GriZzmo. Flw^^ Se tiver duvidas o eu tiver feito erros e so posta ae que eu edito.
    1 ponto
  10. Marok

    Aula 6: Fazendo Uma Feira

    Aula 6: Fazendo uma feira É apenas um estilo de feira, uma espécie de corredor cheio de barracas. O tutorial mostra apenas o esquema delas e a idéia principal, o resto é por conta de vocês. Tutorial: http://www.youtube.com/watch?v=imaVspkUo3Q Resultado:
    1 ponto
  11. tibiaa4e

    Lista Das Action

    Dei uma arrumada agora os links tao funfando so fiz isso pq to retired Legendas de protocolos 7.5=Funfa em protocolo 7.5 7.6=Funfa em protocolo 7.6,7.7,7.8,7.9 7.8=Funfa em protocolo 7.8,7.9 7.8svn=Funfa em protocolo 7.8 nova svn e 7.9 7.9=Funfa em protocolo 7.9 7.9svn=Funfa em protocolo 7.9 svn 17/12 + Lista das Actions: brunuxx Tirando Couro do Demon (7.6) telescopio ganhando função (7.6) area pra treinar no server (7.6) oracle em actions (7.6) casket (7.6) pegando laranjas em arvores (7.6) Colex Boots of Waterwalking (7.6) (7.6) New Exausted System (7.6) FireWorks (7.6) Bed system in actions (7.6) Mana fluid com exausted (7.6) Prison system (7.6) elevador system (7.6) alert system (7.6) fire elemental summoner (7.6) sorting hat (7.6) relogio (7.6) mover estatua (7.6) spy rune (7.6) vomit system (7.6) cronometro (7.6) advanced teleport (7.6) absord rune (7.6) change vocation quest (7.6) action multifuncional (7.6) reputation system (7.6) spy rune 2.0 (7.6) teleport por talkaction Lukinhasrox Chuva de itens (7.5,7.6) Estatua q dão skills (7.6) cantando (7.6) pega noob (7.6) Barril Explosivo (7.6) Invasão de Demon (7.6) Estatua de trocar vocation (7.6) teleport com alavanca Look_of_hell Actions de cortar arvores (7.8) Banana Tree com chanche de sair macacos (7.6) Banana Tree com skill (7.6) Nitrouz Pedra q teleporta pro dp (7.5) Pedra q troca a vocation do player (7.5) SoulBlaster Actions para quest com bag (7.8 svn) parchment room (7.8 svn) action de hole (7.8 svn) talkactions (7.8 svn) Tibiaa4e Tapestry 100% rl tibia (7.6) Super desintegrate rune (7.6) Ping Bank (7.6) Pumpinkhead (7.6) Trainning Room V1 (7.6) Fishing com Worms 100% rl (7.6) Script De Jardineiro (7.6) Mapa do Tesouro 90% (7.8) Tombs,Spikes,Junglemaw (7.6) Vocation Chest (7.8) Trap Funfando (7.6) Keys 80% rl tibia (7.6) Full Ancient helmet com tempo (7.6) Depot tiles (7.8svn) cult piano (7.8svn) lvl door and quest door (7.8svn) Annihilator Quest Com Sistema De Retirada De Demon (7.6) demon helmet completa (7.6) sistema de mergulhar (7.8svn) cake system (7.9svn) food system 7.92 2.1(7.9svn) Concentrated Demonic Blood 7.9 (7.9svn) aquario rl tibia 7.9 (7.9svn) sistema de janelas 0.2 (7.9svn) Vomit system 7.9 (7.9svn) Santa doll e christmas card (7.9svn) Christmas bundle (7.9svn) Door 7.9 (7.9svn) fireworks rocket (7.9svn) constructions kits 7.9 cake,bread,pumpkin 100% (7.9svn) piggy bank rl (7.6) juice squeezer (7.9svn) The Taker sistema de janelas 7.9 (7.9) caixão q sumona (7.8svn) aquario 7.8/7.9 (7.8svn) jorginhozinho Teleportando em item (7.5) GLO Comprando runas em alavanca Lithium Mana rune Claverockz solução para fishing bugado 7.6 blessed rune perfect desintegrate pedroddcunha Obsidian Knife Blessed Wooden Stake frerety Lendo livro em uma determinada posição Armazenando mana com ectoplasma container Como abrir portas com chave teleport parchment alavanca funcionando gm pode comer sem ficar full Clic Runa q da skill item q da life runa ladra rosa da agonia remove tree change vocation rune buy in the rune sell item Chapolin quest thunder hammer GOD Markitow Vocation Quest Alokk Mover pedra com alavanca Pick 7.5 id rune kamimura Mana rune 7.6 -xbowaxx- Cocaina action level door para yourots adicionando quest pelas actions temple change say rune animate dead rune guildwars action q destroi arvores cortar monstros=comida teleport rune action q remove tudo spell of waterwalking action de pinga pegando frutinhas nos brush runa engraçada pescando com delay transformado staff em enchated staff barril explosivo teleport scroll livro de quest ligando e desligando fogão fudindo pedra com helmet scarab coin pescando tesouro portinha de balcão pescando na larva teleportando em estatua runa para gms demon helmet perfeita red spellwand q sumona fe alavanca q retira estatua e sumona monstro blessed rune halloween pumpkins actions de quebra bamboo utevo res rune desenterrando scarab change bolt lampada q sumona djjin banido por staff herb healing livros q dão skill pegando maçã em arvores draw wells pegando coco com staff action com greenspell wand parchment room prisão script uh r=com heal exato comprando rune por alavanca pescando com worm quebrando item com woodem hammer e carpet hammer change money action halloween=abobora switch abrindo portas pick com random Ablank dices 7.8 depot tiles 7.72 bizugo teleport em qualquer area da tela temple quest R@U£ Hydra vira ovo quando morre bless rune Mesenga Invasão hen Power Abuser lobiilecter sistema de prisão GOD_Tridente Cassando minhocas 7.5 estatua virando cobras Faua Boots of waterwalking 7.5 Jengjius caixa sumoneira iguinho deb tutorial demon helmet Thunder Tiger shovel.lua desenterando tesouros na areia giovanni.p helmet of ancient + ruby=full Andre Felipe desenterrando minas da areia action de quebrar moveis manuloku lever action Thar sorting hat 2.0 Dark ##### invasão clicando em item gibim estatua para heal DeToNaTiOnS dragon summoners Rikezenho lixeira por alavanca level door 80% rl tibia picando e ganhando pedra lixeira por alavanca teleportando com scarab coin uh q heala no andar de cima stonecutter axe quebrando pedras tranformando staff em enchatedd staff action de change gold fogos de artificio bread system 100% livro de cura fogos de artificio por alavanca Addict boh convertida em steel boots e vice versa mikiube action de alavanca Jv Chequer destroy field,desintegrate e animate dead RaFaX banana quest soldier h quest o vidente orb explosiva golden nuggets virando crystal coin Moxica navio q navega bola do futuro documento da sorte lampada magica fire devil ponte 7.6 rotciv action de quest lavanca da morte aprenda a fazer runa machete 7.5 star wars rune FireSoul arrancado carne do bear catando coco em palmeiras estatua q da heal treinar com item GmTrevor temple rune Black Label red spellwand Mandrak machete 7.6 HeNnet arvore de blueberrie runa de benção Nenisun arma 2.0 arma q almenta life e mana dark-x porta doors CorpsCool mana rune Cathyr Flyus livros dando skill invasion Thyranic passagem secreta denilson6 estatuas De Monster Que Viram Monsters! Cursed Pyramid mumias saindo do sarcofago mano8801 remover pedra Sky Hunter andares escondidos armario q salva itens portas sem volta sorting hat 1.5 conselho do homem angonizante GoD Xinhus worms por peixe lobiilecter mudando seu templo Triston sistema de food 7.9 pra 7.6 curnocopia RoD LoKo dh action babybss teleport com alavanca 2.0 É isso todas as actions da sessão estão aki menos os topicos fechados e duvidas flws
    1 ponto
  12. Tonynh

    11# X-Entrevista: Diogo Barreiros

    Perguntas Pessoais Tonynh: - Seu nome, sua cidade e sua idade? Diogo Barreiros: Diogo Dias Barreiros, Juiz de Fora - MG, 21 anos. Tonynh: - O que você faz da vida e gosta de fazer além de se dedicar ao XTibia? Diogo Barreiros: Eu trabalho pela web como programador web (quase redundante) em uma empresa de São Paulo, faço freelas de vez em quando, atualmente estou criando um joguinho com o Anderson (que também é meu colega de trabalho)... Acho que sou um verdadeiro nerd. E além disso, gosto de namorar né. Muito bom conjugar o verbo amar, como diria meu pai. Tonynh: - Este trabalho te satisfaz? Você gosta dele? Diogo Barreiros: Me satisfaz porque é ele que paga minhas costas e que vai me dar a maior parte do meu sustento em Londres (vou passar um ano lá). Gosto na medida do possível, quando tem coisas criativas ou desafiadoras para fazer. Não sou muito fã de trabalho repetitivo, o famoso "apertar os parafusos", que Charlie Chaplin já criticou há tanto tempo atrás e até hoje é tão utilizado. Um dos motivos de gostar realmente do meu cargo no XTibia é não ter muito disso. Tonynh: - É difícil conseguir tempo para se dedicar ao xtibia.com e ao trabalho? Diogo Barreiros: Atualmente não, estou de férias da faculdade. Talvez em Londres, no começo, as coisas dificultem, mas sempre dá-se um jeito. Como diria meu tio, "a desculpa do manco é a muleta". Ou seja, quem quer realmente fazer algo, na maioria das vezes consegue. Sobre o XTibia Tonynh: - Como você conheceu o Xtibia? Diogo Barreiros: Se não me engano, foi quando eu fazia parte do JV Server como web master. O próprio JV ou talvez um colega que tinha iniciado meu contato com o JV me passou o link. Achei uma bosta o site e não quis fazer parte. Voltei um grande tempo depois, e não me lembro exatamente o motivo. Tonynh: - O que te fez ficar no fórum? (qual o motivo) Diogo Barreiros: Inicialmente me interessei pela área de websites, algum tempo por scripting, outro por programação c++... Uma época eu gostava mesmo era de criticar coisas ruins... Outra época escrevia artigos... Já fiquei apenas no barzinho... Tonynh: Hmm :x Diogo Barreiros: Só quando fui Coordenador de Programação que pensei "vou ficar aqui porque quero ajudar o XTibia", no resto do tempo tava me ajudando, ajudando minha própria vontade de fazer algo mais produtivo que jogar joguinhos. E, claro, agora que voltei pra equipe como Coordenador de Qualidade. Tonynh: - Durante as reuniões com a equipe, o que é mais discutido? Diogo Barreiros: Muita coisa: eventos, puxões de orelha do Gustavo, melhorias ao fórum, as tarefas da Coordenação (temos uma lista de afazeres muito bem documentada, não é oba-oba não!), gente da equipe inativa, intrigas internas, sugestões de usuários, problemas no fórum, novos projetos, relação com parceiros, andamento de projetos atuais... O que a galera vê os Coordenadores fazerem no fórum é apenas a ponta do iceberg. Tonynh: - Ao seu ver, como o fórum está de forma geral? Diogo Barreiros: Está bom. Tem muita coisa que pode melhorar, e muitas dessas coisas são identificadas graças ao usuário. Tenho alguns no MSN que adoram criticar, e são tipo meus ídolos, sempre com uma visão que eu como Coordenador não consigo ter. Um desses até me indicou outro fórum onde estavam falando mal da organização do XTibia, e fui atrás do cara para perguntar como exatamente ele acha o XTibia desorganizado. Estamos com um conteúdo satisfatório, mas bem longe do que entendemos como ideal. Queremos ter tanta coisa boa que fica difícil saber o que é melhor. Tipo quando você tem que escolher entre o Magnum Dark Chocolate e o Magnum Gold. Tonynh: ouaheouh, verdade ;3 Diogo Barreiros: A equipe estava um pouquiiinho desfalcada, o que os próprios usuários nos ajudaram a ver, e já estamos cuidando disso. Mas sem contar esses desfalques, a equipe é bastante unida e eficiente, pelo que percebo. Quando não é assim, os Coordenadores detectam e cuidam disso rapidinho. Nos preocupamos muito com a qualidade de tudo. Ver algo insatisfatório significa a criação de um e-mail com dezenas de respostas de como vamos melhorar isso. Acho que sou meio prolixo. O Gustavo já reclamou disso haha Tonynh: - O que você acha desses projetos do XTibia, como o X-Recomenda, Jornal Xtibia e o que você está participando.. O X-Entrevista? Diogo Barreiros: - O X-Entrevista é maravilhoso, sempre leio todas as entrevistas postadas, um verdadeiro devorador. Acho que sou bastante curioso para saber o que os outros pensam, e o X-Entrevista me proporciona a satisfação dessa curiosidade. - O Jornal XTibia eu amei desde a criação, sempre colocando o usuário por dentro das coisas da última semana. - Mas o X-Recomenda foi um verdadeiro marco na história do XTibia. Nunca um projeto teve tamanha aceitação. Não foram poucas as vezes em que achei um tópico interessante graças a ele. A equipe de Imprensa tem feito um trabalho sensacional. Tonynh: Para você, o que o XTibia teria que fazer para icentivar mais os usuários e ter mais qualidade? Diogo Barreiros: Essa é a pergunta do milhão. Constantemente estamos discutindo formas de incentivo a usuários e qualidade de conteúdo, mas é muito difícil chegar a uma resposta definitiva. Tentamos sempre fazer eventos com prêmios interessantes para atrair usuários, e vamos implantar um sisteminha novo que é bem bacana. Na questão da qualidade, também tem idéias rolando para dar destaque maior ao que é bom e incentivar que o usuário não poste qualquer coisa só por postar. E é isso, é a área que estamos mais abertos a sugestões (desde que não seja moeda virtual, que vez ou outra surge como idéia de alguém). Tonynh: Então fica ai a dica para o pessoal que está lendo esta entrevista (; Sobre Tibia e OTserver Tonynh: Para conhecer uma comunidade como o XTibia.com, você provavelmente já jogou o Tibia Global certo? Como você conheceu o Tibia, e porque resolveu jogar? Diogo Barreiros: Conheci Tibia em um jogo de RPG de fórum de Harry Potter. Me indicaram e comecei a jogar. Fiquei tipo um mês vendendo rats para ganhar dinheiro até descobrir que dava para abri-los e que vinham moedas dentro. Tonynh: kkkkkk Diogo Barreiros: Nessa época o bot de pesca era uma coisa insana. Tipo, não tinha aquele delay entre a pesca em um tile e outro, então só ficava aquela parada constante de pescarias em milésimos de segundos nos tiles. Mas comecei a jogar por curiosidade mesmo, e talvez principalmente por eu ser novo e na época gráficos não serem tão PS3, foi foda Tonynh: - Qual foi o level mais alto que você já conseguiu alcançar no Tibia? e em qual mundo? Diogo Barreiros: 27 em Venore. Nunca consegui jogar mais do que dois meses, e sempre fui noob. Já tive char level 150 nas mãos, mas era de amigo e só pra zoar. Tonynh: - Quando você morria, o que você pensava? Se irritava, ou Apenas começava denovo? Diogo Barreiros: Me irritava demais, principalmente por ser criança na época. Batia um desânimo, uma tristeza profunda. Mas nunca cheguei a chorar, como já vi fazerem em Lan House. Tonynh: uahsaushauhs, éramos iguais então Diogo Barreiros: Não que seja vergonhoso chorar por causa de Tibia, mas é errado dar tanta importância a um jogo. Tonynh: - Você já jogou OTserver? Se sim, como você conheceu e qual a primeira impressão? Diogo Barreiros: Sim sim, claro. Conheci na época do Survival, versão 7.1 Tonynh: nossa D; old times Diogo Barreiros: Sim Eles eram o supra-sumo dos OTServs e nunca liberaram as sources. Cheguei a criar meu próprio OTServ usando esse survival, em uma internet de 64k! Chamava Aurora, e fazia eventos loucos que nunca vi OTServ nenhum fazer (mas não procurei tanto, também =P) Depois que o fechei, meu parceiro na empreitada levou o site pro JV Server fingindo que era dele. Como não manjava de programação PHP ou nem mesmo de HTML, não conseguiu manter o site, e teve que me chamar. Cheguei a jogar e curtia DEMAAAAAAAIS o Universal-X, o melhor de todos na minha opinião. Joguei Empire um tempo também, mas como sempre tomava DDoS não tinha como ir para a frente. Diogo Barreiros: Depois do Empire só fui jogar o Pokemon Online quando lançou, mas não fiquei 2 dias jogando. Muito chato upar. Tonynh: - E para finalizarmos... O que você tem a dizer para o pessoal que irá ler esta entrevista? (; Diogo Barreiros: Que sempre que quiserem falar mal de alguma coisa ou dar uma sugestão, por menor ou mais bobinha que seja, crie um tópico na área de Sugestões e Criticas. Queremos melhorar sempre, e muitas vezes pequenas idéias são grandes sacadas. Considerações Finais Diogo Barreiros: E é isso aí Tonão, valeu pela oportunidade, gato Tonynh: hehe, eu que agradeço a entrevista gostei muito disso =p
    1 ponto
  13. Va em data/npc procure pelo npc stone seller abra o arquivo apague tudo e coloque <?xml version="1.0" encoding="UTF-8" ?> - <npc name="Stone Seller" script="loot.lua" walkinterval="0" floorchange="0"> <health now="150" max="150" /> <look type="159" head="132" body="79" legs="97" feet="132" corpse="2212" /> - <parameters> <parameter key="module_shop" value="1" /> <parameter key="message_greet" value="Hello |PLAYERNAME|. I buy items there is my offer! .. and also sells some ." /> <parameter key="shop_buyable" value="Leaf Stone,5918,20000;Venom Stone,5929,20000;Coccon Stone,7497,20000;Crystal Stone,5885,20000;Darkness Stone,5892,20000;Water Stone,5810,20000;Thunder Stone,5928,20000;Rock Stone,5924,20000;Hearth Stone,5908,19000;Fire Stone,5907,20000;Earth Stone,5804,20000;Enigma Stone,5903,20000;Punch Stone,5791,20000" /> <parameter key="shop_sellable" value="Leaf Stone,5918,20000;Venom Stone,5929,20000;Coccon Stone,7497,20000;Crystal Stone,5885,20000;Darkness Stone,5892,20000;Water Stone,5810,20000;Thunder Stone,5928,20000;Rock Stone,5924,20000;Hearth Stone,5908,19000;Fire Stone,5907,20000;Earth Stone,5804,20000;Enigma Stone,5903,20000;Punch Stone,5791,20000" /> </parameters> </npc>
    1 ponto
  14. Tryller

    [Official] The Diamond Server 1.0.7

    Não foi RIP? tu não adicionou nada no server >.< tu pegou ele pronto e só mudou o nome, pra que trocar o nome se você não fez nada? Isso é Ripping, tu nunca vai perder essa mania mesmo né? Sem contar que você não colocou os créditos no tópico. Se quiser memso ser programador de verdade aconselho fazer uma faculdade, isto se você tiver idade para isto. Caso contrário leia uns livros de c++ na internet.... Pera..... Vou te ajudar a procurar... http://www.google.com.br/cse?hl=pt-BR&source=hp&biw=1024&bih=521&q=c%2B%2B&aq=f&aqi=&oq=&gs_rfai=&fp=a6e7d85ff1522ad7&cx=partner-pub-4552166028458048:yy12nc-1ze0
    1 ponto
  15. rod_doidim

    [Official] The Diamond Server 1.0.7

    Se eu bem sei, o usuário Robson tinha que ser punido por isto não? Po tu só mudo o nome usando o trabalho de alguem a seu favor. Peço deletamento. Pouca vergonha gente :weight_lift: pra fazer chega um e sacaneia. Horrivel.
    1 ponto
  16. Hospeda sua Imagem em Algum Servidor da Net.. Um Dos Mais Usados é o imageshack.us Após você hospedar sua Imagem, você Copia o Link da imagem. (Link Direto) Ai Você Clica Nessa Imagem Irá Aparecer Uma Caixa Com um Lugar onde você irá colocar o Link da Sua Imagem. Após Colocar o Link você clika em Inserir Imagem e pronto Ajudei ? Clika No Logo Abaixo da Minha Assinatura ;D Att
    1 ponto
  17. joaohd

    Material De Apoio Iv

    Material de Apoio IV Estruturas de controle Estruturas de controle: O que são: São estruturas capazes de controlar o fluxo e o acesso dos dados e aos dados, restringindo trechos do código, protegendo-o ou simplesmente separando-o. Em Lua, temos à nossa disposição as estruturas de controle if, while, repeat e for. Falaremos hoje das estruturas formadas especificamente com o if. O comando if: O comando if, em português "se", restringe o fluxo caso a expressão atribuída a ele seja falsa, ou seja, somente executa caso seja verdade. Lembrando que qualquer resultado diferente de 0, false ou nil, torna a expressão verdadeira. Sua lógica é bem simples: if [expressão] then logo, se [expressão] então Outra coisa que deve ser observada, é que a expressão sempre resulta em um valor booleano. Caso seja outra coisa qualquer, gerará um erro no código. Cada estrutura if que é aberta, tem de ser fechada com o uso da estrutura end. Observe: if [expressão] then Comandos end logo, se [expressão] então Comandos fim Agora você vira e diz: "Ah isso é muito fácil. Já sou scripter?" e eu te respondo: "Calma lá jovem aventureiro, o buraco é mais escuro." Após ler e entender bem a estrutura acima, podemos passar à estrutura if-else. Bom, mas o que é esta estrutura? Diferente da estrutura if simples, esta estrutura separa o fluxo de dados em dois caminhos distintos. O primeiro, é executado quando a expressão proposta é verdadeira, e o segundo só é executado quando a expressão não é verdadeira, ou seja, falsa. Podemos entendê-la em português como "se-senão". Como esta estrutura contém o if, ela deve também ser finalizada com o uso do end. Observe abaixo uma analogia: if [expressão] then Comandos verdadeiros else Comandos falsos end logo, se [expressão] então Comandos verdadeiros senão Comandos falsos fim Nesta estrutura citada acima, os "Comandos verdadeiros" serão executados quando a expressão for verdadeira e os "Comandos falsos", serão executados quando a expressão for falsa. "Que moleza hein!?" Ainda está bem fácil. Vamos esquentar um pouco mais. Agora vamos partir para a estrutura if-elseif, análoga a "se-mas se". A estrutura formada com if-elseif é largamente utilizada por termos a possibilidade de fazermos várias expressões ao mesmo tempo, cada uma tendo como um retorno um comando específico. Veja sua sintaxe: if [expressão] then Comandos elseif [expressão 2] then Comandos 2 elseif [expressão 3] then Comandos 3 end logo, se [expressão] então Comandos mas se [expressão 2] então Comandos 2 mas se [expressão 3] então Comandos 3 fim Como podemos perceber, eu fiz múltiplas suposições para que o meu código testasse e, caso alguma seja satisfeita, os comandos a ela relacionados, serão executados.A próxima e penúltima estrutura, é a estrutura if-elseif-else, traduzindo seria "se-mas se-senão". A estrutura if-elseif-else, apesar do nome, é bem fácil de ser compreendida. Na estrutura anterior, caso nenhuma das expressões resultasse em verdadeiro, nada seria executado. E essa é a diferença. Nesta nova estrutura, caso nenhuma expressão seja atendida, podemos ainda executar alguma coisa. Observe: if [expressão] then Comandos elseif [expressão 2] then Comandos 2 else Comandos falsos end logo, se [expressão] então Comandos mas se [expressão 2] então Comandos 2 senão Comandos falsos fim Nossa mas que tutorial gigante! Mas ainda não acabou! A última estrutura que veremos hoje é a que chamamos de aninhamento de if. É uma estrutura bem simples e sua função é a mesma que uma peneira. Ela vai refinando os dados e restringindo-os. Observe abaixo um exemplo: if [expressão] then if [expressão 2] then if [expressão 3] then Comandos end end end fazendo uma analogia ao português: se [expressão] então se [expressão 2] então se [expressão 3] então Comandos fim fim fim Fazendo uma análise mais criteriosa da estrutura, podemos ver que os comandos somente serão executados caso todas as expressões sejam verdadeiras. Todas as estruturas anteriores a esta, podem ser mescladas nesta última. Mas lembre-se de sempre obedecer as regras de finalização (end). Acho que é só. flw
    1 ponto
  18. Tryller

    Qual A Melhor Plataforma?

    Isto depende do servidor usado. TFS? OpenTibia? Isto tbm depende do seu conhecimento em Linux
    1 ponto
  19. Sherman I

    Votação Ads#49

    Sherman ZZZZcikszzzzzz Harrynoob
    1 ponto
  20. MatheusGlad

    [Pedido] Comando !home

    Bem eu nao botei opçao pra vip e outras pois o autor do pedido nao pediu isso, se eu estivesse postando, concerteza botaria. A pra nao aparecer no default, esqueci de por um baguizin: function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onSay(cid, words) if not getHouseByPlayerGUID(getPlayerGUID(cid)) then return doPlayerSendCancel(cid, "Voce nao tem casa.") end local pos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))) if getCreatureCondition(cid, CONDITION_INFIGHT) then return doPlayerSendCancel(cid, "Voce tem que estar sem battle.") end if not getTilePzInfo({x=pos.x-1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x-1, y=pos.y, z=pos.z}) then pos = {x=pos.x-1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x+1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x+1, y=pos.y, z=pos.z}) then pos = {x=pos.x+1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y+1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y+1, z=pos.z}) then pos = {x=pos.x, y=pos.y+1, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y-1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y-1, z=pos.z}) then pos = {x=pos.x, y=pos.y-1, z=pos.z} end doTeleportThing(cid, pos) return TRUE end
    1 ponto
  21. Maluko Aprendiz

    Votação Ads#49

    Maluko Aprendiz Harrynoob RenatoRibeiro
    1 ponto
  22. noobdoxtibia

    Ads#49

    ae sherman daora pracarai o vetor boa sorte ae negada
    1 ponto
  23. Maluko Aprendiz

    Ads#49

    Fiz rapidinho aqui minha primeira vez na ADS xD:
    1 ponto
  24. kevinloko

    [Action] Cut System

    Ta ai como pedido o video do meu cut system =D espero que gostem, desculpa pela qualidade do video é que nao sou muito bom nisso mais no próximo script colocarei melhor =D Lembrando o item que será cortado é o 2767 Cut system baseado no script de thalia Primeiro de tudo va em data/actions/script, copie um arquivo lua qualquer e renomeie para cut após isso coloque isso dentro Feito isso va em data actions e coloque isso <action itemid="2550" event="script" value="cut.lua" allowfaruse="1"/> Lembrando ele nao funciona junto com o rock smash mais se eu conseguir fazer os dois funcionarem juntos eu posto aki CRÉDITOS A THALIA E DRAKYLUCAS POR COMEÇAREM COM ISSO CASO TENHA ERROS ME AVISE COMEÇEI EM SCRIPT FAZ POUCO TEMPO Gostou? Da +rep =D
    1 ponto
  25. luan12

    Notícia Reprovada?!

    Notícia Reprovada?! Saiba os motivos, do porque de sua notícia ter sido reprovada, através deste tópico aqui! 1 - Notícias que forem copiadas (Rippadas) de outro fórum, mesmo com seus devidos créditos não serão movidas ao portal, por isso poste com suas palavras, crie você a notícia. 2 - Notícias sem imagens não serão aceitas, procure postar uma imagem ou outra, lembre-se uma imagem vale mais que 1000 palavras, também recomendo você complementar postando o vídeo da batalha, entre outros. 3 - Notícias sem conteúdo, sem muitas informações, serão reprovadas, procure deixar claro para todos os usuários sobre essa notícia. 4 - Notícias que não serem relacionadas ao mundo do "Otserv" serão reprovadas também, lembre-se tem a seção XTibia Notícias, OtServ Notícias e Tibia Notícias, então procure postar na seção correta ou já sabe o que acontecerá. 5 - Imagens sem a marca XTibia.com, também serão reprovadas, você será avisado e terá um prazo de 24 horas para colocar a marca, não feito isso sua notícia será reprovada. A marca deve ser na fonte Tahoma ou Arial Black, em branco e com opacidade 50%, tamanho 30. 6 - Procure postar com um português correto, colocar bastante informações, imagens e vídeos, assim sua notícia certamente será aprovada. 7 - Procure ver as notícias que já foram postadas, se você postar a mesma notícia que outro membro, é claro que sua notícia não será aprovada, e você poderá levar um alerta! Tópico importantes: Regras e recomendações da seção. Dicas para criar uma boa notícia. Hum, sua notícia foi reprovada e não foi por causa de algum dos motivos acima? Envie uma Mensagem para o e-mail: imprensa@xtibia.com Tópico atualizado dia 13/04/2010 por: DoidinMapper. << * Tópico Sujeito à Mudanças * >>
    1 ponto
  26. delmondes

    Ajudem Aqui Por Favor

    me fala aonde voce baixou o client J04ZAN
    -1 pontos
  27. rod_doidim

    [Fechado] Seção Incorreta

    Po tão stressado os muleque? Stressa não sô! vai almoçar arruamr alguma coisa pra fazer em vez de reportar no barzinho... jesus que cricri relaxa ai. eu não sabia que não podia postar ss aqui de coisas sem propósito de divulgar. e o cara já me falou que eu tava errado, o bonde dos sem nada pra fazer fica botando fogo vai toma @#)%)# fica na boa ai :smile_positivo:
    -1 pontos
  28. rod_doidim

    [Fechado] Seção Incorreta

    OTBRAS, inova ! Olhe isso companheiro hauhuahu!
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...