The World of Open Tibia
Hola bienvenido a word open-tibia si quieres pertenecer a esta comunidad solo registrate, es fácil y sencillo Gracias por tu preferencia.

Aqui encontraras cosas de calidad.
The World of Open Tibia
Hola bienvenido a word open-tibia si quieres pertenecer a esta comunidad solo registrate, es fácil y sencillo Gracias por tu preferencia.

Aqui encontraras cosas de calidad.
The World of Open Tibia
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.


encontraras aquí todo sobre open-tibia
 
ÍndiceBuscarÚltimas imágenesRegistrarseConectarse
Afiliados
Elf war system [Original]  Two10 Elf war system [Original]  Two110
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Miembros que empiezan más temas
Belloz
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Darko0
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Kiba
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Cronox
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Falcón
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Darkens
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Hazardous
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
angel.maclish
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Alush
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Kashort
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Mejores posteadores
Belloz
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Kiba
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Darko0
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Darkens
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Alush
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
angel.maclish
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Hazardous
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Falcón
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Cronox
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Maniatiko™
Elf war system [Original]  I_vote_lcapElf war system [Original]  I_voting_barElf war system [Original]  I_vote_rcap 
Últimos temas
» afililiacion Tibiaguys
Elf war system [Original]  EmptyMar Mayo 20, 2014 12:50 am por fernando1027

» Mi segundo spite :)
Elf war system [Original]  EmptySáb Dic 08, 2012 9:54 pm por icaros

» New Aggrox ot 8.60 Edited
Elf war system [Original]  EmptySáb Nov 03, 2012 4:42 pm por <Fercho>

» Afiliación a Stylez Records
Elf war system [Original]  EmptyMar Oct 30, 2012 5:23 pm por Darko0

» [Sugerencia]Colocar una radio online por el foro
Elf war system [Original]  EmptyJue Oct 25, 2012 6:56 am por Carlos Reguera DJ

» Server Map Rl 8.60
Elf war system [Original]  EmptyDom Oct 07, 2012 6:28 pm por Vizellzhs

» Instalar Contenido Pago en tu Web
Elf war system [Original]  EmptyJue Ago 30, 2012 8:34 pm por Darko0

» [Herramienta] Remere's Map Editor 3.0 [BETA]
Elf war system [Original]  EmptyLun Ago 27, 2012 11:02 am por Darko0

» War map 8.60
Elf war system [Original]  EmptyLun Ago 27, 2012 10:57 am por Darko0

Argumentos más vistos
Paquete de Nuevas Armas , Outfits , Granadas etc. [GOW] FREE!
New Aggrox ot 8.60 Edited
[BIBLIOTECA]Todas Las Versiones De Open Tibia
Concurso Mapping !
Mis sprites :Darko0
[8.60] AtomicsOT [CUSTOM]
Angel.Maclish Sprites
Como agregar Efectos a tu cliente!
Comandos Guild channel
Mi segundo spite :)

 

 Elf war system [Original]

Ir abajo 
AutorMensaje
Falcón
Programador
Programador
Falcón


Posts : 20
Points : 40
Reputation : 2
Join date : 16/07/2012

Elf war system [Original]  Empty
MensajeTema: Elf war system [Original]    Elf war system [Original]  EmptyMar Jul 17, 2012 10:39 am

Bueno, este es el elf war system script, un sistema, hecho en lua, que ah sido creado por elf, este sistema, ya es free, asi que lo posteare :), igual, si no quieren batallar, pueden usar, otx, que ya lo tiene compilado..

Ve a globalevents/scripts y crea un archivo con extension de lua llamado start.lua, de ahi pon esto adentro de el:


Código:
function onStartup()
db.executeQuery("UPDATE `players` SET `online` = 0 WHERE `world_id` = " .. getConfigValue('worldId') .. ";")
db.executeQuery("DELETE FROM `guild_wars` WHERE `status` = 0 AND `begin` < " .. (os.time() - 2 * 86400) .. ";")
db.executeQuery("UPDATE `guild_wars` SET `status` = 5, `end` = " .. os.time() .. " WHERE `status` = 1 AND `end` > 0 AND `end` < " .. os.time() .. ";")
return true
end

y en globalevents.xml se pone esto:

Código:
<globalevent name="serverstart" type="start" event="script" value="start.lua"/>

Despues de eso ve a el lib y ve al 000-constant, abrelo y agrega esto:

Código:
WAR_GUILD = 0
WAR_ENEMY = 1

Despues se va a la carpeta llamada talkactions, y creas dos archivos con extension lua, uno llamado balance y otro llamado war, y de ahi agregas lo siguiente:

Balance.lua:

Código:
local function isValidMoney(value)
if(value == nil) then
return false
end

return (value > 0 and value <= 99999999999999)
end

function onSay(cid, words, param, channel)
local guild = getPlayerGuildId(cid)
if(guild == 0) then
return false
end

local t = string.explode(param, ' ', 1)
if(getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER and isInArray({ 'pick' }, t[1])) then
if(t[1] == 'pick') then
local money = { tonumber(t[2]) }
if(not isValidMoney(money[1])) then
doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_W, 0)
return true
end

local result = db.getResult('SELECT `balance` FROM `guilds` WHERE `id` = ' .. guild)
if(result:getID() == -1) then
return false
end

money[2] = result:getDataLong('balance')
result:free()

if(money[1] > money[2]) then
doPlayerSendChannelMessage(cid, '', 'The balance is too low for such amount.', TALKTYPE_CHANNEL_W, 0)
return true
end

if(not db.executeQuery('UPDATE `guilds` SET `balance` = `balance` - ' .. money[1] .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;')) then
return false
end

doPlayerAddMoney(cid, money[1])
doPlayerSendChannelMessage(cid, '', 'You have just picked ' .. money[1] .. ' money from your guild balance.', TALKTYPE_CHANNEL_W, 0)
else
doPlayerSendChannelMessage(cid, '', 'Invalid sub-command.', TALKTYPE_CHANNEL_W, 0)
end
elseif(t[1] == 'donate') then
local money = tonumber(t[2])
if(not isValidMoney(money)) then
doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_W, 0)
return true
end

if(getPlayerMoney(cid) < money) then
doPlayerSendChannelMessage(cid, '', 'You don\'t have enough money.', TALKTYPE_CHANNEL_W, 0)
return true
end

if(not doPlayerRemoveMoney(cid, money)) then
return false
end

db.executeQuery('UPDATE `guilds` SET `balance` = `balance` + ' .. money .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;')
doPlayerSendChannelMessage(cid, '', 'You have transfered ' .. money .. ' money to your guild balance.', TALKTYPE_CHANNEL_W, 0)
else
local result = db.getResult('SELECT `name`, `balance` FROM `guilds` WHERE `id` = ' .. guild)
if(result:getID() == -1) then
return false
end

doPlayerSendChannelMessage(cid, '', 'Current balance of guild ' .. result:getDataString('name') .. ' is: ' .. result:getDataLong('balance') .. ' bronze coins.', TALKTYPE_CHANNEL_W, 0)
result:free()
end

return true
end

War.lua

Código:

function onSay(cid, words, param, channel)
local guild = getPlayerGuildId(cid)
if(not guild or getPlayerGuildLevel(cid) < GUILDLEVEL_LEADER) then
doPlayerSendChannelMessage(cid, "", "You cannot execute this talkaction.", TALKTYPE_CHANNEL_W, 0)
return true
end

local t = string.explode(param, ",")
if(not t[2]) then
doPlayerSendChannelMessage(cid, "", "Not enough param(s).", TALKTYPE_CHANNEL_W, 0)
return true
end

local enemy = getGuildId(t[2])
if(not enemy) then
doPlayerSendChannelMessage(cid, "", "Guild \"" .. t[2] .. "\" does not exists.", TALKTYPE_CHANNEL_W, 0)
return true
end

if(enemy == guild) then
doPlayerSendChannelMessage(cid, "", "You cannot perform war action on your own guild.", TALKTYPE_CHANNEL_W, 0)
return true
end

local enemyName, tmp = "", db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy)
if(tmp:getID() ~= -1) then
enemyName = tmp:getDataString("name")
tmp:free()
end

if(isInArray({"accept", "reject", "cancel"}, t[1])) then
local query = "`guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild
if(t[1] == "cancel") then
query = "`guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy
end

tmp = db.getResult("SELECT `id`, `begin`, `end`, `payment` FROM `guild_wars` WHERE " .. query .. " AND `status` = 0")
if(tmp:getID() == -1) then
doPlayerSendChannelMessage(cid, "", "Currently there's no pending invitation for a war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0)
return true
end

if(t[1] == "accept") then
local _tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild)
local state = _tmp:getID() < 0 or _tmp:getDataInt("balance") < tmp:getDataInt("payment")

_tmp:free()
if(state) then
doPlayerSendChannelMessage(cid, "", "Your guild balance is too low to accept this invitation.", TALKTYPE_CHANNEL_W, 0)
return true
end

db.executeQuery("UPDATE `guilds` SET `balance` = `balance` - " .. tmp:getDataInt("payment") .. " WHERE `id` = " .. guild)
end

query = "UPDATE `guild_wars` SET "
local msg = "accepted " .. enemyName .. " invitation to war."
if(t[1] == "reject") then
query = query .. "`end` = " .. os.time() .. ", `status` = 2"
msg = "rejected " .. enemyName .. " invitation to war."
elseif(t[1] == "cancel") then
query = query .. "`end` = " .. os.time() .. ", `status` = 3"
msg = "canceled invitation to a war with " .. enemyName .. "."
else
query = query .. "`begin` = " .. os.time() .. ", `end` = " .. (tmp:getDataInt("end") > 0 and (os.time() + ((tmp:getDataInt("begin") - tmp:getDataInt("end")) / 86400)) or 0) .. ", `status` = 1"
end

query = query .. " WHERE `id` = " .. tmp:getDataInt("id")
if(t[1] == "accept") then
doGuildAddEnemy(guild, enemy, tmp:getDataInt("id"), WAR_GUILD)
doGuildAddEnemy(enemy, guild, tmp:getDataInt("id"), WAR_ENEMY)
end

tmp:free()
db.executeQuery(query)
doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. msg, MESSAGE_EVENT_ADVANCE)
return true
end

if(t[1] == "invite") then
local str = ""
tmp = db.getResult("SELECT `guild_id`, `status` FROM `guild_wars` WHERE `guild_id` IN (" .. guild .. "," .. enemy .. ") AND `enemy_id` IN (" .. enemy .. "," .. guild .. ") AND `status` IN (0, 1)")
if(tmp:getID() ~= -1) then
if(tmp:getDataInt("status") == 0) then
if(tmp:getDataInt("guild_id") == guild) then
str = "You have already invited " .. enemyName .. " to war."
else
str = enemyName .. " have already invited you to war."
end
else
str = "You are already on a war with " .. enemyName .. "."
end

tmp:free()
end

if(str ~= "") then
doPlayerSendChannelMessage(cid, "", str, TALKTYPE_CHANNEL_W, 0)
return true
end

local frags = tonumber(t[3])
if(frags ~= nil) then
frags = math.max(10, math.min(1000, frags))
else
frags = 100
end

local payment = tonumber(t[4])
if(payment ~= nil) then
payment = math.max(100000, math.min(1000000000, payment))
tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild)

local state = tmp:getID() < 0 or tmp:getDataInt("balance") < payment
tmp:free()
if(state) then
doPlayerSendChannelMessage(cid, "", "Your guild balance is too low for such payment.", TALKTYPE_CHANNEL_W, 0)
return true
end

db.executeQuery("UPDATE `guilds` SET `balance` = `balance` - " .. payment .. " WHERE `id` = " .. guild)
else
payment = 0
end

local begining, ending = os.time(), tonumber(t[5])
if(ending ~= nil and ending ~= 0) then
ending = begining + (ending * 86400)
else
ending = 0
end

db.executeQuery("INSERT INTO `guild_wars` (`guild_id`, `enemy_id`, `begin`, `end`, `frags`, `payment`) VALUES (" .. guild .. ", " .. enemy .. ", " .. begining .. ", " .. ending .. ", " .. frags .. ", " .. payment .. ");")
doBroadcastMessage(getPlayerGuildName(cid) .. " has invited " .. enemyName .. " to war till " .. frags .. " frags.", MESSAGE_EVENT_ADVANCE)
return true
end

if(not isInArray({"end", "finish"}, t[1])) then
return false
end

local status = (t[1] == "end" and 1 or 4)
tmp = db.getResult("SELECT `id` FROM `guild_wars` WHERE `guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy .. " AND `status` = " .. status)
if(tmp:getID() ~= -1) then
local query = "UPDATE `guild_wars` SET `end` = " .. os.time() .. ", `status` = 5 WHERE `id` = " .. tmp:getDataInt("id")
tmp:free()
doGuildRemoveEnemy(guild, enemy)
doGuildRemoveEnemy(enemy, guild)

db.executeQuery(query)
doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. (status == 4 and "mend fences" or "ended up a war") .. " with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE)
return true
end

if(status == 4) then
doPlayerSendChannelMessage(cid, "", "Currently there's no pending war truce from " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0)
return true
end

tmp = db.getResult("SELECT `id`, `end` FROM `guild_wars` WHERE `guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild .. " AND `status` = 1")
if(tmp:getID() ~= -1) then
if(tmp:getDataInt("end") > 0) then
tmp:free()
doPlayerSendChannelMessage(cid, "", "You cannot request ending for war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0)
return true
end

local query = "UPDATE `guild_wars` SET `status` = 4, `end` = " .. os.time() .. " WHERE `id` = " .. tmp:getDataInt("id")
tmp:free()

db.executeQuery(query)
doBroadcastMessage(getPlayerGuildName(cid) .. " has signed an armstice declaration on a war with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE)
return true
end

doPlayerSendChannelMessage(cid, "", "Currently there's no active war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0)
return true
end

y en talkactions.xml agregas esto:

Código:

<talkaction words="/war" channel="0" event="script" value="war.lua" desc="(Guild channel command) War management."/>
<talkaction words="/balance" channel="0" event="script" value="balance.lua" desc="(Guild channel command) Balance management."/>

y ya solamente faltaria agregar la columna de war en la database, entras y ejecutas el sql, ahi dentro pones esto:

Código:

CREATE TABLE IF NOT EXISTS `guild_wars` (
`id` INT NOT NULL AUTO_INCREMENT,
`guild_id` INT NOT NULL,
`enemy_id` INT NOT NULL,
`begin` BIGINT NOT NULL DEFAULT '0',
`end` BIGINT NOT NULL DEFAULT '0',
`frags` INT UNSIGNED NOT NULL DEFAULT '0',
`payment` BIGINT UNSIGNED NOT NULL DEFAULT '0',
`guild_kills` INT UNSIGNED NOT NULL DEFAULT '0',
`enemy_kills` INT UNSIGNED NOT NULL DEFAULT '0',
`status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `status` (`status`),
KEY `guild_id` (`guild_id`),
KEY `enemy_id` (`enemy_id`)
) ENGINE=InnoDB;

ALTER TABLE `guild_wars`
ADD CONSTRAINT `guild_wars_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `guild_wars_ibfk_2` FOREIGN KEY (`enemy_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE;

ALTER TABLE `guilds` ADD `balance` BIGINT UNSIGNED NOT NULL AFTER `motd`;

CREATE TABLE IF NOT EXISTS `guild_kills` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`guild_id` INT NOT NULL,
`war_id` INT NOT NULL,
`death_id` INT NOT NULL
) ENGINE = InnoDB;

ALTER TABLE `guild_kills`
ADD CONSTRAINT `guild_kills_ibfk_1` FOREIGN KEY (`war_id`) REFERENCES `guild_wars` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `guild_kills_ibfk_2` FOREIGN KEY (`death_id`) REFERENCES `player_deaths` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `guild_kills_ibfk_3` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE;

ALTER TABLE `killers` ADD `war` INT NOT NULL DEFAULT 0;

Y encontre un php, del elf..
Código:
<?PHP
 // Made by master-m for customera, original script by noobelf 
 // Contact Znote on otland if you want support.
 // Script for Modern AAC. View describtion on vapus store for installation guide.
 // Guild logo displaying fixed by Kito

 
 echo " <script type=\"text/javascript\"><!--
function show_hide(flip)
{
    var tmp = document.getElementById(flip);
    if(tmp)
        tmp.style.display = tmp.style.display == 'none' ? '' : 'none';
}
--></script>";
 // Reject any unwanted access.
 if ( !defined( 'BASEPATH' ) ) exit( 'No direct script access allowed' );

 echo "
 <center>
 <h2>Guild Wars</h2>
 <p> To invite, say !war invite, guild name</center>
  <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\">
  <tr>
    <td><b>Aggressor</b></td>
    <td align=\"center\"><b>Information</b></td>
    <td><b><b>Enemy</b></b></td>
  </tr>";
   
$ots = POT::getInstance();
$ots->connect(POT::DB_MYSQL, connection());
$SQL = $ots->getDBHandle(); 
$count = 0;
foreach($SQL->query('SELECT * FROM `guild_wars` WHERE `status` IN (1,4) OR ((`end` >= (UNIX_TIMESTAMP() - 604800) OR `end` = 0) AND `status` IN (0,5));') as $war)
{
 $a = $ots->createObject('Guild');
 $a->load($war['guild_id']);
 if(!$a->isLoaded())
  continue;
 
 $e = $ots->createObject('Guild');
 $e->load($war['enemy_id']);
 if(!$e->isLoaded())
  continue;
 
 $alogoid = $a->getId();
  $alogo = 'default.gif';
 if(file_exists($_SERVER{'DOCUMENT_ROOT'} . '/public/guild_logos/'. $alogoid .'.gif'))
  $alogo = $alogoid .'.gif';
 
 $elogoid = $e->getId();
  $elogo = 'default.gif';
 if(file_exists($_SERVER{'DOCUMENT_ROOT'} . '/public/guild_logos/'. $elogoid .'.gif'))
  $elogo = $elogoid .'.gif'; 


 
 $count++;
 
 echo "<tr>
        <td align=\"center\">
        <a href=\"../../guilds/view/".$a->getId()."\">
        <img src=\"http://www.mtibia.cl/public/guild_logos/".$alogo."\" width=\"64\" height=\"64\" border=\"0\"/>
        <br />
        ".$a->getName()."
        </a>
        </td>
        <td class=\"white\" align=\"center\">";
 switch($war['status'])
 {
  case 0:
  {
  echo "<b>Pending acceptation</b><br />Invited on " . date("M d Y, H:i:s", $war['begin']) . " for " . ($war['end'] > 0 ? (($war['end'] - $war['begin']) / 86400) : "unspecified") . " days. The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment.")."<br />Will expire in three days.";
  break;
  }
 
  case 3:
  {
  echo "<s>Canceled invitation</s><br />Sent invite on " . date("M d Y, H:i:s", $war['begin']) . ", canceled on " . date("M d Y, H:i:s", $war['end']) . ".";
  break;
  }
 
  case 2:
  {
  echo "Rejected invitation<br />Invited on " . date("M d Y, H:i:s", $war['begin']) . ", rejected on " . date("M d Y, H:i:s", $war['end']) . ".";
  break;
  }
 
  case 1:
  {
  echo "<font size=\"10\" color=\"red\">" . $war['guild_kills'] . "</font> : <font size=\"10\" color=\"lime\">" . $war['enemy_kills'] . "</font>
        <br />
        <br />
        <span style=\"color: orange; font-weight: bold;\">On a brutal war</span>
        <br />Began on " . date("M d Y, H:i:s", $war['begin']) . ($war['end'] > 0 ? ", will end up at " . date("M d Y, H:i:s", $war['end']) : "") . ".<br />The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment.");
  break;
  }
 
  case 4:
  {
  echo "<font size=\"10\" color=\"red\">" . $war['guild_kills'] . "</font> : <font size=\"10\" color=\"lime\">" . $war['enemy_kills'] . "</font>
        <br />
        <br />
        <span style=\"color: orange;\">Pending end</span><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", signed armstice on " . date("M d Y, H:i:s", $war['end']) . ".<br />Will expire after reaching " . $war['frags'] . " frags. ".($war['payment'] > 0 ? "The payment is set to " . $war['payment'] . " bronze coins." : "There's no payment set.");
  break;
  }
 
  case 5:
  {
  echo "<i>Ended</i><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", ended on " . date("M d Y, H:i:s", $war['end']) . ". Frag statistics: <span style=\"color: red;\">" . $war['guild_kills'] . "</span> to <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span>.";
  break;
  }
 
  default:
  {
  echo "Unknown, please contact with gamemaster.";
  break;
  }
 }
 
 echo "<br /><br /><a onclick=\"show_hide('war-details:" . $war['id'] . "'); return false;\" style=\"cursor: pointer;\">» Details «</a></td>
<td align=\"center\"><a href=\"../../guilds/view/".$e->getId()."\"><img src=\"http://www.mtibia.cl/public/guild_logos/".$elogo."\" width=\"64\" height=\"64\" border=\"0\"/><br />".$e->getName()."</a></td>
</tr>
<tr id=\"war-details:" . $war['id'] . "\" style=\"display: none;\">
<td colspan=\"3\">";
 if(in_array($war['status'], array(1,4,5)))
 {
  $deaths = $SQL->query('SELECT `pd`.`id`, `pd`.`date`, `gk`.`guild_id` AS `enemy`, `p`.`name`, `pd`.`level`
FROM `guild_kills` gk
 LEFT JOIN `player_deaths` pd ON `gk`.`death_id` = `pd`.`id`
 LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id`
WHERE `gk`.`war_id` = ' . $war['id'] . ' AND `p`.`deleted` = 0
 ORDER BY `pd`.`date` DESC')->fetchAll();
  if(!empty($deaths))
  {
  foreach($deaths as $death)
  {
    $killers = $SQL->query('SELECT `p`.`name` AS `player_name`, `p`.`deleted` AS `player_exists`, `k`.`war` AS `is_war`
FROM `killers` k
 LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id`
 LEFT JOIN `players` p ON `p`.`id` = `pk`.`player_id`
WHERE `k`.`death_id` = ' . $death['id'] . '
 ORDER BY `k`.`final_hit` DESC, `k`.`id` ASC')->fetchAll();
    $count = count($killers); $i = 0;
 
    $others = false;
    echo date("j M Y, H:i", $death['date']) . " <span style=\"font-weight: bold; color: " . ($death['enemy'] == $war['guild_id'] ? "red" : "lime") . ";\">+</span>
<a ><b>".$death['name']."</b></a> ";
    foreach($killers as $killer)
    {
    $i++;
    if($killer['is_war'] != 0)
    {
      if($i == 1)
      echo "killed at level <b>".$death['level']."</b> by ";
      else if($i == $count && $others == false)
      echo " and by ";
      else
      echo ", ";
 
      if($killer['player_exists'] == 0)
      echo "<a >";
 
      echo $killer['player_name'];
      if($killer['player_exists'] == 0)
      echo "</a>";
    }
    else
      $others = true;
 
    if($i == $count)
    {
      if($others == true)
      echo " and few others";
 
      echo ".<br />";
    }
    }
  }
  }
  else
  echo "<center>There were no frags on this war so far.</center>";
 }
 else
  echo "<center>This war did not began yet.</center>";
 
 echo "</td>
</tr>";
}
 
if($count == 0)
 echo "<tr>
<td colspan=\"3\">Currently there are no active wars.</td>
</tr>";
 
 
?>

Subversion: [Tienes que estar registrado y conectado para ver este vínculo]

Creditos:
Elf
Volver arriba Ir abajo
 
Elf war system [Original]
Volver arriba 
Página 1 de 1.
 Temas similares
-
» Elf war system [Original]

Permisos de este foro:No puedes responder a temas en este foro.
The World of Open Tibia :: OT'S En General :: Scripts-
Cambiar a: