Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Vmspk

    Azeroth Server Updated

    Azeroth Server Updated 14/07/2011: v1.0 Outras Versões: v1.1 [8.60]: http://www.xtibia.co...oth-rpg-reborn/ v2.0 [9.60]: http://www.xtibia.com/forum/topic/205054-960-azeroth-rpg/ Versão: 8.70 Distro: Crystal Server Mapa Base: Yourots Edited e Mix Yourots Features: > 7 Cidades: Azeroth Avalon Zatur Liberty Bay Gloria Sand Trap Tiquanda > Montarias por quest(NPC Mount Master, cavernas ao norte de Azeroth). > NPCs de Travel/Boat diferentes para cada cidade. > Corrigidos Vários Bugs do mapa. > Templo Reformado > Retirados Vários Itens custom e suas quests do antigo Riot Server. > Adicionada Dragon Dungeon. > Adicionado Vulcão de Goroma. > Adicionada Quest Especial em Gloria (NPC Gloria Scientist). > Adicionada Ferumbras Tower. > Várias Hunts adicionadas. > Adicionada Formorgar Mines. > Sistema de Refinamento e Slot. > 6 Novas Mounts. > Principais Quests: Annihilator Pits of Inferno The Inquisition FireWalker Boots Demon Helmet Draken Hell Conquer > 23 Raids Automáticas e configuradas: > Sistema de Guerras pelo Castelo [Honor Castle, a oeste de Azeroth] Evento automático. Quando a guerra é anunciada as guilds podem batalhar pelo controle do castelo, dando use no monumento do último andar e permanecendo assim até a guerra acabar. O último jogador a ter o controle do castelo antes do tempo acabar será o vencedor, e sua guild se tornará dona do castelo. Todos os membros da Guild ganharão uma recompensa e poderão acessar o mapa do subsolo. Os membros de outras Guilds serão teleportados para o templo e não poderão acessar o castelo. O sistema envia mensagens a todos antes de o evento começar, quando começar, quando o dono do castelo muda, antes de se finalizar e ao finalizar, relatando o conquistador do castelo e a guild vencedora. Imagens: Raids Castle Upgrade & Slot System Não há teleports diretos para hunts ou quests. Não há items ou monstros editados(além dos trainers). Não há sistema VIP(premium account valorizada). Não há raids com monstros excessivamente fortes nas cidades iniciais. Acc God: 2/password Créditos:Unknow YourOts Edited, Mix Yourots Team, Crystal Server Team, Tryller, Mock, TFS Team e um pouquinho (bem pouquinho) pra mim xD. Source - IP Changer 8.70 - Utilitários(opcional) - Map Editor *Utilitários inclui: Lista com códigos de todos os looktypes, SQLite Studio 1.1.1, códigos das cores dos outfits e o OTRestarter. Download Azeroth Server V 1.0 - Completo [MEDIAFIRE] Comandos: !war para executar a guerra pelo castelo manualmente, !reset para interromper o funcionamento da war e !castle para limpar todos os dados, ou seja, o castelo volta a ser terra de ninguém. V 0.2 V 0.3 V 0.4 V 1.0 Último pedido meu: encham o saco dos adms pra colocarem o tópico do tryller como fixo. É o melhor distro 8.70 que nós temos aqui, talvez ele salve os ots 8.70 daqui pra frente Contato: vmspk@hotmail.com Edit - Coloquei os Scans Edit2 - Adicionado comando Edit3 - Atualização Edit4 - Atualização http://img208.images...claymorepsf.jpg
    2 pontos
  2. Vou postar o tão famoso Guild War System Com Escudos. Vou começar pelo 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>» Click to se the commands «<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;\">» Details «</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.xtibia.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; Pronto o Guild Wars System está totalmente instalado...falta apenas o Tfs 0.4 ! O meu The Forggoten Server 0.4 também comprei do mesmo cara que me vendeu o GWS,tenho um também que comprei na ChaitoSoft,mais conversei com eles por Msn e não permitirão que eu postasse pra ninguem,rsrs. Então vou postar o link do download e o scan: TFS 0.4 DEV Scan Ai está a DEV.... Também será necessario usar o items.xml e items.otb , a não ser que o que vc tenha seja compativel com o distro. Item.xml e otb Scan Obs: Este distro não carrega scripts que tenha a função "dbExecute.query",sempre que tiver mude para "db.query" .Todo o script ja está configurado para funcionar assim,não se preucupe. Só isso,obrigado a todos...que Deus Abençoe voces sempre !
    1 ponto
  3. Zutun

    C4D Pack1 By ~Drnkh

    Achei os pack desse cara muito bons, então to postando aqui Download Créditos Totais:drnKH
    1 ponto
  4. Pedro Menezes

    Tutorial De Fakes [Firework]

    Olá comunidade XTibiana, vou postar mais um Tutorial de Fakes! Sim! Mais um, mas este aqui tem algumas técnicas diferentes dos antigos rs. porém aconcelho também a ver mais tutoriais! Ok, ok, sem lero-lero,vamos ao tutorial! *faça seu mapa no OTmapEditor, quando fizer tire print! Então Abra o Fireworks, e faça um arquivo menor que o tamanho da print para poder alinhar a fake. Por exemplo esse mapa que eu fiz tem 602x506, faça um arquivo com 550x450. Aperte ok. Pronto, cole o mapa no firework Perceberam que a imagem está maior que o tamanho permitido? Então está certo. Agora vamos alinhar o cenário, vá em View>Grid>Show Grid Você vai ver que apareceu uns quadrados na tela... Depois vá em View>Grid>Edit Grid Edite o “grid” da seguinte maneira: 32x32 pixels Color: uma cor forte detalhe a cor que escolhi, uma cor forte, este verde é uma boa escolha Depois de feito isso vamos alinhar. Escolha alguma parte do mapa e coloque dentro do quadrado verde do grid. Como na imagem! Usei como ponto fixo a junção das duas paredes. Nossa fake agora está perfeitamente alinhada Vamos agora colocar o Personagem! Escolha a Outfit que deseje, copie e cole no Fireworks. ps: se aparecer uma pergunta, aperte “do not resample” É simples demais, selecione a ferramenta “Magic Wand tool” (atalho no Teclado “w”) E selecione os pixels que deseja deletar. No caso da minha outfit são os pixels cinzas. Clique neles e vá em Select>>Select Similar e aperte delete. Para tirar esses pixels do contorno da outfit, aperte ctrl+d. Agora vamos alinhar o personagem. Para alinhar o personagem, você coloca ele dentro de um dos quadrados da grid, coloque ele colado na parte esquerda e na parte inferior. Depois mova 8 pixels para a direita e 8 para cima. Ok, char alinhado, pegue a life bar e coloque a dois pixels da cabeça. (para tirar o fundo “cinza” é do mesmo jeito da outfit ok?) A Life bar fica a dois pixels da cabeça. ;D Vamos fazer as falas, abra o fakerlab Desk (download aqui) e digite o que quiser. E aperte copiar Vá no fireworks e cole, e tire os pixels brancos, do mesmo jeito que foi removido o da life bar e o da outfit. Para alinhar a fala, ele tem que ficar entre a barra de vida e o Nick: Pronto, sua fake está pronta. agora é só exportar (ctrl + shift + c). e aqui o resultado final: ps: ingorem o fato de só ter o Tymaoes na fake, fiquei com preguiça de colocar mais persongens rs. bom, espero que tenham realmente gostado do tutorial, dia 11 devo editar ele para arrumar algumas coisas (ou geral rs) Se gostarem rep+ e indiquem também! TUTORIAL FEITO ÚNICO E EXCLUSIVAMENTE PARA O XTIBIA.COM, CÓPIAS SÃO PROIBIDAS! créditos: Pedro
    1 ponto
  5. Script testado em TFS 0.3.6 Crying Dansom Créditos: 100% Draky Lucas[eu] Qualquer erro me avise que arrumarei. Provavelmente funcionará em qualquer versão acima de 8.54, ja abaixo eu nao confirmo mais não custa testar Como funciona? o ADM digita !war open para ativar a war, e !war close na hora de terminar a war. A Ultima guild que puxar a alavanca antes de terminar a war é considerada a vencedora do evento. Vamos começar: Atualizado: corrigido erro pelo Demonbholder [dava só em alguns pois eram desatualizados] em data/lib/050-functions.lua ache a função isInArea, deletem-la e substituam-la por essa: function isInArea(arr, arr1, arr2) if (arr.x <= arr1.x and arr.x >= arr2.x) or (arr.x >= arr1.x and arr.x <= arr2.x) then if (arr.y <= arr1.y and arr.y >= arr2.y) or (arr.y >= arr1.y and arr.y <= arr2.y) then if (arr.z <= arr1.z and arr.z >= arr2.z) or (arr.z >= arr1.z and arr.z <= arr2.z) then return TRUE end end end return FALSE end em Data/actions/scripts/ crie um arquivo chamado castlewar-action.lua e nele coloque isto local storage = 1755 local emGuerra = 1756 function onUse(cid, item, frompos, item2, topos) if getPlayerGuildId(cid) == nil or getPlayerGuildId(cid) <= 0 or getPlayerGuildId(cid) == false then return doPlayerSendCancel(cid,"Voce precisa de uma guild para dominar o castelo!") end if getGlobalStorageValue(emGuerra) <= 0 then return doPlayerSendCancel(cid,"O Castelo nao está em guerra!") end if getPlayerGuildId(cid) == getGlobalStorageValue(storage) then return doPlayerSendCancel(cid,"Sua guild ja está dominando o castelo!") end setGlobalStorageValue(storage,getPlayerGuildId(cid)) doBroadcastMessage("A Guild ".. getPlayerGuildName(cid) .." dominou o castelo!",22) return true end Não mude nada a não ser que não saiba o que esteja fazendo! em Data/actions/actions.xml coloque isso: <action actionid="1755" script="castlewar-action.lua" /> em data/movements/scripts/ crie um arquivo chamado castlewar-movements.lua e coloque isso: local storage = 1755 local emGuerra = 1756 function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getGlobalStorageValue(storage) == getPlayerGuildId(cid) then return true end if getGlobalStorageValue(emGuerra) == 1 then return true else doTeleportThing(cid,fromPosition,false) return doPlayerSendCancel(cid,"Por favor espere a batalha começar!") end return true end em data/movements/movements.xml coloque isso: <movevent type="StepIn" actionid="1756" event="script" value="castlewar-movements.lua"/> em data/talkactions/scripts/ crie um arquivo chamado castlewar-talk.lua e coloque isso: local storage = 1755 local emGuerra = 1756 local firstpos = {x = 582,y = 1290,z = 7} local secondpos = {x = 802,y = 1490,z = 0} function onSay(cid, words, param) if param == "open" then setGlobalStorageValue(emGuerra,1) doBroadcastMessage("A Guerra pelo castelo começou!",22) return true elseif param == "close" then for _, pid in ipairs(getPlayersOnline()) do if isInArea(getCreaturePosition(pid),firstpos,secondpos)then if getGlobalStorageValue(storage) ~= getPlayerGuildId(pid) then doTeleportThing(pid,getTownTemplePosition(getPlayerTown(pid))) doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE,"Desculpe mas sua guild não venceu essa guerra!") else doPlayerSendTextMessage(pid,MESSAGE_STATUS_CONSOLE_BLUE,"Sua guild conseguio dominar o castelo. Parabens por ajuda-la!") end end end setGlobalStorageValue(emGuerra,0) doBroadcastMessage("A Guerra pelo castelo terminou!",22) else return doPlayerSendCancel(cid,"Digite !war open[inicia a guerra] ou !war close[terminaa guerra]") end return true end local firstpos = {x = 582,y = 1290,z = 7} local secondpos = {x = 802,y = 1490,z = 0} ./\ edite essa parte com forme no tutorial das SS's e em data/talkactions/talkactions.xml adicione isso: <talkaction log="yes" words="!war" access="5" event="script" value="castlewar-talk.lua"/> Tutorial: MAPA Preencha todo o castelo com PVP TileZone, exceto a parte de caça para a guild dominante [que deverá ficar no subsolo do castelo] Depois siga o mapinha [nao zoapq fiz em 2 min pa demonstrar kpoekopkepo...] SS1: Castelo inteiro [nao zoa plz kkk] Resto de instalações: Podem postar em outros fórums, desde que fale que o criador fui eu [Draky Lucas] e que foi retirado do XTIBIA! EDITED: Agora esta como o Demonbholder deu a ideia [teleporta só quem nao vencer]
    1 ponto
  6. brenomadlan

    Criando Próprio Client Para Seu Ot

    Gente eu sou novo aki e naum sei muitas coisas , como vcs podem perceber naum sei nem botar assinatura. Então se eu postei em lugar errado plz movam ok ? Entaum vamus ao q interessa eu vi issu num forum e decidi postar aki como meu primeiru post: Primeiramente Baixe o Pack_Client_Proprio_By_Guixzinho. Que estará para download no Final do Topico senha \/. Baixe extraia e Coloque a senha para extrair. www.webcheats.com.br/Guixzinho Agora vamos começar. Tutorial Criando seu Cliente Proprio ( By Guixzinho ) ( Cliente Creator ) 1°: Abra a Pasta Pacotão Cliente Proprio. 2°: extraia normalmente Cliente Creator. 3°: Abra a Pasta extraida. 4°: Dentro da Pasta Cliente Creator, Abra cleinte creator 5°: Onde Tiver Diretório é o local da pasta tibia que você tem que achar ( coloque para achar o tibia.exe ). 6°: Onde estiver seu ip, tah na cara que eh pra colocar o ip do seu ot ( maximo 19 digitos ). 7°: Depois que preencher tudo clike em alterar. 8°: Se estiver tudo certo você jah tem seu cliente Proprio. ( Pic Editor ) Jah tem o cliente agora falta trocar a imagem de fundo neh ? 1°: Isso é facil Abra o Pic editor dentro da pasta Pacotão Cliente Proprio. 2°: Agora clike em browse... e procure a pasta do seu serv ( Cliente nao Pasta do ot) ai lah tem um arvi xamado tibia.pic abra ele. ( com o browse do Pic Editor. ) 3°: Depois disso Clike me Extract. 4°: Apareceu um Monte de imagem em Bitmap (o.bmp,1.bmp,2.bmp,2.bmp,4.bmp,5.bmp,6.bmp e 7.bmp ) neh ? 5°: a Zero é a imagem que você vai mudar procure na net ou em fabrica V.I.P para quem é vip e peça para um desiner fazer uma imagem muito loka pra vc. 6°: nao tem um Imagens_Pic_Ventura extraia ele na pasta que está os 1.bmp,2.bmp,2.bmp,4.bmp,5.bmp,6.bmp e 7.bmp, e de sim para todos. 7°: Mudou a imagem zero e colocou Imagens_Pic_Ventura. Intaum abra novamente o Pic editor e clike em extract. 8°: agora vai aparecer um tibia.pic é soh vc jogar dentro da pasta do tibia do seu server. 9°: antes de jogar faça um backup do seu tibia.pic pois se nao gostar ou der erradi vc nao vai fika de cabeça quente. ( ResHack ) Você tem o Cliente Proprio, Tem a Imagem mudada agora só falta mudar o icone neh ? 1°: Abra o ResHack na Pasta Pacotão Cliente Proprio. 2°: clike em accept. 3°: Ctrl+O e procure o tibia.exe na pasta do tibia ( o tibia.exe do seu serv ). 4°: Abra Icon Group. 5°: abra o 128 e clike no 1033. 6°: vai em Action no menu superior 7°: Procure Replace Icon.. 8°: Clike em Open File with new icon.. ( Procure o icone e clike em replace ) 9°: fexe e salve. ( HexEditor ) Esse Programa nao vou explicar pois é pra quem tem um conhecimento mais avançado com esse programa voce pode traduzir seu cliente. ( SprEditor ) Não vou explicar tambem pois é muito xato e eu ai escrever,escrever e ninguem ia entender nada. Procure no google ou em outros foruns relacionados apenas a otserver exemplo> Xtibia,Ot Server NetWorks, tibia fans ou outros. Lah tem Sprite master e vai te explicar tão detalhadamente que você vai apreeder em um pulo. ( Nsis-2.40-setup ) Esse Programa e peguei no baixaki para criar meu Intalador e um programa leve e Bom. Para criar intalador zipe a pasta do seu cliente. abra o nsis e crie. Tahh ai Negada um Cliente Completo. xDDDD Link do Download: 4shared Pack_Client_Proprio_By_Guixzinho.rar Scan: Virus Total MD5: ae624ea976a903c58216859a29ca4d60 <Encrypted Archive> Senha do Pack_Client_Proprio_By_Guixzinho: www.webcheats.com.br/Guixzinho Creditos: 80% Guixzinho 20 % eu por ter postado xD
    1 ponto
  7. betinhowz666

    [8.54] Mapa Pokemon Betinhowz666

    Hello Como prometido irei disponibilizar agora o download do mapa pokemon que estive trabalhando. Coloquei as houses mais não o respaw. Apresentações ? Vamos lá para uma prévia das cidades. As hunt's vocês terão que baixar para conferir CITY 1 CITY 2 CITY 3 CITY 4 Me ajudem a atingir 200 REP +, Que farei este mapa ficar muito melhor do que está. Antes era 150 REP+, Mas por conta de alguns moderadores me tirarem REP + dizendo que eu tinha feito outra conta para me dar REP + agora será 200. Segue o download do mapa e o que precisa para que você abra-o MAPA BETINHOWZ666 SPR POR PIRADECO Créditos: PeeWee - por fazer parte do mapa Piradeco - pelas .spr e .dat betinhowz666 - por estar editando. (EU)
    1 ponto
  8. 2694943kkkk

    Aula 1 [Amador] ("ruas" De Cidade)

    Olá galérinha Xtibiana, Hoje eu começo o mais novo projeto de aula, mais detalhado, ultrapassando o chamado de "Simples", tudo no mapping é simples, mas dependendo também dos detalhes né ? Essas aulas são o nível 2 (Amador). Terá mais 8 aulas no Amador, em seguida já será outro nível. Então vamos ao vídeo do mapa que eu fiz mostrando pra vocês uma forma de fazer "rua" em sua cidade. Esse mapa que eu fiz foi a partir do meu ultimo tutorial. Vídeo : http://www.youtube.com/watch?v=Wm9vJDIZgWU Imagem aos interessados: Dicas: 1ª: Gente, na hora de fazer uma rua como essa pense bem qual ground tu vai usar, se for aquele do tipo Carlin, sugiro que não use uma borda que nem que eu usei, pois a mistura de cores não vão ser legais, entende ... talves até seria bom você procurar outra combinação. 2ª : (A mais óbvia) Sempre faça casas do mesmo tipo que a outra, exemplo : Parede de Madeira com Parede de Madeira, e nunca assim : Parede de Madeira com Parede de Pedra (A não ser que seja uma Guild House) Para os coordenadores e administradores do Xtibia: Gostaria de saber, se for possível, eu abrir um concurso? Que eu criarei, eu entregarei as sings e tals ... criarei meu próprio tema. Respondão aqui no tópico mesmo, ou me mande um x-mail. Muito obrigado gente, até a Aula 2. Gostou ? Rep++
    1 ponto
  9. LukasScott

    Portal Para Virar Morador 8.70

    Va em Seu Ot/data/moventes/scripts/ crie um aquivo.lua chamado citizen e dentro dele coloque issu function onStepIn(cid, item, position, fromPosition) if(item.actionid > 30020 and item.actionid < 30100) then local townId = (item.actionid - 30020) doPlayerSetTown(cid, townId) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You are the newest resident of " .. getTownName(townId) .. ".") end return true end Feche e salve Agora va em Seu Ot/data/movements/ e abra movementes.xml e adicione essa tag <movevent type="StepIn" itemid="1387" value="citizen.lua"/> Feche e Salve Agora algumas regras que voce deve seguir para adicionar os portais: Quando voce adicionar o portal no map editor coloque a Unique Id e Action Id 30021 caso voce vá colocar mais de 1 portal va usando sucissivamente os Unique Id e Action Id 30022, 30023, 30024,... Outra coisa importante é que no map editor tambem se configura o local das citys. Na hora de colocar a coordenada no portal tem que se colocar exatamente a coordenada da city como mencionei aqui, caso não configure com a coordenada serta não ira funcionar. Creditos: gabisaoo LukasScott
    1 ponto
  10. Maykebravo

    [Host] Pc - Otimo - 25 Mb De Net

    Sou Host Procuro Ot global full 8.6 sem bugs.. Meu pc e Muito bom Minha net tb ja fui host de global full por 20 dias +- com 140 online sem lag.. Pc Processador i7 930 ( 8 x 2.8 GHZ Cores ) 8 MB L3 Cache , 12g ddr3 gsilk 1600 mhz .. 1t interessados deixa Mp
    1 ponto
  11. Tedescoo

    [Resolvido]Comando De X1

    Seria bom você procura né ? Vá em talkactions.xml e coloque : Agora em talkacitons/scripts , crie um arquivo chamado FIGHTSYSTEM e adiciona isso la dentro : Creditos : SubWat - Fez o script Te ajudei ? +REP
    1 ponto
  12. Infesty

    Infesty Gallery

    @Bazzinga Sim. @Kausen Olá, eu não gostaria de no meu primeiro post no xtibia te que dar uma resposta tão futil quanto a sua conclusão, primeiro que eu não rippei do Chau, não tire conclusões precipitadas antes de ter uma prova, e sim o mapa não é rippado, mas sim INSPIRADO no do chau, alias nen todas imagens são inspirada nele, apenas a segunda. As outras foram feitas com ideis minhas, se voce não sabe a diferença entre RIPPAR e se INSPIRAR, infelizmente, não vai ser eu que vai mudar sua concepção. Provavelmente você esta falando dessa imagem, certo? Se você me segue em outros foruns, você pode observar que quando eu postei essas imagens, eu falei que foi inspirada na do Chau, peço desculpas a todos se eu esqueci de botar os créditos da segunda imagem para o mapper Chau.
    1 ponto
  13. dustot

    (Vip) Antes Do Nick

    Tem gente que só lê o titulo e já vem responde com grosseria. Já procurei também em vários fórums e nunca achei. Achei um scripter que fez pra mim por 5 reais. Mais ae depois nem quiz mais se quizer me add no msn que passo pra ele fazer. Não estou vendendo nada! So estou tentando ajudar! Que fique claro isso. Xande_mpm@hotmail.com. Flw
    1 ponto
  14. HachiB

    [Pedido] Setcreaturename

    queria uma função que mudasse o nome de um monster tipow.. SetCreatureName(target,"getCreatureName(cid)") mudaria o nome do meu target pro meu proprio nome(isso foi só um exemplo) se alguem puder me ajuda vlw ai :s
    1 ponto
  15. Tedescoo

    [Encerrado] Como Editar O .axe

    Não é .axe e sim [/b].exe[/b] , você tem que compilar um servidor. http://www.xtibia.com/forum/topic/145300-c-compilando-um-otserv/
    1 ponto
  16. drakylucas

    (Vip) Antes Do Nick

    (Removido), pq oq eu postei é especifico para esse vip system. Moderadores podem ateh deixar eu com rep- mais essa eu vo gosta de fala! (Comentário removido e usuário suspenço) é creaturescript vc procuro tanto que olha na seçao de actions ..... http://www.xtibia.co...endo-ao-acabar/ Inuteis da vida.. ctz que server desse cara nao tem futuro.. tem tanta preguiça que nem procura consegue ¬¬ EDITED: Demonbholder, não irei tirar os xingamentos. Pode me deixar um super troll se quiser, mas esses caras mereceram xingamentos, afinal de contas falaram que "procuraram tanto" que nao pararam pa usar o "procura" ou pelo menos olhar a segunda pagina de creaturescripts. Para que serve essa rep no xtibia? tenhu amigos com 300 de rep que nao sabem fazer absolutamente nada [ou pouco] e ainda sim nao sao conhecidos, fazem coisas erradas e postam plagios de outros fórums.. nao ligo para meus rep aqui, afinal de contas isso é um site sem fim lucrativo e rep não serve para NADA! Podem reportar quem quiser, mas duvido que vou obter muitos reports, afinal de conta o pessoal daqui é tão preguisoso que não vai querer nem digitar o texto do report!
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...