Ir para conteúdo

VictorWEBMaster

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    VictorWEBMaster recebeu reputação de BennyDz em [2015] Gesior 1.0 - VictorWEBMaster   
    Versão Nova! 
    http://www.deadpoolhost.esy.es/downloads/
  2. Gostei
    VictorWEBMaster deu reputação a Victor Fasano Raful em Gesior Plus 8.6 | 9.8   
    Where are my credits
    Oss..
  3. Gostei
    VictorWEBMaster deu reputação a Victor Fasano Raful em [2015] Gesior 1.0 - VictorWEBMaster   
    Salve TK!
     
    Após a morte subta de um ... bom vocês estão aparte do acontecido... Bom, resolvi disponibilizar minhas versões dos meus websites compatível com o mais novo e complexo TFS 1.0 (The Forgotten Server 10.20 ~10.3x).
     
    Bom, este website está em uma versão BETA, ou seja. Há erros, não há falhas de invasão e algo relacionado a intervenções in game ou no site. NÃO tem a possibilidade de clonar points, não garanto itens pois isto é um processo ingame... Não há possibilidade de fazer falsos pagamentos e ter pontos sendo creditados.

    Bom, esta versão estava sendo disponibilizada por minha pessoa por um preço de R$200, resolvi postar pois estou sem mais cabeça de ficar fazendo negociações com iniciantes. Então resolvi postar aqui e deixar com que vocês quebrem as suas próprias cabeças.

    Com certeza esta não é minha melhor versão do site, pois tenho que lucrar algo com isto né..

    Bom, apreciem com moderação!

    Website foi testado com uma base desconhecida do TFS 1.0 na versão 10.37. Obteve funcionabilidade de 97% de sucesso.
    Download Website VictorWEBMaster 1.0 Scan Website VictorWEBMaster 1.0  
    >> Quais quer que sejam os bugs, por favor reportem no tópico ou eventualmente na sessão correta de dúvidas de websites. <<
  4. Gostei
    VictorWEBMaster deu reputação a antwoone em [Gesior Acc] Deathknight Template   
    Only Premium 4shared ;/
  5. Gostei
    VictorWEBMaster deu reputação a Enzo Caue em [Gesior Acc] Deathknight Template   
    Scan porfavor !
  6. Gostei
    VictorWEBMaster deu reputação a Sociopata em [Gesior Acc] Deathknight Template   
    Postado no 4shared para ficar masi facil

    http://www.4shared.c...eathknight.html


    https://www.virustot...f7c31/analysis/
  7. Gostei
    VictorWEBMaster deu reputação a Hayashii em (resolvido) War System Para Ot 9.10.   
    1°Voce tem que usar Gesior
    2°Tem que ser TFS 0.4.0 DEV (http://www.2shared.com/file/yPT8wHCv/Tfs_04.html)
    3°Se der erro,items.xml e items.otb,baixe : (http://www.2shared.com/file/d_byAAtM/items_codec_tfs_04.html)

    SITE:

    Vá em Xampp/Htdocs e crie e um arquivo chamado wars.php,dentro add isto:

    <?php
    $main_content = "<h1 align=\"center\">Guild Wars</h1>
    <script type=\"text/javascript\"><!--
    function show_hide(flip)
    {
    var tmp = document.getElementById(flip);
    if(tmp)
    tmp.style.display = tmp.style.display == 'none' ? '' : 'none';
    }
    --></script>

    <a onclick=\"show_hide('information'); return false;\" style=\"cursor: pointer;\"><h1><center>&raquo; Click to se the commands &laquo;<center></h1></a>
    <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\" id=\"information\" style=\"display: none;\";>
    <tr align=\"center\"><b>You must send this commands in GUILD CHAT.</tr>
    <tr style=\"background: #512e0b;\"><td align=\"center\" class=\"white\"><b>Command</b></td><td colspan=\"2\" align=\"center\" class=\"white\"><b>Description</b></td></tr>
    <tr style=\"background: #F1E0C6;\"><td><b>/war invite, guild name, fraglimit</b></td><td>Sends an invitation to start the war. Example: <font color=red><BR>/war invite, Chickens, 150<BR></font><B>(Invite a guild to war with 150 frags count.)</B></td></tr>
    <tr style=\"background: #D4C0A1;\"><td><b>/war invite, guild name, fraglimit, money</b></td><td>Send the invitation to start the war. Example: <font color=red><BR>/war invite, Chickens, 150, 10000</font><br><B> (Invite a guild to war with 150 frags count and payment of 10000 gold coins <- you need donate to guild to use it.)<B></td></tr>
    <tr style=\"background: #F1E0C6;\"><td><b>/war accept, guild name</b></td><td>Accepts the invitation to start a war. Example: <font color=red><BR>/war accept, Chickens</font><BR><B>(Accept the war against guild \"Chickens\".)</b></td></tr>

    <tr style=\"background: #D4C0A1;\"><td><b>/war reject, guild name</b></td><td>Rejects the invitation to start a war. Example: <font color=red><BR>/war reject, Chickens</font><BR><B>(Reject a invitation to war from Chickens.)</B></td></tr>
    <tr style=\"background: #F1E0C6;\"><td><b>/war cancel, guild name</b></td><td>Cancels the invitation. Example: <font color=red><BR>/war cancel, Chickens</font><br><b>(Cancel my guild invitation to war with Chickens.)</b></td></tr>
    <tr style=\"background: #D4C0A1;\"><td><b>/balance</b></td><td>See the guild balance - balance of money.</td></tr>
    <tr style=\"background: #F1E0C6;\"><td><b>/balance donate value</b></td><td>Deposits money on the guild's bank account. All players can donate. Example: <font color=red><BR>/balance donate 100000 </font><BR><B>(You will donate 100k to your guild balance.)</B></td></tr>
    <tr style=\"background: #D4C0A1;\"><td><b>/balance pick value</b></td><td>Withdraws money from the guild's bank account. Can be used only by the guild leader. Example: <font color=red><BR>/balance pick 100000 </font><BR><B>(You will withdraw 100k from your guild balance.)</B></td></tr>
    </table>

    <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\">
    <tr>
    <td style=\"background: #512e0b\" class=\"white\" width=\"150\"><b>Aggressor</b></td>

    <td style=\"background: #512e0b\" class=\"white\"><b>Information</b></td>
    <td style=\"background: #512e0b\" class=\"white\" width=\"150\"><b>Enemy</b></td>
    </tr><tr style=\"background: #F1E0C6;\">";

    $count = 0;
    foreach($SQL->query('SELECT * FROM `guild_wars` WHERE `status` IN (1,4) OR ((`end` >= (UNIX_TIMESTAMP() - 604800) OR `end` = 0) AND `status` IN (0,5));') as $war)
    {
    $a = $ots->createObject('Guild');
    $a->load($war['guild_id']);
    if(!$a->isLoaded())
    continue;

    $e = $ots->createObject('Guild');
    $e->load($war['enemy_id']);
    if(!$e->isLoaded())
    continue;

    $alogo = $a->getCustomField('logo_gfx_name');
    if(empty($alogo) || !file_exists('guilds/' . $alogo))
    $alogo = 'default_logo.gif';

    $elogo = $e->getCustomField('logo_gfx_name');
    if(empty($elogo) || !file_exists('guilds/' . $elogo))
    $elogo = 'default_logo.gif';

    $count++;
    $main_content .= "<tr style=\"background: " . (is_int($count / 2) ? $config['site']['darkborder'] : $config['site']['lightborder']) . ";\">
    <td align=\"center\"><a href=\"?subtopic=guilds&action=show&guild=".$a->getId()."\"><img src=\"guilds/".$alogo."\" width=\"64\" height=\"64\" border=\"0\"/><br />".$a->getName()."</a></td>
    <td align=\"center\">";
    switch($war['status'])
    {
    case 0:
    {
    $main_content .= "<b>Pending acceptation</b><br />Invited on " . date("M d Y, H:i:s", $war['begin']) . " for " . ($war['end'] > 0 ? (($war['end'] - $war['begin']) / 86400) : "unspecified") . " days. The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment.")."<br />Will expire in three days.";
    break;
    }

    case 3:
    {
    $main_content .= "<s>Canceled invitation</s><br />Sent invite on " . date("M d Y, H:i:s", $war['begin']) . ", canceled on " . date("M d Y, H:i:s", $war['end']) . ".";
    break;
    }

    case 2:
    {
    $main_content .= "Rejected invitation<br />Invited on " . date("M d Y, H:i:s", $war['begin']) . ", rejected on " . date("M d Y, H:i:s", $war['end']) . ".";
    break;
    }

    case 1:
    {
    $main_content .= "<font size=\"6\"><span style=\"color: red;\">" . $war['guild_kills'] . "</span> : <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span></font><br /><br /><span style=\"color: darkred; font-weight: bold;\">On a brutal war</span><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ($war['end'] > 0 ? ", will end up at " . date("M d Y, H:i:s", $war['end']) : "") . ".<br />The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment.");
    break;
    }

    case 4:
    {
    $main_content .= "<font size=\"6\"><span style=\"color: red;\">" . $war['guild_kills'] . "</span> : <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span></font><br /><br /><span style=\"color: darkred;\">Pending end</span><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", signed armstice on " . date("M d Y, H:i:s", $war['end']) . ".<br />Will expire after reaching " . $war['frags'] . " frags. ".($war['payment'] > 0 ? "The payment is set to " . $war['payment'] . " bronze coins." : "There's no payment set.");
    break;
    }

    case 5:
    {
    $main_content .= "<i>Ended</i><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", ended on " . date("M d Y, H:i:s", $war['end']) . ". Frag statistics: <span style=\"color: red;\">" . $war['guild_kills'] . "</span> to <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span>.";
    break;
    }

    default:
    {
    $main_content .= "Unknown, please contact with gamemaster.";
    break;
    }
    }

    $main_content .= "<br /><br /><a onclick=\"show_hide('war-details:" . $war['id'] . "'); return false;\" style=\"cursor: pointer;\">&raquo; Details &laquo;</a></td>
    <td align=\"center\"><a href=\"?subtopic=guilds&action=show&guild=".$e->getId()."\"><img src=\"guilds/".$elogo."\" width=\"64\" height=\"64\" border=\"0\"/><br />".$e->getName()."</a></td>
    </tr>
    <tr id=\"war-details:" . $war['id'] . "\" style=\"display: none; background: " . (is_int($count / 2) ? $config['site']['darkborder'] : $config['site']['lightborder']) . ";\">
    <td colspan=\"3\">";
    if(in_array($war['status'], array(1,4,5)))
    {
    $deaths = $SQL->query('SELECT `pd`.`id`, `pd`.`date`, `gk`.`guild_id` AS `enemy`, `p`.`name`, `pd`.`level`
    FROM `guild_kills` gk
    LEFT JOIN `player_deaths` pd ON `gk`.`death_id` = `pd`.`id`
    LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id`
    WHERE `gk`.`war_id` = ' . $war['id'] . ' AND `p`.`deleted` = 0
    ORDER BY `pd`.`date` DESC')->fetchAll();
    if(!empty($deaths))
    {
    foreach($deaths as $death)
    {
    $killers = $SQL->query('SELECT `p`.`name` AS `player_name`, `p`.`deleted` AS `player_exists`, `k`.`war` AS `is_war`
    FROM `killers` k
    LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id`
    LEFT JOIN `players` p ON `p`.`id` = `pk`.`player_id`
    WHERE `k`.`death_id` = ' . $death['id'] . '
    ORDER BY `k`.`final_hit` DESC, `k`.`id` ASC')->fetchAll();
    $count = count($killers); $i = 0;

    $others = false;
    $main_content .= date("j M Y, H:i", $death['date']) . " <span style=\"font-weight: bold; color: " . ($death['enemy'] == $war['guild_id'] ? "red" : "lime") . ";\">+</span>
    <a href=\"index.php?subtopic=characters&name=" . urlencode($death['name']) . "\"><b>".$death['name']."</b></a> ";
    foreach($killers as $killer)
    {
    $i++;
    if($killer['is_war'] != 0)
    {
    if($i == 1)
    $main_content .= "killed at level <b>".$death['level']."</b> by ";
    else if($i == $count && $others == false)
    $main_content .= " and by ";
    else
    $main_content .= ", ";

    if($killer['player_exists'] == 0)
    $main_content .= "<a href=\"index.php?subtopic=characters&name=".urlencode($killer['player_name'])."\">";

    $main_content .= $killer['player_name'];
    if($killer['player_exists'] == 0)
    $main_content .= "</a>";
    }
    else
    $others = true;

    if($i == $count)
    {
    if($others == true)
    $main_content .= " and few others";

    $main_content .= ".<br />";
    }
    }
    }
    }
    else
    $main_content .= "<center>There were no frags on this war so far.</center>";
    }
    else
    $main_content .= "<center>This war did not began yet.</center>";

    $main_content .= "</td>
    </tr>";
    }

    if($count == 0)
    $main_content .= "<tr style=\"background: ".$config['site']['darkborder'].";\">
    <td colspan=\"3\">Currently there are no active wars.</td>
    </tr>";

    $main_content .= "</table>";
    $main_content .= '<div align="right"><small><b>Customized by: <a href="http://www.tibiaking.com/forum/user/240289-walef-xavier">Walef Xavier</a></b></small></div><br />';

    ?>

    Agora vá em Xampp/Htdocs/index.php e add o seguinte:


    case "wars";
    $subtopic = "wars";
    $topic = "Guild Wars";
    include("wars.php");
    break;

    Agora para finalizar a parte do site vá em Xampp/Htdocs/Layout/Tibiacom/layout.php e add o seguinte:


    <a href='?subtopic=wars'>
    <div id='submenu_wars' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'>
    <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>
    <div id='ActiveSubmenuItemIcon_polls' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div>
    <div class='SubmenuitemLabel'><font color=red>Guild Wars</font></div>
    <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>
    </div>
    </a>

    Agora vamos para seu Ot:

    Va em GlobalEvents/scripts/start.lua e add o seguinte:


    db.executeQuery("DELETE FROM `guild_wars` WHERE `status` = 0 AND `begin` < " .. (os.time() - 2 * 86400) .. ";")
    db.executeQuery("UPDATE `guild_wars` SET `status` = 5, `end` = " .. os.time() .. " WHERE `status` = 1 AND `end` > 0 AND `end` < " .. os.time() .. ";")

    Agora vá em Lib e crie um arquivo .lua chamado 101-war,dentro add o seguinte:


    WAR_GUILD = 0
    WAR_ENEMY = 1

    Agora para finalizar vamos colocar os comandos em Talkactions !

    Vá em Talkactions/scripts e crie dois arquivos chamados war.lua e balance.lua,dentro add o seguinte:

    War.lua

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    tmp:free()
    end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    balance.lua

    local function isValidMoney(value)
    if(value == nil) then
    return false
    end

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

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

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

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

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

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

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

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

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

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

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

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

    return true
    end

    Agora vá em Talkactions/talkactions.xml e add as duas tags:


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

    Pronto,seu Guild War Systema está instalado...mas para funcionar necessitará das tabelas na sua database e do Tfs 0.4 .Vou posta-los abaixo,respectivamente.

    .:: Tabelas ::.

    Para quem ainda não sabe add tabelas a sua database,vou ensinar:

    Acesse seu phpmyadmin,digite sua senha (caso tenha),clique no nome da sua database a esquerda,assim que carregar a sua database clique em SQL lá em cima...Aparecerá um espaço em branco lá voce irá add as seguintes tabelas...e depois clicar em Executar.


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

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

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

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

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


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


    CRÉDITOS : WALEF XAVIER,DE OUTRO FORUM,NADA POSTADO AQUI FOI EU QUE FIZ.

Informação Importante

Confirmação de Termo