Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Bom galera pra queles que estão procurando site para poketibia esta aqui o design foi eu que modifiquei eu achei bom não sei vocês espero que gostem, esse site eh totalmente modificado para servidores de poketibia como andei procurando e não achei resolvi modificar o Modern AAC pois achei mais facil o uso. estarei mostrano algumas imagens do site para todos vocês Web Site Poketibia 1.0 Web Site Poketibia 1.0 Scan Virus Total Web Site Poketibia 2.0 Web Site Poketibia 2.0 Log da versão 2.0 Scan Virus Total Tutorial 1º passo aconselho versão mais nova do Xampp 1.7.7 pelo menos e a versão que estou usando mais segura e não tive neum problema com ele ate o momento. depois que instalou o Xampp entre no phpmyadmin do xampp Criar novo Banco de Dados com o nome que preferir de sua escolha carregue o arquivo mysql que geralmente vem com seu servidor de poketibia depois que carregar pegue o arquivo do web site poketibia 1.0 extrair dentro da pasta htdocs dentro do Xampp pronto o resto agora e facil. 2º passo va no navegador e coloque http://localhost automaticmente ele vai pra pagina de instalação do site 1º imagem 2º imagem pronto instação completa vamus configurar o restante abre o config.lua de dentro da pasta do web site poketibia 1.0 altere essa linha pois e a coordenada onde o char vai nascer obs: o Web site Poketibia 1.0 so suporta ser a configuração do config.lua do seu servidor de poketibia tiver em versão criptografada Sha1 então altere para Sha1 e mysql alte tambem remova o as linhas do config.lua do seu servidor que contenha "--" na frente do nome pode remover não vai aver neum problema na remoção não esqueça de desativar o acc manager do config lua tb pois vai bugar os char e não vão poder entra no servidor a instalação não contem senha de administrador do site precisa mudar o acesso de pagina direto do banco de dados qualquer duvida podem pergunta espero que gostem do site qualquer bug pode posta que tentaremos corrigir o mais rapido possivel gostaria muito da opinião de todos vocês Creditos a equipe do Modern Acc por disponibilizar o script do site pra podemos modificar para Poketibia Nibelins Uso exclusivo do Xtibia
    2 pontos
  2. Nibelins

    [Modern Aac]- Web Site Poketibia 2.0

    vou ver se te ajudo o que esta acontecendo com seu problema se tiver usando o xampp ou e a senha ou banco de dados segue o mini tutor vc tem que cria o banco de dados no xampp antes da instalação acesse o http://localhost/phpmyadmin/ do seu xamp e crie o banco de dados exemplo coloca login e senha do seu phpmyadmin entrando vc vai na opição criar banco de dados criando o bando de dados escolhe o banco de dados que vc crior carrega o arquivo mysql que vem junto com o seu servidor de Poketibia ai tenta instalar
    2 pontos
  3. 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
  4. Kanav

    Criando Um Setup Para Seu Cliente De Tibia

    Tutorial: Criando um setup para o cliente de tibia do seu OTServ. Introdução:Estou aqui para falar do Inno Setup, este utilitario serve para criar instaladores para seus programas, assim fica bem mais facil distribuir clientes. O programa inno setup alem de criar instaladores de maneira facil, ele comprime bem os dados, diminuindo seu tamanho. Programa Necessario: Link: http://baixaki.ig.com.br/download/Inno-Setup.htm Como usar: Após intalar o programa, abra-o e irá aparecer: Marque a opção "create a new script using the script wizard" e clique em ok! Então irá aparecer isto: Apenas clique em next. Então aparecera isto: Aplication name: nome do programa. Aplication name including version: Versão do programa. Aplication Publisher: Nome da empresa. Aplication website: Site do programa. Então clique em next, e aparecerá isso: Aplication destine base folder: Onde será instalado(o padrão é arquivo de programas). Aplication folder name: Nome da pasta. Allow user to change the aplication folder: Marque para a pessoa poder mudar onde intalar. The aplication doesn't need a folder: Marque para não criar uma pasta. Aperte next e aparecerá: Aplication main executable file: O executavel do arquivo(o exe). The alpication doesn't have a executable file: Marque caso o arquivo não tenha executavel. Depois clique em "add folder" e selecione a pasta com seus arquivos. clique em next e aparecera: Aplication start menu folder name: O nome da pasta no menu iniciar. Allow user to disable the star menu creation: Marque para todos poderem impedir de criar um arquivo no menu iniciar. Create a internet shortcut in start menu folder: Cria o atalho do seu site. Create an unistal icon um star menu folder: Criar um icone de desinstalação. Clique em next e aparecerá: Licence file: Coloque um arquivo de bloco de notas com os termos de uso. Information before instalation: Bloco de notas com informações antes da instalação. information after instalation: Bloco de notas com a informação depois da instalação. Clique em next e aparecerá: Selecione os idiomas que deseja, Clique em next e aparecerá: Custom coompiler: Onde vai ser salvo o setup. Comput outiput base file name: Nome do setup. Custom setup icon: Escolha um icone caso tenha um. Setup password: Caso queira fazer uma senha. Clique em next e aparecerá: Clique em finish e quanto perguntar se deseja compilar clique em sim! Créditos: Luan Abraços Galera, Espero que gostem!
    1 ponto
  5. syshuy

    New Naruto V3

    DE uma olhada no topico: Formaçao New Naruto v4 voltei a fazer os narutibias Map editor corrigo >> .Map editor ele ja tem npcs e monster da ultima atualizaçao. a v4 esta 30% pronta, esta demorando pq estou fazendo bem caprichado. Sobre os monster a exp do 4 kage vai ser diminuida, as areas do 2andar do templo sera liberada ,o monster Raikage sera adicionado. #infelizmente algumas das orgs citadas a baixa nao sera criadas por falta de sprites, mais serao 2,3. os errors que dao nos itens sera arrumado , 90%dos bugs sera corrido ,porque alguns eu nao sei arrumar como por exemplo '/n ' naao sei se dara para adicionar o comando /r mais vou tentar. !cmot3416 e !promotesex serao alterados para players nao poderem uzar. #MAPA o mapa nao tera grandes mudanças,mais vo tentar deixar as coisas legalzinha, nao sei mt sobre mapping intao se ficar feio voces que arrumen ao gosto . #previsao nao tem previsoes,estou bastante ocupado ultimamente graças a escola. pode ser que demore, pode ser que seja rapido. ----COMUNICADO---- encerro as atualizaçoes para o naruto v3. ----sem previsao---- Postarei a update v4 com muito mais organizaçoes, muito mais hunts.... so um pequeno preview .... Naruto Kage HAnzou salamandra Danzou Ginkaku e Genkaku Kakashi Anbu Itachi Anbu Chouza( pai do chouji ) Shikaku ( pai do shikamaru ) shibi ( pai do shino ) inochi ( pai da ino ) Killer Bee Momochi zabuza Gamas... Kurenai Sarutobi azuma( o verdadeiro sem ser o sensei) UZUMAKI kushina RIKUDOU SANNIN tsunade sannin Uchiha Fugaku ( pai do sasuke) uchiha sishui ( amigo do itachi ) Entre Outras O templo sera 100% modificado. As Hunts 80% modificadas Tera sala com Bosses. Sala de eventos. EM baixo do templo antes dos Gennins tem um espaço grande livre. Se alguem poder me dar dicas para o que fazer ali agradeçeria. Mapa que foi uzado no refugianaruto.servegame.com orgs existentes: ANBUS(MEDININ OININ LIDER)/ NUKENIN/TAKA/AKAT/KAGE/SENSEI/SHIPPUDEN/MADARA/IZUNA/SANNINS (NAO TEM TSUNADE)/NARUTO SENNIN E MAIS 2 ORGS FEITA POR MIN. ps: o npc naruto sennin ele nao muda a outfit do player intao pessa para ele uzar o comando !cmot3416 12 scan:SCAN SS: Creditos 50%Caio vilela ( pegamos as spells e npcs ) 10%a equipe do slim(por ter feito uma editada no mapa) 40%adm calish( editamos spell's balanceamos alguns clans ex:puppeter,criamos npcs,hunts,e uma leve editada no mapa) se for postar o server em outro lugar nao se esqueça dos creditos DOWNLOAD DO SERVER >>>>>>>>>> ---DOWNLOAD--- o arquivo esta comprimido em 9.74 mb. MAP EDITOR UZADO: map editor client recomendado AQUI Gostou? da rep+ ai nao gostou? da rep+ tmb porfavor comentem a respeito do server .. o que esta ruim o que pode melhorar vlw . Client recomendado >> Aqui -----------BUGS ATUAIS--------- trap do yondaime derruba o server mais isso sera corrido(---CORRIGIDO---) o comando /n buga os adms -----------------EDIT-------------- ATUALIZAÇAO 9-JUNHO 2011 NOVO MONSTER ADICIONADO (MVP WHIT WOLF).QUE DERRUBA ITEM UNICO BUG DO "UP DOIS CORRIGIDO" NOVAS SPELLS ADICIONADAS. MVP ATACK ( ATK DO NOVO MONSTER) MVP MANA ( ATK DO NOVO MONSTER ) MVP TRAP(ATK DO NOVO MONSTER) - ATACK ADM- UMA SPELL SO PARA ADM QUE POSSUI AREA PEQUENA E HIT ENORME. NOVA SPELL DO YONDAIME = RASENGAN SUPREMO 2 NOVAS ORGS ADICIONADAS MECHA E SOLDIER ( N EXISTEM NO ANIME ) MECHA= ATAQUES DE LONGA DISTANCIA GASTA MANA MODERADA E HIT MODERADO. SOLDIER= ATAQUES CURTA DISTANCIA GASTA MUITA MANA E ATAQUE DEVASTADORES.(nao e bom para upar mais otimo em pvp) Se algum spriter quiser me ajudar nesse projeto sera bem vindo SUGESTOES PARA NOVAS ATUALIZAÇOES ORGS SPELL MONSTER SAO BEM VINDAS. desculpem pelo meu analfabetismo duvidas me add msn: pedro.hlv@hotmail.com ouuuu kuchikibyakuya30@hotmail.com << esse de preferencia aew galera nao fale que o server e seu .passei um bom tempo fazendo o server nao roube meus creditos JA QUE NAO SEI FAZER ENQUETE VAI AQUI MESMO KKKK VOCE É A FAVOR DE CRIAÇAO DE ORGANIZAÇOES NAO EXISTENTES NO MANGA/ANIME? #SIM #NAO votem porfavor e se alguem souber cria enquete me avisa
    1 ponto
  6. BaiakZik

    O Unico Mapa Baiak Com Vip6

    Ola Pessoal Do Xtibia Estou Devolta,mas com um baiak unico com vip6 entao os comandos continuam os mesmos e agr o templo te de visual novo e tbm foi retirado todos os bugs discubertos o da porta de algumas quests da vip3 vip4 tenque ser promotion pra passa pra vcs n reclamarem ja ta avisado q é com o npc johnny no dp no 3 andar ^^ então aki estão as ss's http://www.xtibia.co...6/#entry1150118 OGGOGOGO VER!! Map novo http://www.xtibia.com/forum/topic/175246-baiak-zik-extremo/ GOGOGO VISITAR MAPA SUPER EDITADO NOVO Templo Treiners Do Buero Novo Rotworns Do Buero Novo Templo Vip1 Templo Vip2 Templo Vip3 Templo Vip4 Templo Vip5 Templo Vip6 Entao Se Gostaram Fazem Download Aki Embaixo Download : http://www.4shared.c...Baiakzik_V.html ip do meu ot para teste do mapa baiak-zik.servegame.com[ http://baiakzikmaps....gina=5583345309 Link Do site de todas as versoes do mapa baiakzik http://www.xtibia.co...layers-ou-vips/ TODOS OLHEM ESSE POST PLX SE GOSTA + REP
    1 ponto
  7. angeldoido

    Novo Sistema De Pet

    Galera tive criando aqui um sistema de pet sistem com Cada level que o player upa ele muda de pet, colokei em actions pra evita spam no default, Script 100% By EU New Version V3 Primeiro Vai na pasta data\actions\script e cria um arquivo com nome pet, e coloke isso dentro function onUse(cid, item, frompos, item2, topos) storage = 4191 storsol = 1203 if #getCreatureSummons(cid) > 1 then doPlayerSendCancel(cid,"Your Demonio is already summoned.") end if getPlayerStorageValue(cid,storsol) == 1 then local z = getCreatureSummons(cid)[1] addEvent(setPlayerStorageValue,100,cid,storsol,-1) doPlayerSay(cid,"Back my summon!",TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(z), 2) doSendDistanceShoot(getCreaturePosition(z), getPlayerPosition(cid), 3) doRemoveCreature(z) end local summons = getCreatureSummons(cid) local pet = { ["Rotworm"] = {1,10}, ["Minotaur"] = {11,15}, ["Dwarf Soldier"] = {16,19}, ["Minotaur Guard"] = {20,25}, ["Dragon Hatchling"] = {26,32}, ["Dragon"] = {33,45}, ["Giant Spider"] = {46,55}, ["Dragon Lord"] = {56,120}, ["Grim Reaper"] = {121,160}, ["Ghastly Dragon"] = {161,200}, ["Undead Dragon"] = {201,1000} } for k,v in pairs(pet) do -- 1 if getPlayerStorageValue(cid,storsol) < 1 then if getPlayerLevel(cid) >= v[1] and getPlayerLevel(cid) < v[2] then -- 2 if (table.maxn(summons) < 1)then -- 3 x = doSummonCreature(k, getCreaturePosition(cid)) doConvinceCreature(cid, x) setPlayerStorageValue(cid,4194,1) setPlayerStorageValue(cid,storsol,1) doCreatureSay(cid, k ..", go!", TALKTYPE_ORANGE_1) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 2) end end end end return true end Aeee versão v3 totalmente configurada testada em 8.60 e 9.10, tirei o exausted do script, e Reemodifikei para o pet volta sem bugs, gente dinovo se gostaram +rep se deu FAIL manda PM falando qual erro deu =D Mto obrigado... Se Gostou +rep Please Essa versao foi pre-lançada, vo arruma ela + um poko =D
    1 ponto
  8. Bem eu peguei as magias do mapa Slayer Yurots e coloquei nele, e o comando !spells, mais eu deixei bem balanceado, mas está em fase de teste, se ninguem gostar eu tiro as spells e deixo as originais mesmo, Pronto só isso espero que gostem.Quem não gostou dessas magias eu postei ali em baixo dos comentários o mesmo mapa mais com as magias originais e tudo balanceado. Quem gosta dar +REP e de preferencia Ponto de reputação! Templo! (não editei nessa novo update porque nao teve necessidade.) Novas Hunts que eu fiz (para entrar nelas tem que falar !acessototal, custa 4kk e se localiza no segundo andar da sala de tps da vip1.) Baiak city (também não editei nesse novo update porque não teve necessidade.) Cidade vip (também nao editei nesse novo update.) Novas hunts vip2 que eu fiz. (para entrar nelas tem que fazer Quest Vip.) Teleports Free (também nao editei nada ta igual da primeira versão.) Quest Vip (editei o ataque dos monstros, mas a quest não editei não.) Também nao editei quase nada, so concertei uns bugzinho e em comparação com a do baiak ice trokei akeles items inuteis.) Bem esse baiak tem as magias do Slayer Yurots tipo: Exevo gran mas mort, Exevo frozen hur, Exevo san condition, exori mas gran, utani mega hur etc. Caso queira ver mais use !spells, mais não esta apelão (muito desequilibrado) as magias bate muito mais as magias de heal tb heala muito, tipo exana mort, dependendo do seu lv heala mais do que a ultimate e exura san tb, a pot de mage tb ta equilibrada, mais caso voces nao tenham gostado disso eu deixei o arquivo "spells original" na pasta do ot, é so descompactar e colocar no lugar da que ta nas pasta data, ou então eu reposto sem essas spells. Pronto é isso espero que tenha gostado e BOM JOGO Att: [ADM] Brenewnz. Senha do ADM: god/god Link Download: http://www.4shared.c..._by_ADM_Br.html Scan:http://www.virustota...9f5d-1325557323 Creditos: [ADM] Brenewnz {GOD} Bryaan Gostou? +rep e ponto de reputação Vlw é isso!
    1 ponto
  9. Crystal Server Olá Venho lhes o Crystal Server. Primeiramente gostaria de agradecer alguns amigos me me convidaram para ser ativo neste forum. E gostaria também que o pessoal valoriza-se meu trabalho asism que eleé valoriado nos outros forum. Aviso O Mapa é YurOTs 8.0 de gelo, editado por GOD Bom, e atualizado para 8.6 por Toty. Creditos ao mapa para Yurez (criador do mapa) e GOD Bon por edita-lo. Conta do GOD é 222222/password M = Modificado D = Deletado A = Adicionado [ File changes: [ 0.2 A = data/actions/scripts/other/blessings.lua A = data/talkactions/scripts/war.lua A = data/talkactions/scripts/balance.lua A = data/creaturescripts/scripts/thankyou.lua A = data/lib/013-math.lua A = data/lib/101-shortcut.lua A = data/npc/lib/_npcsystem.lua A = data/npc/oracle.xml M = OTServ.exe M = config.lua M = data/actions/scripts/liquids/potions.lua M = data/actions/scripts/other/teleport.lua M = data/actionsscripts/tools/skinning.lua M = data/lib/000-constant.lua M = data/lib/002-wait.lua M = data/lib/011-string.lua M = data/lib/012-table.lua M = data/lib/100-compat.lua M = data/lib/050-function.lua M = data/creaturescripts/scripts/login.lua M = data/creaturescripts/scripts/idle.lua M = data/talkactions/talkactions.xml M = data/creaturescripts/creaturescripts.xml M = data/creaturescripts/scripts/login.lua M = data/globalevents/scripts/init.lua M = data/globalevents/scripts/save.lua M = data/actions/actions.xml M = data/npc/Soya.xml M = data/npc/lib/npc.lua M = data/npc/lib/npcsystem/keywordhandler.lua M = data/npc/lib/npcsystem/modules.lua M = data/npc/lib/npcsystem/npchandler.lua M = data/npc/lib/npcsystem/queue.lua M = data/npc/scripts/bless.lua M = data/npc/scripts/oracle.lua M = data/npc/scripts/runes.lua M = data/items/items.xml M = data/movements/scripts/tiles.lua M = data/movements/movements.xml M = data/weapowns/weapons.xml M = data/monster/Misc/silver rabbit.xml D = data/actions/scripts/other/ceremonialankh.lua ] ] [ Charges [ 0.2 Adicionado support para 9.42 (Tryller, Elf) Adicionado npc oracle (TFS) Adicionado clientid para vocations.xml (Toty, TFS) Adicionado action blessing (Tryller, TFS) Atualizado actions.xml (Tryller, TFS) Atualizado init.lua (Toty, TFS) Atualizado items.xml (Toty, TFS) Atualizado tiles.lua e movements.xml (Toty, TFS) Deletada action of ceremonialank (Tryller, TFS) Deletadas outras configs do account manager no config.lua (minPasswordLength, minAccountNameLength, maxAccountNameLength, newCharacterMinNameLength, newCharacterMaxNameLength Corrigido obsidian knife (Tryller) Corrigido problemas com npcs trade (Tryller, TFS) Corrigido idle script (Toty, TFS) Corrigido npc de bless (Toty) Corrigido !frags talkaction (TFS) Corrigido server save (Toty, TFS) Corrigido armas de distância (malkavianz, darkinho) Corrigido guild bug (Big Vamp) Corrigido npcs Eryn & Soya (Tryller, malkavianz) Corrigido Silver Rabbit (malkavianz) ] ] Downloads Download Server DLL Download dll files Source Download source Doações? Se quiser fazer uma doação visite!
    1 ponto
  10. Stigal

    [Pokemon] Meu Mapa Editado

    Ola Galerinha Do Xtibia , Venho Aqui Trazer Meu Mapa Editado! Ele Contem: Imagens: Crystal Onix Cave: Charizard Valley Pvp Zone Ice Island Desert Saffari O Mapa Ja Vem Com Respown De "POKEMONS SELVAGENS", Duvidas - Criticas - Elogios... Aceitos! Comentem! :button_ok: Download: Scan: [VirusTotal] [Mapa] ~Stigal Creditos: [50%] Criador Do Mapa Dash v.6 [50%] Stigal (Eu)
    1 ponto
  11. Eaew Galera,Aqui e o Mozark estou aqui para postar uns Downloads de utilitarios para wodbo. OBS:se estou na area errada movam,aos poucos estou aprendendo. Vamos La: Map Editor: Para Que Serv? Editar Seu Mapa A Seu Gosto. Download Aqui. Pic Editor: Para Que Serv? Editar As Imagens De Seu Client. Download Aqui. Tibia Unbinder: Para Que Serv? Descompilar SPR DAT E PIC de seus Cient. Download Aqui. Topico Que Encina A Usar Client Customizer: Para Que Serv? Para Criar Client Proprio. Download Aqui. Topico Encinando A Criar. DatEditor: Para Que Serv? Adicionar outfits,sprites,ver ID dos itens etc. Download Aqui. Creditos: Post:By Mozark Programas:Devido A Cada Criador. Obrigado Pela Atençao,Se Tiverem Duvidas Postem Aew. Quem Gostou Da REP++. Meus Trabalhos:
    1 ponto
  12. Henrique Moura

    Sindarion - Equipe

    PARA VAGAS NA EQUIPE, CONSULTE ESTE TÓPICO. » Composição da equipe atual: HenriqueLacerda / Mapper felipitovis / Mapper Darkseer / Mapper Eskylo / Scripter HunterHero / Mapper » Colaboradores atuais da equipe: (membros isentos de responsabilidades que se disponibilizaram para ajudar o projeto) Digão / Colaborador Script Pinpao / Colaborador Codes » Coordenadores: Castiello / Supporter: AnyurCT / Mapping Lordfire, Henrique M. / Scripting, Programação Won Helder, Henrique, Lordfire / Conteúdo Administrador Henrique M. Coordenador de Conteúdo Won Helder, Henrique, Lordfire Coordenador de Mapping Castiello, AnyurCT Coordenador de Programação Lordfire Coordenador de Scripting Lordfire, Henrique M. Membros Alessandro, , Felipitovis, Ainda há vagas na equipe. Tópico de inscrição: clique aqui. Henrique Moura Nascido em 1994, paulista, conheceu Tibia no colégio e de lá então não parou mais. Em 2007 conhecia o XTibia, uma comunidade relativamente grande em sua época. Se apaixonou por OTserv e então começou a incansável saga de posts que se procede até hoje. Virou Moderador e Coordenador respectivamente em 2009 e 2010 e então pôde ajudar o XTibia de forma significativa. Em conhecimento de OTserv, pode-se dizer que ele é um "faz-tudo". Gosta de Scripting e também escreve Roleplays. No Sindarion, vai administrar o projeto e o seu andamento. Lordfire 15 anos, catarinense, começou no Tibia por meio de um vizinho no final de 2003 (sim, muito cedo). Conheceu o XTibia 2 anos depois pela lista de servidores, onde ficava vendo as screenshots até que resolveu criar uma conta no fórum, onde aprendeu muito sobre desenvolvimento de OTservs. Foi mapper de vários servidores, entre eles o renomado Black Onix, o Frost World e o projeto Lidandeon. Se interessou por programação ao ler e aprender um pouco sobre scripting. No mundo dos OTservs, criou um sistema de experiência por hits com stages para o Lidandeon (o primeiro funcional), que nunca foi liberado. Também já escreveu alguns roleplays. No Sindarion, gerencia toda a parte de programação e scripting. Won Helder Brasileiro, 15 anos, nascido em Campina Grande - PB. Conheci o XTibia em 2008 e comecei a enviar noticias. Depois de entrar na equipe comecei a aprender a arte de criar mapas. Depois de mais algum tempo e vários otservers acabei aprendendo a mexer com lua e hoje sei um pouco de cada. Meu objetivo no Sindarion é organizar o conteúdo que vai ser liberado para os usuários . No Sindarion, gerencia todo o conteúdo e gera ideias para criações. Castiello Tem 17 anos completos esse ano, conheceu o tibia através de lan houses, uma vez viu a otserver list, sem entender nada, enquanto um amigo copiava o ip, era a versão 7.6 ainda, demorou pra entender, um ano se passou e tentou jogar, era a versão 8.1 , jogava no alisson yurots, um yurots muito editado, não sabia nem comprar uma sd, e nem healar, algum tempo se passou, e já na versão 8.4 se interessou por fazer ot servers, fez muitas coisas bizarras, e continuou lendo e aprendendo, mas nunca gostou de divulgar seus trabalhos, perdeu muitas coisas por HD's queimados, sempre fazia otservers, no 8.54 , um dia após lançar fez seu otserver, baixou e troquei o mapa, tinha um mapa diferente, criado totalmente por ele, fazia muito sucesso, uma media de 60 players, com 2 dias o servers já tinha as configurações dos monstros e dos sets 8.54 e todos os itens, conseguia através da otland, com o tempo fui treinando e adicionei o Alissow no meu msn, fazia alguns trabalhos e sempre mostrava pra ele, mas nunca postava, fiz até uma montanha, que perdi também, era um proposito de ser uma cidade apenas de Druidas, mas continuando, com o tempo pedi pra entrar na equipe dele, fiz um remake de Venonh e ficou até charmosa a cidade, fiz uma hunt sub aquatica que o infeliz não colocou os bixos kkk, passaram-se tempos e eu continuo a mapear e não postar, me considero um bom mapper, por ter julgamento critico e fome de aprender. Meu nome é Luís Henrique Albertini, moro no Mato Grosso do Sul, na cidade de Dourados, adoro o local onde moro, é uma cidade com uma boa renda percapita, não pobreza, a não ser na reserva indigena, sou louco por politica. No Sindarion, gerencia a parte de mapping e é mapper. felipitovis 18 anos, nascido na capital de SP. Conheci o tibia na versão 7.6 com a mulherzinha no fundo, mas não sabia jogar, e tive curiosidade e comecei frequentar lan houses proximas de casa, até que peguei gosto e jogava em grupo com amigos da lan, apesar de na época eu ter pc em casa, o problema é que na época de 7.92 ja tinha os OT's que viro febre na lan house, ai acostumei e vendi meu char no global lvl 160! Comecei a mexer com mapping porque eu via uns mapas muito feios nos otservs de hoje em dia, e quis ajudar de uma forma que podesse deixa-los mais bonitos para que todos podessem ter proveito dos meus trabalhos, e dessa mesma forma que conheci o XT, procurando tutoriais de como abrir servidores etc. AnyurCT Tenho 16 anos. Nasci no interior do Rio de Janeiro. Em 2004 eu conheci o jogo por meio de um amigo meu. O começo no jogo foi bem divertido, fiquei 2 meses em rook e depois fui hackiado. Depois disso, só fico no máximo por um dia em rook. Logo após isso, conheci os OTservs, Por meio de um primo que eu tinha ensinado a jogar. Era um Yurots Bem antigo, e a partir daí, me interesse pelos OTservs. Com isso, conheci o XTibia, em tentativa de abrir OTserv, mas nunca conseguia Por causa da internet, e fiquei procurando. Quando consegui, abri meu primeiro OT e comecei a mexer no Remere's map editor. Era Bem ruinzinho. Em abril desse ano, quando já freqüentava o fórum a muito tempo, resolvi me cadastrar para participar dos concursos. Hoje, depois de vários show offs e tutoriais, estou na posição que conquistei e Sou coordenador de Mapping do Sindarion e também administrador do Projeto Lidandeon.
    1 ponto
  13. eddyhavoc

    [Poketibia] Portrait System

    Abra a pasta Data > Movements > Scripts e crie uma pasta chamada Portrait e coloque isso nela. [font=monospace]local fotos = {[/font]["Bulbasaur"] = {fotopoke = 2377},["Ivysaur"] = {fotopoke = 2378},["Venusaur"] = {fotopoke = 2379},["Charmander"] = {fotopoke = 2380},["Charmeleon"] = {fotopoke = 2381},["Charizard"] = {fotopoke = 2382},["Squirtle"] = {fotopoke = 2383},["Wartortle"] = {fotopoke = 2384},["Blastoise"] = {fotopoke = 2385},["Caterpie"] = {fotopoke = 2386},["Metapod"] = {fotopoke = 2387},["Butterfree"] = {fotopoke = 2388},["Weedle"] = {fotopoke = 2389},["Kakuna"] = {fotopoke = 2390},["Beedrill"] = {fotopoke = 2391},["Pidgey"] = {fotopoke = 2392},["Pidgeotto"] = {fotopoke = 2393},["Pidgeot"] = {fotopoke = 2394},["Rattata"] = {fotopoke = 2395},["Raticate"] = {fotopoke = 2396},["Spearow"] = {fotopoke = 2397},["Fearow"] = {fotopoke = 2398},["Ekans"] = {fotopoke = 2399},["Arbok"] = {fotopoke = 2400},["Pikachu"] = {fotopoke = 2401},["Raichu"] = {fotopoke = 2402},["Sandshrew"] = {fotopoke = 2403},["Sandslash"] = {fotopoke = 2404},["Nidoran female"] = {fotopoke = 2405},["Nidorina"] = {fotopoke = 2406},["Nidoqueen"] = {fotopoke = 2407},["Nidoran male"] = {fotopoke = 2408},["Nidorino"] = {fotopoke = 2409},["Nidoking"] = {fotopoke = 2410},["Clefairy"] = {fotopoke = 2411},["Clefable"] = {fotopoke = 2412},["Vulpix"] = {fotopoke = 2413},["Ninetales"] = {fotopoke = 2414},["Jigglypuff"] = {fotopoke = 2415},["Wigglytuff"] = {fotopoke = 2416},["Zubat"] = {fotopoke = 2417},["Golbat"] = {fotopoke = 2418},["Oddish"] = {fotopoke = 2419},["Gloom"] = {fotopoke = 2420},["Vileplume"] = {fotopoke = 2421},["Paras"] = {fotopoke = 2422},["Parasect"] = {fotopoke = 2423},["Venonat"] = {fotopoke = 2424},["Venomoth"] = {fotopoke = 2425},["Diglett"] = {fotopoke = 2426},["Dugtrio"] = {fotopoke = 2427},["Meowth"] = {fotopoke = 2428},["Persian"] = {fotopoke = 2429},["Psyduck"] = {fotopoke = 2430},["Golduck"] = {fotopoke = 2431},["Mankey"] = {fotopoke = 2432},["Primeape"] = {fotopoke = 2433},["Growlithe"] = {fotopoke = 2434},["Arcanine"] = {fotopoke = 2435},["Poliwag"] = {fotopoke = 2436},["Poliwhirl"] = {fotopoke = 2437},["Poliwrath"] = {fotopoke = 2438},["Abra"] = {fotopoke = 2439},["Kadabra"] = {fotopoke = 2440},["Alakazam"] = {fotopoke = 2441},["Machop"] = {fotopoke = 2442},["Machoke"] = {fotopoke = 2443},["Machamp"] = {fotopoke = 2444},["Bellsprout"] = {fotopoke = 2445},["Weepinbell"] = {fotopoke = 2446},["Victreebel"] = {fotopoke = 2447},["Tentacool"] = {fotopoke = 2448},["Tentacruel"] = {fotopoke = 2449},["Geodude"] = {fotopoke = 2450},["Graveler"] = {fotopoke = 2451},["Golem"] = {fotopoke = 2452},["Ponyta"] = {fotopoke = 2453},["Rapidash"] = {fotopoke = 2454},["Slowpoke"] = {fotopoke = 2455},["Slowbro"] = {fotopoke = 2456},["Magnemite"] = {fotopoke = 2457},["Magneton"] = {fotopoke = 2458},["Farfetch'd"] = {fotopoke = 2459},["Doduo"] = {fotopoke = 2460},["Dodrio"] = {fotopoke = 2461},["Seel"] = {fotopoke = 2462},["Dewgong"] = {fotopoke = 2463},["Grimer"] = {fotopoke = 2464},["Muk"] = {fotopoke = 2465},["Shellder"] = {fotopoke = 2466},["Cloyster"] = {fotopoke = 2467},["Gastly"] = {fotopoke = 2468},["Haunter"] = {fotopoke = 2469},["Gengar"] = {fotopoke = 2470},["Onix"] = {fotopoke = 2471},["Drowzee"] = {fotopoke = 2472},["Hypno"] = {fotopoke = 2473},["Krabby"] = {fotopoke = 2474},["Kingler"] = {fotopoke = 2475},["Voltorb"] = {fotopoke = 2476},["Electrode"] = {fotopoke = 2477},["Exeggcute"] = {fotopoke = 2478},["Exeggutor"] = {fotopoke = 2479},["Cubone"] = {fotopoke = 2480},["Marowak"] = {fotopoke = 2481},["Hitmonlee"] = {fotopoke = 2482},["Hitmonchan"] = {fotopoke = 2483},["Lickitung"] = {fotopoke = 2484},["Koffing"] = {fotopoke = 2485},["Weezing"] = {fotopoke = 2486},["Rhyhorn"] = {fotopoke = 2487},["Rhydon"] = {fotopoke = 2488},["Chansey"] = {fotopoke = 2489},["Tangela"] = {fotopoke = 2490},["Kangaskhan"] = {fotopoke = 2491},["Horsea"] = {fotopoke = 2492},["Seadra"] = {fotopoke = 2493},["Goldeen"] = {fotopoke = 2494},["Seaking"] = {fotopoke = 2495},["Staryu"] = {fotopoke = 2496},["Starmie"] = {fotopoke = 2497},["Mr. mime"] = {fotopoke = 2498},["Scyther"] = {fotopoke = 2499},["Jynx"] = {fotopoke = 2500},["Electabuzz"] = {fotopoke = 2501},["Magmar"] = {fotopoke = 2502},["Pinsir"] = {fotopoke = 2503},["Tauros"] = {fotopoke = 2504},["Magikarp"] = {fotopoke = 2505},["Gyarados"] = {fotopoke = 2506},["Lapras"] = {fotopoke = 2507},["Ditto"] = {fotopoke = 2508},["Eevee"] = {fotopoke = 2509},["Vaporeon"] = {fotopoke = 2510},["Jolteon"] = {fotopoke = 2511},["Flareon"] = {fotopoke = 2512},["Porygon"] = {fotopoke = 2513},["Omanyte"] = {fotopoke = 2514},["Omastar"] = {fotopoke = 2515},["Kabuto"] = {fotopoke = 2516},["Kabutops"] = {fotopoke = 2517},["Aerodactyl"] = {fotopoke = 2518},["Snorlax"] = {fotopoke = 2519},["Articuno"] = {fotopoke = 2520},["Zapdos"] = {fotopoke = 2521},["Moltres"] = {fotopoke = 2522},["Dratini"] = {fotopoke = 2523},["Dragonair"] = {fotopoke = 2524},["Dragonite"] = {fotopoke = 2525},["Mewtwo"] = {fotopoke = 2526},["Mew"] = {fotopoke = 2527},["Shiny Charizard"] = {fotopoke = 2528},["ShinyMagikarp"] = {fotopoke = 102},["ShinyRattata"] = {fotopoke = 107},["ShinyOddish"] = {fotopoke = 111},["ShinyZubat"] = {fotopoke = 112},["ShinyParas"] = {fotopoke = 113},["ShinyAbra"] = {fotopoke = 145},["Shiny Arcanine"] = {fotopoke = 146},["Shiny Venomoth"] = {fotopoke = 147},["Shiny Raichu"] = {fotopoke = 148},["Elite Hitmonchan"] = {fotopoke = 149},["Elite Hitmonlee"] = {fotopoke = 150},["ShinyVoltorb"] = {fotopoke = 151},["ShinyHorsea"] = {fotopoke = 152},["Shiny Tentacruel"] = {fotopoke = 153},["ShinyGrowlithe"] = {fotopoke = 154},["ShinyVenonat"] = {fotopoke = 155},["Shiny Blastoise"] = {fotopoke = 156},["Shiny Raticate"] = {fotopoke = 157},["Shiny Electrode"] = {fotopoke = 158},["ShinyDratini"] = {fotopoke = 159},["Shiny Electabuzz"] = {fotopoke = 160},["Shiny Kingler"] = {fotopoke = 161},["Shiny Muk"] = {fotopoke = 162},["ShinyTentacool"] = {fotopoke = 163},["Shiny Seadra"] = {fotopoke = 164},["Shiny Parasect"] = {fotopoke = 165},["Shiny Beedril"] = {fotopoke = 166},["Shiny Gyarados"] = {fotopoke = 167},["Shiny Scyther"] = {fotopoke = 168},["Shiny Jynx"] = {fotopoke = 169},["ShinyKrabby"] = {fotopoke = 170},["ShinyGrimer"] = {fotopoke = 171},["Shiny Farfetchd"] = {fotopoke = 172},["Shiny Butterfree"] = {fotopoke = 173},["Shiny Venusaur"] = {fotopoke = 174},}function onEquip (cid, item, slot)for i,x in pairs(fotos) doif i == getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1) thendoTransformItem(getPlayerSlotItem(cid, 7).uid, fotos[i].fotopoke)return trueendend [font=monospace]end[/font] Após fazer isso vai no Movements.xml e adicione: <movevent type="Equip" itemid="2220;2221;2222;2223;2224;2227;2651;2652;2657;2653;2654;2658;2655;2656;2659" slot="feet" event="script" value="portrait.lua"/>
    1 ponto
  14. Tryller

    Duvida Sobre Stamina

    Total de stamina sao 42 o rat top esta em 40 ou seja 2 horas staminaRatingLimitTop = 40 * 60
    1 ponto
  15. [Ticker] TibiaTR Sai do Programa de Fan Sites (02/01/2012) Oficial: The fansite TibiaTR.net is no longer part of the fansite programme. Good luck to the entire team and thank you for contributing to Tibia's community, especially for the Turkish speaking players!" Tradução: O Fansite TibiaTR.net não faz mais parte do nosso programa de fansites. Boa sorte para todo o time e obrigado por contribuir com a comunidade tibiana, espacialmente pelos jogadores da Turquia!
    1 ponto
  16. Nibelins

    [Modern Aac]- Web Site Poketibia 2.0

    magic deu certo avisa ai hehehehehe
    1 ponto
  17. GuuhTorres

    Bug Rme

    Faz o seguinte,vai em um canto qualquer faz o item que você quer deletar,clica em "Select Raw",depois clica no item,que se vai deletar apertando "CTRL". Ai não irá aparecer as bordas. Obrigado.Att GuuhTorres.
    1 ponto
  18. rateSkill =15 exemplo coloque 10 diminuira a velocidade que a skill subira =s
    1 ponto
  19. Vinc

    [Duvidas] Tipo De Linguagem

    aki no xtibia se pode acha varios tutorias essa é a sesão de tutorias de script http://www.xtibia.co...s-de-scripting/ vc pode achar tutorias de lua aki http://www.xtibia.co...de-programacao/ esse é o manual de referencia lua(esse é sobre lua pura,os acima é lua para otserver) http://www.google.com.br/url?sa=t&rct=j&q=manual%20lua&source=web&cd=1&ved=0CCEQFjAA&url=http%3A%2F%2Fwww.lua.org%2Fmanual%2F5.1%2Fpt%2F&ei=9RsDT5rkD9PLtgfTy5DQBg&usg=AFQjCNFzCcOO-z8xzp583T7d54HDSy3LpQ&cad=rja
    1 ponto
  20. Fir3element

    Doplayersetskill

    SET é meio sem utilidade, acho que add ficaria melhor, ah e arrumei o TRUE porque nas últimas versões do tfs ele foi repassado por true function doPlayerSetSkill(cid, skill, amount) local pid = getPlayerGUID(cid) doRemoveCreature(cid, true) db.executeQuery("UPDATE `player_skills` SET `value` = `value` + ".. amount .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. skill) return true end function doPlayerSetMagic(cid, amount) local pid = getPlayerGUID(cid) doRemoveCreature(cid, true) db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + " .. amount .. " WHERE `id` = ".. pid) return true end Um modo de fazer essa função sem laggar o servidor é assim: function playerAddSkill(cid, skill, amount, round) if(skill == SKILL__LEVEL) then return doPlayerAddLevel(cid, amount, round) end for i = 1, amount do if(skill == SKILL__MAGLEVEL) then return doPlayerAddMagLevel(cid, i) end return doPlayerAddSkill(cid, skill, i) end end
    1 ponto
  21. tenta esse script em talkactions/scripts crie um arquivo lua(coloque o nome que quiser) e cole isto dentro dele function onSay(cid, words, param) local i = 1 while i <= 61 do addEvent(doPlayerAddSoul, i*2000, cid, 3) i = i+1 end end a tag se sabe fase né?(se n souber é so falar)
    1 ponto
  22. japavrb15

    [Pedido] Fly So Para Vips Poketibia

    if (not isPremium(cid)) then doPlayerSendCancel(cid,"Voce nao tem habilidades para montar em seu Pokemon!") doPlayerSendMagicEffect(cid, 1) tenta adicionar isso no script axo que vai funcionar se for premium comun flw
    1 ponto
  23. ViTiNhO145

    Venore War

    SS?
    1 ponto
  24. boxxer321

    Melhores Momentos

    AREA ERRADA
    1 ponto
  25. Demonbholder

    Sistema De Alquimia

    Booooas galera! Eu estava com essa idéia na cabeça já faz um tempo, mas ai tava com um problema e não conseguia arrumar. Well, na madrugada passada, eu fui ver o script e descobri um jeito de consertar, assim, eu criei o sistema de alquimia. Então é isso ai, não quero ficar enrolando muito, vamos logo ao script... Como Funciona: O sistema é composto por uma talkaction e uma action. A talkaction serve para criar novas gemas, ou seja, fundir gemas já existentes e transformá-las em outras. Já a action serve para fundir a arma a gema, sendo que há um hierarquia entre as gemas e armas. A hierarquia é assim: Há as gemas iniciais, que são pérolas, que podem refinar as armas escolhidas para o set1. Há as gemas secundárias e o gold nugget (item dado na fusão das perolas) que podem refinar armas de set2. Há as gemas terciárias e o small diamond (item dado na fusão dos diamantes) que refinam armas de set3. Há as gemas de nível 4, o life crystal e o crystal o Power, que refinam armas do set4. E por fim, há o gold ingot que refina armas do set5. Action: Armas a serem refinadas, facilmente editável. Quanto irá ser adicionado em cada arma, facilmente editável. Efeitos. Talkaction: Funcionamento. Efeitos. Id das gemas editável. Scripts: Action: function onUse(cid, item, fromPosition, itemEx, toPosition) local itens = { set1 = {2434, 7430, 2392, 7408, 2432}, set2 = {7437, 7755, 2451, 7380}, set3 = {7427, 7421, 7402, 2393, 2414, 7434}, set4 = {7429, 7414, 8930, 6528, 2454}, set5 = {2421, 8927, 2408, 2390, 2431, 2415} } local extra = getItemAttribute(item.uid, "extraattack") == nil and 0 or getItemAttribute(item.uid, "extraattack") local extrd = getItemAttribute(item.uid, "extradefense") == nil and 0 or getItemAttribute(item.uid, "extradefense") if isInArray({2143, 2144}, itemEx.itemid) and isInArray(itens.set1, item.itemid) then if math.random(1, 7) > extra/10 + 1 then doItemSetAttribute(item.uid, "extraattack", extra+10) doItemSetAttribute(item.uid, "extradefense", extrd+5) doSendMagicEffect(getPlayerPosition(cid), math.random(1, 32)) else doPlayerSendCancel(cid, "Falhou.") doSendMagicEffect(getPlayerPosition(cid), 2) end doRemoveItem(itemEx.uid, 1) end if isInArray({2157, 2149, 2146, 2147}, itemEx.itemid) and isInArray(itens.set2, item.itemid) then if math.random(1, 7) > extra/20 + 2 then doItemSetAttribute(item.uid, "extraattack", extra+20) doItemSetAttribute(item.uid, "extradefense", extrd+10) doSendMagicEffect(getPlayerPosition(cid), math.random(1, 32)) else doPlayerSendCancel(cid, "Falhou.") doSendMagicEffect(getPlayerPosition(cid), 2) end doRemoveItem(itemEx.uid, 1) end if isInArray({2145, 9941, 9942}, itemEx.itemid) and isInArray(itens.set3, item.itemid) then if math.random(1, 7) > extra/30 + 3 then doItemSetAttribute(item.uid, "extraattack", extra+30) doItemSetAttribute(item.uid, "extradefense", extrd+15) doSendMagicEffect(getPlayerPosition(cid), math.random(34, 55)) else doPlayerSendCancel(cid, "Falhou.") doSendMagicEffect(getPlayerPosition(cid), 2) end doRemoveItem(itemEx.uid, 1) end if isInArray({9980, 7315, 2158, 2153, 2154, 2155, 2156}, itemEx.itemid) and isInArray(itens.set4, item.itemid) then if math.random(1, 8) > extra/35 + 4 then doItemSetAttribute(item.uid, "extraattack", extra+35) doItemSetAttribute(item.uid, "extradefense", extrd+20) doSendMagicEffect(getPlayerPosition(cid), math.random(34, 55)) else doPlayerSendCancel(cid, "Falhou.") doSendMagicEffect(getPlayerPosition(cid), 2) end doRemoveItem(itemEx.uid, 1) end if itemEx.itemid == 9971 and isInArray(itens.set5, item.itemid) then if math.random(1, 9) > extra/50 + 5 then doItemSetAttribute(item.uid, "extraattack", extra+50) doItemSetAttribute(item.uid, "extradefense", extrd+30) doSendMagicEffect(getPlayerPosition(cid), 65) else doPlayerSendCancel(cid, "Falhou.") doSendMagicEffect(getPlayerPosition(cid), 2) end doRemoveItem(itemEx.uid, 1) end return TRUE end Tag: <action itemid="2434;7430;2392;7408;2432;7437;7755;2451;7380;7427;7421;7402;2393;2414;7434;7429;7414;8930;6528;2454;2421;8927;2408;2390;2431;2415" event="script" value="nomeDoArquivo.lua"/> Comentário: Se for editar as armas a serem refinadas, edite no script e na tag, pois os ids da tag são os das armas. Talkaction: function onSay(cid, words, param) local tab = {2149, 2146, 2147} local t = {2158, 2154, 2155, 2156} local t3 = {{item=7315, msg="Você ganhou um life crystal."}, {item=9980, msg="Você gnhou um crystal of power."}} local maths = math.random(1, 2) if param == '' then doPlayerSendCancel(cid, "Param required.") doSendMagicEffect(getCreaturePosition(cid), 2) end -- PEARL -- if param == 'pearl' then if getPlayerItemCount(cid, 2143) > 0 and getPlayerItemCount(cid, 2144) > 0 then doPlayerRemoveItem(cid, 2143, 1) doPlayerRemoveItem(cid, 2144, 1) doPlayerAddItem(cid, 2157, 1) doPlayerSendTextMessage(cid, 4, "Você fez um gold nugget.") doSendMagicEffect(getPlayerPosition(cid), math.random(1, 32)) else doPlayerSendCancel(cid, "Você não tem os itens necessários.") doSendMagicEffect(getCreaturePosition(cid), 2) end end -- DIAMOND -- if param == 'diamond' then pakaresult = "" for i, itens in ipairs(tab) do if getPlayerItemCount(cid, itens) > 0 then pakaresult = pakaresult ~= "" and pakaresult .. "/" .. itens or "/" .. itens end end local ite = string.explode(pakaresult, "/") if #ite > 2 then doPlayerRemoveItem(cid, ite[2], 1) doPlayerRemoveItem(cid, ite[3], 1) doPlayerAddItem(cid, 2145, 1) doPlayerSendTextMessage(cid, 4, "Você fez um small diamond.") doSendMagicEffect(getPlayerPosition(cid), math.random(34, 55)) else doPlayerSendCancel(cid, "Você não tem os itens necessários.") doSendMagicEffect(getCreaturePosition(cid), 2) end end -- CRYSTAL -- if param == 'crystal' then if getPlayerItemCount(cid, 9941) > 0 and getPlayerItemCount(cid, 9942) > 0 then doPlayerRemoveItem(cid, 9942, 1) doPlayerRemoveItem(cid, 9941, 1) doPlayerAddItem(cid,t3[maths].item, 1) doPlayerSendTextMessage(cid, 4, t3[maths].msg) doSendMagicEffect(getPlayerPosition(cid), math.random(34, 55)) else doPlayerSendCancel(cid, "Você não tem os itens necessários.") doSendMagicEffect(getCreaturePosition(cid), 2) end end -- GOLD -- if param == 'gold' then pakoresult = "" for n, iten in ipairs(t) do if getPlayerItemCount(cid, iten) > 0 then pakoresult = pakoresult ~= "" and pakoresult .. "/" .. iten or "/" .. iten end end local ite = string.explode(pakoresult, "/") if #ite > 2 then doPlayerRemoveItem(cid, ite[2], 1) doPlayerRemoveItem(cid, ite[3], 1) doPlayerAddItem(cid, 9971, 1) doPlayerSendTextMessage(cid, 4, "Você fez um gold ingot.") doSendMagicEffect(getPlayerPosition(cid), 65) else doPlayerSendCancel(cid, "Você não tem os itens necessários.") doSendMagicEffect(getCreaturePosition(cid), 2) end end return true end Tag: <talkaction words="Words" event="script" value="nomeDoArquivo.lua"/> Comentário: Talkaction funcionando perfeitamente, se desejar, edite o id das gemas. Então é isso galera, demorei 4 horas pra fazer, espero que gostem.
    1 ponto
  26. BrunooAngel

    [Pokémon] Portraits Animadas.idc

    Olá galera do :XTibia_smile: vim aqui agora para postar um pacotao com 151 PORTRAITS ANIMADAS para seu ot de pokemon Não sabe oque é portrait animada? Vocês ja viram aquela barra de moves do PSOUL [Pokemon Soul]? entao aquela fotinha do pokemon que fica em cima se mechendo, e essa que vamos usar mais ela ficara no lugar das PORTRAITS e nao numa barra de moves, Vamos ao tutorial! [Lembrando que contem de todos os 151 Pokemons] - DOWNLOAD + SCAN NO FINAL DO TOPICO! OBS: LEMBRE-SE DE CRIAR UM BACKUP DE SEU TIBIA.SPR E TIBIA.DAT CASO ALGO DER ERRADO! Passo 1: Abra seu DAT EDITOR e de load em seu Tibia.spr e Tibia.dat Passo 2: Encontre suas portrais, no caso se voce achar 1 acha as outras 151, e clique na do BULBASAUR [vou usar a do bulbasaur como exemplo mais pode começar por outros eque a portrait dele e a primeira] Passo 3: Clique em IMPORT ITEMS na area superior do seu dat editor [/\] Passo 4: Va até a pasta do PACOTÃO DE SPRITES ANIMADAS e encontre a do bulbasauro [lembre-se a do bulbasauro eque estou usando como exemplo no caso voce usa a do pokemon que ira modificar], Apos clicar em cima clique em ABRIR ou APERTE ENTER Passo 5: Ira aparecer uma mensagem "Do you want to overwhite the current item?", Clique em "YES" Passo 6: Note que sua sprite da portrait ira mudar para a do pacotao, animada que in game se move! Passo 7: va no menu superior [acima do dat editor] novamente e clique em "FILE" > "SAVE" Passo 8: [ultimo Passo Ufa...] Apos clicar em save ira abrir uma janelinha, clique em "COMPILE" e ira carregar a barra, se der como NAO RESPONDENDO aguarde ate responder se nao seu .DAT e .SPR ira bugar tudo, Apos carregar entre no jogo faça um bulbasauro coloque-o no slot e veja a nova sprite da PORTRAIT dele! Como Ira Ficar Dentro Do Jogo: [é igual a portrait normal, nao tem como MOVER e se der USE nao acontece nada] Downloads: Pacotão 151 Portraits Animadas: Clique Aqui! Scan Pacotão 151 Portraits Animadas: Clique Aqui! Créditos: Criadores do PSOUL [Pokémon Soul] Brunoo Angel [Por fazer o tutorial e exportar as 151 sprites]
    1 ponto
  27. /\ Para trocar a posição do acc manager, abre o sqlitestudio e modifica a posição da database.
    1 ponto
  28. Feebas

    Criando Outifit

    Olá, Requisitos: --Paint (Ou Photoscape) --Paciencia --Criatividade Primeiro: Oque é uma Outift? Outifit é a roupinha que o bonequinho usa Exemplo: (Sabe esses bonequinhos ai com blusa vermelha,bota azul etc...,sao Masks) Oque é isso o mestre Meu pupilo as Masks é oque faz voce colorir a sua outift In-Game Como já existe um tópico sobre isso vou passar o link: http://www.xtibia.com/forum/topic/96021-aprenda-a-criar-masks/ Então a Outifit sempre tem que ser branca!! (Para o Dat Editor aceitar) Tá,tá....,mas como eu crio o treco? Olha eu recomendo que use o Fakerlab Wardrobe como base de suas Outifts Pupilo http://www.xtibia.com/forum/topic/103025-fakes-download-fakerlab-wardrobe-20/ Ai explica como usar o Fakerlab;então digamos,eu peguei o Citizen: Então para facilitar sua vida de "Gerar Chipset",e depois Cole no Paint (Vai Vir com um rosa porcaria entao troque para branco para ajudar a fazer a outifit) Mestre eu vou ter que fazer as Masks e Pintar e Modificar todas as Outifits!? Infelizmente sim Ai nesse meu carinha que fiz (Ta ruim eu sei) coloque a cor rosa escuro de fundo (Para o Dat Editor aceitar -.-) e salve por 32x32 no paint e depois salve CADA PARTE DA OUTIFIT EM VARIOS ARQUIVOS (Exemplo Salve a Outift com o Primeiro Passo,Depois Ela dando o Segundo Passo)e salve cada parte separadamente em PNG. OMG!!E como adiciono as outifits? Querido Pupilo isso são outros 2 tutoriais Bom Pessoal do Xtibia espero que gostem do Tuto (Se Já tiver um Tutorial assim avisa :construction: e se tiver algo errado ai eu arrumo)
    1 ponto
  29. Vlw msm estava procurando esse Talk para meu ot mas nun encontrava um bom quanto esse..Vlw msm REP :button_ok:
    1 ponto
  30. Use isso no lugar do seu exp.lua:
    1 ponto
  31. M4th7uSZ

    [Action] Tibia Real Potions 8.6

    Oi consegui faze a parte das potions auto agrupaveis \o/ para deixar as potions auto agrupaveis, coloquem no final de cada arquivo das potion (data\actions\scripts\liquids)no exemplo coloquei na ultimate health potion, vejam o arquivo original ultimate_health.lua local MIN = 800 local MAX = 1000 local EMPTY_POTION = 7635 local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) if isPlayer(itemEx.uid) == FALSE then return FALSE end if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if((not(isKnight(itemEx.uid)) or getPlayerLevel(itemEx.uid) < 130) and getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then doCreatureSay(itemEx.uid, "Only knights of level 130 or above may drink this fluid.", TALKTYPE_ORANGE_1) return TRUE end if doCreatureAddHealth(itemEx.uid, math.random(MIN, MAX)) == LUA_ERROR then return FALSE end doAddCondition(cid, exhaust) doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) ---->> doPlayerAddItem(cid, EMPTY_POTION, 1) <<---- return TRUE end apaguem tudo DEPOIS de doPlayerAddItem(cid, EMPTY_POTION, 1) e coloquem pot_count = getPlayerItemCount(cid, EMPTY_POTION) doPlayerRemoveItem(cid, EMPTY_POTION, pot_count) doPlayerAddItem(cid, EMPTY_POTION, pot_count) return TRUE end ai vai ficar assim ali no final doAddCondition(cid, exhaust) doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) doPlayerAddItem(cid, EMPTY_POTION, 1) pot_count = getPlayerItemCount(cid, EMPTY_POTION) doPlayerRemoveItem(cid, EMPTY_POTION, pot_count) doPlayerAddItem(cid, EMPTY_POTION, pot_count) return TRUE end é o mesmo esquema em todas potions :smile_positivo: EU mesmo que fiz \o/ aqui testei e funcionou no Alissow Server 8.6 agrupo de boa testem ai qualquer coisa to ai By M4th7uSZ.
    1 ponto
  32. Fjinst

    penis

    minha pica é gostosa
    0 pontos
  33. Legendios2

    penis

    gosto de dar
    -1 pontos
  34. Piabeta Kun

    penis

    pinto
    -1 pontos
  35. k2lan

    penis

    só pegar no meu pau que resolveeeeeeeee
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...