Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Crystal Server Olá Venho lhes trazer o Crystal Server. Aviso O Mapa é YurOTs 8.0 de gelo, editado por GOD Bom, e atualizado para 8.6 por Toty. Creditos ao mapa para Yurez (criador do mapa) e GOD Bon por edita-lo. Conta do GOD é 222222/password [ File changes: D = Deletado, M = Modificado, A = Adicionado. [ 0.1.9 A = data/npc/npcs.xml A = data/talkactions/scripts/blessings.lua A = data/actions/scripts/other/keys.lua M = OTServ.exe M = config.lua M = data/lib/000-constant.lua M = data/lib/001-class.lua M = data/lib/050-function.lua M = data/lib/100-compat.lua M = data/monster M = data/npc/lib/npcsystem/keywordhandler.lua M = data/npc/lib/npcsystem/main.lua M = data/npc/lib/npcsystem/modules.lua M = data/npc/lib/npcsystem/npchandler.lua M = data/spells/spells.xml M = data/spells/scripts/attack/whirlwind throw.lua M = data/spells/scripts/attack/strong ethereal spear.lua M = data/spells/scripts/attack/inflict wound.lua M = data/spells/scripts/attack/groundshaker.lua M = data/spells/scripts/attack/front sweep.lua M = data/spells/scripts/attack/fierce berserk.lua M = data/spells/scripts/attack/ethereal spear.lua M = data/spells/scripts/attack/curse.lua M = data/spells/scripts/attack/brutal strike.lua M = data/spells/scripts/attack/berserk.lua M = data/spells/scripts/attack/annihilation.lua M = data/actions/actions.xml M = data/actions/lib/actions.lua M = data/actions/scripts/foods/coconut_shrimp_bake.lua M = data/actions/scripts/foods/demonic_candy_ball.lua M = data/actions/scripts/foods/food.lua M = data/actions/scripts/foods/pot_of_blackjack.lua M = data/actions/scripts/foods/sweet_mangonaise_elixir.lua M = data/actions/scripts/liquids/antidote_potion.lua M = data/actions/scripts/liquids/berserk_potion.lua M = data/actions/scripts/liquids/bullseye_potion.lua M = data/actions/scripts/liquids/mastermind_potion.lua M = data/actions/scripts/liquids/potions.lua M = data/actions/scripts/other/blueberrybush.lua M = data/actions/scripts/other/ceremonialankh.lua M = data/actions/scripts/other/constructionkits.lua M = data/actions/scripts/other/decayto.lua M = data/actions/scripts/other/doors.lua M - data/actions/scripts/other/enchanting.lua M = data/actions/scripts/other/spellwand.lua M = data/actions/scripts/other/spideregg.lua M = data/actions/scripts/other/taming.lua M = data/actions/scripts/quests/system.lua M = data/actions/scripts/tools/fishing.lua M = data/actions/scripts/tools/skinning.lua M = data/actions/scripts/tools/squeeze.lua M = data/XML/channels.xml M = data/XML/mounts.xml M = data/creaturescripts/scripts/guild.lua M = data/creaturescripts/creaturescripts.xml M = data/creaturescripts/scripts/login.lua M = data/movements/movements.xml M = data/movements/scripts/closingdoor.lua M = data/movements/scripts/drown.lua M = data/movements/scripts/hotd.lua M = data/movements/scripts/junglemaw.lua M = data/movements/scripts/swimming.lua M = data/movements/scripts/tiles.lua M = data/movements/scripts/walkback.lua M = data/talkactions/talkactions.xml M = data/talkactions/scripts/reload.lua M = data/talkactions/scripts/gamemaster.lua M = data/talkactions/scripts/newtype.lua M = data/talkactions/scripts/save.lua M = data/talkactions/scripts/teleporttown.lua M = data/talkactions/scripts/broadcastclass.lua M = data/talkactions/scripts/newtype.lua M = data/talkactions/scripts/reports.lua M = data/talkactions/scripts/waypoints.lua M = data/items/items.xml M = data/items/randomization.xml D = data/actions/scripts/decrease.lua D = data/actions/scripts/increase.lua D = data/actions/scripts/other/trap.lua ] ] [ 0.1.9 [ Portugês Adicionada nova função lua doSaveHouse({list}) (Tryller, TFS) Adicionado duas novas creatureevents onSpawn e onThrow (Tryller, TFS) Adicionado reload para mounts (Toty) Adicionado mais doors no 000-constant.lua (Tryller, TFS) Adicionado mais tipos de menssagens em 000-constant.lua (Tryller, TFS) Adicionado SKULL_ORANGE at 000-constant.lua (Tryller) Adicionado mais compatibilidades em 100-compat.lua (Tryller, TFS) Adicionado novas configs para casa no config.lua (Tryller, TFS) Adicionado allowedMaxSizedPackets no config.lua (Toty, TFS) Adicionado npcs.xml na pasta de npc para fazer load dos npcs (Tryller, TFS) Adicionado groups para talkactions (Toty, TFS) Adicionado talkaction /bless playername, blessid (Tryller) Corrigido erro com hasCreatureCondition (Toty, TFS) Corrigido erro com reloads (Toty) Corrigido erro com npc system (Toty, TFS) Corrigido erros com chats (Tryller) Corrigido funções lua em 050-funcitons.lua (Tryller, TFS) Corrigido problemas com spawns (Toty, TFS) Corrigido problema com venda de casas para outros players (Toty, TFS) Corrigido problema com Soul Points (Tryller, TFS) Corrigido problemas com mounts (Tryller) Corrigido erro com guilds (Toty) Corrigido erro com conditions (Toty, TFS) Corrigido erro com pagamento de houses (Toty, TFS) Corrigido guild mtod (Big Vamp) Corrigido server save (Tryller, TFS) Corrigido talkactions /squelch, /town, /save, /newtype, (Tryller, TFS) Corrigido eeros com sistema de camas (bed's) (Tryller, TFS) Corrigido algumas talkactions (Tryller, TFS) Corrigido algumas spells (Tryller, TFS) Corrigido alguns erros em moements (Tryller, TFS) Corrigido problemas em algumas actions (Tryller, TFS) Atualizado items.xml (Toty, TFS) Atualizada ppasta monster (Toty, TFS) Removido reload para house prices (Toty) ] ] Download v0.1.9 http://www.megaupload.com/?d=96401ZJJ DLL http://www.speedysha.../a7ZuS/dlls.rar Source http://vapus.net/svn...Crystal+Server
    2 pontos
  2. Trile

    Carlin War (8.60) Beta 2.0

    [Novo] Carlin War BeTa 2.1 ® By DeathCore (8.60) Depois Do Update 2.1. - Bug De Algumas Magias Forão Arrumadas. - City Maior E Mais Rpg Nas Escadas - Script Do Vocations Sem Bugss td balanceadinhuuu! - Scripts Bugados , e Alguns Sem Uso Forão Retirados, Para Dexar o Server Mais Estável. - Revisada No Distro, Para Dexar Mais Estável. - Update Em Breve , Para Melhorar O Server Pra " Vc vc vc vc (8 ". Antes Do Update. -Novos Player Inicia level 200 -Skills de Acordo com Level -Apenas level 200 não tem como voltar Level -Bugs das Houses que dava erro no distro,todos corrigidos -Npc vendedor de itens,vendendo mais itens -vocações mais fortes,mas balanceadas -Potions que healavão 1.0 agora healando 1.2 -Trainers modificados Atacando novos rapidos -Sala de Trainers almentada,bem maior do que antes -Stone Skin Amuleto Infinito mas com 10% de protect contra death e physical -Rings com mais tempo de duração -Novas Talkactions -Look no player mostrando Frags -Efeitos animados na hora de upar level ou skills -Magias com um pouco menos de Exausted,nada exagerado fiquem tranquilos -Alguns Items editados,mas nada exagerado -e muito mais !! Team x Team -Se quiser jogar com Team,Apenas entre em um dos 2 teleportes que há no templo com o team Red e Blue [as outfits seram mudadas,Red team usara outfit de CM,e Blue Team usa outfit de GM,mas calma não podem usar nenhum comando,apenas ganham a outfit Raid [Evento] -Evento que é executado a cada 40 minutos no server que dara invasão de monstro que daram exp,nada exagerado,de 1 a 2 level no maximo. -Esses monstros são chamados de [Evento],são fortes contra todos elentos e physical então não sera facil matalos sozinho vai dar tempo de todos uparem Acc God god/god Temple Do Mau ^^ Novas Talkactions Depot E Npcs. [Evento] Invasões Area Dos Treiners War Rolando ^^ Novos Itens a Venda Carlin War BeTa 2.1 (8.60) Download > http://www.4shared.c...DeathCore.html? Nunka Vo Postar Virus! Confiança é Tudo. Scan > http://www.virustota...0369-1309057164 Créditos Elsu Soldoran DeathCore (eu) -Créditos aos devidos donos dos Scripts-Créditos aos devidos donos pelas dlls e exe. -Creditos a min por incrementar o resto. Gosto? Então Da Rep+, Não Vai Cair Seu Dedo Comentem Eminhos e Eminhas. Mapas Antigos Não Perde RPG, Pra Min Os Antigos É Que Tem Rpg, Oq Eu Faço? , Tiro Bugs E Coloko Mais RPG Em Mapas Antigos.
    1 ponto
  3. wazzarks

    Global Full [8.60] Com Teleports...

    Bom, Esse é meu Mapa Global 8.6 Com Teleports Cidades + Carlin + Thais + Npcs nas cidades igual o global e alguns editados + Sistema de Addon Igual Global + Items de Addons Compra no Npc Bulma,todos com preços reformulados,para dificultar mais ainda ao fazer os addons + Sistema de Parcel para as Cidades 100% Quests + Desert Quest + Banshee Quest + Firewalker Boots Quest + Hota Quest + Anihilator Quest + Pits of Inferno Quest + Inquisition Quest + Yalahar Quest + Demon Helmet Quest + Demon Oak Quest + The Epiphany e Winged Helmet Quest [new] + Solar Axe e Great Shield Quest [new] Teleportes + 30 Teleportes hunts igual o Global + Teleportes de Demons e Heros Aumentados + Apenas Teleportes das Hunts mais usadas + E algumas hunts melhoradas + Reformulado area,de teleportes + Arrumado o tp de thais para os trainers que estava bugado + Arrumado 2 erros de spawn,que apareçia quando iniciava o ot + Arrumado alguns erros no mapa + Bk Quest Adcionada + Fibula Quest Adcionada + Bs quest Adcionada + Noble armor quest adcionada + Mapa size almentado para 4200x4200 + Bug dos Amuletos e rings infinitos arrumados + Bug do Aol agora funcionando Hunts Novas: Trainers: Download: DOWNLOAD ESTA COM LINK QUEBRADO, NAO SEI PORQUE MAIS O MAPA SUMIU DO MEDIAFIRE, VOU VER SE CONSIGU POR DENOVO. Scan: http://imageshack.us.../850/scanq.png/ Créditos: Wazzarks Soldoran Quem Gostar Da Um +Rep Aee..Vlws. Breve Estarei Postando Meu Mais Novo Trabalho> The NatrushWorld 2.0 (Mapa Proprio).
    1 ponto
  4. tklucas

    [Modern Aac] Poketheme

    Um tema simples, mas bonitinho. São duas opções de BG, a primeira em cinza e a segunda com os pokes. Download pokeTheme Por favor, se baixar o tema, comentem o que achar.
    1 ponto
  5. gui56

    Iriana Layout

    Olá XTibianos, notei que o fórum tem um problema na área de websites, que são os Layouts, por isso vou fazer o máximo que puder para disponibilizar a vocês visuais muito legais e interessantes para seu website. :forward: IRIANA LAYOUT :forward: INSTALAÇÃO DO LAYOUT :excl: OBSERVAÇÃO :down: DOWNLOADS E SCAN :appearance: CRÉDITOS COMENTEM, ABRAÇO A TODOS!
    1 ponto
  6. Daae galera, eu sempre gosto de editar meus mapas e uma das walls que eu mais gosto e a limestone wall, então decidi adicionar ela ao meu RME, e hoje vou trazer para vocês como fazer isso. Primeiramente, teremos de ir a Pasta do Remeres Map Editor. Depois disso va em data/(versão desejada)/tilesets.xml Apos abrir o Tilests, Vá até esta linha. <brush name="stone wall"/> <brush name="rock wall"/> Agora no meio deles coloque este script: <brush name="limestone wall"/> Pronto. Bom, agora que colocamos para o Remeres Map Editor ter a Limestone Wall, precisamos ajustar os ID's das paredes, portas etc. Então, agora vamos até o data/(versao desejada)/walls.xml Após você abrir O walls, você tera de adicionar este script: <brush name="limestone wall" type="wall" server_lookid="10178"> <wall type="horizontal"> <item id="10178" chance="1"/> <item id="10180" chance="0"/> <item id="10181" chance="0"/> <door id="10195" type="archway" open="false"/> <door id="10196" type="archway" open="false"/> <door id="10468" type="normal" open="false"/> <door id="10469" type="normal" open="false"/> <door id="10470" type="normal" open="true"/> <door id="10471" type="locked" open="false"/> <door id="10472" type="locked" open="true"/> <door id="10475" type="quest" open="false"/> <door id="10476" type="quest" open="true"/> <door id="10473" type="magic" open="false"/> <door id="10474" type="magic" open="true"/> <door id="10488" type="hatch_window" open="false"/> <door id="10490" type="hatch_window" open="true"/> <door id="10486" type="window"/> </wall> <wall type="vertical"> <item id="10177" chance="1"/> <item id="10182" chance="0"/> <item id="10184" chance="0"/> <door id="10192" type="archway" open="false"/> <door id="10193" type="archway" open="false"/> <door id="10477" type="normal" open="false"/> <door id="10478" type="normal" open="false"/> <door id="10479" type="normal" open="true"/> <door id="10480" type="locked" open="false"/> <door id="10481" type="locked" open="true"/> <door id="10482" type="quest" open="false"/> <door id="10483" type="quest" open="true"/> <door id="10484" type="magic" open="false"/> <door id="10485" type="magic" open="true"/> <door id="10489" type="hatch_window" open="false"/> <door id="10491" type="hatch_window" open="true"/> <door id="10487" type="window"/> </wall> <wall type="corner"> <item id="10181" chance="1"/> <item id="10183" chance="0"/> <item id="10185" chance="0"/> <item id="10187" chance="0"/> </wall> <wall type="pole"> <item id="10179" chance="1"/> </wall> </brush> ATENÇÂO:Você tem que tomar cuidado, pois você tem que adicionar este script depois de qualquer <brush>, e so pode haver apenas UM </brush> no final do script. Bom, após você fazer isso, você precisa abrir seu RME, e ir até "Terrain Palette/Town" Você tera algo assim... Bom obrigado por ver o tutorial... Pretendo mais no futuro fazer mais extensions para vocês (= Obrigado, se gostou, REP+
    1 ponto
  7. eae Galerinha vcs estão com dificudade de criar um Serv Com Hamachi e talz.. Nesse Video irei encinar Como Fazer Sem Hamachi mais quero Meu REP+!UHSUAHSUAH Ps Programa usado para filmar Eyo F029,! REP+
    1 ponto
  8. HeartBreak

    Warsystem

    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
  9. Eskylo

    Outfit !party

    Script feito totalmente por mim. Proibido postar sem autorização em outros sites. Testado em TFS 0.3.6 pl1 (8.54-8.6) O que o script faz? O líder da party usa o comando !party e automaticamente todos da party ficam com o mesmo outfit. Observações: Só pode ser usado pelo líder da party. Se o líder da party estiver usando um addon, quem não tiver o addon, não receberá o addon. A idéia não é totalmente original, já vi o script só que pra guilds e não parties. Como usar? !party party.lua http://www.pastebin.com/t256FkA7 talkactions.xml <talkaction words="!party" event="script" value="party.lua"/> @edit: Se alguém puder e quiser ajudar, grava um video do script, coloca no YouTube e manda o link. Façam bom uso!
    1 ponto
  10. bepokemon

    Alchemy System V1.0 By Uissu

    Ola galera do XTibia. Não costumo liberar muitos dos meus sistemas aqui, mas como fiz esse, que ficou um pouco simples demais e não se encaixava com oque eu precisava, então tive que fazer outro, a versão 2.0 que não sera liberada por agora. Como o script funciona Eh um MoveEvent entao quando voce jogar um item qualquer no item selecionado pela tag do script ele verifica se faz parte de uma receita, e se for ele começa aquela receita. Se você errar o próximo item, ou qualquer outro da receita, ela para e você perde tudo que já foi usado. Instalação De forma bem simples, siga o passo-a-passo no spoiler abaixo. Como adicionar novas receitas Tambem de forma muito simples apenas mude tudo que estiver colorido DE VERDE na tabela a seguir como quiser: Imagens
    1 ponto
  11. digo1040

    Fly System

    Atualizei o post denovo, se não funcionar na linha abaixo de: function onSay(cid, words, param) coloque isso: doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, vip.getVip(cid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, tostring(vip.getVip(cid))) vai ficar assim: function onSay(cid, words, param) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, vip.getVip(cid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, tostring(vip.getVip(cid))) local config = { E poste as mensagens que aparecerem no console em azul e se o player era vip ou nao.
    1 ponto
  12. maurano

    Fazendo Lojas Que Fogem Do Comum

    Eae galera! sou novo no fórum e resolvi fazer 1 tutorial, esse é meu primeiro então espero por criticas! Bom vamos la! Após ver varios mapas de tibia,jogar em varios, ver varios showoff's e etc.. percebi que ainda fazem muitas lojas "básicas"(Entrada, balcão e no MAXIMO! uma mini sala para o vendedor). Então resolvi fazer este tutorial para aguçar a imaginação de vocês e para mostrar que lojas estilizadas ficam muito melhor dando outra cara para seu server! Bom, chega de lero lero e vamos as imagens! 1° Andar : Neste exemplo usei uma area mais quadrada para melhor observação de vocês aos detalhes mas no próximo exemplo verão que também fugi dos "quadrados". Fazer uma area quadrada não quer dizer que é "noob" e feio, muitas areas se adequam ao formato "quadrado", mas fazer o mapa inteiro quadrado ai fica feio '-'. Bom nesta imagem vocês podem ver que eu fiz uma sala de entrada, dps a sala onde esta o balcão, dps outra sala com a entrada para a casa do vendedor. 2³ Andar : No segundo andar vocês podem ver que fiz 1 corredor para entrada que seria com "Exani hur"(poderiam mudar colocando uma escada), coloquei as estátuas de arqueiros para caracterizar a loja(mostrando que é uma para palladinos), fiz 2 casas para players no segundo corredor e uma escada para o terceiro andar e claro que não podemos esquecer da iluminaçao do lugar colocando as lampadas! 3° Andar : No terceiro andar(terraço do predio) eu coloquei um tipo de uma sacada para valorizar a ultima casa(que tambem esta maior) e para dar outra estilizada no predio! 4° Andar : E por fim a loja por inteira! Poderíamos ter usados os telhados 8.54 para dar também outra estilizada na loja, mas como no meu mapa essa já tem varias cidades com aquele telhado resolvi mudar 1 pouco! Tambem adicionei ali outras estatuas para mudar mais 1 pouco e também dando visão de outro ângulo para o player avistar que é uma loja de palladinos. Outro Exemplo : Neste outro exemplo usei um outro formato que foge do "quadrado" para vocês verem. Bom galera! é isso, como ja disse é meu primeiro tutorial e não ficarei surpreso com a aparição de erros ;x mas espero que vocês gostem ^-^. Vlws!
    1 ponto
  13. Valeu pelos elogios, e peço desculpas pelo config.lua bagunçado, rs Estava desorganizado porque eu uso o Notepad para editar e esse programa deixa organizado. Provavelmente você abriu no bloco de notas e por isso ficou aquela zona. Arrumei o config.lua e já atualizei o tópico. Aqui disponibilizo para você apenas o config.lua: Download Config.lua organizado. ----------------------------------------------------- Tópico editado, nova versão 1.1 que aceita protocolo 9.10 e 9.20.
    1 ponto
  14. k2lan

    [Domino .com Ou .com.br]

    vc terá que locar uma hospedagem ou utilizar uma dns para redirecionar para o dominio que irá locar
    1 ponto
  15. O script dele é default.lua não precisa de script. É só ler o que está em vermelho. Reportado para moverem.
    1 ponto
  16. 16:00 Horas. Abs. Olá LukaszG, sim, os 5 kits já foram sorteados através do nosso twitter. http://blog.gamerchants.com/promocoes/1000-seguidores-no-twitter/ Abs., Equipe GM
    1 ponto
  17. digo1040

    3 Duvidas

    Eai, tudo bem? ---1--- Qual a versão do seu ot? Poste o talkaction do leavehouse. ---2--- Aparece algum erro no distro? ---3--- Esse erro diz que não há uma tabela em seu banco de dados (guild_war), provavelmente existe um global events ou mods pra quando quando iniciar o server verificar isso.
    1 ponto
  18. Frandruid

    [Encerrado] Duvida -Nome Do Meu Jogo

    Q tal... Medeltida Foi td no q consegui pensa se ajudei rep+
    1 ponto
  19. Aloczs

    Desafio [~Boots~]

    Eu queria saber se tem como cria uma nova soft boots... ou seja : a boots of waterwalking eu queria deixar com o mesmo efeito da soft porém healando mais para meu ot de war queria torna-la item vip... só que ela não tem o outro item que no caso fica brilhando que heala, e se por ela pra healar la managain: tal tal ela n heala ! seria possivel fazer igual a soft ?
    1 ponto
  20. cadastro2005

    Solução Para Clone Items!

    vlwwwwwwwwwww
    1 ponto
  21. riqueemapper

    Garganta Do Diabo

    Dragon Sland by Riquemaper' Bom Gente venho divulgar mais um de meus trabalhos. Fiz uma ilha de dragons, num estilo Jungle.Há todo os tipos de dragons e algumas outras criaturas num spawn diferenciado e interessante, é uma ilha explorável e não há muito perigo para high leveis. Abaixo algumas imagens: Quaisquer defeitos, por favor, me avisem para buscar sempre melhorar! Bom pra quem gostou está ai o Link para Download: Clique aqui Ainda não sei como funciona este sistema de scan, mas afirmo de que está livre de vírus. É isso ai, em breve estarei divulgando mais criações minhas. QUEM GOSTOU DA +REP! Obrigado! :smile_positivo:
    1 ponto
  22. É só ir no arquivo LUA do seu servidor e lá vai ter: Ou algo parecido, é só colocar "no" Ajudei ? Rep +
    1 ponto
  23. thalia

    Ajuda No Script Go/back Poke Tibia

    ei quem te passo esse script??
    1 ponto
  24. Firrsst! Cara.. tava esperando por este momento.. riariaria Pelas novas screens, o update promete! Valeu! Abraços. +REP!
    1 ponto
  25. Kasemaru

    [Encerrado] Hosteamento/dedicado.

    Ola pessoal eu queria saber so o seguinte : 1) Oque E Dedicado ? 2) Como funciona? 3) Como adquirir um ou comprar? 4) como mecher nele. 5) me explica oque e um dedicado pq eu nao sei nada sobre isso e queria coloca meu ot no dedicado mais nao sei nem pra onde vai isso. Valew se postei no local errado movam-me plx. Thx. Me Ajudou ? Rep + YOU!
    -1 pontos
  26. Ola galera estou atraz de um site - blog nao, mais se voce saber ficar irado com blog eu aceito - procuro quem saiba decorar sites como : Webnode, to com uma duvida : como muda o palel de fundo, se souber mecher me explica que eu agradeceria. valew. REP + PRA QUEM ME AJDUAR !!
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...