Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 10/25/11 em todas áreas
-
Gesior Acc Maker Para Tibia 8.60(2.0)
Grajauserv e um outro reagiu a CoLoRaDo por um tópico no fórum
ATENÇÃO!!!! NÃO SEI SE FUNCIONARÁ MAS PARA EVITAR ATAQUES À DATABASE DELETE A PASTA WEBDAV NA PASTA DO XAMPP! Recomendo usar o xampp 1.7.3 para baixa-lo Clique aqui Olá baixei um gesior e resolvi editar tirar alguns bugs etc... este gesior funciona nas versoes 8.60 pra cima! O que tem de novo? Update 2.0 Screen Shot: characters.php modificado: Download: Gesior Acc 8.60 By [ADM] DaNgeR(2.0).rar Créditos: Gesior GM Beckman Walef Xavier [ADM] DaNger - [ADM] Forever Aqui estão os sistemas que você deve adicionar no seu ot para funcionar no site! http://www.xtibia.co...-trade-offline/ - Trade Offline http://www.xtibia.co...em-com-escudos/ - Guild War Com Escudos http://www.xtibia.co...lottery-system/ - Lottery System http://www.xtibia.co...utomaticamente/ - Shop System(Para o Shop entregar os itens automaticamente)! e Para o Power Gamers Faça isso: execute este comando na database: ALTER TABLE `players` ADD `exphist_lastexp` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `exphist1` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `exphist2` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `exphist3` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `exphist4` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `exphist5` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `exphist6` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `exphist7` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `onlinetimetoday` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `onlinetime1` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `onlinetime2` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `onlinetime3` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `onlinetime4` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `onlinetime5` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `onlinetime6` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `onlinetime7` BIGINT( 255 ) NOT NULL DEFAULT '0', ADD `onlinetimeall` BIGINT( 255 ) NOT NULL DEFAULT '0'; depois este UPDATE `players` SET `exphist_lastexp`=`players`.`experience` depois vá na pasta do ot/data/globalevents e em globalevents.xml adicione isto: <globalevent name="history" interval="60" event="script" value="history.lua"/> depois vá na pasta do ot/data/globalevents/scripts e crie um arquivo chamado history.lua e adicione isso dentro: function onThink(interval, lastExecution) if (tonumber(os.date("%d")) ~= getGlobalStorageValue(23456)) then setGlobalStorageValue(23456, (tonumber(os.date("%d")))) db.executeQuery("UPDATE `players` SET `onlinetime7`=players.onlinetime6, `onlinetime6`=players.onlinetime5, `onlinetime5`=players.onlinetime4, `onlinetime4`=players.onlinetime3, `onlinetime3`=players.onlinetime2, `onlinetime2`=players.onlinetime1, `onlinetime1`=players.onlinetimetoday, `onlinetimetoday`=0;") db.executeQuery("UPDATE `players` SET `exphist7`=players.exphist6, `exphist6`=players.exphist5, `exphist5`=players.exphist4, `exphist4`=players.exphist3, `exphist3`=players.exphist2, `exphist2`=players.exphist1, `exphist1`=players.experience-players.exphist_lastexp, `exphist_lastexp`=players.experience;") end db.executeQuery("UPDATE `players` SET `onlinetimetoday`=players.onlinetimetoday+60, `onlinetimeall`=players.onlinetimeall+60 WHERE `online` = 1;") return TRUE end2 pontos -
[Download]Quest Maker E Como Usar
ALLan162 e um outro reagiu a MatheusGlad por um tópico no fórum
Fikei em duvida se postava na aprovaçao de tutorial ou downloads, pois o meu contem os dois. Quest Maker Download: 4shared Virus Scan Virus Total Ps: So 1 antivirus achou, acho que inofensivo. Como usar: Ele e um programa muito simples de se usar porem algumas pessoas nao sabem, irei explicar. Apos baixar o Quest Maker bote-o na pasta "actions/scripts" do seu otserver. Em seguida,abra-o e espera carregar. Preencha todos os campos do quest maker. Use a ss como exemplo 1 - Nome do Arquivo.lua onde ficara o script (dentro da pasta aonde botou o Quest Maker) 2 - Comentarios (Nao ira modificar em nada seu script) 3 - Unique ID que voce vai botar no bau da quest.(Sempre botar um numero qualquer que n tenha em actions.xml) 4 - Storage ID. (Pode ser o mesmo do Unique ID, mais nao afetara se for diferente) 5 - Mensagem que ira aparecer apos completar a quest. 6 - Botao que cria o script em sua pasta. 7 - ID do item que ira dar na quest. 8 - Apaga todas as suas configuraçoes feitas no programa. 9 - Cria Tag que voce ira botar em actions.xml 10 - NAO USE ESTA BUGADO ELE TE DA OS IDS ERRADOS 11 - Aonde aparece sua tag criada pelo botao numero 9 Criando o Bau: Agora abra o seu mapa com o seu Map Editor e crie um bau. Adicione o UniqueId que voce colocou no Quest Maker. Salve e aproveite! Quest Criada com Sucesso Tutorial by MatheusMkalo, exclusivo para o Xtibia Copia Ilegal,PROIBIDA Sugestoes,Duvidas,Elogios aceitados nesse topico ou via MP.2 pontos -
Guild War System Com Escudos
Vilden reagiu a Leoprotons por um tópico no fórum
Bom vamos 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: 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 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; Para finalizar é necessário que o seu .exe tenha incluído na compilação o parâmetro, -D__WAR_SYSTEM__. Como adiciono? Para adicionar é necessário ter a source do otserver que você utiliza. Abra a source em um dev-cpp aperte alt+p na coluna paraments add -D__WAR_SYSTEM__ da ok e compila. Se você não souber compilar existem tutorias bem explicativas que tornam fácil aprender a compilar, veja abaixo: Compilando no Windows Compilando no Linux ubuntu Pronto o Guild Wars System está totalmente instalado! Para os preguiçosos Ocupados coloquei o download do sistema completo. Download Aqui Link do Scan Creditos: Walef Xavier - War System AgaSsI - Tópico original Gm Beckman - Completou o tópico1 ponto -
Adc Addon Doll,editando Wand,staff,rod,editando Armas/equips
IsseiHyoudou reagiu a jamersonandres por um tópico no fórum
Aqui vou ensinar a : LEIA COM ATENÇÃO ATENTAMENTE! Adicionar o comando !aol ADICIONANDO ADDON DOLL Editando wand,staff,rod e editando armas! [/center][/code]1 ponto -
Hallows Map V1.0.0 [8.6] Map Editado 70% Novos Itens Novos Comandos Novas Hunt Nova Area VIP Novos Monstros Novas Quest Nova Vocation Templo Reformulado, Agora sem o bug do treiner Sistema de !fly Adicionado (Script Feito Por Mim) Nova Vocation Hallow Fast Attack Para Hallow Promo Novos Comandos: !helmet (compra hallow helmet por 8 vip coins) !armor (compra hallow armor por 8 vip coins) !legs (compra hallow legs por 8 vip coins) !boots (compra hallow boots por 8 vip coins) !shield (compra hallow shield por 8 vip coins) !axe (compra hallow axe por 15 vip coins) !sword (compra hallow sword por 15 vip coins) !wand (compra hallow wand por 15 vip coins ) (Para Todas Vocations) !bow (compra hallow bow por 15 vip coins) !hallowheal (compra hallow healling rune por 15 vip coins) !hallowmana (compra hallow mana rune por 15 vip coins) !Fly Sistema: !fly temple (leva o player ate o temple) !fly depot (leva o plater ate o dp) !fly arena (leva o player ate a arena) Agora Vamos ao que Interessa As ScreenShot (SS) Master VIP Area Teleports Temple Treiner VIP Area Hallow Map V1.0.0 [8.6](Pasta) Dll/Distro/AntiNuker San (Pasta) Este Mapa Foi Um De Meus Primeiros Trabalho, entao aceito criticas e sujestões Créditos Baiak Linnux Gostou ??? Da um :button_ok:1 ponto
-
Um tema simples, mas bonitinho. São duas opções de BG, a primeira em cinza e a segunda com os pokes. Download pokeTheme Por favor, se baixar o tema, comentem o que achar.1 ponto
-
Zodiak City. Versão 8.61 Feito por mim. (Algumas partes copiadas do global) ALBUM COM MAIS PRINTS 4SHARED Meu Primeiro Post, Espero que gostem Areas de Hunt: Dragon Lord Hydra Spectre Demon Hellhound Sea Serpent Frost Dragon Undead Dragon Undead's(em geral) Behemoth Monstros da Poi Massive Elementals(todos) Warlocks Heros Black Knight Orcs Serpent Spawn Medusa Giant Spider Pharaos Wyrm Ancient Scarab Entre outros Eu passei esse mapa pra um amigo.. e ele falo que o itens.otb dele não bateu com o meu. então estou postando o meu junto. Obs: tem uma quest inacabada na parte sul do mapa.1 ponto
-
Npc Montarias 9.1!
Eddy2000 reagiu a Admrevolution por um tópico no fórum
Ola Vim Trazer Pra Vocês O Npc De Montaria 9.1! Em Data/Npc Crie Um Arquivo Xml Com Nome De Domador E Adicione Isso : Em Data/npc/scripts Crie Um Arquivo .lua Chamado mounts e Adicione Isso : Espero Ter Ajudado Créditos:50%Admrevolution (EU)por adicionar as montarias 9.1 50%deletera Npc Montarias Versão 8.7 Obrigado!1 ponto -
[Extension] Adicionando Wall 8.6
Gabriel Couto reagiu a williamserravalle por um tópico no fórum
Bom galera, como to sempre presissando dessa wall e fica dificil usa no RAW resolvi coloca no RME, vamos ao que intereça vai Remere's Map Editor\data\860\tilesets.XML E procure a seguinte linha <brush name="stone floor"/> e Em baixo Adcione essa linha... <brush name="Wall 8.6 Red Flaky"/> <brush name="Wall 8.6 Green Flaky"/> <brush name="Fence 8.6 Green No Stripes"/> Ficando assim... <brush name="stone floor"/> <brush name="Wall 8.6 Green Flaky"/> <brush name="Wall 8.6 Red Flaky"/> <brush name="Fence 8.6 Green No Stripes"/> Depois De ter Feito Isso va em walls.XML (NA MESMA PASTA) E la em baixo adicione isso... ATENÇÂO:Você tem que tomar cuidado, pois você tem que adicionar este script depois de qualquer <brush>, e so pode haver apenas UM </brush> no final do script Bom, após você fazer isso, você precisa abrir seu RME, e ir até "Terrain Palette/Town" Você tera algo assim... Fence 8.6 Green No Stripes Wall 8.6 Green Flaky Wall 8.6 Red Flaky Gente sei que é um Script, mto Simples+ pra qualque mapper ira FACILITAR muita a vida ^^1 ponto -
Ip Changer 8.6 Sem Bug E Sem Virus!
rogeriocene reagiu a glauberpacheco por um tópico no fórum
Salve salve galerinha!!! Como todos sabem saiu a nova versao do tibia. e eu vi isso ontem anoite e na mesma hora ja fui procurar o ip-changer 8.6 e num axei nada hoje cedo eu axei uns 3. mais detalhe 2 eram virus e o outro achei aqui no xtibia funfava mais tava com um bug, testei no meu pc meu e no do meu colega, a ja ia esquecendo achei no laptop tbm. ele tava com o seguinte bug, trocava o ip normal mais passava 20mim ou mais o cliente fechava. eu ate morri umas 2x num ot que eu entrei so pra brinca husauhsauh. Mais a historia aqui num é essa: vamo logo pro assunto como eu nao achei nenhum e tenho uma noçao de programaçao e uns filho da pu#$%¨ me ligano 7 e meia da manha perguntano se eu tinha um ip-change pra passa pra ele. ai eu mesmo decidi criar um. Entao fis um , um pouco melhor que funciona em todas as versoes 7.1 a ate 8.6 ele é bem leve e pratico tambem. Num é nada profissional nao mais funfa e num tem bug. Fis ele de manha intao num ta muito bom nao. Depois eu melhoro ele, coloco um instalador e tals vo finalisa aqui pq o almoço ta pronto e to morreno de fome. aquele abraço galera fuis... scan: aqui Creditos: werner pacheco Tirus Soft www.tirusot.blogspot.com Download: Tirus ip-changer.rar1 ponto -
Fala Galera! Decidi fazer uma galeria de avatares simples, veja abaixo: (Se eu estiver na área errada me desculpem!)1 ponto
-
Mithology Team Recruiting
Rodugoni reagiu a MythologeTeam por um tópico no fórum
Mithology Team Recruiting História: Os gregos antigos enxergavam vida em quase tudo que os cercavam, e buscavam explicações para tudo. A imaginação fértil deste povo criou personagens e figuras mitológicas das mais diversas. Heróis, deuses, ninfas, titãs e centauros habitavam o mundo material, influenciando em suas vidas. Bastava ler os sinais da natureza, para conseguir atingir seus objetivos. A pitonisa, espécie de sacerdotisa, era uma importante personagem neste contexto. Os gregos a consultavam em seus oráculos para saber sobre as coisas que estavam acontecendo e também sobre o futuro. Quase sempre, a pitonisa buscava explicações mitológicas para tais acontecimentos. Agradar uma divindade era condição fundamental para atingir bons resultados na vida material. Um trabalhador do comércio, por exemplo, deveria deixar o deus Hermes sempre satisfeito, para conseguir bons resultados em seu trabalho. Oque Hávera no Jogo: - Heróis : seres mortais, filhos de deuses com seres humanos. Exemplos : Herácles ou Hércules e Aquiles. - Ninfas : seres femininos que habitavam os campos e bosques, levando alegria e felicidade. - Sátiros : figura com corpo de homem, chifres e patas de bode. - Centauros : corpo formado por uma metade de homem e outra de cavalo. - Sereias : mulheres com metade do corpo de peixe, atraíam os marinheiros com seus cantos atraentes. - Górgonas : mulheres, espécies de monstros, com cabelos de serpentes. Exemplo: Medusa - Quimera : mistura de leão e cabra, soltavam fogo pelas ventas. Deuses Da Versão 1.00 do Jogo: Zeus - deus de todos os deuses, senhor do Céu. Afrodite - deusa do amor, sexo e beleza. Poseidon - deus dos mares Hades - deus das almas dos mortos, dos cemitérios e do subterrâneo. Hera - deusa dos casamentos e da maternidade. Apolo - deus da luz e das obras de artes. Ártemis - deusa da caça e da vida selvagem. Ares - divindade da guerra.. Atena - deusa da sabedoria e da serenidade. Protetora da cidade de Atenas Cronos - deus da agricultura que também simbolizava o tempo Hermes - divindade que representava o comércio e as comunicações Hefesto - divindade do fogo e do trabalho. Alguns Sistemas da Versão 1.00 do Jogo: 1- Caixa de Pandora 2- Labirinto do Minotauro 3- Promotion Quest Hard 4- Fly (Hermes Boots) 5- Ride (Nos Monstros que são Do Bem) Quests Que estarao na versão 1.00 1- Hermes Quest 2- Zeus Quest 3- Pandora Quest 4- Poseidon Quest 5- Hades Quest 6- Blade Of Olympos Quest Cidades da versão 1.00 Tróia Spartan Athenas Olympo Mar Ergeu Inferno Observações: Estamos Abertos a Criticas, Elogios e Sugestões. Exemplo: [Critica] Não Gostei disso. [Elogio] Massa quero que sai logo. [sugestão] Queria que vc colosse isso...a Vamos a Equipe e seus Cargos: [ADMs]: {Marujoo}, {}, {} [GMs]: {}, {} [sCRIPTERs]: {}, {} [sPRITEs]:{}, {} , {}, {} [MAPPERs]: {}, {}, {}, {} [WEB MASTERs]: {}, {} Estamos Com 16 Vagas de Incrições, OBS: todos os que queiram se inscrever teram que ter nivel 3+ no cargo e terão que mostrar algum trabalho. Inscrições: Nome: Idade: Cargo: Horas Disponivel: Observações: {OPICIONAL} Logo, Logo estarei atualizando o POST com mais informçoes e IMAGENS do server. para mais informações entre em contato com [groupmyto@hotmail.com] por favor mandem E-MAIL para contato.1 ponto -
Eu fiz um aqui, Bem simples,1 ponto
-
O PROJETO FOI CANCELADO, LEIA MAIS SOBRE OS ACONTECIDOS NO TÓPICO DRAKONIA, EM PROJETOS INCENTIVADOS1 ponto
-
..: Em Breve Postaremos algumas informações das outras ilhas ( Krimehild e Aitver ) :.. Essas ilhas são "pequenas" introduções para os novos jogadores do Mundo Drakonia, é um tipo de Rookgaard . Todo espaço contido no mapa é feito de acordo com a história que foi feita apartir da imaginação , então nada no mapa será plagiado. Com o tempo averá mudanças do tipo, reformação de fórmulas de damage ( para equilibrar todas as vocações ) , sprites novas , quests , detalhação de alguns terrenos , novas hunt's . Tudo será préviamente informado em nosso site(oficial) que logo divulgaremos. O Servidor será Dedicado então teremos uma equipe séria , não averá o personagem GOD , por motivos de confiança para que não haja Edit's. Averá 1 GM e 3 ou 4 Tutores , que ficarão ordenadamente colocados em horários determinados , para que em nenhuma hora o jogador não tenha acesso á ajuda. Informo que as primeiras semanas do servidor ( Beta ) será realmente TESTE , então mostraremos aos 10 players apenas o Esqueleto do mapa, pois não queremos que os mesmo começem com uma vantagem a mais aos demais. O que mostraremos ja está organizado, e nesse meio tempo visualizaremos se o pvp, war, hunt's, quest, estão adequadas ao mapa , level , vocações . Quero também afirmar que algumas alterações importantes ficaram prontas um pouco mais distante do previsto, nada demorado, apenas um pouco mais demorada, por causa de imprevistos fora da vida "virtual" . Quero agradecer a todos que estão incentivando o nosso projeto , e todos que estão dando conselhos para a nossa melhoria. Obrigado.1 ponto
-
Alguem Poderia Ajudar Nesse Mod
SecondHeartbeat reagiu a angeldoido por um tópico no fórum
usa o meu cara q é configuravel -- vo posta abaixo, se ajudei n eskece de da mais rep so clica ali na cruzinha + <?xml version="1.0" encoding="UTF-8"?> <mod name="First Items" version="1.0" author="The Forgotten Server" contact="otland.net" enabled="yes"> <config name="firstitems_config"><![CDATA[ config = { storage = 30001, items = {2050, 2382} } ]]></config> <event type="login" name="FirstItems" event="script"> <![CDATA[ domodlib('firstitems_config') function onLogin(cid) local config = { voc_items = { { -- SORC {2190}, -- wand of vortex {2175}, -- spellbook {8820}, -- mage hat {8819} -- mage robe }, { -- DRUID {2182}, -- snakebite rod {2175}, -- spellbook {8820}, -- mage hat {8819} -- mage robe }, { -- PALADIN {2389, 6}, -- spear {2530}, -- copper shield {2480}, -- legion helmet {2464} -- chain armor }, { -- KNIGHT {2409}, -- serpent sword {2530}, -- copper shield {2480}, -- legion helmet {2464} -- chain armor } }, all_items = { {2468}, -- studded legs {2643} -- leather boots }, extra_items = { {2789, 100}, {2120}, {2152, 20}, {5710} }, knight_weapons = { {2423}, -- clerical mace {2429} -- barbarian axe } } if getPlayerGroupId(cid) < 3 then if getPlayerStorageValue(cid, storage) == -1 then local common = config.voc_items[getPlayerVocation(cid)] if common ~= nil then for _, v in ipairs(common) do doPlayerAddItem(cid, v[1], v[2] or 1) end end local all = config.all_items if all ~= nil then for _, v in ipairs(all) do doPlayerAddItem(cid, v[1], v[2] or 1) end end local extra = config.extra_items local bp = doPlayerAddItem(cid, 1988, 1) if extra ~= nil then for _, v in ipairs(extra) do doAddContainerItem(bp, v[1], v[2] or 1) end end local weapons = config.knight_weapons if weapons ~= nil then for _, w in ipairs(weapons) do if isKnight(cid) then doAddContainerItem(bp, w[1], w[2] or 1) end end end setPlayerStorageValue(cid, storage, 1) end end return true end ]]></event> </mod>1 ponto -
REP + :smile_positivo:1 ponto
-
[Talkaction] Entregando Items Aos Players.
PostadorHunter reagiu a Themaper por um tópico no fórum
Vamos lá, procurei por aqui e não achei . Abra a pasta de seu OT, vai em data e depois em TalkAction. Feito isso, vá em TalkAction.xml. Coloque essa Tag: Bom, feito isso vá na pasta TalkAction e vá em Scripts. Copie um arquivo .lua qualquer e renomeie para giveitem.lua, agora abra o giveitem.lua. Coloque isso dentro dele: Pronto, ta criado, agora como usar no jogo? /giveitem playername, itemid, quantidade Exemplo: /giveitem Lord'paulistinha, 2160, 100 No caso, 2160 é crystal coins, e 100 é a quantidade, ou seja? 100 crystal coins. A mensagem que aparecerá para o Player é: Você acabou de receber um item do ADM! Vocês podem modifica-la a gosto. Espero Ter Ajudado. Qualquer dúvida é so postar ou me mandar uma MP.1 ponto -
desculpem estou sem internet nao tenho tempo para responder o pessoal,estou acessando pelo pc da escola. e nao tenho acesso aos dados do ot. malz flws1 ponto
-
Hospeda sua Imagem em Algum Servidor da Net.. Um Dos Mais Usados é o imageshack.us Após você hospedar sua Imagem, você Copia o Link da imagem. (Link Direto) Ai Você Clica Nessa Imagem Irá Aparecer Uma Caixa Com um Lugar onde você irá colocar o Link da Sua Imagem. Após Colocar o Link você clika em Inserir Imagem e pronto Ajudei ? Clika No Logo Abaixo da Minha Assinatura ;D Att1 ponto
-
[Fechado]
DaNDaNrOxX reagiu a jukilo3d por um tópico no fórum
Elfen Server Cliente: 8.00 Portal: 7171-1 pontos