Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Eae Xtibianos Blz? Agradecerei a quem comentar o tópico. Esse Script serve para Poketibia, mais não testei em ot servers de Tibia. Vim Trazer a Vcs Uma Talkaction Bem Legal. Você está cansado de ficar indo até o corpo do pokemon para pegar o loot? Então ake está um sistema que ao invés de você ter que ir no corpo do pokemon pegar o loot, esse script pega automaticamente para você. Vamos Ao Script: Vá em Talkactions.xml adicione isso la parte dos players: Agora em Crie um Arquivo .lua e com nome de aloot.lua e coloque isso e salve dentro da pasta Talkactions: Gente desculpa, esqueci de por a parte do creaturescripts. Agr vá em creaturescripts.xml e adicione essa tag: <event type="login" name="aloot_reg" event="script" value="aloot.lua"/> <event type="kill" name="aloot_kill" event="script" value="aloot.lua"/> Agr crie um arquivo .lua e com nome de aloot.lua e coloque isso dentro e salve dentro da pasta creaturescripts/scripts. function onLogin(cid) registerCreatureEvent(cid, "aloot_kill") return true end local stor = 7575 function autoloot(cid, target, pos) local function doStack(cid, itemid, new) local count = getPlayerItemCount(cid, itemid) if (count > 100) then count = count - math.floor(count / 100) * 100 end local newCount = count + new if (count ~= 0) then local find = getPlayerItemById(cid, true, itemid, count).uid if (find > 0) then doRemoveItem(find) else newCount = new end end local item = doCreateItemEx(itemid, newCount) doPlayerAddItemEx(cid, item, true) end local function scanContainer(cid, uid, list) for k = (getContainerSize(uid) - 1), 0, -1 do local tmp = getContainerItem(uid, k) if (isInArray(list, tmp.itemid)) then if isItemStackable(tmp.itemid) and (getPlayerItemCount(cid, tmp.itemid) > 0) then doStack(cid, tmp.itemid, tmp.type) else local item = doCreateItemEx(tmp.itemid, tmp.type) doPlayerAddItemEx(cid, item, true) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Looted ' .. tmp.type .. ' ' .. getItemNameById(tmp.itemid) .. '.') doRemoveItem(tmp.uid) elseif isContainer(tmp.uid) then scanContainer(cid, tmp.uid, list) end end end local items = {} for i = getTileInfo(pos).items, 1, -1 do pos.stackpos = i table.insert(items, getThingFromPos(pos)) end if (#items == 0) then return end local corpse = -1 for _, item in ipairs(items) do local name = getItemName(item.uid):lower() if name:find(target:lower()) then corpse = item.uid break end end if (corpse ~= -1) and isContainer(corpse) then scanContainer(cid, corpse, tostring(getPlayerStorageValue(cid, stor)):gsub('_', ''):explode(',')) end end function onKill(cid, target, lastHit) if not isPlayer(target) then local infos = getPlayerStorageValue(cid, stor) if (infos == -1) then return true end local list = tostring(infos):explode(',') if (#list == 0) then return true end addEvent(autoloot, 150, cid, getCreatureName(target), getCreaturePosition(target)) end return true end FIM... Espero que gostem ...agradecerei a quem comentar. Se o script te ajudou: Vale um REP+? Só apertar no + ali no canto da tela.Nao Vai Quebrar a Mão. VLW.
    2 pontos
  2. SkyLigh

    Teleport Vip Com Outift

    Iae Galera do xtibia ! Hoje criei um script de teleport player com uma outift e so se ele for vip podera se teleporta ! e na hora que ele se teleporta ele ficara com uma outift que você escolhe ! Va em data / talkactions / scripts / ponhe o nome de algum arquivo.lua para televip e adicione isso la dentro function onUse(cid, item, frompos, item2, topos) local cobrar = "sim" -- Se vai cobrar ou nao local outfit = {lookType = 342} -- Outift que o player ficara local price = 10 -- Quanto vai cobrar se tiver ativado local pos = {x=7, y=7, z=7} -- Pos que o player vai ser teleportado if doSetCreatureOutfit(cid, outfit, time*1000) then doTeleportThing(cid, pos) doPlayerSendTextMessage(cid, 23, "Parabéns Você Foi Teleportado.") return TRUE end if cobrar == "sim" and not doPlayerRemoveMoney(cid,tonumber(price)) then doPlayerSendTextMessage(cid, 23, "Você Nao Tem Dinheiro Suficiente") end return TRUE end <action itemid="ID DO ITEM QUE VAI DAR USE" script="televip.lua"/> Então So Isso espero que gostem ! Se gostou + rep se nao for pedir muito Créditos Skylight 100 % ( Por Criar ) .
    2 pontos
  3. Tibia Server Mapa Global Eae pessoal, venho trazer a vocês um servidor de Tibia com mapa igualzissimo ao do Tibia Original. Com Rookgard e muito mais, claro não fui eu quem fiz este servidor magnifico. Mais venho traze-lo para vocês fazerem dele sua base e ter um servidor muito melhor de Tibia. Como nós sabemos nenhum servidor vem sem bugs, então é issu vo postar algumas imagems e espero que gostem. Muitas coisas ainda vocês terão de configurar como onde o player ínicial irá nascer e etc.. Este servidor estava sendo utilizado com site então você terá de fazer suas auterações. Cidades Newbie Island (Rookgaard) + Island of Destiny Ankrahmun Ab'Dendriel Carlin Darashia Edron Yalahar Kazordoon Liberty Bay Port Hope Svargrond Thais Venore Farmine Zao Cormaya Algumas imagems: Como eu ja disse este servidor não foi eu em que fui, mais venho pelo o menos trazer a vocês. Créditos Dener Diegoli Team e ao Membro Shekys do xtibia por contribuições enorme no projeto. Kurobisu (Por Trazer aqui pro Xtibia) Downloads OTServer Completo: >>( Kurobisu Download Otserv )<< Download Client Normal de Tibia 8.6: >>( Kurobisu Download Client )<< Download do SqliteStudio para quem for usar via account manager: >>(Kurobisu Download SqliteStudio)<< O 4Shared ja tem seu proprio ( Scanner ) então pelo visto não precisa. Estou também abrindo este tópico para caso alguém tenha alguma dúvida ou ache algum bug possa reporta-lo para mim, e eu concerteza tentarei ajuda-lo. Então como muitos sabem o tópico deve ter regras, e aqui não será diferente. Regras Poste suas dúvida aqui caso tenha alguma, caso acho algum bug poste aqui também. Tentarei ajudar o maximo possivel. Gosto do tópico? Lhe ajudei?Rep+ Não ajudei? Tentarei melhorar
    1 ponto
  4. 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
  5. Hoje, dia das crianças resolvi dar um presente as crianças daqui do fórum e reformulei totalmente o tópico agora está mais fácil e mais acessivel, as imagens boas e todas tiradas por mim. Está dividido em: 1º Passo: Preparando o XAMPP 2º Passo: Criando a Database 3º Passo: Criando o banco de dados 4º Passo: Criando uma conta GOD EXTRA 5º Passo: Criando o site para os players entrarem F.A.Q. - Perguntas e respostas -Baixando o Xampp- Xampp download: http://www.baixaki.com.br/download/xampp.htm Tamanho: 44,20MB Depois de baixar instale o XAMPP 1º Passo: Preparando o XAMPP (Créditos ao Lord Joel por lembrar do security) Abra o XAMPP, depois disso verifique se está tudo corretamente ligado clicando no XAMPP_Panel Mini F.A.Q. Mas meu apache não esta ligando! Vá até C:\xampp\apache\conf\httpd.conf: Procure por “Listen 80″, mude para “Listen 8090″Procure por “ServerName localhost:80″, mude para “ServerName localhost:8090″ C:\xampp\apache\conf\extra\httpd-ssl.conf Procure por “Listen 443″, mude para “Listen 4499″Procure por “<VirtualHost _default_:443>”, mude para “<VirtualHost _default_:4499>”Procure por “ServerName localhost:443″, mude para “ServerName localhost:4499″ Explicação: O IIS (Internet Information Service) do windows é padrão para rodar em port 80, então você não conseguira abrir o apache pois vai dar conflito com esta porta que já esta sendo usada, então trocamos! Mesenga, ainda não funcionou =/ Então recomendo você baixar a versão 1.6.5 por conter a antiga base que pega em todos os windows Download aqui: AQUI Continuando... Agora acesse a página: http://localhost/security/xamppsecurity.php caso tiver trocado o port acesse: http://localhost:8090/security/xamppsecurity.php Vá na pasta do seu OT, abra o config.lua Você irá encontrar linhas parecidadas com essas: -- DatabasesqlType = "sqlite" >> mude para mysql, pois agora usaremos um servidor mysqlsqlHost = "localhost" >> não mexasqlPort = 3306 >> não mexasqlUser = "root" >> esse é o usuário usado para acessar o servidor XAMPP, NÃO MUDEsqlPass = "" >> password (senha) que você usou no passo 1sqlDatabase = "" >> vamos definir um nome para nossa database, ex: theforgottenserversqlFile = "Styller.s3db" >> isso não irá servir mais pois usaremos um servidor MySqlsqlKeepAlive = 0 >> não mexamysqlReadTimeout = 10 >> não mexamysqlWriteTimeout = 10 >> não mexapasswordType = "plain" >> não mexa No meu caso ficou assim: -- DatabasesqlType = "mysql"sqlHost = "localhost"sqlPort = 3306sqlUser = "root"sqlPass = "123"sqlDatabase = "styller"sqlFile = "Styller.s3db"sqlKeepAlive = 0mysqlReadTimeout = 10mysqlWriteTimeout = 10passwordType = "plain" 2º Passo: Criando a Database abra internet e digite http://localhost caso tiver mudado o port: http://localhost:8090 escolha Português BR depois disso procure PhpMyAdmin e clique tenha certeza que estará nessa página: http://localhost/phpmyadmin/ caso estiver com port trocado: http://localhost:8090/phpmyadmin/ 3º Passo: Criando o banco de dados Na tela a seguir, você vera onde tem a parte Criar novo banco de dados, digite o mesmo nome que você colocou no config.lua em sqlDatabase= Agora clique criar Na tela seguinte clique em "importar" e escolha o arquivo "schema.mysql", em alguns ots o nome é "algumacoisa.sql", ex: forgotten.sql (no caso do The Forgotten Server) vai isso,dependendo do server que estiver usando, o numero de importações varia: 4º Passo: Criando uma conta GOD Entre no server e crie uma conta com o Account manager pra ficar mais facil, e também crie 1 player. Após criado a account e o player, volte a janela do XAMPP na database e clica em accounts, depois vá em visualizar depois clique no pincel Irá aparecer uma tela com os dados da conta, altere apenas o necessário... mude o type de 1 para 5 e group id de 1 (se quiser conta normal com GOD) e 5 (se quiser conta GOD com GOD) depois clique em "executar" o char ainda não é God apenas a conta, então vá em players na coluna da esquerda... clique no lápis de novamente.... Troque Group de 1 para 6, agora sim, seu char eh god. se quiser GM troque para 4 ou 5 (Sênior GM) Group id 1 = PlayerGroup id 2 = TutorGroup id 3 = Sênior TutorGroup id 4 = GMGroup id 5 = Sênior GMGroup id 6 = GOD *IDs acima baseados no Styller OT 8.52 Seu server está pronto para rodar! EXTRA 5º Passo: Criando o site para os players entrarem -Download do site- Baixe um dos Websites "SQL" na seção de downloads do Xtibia >> http://www.xtibia.com/forum/forum/581-downloads-de-websites/ Recomendados: Gesior acc maker: Gesior para 8.54 Nicaw Acc Maker website http://www.xtibia.com/forum/topic/81939-nicaw-aacmaker-para-otserv-xmlsql/ Todos os sites já vem com configurador, então entre em: http://localhost caso tiver trocado o port já sabe: http://localhost:8090 e Configure-o! -Vamos configurar o Gesior Acc Maker!- Baixe o Gesior Acc Maker Gesior para 8.54 Ligue o XAMPP e o OT Vá em C:\Xampp\htdocs e delete tudo o que tem dentro da pasta Agora extraia seu site pra lá, feito isso entre em http://localhost ou http://localhost:8090 você verá uma tela assim: clique em Set server path Agora no campo em que aparece digite o diretório no qual se encontra o ot, ex: C:\OTx Agora é só ir clicando um por um e configurar a seu gosto 1º Quadrado preto: 1. Set server path --> escolhe o diretório do OT2. Check DataBase connection --> você só pode proseguir se não tiver nehum erro nessa parte3. Add tables and columns to DB --> isso carrega uma parte do site4. Add samples to DB --> isso carrega uma parte do site (vocações)5. Set Admin Account --> escolhe o account do admin do site Quadrado Vermelho: 6. Load Monsters from OTS --> vai dar load automatico nos monstros do OT, verifique se não há nehum erro7. Load Spells from OTS --> ele vai carregar todas as spells do OT, verifique se não há nehum erro antes de proceguir Pronto, o site está configurado e pronto para criar contas. Para outras opções clique em ADMIN PAINEL F.A.Q. - Perguntas e respostas @Todos Duvidas: -Como faço minha account de GM/GOD? Siga o passo 4 eu nao encontro schema.mysql od está isso?? Em alguns servidores o nome é theforgottenserver.sql Qual vai ser meu site pros outros poder entra fazer acc? seu site vai ser http://seuip:8090 ou se quiser por http://seuip:xxxx sendo "xxxx" um número de port variando entre 80 e 9000, faça o seguinte: vá em "C:\xampp\apache\conf" e abra o arquivo httpd.conf procure por: #Listen 12.34.56.78:80 Listen 80 Nas duas linhas ponha Um número variando de 80 à 9000 no lugar do 80 exemplo: #Listen 12.34.56.78:8090 Listen 8090 Agora procure a linha: ServerName localhost:80 e troque pelo mesmo número que você colocou exemplo: ServerName localhost:8090 -No seu está dando o seguinte problema: [28/06/2008 03:15:49] Failed to connect to database. MYSQL ERROR: Access denied for user 'root'@'localhost' (using password: YES)[28/06/2008 03:15:49] > ERROR: Couldn't estabilish connection to SQL database! Antes de colocar oSERVER ONLINE, certifique-se de que o XAMPP está aberto Até a proxima!
    1 ponto
  6. Vodkart

    [Talk] Comando Mute Atualizado

    Em talkactions/script muteplayer.lua local v = {} for k = 1, 100 do table.insert(v, createConditionObject(CONDITION_MUTED)) setConditionParam(v[k], CONDITION_PARAM_TICKS, k*60*1000) end function onSay(cid, words, param) if (words == "/mute") then local t = string.explode(param, ",") if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player,time,pid = getPlayerByName(t[1]),t[2],getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você mutou o jogador "..t[1].." por "..time.." minutos.") doAddCondition(player, v[tonumber(time)]) setPlayerStorageValue(player, 90000, os.time()+time*60) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi mutado por "..time.." minutos.") elseif (words == "/desmute") then if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(param) if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end if getCreatureCondition(player, CONDITION_MUTED) == false then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "este jogador não está mutado.") return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador "..param..".") doRemoveCondition(player, CONDITION_MUTED) setPlayerStorageValue(player, 90000, -1) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi desmutado.") end return true end talkactions.xml <talkaction log="yes" words="/mute;/desmute" access="2" event="script" value="muteplayer.lua"/> Comando: /mute NOME,MINUTOS /desmute NOME Em creaturescript/script mute_check.lua local v = {} for k = 1, 100000 do table.insert(v, createConditionObject(CONDITION_MUTED)) setConditionParam(v[k], CONDITION_PARAM_TICKS, k*1000) end function onLogin(cid) if getPlayerStorageValue(cid, 90000) >= os.time() then doAddCondition(cid, v[tonumber(getPlayerStorageValue(cid, 90000) - os.time())]) end return TRUE end creaturescript.xml <event type="login" name="MutePlayer" event="script" value="mute_check.lua"/>
    1 ponto
  7. Bem Vindo Ao Tópico Oficial Do Subwat Server! Download Direto : Aqui ChangeLog Todos: Paixao de cristo, Test, cabuloso dentre várias outras... todos:exori foxbr,exevo foxbr,morre fdp,morre fdp,utani vip Hur,utani sonic hur,utani fresno Hur,utevo maximus Lux,heal editeds,mana editeds; mana vip entre outros Mts e mts outros.... COmandos:.!buyvida,!buymana,!aol,!demonio,!blackteam,!whiteteam,!addon,!promotion,!spells entre outros digite /commands para saber. Cidades:Subwat city (propria) Behavior (propria) Vip city(propria) senja(global) Zero city (propria) new" enigma (propria) new" Absolute City (propria) new" Absolute Island (propria) new" MONSTROS PRÓPRIOS:Lord vampire,vampire crash,lord dracula,verminor,pilx,exp boss,lord boss,boss,subwat boss,master subwat boss,demona,putinha do serv,hellghost entre mts e mts outros todos criados por Mim. Itens Próprios:subwat itens atk 1000,speciais atk 400 (iniciais),special set(proteção elemental +addskill),foxbr itens atk 10k,supreme itens atk 5k,samurai set,samurai armas de atk 1500 entre outras.... VERSÃO ABSOLUTE! TUDO NOVO DE NOVO! Novos monstros,nova cidade VIP,nova absolute city,sistema de loteria sorteando vip coins,VIP coins podendo comprar tudo por comando! Mapa tá quase o dobro do tamanho de tantas coisas novas! o servidor ficou online durante 6 meses o absolute server,e agora acabou e por isso estou postando a atualizaçao espero que curtam ! DOWNLOAD: SUBWAT V21 SCAN: Scan.IMAGENS: Absolute City Area vip 2 Area vip 1 Arumha War 1 x 1 CRÉDITOS: Gean Riot (subwat) Por tudo,mapa spells itens talks absolutamente tudo. é isso ae pessoal quem gostar do servidor clique em REP+ no cantinho da tela,geanzinho agradece lembrando que eu fasso esse server pensando exclusivamente Nos fãs de Subwat xD e a todos que aprovam meu trabalho.! comentem ae
    1 ponto
  8. anaosinho

    Pokemons Formato .idc

    Eae Galerinha, é meu Primeiro post no XTibia então sem pisar em mim em ;B Procurei e não achei um tutorial assim então vou postar pra ajudar os iniciantes Eu estarei ensinando como se adiciona sprites prontas com formato .idc Primeira mente você precisara do programa DAT EDITOR Download : Pacote de Sprites Prontas Pokemons Johto Feitos Pelo Purple: Agora com os 125 pokemons, Corpses, Magias e portraits de todos os johto: http://www.4shared.com/file/WWLgCVbT/johtos.html Dat Editor : http://www.multiupload.com/KD9NW6TMF0 Scan Dat Editor: http://www.virustotal.com/file-scan/report.html?id=3c5e94e59df52ef693d12b0543aa66d6f8b0dee89a88bdb1e1cd1ca5d3d13195-1306952621 Novo Scan Pacote de Sprites :http://www.virustotal.com/file-scan/report.html?id=98c2917453f3829817cf36562a34dc627000675528a0ef62f4838cf256584da2-1303932047 Agora vamos começar Depois de baixar o Dat Editor, extraia ele na pasta que você quiser. Abra o dat editor, Vá em : File / Open Procure a pasta do client do seu Server, e nos seus devidos lugares abra o Tibia.dat e Tibia.spr Espere carregar e as sprites do seu client irão aparecer Agora Extraia os pokemons que vocês baixaram , e note que eles estão em formato .idc Vá no dat editor e clique em : Import / Import Itens Vá ate a pasta onde você extraiu os pokemons em formato .idc, segure Ctrl e selecione todos de uma vez As sprites irão aparecer no Canto esquerdo Agora clique em : File / Save Na janelinha clique em Compile Depois que carregar totalmente Feixe a janelinha Más não fexe o Dat Editor Na tabela inferior do Dat Editor tem vários itens, e um deles é o ItemType Pegue esse numero do ItemType e grave ou copie. Abra a pasta do seu Server, clique em : Data / Monsters / Pokes Copie Qualquer Arquivo XML Renomeie para o nome do Pokemon que esta no Dat Editor Abra o arquivo com o bloco de notas. Mude o nome do Pokemon , e Lá onde está escrito : Look Type = ... Mude para o ItemType que esta no dat editor ( que eu falei pra copiar) Volte para a pasta : Data / Monsters Abra o arquivo Monsters.xml Copie qualquer Pokemon, mude o nome para o Pokémon que você criou, e no fim da linha esta escrito o nome do Pokemon .xml Mude para o nome do arquivo que você criou. Lembrete sempre ponha .xml no fim Salve tudo, e Abra o seu Server Proonto novo Pokémon Adicionado :x Se você quiser Adicionar os atakes novos dos pokemons fala isso: Embaixo , lá no xml do pokemon na linha </flags> <attacks> <attack name="nome da magia (tem que existir no seu server)" interval="tempo que o mosntro usa" chance="chance de usar" range="poder da magia" min="dano minimo use sempre o menos EX: -100" max="dano maximo use sempre o menos EX: -200"> </attack> ai vai adicionando as linhas com os novos atakes se o atake ainda não estiver criado vá na pasta Spells crie um xlm da nova magia, edite o nome, vá no dat editor pegue o item type da magia que você quer (o efeito desejado) volte, abra o Spells.xml adicione a sua nova magia. depois faça o que eu disse a cima. crie uma linha no xml do seu pokemon e vá adicionando as magias ^^ use isso para faser os pokemons selvagens '-' Gentee entra no meu novo tutorial , Criando novos itens e corpses com ids proprios http://www.xtibia.com/forum/topic/158900-criando-novos-id-de-items-e-corpses/page__p__1047720#entry1047720 See te Ajudei Dáa um +Rep Ae pro Okaminha ;B não cai o dedo \õ :smile_positivo: Créditos: Psycho Okama < Eoooooo E as sprites convertidas pelo < Purple Fuiz \õ/
    1 ponto
  9. PostadorHunter

    Dat E Spr Dbz Union

    Ola xtibianos vim postar aqui o spr e dat do dbz union para v6 Dat: http://www.4shared.c...Union_dat.html? Spr: http://www.4shared.c...union_spr.html? Dat: http://www.mediafire.com/?66ip43y95wl90cl Spr: http://www.mediafire.com/?y2u14dxe720x02j 4shared ta tirando o download e ta dizendo que o arquivo tem direitos Dps posto o dat e spr do dbo brasil e naruto brasil @edit a do dbo brasil http://www.xtibia.co...__fromsearch__1
    1 ponto
  10. Neto009

    [Release] Dbko Arena!

    Bem CoMo prometido venho aki postas o servidor de dbko. Primeiramente: A database Fica no Servidor So use ela nao precisa da do site so ela ja basta!! O Que tem Nele ?? -Systema de Enchant Exclusivo dkbo 8.0. -Todas as Armas Com Seus Respectivos Attackes. -Armaduras Healando normal igual dbko. -Mapa Full Dbko Sem Nenhuma Alteraçao. -Item De Desbugar Lvl. -Todas as Vocaçoes com transform Level 400 e seus respectivos poderes, E tem Todas as Vocations de kuririn a Pan. -comandos para transformar, todos a palavra Transform ate level 400. -Vocaçoes Balanceadas poder e hit. -Skill Subindo de acordo Dbko. -Vida e Mana Igual Dbko. -Client Proprio Com algumas Alteraçoes, pode ser que alguma sprit esteja trocada por isso o cliente vai ir aberto. -Reborn Quest Totalmente Igual Dbko Original, ate no bug das caixas na buu Saga. -Monstros Com Nomes e Attack Certos. -Site Com Imagem dos poderes para os player pesquizarem, com um layer diferenciado. Comandos: bol bug bc !xpremium nick, days OBS: O Distro Do servidor pode acusar algum virus rlx e inofencivo:] SS: Download: Server: [download]http://www.4shared.com/file/Fzt64zos/DBKO_By_Smallvile.html[/download] Scan: http://www.virustotal.com/file-scan/report.html?id=b803eb68f1d1c7868121f108d3bb6444e4aef43c67e66f87e6bf1dba626412c4-1317136853 Cliente: [download]http://www.4shared.com/file/QZhnFcZB/Cliente_By_Smallvile.html[/download] Site: [download]http://www.4shared.com/file/LfZxiUfw/htdocssdbkoarena.html[/download] Scan: http://www.virustotal.com/file-scan/report.html?id=e321afa271ee8c57647fa3bd27aa56efbb6f9bae7ed155f7e916ceb01ae1de4f-1317137307 Fiz Somente o Scan Do Servidor e do site, Pois Meu Pc Esta Lerdo Depois Farei do Cliente!!!! Creditos: Neto009 (Configuraçoes E Desbugar Algumas coisas). Nao Poste Sem Minha Autorizaçao!!!
    1 ponto
  11. vital900

    Rpg, Para Iniciantes..

    RPG Pouco lembrado por muitos, mas nunca esquecido por outros... Eu pus pra galera ler, porque sinceramente, o RPG esta faltando e muito no tibia.. Bom galera, eu decidi juntar vários tópicos sobre RPG em um só.. Resumindo tudo, e melhorando a capacidade de compreendimento de cada.. TODOS OS TóPICOS sem exceção sofreram alterações por mim.. Listados por mim terão, um titulo e abaixo do titulo os creditos do X-tibiano o qual eu usei como base.. Antes de mais nada, vou pó-lo a par do assunto.. Bom oque significa rpg?? (RPG= Role Playing Game) (Créditos: Diogo) No sentido literal, essas duas palavras querem dizer "representar (play) um papel (role)". No sentido figurado, querem dizer... Representar um personagem, ou algo do tipo. Após saber disto, você deve estar se questionando, mas quando eu estou jogando tibia, eu nao represento nada.. eu OWNO.. Bom entao vamos la, tentarei explica-lo.. Quando você esta jogando, e dropa um item raro.. E outro player o rouba de você.. Momentaneamente você se sentira irritado.. Se você for parar para pensar, nao faz sentido.. Sentir-se irritado, porque um bunequinho inexistente na RL (um char <rl= real="" life="" vida="">) roubou o seu item, que também é inexistente na RL.. Após ler isto você deve estar pensando: Ah... Mas eu gastei tempo para conseguir aquele loot e vem um idiota e rouba! Pois bem, ae que ta.. Não foi você que gastou tempo para conseguir aquele loot. Você simplesmente sentou em frente o computador para horas de entretenimento por causa da sua falta do que fazer. Se não estivesse jogando o jogo, provavelmente estaria fazendo alguma outra coisa tão improdutiva quanto. Então não faz diferença ganhar ou não aquele loot. Foi seu personagem que se esforçou. Seu personagem que matou monstros. Seu personagem que gastou a energia dele. Após ler isto você deve estar pensando: MAS EU CONTROLO O PERSONAGEM! Exato! Porque isso é um RPG! Um Role Playing Game! Um jogo de representação de papéis! O personagem não existe! é só isso, um per-so-na-gem que é representado graças a você! Espero, ter conseguido explicar o significado de RPG.. Então continuemos.. Pra que serve este tal de RPG?? Como ja fora dito, no RPG você esta representando um papel.. Logo, para você representar um papel, deve haver um lugar (ambiente), com historia que explique sua origem, entre outros.. Pois bem, ao criar rpg, você deve fazer um mundo (ambiente/historias/quests/etc) que atraia e faça o jogador realmente se sentir na pele do personagem, pois representar uma pessoa que so vai em hunt's e depois em war, e monotono.. Se você acha que criar um mundo virtual qualquer com cidades, áreas de caça e quests sem criatividade, é RPG, entao você esta redondamente enganado.. um Role Play expressivo de verdade, que faça o personagem realmente se envolver, vai muito além disto. Agora que você ja sabe oque significa RPG, e ja sabe pra que ele serve, entao vou tentar explicar como criar seu rpg.. (Créditos: Diogo) Quando você cria um jogo (ou seu OTServ), a segunda coisa que deve fazer (logo depois de denifir os objetivos deste), é criar a história. Pois o jogo seravoltado a ela.. Mas como eu devo faze-lo Exemplo: Se você vê uma pedrinha na rua, com certeza ela tem uma história. Pera ae.. ate uma pedra pode ter uma historia? Uai, porque nao.. analisemos.. Nós podemos criar uma historia que pode girar em torno das seguintes Perguntas: A) Como ela foi feita? B) Como ela saiu do seu local original? C) Por que caminhos ela passou para chegar ali? D) Ela era daquele tamanho ou foi dividida? Bom ae esta apenas uma dica.. de como se fazer uma historia com uma pedra.. (uAHuHA QUE MERDA).. Da mesma forma que uma pedra tem sua história, seu mundo virtual precisa de uma. Na verdade não precisa, mas é útil. Então vamos tentar criar uma QUEST RPGista.. Pra que eu iria querer criar uma quest, RPGista se eu posso simplesmente colocar um baú numa sala e pronto.. Mais uma vez eu o relembro, para representar um papel, o conteudo da peça tem de interessar seus participantes.. Então vamos continuar.. A quest parece muito mais “real” se tem alguma história, algum motivo para existir. E fica melhor ainda, se essa história faz parte, ou interage, com a história do mundo criado. Por exemplo: Se no seu jogo a cidade Amber tem uma história antiga de inimizade com a cidade Aqua, mesmo que a maioria tenha esquecido atualmente, pode existir um NPC em Amber que guarda rancor e te pede para sabotar o suplimento de água da cidade Aqua. Nessa quest, você precisa ir até a nascente do rio que fornece água à cidade, e jogar um pó de veneno. Obviamente, no caminho para essa nascente, alguns outros desafios aguardará o personagem.. Quando a história do jogo está sendo criada, é necessário deixar a imaginação fluir, analisando isto eu nao terminarei esta quest, nao irei colocar que desafios enfrentar, nem nada do gênero.. deixarei sua imaginaçao fluir.. Você pode até mesmo usar a pedrinha, do chao da rua (citada anteriormente) e encaixa-la na quest, como se desse uma dica para descobrir o caminho para a nascente, pois antes de chegar a cidade em que ela se encontra ela ficava nas aguas da nascente.. Acho que eu consegui explicar como você deve criar suas histórias RPGistas (fazendo boas perguntas, usando bastante a imaginação e encaixando uma história a outra) DICA: Tudo do jogo pode – e, em um cenário ideal, deve – ser baseado na história. Agora que você já sabe oque significa RPG, e já sabe pra que ele serve e também sabe como fazé-lo, agora so falta saber como escreve-lo.. (Créditos: Trolie) Fazer um roleplay, é quando você muda a forma como se escreve, larga os velhos critérios de narração e ao mesmo tempo adota uma forma de aventura. Em nosso caso o Roleplay é sobre Tibia, então é presciso estar atento a uma série de fatores que nos ajudam na hora de escrever nossa própria aventura, sem que nada seja chato demais de se ler. Eu não vou ensiná-lo como escrever (até porque eu nao sou professor de PORTUGUêS, e também nao sou muito bom em redigir).. Eu apenas vou mostra-lo a diferença de uma linguagem RPGista por uma sem RPG.. Dialogo Simples (sem RPG) A - Vamos caçar Demon ? B - Qual Ml você esta agora ? A - 54 B - Vai caçar com o que ? A - SD B - Beleza eu bloco A - Ok Vamos ! Dialogo Elaborado (Com RPG) A - Algumas feras demoniacas vermelas, tem atrapalhado a nossa paz por aqui, acho que devemos nos unir e derrota-las. B - Mas você tem estudado para poder evoluir seu entendimento em magia ? A - Acredito que estou preparado o suficiente B - Pretende mata-los como ? A - Com magia negra B - Que nosso destino deseje boa sorte, com meu humilde escudo eu tentarei segura-los para que você possa atacar A - Que assim seja ... DICAS, para amenizar os erros: Na hora de escrever o seu roleplay, é presciso sempre tomar cuidado com algumas coisas que deixam o seu texto "pobre", são elas o Estrangeirismo, uso de girias desnecessarias, ou até mesmo a tradução mal feita de algumas coisas como os equipamentos. Estrangeirismo: Procure nunca ficar incluindo palavras em inglês no seu texto, isso faz com que o rendimento dele sempre caia, e fique meio monótono, evite palavras escritas no dia a dia tibiano como hunt, blocar, pekar, etc. Girias: é sempre bom evitar algumas como lol, gratz, pk!, rox, sux, rofl, omg, por que alem delas estarem deixando o seu texto muito parecido com apenas mais uma gravação de channel, elas tambem utilizam e muito do estrangeirismo. Tradução Procure nunca fazê-la, sempre que for necessario, como nos equipamentos, evite nomes, apenas descreva tal equipamento que a pessoa que esta lendo ira entender suas intenções. EXEMPLO, de como descrever um item sem citar o nome: ITEM- Demon Shield "Era um escudo vermelho, que carregava com uma cara assustadora, dizem lendas que é o escudo do próprio Demônio." Bom, e isto.. Espero ter conseguido explicar e ensinar, por meio de poucas e claras palavras, o famoso RPG. --> obs: se tiver no local errado favor mover.. nao sei ao certo onde posta-lo.. havia posto em materias... mas me disseram estar errado...
    1 ponto
  12. PostadorHunter

    Dat E Spr Do Dbo Brasil

    Iai galaera agora vo passa pra vo6 odat e o spr do dbo brasil Dat: http://www.4shared.com/file/DXPF-Eey/dbo_brasil_dat.html? Spr: http://www.4shared.com/file/RwoDd0tP/Dbo_brasil_spr.html? Gostou rep+
    1 ponto
  13. Olá amigos Xtibianos. Se seu servidor foi apagado da lista, aqui você encontrará um ou mais motivos para a remoção do tópico. Tópico mal feito, bagunçado ou de PÉSSIMA apresentação. Download ou scan inválidos por mais de 1 mês. Downloads com vírus. Scans falsos. Servidores repetidos sem mudanças GRANDE ou NOTÁVEL Dois ou mais servidores iguais. Double-post. Não contendo downloads . etc Sujeito a alerta. -- Alguma duvida do que foi dito no post, favor postar aqui: http://www.xtibia.co...29-atendimento/ Leia também: http://www.xtibia.co...lo-de-postagem/ Equipe Xtibia agradece.
    1 ponto
  14. dwhfms

    Em Breve Test Server: Otavatar

    Saaaalve Galera, tudo bom com vocês? Hoje eu e mais alguns convidados participamos do Test Server Privado do novo projeto incentivado pelo XTibia: O OTavatar. Em breve será aberto um Test Server Público, que servirá para os testadores identificarem os bugs nos sistemas que estão para ser implementados. O servidor está espetacular, isso eu garanto Atenciosamente, Won Helder
    1 ponto
  15. MrPastel

    [8.5X] Modern Aac 1.0.2

    [8.5x] Modern AAC 1.0.2 Bom, como muitas pessoas estão tendo problemas com o Gesior AAC, resolvi postar este outro AAC (Automatic Account Creator). Este website foi desenvolvido pelo PAXTON da otland. O website está funcionando perfeitamente, pois eu mesmo o testei. OBS: Para utilzar essa versão, é nescessário ter o XAMPP 1 . 7. 4 ou qualquer outro server com suporte a PHP 5.3.5. O novo patch do Modern AAC foi liberado, corrigindo vários bugs comuns de outras versão anteriores. v1.0.2 Download http://svn.tech1.org...runk%2F&isdir=1 ( 1 LINK *RECOMENDADO* ) http://www.multiupload.com/8N1ODZRYLQ ( 2 LINK ) Instalação Descompacte todos os arquivos na pasta do seu servidor web, e vá para o website. Processo de instalação deve começar. Migrando: De versões anteriores: Se você está atualizando da versão 1.0, apenas substitua os arquivos, não foram feitas alterações no database, então você não precisa reinstalar. Se você está atualizando de versões anteriores à 1.0, substitua todos os arquivos e instale de novo. Do Gesior AAC: Se você estiver migrando do Gesior AAC, faça backup do seu banco de dados, este sistema não pode trabalhar com banco de dados do Gesior AAC. Dever ser um banco de dados limpo. Screenshot Requriementos PHP 5.3.5+ PDO/MySQLi habilitado. Se você utilizar este CMS, você concorda com nossos termos e condições que devem ser aceitos no processo de instalação. Se você quer ter sempre a versão mais recente (não totalmente testado) use o SVN. Link: http://svn.tech1.org/listing.php - WebSVN - Modern AAC - Rev 265 - / Após a instalação, uma amostra de 5 novos personagens serão criados na conta 1/1. A senha desta conta deve ser mudada imediatamente. Este CMS suporta apenas senhas "SHA1" por enquanto, "plain text" não é permitido. Se você deseja fazer o upgrade da versão 0.1 siga os mesmo passos, substitua todos os arquivos e instale de novo, nenhum dado será perdido. Créditos: 50% Paxton 40% OT Land 10% A Min ( Retirei Alguns Bugs ) --------------------------- Gostou REP + Obrigado MrPastel
    1 ponto
  16. Óla gente, bom to aqui de novo e eu dei uma olhada no xtibia e não tem um tópico explicando sobre raios nas vocations (na verdade tem mais com um script incompleto) Bom, abaixo vai ter um pequeno tutorial e o script. Espero que ajude REP XD Script: Tutorial: Vermelho: O nome da outfit que o personagem vai se transformar Azul: O id da outfit que o personagem vai se transformar Verde: A função que colocara raio na vocation assim que ela se transformar Roxo: A vocation que firaca com raios Laranja: O id do efeito que a vocation ficara assim que transformar Tag Da fuction: addEvent(trans,ext,cid) Onde está de verde é o fuction como estava la em cima. function trans(cid) if getPlayerVocation(cid) == 304 then if getPlayerMana(cid) >= 0 then doSendMagicEffect(getPlayerPosition(cid), 14) addEvent(trans,ext,cid) end end end Onde está 14 é o id do efeito, o id que fica no dateditor. No meu 14 é o id do raio azul. De roxo que é o número da vocation 304 é a vocation que ficara com raios. if getPlayerVocation(cid) == 303 then if getPlayerLevel(cid) >= 50 then doPlayerSetVocation(cid,304) doSetCreatureOutfit(cid, outfit, -1) addEvent(trans,ext,cid) doSendMagicEffect(getPlayerPosition(cid), 233) else doPlayerSendCancel(cid, "You need 50 level to first transform") doSendMagicEffect(getPlayerPosition(cid), 2) end Ali do roxo 304 a vocation acima 303 transformara no 304 quando executar a spell e ja começara a sair os raios. Quando for criar novas vocations basta apenas copiar a fuction ja feita e editar para a vocation que você vai criar.
    1 ponto
  17. Matéria e Discussão de Mapping #2 - Você usa Auto-Border? Olá pessoal, tudo bom? Bom, hoje vim discutir com vocês uma questão muito importante dentro do mapping: O Uso do Auto-Border! Todos nós sabemos que a primeira coisa que é dita a um membro novo na comunidade quando ele posta o seu mapa “todo errado” - juntando tudo contraditório em um mapa só, cheio de espaço vazio e várias coisas mais – é que ele deve parar de usar o auto-border, desliga-lo e usar o Raw. Além disso, alguns membros – minoria, infelizmente – indicam a leitura de tutoriais e participação dos concursos na área. Como mapper, com experiência de pouco mais de um ano – não é nada demais, mas é sim alguma experiência – posso dizer que isso está errado! Não, não é um absurdo, pedir ao jovem mapper para desligar seu auto-border é errado sim, em termos. O uso dessa feature é permitido sim – qual o problema? – mas com moderação. É claro e evidente que nós devemos, na verdade, misturar o uso da ferramenta com o raw, onde podemos ampliar nossas ideias e deixar o mapa mais criativo. Uma clara evidência disso são meus mapas, não faço nada sem usar o auto-border, minhas montanhas, áreas de swamp, cavernas, mar; todos são feitos, pelo menos em 75% com essa ferramenta, e é muito difícil, atualmente, alguém reclamar sobre algo assim. Ou seja, misturar os dois dá certo, e muito. Também é preciso ressaltar que quanto mais você usa o raw, mais criativo o mapa pode se tornar, novos jeitos são formados; e além disso, você vai evoluir bem mais rápido. Porém, para um jovem desesperado no assunto, dizer isso vai aumentar o desespero, e disso vem o triste final, principalmente para o mapping: A desistência. Atualmente, passamos por uma decadência de pessoas trabalhando nessa arte, e comentários abusivos e casos como esse, onde desligar o auto-border se torna algo necessário e obrigatório, perdemos possíveis novos “chau” e outros vários, com qualidade parecida ou maior. Quanto mais incentivo o jovem no assunto recebe, tutoriais, show’s off, aulas, mais motivado ele estará e pode-se pensar novamente em crescer essa bela área de arte que existe no mundo de Open Tibia, que representa o grande corpo de cada servidor, ou um simples show off, bonito e cheio de comentários, o que precisamos hoje em dia. Portanto, deixem que eles apertem a tecla “A” e sejam felizes um pouco – mas é claro, mixando com o raw palette – pois quanto mais fácil é, melhor é. Perguntas para Discussão: Você concorda com a Mistura de Auto-Border e Raw Palette? Por quê? Você acha que a dificuldade “imposta” aos novos membros realmente é um desestimulante? Você usa essa ferramenta? Gostaria de Usar? Por quê? Grande Abraço! Essa matéria foi Postada em http://mdmapping.blogspot.com.br/ - Nesse site se encontram todas as matérias.
    1 ponto
  18. SkyLigh

    Vip 3,4,5 Ajudem

    você colocou akilo no actions.xml que eu mandei ? e coloco o nome do arquivo correto ?
    1 ponto
  19. /\ po cara, eu também estou pensando em ir, eu duelo bem '-' acho isso pq so top win de duel de emerald .-. olha print.. @TOPIC@ Slicer, você irá postar hj?? flws @EDIT@ Jhonsy Isso que você está falando, é "duel System", eu acho "EU ACHO" que precisa de "Soures" para criar um duel System.. ou se eu estiver errado, não precisa de soures.. mais mesmo assim da trabalho..eu acho kk'
    1 ponto
  20. coloca % no host, e já pode conectar o server. já usei banco de dados direto na hospedagem, mas te digo se o banco de dados reiniciar, teu server buga
    1 ponto
  21. @PERNA ALTA Lol só fiz de zueira e não curto rep +, apesar de queria deixar com 100 ahushasa, bem se quiser só falar qual se quer que eu talvez faça quando tiver vontade @Off Vou ler minhas pms e.e povo pedindo coisa lá
    1 ponto
  22. fácil abra seu map editor clique com o botão direito do mouse na house e clica em select house no lado direito da sua tela vai aparecer isso então você clica em Select Exit e coloca do lado de fora da house vai aparecer tipo um blood azul na onde você colocou a exit mais relaxa nao aparece no map vlw
    1 ponto
  23. caotic

    Radio Sytem

    Ola meus queridos estou aqui para demonstrar meu novo sistema de radio. Basicamente e um sistema de comunicação onde um determinado player cria um channel de radio e outro player se conecta a radio assim todas as mensagens que o player mandar sera recebida. Crie um arquivo lua chamado rad em creaturescripts e coloque isto: Na mesma pasta crie outro chamado radlogout Coloque esta tags: Agora vamos registrar evento. Bem e pratico vá em creaturescripts/scripts/login.lua e antes do ultimo return true coloque estas linhas: Ainda não acabou... Vamos agora em talkactions/scripts e crie dois arquivos lua chamados de rad e radio: Em rad coloque isto: function onSay(cid, words, param, channel) function doRegisterRad(cid) setPlayerStorageValue(cid, 82820, 1) setPlayerStorageValue(cid, 82828, param) setPlayerStorageValue(cid, 82826, param) setPlayerStorageValue(cid, 28214, 1) setPlayerStorageValue(cid, 42426, 1) end if(words == "/createrad") then local money = 22 ------------Money necessario para comprar o slot--- local level = 82 -----Level necessario-------- [color=#FF0000]local item = 1952 ----Coloca aki o item que vai ser ganho para gravar o mesmo item de escrever texto de creaturescripts------[/color] if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Diga um nome para criar a radio.") return false end for _, pid in ipairs(getPlayersOnline()) do radi = getPlayerStorageValue(pid, 82828) if (param == radi) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ja existe o nome desta radio.") return false end end if #param < 5 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua radio precisa ter pelo mais que 4 letras") return false end if getPlayerStorageValue(cid, 82820) == 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ja tem a radio "..getPlayerStorageValue(cid, 82828).." para recriar uma radio diga /desrad ou deslogue") return false end if getPlayerStorageValue(cid, 42426) == 1 then doRegisterRad(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Radio "..param.." foi criada") if getPlayerItemCount(cid, item) < 1 then doPlayerAddItem(cid, item) end return true end if not doPlayerRemoveMoney(cid, money) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem o dinheiro suficiente para criar uma slot de radio") return false end if getPlayerLevel(cid) <= level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem o level suficiente para criar uma slot de radio") return false end if isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem premium para criar uma slot de radio") return false end doPlayerRemoveMoney(cid, money) doRegisterRad(cid) doPlayerAddItem(cid, item) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Radio "..param.." foi criada") else str = "Radios Online:\n\n" for _, pid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(pid, 82828) ~= -1 then str = str .. getPlayerStorageValue(pid, 82828) .. " - Dono [(".. getPlayerName(pid) ..")] Level ["..getPlayerLevel(pid).."]\n" end end doShowTextDialog(cid, 1397, str) return true end return true end function onSay(cid, words, param, channel) function doRetireAllStorageRadio(cid) setPlayerStorageValue(cid, 82820, nil) setPlayerStorageValue(cid, 82828, nil) setPlayerStorageValue(cid, 82826, nil) setPlayerStorageValue(cid, 28214, nil) end if(words == "/sintrad") then if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Diga um nome para sintonizar para a radio para ver as radios online diga /checkrad.") return true end if getPlayerStorageValue(cid, 28214) == 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ja esta conectado a uma sintonia ou tem uma radio para conectar desligue com o comando /desrad") return true end setPlayerStorageValue(cid, 82826, param) setPlayerStorageValue(cid, 28214, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Esta conectado a radio "..param.."") return true end if(words == "/desrad") then if getPlayerStorageValue(cid, 28214) == 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você foi desconectado") doRetireAllStorageRadio(cid) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem um radio conectada") return true end return true end Comandos: /createrad (nome da radio) -----Compra um slot infinito e cria uma radio adicionando o item /sintrad(Nome da radio) ---Sintoniza em uma radio /checkrad --------Verifica as radios online /desrad ----Desconecta um slot de radio e desconecta um player de uma radio Configuraçôes O script ja tem as configuraçoes e as explicaçoes. Destaquei em vermelho onde o item de escrita deve ser posto mais atenção não são todos os itens que tem a janela de escrita para que o item funcione deve ser modificados em item.xml eu ultilizei o document se quiser pode fazer uso dele. Bem isto ai vou mandar uma dicas que vão fazer a diferença no scripts: E interessante colocar bastante exigencias para comprar um slot de radio para ter um numero grande de sintonizados. Recomendo colocar exingencia de premuin. E interresante no item da escrita do texto mudar a sprite para uma gravador ou algo parecido pode ser ate uma camera. Você pode perceber um numero grande storage se quiser pode simplificar o script retirando algumas storages desnecessarias.
    1 ponto
  24. pessoal que gosta de PxG, das parede do CP Da PxG, Algumas sprints de Shinys, portrait e morto.. e peguei as sprints e vo decha o link aki pra voces '-' se alguem não consegui a spr do PxG, e quiser algo que eu pegar.. que seja Poko pls!! eu pego asdokdoks @!EDIT@ Eu peguei as oufith do rank 6 do PxG, máis so os taunt delas .. link:
    1 ponto
  25. No caso você quer uma boa IDE? Acho que a mais usada é a eclipse CDT http://www.eclipse.org/cdt/ Pesquisando no google vi que tem gente que gosta do netbeans tb http://netbeans.org/features/cpp/ Caso você não goste de nenhum dos dois, tem também o kdevelop... Abraços Niohundranittionio
    1 ponto
  26. h0rus

    Apresentação Geral

    Tirar o foco do que? hahahahahaha do RPG? Foco do RPG? Esse é o foco do RPG, o pessoal da Elysium ta de parabens, pode contar comigo! xD Té mais! - H0ruS
    1 ponto
  27. Fica assim: local minlevel = 10 -- minimo level para passar local teleport = {x=164,y=53,z=7} --- lugar para onde será teleportado function onUse(cid, item, position, fromPosition, item2, toPosition) if getPlayerLevel(cid) >= minlevel then doTeleportThing(cid, teleport) doSendMagicEffect(teleport, 10) else doPlayerSendTextMessage(cid, 22, "Você precisa ser LvL 300 para passar!") end return true end A linha que verifica se o player já passou ou não é essa: if getPlayerStorageValue(cid, 7219) <= 0 then, ou seja, se o player tiver o storage 7219 ele não pode passar pela porta. Esse storage era dado pela linha: setPlayerStorageValue(cid, 7219,1) assim que o player passasse na porta. Vlw, espero ter ajudado.
    1 ponto
  28. SkyLigh

    Action Que Add Mana Ao Player

    eu tinha ja um desse no meu pc aki esta function onUse(cid, item, frompos, item2, topos) local mana = 100 -- Quanto de mana vai adicionar ao player if item.uid ==7521 then -- Id da quest manastatus = getPlayerStorageValue(cid,7526) if manastatus == 1 then doPlayerSendTextMessage(cid,22,"Você jah pegou sua recompensa.") else doPlayerSendTextMessage(cid,22,"Voce Recebeu 100 de mana") doPlayerAddMana(cid,mana) end return TRUE end end
    1 ponto
  29. local function msgFalse(cid, a) doPlayerSendCancel(cid, a) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end function onUse(cid, item, frompos, item2, topos) local pos, cost = getPlayerPosition(cid), 12000 if item.itemid == 12432 then if #getCreatureSummons(cid) == 0 then if getPlayerLevel(cid) >= 150 then if doPlayerRemoveMoney(cid, cost) then local creature = doSummonCreature("Dragon", pos) doConvinceCreature(cid, creature) doPlayerSay(cid, "Ve " .. getCreatureName(creature) .. "!!!", 1) else msgFalse(cid, "Necesitas " .. cost .. "gps.") end else msgFalse(cid, "Necesitas minimo lvl 150.") end else msgFalse(cid, "Você já tem um summon.") end doSendMagicEffect(topos, 61) end return true end
    1 ponto
  30. o xamp ou o wamp ta aberto ??? se for wamp tem q colocar :80 ou se tier mudado :8090
    1 ponto
  31. shadow2012

    [Encerrado] [Pokemon] Dúvidas? - Pda

    @Raiat diamond.xml diamond.lua
    1 ponto
  32. @StyloMaldoso pode tar em qlqr lugar.. mas eh por isso q manda o aviso q vai começa 10min e 5min antes.. mas tb n eh impossivel fazer pra soh se tiver na golden arena... eu n tinha colocado a msg das Waves.. mas ja coloquei aki agora ^^ @ZerefShirou hum.. ja eh um começo ms... ;p quem sabe essa seja a proxima coisa a tentar fazer ^^ ty.. @lucasf1 pra aparecer o level pra usar o move na pokedex... eu fiz assim.. em lib/pokedex system.lua.. ache essa parte.. e deixe assim... @Kurobisu pretendo disponibilizar ele amanha, ou no maximo quarta... soh to testando mais alguns bugs e pensando no tutorial pra adicionar ela... -talvez poste o serv sem lvl system e a versao 2.0 do com lvl system ja com a golden.. mas to me decidindo ainda..- @drakinho oia... muda o ML pro lvl do poke n eh dificil.. agora ele ficar enxendo conforme o lvl do poke... dai eh outraaaaaa historia.. e achu q dai sim soh nas sources... sei la.. ;p
    1 ponto
  33. Olá, Spraypaint Seu tutorial está muito bem detalhado com imagens e extremamente conciso e de fato venho notando a crescente demanda por tutoriais que ensinem a criar dois itens com a mesma sprite na área de suporte. Estarei reportando para aprovação em Outros Tutoriais. Um grande abraço.
    1 ponto
  34. Tchubaka

    [Duvida] Editar Mapa Wodbo

    sim sim. ^^ olha isso. e bem explicado. http://tibiatotal.blogspot.com.br/2011/12/versao-6.html
    1 ponto
  35. gustavo3754

    [RE-UPADO] Wodbo Hunter

    eu fiz o wodbo crazzy vo passa o link pra você man, olha como so legal vo passar um server mais adaptado vo editar esse post assim q postar o servidor. ---EDITED--- Ai como eu prometi fiz um server na versão v2 ta no msm topico do wodbo by crazzymaster, pra quem ainda não viu ta ai TOPICO Flw abraço REP la
    1 ponto
  36. Recomendado pra scripters com um pouco de experiência. Essa é uma Função que adiciona Age (idade) em seus pokemons, ela faz com que seu pokemon comece com 0 anos e 0 meses e 'cresca' de acordo com o tempo, quanto mais velho ele aumenta seu dano critico. A função é minha, do Pokemon Fight V3, adptei-la para o Dash Advance, para adicioná-la corretamente é preciso alterar o catch, por isso pode ser bem chato pra quem não entende. Vamos lá. ------------------------------------------------------------------------------------------------------------------------------------------------ LIB: ------------------------------------------------------------------------------------------------------------------------------------------------ . Abra data\lib\catch system.lua . Procure por local happy = 140 .adicione em baixo: local day = os.date("%d") local year = os.date("%Y") local month = os.date("%m") .ficando assim . Procure por doItemSetAttribute(item, "description", description) .adicione em baixo: doItemSetAttribute(item, "pokeballinfo", "".. day .."/".. month .."/".. year .."/"..getCreatureName(cid).."") -- CATCH INFORMATION: dia/mes/ano/player .ficando assim . Crie data\lib\age system.lua ------------------------------------------------------------------------------------------------------------------------------------------------ CREATURESCRIPTS: ------------------------------------------------------------------------------------------------------------------------------------------------ . Abra \data\creaturescripts\scripts\look.lua . Em "if isPokeball(thing.itemid) then" Procure por if getItemAttribute(thing.uid, "gender") == SEX_MALE then str = str.."It is male." elseif getItemAttribute(thing.uid, "gender") == SEX_FEMALE then str = str.."It is female." else str = str.."It is genderless." end .adicione em baixo . Ficando assim ------------------------------------------------------------------------------------------------------------------------------------------------ OBS: Apenas os pokemons de catch vao ter idade, outros pokémons como os de quests e box devem ser alterados em seus respectivos scripts, se tiver tendo problemas remova a linha indicada acima p/ desativar o sistema. OBS2: O Look está configurado pra mostrar quando se olha na pokeball, quem quiser que mostre idade no poke, podendo assim ver de outros players me mande PM e REP+ ^^. ------------------------------------------------------------------------------------------------------------------------------------------------ Pra mais actions e scripts de pokemon dash veja minha assinatura! talkactions.rar
    1 ponto
  37. notle

    [Encerrado] [Pokemon] Dúvidas? - Pda

    pega ai loot http://www.4shared.com/rar/XeSljsTs/LOOT.html
    1 ponto
  38. peewee

    Mapa Poketibia[Próprio]

    Olá Galera. Esse mapa era da equipe que eu estava fazendo, mais pelo adm parecer uma criança, sai da equipe e decidi postar. Vale lembrar que mapa foi 100% feito por Min PeeWee, Alguns podem estranhar estar escrito ByShawns, mais sou eu tambem. Download : Scan : Imagens : Créditos : PeeWee
    1 ponto
  39. -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...