Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 05/15/11 em todas áreas

  1. Henrique Moura

    Xtibia Do #1 - Otserv

    Você já parou pra pensar como é manter uma comunidade do nível do XTibia andando? Se sim, você já deve ter pensando em ajudar de alguma forma. Pensando nisso, eu venho aqui hoje apresentar um programa de reestruturação de membros e equipe para o XTibia.com. Nós vamos apresentar as dificuldades, as críticas dos membros e tentar solucioná-las junto à vocês. Mas isso já não é feito em críticas e sugestões? Sim, porém o que apresento aqui é um modelo diferente, com mais atenção e com a participação de todos, assim como maior destaque do que a área de sugestões e críticas. Esperamos que, com essa iniciativa, nós possamos identificar, solucionar, prever e evitar os problemas que nos assombram. Pronto para o trabalho? Vamos lá? Aprovação de Tutoriais Há muito tempo viemos recebendo críticas aglomeradas nessas seção. Muitas sugestões e pouca atividade, e por isso, coloco ela como principal tópico nessa nossa discussão. Os tópicos aqui postados tem um tempo longo para serem aprovados e movidos para a seção correta, fazendo-o assim uma desvalorização do conteúdo postado pelos membros. O que você acha que devemos fazer para acabar de vez com essa situação? Download de OTservs Problemas generalizados. Falta de sources nos downloads, casos raros de arquivos infectados e apresentação de um conteúdo que quando você baixa é outro. O que você acha que podemos fazer pra mudar esse cenário, assim como melhorar a atividade dessa seção? Anúncio de Servidores e Monte Sua Equipe Floods e problemas generalizados, assim como postagem em seção incorreta e outros problemas que podem agravar o cenário dessas duas seções. O que você acha? Scripting Aqui o problema fica maior, muitos pedidos, poucas respostas porém excelentes e quase sempre resolvem o que o dono precisa. Alguns tópicos são esquecidos, sabemos disso, e outros não explicam devidamente o que querem. Já criamos alguma solução, como organizar melhor o conteúdo através da criação de duas novas seções nessa área, mas sabemos que isso ainda não é suficiente. O que você acha? Mapping A inatividade com certeza é o principal problema dessa seção. Há outros problemas também, mas não é o caso de ser completamente notado pela equipe e assim solucionado, será que você pode nos dizer. O que você acha que podemos fazer? Eu tenho outra sugestão ou crítica que não foi listada nos tópicos acima! Você é livre para escrevê-la no seu post e debate-lá nele, assim como ressaltar outro problema que temos em outra seção da área de OTserv. Por favor não se prenda aos problemas citados, se você sabe de algo e deseja também acrescentar, faça sua crítica a respeito aqui mesmo, nesse tópico, a partir do modelo abaixo. Como posso ajudar? Para nos ajudar, você deverá seguir o pequeno modelo abaixo: Crítica ou problema: Aqui você ira exemplificar e detalhar o problema que você encontrou e está criticando. Sugestão: Já aqui, você ira apresentar uma solução para o problema citado. Como realizar o que você propôs: E então, aqui, você irá dizer como podemos realizar o que você propôs, como um adicional a sugestão que você realizou. Veja que, nosso objetivo, é organizar melhor e sempre seguindo um modelo de qualidade, para que continuemos agradando nossos membros e sempre seguindo o padrão que o XTibia mantém até hoje: Qualidade, conteúdo e acima de tudo, gratuito e livre. Portanto, é importante que você siga o modelo. Vamos lá! Vamos discutir, vamos colaborar, vamos melhorar! Vamos fazer? XTibia 2011 - A sua comunidade! Henrique Moura.
    3 pontos
  2. 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
  3. pablo361

    Sistema De Forja

    Meu Novo sistema de Forja, Procurei aqui no Xtibia e não achei um Sistema de Forja Completo e Facil de Configurar. Meu Segundo Script *-* Versão Testada: TFS 0.4 (8.60) Sistema de Forja V1.0 Vamos la Video: em Actions.xml Adicione: <action uniqueid="16451" event="script" value="forjar.lua" /> Crie um Arquivo LUA em Actions>Scripts com o nome de "forjar.lua" e adicione isso dentro: function onUse(cid, item, item2, frompos, topos, pos)local config = {["Magic Plate Armor"] = {t1=2476,t2=2464,t3=2472}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO --["Dragon Scale Mail"] = {t1=2489,t2=2487,t3=2492},}local r1 = {x = 222, y = 217, z = 7, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 )local r2 = {x = 224, y = 217, z = 7, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 )local r3 = {x = 223, y = 217, z = 7} -- Posição do Item a Ser Criadolocal q1 = getThingfromPos(r1)local q2 = getThingfromPos(r2)for i, x in pairs(config) doif (q1.itemid == x.t1 and q2.itemid == x.t2) or (q1.itemid == x.t2 and q2.itemid == x.t1) thendoRemoveItem(q1.uid, 1)doRemoveItem(q2.uid, 1)addEvent(doCreateItem, 1000, x.t3, 1, r3)doSendMagicEffect(r3, 47)addEvent(doSendMagicEffect, 900, r3, 39)doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")breakendendreturn TRUEend na Alavanca Colocar a UniqueID: 16451 Configurando: ["Magic Plate Armor] = {t1=2476,t2=2464,t3=2472}, Vermelho: Nome do Item a Ser Forjado Azul: ID do Item1 necessário para forjar o item Vermelho Roxo: ID do Item2 necessário para forjar o item Vermelho Verde: ID do Item Vermelho Você Também Pode Adicionar Novas "Receitas" para Forjas !! Só Adicionar só 1 Linha a Mais Iguais a Outras mudando as Configurações Posição: local r1 = {x = 222, y = 217, z = 7, stackpos= 2} -- Posição do Item1 ( NÃO MEXA NO stackpos= 2 ) local r2 = {x = 224, y = 217, z = 7, stackpos= 2} -- Posição do Item2 ( NÃO MEXA NO stackpos= 2 ) local r3 = {x = 223, y = 217, z = 7} -- Posição do Item Vermelho Talkaction para mostrar os Itens de Forja talkactions.xml Adicione isso: <talkaction words="!forjas" script="forjas.lua"/> Crie um arquivo forjas.lua na pasta talkactions>scripts e adicione isso dentro: function onSay(cid, words, param)file = io.open('forjas.txt','r')notice = file:read(-1)doShowTextDialog(cid,9004,notice)file:close()end Agora na Pasta Principal do Seu OT, onde tem a pasta DATA, as DLLs e o .exe do seu ot Crie um Arquivo .txt ( arquivo de texto ), renomeie para forjas.txt e dentro dele adicione os materiais de Forjas para os seus Players não se perderem. Bom é Isso, Gostou ? REP+ =) Aprendii usar in pairs(table) *--* Créditos: Eu Pelo Script, Idéia sei la quem teve '-', e aos meus amigos que estão me ajudando bastante =)
    1 ponto
  4. Vou postar o tão famoso Guild War System Com Escudos. Vou começar pelo site : Vá em Xampp/Htdocs e crie e um arquivo chamado wars.php,dentro add isto: <?php $main_content = "<h1 align=\"center\">Guild Wars</h1> <script type=\"text/javascript\"><!-- function show_hide(flip) { var tmp = document.getElementById(flip); if(tmp) tmp.style.display = tmp.style.display == 'none' ? '' : 'none'; } --></script> <a onclick=\"show_hide('information'); return false;\" style=\"cursor: pointer;\"><h1><center>» Click to se the commands «<center></h1></a> <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\" id=\"information\" style=\"display: none;\";> <tr align=\"center\"><b>You must send this commands in GUILD CHAT.</tr> <tr style=\"background: #512e0b;\"><td align=\"center\" class=\"white\"><b>Command</b></td><td colspan=\"2\" align=\"center\" class=\"white\"><b>Description</b></td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/war invite, guild name, fraglimit</b></td><td>Sends an invitation to start the war. Example: <font color=red><BR>/war invite, Chickens, 150<BR></font><B>(Invite a guild to war with 150 frags count.)</B></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/war invite, guild name, fraglimit, money</b></td><td>Send the invitation to start the war. Example: <font color=red><BR>/war invite, Chickens, 150, 10000</font><br><B> (Invite a guild to war with 150 frags count and payment of 10000 gold coins <- you need donate to guild to use it.)<B></td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/war accept, guild name</b></td><td>Accepts the invitation to start a war. Example: <font color=red><BR>/war accept, Chickens</font><BR><B>(Accept the war against guild \"Chickens\".)</b></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/war reject, guild name</b></td><td>Rejects the invitation to start a war. Example: <font color=red><BR>/war reject, Chickens</font><BR><B>(Reject a invitation to war from Chickens.)</B></td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/war cancel, guild name</b></td><td>Cancels the invitation. Example: <font color=red><BR>/war cancel, Chickens</font><br><b>(Cancel my guild invitation to war with Chickens.)</b></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/balance</b></td><td>See the guild balance - balance of money.</td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/balance donate value</b></td><td>Deposits money on the guild's bank account. All players can donate. Example: <font color=red><BR>/balance donate 100000 </font><BR><B>(You will donate 100k to your guild balance.)</B></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/balance pick value</b></td><td>Withdraws money from the guild's bank account. Can be used only by the guild leader. Example: <font color=red><BR>/balance pick 100000 </font><BR><B>(You will withdraw 100k from your guild balance.)</B></td></tr> </table> <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\"> <tr> <td style=\"background: #512e0b\" class=\"white\" width=\"150\"><b>Aggressor</b></td> <td style=\"background: #512e0b\" class=\"white\"><b>Information</b></td> <td style=\"background: #512e0b\" class=\"white\" width=\"150\"><b>Enemy</b></td> </tr><tr style=\"background: #F1E0C6;\">"; $count = 0; foreach($SQL->query('SELECT * FROM `guild_wars` WHERE `status` IN (1,4) OR ((`end` >= (UNIX_TIMESTAMP() - 604800) OR `end` = 0) AND `status` IN (0,5));') as $war) { $a = $ots->createObject('Guild'); $a->load($war['guild_id']); if(!$a->isLoaded()) continue; $e = $ots->createObject('Guild'); $e->load($war['enemy_id']); if(!$e->isLoaded()) continue; $alogo = $a->getCustomField('logo_gfx_name'); if(empty($alogo) || !file_exists('guilds/' . $alogo)) $alogo = 'default_logo.gif'; $elogo = $e->getCustomField('logo_gfx_name'); if(empty($elogo) || !file_exists('guilds/' . $elogo)) $elogo = 'default_logo.gif'; $count++; $main_content .= "<tr style=\"background: " . (is_int($count / 2) ? $config['site']['darkborder'] : $config['site']['lightborder']) . ";\"> <td align=\"center\"><a href=\"?subtopic=guilds&action=show&guild=".$a->getId()."\"><img src=\"guilds/".$alogo."\" width=\"64\" height=\"64\" border=\"0\"/><br />".$a->getName()."</a></td> <td align=\"center\">"; switch($war['status']) { case 0: { $main_content .= "<b>Pending acceptation</b><br />Invited on " . date("M d Y, H:i:s", $war['begin']) . " for " . ($war['end'] > 0 ? (($war['end'] - $war['begin']) / 86400) : "unspecified") . " days. The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment.")."<br />Will expire in three days."; break; } case 3: { $main_content .= "<s>Canceled invitation</s><br />Sent invite on " . date("M d Y, H:i:s", $war['begin']) . ", canceled on " . date("M d Y, H:i:s", $war['end']) . "."; break; } case 2: { $main_content .= "Rejected invitation<br />Invited on " . date("M d Y, H:i:s", $war['begin']) . ", rejected on " . date("M d Y, H:i:s", $war['end']) . "."; break; } case 1: { $main_content .= "<font size=\"6\"><span style=\"color: red;\">" . $war['guild_kills'] . "</span> : <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span></font><br /><br /><span style=\"color: darkred; font-weight: bold;\">On a brutal war</span><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ($war['end'] > 0 ? ", will end up at " . date("M d Y, H:i:s", $war['end']) : "") . ".<br />The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment."); break; } case 4: { $main_content .= "<font size=\"6\"><span style=\"color: red;\">" . $war['guild_kills'] . "</span> : <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span></font><br /><br /><span style=\"color: darkred;\">Pending end</span><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", signed armstice on " . date("M d Y, H:i:s", $war['end']) . ".<br />Will expire after reaching " . $war['frags'] . " frags. ".($war['payment'] > 0 ? "The payment is set to " . $war['payment'] . " bronze coins." : "There's no payment set."); break; } case 5: { $main_content .= "<i>Ended</i><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", ended on " . date("M d Y, H:i:s", $war['end']) . ". Frag statistics: <span style=\"color: red;\">" . $war['guild_kills'] . "</span> to <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span>."; break; } default: { $main_content .= "Unknown, please contact with gamemaster."; break; } } $main_content .= "<br /><br /><a onclick=\"show_hide('war-details:" . $war['id'] . "'); return false;\" style=\"cursor: pointer;\">» Details «</a></td> <td align=\"center\"><a href=\"?subtopic=guilds&action=show&guild=".$e->getId()."\"><img src=\"guilds/".$elogo."\" width=\"64\" height=\"64\" border=\"0\"/><br />".$e->getName()."</a></td> </tr> <tr id=\"war-details:" . $war['id'] . "\" style=\"display: none; background: " . (is_int($count / 2) ? $config['site']['darkborder'] : $config['site']['lightborder']) . ";\"> <td colspan=\"3\">"; if(in_array($war['status'], array(1,4,5))) { $deaths = $SQL->query('SELECT `pd`.`id`, `pd`.`date`, `gk`.`guild_id` AS `enemy`, `p`.`name`, `pd`.`level` FROM `guild_kills` gk LEFT JOIN `player_deaths` pd ON `gk`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `gk`.`war_id` = ' . $war['id'] . ' AND `p`.`deleted` = 0 ORDER BY `pd`.`date` DESC')->fetchAll(); if(!empty($deaths)) { foreach($deaths as $death) { $killers = $SQL->query('SELECT `p`.`name` AS `player_name`, `p`.`deleted` AS `player_exists`, `k`.`war` AS `is_war` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `p`.`id` = `pk`.`player_id` WHERE `k`.`death_id` = ' . $death['id'] . ' ORDER BY `k`.`final_hit` DESC, `k`.`id` ASC')->fetchAll(); $count = count($killers); $i = 0; $others = false; $main_content .= date("j M Y, H:i", $death['date']) . " <span style=\"font-weight: bold; color: " . ($death['enemy'] == $war['guild_id'] ? "red" : "lime") . ";\">+</span> <a href=\"index.php?subtopic=characters&name=" . urlencode($death['name']) . "\"><b>".$death['name']."</b></a> "; foreach($killers as $killer) { $i++; if($killer['is_war'] != 0) { if($i == 1) $main_content .= "killed at level <b>".$death['level']."</b> by "; else if($i == $count && $others == false) $main_content .= " and by "; else $main_content .= ", "; if($killer['player_exists'] == 0) $main_content .= "<a href=\"index.php?subtopic=characters&name=".urlencode($killer['player_name'])."\">"; $main_content .= $killer['player_name']; if($killer['player_exists'] == 0) $main_content .= "</a>"; } else $others = true; if($i == $count) { if($others == true) $main_content .= " and few others"; $main_content .= ".<br />"; } } } } else $main_content .= "<center>There were no frags on this war so far.</center>"; } else $main_content .= "<center>This war did not began yet.</center>"; $main_content .= "</td> </tr>"; } if($count == 0) $main_content .= "<tr style=\"background: ".$config['site']['darkborder'].";\"> <td colspan=\"3\">Currently there are no active wars.</td> </tr>"; $main_content .= "</table>"; $main_content .= '<div align="right"><small><b>Customized by: <a href="http://www.xtibia.com/forum/user/240289-walef-xavier">Walef Xavier</a></b></small></div><br />'; ?> Agora vá em Xampp/Htdocs/index.php e add o seguinte: case "wars"; $subtopic = "wars"; $topic = "Guild Wars"; include("wars.php"); break; Agora para finalizar a parte do site vá em Xampp/Htdocs/Layout/Tibiacom/layout.php e add o seguinte: <a href='?subtopic=wars'> <div id='submenu_wars' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_polls' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'><font color=red>Guild Wars</font></div> <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> </div> </a> Agora vamos para seu Ot: Va em GlobalEvents/scripts/start.lua e add o seguinte: db.executeQuery("DELETE FROM `guild_wars` WHERE `status` = 0 AND `begin` < " .. (os.time() - 2 * 86400) .. ";") db.executeQuery("UPDATE `guild_wars` SET `status` = 5, `end` = " .. os.time() .. " WHERE `status` = 1 AND `end` > 0 AND `end` < " .. os.time() .. ";") Agora vá em Lib e crie um arquivo .lua chamado 101-war,dentro add o seguinte: WAR_GUILD = 0 WAR_ENEMY = 1 Agora para finalizar vamos colocar os comandos em Talkactions ! Vá em Talkactions/scripts e crie dois arquivos chamados war.lua e balance.lua,dentro add o seguinte: War.lua function onSay(cid, words, param, channel) local guild = getPlayerGuildId(cid) if(not guild or getPlayerGuildLevel(cid) < GUILDLEVEL_LEADER) then doPlayerSendChannelMessage(cid, "", "You cannot execute this talkaction.", TALKTYPE_CHANNEL_W, 0) return true end local t = string.explode(param, ",") if(not t[2]) then doPlayerSendChannelMessage(cid, "", "Not enough param(s).", TALKTYPE_CHANNEL_W, 0) return true end local enemy = getGuildId(t[2]) if(not enemy) then doPlayerSendChannelMessage(cid, "", "Guild \"" .. t[2] .. "\" does not exists.", TALKTYPE_CHANNEL_W, 0) return true end if(enemy == guild) then doPlayerSendChannelMessage(cid, "", "You cannot perform war action on your own guild.", TALKTYPE_CHANNEL_W, 0) return true end local enemyName, tmp = "", db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy) if(tmp:getID() ~= -1) then enemyName = tmp:getDataString("name") tmp:free() end if(isInArray({"accept", "reject", "cancel"}, t[1])) then local query = "`guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild if(t[1] == "cancel") then query = "`guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy end tmp = db.getResult("SELECT `id`, `begin`, `end`, `payment` FROM `guild_wars` WHERE " .. query .. " AND `status` = 0") if(tmp:getID() == -1) then doPlayerSendChannelMessage(cid, "", "Currently there's no pending invitation for a war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end if(t[1] == "accept") then local _tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = _tmp:getID() < 0 or _tmp:getDataInt("balance") < tmp:getDataInt("payment") _tmp:free() if(state) then doPlayerSendChannelMessage(cid, "", "Your guild balance is too low to accept this invitation.", TALKTYPE_CHANNEL_W, 0) return true end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. tmp:getDataInt("payment") .. " WHERE `id` = " .. guild) end query = "UPDATE `guild_wars` SET " local msg = "accepted " .. enemyName .. " invitation to war." if(t[1] == "reject") then query = query .. "`end` = " .. os.time() .. ", `status` = 2" msg = "rejected " .. enemyName .. " invitation to war." elseif(t[1] == "cancel") then query = query .. "`end` = " .. os.time() .. ", `status` = 3" msg = "canceled invitation to a war with " .. enemyName .. "." else query = query .. "`begin` = " .. os.time() .. ", `end` = " .. (tmp:getDataInt("end") > 0 and (os.time() + ((tmp:getDataInt("begin") - tmp:getDataInt("end")) / 86400)) or 0) .. ", `status` = 1" end query = query .. " WHERE `id` = " .. tmp:getDataInt("id") if(t[1] == "accept") then doGuildAddEnemy(guild, enemy, tmp:getDataInt("id"), WAR_GUILD) doGuildAddEnemy(enemy, guild, tmp:getDataInt("id"), WAR_ENEMY) end tmp:free() db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. msg, MESSAGE_EVENT_ADVANCE) return true end if(t[1] == "invite") then local str = "" tmp = db.getResult("SELECT `guild_id`, `status` FROM `guild_wars` WHERE `guild_id` IN (" .. guild .. "," .. enemy .. ") AND `enemy_id` IN (" .. enemy .. "," .. guild .. ") AND `status` IN (0, 1)") if(tmp:getID() ~= -1) then if(tmp:getDataInt("status") == 0) then if(tmp:getDataInt("guild_id") == guild) then str = "You have already invited " .. enemyName .. " to war." else str = enemyName .. " have already invited you to war." end else str = "You are already on a war with " .. enemyName .. "." end tmp:free() end if(str ~= "") then doPlayerSendChannelMessage(cid, "", str, TALKTYPE_CHANNEL_W, 0) return true end local frags = tonumber(t[3]) if(frags ~= nil) then frags = math.max(10, math.min(1000, frags)) else frags = 100 end local payment = tonumber(t[4]) if(payment ~= nil) then payment = math.max(100000, math.min(1000000000, payment)) tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = tmp:getID() < 0 or tmp:getDataInt("balance") < payment tmp:free() if(state) then doPlayerSendChannelMessage(cid, "", "Your guild balance is too low for such payment.", TALKTYPE_CHANNEL_W, 0) return true end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. payment .. " WHERE `id` = " .. guild) else payment = 0 end local begining, ending = os.time(), tonumber(t[5]) if(ending ~= nil and ending ~= 0) then ending = begining + (ending * 86400) else ending = 0 end db.query("INSERT INTO `guild_wars` (`guild_id`, `enemy_id`, `begin`, `end`, `frags`, `payment`) VALUES (" .. guild .. ", " .. enemy .. ", " .. begining .. ", " .. ending .. ", " .. frags .. ", " .. payment .. ");") doBroadcastMessage(getPlayerGuildName(cid) .. " has invited " .. enemyName .. " to war till " .. frags .. " frags.", MESSAGE_EVENT_ADVANCE) return true end if(not isInArray({"end", "finish"}, t[1])) then return false end local status = (t[1] == "end" and 1 or 4) tmp = db.getResult("SELECT `id` FROM `guild_wars` WHERE `guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy .. " AND `status` = " .. status) if(tmp:getID() ~= -1) then local query = "UPDATE `guild_wars` SET `end` = " .. os.time() .. ", `status` = 5 WHERE `id` = " .. tmp:getDataInt("id") tmp:free() doGuildRemoveEnemy(guild, enemy) doGuildRemoveEnemy(enemy, guild) db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. (status == 4 and "mend fences" or "ended up a war") .. " with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return true end if(status == 4) then doPlayerSendChannelMessage(cid, "", "Currently there's no pending war truce from " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end tmp = db.getResult("SELECT `id`, `end` FROM `guild_wars` WHERE `guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild .. " AND `status` = 1") if(tmp:getID() ~= -1) then if(tmp:getDataInt("end") > 0) then tmp:free() doPlayerSendChannelMessage(cid, "", "You cannot request ending for war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end local query = "UPDATE `guild_wars` SET `status` = 4, `end` = " .. os.time() .. " WHERE `id` = " .. tmp:getDataInt("id") tmp:free() db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has signed an armstice declaration on a war with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return true end doPlayerSendChannelMessage(cid, "", "Currently there's no active war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end balance.lua local function isValidMoney(value) if(value == nil) then return false end return (value > 0 and value <= 99999999999999) end function onSay(cid, words, param, channel) local guild = getPlayerGuildId(cid) if(guild == 0) then return false end local t = string.explode(param, ' ', 1) if(getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER and isInArray({ 'pick' }, t[1])) then if(t[1] == 'pick') then local money = { tonumber(t[2]) } if(not isValidMoney(money[1])) then doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_W, 0) return true end local result = db.getResult('SELECT `balance` FROM `guilds` WHERE `id` = ' .. guild) if(result:getID() == -1) then return false end money[2] = result:getDataLong('balance') result:free() if(money[1] > money[2]) then doPlayerSendChannelMessage(cid, '', 'The balance is too low for such amount.', TALKTYPE_CHANNEL_W, 0) return true end if(not db.query('UPDATE `guilds` SET `balance` = `balance` - ' .. money[1] .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;')) then return false end doPlayerAddMoney(cid, money[1]) doPlayerSendChannelMessage(cid, '', 'You have just picked ' .. money[1] .. ' money from your guild balance.', TALKTYPE_CHANNEL_W, 0) else doPlayerSendChannelMessage(cid, '', 'Invalid sub-command.', TALKTYPE_CHANNEL_W, 0) end elseif(t[1] == 'donate') then local money = tonumber(t[2]) if(not isValidMoney(money)) then doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_W, 0) return true end if(getPlayerMoney(cid) < money) then doPlayerSendChannelMessage(cid, '', 'You don\'t have enough money.', TALKTYPE_CHANNEL_W, 0) return true end if(not doPlayerRemoveMoney(cid, money)) then return false end db.query('UPDATE `guilds` SET `balance` = `balance` + ' .. money .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;') doPlayerSendChannelMessage(cid, '', 'You have transfered ' .. money .. ' money to your guild balance.', TALKTYPE_CHANNEL_W, 0) else local result = db.getResult('SELECT `name`, `balance` FROM `guilds` WHERE `id` = ' .. guild) if(result:getID() == -1) then return false end doPlayerSendChannelMessage(cid, '', 'Current balance of guild ' .. result:getDataString('name') .. ' is: ' .. result:getDataLong('balance') .. ' bronze coins.', TALKTYPE_CHANNEL_W, 0) result:free() end return true end Agora vá em Talkactions/talkactions.xml e add as duas tags: <talkaction words="/war" channel="0" event="script" value="war.lua" desc="(Guild channel command) War management."/> <talkaction words="/balance" channel="0" event="script" value="balance.lua" desc="(Guild channel command) Balance management."/> Pronto,seu Guild War Systema está instalado...mas para funcionar necessitará das tabelas na sua database e do Tfs 0.4 .Vou posta-los abaixo,respectivamente. . Tabelas . Para quem ainda não sabe add tabelas a sua database,vou ensinar: Acesse seu phpmyadmin,digite sua senha (caso tenha),clique no nome da sua database a esquerda,assim que carregar a sua database clique em SQL lá em cima...Aparecerá um espaço em branco lá voce irá add as seguintes tabelas...e depois clicar em Executar. CREATE TABLE IF NOT EXISTS `guild_wars` ( `id` INT NOT NULL AUTO_INCREMENT, `guild_id` INT NOT NULL, `enemy_id` INT NOT NULL, `begin` BIGINT NOT NULL DEFAULT '0', `end` BIGINT NOT NULL DEFAULT '0', `frags` INT UNSIGNED NOT NULL DEFAULT '0', `payment` BIGINT UNSIGNED NOT NULL DEFAULT '0', `guild_kills` INT UNSIGNED NOT NULL DEFAULT '0', `enemy_kills` INT UNSIGNED NOT NULL DEFAULT '0', `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `status` (`status`), KEY `guild_id` (`guild_id`), KEY `enemy_id` (`enemy_id`) ) ENGINE=InnoDB; ALTER TABLE `guild_wars` ADD CONSTRAINT `guild_wars_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_wars_ibfk_2` FOREIGN KEY (`enemy_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE; ALTER TABLE `guilds` ADD `balance` BIGINT UNSIGNED NOT NULL AFTER `motd`; CREATE TABLE IF NOT EXISTS `guild_kills` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `guild_id` INT NOT NULL, `war_id` INT NOT NULL, `death_id` INT NOT NULL ) ENGINE = InnoDB; ALTER TABLE `guild_kills` ADD CONSTRAINT `guild_kills_ibfk_1` FOREIGN KEY (`war_id`) REFERENCES `guild_wars` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_kills_ibfk_2` FOREIGN KEY (`death_id`) REFERENCES `player_deaths` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_kills_ibfk_3` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE; ALTER TABLE `killers` ADD `war` INT NOT NULL DEFAULT 0; Pronto o Guild Wars System está totalmente instalado...falta apenas o Tfs 0.4 ! O meu The Forggoten Server 0.4 também comprei do mesmo cara que me vendeu o GWS,tenho um também que comprei na ChaitoSoft,mais conversei com eles por Msn e não permitirão que eu postasse pra ninguem,rsrs. Então vou postar o link do download e o scan: TFS 0.4 DEV Scan Ai está a DEV.... Também será necessario usar o items.xml e items.otb , a não ser que o que vc tenha seja compativel com o distro. Item.xml e otb Scan Obs: Este distro não carrega scripts que tenha a função "dbExecute.query",sempre que tiver mude para "db.query" .Todo o script ja está configurado para funcionar assim,não se preucupe. Só isso,obrigado a todos...que Deus Abençoe voces sempre !
    1 ponto
  5. Natanael Beckman

    [C++] Compilando Um Otserv

    Boa galera andei olhando e vi alguns tópicos até meio parecidos com o que estou fazendo agora, mais, eu não acho eles completos por tanto aqui vamos nois. 1° Vamos fazer todos os downloads necessários. Vamos usar um source TFS pra versão de Tibia 8.60 - Source - Stians Dev-Cpp <> 32bits - Stians Dev-Cpp <> 64bits 2° Abra o Dev-cpp: 3° Clique em Tools > Check For Updates/Packages: 4° Clique em Check For Updates and Upstairs select devpacks.org: 5° Seleciona OpenSSL 0.9.8a e clique em Dowload: 6° Em seguida irá aparecer automaticamente um processo de instalação: Agora seu Dev-cpp está no ponto pra compilar. 7° Use ctrl + o pra abri o .dev: 8° Ele vai estar dentro da pasta da sua source: 9° Então depois que abrir todos os arquivos: 10° Use alt + p logo após aparecerá uma janela ae clique em parameters e adicione, {-D__CONSOLE__} e depois OK: 11° Agora é so compilar ctrl + f9: 12º O seu executavél vai está na pasta da sua source: Pronto galera compilação concluida. Creditos: nwtr Nando Web Natan Beckman
    1 ponto
  6. nyuchiha

    Alguns Script Para Pokemon Online.

    Eai gente. Estarei postando uns script para pokemon. Favor n passa sem deixar 1 comentario xD Testado em: Pokemon Dash 8.54 Vamos la : [>Bau de Quests<] - Teleporta para HomeTown do Player. [>Npc que Pinta Balls<] - Configurada apenas para cores da ub e da pball. [>Npc Diamond Account<] - 10 Diamond por 31 Dias, e outras funçoes. [>Npc Elite Lee And Chan <] - Troca de Pokemons Change Log V.1.0 - 12/03 Entao eh isso gente. Nao passe sem comentar.. Mesmo que seja criticas Flws
    1 ponto
  7. meubk

    [Globalevents] Invasão

    Olá depois de um tempo, afastado voltei, e trouxe um script bem legal e interessante é um script para fazer invasões. Instalando Entre na pasta data/globalevents/scripts e crie um arquivo com o nome de inv.lua e cole o seguinte código: local i = { ["00:00"] = {nome = "Demon Invasões", pos = {x=1000, y=1000, z=7}, monster = {"40 Demon", "50 Fire Devil", "4 Orshabaal"}}, ["21:00"] = {nome = "Dragon Invasões", pos = {x=1000, y=1000, z=7}, monster = {"100 Dragon"}}, } function onThink(interval, lastExecution) hours = tostring(os.date("%X")):sub(1, 5) tb = i[hours] if tb then doBroadcastMessage(hours .. " - " .. tb.nome .. " Iníciou.") for _,x in pairs(tb.monster) do for s = 1, tonumber(x:match("%d+")) do doSummonCreature(x:match("%s(.+)"), tb.pos) end end end return true end Depois vá na pasta data/globalevents e procure pelo arquivo globalevents.xml e adicione a seguinte tag: <globalevent name="Invasao" interval="60" event="script" value="inv.lua"/> Adicionando Invasões No arquivo inv.lua vc segue a seguinte tabela: local i = { ["00:00"] = {nome = "Demon Invasões", pos = {x=1000, y=1000, z=7}, monster = {"40 Demon", "50 Fire Devil", "4 Orshabaal"}}, ["21:00"] = {nome = "Dragon Invasões", pos = {x=1000, y=1000, z=7}, monster = {"100 Dragon"}}, } Para adicionar mais eventos é simples, somente configurar: ["HORA DA INVASÃO"] = {nome = "NOME DA INVASÃO", pos = {POSIÇÃO X, Y, Z}, monster = {"MONSTROS"}}, Á hora da invasão é colocada entre " " e somente a hora e minuto, segundos não precisa exemplo: "15:00" Á Posição está entre { } adicionando as posições x, y e z, exemplo: {x=1688, y=1445, z=7} Os monters tem um modo especial de configurar, vc coloca entre { }, e cada monstro entre " ", e entre as " " vc adiciona "QUANTIDADE MONSTRO", e para adicionar mais tipos de monstro se separa por virgulas, exemplo: {"40 Water Elemental", "5 Cyclops"} E no final de cada invasão não esqueça a virgula, exemplo: ["21:00"] = {nome = "Dragon Invasões", pos = {x=1000, y=1000, z=7}, monster = {"100 Dragon"}}, Então é isso, qualquer erro só falar. Fui.
    1 ponto
  8. luisstronda

    [Funciona] Abrindo Mapa De Pokemon

    Bom gente varias pessoas aqui do Xtibia , esta a procura de um tutorial de como abrir o seu map editor normalmente é "REMERES" que eles usam , eles querem abrir o mapa de pokemon e eu tenho a soluçao é simples abra o seu map editor vaai em FILE > PREFERENCES depois clique em CLIENTE VERSION e desmarque a OPÇAO "CHECK FILE SIGNATURES" e clique em APLLY e OK feche seu map editor. agooora instale o Tibia 8.54 ou da versão do seu OT de POKEMON , vaa na pasta do seu cliente POKEMON , copie os seguintes arquivos Tibia.spr & Tibia DAT , depois abra a pasta do seu tibia , e cola os 2 arquivos laa. proonto agoora e so abrir o seu map na pasta do seu ot / data / world e boooora editaar do seeu jeeito AJUDEI ? Meu Servidor De Pokemon Online REP ++
    1 ponto
  9. MatheusGlad

    [Action] Potion System Sem Bugs.

    Bem eu tava jogando um ot, ai eu usava potion e adicionava umas 300 mana fluid separadas na minha bp e dava pra eu usar potion de mage em um kina, ai eu fiz um sistema de potion pra nao dar mais esse bug pra postar ai: Vá em data/actions/scripts/liquids, abra o script potions.lua, e mude para esse script: local all = {1,2,3,4,5,7,6,8} -- All Vocations. local potions = { [7620] = {vocations = all, emptypotion = 7636, mana = {70, 130}}, [7589] = {level = 50, vocations = {1, 2, 3, 5, 6, 7}, emptypotion = 7634, mana = {110, 190}}, [7590] = {level = 80, vocations = {1, 2, 5, 6}, emptypotion = 7635, mana = {200, 300}}, [8704] = {vocations = all, emptypotion = 7636, health = {50, 100}}, [7618] = {vocations = all, emptypotion = 7636, health = {100, 200}}, [7588] = {level = 50, vocations = {3, 4, 7, 8}, emptypotion = 7634, health = {200, 400}}, [7591] = {level = 80, vocations = {4, 8}, emptypotion = 7635, health = {500, 700}}, [8473] = {level = 130, vocations = {4, 8}, emptypotion = 7635, health = {800, 1000}}, [8472] = {level = 80, vocations = {3, 7}, emptypotion = 7635, health = {200, 400}, mana = {110, 190}}, } local potionc = "transform" -- Use "transform" to transform into a empty potion, "remove" to remove the potion, "infinty" to infinit potion. function getVocNames(tab) function getVocName(v) return isInArray({1, 5}, v) and "sorcerers" or isInArray({2, 6}, v) and "druids" or isInArray({3,7}, v) and "paladins" or isInArray({4,8}, v) and "knights" or "" end for i = 1, #tab do if not string.find((a == nil and "" or a), getVocName(tab[i])) then a = a and a .. " and " .. getVocName(tab[i]) or getVocName(tab[i]) end end return a end function onUse(cid, item, fromPosition, itemEx, toPosition) if isPlayer(itemEx.uid) then if getPlayerAccess(cid) >= 4 or isInArray(potions[item.itemid].vocations, getPlayerVocation(itemEx.uid)) and getPlayerLevel(itemEx.uid) >= (potions[item.itemid].level == nil and 0 or potions[item.itemid].level) and getPlayerLevel(cid) >= (potions[item.itemid].level == nil and 0 or potions[item.itemid].level) then if potions[item.itemid].mana then doCreatureAddMana(itemEx.uid, math.random(potions[item.itemid].mana[1], potions[item.itemid].mana[2])) end if potions[item.itemid].health then doCreatureAddHealth(itemEx.uid, math.random(potions[item.itemid].health[1], potions[item.itemid].health[2])) end if potionc == "transform" then if getPlayerItemById(cid, TRUE, potions[item.itemid].emptypotion).uid ~= 0 then if getPlayerItemById(cid, TRUE, potions[item.itemid].emptypotion).type < 100 then doTransformItem(getPlayerItemById(cid, TRUE, potions[item.itemid].emptypotion).uid, potions[item.itemid].emptypotion, getPlayerItemById(cid, TRUE, potions[item.itemid].emptypotion).type+1) doRemoveItem(item.uid, 1) else doPlayerAddItem(cid, potions[item.itemid].emptypotion, 1) doRemoveItem(item.uid, 1) end else doPlayerAddItem(cid, potions[item.itemid].emptypotion, 1) doRemoveItem(item.uid, 1) end elseif potionc == "remove" then doRemoveItem(item.uid, 1) end doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else return doCreatureSay(itemEx.uid, "Only " .. getVocNames(potions[item.itemid].vocations) .. (potions[item.itemid].level and " of level " .. potions[item.itemid].level .. " or above " or " ") .. "may drink this fluid.", TALKTYPE_ORANGE_1) end end return TRUE end Bem é so isso mesmo, kkk a configuraçao eh bem facilzinha de fazer e voce pode adicionar pra healar mana e health nos potions tranquilo. Nao da rep nao, aperta o botao do Eu recomendo! que eh melhor
    1 ponto
  10. Secular

    [Sign] Music

    SIGN: Comentem o que acharam!
    1 ponto
  11. LuGaNow

    Luganow's Stuff

    Minhas últimas, foi usado photoshop e illustrator.
    1 ponto
  12. BravHart

    Xtibia Do #1 - Otserv

    Sim, o Sywar tem razão .. . Em 2009, quando entrei como membro no Xtibia, o forum era mais ativo, todos os membros da equipe e demais membros comuns levavam os tópicos a sério. Todos tinham total respeito e sim, tinham prazer em ajudar o que se pedia no tópico. Caso visem algo errado no tópico, reportavam o mesmo a um moderador. Com isso, todos os membros que ajudavam o forum, tinha por sua vez uma oportunidade de fazer parte da equipe, seja ela qual era a seção que mais o agradaçe, mesmo asim todos que batalhavam tinham uma oportunidade de se monstrar e fazer sua história no Xtibia. No final de 2009 e no inicio de 2010, tive uma participação na area de Mapping, participei de varios concursos e até coordenei o mesmo. Depois, tive minha oportunidade na area de Imprensa, mas para entrar na equipe não foi fácil, me lembro bem que tive que passar por um processo de seleção e nisso fazer alguns trabalhos para o Won Helder analisar, depois de tudo, fui promovido a Estagiário de Imprensa ou seja, se meu trabalho fosse reconhecido e eu estive realmente pronto era promovido a parte da equipe na area de Imprensa. Fiquei como Estágiario de Imprensa por 2/3 meses e logo depois fui promovido a parte da equipe na area de Imprensa. Won Helder foi é sempre será um otimo Coordenador, ele fez um ótimo trabalho na area de Imprensa e logo depois foi promovido Coordenador de Imprensa, eu tenho orgulho de você, SUAHUSHUAHSUA. ... . Hoje em 2011 ?, sinceramente ?, não tenho mais prazer, não tenho mais ânimo de fazer ou trazer qualquer coisa ao forum. Acho que não é somente eu, mais boa parte dos antigos membros gostavam dessa epoca. E isso ai, falei um pouco.
    1 ponto
  13. Skywar

    Xtibia Do #1 - Otserv

    Já falei isso em outro tópico. Sei que tem problema de tempos e talz, por isso eu penso que poderia criar o tal do moderador local, exemplo um moderador que organizaria a seção de mapping, poderia também ser um próprio colaborador só que ele não tem muito poder. Quando eu entrava no XTibia no ano de 2006 a staff tinha mais respeito e propaganda da mesma, tinha concurso e toda uma marketing em cima deles, dai todos queriam entrar na equipe, corria atrás de tudo, fazia com as próprias mãos. Hoje já temos um grande contéudo, daí todos atualmente todos querem de mão beijada, pronto, dai compromete tudo. Uma coisa que também penso, ideias estão sendo expostas a vocês muitas vezes, eu acho que vocês deveriam arriscas algumas, lógico que antes deve fazer uma "backup" para que não haja erros.
    1 ponto
  14. Meganerd

    Dominio

    Seria viável também que você colocasse uma função em php para redirecionar o site. Ex: <?php header("Location: http://kodotserv.servegame.com:8090/"); ?> Coloque isso na index do seu site da UOL e ele redirecionará para o site que você quer.
    1 ponto
  15. Demonbholder

    Ajuda Com Script

    tenta agora
    1 ponto
  16. GODPraquenome

    [Tutorial] Como Criar Um Templo

    Se gostou da um +REP pra mim
    1 ponto
  17. papamix

    Tibia Dat Pra Deixar Order Usable

    Nao sei bem onde postar este tipo de coisa. Se eu estiver errado Pf algum mod move pra area certa ae! Muinta gente aki tava querendo que o order fosse USABLE,e ngm conseguia um item editor apropriado pra versao SQL entao o jeito que encontrei foi com o tibia dat editor. Ex; eu editei o Tibia.dat do cliente e o Order fico USABLE aki pelo menos ta 100% Order que sao usablesID=2003 e 2550 sao os Order que coloquei USABLE. Apos baixar o tibia.dat extraia ele na pasta do client do ot que vai fica USABLE. Se vc quiser que ele fique USABLE sempre vai ter que joga sempre no mesmo client que ta o Tibia.dat! Entao baixem ae e testem. Se funfar pq nao um +REP Link \/ DAT que deixa Order USABLE Ajudei ? + REP AE.
    1 ponto
  18. spartangui

    Pic Editor

    Hoje, venho lhes disponibilizar o melhor pic editor existente. Tibia Pic Editor By Demonic Applications Créditos: 100% Demonic ps: só postei pq eu sempre perco ele. PicEditor.rar
    1 ponto
  19. Doidin

    Vip System By Account V1.0

    Simplismente perfeito! Muito bom mesmo cara... REP+ abraços.
    1 ponto
  20. Ênfase nessa parte: Acho que fiz como pediu.
    -1 pontos
  21. Foi o script que eu pedi ? Pedi pra varios items, você me vem com venda e quer REP? Ajude e ganhe REP, se for para mim comprar tinha ido no mural de vendas! Se não for pra ajudar, não poste! Pedi a ajuda de quem possa ajudar, não de quem queira vender. Sé seu negocio foi vim atras de dinheiro ta perdendo tempo.! Compra eu compro, mais com quem vale apena não com, alguem que vem falar besteiras! Em que você me ajudou ? Num script, que aqui no forum tem um monte. Citei um item como o player joga-se la ... Não como se fosse apenas para usar um ITEM. Ou você queria que eu pedi-se que o players pouse-se Centenas de ITEMS. eo script calcula-se o valor total ? Então faça o favor de não falar asneiras de ajudar, se quiser remova esse script dai, por que você não me ajudo em nadaaa! E pelo o que eu lembro você disse isso aqui: Se for pra negociar, por que o REP? Você @Eskylo Merece REP- :button_cancel: Pelo comentário desnecessário!
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...