allan1001 8 Postado Agosto 31, 2009 Share Postado Agosto 31, 2009 (editado) Para quem não conheçe o War System é aquele sistema onde duas guild se declaram em guerra onde então os frags nao sera contados como "Unjusted kills" É preciso TFS 0.3+ & Gesior AAC Bom vamos la então ! 1.0 - Crie um arquivo com o nome GuildWar.lua dentro da pasta do seu ot , aonde fica o distro, as dll's , etc... e copie este codigo: DelayToCancel = 24 * 60 * 60 --minutes Maps = { ["map 1"] = { Guild1Pos = {x=998, y=1006, z=7}, Guild2Pos = {x=1002, y=1006, z=7} }, ["map 2"] = { Guild1Pos = {x=994, y=1004, z=6}, Guild2Pos = {x=1000, y=1003, z=6} } } TimeToTeleport = 1 --minutes, when star 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 .." minutes 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 getGuildWarInfo(id) local Info = db.getResult("SELECT `invited_to`, `invited_by`, `in_war_with`,`war_time` FROM `guilds` WHERE `id` = " .. id .. "") if Info:getID() ~= LUA_ERROR 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 LUA_ERROR end function getGuildNameById(id) local Info = db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. id .. "") if Info:getID() ~= LUA_ERROR then local Name = Info:getDataString("name") Info:free() return Name end return LUA_ERROR 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) db.executeQuery("UPDATE `guilds` SET `invited_to` = ".. enemyGuild .." 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, `war_time` = ".. StartTime ..", `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 registerDeath(myGuild, enemyGuild, cid, target) db.executeQuery("INSERT INTO `deaths_in_wars` (`guild_id`, `player_id`, `killer_guild`, `killer`, `date`) VALUES ("..enemyGuild..", "..getPlayerGUID(target)..", "..myGuild..", "..getPlayerGUID(cid)..", " .. os.time() ..");") db.executeQuery("UPDATE `guilds` SET `kills` = `kills` + 1 WHERE `id` = ".. myGuild .."") end function StopWar(myGuild, enemyGuild) cleanInfo(myGuild) cleanInfo(enemyGuild) removeDeaths(myGuild) removeDeaths(enemyGuild) end function removeDeaths(id) db.executeQuery("DELETE FROM `deaths_in_wars` WHERE `guild_id` = " ..id .. ";") 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 getTilePzInfo(getCreaturePosition(Members[i])) == TRUE then doTeleportThing(Members[i], pos, FALSE) doSendMagicEffect(pos, CONST_ME_TELEPORT) doSendMagicEffect(getCreaturePosition(Members[i]), CONST_ME_POFF) end end end end function removeFrag(cid) local FragTime = getConfigInfo('timeToDecreaseFrags') local myFragTime = getPlayerRedSkullTicks(cid) local Remo = (myFragTime - FragTime) if Remo < 0 then Remo = 0 end doPlayerSetRedSkullTicks(cid, Remo) end function getGuildsWithWar() local res = db.getResult("SELECT `id` FROM `guilds` WHERE `in_war_with` > 0") local GuildW = {} if res:getID() ~= LUA_ERROR 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() ~= LUA_ERROR then local ret = Get:getDataInt("id") Get:free() return ret end return LUA_ERROR end function StarWar(x) teleportGuild(x.myGuild, Maps[x.map].Guild1Pos) teleportGuild(x.enemyGuild, Maps[x.map].Guild2Pos) --[[ putWarOn(x.myGuild, x.enemyGuild) if StopBattle == TRUE then addEvent(StopWarNow, 60 * 1000, {myGuild = x.myGuild, enemyGuild = x.enemyGuild}) end ]] end --[[ function StopWarNow© 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 ]] 2.0 - Crie um novo arquivo em: data\creaturescripts\scripts\ com o nome de: war_attack.lua e copie esse codigo: dofile("./GuildWar.lua") function onAttack(cid, target) if isPlayer(cid) == TRUE and isPlayer(target) == TRUE then local myGuild = getPlayerGuildId(cid) local enemyGuild = getPlayerGuildId(target) if myGuild ~= 0 and enemyGuild ~= 0 then if enemyGuild == getGuildWarInfo(myGuild).With then if getPlayerSkullType(cid) == 3 or getPlayerSkullType(cid) == 4 then if getPlayerSkullType(target) == 0 then doCreatureSetSkullType(cid, 1) doCreatureSetSkullType(target, 1) end end end end end return TRUE end 2.1 - Crie um novo arquivo em: data\creaturescripts\scripts\ com o nome de: war_kill.lua e copie esse codigo: dofile("./GuildWar.lua") local PZ = createConditionObject(CONDITION_INFIGHT) setConditionParam(PZ, CONDITION_PARAM_TICKS, getConfigInfo('whiteSkullTime')) function onKill(cid, target) if isPlayer(cid) == TRUE and isPlayer(target) == TRUE then local myGuild = getPlayerGuildId(cid) local enemyGuild = getPlayerGuildId(target) if myGuild ~= 0 and enemyGuild ~= 0 then if enemyGuild == getGuildWarInfo(myGuild).With then doAddCondition(cid, PZ) registerDeath(myGuild, enemyGuild, cid, target) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "This frag will not count!") end end end return TRUE end 2.2 - Abra login.lua (data/creaturescripts/scripts/): Após: dofile("./GuildWar.lua") function onSay(cid, words, param) 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) ~= LUA_ERROR then local invitedGuild = getGuildId(param) if invitedGuild ~= LUA_ERROR then if invitedGuild ~= myGuild then if GuildIsInPEace(invitedGuild) == true then doInviteToWar(myGuild, invitedGuild) doBroadcastMessage(BroadCast[1][1] ..getPlayerGuildName(cid).. BroadCast[1][2] ..getGuildNameById(invitedGuild).. BroadCast[1][3], BroadCast_Type) 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 getGuildWarInfo(myGuild).With ~= 0 and getGuildWarInfo(myGuild).ON == 0 then local enemyGuild = getGuildWarInfo(myGuild).With addEvent(StarWar, 15 * 1000, {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 * DelayToCancel) then StopWar(myGuild, enemy) doBroadcastMessage(BroadCast[6][1] ..getGuildNameById(myGuild).. BroadCast[6][2] ..getGuildNameById(enemy).. BroadCast[6][3], BroadCast_Type) else doPlayerSendCancel(cid, CancelMessagesWar[11]) end else doPlayerSendCancel(cid, CancelMessagesWar[10]) end 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 4.1 - Adicione isto em: talkactions.xml <?PHP //Litle Config $MaxShow = 20; //END if($action == '') { $main_content .= ' <P ALIGN=CENTER> <br> <FONT SIZE=4 COLOR=#8A0808> Como usar... </FONT> <br> <br> <FONT SIZE=2 COLOR=#DF0101> * <b>/war-invite</b> : <FONT SIZE=1 COLOR=green> Enviar um convite para iniciar uma War.<br> <u>Exemplo</u>: /war-invite Feel the Power </FONT><br> * <b>/war-accept</b> : <FONT SIZE=1 COLOR=green> Aceitar o convite para iniciar a War. </FONT><br> * <b>/war-reject</b> : <FONT SIZE=1 COLOR=green> Rejeitar o convite. </FONT><br> * <b>/war-cancel-invite</b> : <FONT SIZE=1 COLOR=green> Cancelar o convite. </FONT><br> * <b>/war-cancel</b> : <FONT SIZE=1 COLOR=green> Terminar a War, so pode ser usado apos 5 dias. </FONT><br> </FONT> <br> <FONT SIZE=2 COLOR=#8A0808> Esses comandos podem somente ser executados por lideres da guild.<br><br> <table border="1"><tr border="1"><td border="1"><h3>Obs:</h3> <ul> <li>Seu time so ganhara frag se matar quem esta na guild inimiga.</li> <li>Se alguen do mesmo time se matar sera descontado um frag da guild.</li> <li>Todos os frag da war nao sera contados como "Unjusted kills".</li> <li>Quando iniciada uma War so podera ser encerrada apos 5 dias.</li> </ul></td></tr></table> </FONT> </P> '; $wars = $SQL->query(" SELECT g.name AS gname, wg.name AS wgname, g.war_time AS gtime, g.kills AS kills, wg.kills AS ekills, g.show AS s, g.id AS gid, wg.id AS wgid 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) { $stats .=" <TR BGCOLOR=\"".$config['site'][($k % 2 == 1 ? 'light' : 'dark').'border']."\"> <TD> <center> <b> <a href='index.php?subtopic=guilds&action=show&guild=" . $v[gid] . "'>$v[gname]</a> </b> </center> </TD> <TD>V/s</TD> <TD> <center> <b> <a href='index.php?subtopic=guilds&action=show&guild=" . $v[wgid] . "'>$v[wgname]</a> </b> </center> </TD> <TD> <center> " . data("d/m/y H:i:s", $v[gtime]) . " </center> </TD> <TD> <center> <a href='index.php?subtopic=wars&action=show&war=" . $v[gid] . "'>{$v[kills]} - {$v[ekills]}</a> </center> </TD> </TR> "; } } $main_content .= ' <center> <h1> Guilds Wars </h1> </center> '; if(!$stats) { $main_content .= ' <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"> <TD CLASS=white> </TD> </TR> <TR BGCOLOR='.$config['site']['darkborder'].'> <TD> Nenhuma guild em War no '.$config['server']['serverName'].'. </TD> </TR> </TABLE> '; } else { $main_content .= " <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR=\"{$config['site']['vdarkborder']}\"> <TD CLASS=white width=25%> <center><B>Guild</B></center> </TD> <TD CLASS=white width=5%> <B>V/s</B> </TD> <TD CLASS=white width=25%> <center><B>Guild</B></center> </TD> <TD CLASS=white width=25%> <center><B>Started at</B></center> </TD> <TD CLASS=white width=20%> <center><B>Kills</B></center> </TD> </TR> $stats </TABLE> "; } ?> <?PHP $invitations = $SQL->query(" SELECT ig.name AS igname, i.name AS iname, i.id AS iid, ig.id AS igid FROM guilds AS i INNER JOIN guilds AS ig ON ig.id = i.invited_to ORDER BY iname ASC LIMIT 50; "); foreach ($invitations as $k=>$v) { $invi .=" <TR BGCOLOR=\"".$config['site'][($k % 2 == 1 ? 'light' : 'dark').'border']."\"> <TD> <center> <b> <a href='index.php?subtopic=guilds&action=show&guild=" . $v[iid] . "'>$v[iname]</a> </b> </center> </TD> <TD> <center> <b> <a href='index.php?subtopic=guilds&action=show&guild=" . $v[igid] . "'>$v[igname]</a> </b> </center> </TD> <TD></TD> </TR> "; } $main_content .= ' <center> <h1> Invitacoes Pendentes </h1> </center> '; if(!$invi) { $main_content .= ' <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"> <TD CLASS=white> </TD> </TR> <TR BGCOLOR='.$config['site']['darkborder'].'> <TD> Nenhuma invitacao pendente no '.$config['server']['serverName'].'. </TD> </TR> </TABLE> <br> <div style="text-align: right; margin: 20px auto; font-size: 10px;"> Script by <a target="blank" href="http://otland.net/members/xampy/">Xampy</a> edited by <a href="http://www.xtibia.com/forum/allan1001-m205633.html">Allan</a></div> '; } else { $main_content .= " <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR=\"{$config['site']['vdarkborder']}\"> <TD CLASS=white width=50%> <center><B>Guild</B></center> </TD> <TD CLASS=white width=50%> <center><B>Invited guild</B></center> </TD> </TD> </TR> $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() ."; "); foreach ($ranks as $y) { $Players = $SQL->query(" SELECT * FROM players WHERE rank_id = ". $y[id] ." ORDER BY name DESC;"); 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]; } $membersDeaths .=" <center> <b> <a href='index.php?subtopic=characters&name=" . $v[name] . "'>$v[name]</a> ($totDeaths) </b> </center> "; } } $guild2 = $ots->createObject('Guild'); $guild2->load($guild->getCustomField(in_war_with)); $ranks2 = $SQL->query(" SELECT * FROM guild_ranks WHERE guild_id = ". $guild2->getId() ."; "); foreach ($ranks2 as $y) { $Players = $SQL->query(" SELECT * FROM players WHERE rank_id = ". $y[id] ." ORDER BY name DESC;"); 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]; } $membersDeaths2 .=" <center> <b> <a href='index.php?subtopic=characters&name=" . $v[name] . "'>$v[name]</a> ($totDeaths2) </b> </center> "; } } $deathsG1 = $SQL->query(" SELECT * FROM deaths_in_wars WHERE killer_guild = ". $guild->getId() ." ORDER BY data DESC LIMIT ". $MaxShow .";"); $deathsG2 = $SQL->query(" SELECT * FROM deaths_in_wars WHERE killer_guild = ". $guild2->getId() ." ORDER BY data 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 ($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> " . data("d/m/y H:i:s", $v[data]) . " </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> " . data("d/m/y H:i:s", $v[data]) . " </center> </TD> </TR> "; } $main_content .= " <center> <b> <h2> Guilds em War <a href='index.php?subtopic=guilds&action=show&guild=" . $guild->getId() . "'> " . $guild->getName() . "</a> Versus <a href='index.php?subtopic=guilds&action=show&guild=" . $guild2->getId() . "'> " . $guild2->getName() . "</a> . </h2> <br> Iniciada em : </b>" . data("d/m/y H:i:s", $guild->getCustomField(war_time)) . " <br> <br> <b> Total Frags da " . $guild->getName() . " = " . $guild->getCustomField(kills) . " <br> <br> Total Frags da " . $guild2->getName() . " = " . $guild2->getCustomField(kills) . " <br> <br> Top fragger da " . $guild->getName() . " = <a href='index.php?subtopic=characters&name=" . $TopFraggerName . "'>" . $TopFraggerName . "</a> ($numTop1) <br> <br> Top fragger da " . $guild2->getName() . " = <a href='index.php?subtopic=characters&name=" . $TopFraggerName2 . "'>" . $TopFraggerName2 . "</a> ($numTop2) <br> <br> O mais noob da " . $guild->getName() . " = <a href='index.php?subtopic=characters&name=" . $mostDeadName . "'>" . $mostDeadName2 . "</a> ($mostDeadNum2) <br> <br> O mais noob da " . $guild2->getName() . " = <a href='index.php?subtopic=characters&name=" . $mostDeadName2 . "'>" . $mostDeadName . "</a> ($mostDeadNum) </b> </center> <br> <br> <br> "; $main_content .= " <center> <h1> Mortes dos Membros </h1> <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR=\"{$config['site']['vdarkborder']}\"> <TD CLASS=white width=50%> <center> <B> ". $guild->getName() ." </B> </center> </TD> <TD CLASS=white width=50%> <center> <B> ". $guild2->getName() ." </B> </center> </TD> </TR> <TR BGCOLOR=\"".$config['site']['darkborder']."\"> <TD> $membersDeaths </TD> <TD> $membersDeaths2 </TD> </TR> </TABLE> </center> <br> <br> <br> <center> <h1> Latest frags by ". $guild->getName() ." </h1> </center> <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR=\"{$config['site']['vdarkborder']}\"> <TD CLASS=white width=35%> <center> <B> Player </B> </center> </TD> <TD CLASS=white width=35%> <center> <B> Killed by </B> </center> </TD> <TD CLASS=white width=30%> <center> <B> Data </B> </center> </TD> </TR> $kills </TABLE> <center> <h1> Ultimo frag da ". $guild2->getName() ." </h1> </center> <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR=\"{$config['site']['vdarkborder']}\"> <TD CLASS=white width=35%> <center> <B> Player </B> </center> </TD> <TD CLASS=white width=35%> <center> <B> Killed by </B> </center> </TD> <TD CLASS=white width=30%> <center> <B> Data </B> </center> </TD> </TR> $kills2 </TABLE> "; } ?> 6.01 Abra o index.php em: (C:/xampp/htdocs/) Antes de: case "buypoints"; $subtopic = "buypoints"; $topic = Buy Points"; include("buypoints.php"); break; Adicione: case "wars"; $subtopic = "wars"; $topic = "Wars"; include("wars.php"); break; 7.0 - Agora para ver a suas guerras entre em: http://localhost/index.php?subtopic=wars Se você encontra qualquer erro, post-it aqui . Se isso o ajudou, comente por favor. Aproveitem! :smile_positivo: Creditos: · GeKirAh ·Nahruto ·christiandb · Xampy Editado Setembro 16, 2009 por allan1001 Link para o comentário Compartilhar em outros sites More sharing options...
yohanaugusto 1 Postado Setembro 1, 2009 Share Postado Setembro 1, 2009 Quando vc da war-challenge map 1 não vai arruma aee..queru dizer fala com os caras da ..... vlww Link para o comentário Compartilhar em outros sites More sharing options...
allan1001 8 Postado Setembro 1, 2009 Autor Share Postado Setembro 1, 2009 (editado) vc edito as cordenadas certas em GuildWar.lua na pasta do seu ot ? Editado Setembro 1, 2009 por allan1001 Link para o comentário Compartilhar em outros sites More sharing options...
RulezKnight 3 Postado Setembro 2, 2009 Share Postado Setembro 2, 2009 Gostei!, mas não vo testa não, valeu. (cheiu de preguiça pra fazer ) Link para o comentário Compartilhar em outros sites More sharing options...
yohanaugusto 1 Postado Setembro 3, 2009 Share Postado Setembro 3, 2009 @allan1001 Ja Arrumei...era erro no event.. Ja arrumei Link para o comentário Compartilhar em outros sites More sharing options...
StyllerSoft 0 Postado Setembro 13, 2009 Share Postado Setembro 13, 2009 Parabens ! FUNCIONOU obrigado... http://koltera.servegame.com:8090 Tibia Client : 8.5 Exp : 20x Skills : 15x Magic : 15x Entree já Link para o comentário Compartilhar em outros sites More sharing options...
guixap 60 Postado Setembro 16, 2009 Share Postado Setembro 16, 2009 Hail Keria saber se isso funciona sem site ? Link para o comentário Compartilhar em outros sites More sharing options...
allan1001 8 Postado Setembro 16, 2009 Autor Share Postado Setembro 16, 2009 @XaPiNhAl Funciona sim sem site, mais o seu serve tem q ser em mysql (phpmyadmin) pq tem que adicionar umas tabelas na databasse (veja no passo 5.0) Link para o comentário Compartilhar em outros sites More sharing options...
guixap 60 Postado Setembro 16, 2009 Share Postado Setembro 16, 2009 Puts que foda n sei mexer mysql dae so uso sqlite {INTAUM FIKEI SEM ESSES SITEMR ROX} =/ Link para o comentário Compartilhar em outros sites More sharing options...
ssjoss 0 Postado Setembro 28, 2009 Share Postado Setembro 28, 2009 Ajuda eu deu esse erro qnd dei /war-invite (Guild) [28/09/2009 01:57:24] Lua Script Error: [TalkAction Interface] [28/09/2009 01:57:24] data/talkactions/scripts/GuildWar.lua:onSay [28/09/2009 01:57:24] data/talkactions/scripts/GuildWar.lua:10: attempt to call global 'guildExist' (a nil value) [28/09/2009 01:57:24] stack traceback: [28/09/2009 01:57:24] data/talkactions/scripts/GuildWar.lua:10: in function <data/talkactions/scripts/GuildWar.lua:4> Link para o comentário Compartilhar em outros sites More sharing options...
xXSinistrOXx 0 Postado Outubro 2, 2009 Share Postado Outubro 2, 2009 (editado) Oia, descubri um bug, eu declarei war aii o outro aceito, so que quando eu matei ele, peguei Injusted (FRAG) porque ? Editado Outubro 2, 2009 por xXSinistrOXx Link para o comentário Compartilhar em outros sites More sharing options...
Westok 0 Postado Outubro 3, 2009 Share Postado Outubro 3, 2009 Eu tenho um mapa YourOT, este script não vai funcionar? obrigado por responder. Link para o comentário Compartilhar em outros sites More sharing options...
nectof 0 Postado Novembro 22, 2009 Share Postado Novembro 22, 2009 Olá, fiquei numa dúvida... O que acontece se 4 guildas declararem guerra ao mesmo tempo sem saber e escolherem o mesmo mapa? ou se, 6 guildas declararem guerra ao mesmo tempo, sendo q so tem 2 mapas, vão ficar todos no mesmo mapa? entende o que quero dizer? Link para o comentário Compartilhar em outros sites More sharing options...
hpjp 11 Postado Novembro 25, 2009 Share Postado Novembro 25, 2009 ta dando erro axo que eh por causa do tempo.. Fatal error: Call to undefined function data() in C:\xampp\htdocs\wars.php on line 82 Link para o comentário Compartilhar em outros sites More sharing options...
Maximos preto 0 Postado Dezembro 8, 2009 Share Postado Dezembro 8, 2009 oia ai meu problema... Error: [CreatureEvent::configureEvent] No valid type for creature event.attack [07/12/2009 20:20:13] Warning: [baseEvents::loadFromXml] Can not configure event como eu arrumo Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados