Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 07/30/10 em todas áreas
-
[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:3 pontos
-
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.2 pontos
-
[Official] The Diamond Server 1.0.6 Beta
iunix e um outro reagiu a sharematrix por um tópico no fórum
Update do The Diamond Server para a nova versão do tibia 8.62 Se encontrar algum bug, reporte neste tópico. A nova versão não foi testada, então se houver algum erro reporte aqui. Essa versão é a 1.0.6 BETA, então não tem as novas features 8.62 Peço desculpas pela demora =D, mais é que eu estava sem PC, então não podia compilar A versão 1.0.5 foi o maior FAIL kk, porque não tem ip-changer pra ela The Diamond Server 1.0.6 BETA Build: 3429 Changelog 1.0.6 BETA: - Suporte 8.62. Changelogs Antigos [Download Server] diamond106_beta.zip [Download Sources] Index of /the diamond server/1.0.6 [Repositorio] Browse Source ---------------------- Se gostou? Comente Visite o site official do The Diamond Server TibiaNetworks LLC2 pontos -
Styller Yourots 8.60 Original (PLATINUM) RPG (Compilado para Linux e para Windows) Mapa Base: Yourots 1.2 Editado por Leonardo. Informações: Versão 0.6 17/07/09 -Novo Visual do Templo. -95% a City 8.50 -Novas Quest\\\'s -Depot com novo Visual -SD igual a do Global. -Novos Monstros do 8.5 com respawn. -Novas Houses -Addons Funcionando. -Married Outfit -Firewalker Boots 100%. -Adicionada Itens 8.50 100%. -GOD 100%. -Adicionado Change Log -Soft Boots Funfando -Dual Hit -Npc System 100%.. -Questdoors. -Novas areas de Hunt -Respawn de Medusa Adicioando. -Demon Oak Quest 100%. -Guardian Halberd Quest. -Algumas Casas com novas Paredes. -Novo Outfit (KinG). -Inquisition 100% -Melhorei o Respawn de Bog Raider da Hydras -Sem o bug dos Grim Reapers -Npc Bless 100% -Novas Magias 8.5 -Sem o Icone de Pz e da Red Sword (por enquanto) -Ferumbras Tower (Igual a do Global) Agora Completada e com caminho para ir até ela. -Agora a Sudden Death (SD) após dar seu hit deixa um elemento de Morte tirando \\\"50\\\" -Remodelei o Amazon Camp. -Agora o Player pode recarregar sua Soft Boots e Firewalker Boots, clicando na \\\"Worn\\\" -Area de Vampiros. -Area de Infernalist. -Seais da Poi igual ao Tibia Global. -Novas Paredes. -Quest Firewalker Boots para quem fizer Demon Helmet Quest. (By Leo) -Nova Runa do tibia Global (Wild Growth). -Mais casas na cidade. -Mais pvp influenciando player jogar o Servidor. -Novo Visual do Temple. -Agora o Player ao soltar uma magia de Buff é adicionado Status. -Mais Estabilidade do Server. -Auto-clean de 2 em 2hrs. -Adicionado respawn de Faraó em Nargor. -Adicionado Great Shield Quest. -Novo respawn de Behemoth em Nargor. -Adicionado Yalahar City Full -Adicionado o Captain Eddy para levar o player à Yalahar. -Agora os players podem comprar BPS de PoTIonS e RuNAS por meio do "Buy with backpacks" no npc Dark Rodo! -Helmet of The Ancients Quest (HOTA) -Adicionado a Quest da Obsidian Knife -Adicionado o sistema de !ranks sem bug! --Melhorei a Arquitetura da Cidade. -Agora o player pode usar a enchated small ruby no Helmet of the Ancients (By LeozeraRox 100%) -Adicionado o NPC Bank sem bugs. -Foi retirado alguns Bugs. Rev 02 6/08/09 -Novo Visual do Templo. -98% a City 8.50 -Alavanca de Bp de Potions 100% -Adicionado Justice Seeker Quest -Depot com novo Visual -Sem o Bug dos Grim Reaper. -Novas Hydras. -Novos Frost Dragons, agora maior. -Adicionado o Icone de Protection Zone. -Adicionado a Black Skull -Nova Worn Soft Boots. -Nova Worn Firewalker Boots. -Loot Mensagem 100%. -Agora após o player criar o character no Acc Manager ele recebe os itens da sua Vocação. -Adicionado o Dark Cemiter (Nightstaker,Lich,Necromancer) -Adicionado uma Igreja mais por inquanto sem Casamento -Melhorei o sul da Cidade.. -Visual da City muito Bonito. -Novos demons. -Arena PvP 100%. -Loot do hellspawn agora igual do do Tibia Global. -Mais Estabilidade. -Mais Casas. -Retirei o "lixo" do mapa, pois pesava bastante os OT Servers. -!rank agora atualiza de 5 em 5min. -O preço da Yalahi Armor subiu para 600k -Melhorei o Respawn de Bog Raider da Hydras -Adicionei uma cave de Giant Spider e Hydra na Hydra Land. -Npc Bless 100% e agora mais completo. -NPC Bank sem bugs. -Adicionei o comando /ban -Bar para se diverir com amigos. -Nova Magia pra Royal Paladins "exevo con san" -Arrumado o Exhausted. -Rust Remover System -Para quem não quiser black skull basta por "no" no conf.lua >> " useBlackSkull = "yes" " -Agora o Npc Betoven não leva pro temple e sim para o Barco. -Foi retirado alguns Bugs. Rev 03 9/08/09 -Depot Com visual 8.50. -Arrumado o Bug do Outfit -Novo Exe. -Agora A Riona vende Rusty Remover. -Novo visual do cemitério -Adicionado o Married Outfit. -Removi Yalahar, pois era uma cidade inútil no servidor e servia só para pesar o server. -Hellgorak com loot igual do Tibia Global. -Mais estabilidade do que antes. -Retirado todas as camas por enquanto, pois quando o player dormia o server caia. -Foi retirado alguns Bugs. Rev 04 13/08/09 -Novo Distro. -Arrumado o Bug das camas. -Camas em todas as Casas. -Agora nem na Inquisition e nem na Demon Oak os players podem pegar os itens da amostra. (Obrigado usuários) -Clean não trava o server. -Server não cai mais, por erros. -Agora temos !notice. -Para banir Ctrl+Y -Todos itens 8.50 com seus nomes. -Mais estabilidade no servidor do que antes. -Foi retirado alguns Bugs. New Version 0.6.1 20/09/09 -Cave de Rotwoms reformulada. -Cave de Demos Reformulada. -Magias agora mais reais (sem aquelas exageradas). -Agora a Inquisition possui mais uma Sala. -Parte da Poi foi reformulada. -Adicionado o NPC Raphael, que vende buffer por 20min (nada exagerado) para os players. -Agora um cadeia para os players infratores. -Para Prender um player /jail "tempo,nome do player (apenas GMs e GODs) -Agora o player pode chamar players para quest através do comando- !service Pits of Inferno Quest, 5000 (o 5000 é o preço para os interessados). -Player agora pode trocar 200 demonic essences por um Nighmare ou Necromancer Shield (!necromancer-!nightmare). -Premia City toda Reformulada e com mais um hunt de Demons. -Adicionado os NPCs na Blue City. -Temos agora um Broadcast para dar informações aos players. -Adicionado um Hunt de Medusa e Defiler na Pits Prison. -Adicionado Demona na Hunt de Warlock. -Cave de Warlock toda reformulada. -Adicionado quest do noble axe nos Cyclops. -Adicionado um cave de Wyrms. -Pequenas edições no Temple. -Agora o Demon Oak sumona um Demodras no Lugar do Necropharus. -Foi retirado alguns Bugs. Rev 01 (0.6.1) 10/10/09 -Edições na pasta creaturescripts. -Bug do player não morrer arrumado. -Arrumado os Bugs da Premia City. -Novo Exe. foi adicionado e agora serve para Tibia 8.50 e 8.52. -Agora ficou mais dificiu derrubar o server e acho que impossivel. -Adicionado o NPC Hagar no temple, para dar boas vindas. -Bug do utito tempo san arrumado. -Bugs foram retirados. Rev 02 (0.6.1) 28/10/09 -Novo Exe. -Agora 100% Estável, devido aos vários testes. -Adicionado o NPC Aldo para recarregar a Soft Boots, segundo os players são mais RPG. -Ediçoes no mapa. -Edições no NPC Henricus. -Bugs foram retirados. Rev 03 (0.6.1) 31/10/09 -Retirado o NPC de recarregar a Soft Boots. -Permaneceu o Antigo jeito de recarregar. -Edições na Inquisition. -Bug da Arena PVP Arrumado. -Bug do NPC Henricus arrumado. -Adicionado a Quest do Blessed Shield na Fermbras Tower, onde o player escolhe apenas um Item. -Bugs foram retirados. Rev 04 (0.6.1) 02/11/09 -Novo Exe. -Mudei o Acc Manager de Lugar. -Adicionei o Npc Aldo (Recarrega Soft Boots). -Systema de Tapete Voador. -Systema de Jumper. -Uma atividade básica de mapping na cidade. -Systema de VIP: (Utilizando Database. Para mais informações: /vip) -Expandi 3 novas Hunts à Leste da Cidade. -Adicionei a Serpent Coat Quest. -Raid do The Mutated Pumkin ( /raid The Mutated Pumpkin ) -Nova Hunt de Frost Dragon na V.I.P City. -Nova Cidade Criada "Tiquanda Island" -Adicionei Systema de Refinamento para V.I.Ps. (Sem exagero) -Algumas Edições na POI. -Adicionei um Npc que leva o Player a Svargrond -Adicionei Arena Quest (greenshore - scrapper - warlord) 100% Igual ao Tibia Global. -Melhorei a Performaçe do Demon Oak. -Agora na Arena-PVP o player não perde item e nem level. -Nova Entrada para a Blood Land. -Um sistema de Invasão que o Boss invasor causa um incêndio nas Florestas de Nargor. -Adicionei a Quest da Giant Sword. -Sistema de Poll: (Via Database). *!createpoll PERGUNTA? *!activatepoll ID *!cancelpoll *!seepoll *!seeresults ID *!remvotes ID *!rempoll ID *!votepoll Option - Quando uma enquete está ativa, esse é o comando que os jogadores irão utilizar para votar na opção desejada. O número de opções pode variar. -Sistema de Afk (!afk on - !afk off). -Agora os Lideres de Guild podem mandar uma mensagem em Vermelho para os Membros. ( /guild ). -O membro de uma guild pode escolher ser atacado ou não por um outro membro de uma guild. ( /attackguild on - /attackguild off ) -Married System 100% (Via Database) *Como Casar: PLAYER1: Hi PLAYER1: marry PLAYER1: yes PLAYER1: Nome do PLayer 2 PLAYER2: Hi PLAYER2: marry PLAYER2: yes PLAYER2: proceed Os casais também podem se separar. -Adicionei o NPC Morgan em Blood City (Vende e compra Anéis) -Algumas Edições no Spells.xml -Colocamos um Sistema de quando a V.I.P do Player acabar, ele ser teleportado para a Cidade Principal. -Criei um Hunt de Destroyer e Demon. -Adicionei o Npc Old Jeff que vende outros tipos de Munição. -Bugs Foram Retirados. Versão de Reveillon (0.6.5) 16/12/09 -Novo Exe. -Mudei o Acc Manager. -Protocolo 8.54 -Outfits e Addons 8.54 (Warmaster) -95% dos Itens já foram Adicionados. -90% features -/unban funcionando 100% -Addons do Warmaster sendo vendido no Varkhal. -Adicionei a Magia "exana flam" -Agora o player começa com a "expedition backpack" -Suporte Para Mapas 8.54. -Bugs Foram Retirados. Versão de Retomada (0.7.0) 24/04/10 -Novo Distro totalmente estável. (LeozeraRox) -Proteção contra MageBomb. -Protocolo 8.54-8.55 -Lugares de Caça para todos os monstros 8.54 -Mais de 10 Quest dos novos itens foram adicionadas. -99% features. -Regularição das Spells. -Bank system via talkaction adicionado. -Comando para adiquirir bless igual a do global adicionado "!bless" -Novas Backpacks sendo vendidas na Riona. -Cidade toda reformulada. -Npc "A Ghostly Sage" para aquisição da permição para Pits Of Inferno. -Pits of Inferno mais similar ao do Tibia Global. -Nova Hunt de Infernalist adicionada. -Novo local da Igreja. -Adicionado o NPC Erisk (vendedor de alguns itens 8.54 para quem fez Pits of Inferno) -Adicionado Nightmare Doll quest. -Bugs Foram Retirados... (account manager - instabilidade). Versão de Retomada (0.7.0) Rev 01 08/05/10 -Novo Distro totalmente estável. (LeozeraRox) -Sem bug do Deathlist (foi retirado por segurança). -Novo andar na Trainer Room. -Sem bug que dava crash no Server. -Algumas Mudanças. -Bugs Foram Retirados... Versão de Retomada (0.7.2) Rev 02 15/05/10 -Novo Distro 8.54/8.55/8.56/8.57. (LeozeraRox- Techloko) -Bug dos protocolos arrumados. -Algumas Mudanças. -Bugs Foram Retirados... Versão 0.7.5 30/07/10 -Novo Distro 8.60. (LeozeraRox - Robson) -Potions em Cargas sem Bugs. -Runas em Cargas sem Bugs. -Itens 8.60 Adicionados. -Monstros 8.60 Adicionados. -Itens 8.54/8.60 sendo vendidos no Npc Esrik após completar Missão. -Novo Outfit e Addons Wayfarer. -Estabilidade. -Itens 8.60 com suas funções em perfeito funcionamento. -Bugs Foram Retirados... Versão 0.7.5 Rev 01 31/07/10 -Novo Distro. (LeozeraRox - Robson) -Sem bug das Houses. -Edições no Itens.xml. -Pequenas mudanças em Nargor. -Edições na Pasta Monsters. Versão 0.7.5 Rev 02 31/07/10 -Bug das Runas Arrumado. -Edições no Itens.xml. -Jogabilidade 100% Nova Versão (0.7.5) Rev 03 12/07/11 -Adicionado o Npc Jonny ano Norte de Blood City. -Todas as Magias do Tibia 8.70. -Agora o refinador é vendido no NPC Dufi. -Alavancas agora vendem cargas nas Bps. -Bugs Foram Retirados... Nova Versão (0.7.5) Rev 04 17/07/11 -Adicionado Frag System. -Hagar agora é útil no servidor. -Quando o player é assassinado ele perde seu coração -Alguns npcs foram mudados de lugar. -A Jogabilidade foi melhorada... Versão Definitiva (0.8) 20/12/11 -Adicionado VIP Vocation. -Completamente Sem Bugs. -Novo Distro. -Suporte Para War System -Adicionado !stamina. -Boas mudanças na Cidade Principal. -Bug de Runas e Potions corrigidos. -Trainers Modificados. -Novas Hunts, tanto VIP quanto Free. -Balanceamento de Vocações. -Adicionado a Light City para adquirir os itens de Addon. -Corrigido o Ex-Key Ring. -Sem Bug da Soya e Dark Rodo -Adicionada Darashia, totalmente Full. -Ferumbras, Ghazbaran e Morgaroth com seus Loots 100% iguais ao Tibia Global. -POI ficou mais Real. -Melhorou a Estabilidade. -Adicionada Novas Quests. -Adicionado o Addon Doll, (Ex: !addon first warrior) Versão Completa (0.9) 17/01/12 -Mudanças no Depot. -Novo Distro "muito melhor" -Addons dão atributos agora. -Anti-Push dos BOTS (Elf e Cya) -Frag arrumado. -Sem bug das Guilds. -Adicionado Refinaria em Baixo do Temple. -Na versão com teleports, foi feito uma nova area. -Boas mudanças na Cidade Principal. -Novidade nos prêmios da POI. -Sem Bugs Versão Completa (1.0) 01/03/13 -Retirei o bug da contagem de frags -melhorei a jogabilidade. -Sem Bugs Versão Completa (1.1) 03/03/13 -Coloquei sistema anti-magebomb -Pode se comprar VIP no NPC Hagar. Versão Completa (1.2) 16/03/13 -Nova Distro "Muito Melhor", pois nao da lag no server. -Não tem mais as dll's infectadas (virus). -Coloquei mais areas de caça no OT -Novos Npcs -Npc Esrik em cima do ponto de venda do NPC Raphael -Modifiquei o Templo -Sistema anti-divulgação de OT-Server -Adicionei o comando !promotion -Deixei a database mais segura. -Verifiquei se havia alguns bugs. Versão Premium 26/04/13 -War System com Escudos 100% sem utilizar database sql (BY LeozeraRox) -War of Emperium sem utilizar database sql /woe on(Configurado para todas as quartas e sabados as 18 horas) -Edições na cidade -Edições na Hunt de Cyclops -Edições na Hunt de GS -Edições na Hunt de Demon -Vocações Balancead -SD Igual tibia global -Adicionei uma Hunt de Hero -Novo Comando para informações do server !expinfo -Novos Npcs: Alice -Guia do War System !infowar -Removi Bugs de mapping -Removi Bugs da Database -Pronto para deixar online. -Sistemas de Pontos /atributos -Adicionado o NPC Scrutinon -Adicionado Lottery System, sorteando addon dolls -Retirei bug maps. Versão GOLD 2016: OBS: Primeiramente gostaria de explicar a minha volta. Depois de muito tempo sem postar, atualizar, encontrei no meu computador uma versão do Styller unica, sem bugs e a qual eu nunca havia compartilhado, pois eu utilizava esta para fazer meus OTs. Agora estou disponibilizando abaixo. -Cidade toda reformulada (Procurei valorizar o PVP) -Sistema de venda de itens offline -Training Offline -Edições na Hunt de Draggy -Sistema de exp guild, a exp de todos aumentam em 1% para cada membro online -Sistema de casamento, marido e esposa ao caçar juntos ganham mais exp. (!marriage info) -Vocações Balanceadas -Regulagem das Spells -Sistema de Itens VIP -Vip agora pode ser comprada com !buyvip -Novos Npcs. -Area de Trainer toda reformulada -Incorporei a database sql, para quem preferir -Castelo de respawns e npcs exclusivos para quem terminar Inquisition Quest -Barco oferecendo viagens para 5 cidades -Area de teleports reformulada -Adicionei o removedor de frags para quem terminar Inquisition Quest -Adicionei o sistema de montaria para quem terminar Inquisition Quest -Nova quest para level 250+ -Sistema de presentes para os players -Auto bless para players 40- (Anti power abuser) -Novas areas de hunt -É possivel ver os inimigos do Guild War System que estão online (!warmembers) -Otimizei para que não ficasse pesado e prejudicasse a jogabilidade -Informações randomicas no broadcast -War of Emperium reformulada. -Deathcast. (Estimular a War e o Revanchismo). -Sistema de recuperação de stamina, basta deixar treinando nos trainers. -Retirei bug maps. Versão 2017: -Senha do GOD corrigida -Otimização. -Removi alguns bugs. Versão PLATINUM [03/03/2017]: -Nova distro bem mais otimizada -Adicionado Cast System. (!cast on) -Adicionado o CASTLE WAR 24Hrs -Battle sai ao entrar em Protection Zone. -Não é possivel jogar lixo nas casas. -!disband corrigido -Adicionado 2 cidades (Ghala e Belisy) -Auto Loot Adicionado. -Remoção de bug maps. Acc do GOD Raymond: god/styller ScreenShots Novo Visual do Templo Castle War 24Hrs War of Emperium Novo Visual dos Trainers. Barco para as Cidades cheias de Hunts Novo Visual do Depot Novos Teleports. Firewalker Boots Quest. Trainers Offline. Blue Legs Quest Real. Refinaria. War System 100%. Vocation VIP - Second Promotion. Inquisition Castle para quem terminou a Inquisition. Download Styller Yourots Platinum "2017" (8.60) https://www.4shared.com/rar/NtjBLvNyei/86_Styller_Yourots_Platinum_20.html? Scan.\\\"/// --> https://www.virustot...sis/1363451248/ Mapa Editor ---> Clique Aqui Postem ae o que Acharam Galera!!! Obrigado RME pela perfeição e por ser um Exelente Map Editor!!! Gogo Up LeveL!1 ponto
-
[8.6] Emerald Map
jooaoguilheerme reagiu a luisfe23 por um tópico no fórum
Eae XTibianos... Estou trazendo para vcs o Emerald Map. • Créditos: Randall • Minimap: A qualidade ficou ruim porque salvei como JPG. • Download: http://www.4shared.com/file/AsHm4Soj/Emerald_Map.html • Download Link Protegido: http://lix.in/-85c7fb • Scan: http://www.virustotal.com/pt/analisis/320f026e6b49a99516ffccab44f3a985c7b49f5233a768a5a6139c499e8409a4-1279041485 Abraços.1 ponto -
Boa noite, Bom, quem me conhece sabe que eu era Spriter/Client Maker, e fiz ate 2 apostilas sobre o assunto. Derrepente me deu vontade de aprender script, e fiquei lendo tutoriais em varios Foruns. E hoje estou aqui pra mostrar meu primeiro trabalho medio divulgado! Nome do Script: Castle War 2.0 ultimate Versão testada: Tfs 0.3.6 ( deve funcionar em versões anteriores ) Descriçao: Um sistema de Guerra de castelos para guilds, deferente :]! Como funciona: O Player vai no castelo, e puxa uma lavanca, e automaticamente, todos da guild dele, tem acesso ao castelo ( porta ). Alem de contar pontos pra ganhar premios por vezes que ele conseguiu conquistar Castelos! ps: esse guarda é configurado para não atacar os ‘donos’ do castelo! :fail: Instalação Actions Va na pasta Data/action/action.xml e adicione isto: Agora vá em Data/actions/scripts , crie esses 4 arquivos abaixo: castlewar1.lua ----------------------------------- ---------SCRIPT por PC98------------ NAO REMOVA OS CREDITOS ----------------------------------- function onUse(cid, item, frompos, item2, topos) ------------------ Inicio das Config ------------ local castle_one_name = "Ratim Bum" -- Nome do castelo 1 local storages = {154154,54321,123123} -- Storages ( se vc eh iniciante, deixe como está...) -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 13 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 2472 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 1 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) if getPlayerStorageValue(cid,storages[1]) == -1 then setPlayerStorageValue(cid,storages[1],0) end sto_vezes = getPlayerStorageValue(cid,storages[1]) setGlobalStorageValue(storages[3],getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], sto_vezes + 1) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21) doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!") doSendMagicEffect(position, 2) end else doPlayerSendCancel(cid,"O sistema está desativado") end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end ------------------------- por pc98 function additem(cid,premio,premio_cont,premio_reset) if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1],0) end stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!") addEvent(additem,10000,cid) end end ------------------------- por pc98 function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end castlewar2.lua ----------------------------------- ---------SCRIPT por PC98------------ NAO REMOVA OS CREDITOS ----------------------------------- function onUse(cid, item, frompos, item2, topos) ------------------ Inicio das Config ------------ local castle_two_name = "do Dracula" -- Nome do castelo 2 local storages = {154154,54321,321321} -- Storages ( se vc eh iniciante, deixe como está...) -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 13 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 2472 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 0 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) ----------------------------------------------------- if getPlayerStorageValue(cid,storages[1]) == -1 then setPlayerStorageValue(cid,storages[1],0) end ----------------------------------------------------- sto_vezes = getPlayerStorageValue(cid,storages[1]) setGlobalStorageValue(storages[3],getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], sto_vezes + 1) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_two_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21) doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!") doSendMagicEffect(position, 2) end else doPlayerSendCancel(cid,"O sistema está desativado") end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end ------------------------- Por PC98. function additem(cid,premio,premio_cont,premio_reset) if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1],0) end stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!") addEvent(additem,10000,cid) end end ------------------------- por pc98 function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end castledoor1.lua --------------- -----BY PC98------- --------------- function onUse(cid, item, frompos, item2, topos) -------------------------Config----------------------------------------------------------------- door_opened = 1228 -- ID da porta aberta storage_guild = getGlobalStorageValue(123123) -- A 3ª storage configurada em Castle.lua guarda_ativ = 1 -- Caso um invasor tente abrir a porta, sumonar o Monstro "Guarda"?? | (1) = SIM (0) = NAO guarda_cont = 2 -- Caso ativo: a quantidade de guardas a sumonar guarda_pos = {x=123,y=123,y=7} -- Posiçao a ser sumonada os guardas! -------------------------Fim de Config----------------------------------------------------------- if getPlayerGuildId(cid) == storage_guild then doTeleportThing(cid,getThingPos(item.uid)) doTransformItem(item.uid, door_opened) doPlayerSendTextMessage(cid, 22, "Seja bem vindo a vosso castelo!") return TRUE else if guarda_ativ == 1 then doPlayerSendTextMessage(cid, 22, "Guaaaardas, tirem esses invasores daqui!!") for i=1, guarda_cont do doSummonCreature("Guarda", guarda_pos) end return FALSE else doPlayerSendTextMessage(cid, 22, "Este castelo nao pertence a sua guild") return FALSE end end end castledoor2.lua --------------- -----BY PC98------- --------------- function onUse(cid, item, frompos, item2, topos) -------------------------Config----------------------------------------------------------------- door_opened = 1228 -- ID da porta aberta storage_guild = getGlobalStorageValue(321321) -- A 3ª storage configurada ( ja esta configurada o PADRAO ) guarda_ativ = 1 -- Caso um invasor tente abrir a porta, sumonar o Monstro "Guarda"?? | (1) = SIM (0) = NAO guarda_cont = 4 -- Caso ativo: a quantidade de guardas a sumonar guarda_pos = {x=321,y=321,y=7} -- Posiçao a ser sumonada os guardas! -------------------------Fim de Config----------------------------------------------------------- if getPlayerGuildId(cid) == storage_guild then doTeleportThing(cid,getThingPos(item.uid)) doTransformItem(item.uid, door_opened) doPlayerSendTextMessage(cid, 22, "Seja bem vindo a vosso castelo!") return TRUE else if guarda_ativ == 1 then doPlayerSendTextMessage(cid, 22, "Guaaaardas, tirem esses invasores daqui!!") for i=1, guarda_cont do doSummonCreature("Guarda", guarda_pos) end return FALSE else doPlayerSendTextMessage(cid, 22, "Este castelo nao pertence a sua guild") return FALSE end end end Talkactions Va na pasta Data/talkaction/talkactions.xml , clique com o botao direito e depois editar. Adicione esta linha: <talkaction words="/war" event="script" value="castlesystem.lua"/> Agora va na pasta scripts , e crie um arquivo lua chamado castlesystem.lua. castlesystem.lua function onSay(cid, words, param) access = 4 -- Coloque aqui o access requirido para Ativar/Desativar o sistema if param == "start" then if getPlayerAccess(cid) == access then setGlobalStorageValue(54321,1) doPlayerSendTextMessage(cid, 20, "Voce ativou o Castle Wars com suscesso!") return TRUE end elseif param == "stop" then if getPlayerAccess(cid) == access then setGlobalStorageValue(54321,2) doPlayerSendTextMessage(cid, 20, "Voce desativou o Castle Wars com suscesso!") return TRUE end end end Monster O mostro Guarda... aquele que eu disse que pode ficar dentro do castelo :] Instalaçao: va na pasta data/monsters e edite o arquivo Monster.xml , adicionando esta linha: <monster name="Guarda" file="guarda.xml"/> e depois crie um arquivo na mesma pasta chamado guarda.xml guarda.xml <?xml version="1.0"?> <monster name="Guarda" nameDescription="the guard" experience="6000" speed="268" race="Blood"> <health now="20000" max="20000"/> <look type="73" corpse="6080"/> <strategy attack="200" defense="300"/> <targetchange speed="420" chance="1"/> <flags> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag attackable="1"/> <flag pushable="0"/> <flag staticattack="90"/> <flag targetdistance="1"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" min="-400" max="-800" range="1"/> <attack name="physical" interval="4000" chance="25" min="-600" max="-700" range="7" radius="8" target="1"> <attribute key="shootEffect" value="arrow"/> </attack> </attacks> <defenses defense="45" armor="40"/> <immunities> <immunity name="paralyze"/> <immunity name="invisible"/> </immunities> <voices speed="2200" chance="75"> <voice sentence="Grrrrrrrrrr" yell="1"/> <voice sentence="Saia daqui intrusos!" yell="1"/> <voice sentence="Sua resistencia e inutil!" yell="1"/> <voice sentence="Voce vai ser preso!" yell="1"/> </voices> <script> <event name="guard"/> </script> <elements/> <loot/> </monster> Creatures Scripts Bom, agora a gente tem de configurar pra esse bixo nao atacar os donos do castelo neh, se nao ele vai sair porai matando GERAL :fuu:. Vamo nessa. Va na pasta data/creaturescripts e edite o arquivo creaturescripts.xml adicionando esta linha: <event type="combat" name="guard" script="guard.lua"/> agora abra a pasta scripts, que esta na mesma pasta e crie um arquivo chamado guard.lua. guard.lua function onCombat(cid, target) if(not isPlayer(target)) then return TRUE else targets = getMonsterTargetList(cid) if getPlayerGuildId(target) == getGlobalStorageValue(123123) then addEvent(check,1000,cid,targets) return FALSE else return TRUE end end end function check(cid,targets) for i=1, #targets do if getPlayerGuildId(targets[i]) == getGlobalStorageValue(123123) then addEvent(check,1000,cid,targets) return FALSE else stopEvent(check) return TRUE end end end Esta configurado o Monstro! Vamos pra proxima etapa! Instalaçao no MapaEditor Va ate no primeiro castelo, e adicione uma lavanca ( id recomendado: 1945 ) e coloque aonde voce quiser. Depois de colocado a lavanca, clique nela com o botao direito do mouse e va em property. No campo "ActionID:" coloque 9999. Faça a mesma coisa com o segundo castelo, crie la a lavanca, e coloque actionID 8888. Se voce quiser voce pode criar uma porta especial, por onde so os 'donos' do castelo pode entrar, afinal, ja ta instalado! :fail: Coloque ActionID 9998 na porta no primeiro castelo, e actionID 8887 na porta do segundo castelo. Comandos /war start - Para Ativar o sistema ( ja vem ativado por padrao) /war stop - Para desativar o sistema. Bom, eh isso ai. Eh meu primeiro Script ( de muitos ) pro forum XTibia, e espero ta ajudando o forum. Creditos: PC98 - Pelo script MonsterEditor - Pelo mosntro Guarda. ( blackdemon) obs: Esse mesmo script foi postado em outro forum, porem fui eu mesmo que postei ( PC98 - mesmo nick ). abraços!1 ponto
-
[Action] Mount System 1.4 - 100% Inovador!
PamelaCarioka reagiu a Doidin por um tópico no fórum
Mount System - 100% inovador! Fala galerinha, é mais uma vez eu trazendo Scripts para o pessoal do XTibia, dessa vez eu dei uma "inovadinha" no script e fiz um vídeo explicando sobre ele, confira! Vídeo sobre o sistema: http://www.youtube.com/watch?v=xpyI4FtY7dM Bom vamos logo ao script: Primeiramente vamos fazer uma pequena alteração no arquivo items.xml, abra-o e procure por "giant eye", mude esse nome para "mysterious pet", assim: <item id="11191" name="mysterious pet"><attribute key="weight" value="120" /></item> Agora vamos adicionar as actions, vá até a pasta "Actions" e abra o arquivo "Actions.xml" e adicione esta tag: <action itemid="11191" event="script" value="mount.lua"/> Ok, agora volte a pasta "Actions" e abra a pasta "Scripts", faça uma arquivo chamado "mount.lua" e adicione isto: -- [( Mount System 1.4 created by Doidin for XTibia.com )] --function onUse(cid, item)local outfit = {lookType = 342} -- Outfit da montaria!local exhaust = 60 -- Tempo para player poder usar o item novamente! (tempo em segundos)local time = 60 -- Tempo para ficar na montaria! (tempo em segundos)local speed = 300 -- Velocidade adicionada ao player após usar o item! (300 = velocidade, quanto maior mais rapido...)local mana = 1300 -- Quantidade de mana que o player necessita para usar o sistema!local premium = "yes" -- Apenas players premium accounts "yes" or "no"!?local storage = 9393 -- Não mexa aqui!if premium == "yes" and not isPremium(cid) thenreturn doPlayerSendTextMessage(cid, 23, "Sorry, only premium players.")endif(getCreatureMana(cid) < mana) thenreturn doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHMANA)endif (getPlayerStorageValue(cid, storage) <= os.time()) thendoCreatureSay(cid, "Yeeeah!!!\nYou went up on his ride.", 19)doSetCreatureOutfit(cid, outfit, time*1000)doChangeSpeed(cid, speed)doSendMagicEffect(getCreaturePosition(cid), 34)setPlayerStorageValue(cid, storage, os.time()+exhaust)doPlayerAddMana(cid, -mana)addEvent(doChangeSpeed, time*1000+40, cid, -speed)addEvent(doPlayerSendTextMessage, time*1000+45, cid, 23, "Mount System is time out!")addEvent(doSendMagicEffect, time*1000+50, getCreaturePosition(cid), 2)doRemoveItem(item.uid, 1)elsedoPlayerSendCancel(cid, "Sorry, you only can again use this item after "..exhaust.." seconds.")endreturn TRUEend Pronto agora configure o script da maneira que você quiser! Caso queira mudar a outfit da sua montaria clique aqui e saiba mais. OBS: A inteção do script é algum NPC te vender um item que no caso é o "mysterious pet" e esse item é super raríssimo, ele tem a função de te dar um "PET" misterioso por um certo tempo para você usar ele como montaria! Aaah só pra constatar eu tive uma pequena ajuda dos meus amigos MatheusMkalo e do Vodkart.. ;] Espero que tenham gostado do script e do vídeo! ;] <* Não poste em outros fórums, exclusivo ao XTibia.com *>1 ponto -
[8.60] War On Rookgaard 2 Team
ibne reagiu a Toridox4ever por um tópico no fórum
Rookwar - V.0.2 Based on TFS 0.3.6 Client 8.60 2 Teams Red Team Green Team Content: Creating your own accounts 1 / 1, You begin to level 100, Entering receives your skills, you do not lose items to die only in Red and black skull, By killing a player receives 500gps, Automatic broadcast, Map Rookgaard (edited), Red team temple, Green team temple, Global Temple, Trainers, Depot, Shops. Depot, Shops. Npcs: Npc Skuller sell Sacred skull for remove skulls and frags, Npc Varkhal sell first and secconds addons, Npc Amuletero sell amulets, Npc Donal sell food, Npc Pancho the seller of loot. Scripts: mods/remove_skulls.xml, creaturescripts/deathBroadcast.lua, creaturescripts/onkill.lua, creaturescripts/skills.lua, creaturescripts/onlogout.lua, creaturescripts/firstitems.lua, movements/Green.lua, movements/Red.lua. Screens Shots: Account god: Acc: god Pass: god Download::up: 4Shared :up: Scan Rook: :up: Virus Total :up: Download Dlls: :up: 4Shared :up: Creditos: Morrison (ajudante) Toridox4ever Pela Editação ! Luiziin@reggae.com (Msn) Este Poste de Ajudo ? Aperte no1 ponto -
Warsystem
NinjaPower reagiu a HeartBreak por um tópico no fórum
WarSystem para TFS 0.3.5 ou TFS 0.3.6. Precisa de Gesior. Para quem usa TFS 0.4 , veja o tópico :Warsystem Para TFS 0.4 [apenas o arquivo MOD] Bom , chega de enrolar , vamos começar o "tutorial": *Nota : é extremamente recomendavel que você limpe a tabela 'deaths_in_wars' antes de usar o sistema. 1) Adicione o arquivo a seguir , a pasta mods (OTServer/data/mod) basta criar um arquivo XML ou copiar algum outro e apagar tudo que tiver dentro , coloque o nome do arquivo de: guildWarSystem.xml: <?xml version="1.0" encoding="UTF-8"?> <mod name="Guild War System" version="0.3.5+" author="Xampy and Nahruto" contact="otland.net" enabled="yes"> <config name="function_config"><![CDATA[ DelayToCancel = 24 -- HOURS <-> [max: 47 -- min: 24] --> default: 24 hours [1 day] Maps = { ["map1"] = { Guild1Pos = {x=238, y=442, z=12}, Guild2Pos = {x=244, y=442, z=12} }, ["map2"] = { Guild1Pos = {x=994, y=1004, z=6}, Guild2Pos = {x=1000, y=1003, z=6} } } TimeToTeleport = 1 --minutes, when start a challenge StopBattle = TRUE --Stop battle after X time ? TRUE / FALSE TimeToStop = 60 --Minutes Time to Stop if StopBattle = TRUE. --Cancel messages~ CancelMessagesWar = { --Message when player try accept/reject/cancel a war but there is no a invitation. [1] = "Not pending invitations.", --Message when the player is not the guild leader. [2] = "Only Guild Leader can execute this command.", --Message when try Cancel the invitation but the war is already accepted. [3] = "The war is already accepted.", --MEssage when the invited guild name is not correct or does not exist. [4] = "Not correct guild name.", --Message when try invite any guild to a war but his guild already have a war or a pending invitation. [5] = "Your guild is already in war or have a pending invitation.", --Same of the cancel message 5 but the the enemy guild. [6] = "This guild is already in war or have a pending invitation.", --Message when use invite command but not write guild name. [7] = "Command needs param.", --Message when try invite his guild. [8] = "You can\'t invite you guild.", --Message when the map name is not correct. [9] = "Please write a correct name.", --Message when try go to any map but the guild is have no received/sent any war invitation [10] = "Your guild is not in any war.", --When try to cancel a war before the delay [11] = "You should wait ".. DelayToCancel .." hours to cancel the war" } --Broadcast messages when invite/accept/reject/cancel ~ Remember the Spaces. BroadCast_Type = MESSAGE_EVENT_ADVANCE BroadCast = { --Message when inviting [1] = { "Guild ", --Here will be the guild name " have invited guild ", --Here will be the invited guild name " to have a war." }, --Message when accept. [2] = { "Guild ", --Here will be the guild name " have accepted the invitation of the guild " , --Here will be the name of the guild who have invited em. " to have a war." }, --Message when reject. [3] = { "Guild ", --Here will be the guild name " have rejected the invitation of the guild " , --Here will be the name of the guild who have invited em. " to have a war." }, --Message when cancel. [4] = { "Guild ", --Here will be the guild name " have canceled the invitation to the guild " , --Here will be the name of the guild who have invited em. " to have a war." }, --Message whenstar a battle.. [5] = { "Guild ", --Here will be the guild name " and guild " , --Here will be the name of the guild who have invited em. " will have a battle in the map :" }, --message when a battle ends. [6] = { "The battle betwen guild ", --Here will be the guild name " and guild " , --Here will be the name of the guild who have invited em. " its over." }, } --Functions ~. function getShowInfo(id) local Info = db.getResult("SELECT `show` FROM `guilds` WHERE `id` = " .. id .. "") if Info:getID() ~= -1 then local showy = Info:getDataInt("show") Info:free() return showy end return -1 end function getKills(name) local Info = db.getResult("SELECT `kills` FROM `guilds` WHERE `name` = '"..name.."'") if Info:getID() ~= -1 then local killy = Info:getDataInt("kills") Info:free() return killy end return -1 end function getGuildWarInfo(id) local Info = db.getResult("SELECT `invited_to`, `invited_by`, `in_war_with`,`war_time` FROM `guilds` WHERE `id` = " .. id .. "") if Info:getID() ~= -1 then local invTo, invBy, warWith, Time = Info:getDataInt("invited_to"), Info:getDataInt("invited_by"), Info:getDataInt("in_war_with"), Info:getDataInt("war_time") Info:free() return {To = invTo, By = invBy, With = warWith, T = Time} end return -1 end function getGuildNameById(id) local Info = db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. id .. "") if Info:getID() ~= -1 then local Name = Info:getDataString("name") Info:free() return Name end return -1 end function GuildIsInPEace(id) local Info = getGuildWarInfo(id) return (Info.To == 0 and Info.By == 0 and Info.With == 0) end function doInviteToWar(myGuild, enemyGuild) local StartTime = os.time() db.executeQuery("UPDATE `guilds` SET `invited_to` = ".. enemyGuild ..", `war_time` = ".. StartTime .." WHERE `id` = ".. myGuild .."") db.executeQuery("UPDATE `guilds` SET `invited_by` = ".. myGuild .." WHERE `id` = ".. enemyGuild .."") end function WarAccept(myGuild, enemyGuild) local StartTime = os.time() db.executeQuery("UPDATE `guilds` SET `invited_to` = 0, `invited_by` = 0, `in_war_with` = ".. myGuild ..", `kills` = 0, `show` = 1 WHERE `id` = ".. enemyGuild .."") db.executeQuery("UPDATE `guilds` SET `invited_to` = 0, `invited_by` = 0, `war_time` = ".. StartTime ..", `in_war_with` = ".. enemyGuild ..", `kills` = 0, `show` = 0 WHERE `id` = ".. myGuild .."") end function cleanInfo(myGuild) db.executeQuery("UPDATE `guilds` SET `invited_to` = 0, `invited_by` = 0, `war_time` = 0, `in_war_with` = 0, `kills` = 0, `show` = 0 WHERE `id` = ".. myGuild .."") end function registerDeathOne(myGuild, enemyGuild, cid, target) db.executeQuery("INSERT INTO `deaths_in_wars` (`guild_id`, `player_id`, `killer_guild`, `killer`, `date`, `result1`, `result2`) VALUES ("..enemyGuild..", "..getPlayerGUID(target)..", "..myGuild..", "..getPlayerGUID(cid)..", " .. os.time() ..", 1, 0);") db.executeQuery("UPDATE `guilds` SET `kills` = `kills` + 1 WHERE `id` = ".. myGuild .."") end function registerDeathTwo(myGuild, enemyGuild, cid, target) db.executeQuery("INSERT INTO `deaths_in_wars` (`guild_id`, `player_id`, `killer_guild`, `killer`, `date`, `result1`, `result2`) VALUES ("..enemyGuild..", "..getPlayerGUID(target)..", "..myGuild..", "..getPlayerGUID(cid)..", " .. os.time() ..", 0, 1);") db.executeQuery("UPDATE `guilds` SET `kills` = `kills` + 1 WHERE `id` = ".. myGuild .."") end function removeDeaths(id) db.executeQuery("DELETE FROM `deaths_in_wars` WHERE `guild_id` = " ..id .. ";") end function StopWar(myGuild, enemyGuild) cleanInfo(myGuild) cleanInfo(enemyGuild) removeDeaths(myGuild) removeDeaths(enemyGuild) end function WeAreInWar(myGuild, enemyGuild) local myGuildInfo = getGuildWarInfo(myGuild) local enemyGuildInfo = getGuildWarInfo(enemyGuild) if myGuild == enemyGuildInfo.With and enemyGuild == myGuildInfo.With then if enemyGuildInfo.ON == 1 and myGuildInfo.ON == 1 then return TRUE end end return FALSE end function getOnlineMembers(id) local PlayersOnline = getPlayersOnline() local MembersOnline = {} for i, pid in ipairs(PlayersOnline) do if id == getPlayerGuildId(PlayersOnline[i]) then table.insert(MembersOnline, PlayersOnline[i]) end end return MembersOnline end function teleportGuild(id, pos) local Members = getOnlineMembers(id) if #Members > 0 then for i = 1, #Members do if #Members > 1 then if getTilePzInfo(getCreaturePosition(Members[i])) == TRUE then doTeleportThing(Members[i], pos, FALSE) doSendMagicEffect(pos, CONST_ME_TELEPORT) doSendMagicEffect(getCreaturePosition(Members[i]), CONST_ME_POFF) doPlayerSendTextMessage(Members[i], 22, 'Prepare to fight!') else doPlayerPopupFYI(Members[i], 'GuildWar challenge error:\n\nBoth guild members must stay in Protection Zone.') end else doPlayerPopupFYI(Members[i], 'GuildWar challenge error:\n\nBoth guilds must have more than one player online (leader & any member, at least).') end end end end function getGuildsWithWar() local res = db.getResult("SELECT `id` FROM `guilds` WHERE `in_war_with` > 0") local GuildW = {} if res:getID() ~= -1 then while true do table.insert(GuildW, res:getDataInt "id") if not res:next() then break end end res:free() end return GuildW end function guildExist(nom) local Get = db.getResult("SELECT `id` FROM `guilds` WHERE `name` = " .. db.escapeString(nom) .. ";") if Get:getID() ~= -1 then local ret = Get:getDataInt("id") Get:free() return ret end return -1 end function StartWar(x) teleportGuild(x.myGuild, Maps[x.map].Guild1Pos) teleportGuild(x.enemyGuild, Maps[x.map].Guild2Pos) if StopBattle == TRUE then addEvent(StopWarNow, 60 * 1000, {myGuild = x.myGuild, enemyGuild = x.enemyGuild}) end end function StopWarNow(c) StopWar(c.myGuild, c.enemyGuild) doBroadcastMessage(BroadCast[6][1] ..getGuildNameById(c.myGuild).. BroadCast[6][2] ..getGuildNameById(c.enemyGuild).. BroadCast[6][3], BroadCast_Type) end function putWarOn(myGuild, enemyGuild) db.executeQuery("UPDATE `guilds` SET `war_time` = 1 WHERE `id` = ".. myGuild .."") db.executeQuery("UPDATE `guilds` SET `war_time` = 1 WHERE `id` = ".. enemyGuild .."") end]]></config> <talkaction words="!disband; /war-invite; /war-accept; /war-reject; /war-cancel-invite; /war-cancel" event="script"><![CDATA[ domodlib('function_config') function onSay(cid, words, param, channel) if getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER then local myGuild = getPlayerGuildId(cid) if words == "/war-invite" then if GuildIsInPEace(myGuild) == true then if param ~= "" then if guildExist(param) ~= -1 then local invitedGuild = getGuildId(param) if invitedGuild ~= -1 then if invitedGuild ~= myGuild then if GuildIsInPEace(invitedGuild) == true then if getPlayerStorageValue(cid, 65570) <= os.time() then doInviteToWar(myGuild, invitedGuild) doBroadcastMessage(BroadCast[1][1] ..getPlayerGuildName(cid).. BroadCast[1][2] ..getGuildNameById(invitedGuild).. BroadCast[1][3], BroadCast_Type) setPlayerStorageValue(cid, 65570, os.time()+(20*60)) else local waitTime = (getPlayerStorageValue(cid, 65570) - os.time()) doPlayerSendCancel(cid, "You must wait " .. os.date("%M", waitTime) .. " minutes and " .. os.date("%S", waitTime) .. " seconds until declare another war.") end else doPlayerSendCancel(cid, CancelMessagesWar[6]) end else doPlayerSendCancel(cid, CancelMessagesWar[8]) end else doPlayerSendCancel(cid, CancelMessagesWar[4]) end else doPlayerSendCancel(cid, CancelMessagesWar[4]) end else doPlayerSendCancel(cid, CancelMessagesWar[7]) end else doPlayerSendCancel(cid, CancelMessagesWar[5]) end elseif words == "/war-accept" then if getGuildWarInfo(myGuild).By ~= 0 then local enemyGuild = getGuildWarInfo(myGuild).By doBroadcastMessage(BroadCast[2][1] ..getPlayerGuildName(cid).. BroadCast[2][2] ..getGuildNameById(enemyGuild).. BroadCast[2][3], BroadCast_Type) WarAccept(myGuild, enemyGuild) else doPlayerSendCancel(cid, CancelMessagesWar[1]) end elseif words == "/war-reject" then if getGuildWarInfo(myGuild).By ~= 0 then doBroadcastMessage(BroadCast[3][1] ..getPlayerGuildName(cid).. BroadCast[3][2] ..getGuildNameById(getGuildWarInfo(myGuild).By).. BroadCast[3][3], BroadCast_Type) cleanInfo(getGuildWarInfo(myGuild).By) cleanInfo(myGuild) else doPlayerSendCancel(cid, CancelMessagesWar[1]) end elseif words == "/war-cancel-invite" then if getGuildWarInfo(myGuild).To ~= 0 then if getGuildWarInfo(myGuild).With == 0 then doBroadcastMessage(BroadCast[4][1] ..getPlayerGuildName(cid).. BroadCast[4][2] ..getGuildNameById(getGuildWarInfo(myGuild).To).. BroadCast[4][3], BroadCast_Type) cleanInfo(getGuildWarInfo(myGuild).To) cleanInfo(myGuild) else doPlayerSendCancel(cid, CancelMessagesWar[3]) end else doPlayerSendCancel(cid, CancelMessagesWar[1]) end elseif words == "/war-challenge" then local map = Maps[param] if map then if enemy ~= 0 then local enemyGuild = getGuildWarInfo(myGuild).With addEvent(StartWar, 15000, {myGuild = myGuild, enemyGuild = enemyGuild, map = param}) doBroadcastMessage(BroadCast[5][1] ..getPlayerGuildName(cid).. BroadCast[5][2] ..getGuildNameById(enemyGuild).. BroadCast[5][3] .. param ..".", BroadCast_Type) else doPlayerSendCancel(cid, CancelMessagesWar[10]) end else doPlayerSendCancel(cid, CancelMessagesWar[9]) end elseif words == "/war-cancel" then local enemy = getGuildWarInfo(myGuild).With if enemy ~= 0 then if (os.time() - getGuildWarInfo(myGuild).T) >= (60 * 60 * DelayToCancel) then StopWar(myGuild, enemy) doBroadcastMessage(BroadCast[6][1] ..getGuildNameById(myGuild).. BroadCast[6][2] ..getGuildNameById(enemy).. BroadCast[6][3], BroadCast_Type) else local timeEnd = getGuildWarInfo(myGuild).T + (60 * 60 * DelayToCancel) local timeLeft = timeEnd - os.time() local hours = (os.date("%H", timeLeft) + 23) doPlayerSendCancel(cid, "Time remaining: "..hours.." hours, " .. os.date("%M", timeLeft) .. " minutes and " .. os.date("%S", timeLeft) .. " seconds.") end else doPlayerSendCancel(cid, CancelMessagesWar[10]) end elseif words == "!disband" then local enemy = getGuildWarInfo(myGuild).With if enemy > 0 then if channel == CHANNEL_GUILD then if (os.time() - getGuildWarInfo(myGuild).T) >= (60 * 60 * DelayToCancel) then StopWar(myGuild, enemy) doBroadcastMessage(BroadCast[6][1] ..getGuildNameById(myGuild).. BroadCast[6][2] ..getGuildNameById(enemy).. BroadCast[6][3], BroadCast_Type) else local timeEnd = getGuildWarInfo(myGuild).T + (60 * 60 * DelayToCancel) local timeLeft = timeEnd - os.time() local hours = (os.date("%H", timeLeft) + 23) doPlayerSendCancel(cid, "Time remaining: "..hours.." hours, " .. os.date("%M", timeLeft) .. " minutes and " .. os.date("%S", timeLeft) .. " seconds.") end else doPlayerSendCancel(cid, "You have to say this command in your guild channel.") end else return FALSE end return FALSE end else doPlayerSendCancel(cid, CancelMessagesWar[2]) end local file = io.open("data/logs/Wars.txt", "a") file:write("".. os.date("%d %B %Y %X ", os.time()) .." --> "..getCreatureName(cid)..": "..words.." "..param.."\n") file:close() return TRUE end]]></talkaction> <event type="login" name="WarLogin" event="script"><![CDATA[ domodlib('function_config') function onLogin(cid) registerCreatureEvent(cid, "WarKill") return true end]]></event> <event type="kill" name="WarKill" event="script"><![CDATA[ domodlib('function_config') local PZ = createConditionObject(CONDITION_INFIGHT) setConditionParam(PZ, CONDITION_PARAM_TICKS, getConfigInfo('whiteSkullTime')) function onKill(cid, target, lastHit) if isPlayer(cid) == TRUE and isPlayer(target) == TRUE then local config = { removeFrags = true -- If 'true' player won't gain frags from a player that is versus him; else, player will gain frags as normal. } local GUID = getPlayerGUID(cid) local namec = getPlayerName(cid) local namet = getPlayerName(target) local skull = getCreatureSkullType(cid) local skullend = getPlayerSkullEnd(cid) local playerPos = getPlayerPosition(cid) local targetPos = getPlayerPosition(target) local cidd = cid local timeA = os.time() local timesA = {today = (timeA - 86400), week = (timeA - (7 * 86400))} local contentsA, resultA = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (timeA - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(resultA:getID() ~= -1) then repeat local contentA = { name = resultA:getDataString("name"), level = resultA:getDataInt("level"), date = resultA:getDataInt("date") } if(contentA.date > timesA.today) then table.insert(contentsA.day, contentA) elseif(contentA.date > timesA.week) then table.insert(contentsA.week, contentA) else table.insert(contentsA.month, contentA) end until not resultA:next() resultA:free() end local sizeA = { day = table.maxn(contentsA.day), week = table.maxn(contentsA.week), month = table.maxn(contentsA.month) } local function removeFrag(cid) local timeB = os.time() local timesB = {today = (timeB - 86400), week = (timeB - (7 * 86400))} local contentsB, resultB = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. GUID .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (timeB - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(resultB:getID() ~= -1) then repeat local contentB = { name = resultB:getDataString("name"), level = resultB:getDataInt("level"), date = resultB:getDataInt("date") } if(contentB.date > timesB.today) then table.insert(contentsB.day, contentB) elseif(contentB.date > timesB.week) then table.insert(contentsB.week, contentB) else table.insert(contentsB.month, contentB) end until not resultB:next() resultB:free() end local sizeB = { day = table.maxn(contentsB.day), week = table.maxn(contentsB.week), month = table.maxn(contentsB.month) } if sizeB.day > sizeA.day or sizeB.week > sizeA.week or sizeB.month > sizeA.month then db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = "..GUID..") ORDER BY `death_id` DESC LIMIT 1;") doPlayerSendTextMessage(cidd, 21, "Frag from "..namet.." wasn't counted.") end if skull == SKULL_RED then if getCreatureSkullType(cidd) == SKULL_BLACK then doPlayerSetSkullEnd(cidd, skullend, SKULL_RED) doCreatureSetSkullType(cidd, SKULL_RED) end elseif skull == SKULL_WHITE then if getCreatureSkullType(cidd) == SKULL_RED then doPlayerSetSkullEnd(cidd, timeB, SKULL_RED) doCreatureSetSkullType(cidd, SKULL_WHITE) end end end local myGuild = getPlayerGuildId(cid) local enemyGuild = getPlayerGuildId(target) if myGuild ~= 0 and enemyGuild ~= 0 then if enemyGuild == getGuildWarInfo(myGuild).With then local guildc = getPlayerGuildName(cid) local guildt = getPlayerGuildName(target) doAddCondition(cid, PZ) if lastHit == TRUE then if getTileZoneInfo(playerPos) == 0 and getTileZoneInfo(targetPos) == 0 then if getShowInfo(myGuild) == 1 then registerDeathOne(myGuild, enemyGuild, cid, target) else registerDeathTwo(myGuild, enemyGuild, cid, target) end else doPlayerSendTextMessage(cid, 19, "Remember: in PvP zone the system doesn't register the frag.") end end if config.removeFrags == true then addEvent(removeFrag, 150) end local gsim = getShowInfo(myGuild) local gsie = getShowInfo(enemyGuild) if gsim > gsie then resulta = getKills(guildc) resultb = getKills(guildt) else resulta = getKills(guildt) resultb = getKills(guildc) end local players = getOnlinePlayers() for i,playerName in ipairs(players) do local player = getPlayerByName(playerName); if getPlayerGuildId(player) == myGuild then if getTileZoneInfo(playerPos) == 0 and getTileZoneInfo(targetPos) == 0 then doPlayerSendChannelMessage(player, "", "Opponent "..namet.." of the "..guildt.." was killed by "..namec..". The new score is "..resulta..":"..resultb.." frags.", TALKTYPE_CHANNEL_W, CHANNEL_GUILD) end end end end end end return TRUE end]]></event> </mod> 2) Adicione isso a database (no phpMyAdmin): ALTER TABLE `guilds` ADD `invited_to` INT( 11 ) NOT NULL , ADD `invited_by` INT( 11 ) NOT NULL , ADD `in_war_with` INT( 11 ) NOT NULL , ADD `kills` INT( 11 ) NOT NULL , ADD `show` SMALLINT( 1 ) NOT NULL , ADD `war_time` INT( 11 ) NOT NULL ; e isso: CREATE TABLE `deaths_in_wars` ( `guild_id` INT( 11 ) NOT NULL , `player_id` INT( 11 ) NOT NULL , `killer_guild` INT( 11 ) NOT NULL , `killer` INT( 11 ) NOT NULL , `date` INT( 11 ) NOT NULL , `result1` INT( 11 ) NOT NULL , `result2` INT( 11 ) NOT NULL ) ENGINE = MYISAM ; e finalmente isso: UPDATE `guilds` SET `invited_to` = 0, `invited_by` = 0, `in_war_with` = 0, `kills` = 0, `show` = 0, `war_time` = 0 WHERE `id` > 0; não sabe como adicionar ? basta abrir o bloco de notas , copiar o conteudo acima e colar e salvar como "nome.sql" apos isso va a http://localhost/phpmyadmin , loga-se escolha a database clique em importar e selecione o arquivo que você salvou. 3) Va até xampp/htdocs. Crie um arquivo chamado wars.php: [copie um arquivo php e apague tudo que tiver dentro ou abra o bloco de notas coloque o conteudo e salve como "wars.php"] <?PHP //Litle Config $MaxShow = 100; //END if($action == '') { $main_content .= ' <P ALIGN=CENTER> <br> <FONT SIZE=4 COLOR=#8A0808> How to use... </FONT> <br> <br> <FONT SIZE=2 COLOR=#DF0101> * <b>/war-invite</b> : <FONT SIZE=1 COLOR=green> Send an invitation to start a war.<br> <u>Example</u>: /war-invite Death Hard </FONT><br> * <b>/war-accept</b> : <FONT SIZE=1 COLOR=green> Accept the invitation to start a war. </FONT><br> * <b>/war-reject</b> : <FONT SIZE=1 COLOR=green> Reject the invitation to start a war. </FONT><br> * <b>/war-cancel-invite</b> : <FONT SIZE=1 COLOR=green> Cancel the invitation already sent to start a war. </FONT><br> * <b>/war-cancel</b> : <FONT SIZE=1 COLOR=green> Finish the current war: it can only be used after 1 day of war. </FONT><br> </FONT> <br> <FONT SIZE=2 COLOR=#8A0808> Those commands can only be executed by guild leaders.<br><br> <table border="1"><tr border="1"><td border="1"><h3>Remember:</h3> <ul> <li>You won\'t get any frag if you kill someone that is VERSUS you.</li> <li>If you kill someone that is in your guild, you will get a frag.</li> </ul></td></tr></table> </FONT> </P> '; $wars = $SQL->query(" SELECT g.name AS gname, wg.name AS wgname, g.war_time AS gtime, wg.war_time AS wgtime, g.kills AS kills, wg.kills AS ekills, g.show AS s, g.id AS gid, wg.id AS wgid, g.logo_gfx_name AS glogo, wg.logo_gfx_name AS wglogo FROM guilds AS g INNER JOIN guilds AS wg ON wg.id = g.in_war_with ORDER BY s DESC LIMIT 50; "); foreach ($wars as $k=>$v) { if ($v[s] == 1) { $glogo = "default_logo.gif"; $wglogo = "default_logo.gif"; if(!empty($v[glogo])) $glogo = $v[glogo]; if(!empty($v[wglogo])) $wglogo = $v[wglogo]; if(is_int($number_of_rows / 2)) { $bgcolor = '#D4C0A1'; } else { $bgcolor = '#D5E1A2'; } $number_of_rows++; $stats .=" <TR BGCOLOR=".$bgcolor."> <TD WIDTH=30%><center><a href='index.php?subtopic=guilds&action=show&guild=" . $v[gname] . "'><font color='#5A2800'>$v[gname]</font></a></center></TD> <TD WIDTH=40%><center><a href='index.php?subtopic=wars&action=show&war=" . $v[gid] . "'><font color='#5A2800'>{$v[kills]} - {$v[ekills]}</font></a></center></TD> <TD WIDTH=30%><center><a href='index.php?subtopic=guilds&action=show&guild=" . $v[wgname] . "'><font color='#5A2800'>$v[wgname]</font></a></center></TD> </TR> <TR BGCOLOR=".$bgcolor."> <TD><center><img border=1 src='guilds/".$glogo."' width='64px' height='64px'/></center></TD> <TD><center><b>Declared at:</b><br />" . date("d/m/y H:i:s", $v[gtime]) . "<p><b>Started at:</b><br />" . date("d/m/y H:i:s", $v[wgtime]) . "</center></TD> <TD><center><img border=1 src='guilds/".$wglogo."' width='64px' height='64px'/></center></TD> </TR> "; } } $main_content .= ' <table border="0" CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tbody> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"><td><font color="white" size=4><b><blink>Active Wars</blink></b></font></td></tr></tbody></table> '; if(!$stats) { $main_content .= ' <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR='.$config['site']['darkborder'].'> <TD> No active wars in '.$config['server']['serverName'].' yet. </TD> </TR> </TABLE> '; } else { $main_content .= " <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> $stats </TABLE> "; } ?> <?PHP $invitations = $SQL->query(" SELECT ig.name AS igname, i.name AS iname, i.id AS iid, ig.id AS igid, i.war_time AS itime, i.logo_gfx_name AS ilogo, ig.logo_gfx_name AS iglogo FROM guilds AS i INNER JOIN guilds AS ig ON ig.id = i.invited_to ORDER BY itime ASC LIMIT 50; "); foreach ($invitations as $k=>$v) { $ilogo = "default_logo.gif"; $iglogo = "default_logo.gif"; if(!empty($v[ilogo])) $ilogo = $v[ilogo]; if(!empty($v[iglogo])) $iglogo = $v[iglogo]; if(is_int($number_of_rows / 2)) { $bgcolor = '#D4C0A1'; } else { $bgcolor = '#D5E1A2'; } $number_of_rows++; $invi .=" <TR BGCOLOR=".$bgcolor."> <TD width=30%> <center> <b> <a href='index.php?subtopic=guilds&action=show&guild=" . $v[iname] . "'><font color='#5A2800'>$v[iname]</font></a> </b> </center> </TD> <TD width=40%><center>0-0</center></TD> <TD width=30%> <center> <b> <a href='index.php?subtopic=guilds&action=show&guild=" . $v[igname] . "'><font color='#5A2800'>$v[igname]</font></a> </b> </center> </TD> </TR> <TR BGCOLOR=".$bgcolor."> <TD> <center> <img border=1 src='guilds/".$ilogo."' width='64px' height='64px'/> </center> </TD> <TD><center><b>Declared on:</b><br />" . date("d/m/y H:i:s", $v[itime]) . "</center></TD> <TD> <center> <img border=1 src='guilds/".$iglogo."' width='64px' height='64px'/> </center> </TD> </TR> "; } $main_content .= '<br><br><br> <table border="0" CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tbody> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"><td><font color="white" size=4><b><blink>Declared Wars</blink></b></font></td></tr></tbody></table>'; if(!$invi) { $main_content .= ' <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR='.$config['site']['darkborder'].'> <TD> No declared wars in '.$config['server']['serverName'].' yet. </TD> </TR> </TABLE> <br> '; } else { $main_content .= " <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> $invi </TABLE> "; } } //SHOW FRAGS ~~ if($action == 'show') { $guild = $ots->createObject('Guild'); $guild->load($_REQUEST['war']); $ranks = $SQL->query(" SELECT * FROM guild_ranks WHERE guild_id = ". $guild->getId() ." ORDER BY level DESC; "); foreach ($ranks as $y) { $Players = $SQL->query(" SELECT * FROM players WHERE rank_id = ". $y[id] ." ORDER BY name ASC;"); foreach ($Players as $v) { $totDeaths = 0; $deaths = $SQL->query(" SELECT COUNT(player_id) AS n FROM deaths_in_wars WHERE player_id = ". $v[id] ." GROUP BY player_id DESC LIMIT 1;"); foreach ($deaths as $q) { $totDeaths = $q[n]; } if($totDeaths > 1 || $totDeaths == 0){ $deathL = "deaths"; } else{ $deathL = "death"; } $membersDeaths1 .="<tr bgcolor=#D4C0A1> <td width=70%><a href=index.php?subtopic=characters&name=" . $v[name] . "><u>$v[name]</u></a></td> <td width=30%>$totDeaths $deathL</td> </tr> "; $totFrags = 0; $frags = $SQL->query(" SELECT COUNT(killer) AS m FROM deaths_in_wars WHERE killer = ". $v[id] ." GROUP BY killer DESC LIMIT 1;"); foreach ($frags as $p) { $totFrags = $p[m]; } if($totFrags > 1 || $totFrags == 0){ $fragL = "frags"; } else{ $fragL = "frag"; } $membersFrags1 .= "<tr bgcolor=#D4C0A1> <td width=70%><a href=index.php?subtopic=characters&name=" . $v[name] . "><u>$v[name]</u></a></td> <td width=30%>$totFrags $fragL</td> </tr> "; } } $guild2 = $ots->createObject('Guild'); $guild2->load($guild->getCustomField(in_war_with)); $ranks2 = $SQL->query(" SELECT * FROM guild_ranks WHERE guild_id = ". $guild2->getId() ." ORDER BY level DESC; "); foreach ($ranks2 as $y) { $Players = $SQL->query(" SELECT * FROM players WHERE rank_id = ". $y[id] ." ORDER BY name ASC;"); foreach ($Players as $v) { $totDeaths2 = 0; $deaths = $SQL->query(" SELECT COUNT(player_id) AS n FROM deaths_in_wars WHERE player_id = ". $v[id] ." GROUP BY player_id DESC LIMIT 1;"); foreach ($deaths as $q) { $totDeaths2 = $q[n]; } if($totDeaths2 > 1 || $totDeaths2 == 0){ $deathL = "deaths"; } else{ $deathL = "death"; } $membersDeaths2 .= "<tr bgcolor=#D4C0A1> <td width=70%><a href=index.php?subtopic=characters&name=" . $v[name] . "><u>$v[name]</u></a></td> <td width=30%>$totDeaths2 $deathL</td> </tr> "; $totFrags2 = 0; $frags = $SQL->query(" SELECT COUNT(killer) AS m FROM deaths_in_wars WHERE killer = ". $v[id] ." GROUP BY killer DESC LIMIT 1;"); foreach ($frags as $p) { $totFrags2 = $p[m]; } if($totFrags2 > 1 || $totFrags2 == 0){ $fragL = "frags"; } else{ $fragL = "frag"; } $membersFrags2 .= "<tr bgcolor=#D4C0A1> <td width=70%><a href=index.php?subtopic=characters&name=" . $v[name] . "><u>$v[name]</u></a></td> <td width=30%>$totFrags2 $fragL</td> </tr> "; } } $deaths3 = $SQL->query(" SELECT * FROM deaths_in_wars WHERE (killer_guild = ". $guild->getId() ." OR killer_guild = ". $guild2->getId() .") ORDER BY date DESC LIMIT ". $MaxShow .";"); $deathsG1 = $SQL->query(" SELECT * FROM deaths_in_wars WHERE killer_guild = ". $guild->getId() ." ORDER BY date DESC LIMIT ". $MaxShow .";"); $deathsG2 = $SQL->query(" SELECT * FROM deaths_in_wars WHERE killer_guild = ". $guild2->getId() ." ORDER BY date DESC LIMIT ". $MaxShow .";"); $Topfragger1 = $SQL->query(" SELECT killer, COUNT(killer) maximo FROM deaths_in_wars WHERE killer_guild = ". $guild->getId() ." GROUP BY killer ORDER BY maximo DESC LIMIT 1;"); foreach ($Topfragger1 as $y) { $name = $ots->createObject('Player'); $name->load($y[killer]); $TopFraggerName = $name->getName(); $numTop1 = $y[maximo]; } $Topfragger2 = $SQL->query(" SELECT killer, COUNT(killer) maximo FROM deaths_in_wars WHERE killer_guild = ". $guild2->getId() ." GROUP BY killer ORDER BY maximo DESC LIMIT 1;"); foreach ($Topfragger2 as $y) { $name = $ots->createObject('Player'); $name->load($y[killer]); $TopFraggerName2 = $name->getName(); $numTop2 = $y[maximo]; } $mostDead = $SQL->query(" SELECT player_id, COUNT(player_id) maximo FROM deaths_in_wars WHERE killer_guild = ". $guild->getId() ." GROUP BY player_id ORDER BY maximo DESC LIMIT 1;"); foreach ($mostDead as $y) { $name = $ots->createObject('Player'); $name->load($y[player_id]); $mostDeadName = $name->getName(); $mostDeadNum = $y[maximo]; } $mostDead2= $SQL->query(" SELECT player_id, COUNT(player_id) maximo FROM deaths_in_wars WHERE killer_guild = ". $guild2->getId() ." GROUP BY player_id ORDER BY maximo DESC LIMIT 1;"); foreach ($mostDead2 as $y) { $name = $ots->createObject('Player'); $name->load($y[player_id]); $mostDeadName2 = $name->getName(); $mostDeadNum2= $y[maximo]; } foreach ($deaths3 as $a=>$b) { $killed3 = $ots->createObject('Player'); $killed3->load($b[player_id]); $killedName3 = $killed3->getName(); $killer3 = $ots->createObject('Player'); $killer3->load($b[killer]); $killerName3 = $killer3->getName(); $guild3 = $ots->createObject('Guild'); $guild3->load($b[killer_guild]); $guildName3 = $guild3->getName(); $totKills1 = 0; $killss1 = $SQL->query(" SELECT COUNT(result1) AS m FROM deaths_in_wars WHERE (killer_guild = ". $guild->getId() ." AND date <= ". $b[date] .") GROUP BY result1 DESC LIMIT 1;"); foreach ($killss1 as $p) { $totKills1 = $p[m]; } $totKills2 = 0; $killss2 = $SQL->query(" SELECT COUNT(result2) AS n FROM deaths_in_wars WHERE (killer_guild = ". $guild2->getId() ." AND date <= ". $b[date] .") GROUP BY result2 DESC LIMIT 1;"); foreach ($killss2 as $q) { $totKills2 = $q[n]; } $kills3 .=" <TR BGCOLOR=#D4C0A1> <TD> <a href='index.php?subtopic=characters&name=" . $killerName3 . "'><u>$killerName3</u></a> </TD> <TD> <a href='index.php?subtopic=characters&name=" . $killedName3 . "'><u>$killedName3</u></a> </TD> <TD> $guildName3 </TD> <TD> $totKills1:$totKills2 </TD> <TD> " . date("d/m/y H:i:s", $b[date]) . " </TD> </TR> "; } if(!empty($mostDeadNum)){$mostDeadNum = $mostDeadNum;}else{$mostDeadNum = 0 + $mostDeadNum;} if(!empty($mostDeadNum2)){$mostDeadNum2 = $mostDeadNum2;}else{$mostDeadNum2 = 0 + $mostDeadNum2;} if(!empty($numTop1)){$numTop1 = $numTop1;}else{$numTop1 = 0 + $numTop1;} if(!empty($numTop2)){$numTop2 = $numTop2;}else{$numTop2 = 0 + $numTop2;} foreach ($deathsG1 as $k=>$v) { $killed = $ots->createObject('Player'); $killed->load($v[player_id]); $killedName = $killed->getName(); $killer = $ots->createObject('Player'); $killer->load($v[killer]); $killerName = $killer->getName(); $kills .=" <TR BGCOLOR=\"".$config['site'][($k % 2 == 1 ? 'light' : 'dark').'border']."\"> <TD> <center> <b> <a href='index.php?subtopic=characters&name=" . $killedName . "'>$killedName</a> </b> </center> </TD> <TD> <center> <b> <a href='index.php?subtopic=characters&name=" . $killerName . "'>$killerName</a> </b> </center> </TD> <TD> <center> " . date("d/m/y H:i:s", $v[date]) . " </center> </TD> </TR> "; } foreach ($deathsG2 as $k=>$v) { $killed = $ots->createObject('Player'); $killed->load($v[player_id]); $killedName = $killed->getName(); $killer = $ots->createObject('Player'); $killer->load($v[killer]); $killerName = $killer->getName(); $kills2 .=" <TR BGCOLOR=\"".$config['site'][($k % 2 == 1 ? 'light' : 'dark').'border']."\"> <TD> <center> <b> <a href='index.php?subtopic=characters&name=" . $killedName . "'>$killedName</a> </b> </center> </TD> <TD> <center> <b> <a href='index.php?subtopic=characters&name=" . $killerName . "'>$killerName</a> </b> </center> </TD> <TD> <center> " . date("d/m/y H:i:s", $v[date]) . " </center> </TD> </TR> "; } if($numTop1 > 1 || $numTop1 == 0){$fragl1 = "frags";}else{$fragl1 = "frag";} if($numTop2 > 1 || $numTop2 == 0){$fragl2 = "frags";}else{$fragl2= "frag";} if($mostDeadNum > 1 || $mostDeadNum == 0){$deathl1 = "deaths";}else{$deathl1 = "death";} if($mostDeadNum2 > 1 || $mostDeadNum2 == 0){$deathl2 = "deaths";}else{$deathl2 = "death";} $main_content .= ' <table border="0" CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tbody> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"><td><font color="white" size=4><b>War Information</b></font></td></tr></tbody></table> '; $logo = "default_logo.gif"; $logo2 = "default_logo.gif"; $a = $guild->getCustomField(logo_gfx_name); $b = $guild2->getCustomField(logo_gfx_name); if(!empty($a)) $logo = $a; if(!empty($b)) $logo2 = $b; $main_content .= " <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR='#D4C0A1'> <TD WIDTH='35%'><center><a href='index.php?subtopic=guilds&action=show&guild=".$guild->getName()."'><font color='#5A2800'>".$guild->getName()."</font></a></center></TD> <TD WIDTH='30%'><center><font color='#5A2800'><b>".$guild->getCustomField(kills)." - ".$guild2->getCustomField(kills)."</b></font></center></TD> <TD WIDTH='35%'><center><a href='index.php?subtopic=guilds&action=show&guild=".$guild2->getName()."'><font color='#5A2800'>".$guild2->getName()."</font></a></center></TD> </TR> <TR BGCOLOR='#D4C0A1'> <TD><center><img border=1 src='guilds/".$logo."' width='64px' height='64px'/><p><b><u>Top fragger:</b></u><br /><a href='index.php?subtopic=characters&name=".$TopFraggerName."'>".$TopFraggerName."</a> (".$numTop1." ".$fragl1.")<p><b><u>Most dead:</b></u><br /><a href='index.php?subtopic=characters&name=".$mostDeadName2."'>".$mostDeadName2."</a> (".$mostDeadNum2." ".$deathl2.")</center></TD> <TD><center><b>Declared at:</b><br />" . date("d/m/y H:i:s", $guild->getCustomField(war_time)) . "<p><b>Started at:</b><br />" . date("d/m/y H:i:s", $guild2->getCustomField(war_time)) . "</center></TD> <TD><center><img border=1 src='guilds/".$logo2."' width='64px' height='64px'/><p><b><u>Top fragger:</u></b><br /><a href='index.php?subtopic=characters&name=".$TopFraggerName2."'>".$TopFraggerName2."</a> (".$numTop2." ".$fragl2.")<p><b><u>Most dead:</u></b><br /><a href='index.php?subtopic=characters&name=".$mostDeadName."'>".$mostDeadName."</a> (".$mostDeadNum." ".$deathl1.")</center></TD> </TR> </TABLE> "; $main_content .= ' <br><br><table border="0" CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tbody><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><td><font color="white" size=4><b>Kills - '.$guild->getName().' vs '.$guild2->getName().'</b></font></td></tr></tbody></table> '; $main_content .= " <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR=#D4C0A1> <TD><b>Killer</b></TD> <TD><b>Victim</b></TD> <TD><b>Fragging Guild</b></TD> <TD><b>Result</b></TD> <TD><b>Date</b></TD> </TR> $kills3 </TABLE>"; $main_content .= ' <br><br><table border="0" CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tbody><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><td><font color="white" size=4><b>Most Frags</b></font></td></tr></tbody></table>'; $main_content .= " <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR=#D4C0A1> <TD width=50%> <div align='right'> <B> ". $guild->getName() ." </B> </div> </TD> <TD width=50%> <div align='left'> <B> ". $guild2->getName() ." </B> </div> </TD> </TR> <TR BGCOLOR=#D4C0A1> <TD> <div align='right'> <img src=guilds/".$logo." width='64px' height='64px' border=1/> </div> </TD> <TD> <div align='left'> <img src=guilds/".$logo2." width='64px' height='64px'border=1/> </div> </TD> </TR> </TABLE> <TABLE ALIGN=LEFT BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=50%> $membersFrags1 </TABLE> <TABLE ALIGN=RIGHT BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=50%> $membersFrags2 </TABLE> "; $main_content .= ' <table border="0" CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tbody><TR><td><font color="white" size=1>.</font></td></tr></tbody></table>'; $main_content .= ' <table border="0" CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tbody><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><td><font color="white" size=4><b>Most Deaths</b></font></td></tr></tbody></table>'; $main_content .= " <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR=#D4C0A1> <TD width=50%> <div align='right'> <B> ". $guild->getName() ." </B> </div> </TD> <TD width=50%> <div align='left'> <B> ". $guild2->getName() ." </B> </div> </TD> </TR> <TR BGCOLOR=#D4C0A1> <TD> <div align='right'> <img src=guilds/".$logo." width='64px' height='64px' border=1 /> </div> </TD> <TD> <div align='left'> <img src=guilds/".$logo2." width='64px' height='64px'border=1 /> </div> </TD> </TR> </TABLE> <TABLE ALIGN=LEFT BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=50%> $membersDeaths1 </TABLE> <TABLE ALIGN=RIGHT BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=50%> $membersDeaths2 </TABLE> "; } $main_content .= " <table border='0' CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tbody><TR><td><div style='text-align: right; margin: 20px auto; font-size: 10px;'> Created by <a target='blank' href='http://otland.net/members/xampy/'>Xampy</a></div></td></tr></tbody></table>"; ?> 4) Abra o arquivo guilds.php [da pasta htdocs] e DEPOIS de (linha 1740~): if($guild_leader) { if($_POST['todo'] == 'save') { delete_guild($guild->getId()); $saved = TRUE; } adicione isso: $war = $guild->getCustomField("in_war_with"); if($war == 0) { e depois de : else { $guild_errors[] = 'You are not a leader of guild!'; } } adicione: else { $guild_errors[] = 'You are in war with with some other guild!'; } } 5) Abra o arquivo index.php [na pasta htdocs] e depois ou antes de:(não faz diferença): case "buypoints"; $subtopic = "buypoints"; $topic = "Buy Points"; include("buypoints.php"); break; coloque: case "wars"; $subtopic = "wars"; $topic = "Wars"; include("wars.php"); break; 6) Abra xampp/htdocs/layouts/tibiacom/ e depois layout.php. Depois de: <a href='?subtopic=guilds'> <div id='submenu_guilds' 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_guilds' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'>Guilds</div> <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> </div> </a> coloque isso: <a href='index.php?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_wars' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'><font color="red">Wars</font></div> <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> </div> </a> 7) Agora entre na seção Wars do seu Site -> Localhost - Wars Por favor , rep + Creditos: Recuso Imitações , Proibido Copia [Peço a um moderador que arrume o Topico se possivel]1 ponto -
Resolvi criar um sisteminha de "voar". Primeiramente queria dizer que a ideia foi do @TheGODMax, mais o script foi desenvolvido por mim. ------------------------------------------ Conteudo Bom, o que o script eh capaz de fazer: Dar uma sensacao que voce esta realmente voando Trocar Outfit durante e depois do voo Voar apenas em locais selecionados Explicando O sistema ira te "transportar" para o ultimo andar do mapa, que no caso seria "Floor 0". Quando transportado, voce tara andando em um tile invisivel, no qual daria a sensacao de estar "voando". E durante isso, o outfit do player seria mudado, como se fosse um Swim System. O Host pode escolher os lugares desejados para o sistema funcionar, basta colocar o tile "460" aonde ele queira que o player possa "voar" O player podera voltar qualquer hora a superfice, mais ele ira voltar para seu templo, nao aonde desejado. O player nao ira poder usar !fly, a nao ser que ele esteja na superfice. O player nao ira poder usar !back, a nao ser que ele esteja no ultimo floor (0) Tutorial Primeiro o mais chato, e dificil: Abra o mapa com o seu mapa editor, e coloque o TILE 460 NO ULTIMO ANDAR (Floor 0), apenas aonde voce quer que o player VOE! Exemplo: Segundo: va em "PastaDoOt\Data\Talkactions\Scripts" Crie um arquivo chamado "fly.LUA" la dentro e insira esse codigo: -- !fly by Forcera -- -- Ideia by TheGODMaX -- function onSay(cid, words, param, channel) flypos = getCreaturePosition(cid) npos = {x=flypos.x, y=flypos.y, z=flypos.z - 7} pos = getCreaturePosition(cid) flyoutfit = {lookType = 239, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0} if pos.z == 7 then if doTeleportThing(cid, npos) then doSendMagicEffect(npos, 14) doSetCreatureOutfit(cid, flyoutfit, -1) else return 0 end end return TRUE end ------------------------------------------------------------------------------------ Na mesma pasta crie um arquivo chamado "back.LUA" la dentro e insira esse codigo: -- !back by Forcera -- -- Ideia by TheGODMaX -- function onSay(cid, words, param, channel) npos2 = getPlayerMasterPos(cid) poszao = {x=npos2.x, y=npos2.y, z=npos2.z} pos = getCreaturePosition(cid) if pos.z == 0 then doTeleportThing(cid, poszao) doRemoveCondition(cid, CONDITION_OUTFIT) doSendMagicEffect(poszao, 14) end end . [!fly] pos.z == : Numero do andar que o player precisa estar para poder usar !fly [!back] pos.z == : Numero do andar que o player precisa estar para poder usar !back flyoutfit : Outfit que o player ira ter quando usar o !fly . Terceiro, e ultimo passo: adicione essas Tags em "PastaDoOt\Data\Talkactions\Talkactions.xml" <!-- Flying System --> <talkaction log="yes" words="!fly" access="0" event="script" value="fly.lua"/> <talkaction log="yes" words="!back" access="0" event="script" value="back.lua"/> Finalizando Para voar: Apenas fique embaixo do tile 406 e fale "!fly" Para voltar: Apenas fale "!back" ------------------------------------------------------------------ Espero que tenham gostado, e aproveitem!1 ponto
-
Construções No Tibia: Templos, Telhados, Casas, Detalhes, Etc.
furlanetto reagiu a Alissow por um tópico no fórum
Atenção! Este tópico contém muitas (25 imagens = 41.559.864 bits) imagens, algumas em tamanho G, então se alguma delas não carregar, atualize a pagina no seu navegador. Obrigado pela atenção. Imagem por: Kaonic [Construções] Construções no Tibia são como na vida real, não se pode viver sem elas. No inicio o jogador nasce no templo, que é talvez o lugar mais importante e visitado do servidor, todos passam por ele no começo e é onde você renasce depois de morrer, também é onde você foge daquele Power abuser fdpfdpfdpfdp. Em segundo lugar na escala de importância vem o Depot, é onde você guarda seus itens mais preciosos (se você não tiver uma casa), onde você faz aquela feirinha maneirinha pra vender seus itens. Temos também as casas, que, com camas, servem pra regeneração fácil e rápida de stamina ou soul, servem pra guardar seus itens, fazer inveja em quem você odeia, brincar de casa da Barbie, etc. Enfim, construções no Tibia são mesmo importantes. Templos: Começaremos pelo, na minha opinião, o lugar mais importante de um servidor. Como você já sabe, templos são aqueles lugares sagrados onde os players nascem e renascem. Claro que esta não é uma construção, mas templos não precisam ser necessariamente quadrados, simétricos e "sem vida". A historia do templo acima, por exemplo, diz que no passado ele era um "templo de verdade", mas devido a ataques simultâneos de bombas atômicas Magos, o templo foi destruído, e mesmo assim os habitantes não quiseram abandoná-lo, por ser um templo sagrado e possuidor de forças sobrenaturais. Templos e construções são diferentes em cada tipo de cidade, cidades desérticas tendem a ter templos com paredes no estilo "egypt wall" e "egypt Stone wall", cidades em selvas usam templos de bambu, as construções em cidades de gelo possuem paredes de madeira, e assim sucessivamente. Dica: Em cidades pequenas, templos devem ser pequenos, e em cidades grandes, templos devem ser grandes, respectivamente. Este é o templo do popular Alissow OTS, como podem ver é um templo simples e totalmente retangular, mas mesmo assim não é feio – pelo menos eu acho que não é. Vocês aprenderão mais sobre construções quadradas um pouco mais abaixo. Casas: As casas precisam ter: - Pilares, para garantir o sustento da construção, como está indicado em vermelho. Isto não é obrigatório, apenas se tiver algo "solto por ai" que necessite alguma sustentação. - Janelas nos telhados e nas paredes – indicação em verde - dão um charme a mais na sua casa, além de permitir a visualização dos players de dentro e fora da mesma. - Uma porta, logicamente, para o player entrar e sair da casa. - E por ultimo enfeite da maneira que quiser, sempre respeitando a coerência (Leia Detalhes mais abaixo). Telhados: Em sua construção você pode usar diversos tipos de telhados, em casas pequenas eu aconselho o seguinte tipo de telhado: Em construções maiores, é aconselhável usar um telhado baixo, pois o alto pode ficar alto demais, resultando num mapa feio. Também é válido utilizar pedras e plantas nos telhados. Detalhes: Detalhes em construções são uma coisa muito simples, geralmente usa-se tochas, janelas, portas, musgos, flores, plantas, etc. OBS: Tochas em paredes de madeira são prejudiciais à saúde das mesmas, por isso o ministério da saúde recomenda o uso de lâmpadas. Veja alguns exemplos de detalhes nas construções: Observe que nesta casa temos plantas nas paredes, plantas no telhado, além de musgos nas paredes e uma calha com um barril de água, muito comum em casas de toda parte do mundo. Rçrç Nesta, temos um contraste de paredes, além de musgos e chaminés nos telhados. Construções Grandes: Os castelos (eu adoro esse mapa) também fazem parte do mundo tibiano, os reinos precisam ter uma fortaleza que sirva de uma moradia digna para o seu rei e seus seguidores. Observe como as paredes foram usadas. Tamanhos. Eu vejo bastante gente fazendo casas extremamente gigantescas, quadradas ou curvas e com apenas uma porta e uma janela. A não ser que você queira criar monstros lá dentro, 13x13 SQMs já é grande o suficiente para uma casa grande e 6x7 para uma casa normal. Se você não sabe o que é SQM, preste atenção: SQM significa Square Metre, que em português, significa Metro quadrado. Passando para o Tibia, um player ocupa um SQM, assim como um Demon (ou qualquer outro monstro) também ocupa um SQM. Um pedaço de chão ou uma parede Também possuem 1 SQM. Uma casa grande no tamanho certo. Uma casa grotesca do jeito totalmente errado. Quadrado X Curvo: Quando se fala em construções quadradas a primeira coisa que vem à cabeça é que é um mapa muito simples, feio e... quadrado (what?), o que não é verdade. Construções curvas atrapalham a jogabilidade, acompanhe. Mapa 1: A primeira vista você poderá dizer que é um mapa muito simples, feio e quadrado, continue acompanhando. Mapa 2: Qual dos dois mapas é mais bonito? Qual deles suporta mais items? Com certeza é a casa quadrada certo? Por isso pense bem antes de querer fazer algo "incomum". Isso não quer dizer que deve-se fazer tudo quadrado, algumas curvinhas às vezes também deixam um mapa bonito: Aplicando a "técnica do olha e faz" também é possível fazer lindas construções e com formas diferentes. Observe: Depois: É certo que um servidor sem construções não funcionará como deveria, ele ficará totalmente incompleto, os players precisam de um lugar bonito pra renascer, precisam de um depósito seguro para guardar seus items, precisam de casas para viver e de qualquer forma essas construções precisam ser bem feitas, seja para atrair o publico ou para simplesmente mostrar seu trabalho. ______________________________________________________________________________ Considerações finais: Os mapas não ficaram muito beeem feitos, alguns deles serviram apenas de demonstração. Gostou do artigo? Deseja criticar? Elogiar? Comente1 ponto -
É, depois de alguns anos estou voltando a mappear. Estou meio que muito enferrujado rs com tantas mudanças e novidades! (percebi que muitos sprites foram inseridos desde a última vez que postei). ➨ SEMPRE OLHEM O ÚLTIMO POST ✔ Porque é lá que estará as atualizações! Então é isso. Espero que consiga novamente voltar a agradar os usuários do XTibia com meu trabalho. Se você não quer perder nenhuma atualização do meu show-off, clique em (no lado direito/superior do tópico). Lembrando: Todo comentário é bem vindo! Crítiquem, Sugiram, Dêem idéias, Opinem. Só assim poderei aprimorar meu trabalho! Atenciosamente, ☠ Bondx.1 ponto
-
Ajuda Aki Preciso De Uma
TioPunk reagiu a Antiemoxml por um tópico no fórum
Precisa de uma spell tipo "exori vis, mort, flam, etc... mas q empurra o player alvo "monstro" se tiver como me ajuda eu agradeço Meu msn: Morus.darf@hotmail.com versão 8.40 Spell q taca uns 4 sqms longe1 ponto -
Eae galera do XTibia, estou trazendo uma area de treinamento, ela já esta totalmente feita vcs só terao qe arrumar as coordenadas dos teleports e colocar os training monk. Imagens: Download : 4 Shared Não precisa de Scan, pois o arquivo é .otbm Créditos: exiT Snowz1 ponto
-
LuaSQL Bom, antes de mais nada queria me desculpar com Won Helder pela demora no tutorial, mas antes tarde que nunca... Vamos ao tutorial. Aviso: As querys que forem usadas como exemplos, bem como o tutorial são voltados à engine MySql, podendo não funcionar em sqlite. Para começarmos a criar nossas próprias querys, devemos conhecer as instruções (nome dado às ações que serão executadas), para depois aplicarmos nas querys: ► ALTER: Este comando é utilizado quando queremos criar uma row (coluna) nova. Sua sintaxe é como mostrada abaixo: ALTER [tipo] [nome da coluna] [instrução] [configurações] Complicado demais? Então vamos à um exemplo prático: ALTER TABLE `players` ADD `tutoriais` integer not null default 0 No caso acima, eu alterei a tabela “players”, adicionando a coluna “tutoriais” com as configurações “Somente números inteiros, não nulos, valor inicial 0”. ► SET: Comando usado para ajustar os valores de uma célula. Observe: UPDATE `players` SET `level` = 8 No exemplo acima, eu alterei o level de todos os jogadores na database para 8. Caso quisesse somente 1 jogador, faria assim: UPDATE `players` SET `level` = 8 WHERE `id` = 1 O comando acima altera o level do jogador número 1 da database para 8. ► SELECT: Comando utilizado para “escolher” algum valor da database. A instrução SELECT não muda os dados no banco de dados. Observe: SELECT `name` FROM `players`WHERE `id` = 1 Neste exemplo, será mostrado o nome do jogador número 1 da database, sem fazer alterações. ► INSERT: Usado para inserir dados em uma célula. Observe: INSERT INTO `accounts` (id, name, password) VALUES (2, “god”, “god”) Como podemos perceber, o INSERT pode ser usado para inserir dados múltiplos à tabela. No exemplo acima, criei uma conta com id = 2, name = “god” e senha = “god”. ► UPDATE: Usado para atualizar a tabela e a coluna que queremos acessar: UPDATE `players` SET `level` = 8 Percebam que quando uso o UPDATE, obrigatoriamente devo usar uma instrução secundária. ► DROP COLUMN: Usado para excluir colunas. Veja: Primeiro vamos criar uma coluna para excluirmos: ALTER TABLE `players` ADD `delete` varchar(255) not null default 0 Agora vamos deletar: ALTER TABLE `players` DROP COLUMN `delete` Sempre que for deletar uma coluna, um aviso será emitido, para que não haja engano na hora de deletar. Observações importantes: ► As configurações da coluna podem ser várias, as mais usadas são: integer not null default 0 varchar(255) not null default 0 A primeira é para colunas numéricas, com valor inicial zero. A segunda é para colunas que contenham textos ou palavras. Aplicando nos scripts Muitas vezes, precisamos fazer uso da database em alguns scripts. E várias são as funções de manipulação de database em LUA. Porém, usaremos somente uma delas: db.executeQuery(query) Bem simples. Observe um exemplo de uso em script de reset: function onSay(cid, words) local pid = getCreatureGUID(cid) doRemoveCreature(cid, true) db.executeQuery("UPDATE `players` SET `level` = 8, `experience` = ".. getExperienceForLevel(8) .." WHERE `id` = ".. pid ..";") return TRUE end Este script, apesar de ser bem simples, é muito utilizado e muito buscado. Sua função é mudar o level e a experiência do jogador. Bom, é isso! Tutorial feito por mim (apocarai) flw1 ponto
-
ringmsg.lua function onEquip(cid, item, position, fromPosition) if(item.itemid == 2123 ) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce agora esta usando ring da morte,cuidado pois ele e muito perigoso .") doSendMagicEffect(getPlayerPosition(cid), 66) end return TRUE end function onDeEquip(cid, item, slot) if(item.itemid == 2123) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "você removeu este poderoso anel.") end return TRUE end 2123 = ID DO SEU ANEL em movements.xml red: ID DO SEU ANEL (MUDE)1 ponto
-
[Official] The Diamond Server 1.0.6 Beta
33263648 reagiu a sharematrix por um tópico no fórum
@leozerarox Obrigado! @Topic Uma outra atualizaçao se aproxima..1 ponto -
Pqp, véi TU É O CARA!!!! sÓ staka as runa e ja eras, mais uma vez você salvando meu coro. Uma coisa, eu tinha colocado na minha pasta lib, alguns arquivos seus, dae quando matava os bixos, eles nao morriam ficava 0 hp e nao podia mais atacar, restaurei meus arquivos e fico tudo certo, acho que o problema é no wait.lua, ou talvez alguma imcompatibilidade com outros arquivos que nao trokei, mas o distro ta uma maravilha, acho que so falta staka as runas e fica redondinho.1 ponto
-
Vip System Geisor
rime reagiu a Natanael Beckman por um tópico no fórum
Pra ver se facilita eu tentei fazer o seguinte alterei: Botei a storage: confg/confg.php E alterei shopsystem.php: $player_premdays = Sim sei que vou no shop compro minhas vip ae quando chega em accept clicopara prosseguir para proxima pagina ae da esse erro: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'vip_day' in 'field list'' in C:\xampp\htdocs\pot\OTS_Account.php:811 Stack trace: #0 C:\xampp\htdocs\pot\OTS_Account.php(811): PDO->query('UPDATE `account...') #1 C:\xampp\htdocs\shopsystem.php(332): OTS_Account->setCustomField('vip_day', 35) #2 C:\xampp\htdocs\index.php(189): include('C:\xampp\htdocs...') #3 {main} thrown in C:\xampp\htdocs\pot\OTS_Account.php on line 8111 ponto -
[Encerrado] Item Editor
crusheralpha reagiu a Ardemax por um tópico no fórum
Há sim. Esse programa é criado por SimOne. Muito gente procura esse programa e é muito útil. ah, Para usar basta extrair na pasta do servidor, coloque o tibia.dat e o tibia.spr junto também. Download Scan Obrigado, espero tenho aproveite! ;]1 ponto -
Tutorial Para Signs
Izaiasousa reagiu a Ththt por um tópico no fórum
Ae pessoal do Xtibia, muitas das minhas signs me basiei nesse tutorial. Tinha no Youtube, mas depois de um tempo ele sumiu de lá. No entanto acabei decorando ele e resolvi trazer para aqui ;D (Para PS em ingles) Preview: 1-Vá em File/New e coloque 500px por 250px 2-Após isso selecione duas cores a escolha (de preferencia uma mais clara e outra mais escura) e selecione o Gradient Tool. Feito isso faça um fundo com as cores selecionadas. OBS: A cor mais clara fica pra cima. 3- Agora duplique o Background. Após isso, copie e cole a render desejada e a posicione ao canto direito, também a duplicando depois. 4- Mude a copia da sua render para Overlay - Opacity 80% - Fill 80%. 5- Pegue a render de novo e cole, mas posicionada no centro e um pouco maior. Mude-a para Overlay - Opacity 80% - Fill 80%. 6- Agora vá na cópia do Background e clique em Blending Options. 7- Clique em Pattern Overlay e mude o "Pattern" para Clouds. 8- Mude o Blend Mode para Overlay - Opacity 80% - Scale 679% (ou do jeito que preferir). E clique em OK. 9- Adicione uma nova camada a cima da cópia do Background, aperte ctrl+a e depois a tecla M. Clique com o botão direito na imagem e depois com o botão esquerdo em fill. Mude para Mode Overlay e Opacity 20%. 10- Após isso, selecione a Eraser Tool e apagues as partes desejadas. (não sei explicar bem, mas você perceberá quando apagar) 11- Agora use sua imaginação! Use brushes! Esolha um tipo de letra bem legal! Ponha efeitos! A partir de agora é opcional: 12- Selecione o branco como cor principal. Aperte ctrl+a e depois a tecla M. Clique com o botão direito na imagem e depois com o botão esquerdo em Stroke. Mude para Width: 4px. Aperte OK 13- Selecione a cor preta e faça a mesma coisa, mas mude para Width 3px. Aperte OK. 14- Mude a camada para Overlay - Opacity 80% - Fill 80%. 15- Pronto! Aqui acaba o tutorial. Espero que tenham gostado e não deixem de comentar ^^. Creditos: 50% Não me lembro o nome do usuarios do youtube, mas se soubesse, colocaria os créditos. 50% THH (eu), por trazer o tutorial e montá-lo com imagem e talz.1 ponto -
Alissow Ots 4.11 [11/07/2010] 8.6 Completo!
luangustavo123456 reagiu a Alissow por um tópico no fórum
Vish tonynh, as screenshots (com exceção da ultima) são da versão anterior. @Cyko... Certo, arrumando. :]-1 pontos