Ir para conteúdo

iErrorzz

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    iErrorzz recebeu reputação de Gnius em (Resolvido)[Pedido] Comando phpmyadmin   
    Manda todos para o templo:
     
    UPDATE players SET posx = 160, posy = 54, posz = 7; Reseta a mana/máximo de mana e a vida/máximo de vida
    UPDATE players SET health = 10, healthmax = 10, mana = 10, manamax = 10, level = 8; Resetar skills:
    UPDATE player_skills SET value= 10; Resetar Magic Level:
     
    UPDATE players SET maglevel= 0;
  2. Gostei
    iErrorzz recebeu reputação de Barinsky em (DUVIDA) Host Linux   
    Voce Tem q editar O arquivo que Voce quer no seu Pc, dps Abrir o filezilla e por la o arquivo editado na pasta do Ot, Ai so Reiniciar o Servidor pelo Putty
    Ja Conscegui Por o Baiak 8.6 By Bryaaan Com site Em vps Linux Ubuntu 14.04 Tá até agora aki a pasta com a distro compilada 
  3. Gostei
    iErrorzz recebeu reputação de Thunder Black em [Pedido] Live cast.php informativo   
    Pode ser esse ? Se for esse so traduzila 
    <?php $cache_sec = 10; $info = array( 0 => array('Mexico', '04/03/2014') ); $id=0; $text1 = ' <p>Currently This Server is the only with a unique system of broadcasting game in the current time. System is based on an official TibiaCast.</p> <p>You can enter a live stream by login into the game without entering any account number and password. Just don\'t write anything in those 2 fields and just press enter. A list of all available casts will appear shortly and you choose the one you would like to watch. After login into the cast, you can talk with other audiences and a person that is broadcasting.</p> <p>To make your own broadcast, you must login to your account and use a command <strong>/cast on</strong>. </p> <p>Full command list can be found below.</p> '; $text2 = ' <p><strong>Currently available commands for spectators:</strong><br /> /show - display the amount of currently active spectators<br /> /name - change your name on chat with player and other spectators<br /> /auth - authenticate to an exisiting cast (required with chat proctetion)</p> <p><strong>Available commands for streaming players:</strong><br /> /cast on - enables the stream<br /> /cast off - disables the stream<br /> /cast password {password} - sets a password on the stream<br /> /cast password off - disables the password protection<br /> /cast auth on - enables requirement of authentication on chat<br /> /cast auth off - disables requirement of authentication on chat<br /> /cast kick {name} - kick a spectator from your stream<br /> /cast ban {name} - locks spectator IP from joining your stream<br /> /cast unban {name} - removes banishment lock<br /> /cast bans - shows banished spectators list<br /><br /> /cast mute {name} - mutes selected spectator from chat<br /> /cast unmute {name} - removes mute<br /> /cast mutes - shows muted spectators list<br /> /cast show - displays the amount and nicknames of current spectators<br /> /cast status - displays stream status</p> '; if(isset($_POST['world'])) { $f = null; foreach($config['site']['worlds'] as $k => $v) if($v == $_POST['world']) { $f = true; $id = $k; break; } if(!$f) $_POST['world'] = $config['site']['worlds'][0]; } else $_POST['world'] = $config['site']['worlds'][0]; $order = 'name_asc'; if(isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('name_desc', 'level_asc','level_desc','vocation_asc','vocation_desc'))) $order = $_REQUEST['order']; if(count($config['site']['worlds']) > 1) { $main_content = '<form action="?subtopic=whoislive" method="post"> <div class="TableContainer"> <table class="Table1" cellpadding="0" cellspacing="0"> <div class="CaptionContainer"> <div class="CaptionInnerContainer"> <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span> <div class="Text">World Selection</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> </div> </div> <tr> <td> <div class="InnerTableContainer"> <table width="100%"> <tr> <td style="vertical-align:middle" class="LabelV150">World Name:</td> <td style="width:170px"> <select size="1" name="world" style="width:165px">'; foreach($config['site']['worlds'] as $v) $main_content .= '<option value="'.$v.'"'.($v == $_POST['world'] ? ' selected="selected"' : '').'>'.$v.'</option>'; $main_content .= ' </select> </td> <td style="text-align:left"> <div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)"> <div onmouseover="MouseOverBigButton(this)" onmouseout="MouseOutBigButton(this)"><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif)"></div> <input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif"/> </div> </div> </td> </tr> </table> </div> </td> </tr> </table> </div> </form><br/> '; } $main_content .= '<div class="TableContainer"> <table class="Table1" cellpadding="0" cellspacing="0"> <div class="CaptionContainer"> <div class="CaptionInnerContainer"> <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span> <div class="Text">World Information</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> </div> </div> <tr> <td> <div class="InnerTableContainer"> <table width="100%"> <tr> <td class="LabelV150">Status:</td> <td>O'.($config['status']['serverStatus_online'] == 1 ? 'n' : 'ff').'line</td> </tr> <tr> <td class="LabelV150">Players Casting:</td> <td>'; $f = 'cache/whoislive-'.$_POST['world'].'-'.$order.'.tmp'; if(file_exists($f) && filemtime($f) > (time() - $cache_sec)) { $cp = file_get_contents($f); } else { $cp = ''; $n = 0; $q = 'SELECT name,level,vocation,promotion,viewers, looktype, lookbody, looklegs, lookhead, lookfeet, lookaddons FROM players WHERE world_id='.$id.' AND broadcasting=1'; if(in_array($order, array('name_asc','name_desc','level_asc','level_desc'))) $q .= ' ORDER BY '.str_replace('_', ' ', $order); if(in_array($order, array('vocation_asc','vocation_desc'))) { $a = array(); $q .= ' ORDER BY level desc'; foreach($SQL->query($q)->fetchAll() as $p) $a[] = array($p['name'], $p['level'], $vocation_name[$p['promotion']][$p['vocation']], $p['looktype'], $p['lookhead'], $p['lookbody'], $p['looklegs'], $p['lookfeet'], $p['lookaddons'], $p['viewers']); function cmp($a, $b) { return $a[2][0] == $b[2][0] ? 0 : $GLOBALS['order'] == 'vocation_asc' ? ($a[2][0] < $b[2][0] ? -1 : 1) : ($a[2][0] > $b[2][0] ? -1 : 1); } usort($a, 'cmp'); foreach($a as $p) { $n++; $cp .= '<tr class="'.(is_int($n/2)?'Even':'Odd').'" style="text-align:right"><td><img src="outfitter.php?id='.$p[3].'&addons='.$p[8].'&head='.$p[4].'&body='.$p[5].'&legs='.$p[6].'&feet='.$p[7].'" width="64" height="64"/></td><td style="width:70%;text-align:left"><a href="?subtopic=characters&name='.urlencode($p[0]).'">'.$p[0].'</a></td><td style="width:10%">'.$p[1].'</td><td style="width:20%">'.$p[2].'</td><td>'.$p[9].'/50</td></tr>'; } } else { $l = array(); foreach($SQL->query($q)->fetchAll() as $p) { $n++; $cp .= '<tr class="'.(is_int($n/2)?'Even':'Odd').'" style="text-align:right"><td><img src="outfitter.php?id='.$p['looktype'].'&addons='.$p['lookaddons'].'&head='.$p['lookhead'].'&body='.$p['lookbody'].'&legs='.$p['looklegs'].'&feet='.$p['lookfeet'].'" width="64" height="64"/></td><td style="width:70%;text-align:left">'; if($order == 'name_asc') { $tmp = strtoupper($p['name'][0]); if(!in_array($tmp, $l)) { $l[] = $tmp; $cp .= '<a name="'.$tmp.'"></a>'; } } $cp .= '<a href="?subtopic=characters&name='.urlencode($p['name']).'">'.$p['name'].'</a></td><td style="width:10%">'.$p['level'].'</td><td style="width:20%">'.$vocation_name[$p['promotion']][$p['vocation']].'</td><td>'.$p['viewers'].'/50</td></tr>'; } } file_put_contents($f, $cp); } $main_content .= $n.'</td> </tr> </table> </div> </td> </tr> </table> </div><br/> '.$text1.' <div class="TableContainer"> <table class="Table2" cellpadding="0" cellspacing="0"> <div class="CaptionContainer"> <div class="CaptionInnerContainer"> <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span> <div class="Text">Players Casting'; if($order == 'name_asc') $main_content .= '<span class="TableHeadlineNavigation"> [ <a href="#A">A</a> <a href="#B">B</a> <a href="#C">C</a> <a href="#D">D</a> <a href="#E">E</a> <a href="#F">F</a> <a href="#G">G</a> <a href="#H">H</a> <a href="#I">I</a> <a href="#J">J</a> <a href="#K">K</a> <a href="#L">L</a> <a href="#M">M</a> <a href="#N">N</a> <a href="#O">O</a> <a href="#P">P</a> <a href="#Q">Q</a> <a href="#R">R</a> <a href="#S">S</a> <a href="#T">T</a> <a href="#U">U</a> <a href="#V">V</a> <a href="#W">W</a> <a href="#X">X</a> <a href="#Y">Y</a> <a href="#Z">Z</a> ]</span>'; $main_content .= '</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> </div> </div> <tr> <td> <div class="InnerTableContainer"> <table width="100%"><tr class="LabelH"><td>Outfit</td><td style="text-align:left;width:90%">Name<small style="font-weight:normal">[<a href="?subtopic=whoislive&world='.$_POST['world'].'&order=name_'.($order == 'name_asc' ? 'desc' : 'asc').'">sort</a>]</small> <img class="sortarrow" src="'.$layout_name.'/images/'.($order == 'name_asc' ? 'content/order_desc' : ($order == 'name_desc' ? 'content/order_asc' : 'news/blank')).'.gif"/></td><td>Level<small style="font-weight:normal">[<a href="?subtopic=whoislive&world='.$_POST['world'].'&order=level_'.($order == 'level_asc' ? 'desc' : 'asc').'">sort</a>]</small> <img class="sortarrow" src="'.$layout_name.'/images/'.($order == 'level_asc' ? 'content/order_desc' : ($order == 'level_desc' ? 'content/order_asc' : 'news/blank')).'.gif"/></td><td>Vocation<small style="font-weight:normal">[<a href="?subtopic=whoislive&world='.$_POST['world'].'&order=vocation_'.($order == 'vocation_asc' ? 'desc' : 'asc').'">sort</a>]</small> <img class="sortarrow" src="'.$layout_name.'/images/'.($order == 'vocation_asc' ? 'content/order_desc' : ($order == 'vocation_desc' ? 'content/order_asc' : 'news/blank')).'.gif"/></td><td>Spectators</td></tr>'.(strlen($cp) ? $cp : '<tr><td colspan="4" class="Even">There are no players streaming right now.</td></tr>').' </table> </div> </table></div></td></tr>'.$text2.'<br/><form action="?subtopic=characters" method="post"><div class="TableContainer"> <table class="Table1" cellpadding="0" cellspacing="0"> <div class="CaptionContainer"> <div class="CaptionInnerContainer"> <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span> <div class="Text">Search Character</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> </div> </div> <tr> <td> <div class="InnerTableContainer"> <table width="100%"><tr><td style="vertical-align:middle" class="LabelV150">Character Name:</td><td style="width:170px"><input style="width:165px" name="name" value="" size="29" maxlength="29"/></td><td><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)"><div onmouseover="MouseOverBigButton(this)" onmouseout="MouseOutBigButton(this)"><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif)"></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif"></div></div></td></tr> </table> </div> </table></div></td></tr></form></center>'; ?>
  4. Gostei
    iErrorzz deu reputação a Natanael Beckman em Trade OFF - Shop Offline   
    Esse sistema disponibiliza uma negociação offline, onde você oferta um item e esse item é divulgado no site do server e qualquer player pode comprar o item utilizando um comando especificado.
     
    Crie uma arquivo .lua dentro da pasta data/talkactions/scripts com o nome auctionsystem.lua, dentro do mesmo adicione o code:
    local config = {         levelRequiredToAdd = 20,         maxOffersPerPlayer = 5,         SendOffersOnlyInPZ = true,         blocked_items = {2165, 2152, 2148, 2160, 2166, 2167, 2168, 2169, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2343, 2433, 2640, 6132, 6300, 6301, 9932, 9933}         } function onSay(cid, words, param, channel)         if(param == '') then                 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")                 return true         end         local t = string.explode(param, ",")         if(t[1] == "add") then                 if((not t[2]) or (not t[3]) or (not t[4])) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")                         return true                 end                 if(not tonumber(t[3]) or (not tonumber(t[4]))) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't set valid price or items count.")                         return true                 end                 if(string.len(t[3]) > 7 or (string.len(t[4]) > 3)) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This price or item count is too high.")                         return true                 end                 local item = getItemIdByName(t[2])                 if(not item) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.")                         return true                 end                 if(getPlayerLevel(cid) < config.levelRequiredToAdd) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have required (" .. config.levelRequiredToAdd .. ") level.")                         return true                 end                 if(isInArray(config.blocked_items, item)) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This item is blocked.")                         return true                 end                 if(getPlayerItemCount(cid, item) < (tonumber(t[4]))) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you don't have this item(s).")                         return true                 end                 local check = db.getResult("SELECT `id` FROM `auction_system` WHERE `player` = " .. getPlayerGUID(cid) .. ";")                 if(check:getID() == -1) then                 elseif(check:getRows(true) >= config.maxOffersPerPlayer) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't add more offers (max. " .. config.maxOffersPerPlayer .. ")")                         return true                 end                 if(config.SendOffersOnlyInPZ) then                             if(not getTilePzInfo(getPlayerPosition(cid))) then                                 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You must be in PZ area when you add offert to database.")                                 return true                         end                 end                 if(tonumber(t[4]) < 1 or (tonumber(t[3]) < 1)) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to type a number higher than 0.")                         return true                 end                                 local itemcount, costgp = math.floor(t[4]), math.floor(t[3])                 doPlayerRemoveItem(cid, item, itemcount)                 db.executeQuery("INSERT INTO `auction_system` (`player`, `item_name`, `item_id`, `count`, `cost`, `date`) VALUES (" .. getPlayerGUID(cid) .. ", \"" .. t[2] .. "\", " .. getItemIdByName(t[2]) .. ", " .. itemcount .. ", " .. costgp ..", " .. os.time() .. ")")                                 doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You successfully add " .. itemcount .." " .. t[2] .." for " .. costgp .. " gps to offerts database.")         end         if(t[1] == "buy") then                 if(not tonumber(t[2])) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.")                         return true                 end                 local buy = db.getResult("SELECT * FROM `auction_system` WHERE `id` = " .. (tonumber(t[2])) .. ";")                 if(buy:getID() ~= -1) then                         if(getPlayerMoney(cid) < buy:getDataInt("cost")) then                                 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have enoguh GP.")                                 buy:free()                                 return true                         end                         if(getPlayerName(cid) == getPlayerNameByGUID(buy:getDataInt("player"))) then                                 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you can't buy your own items.")                                 buy:free()                                 return true                         end                         if(getPlayerFreeCap(cid) < getItemWeightById(buy:getDataInt("item_id"), buy:getDataInt("count")))then                                 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You try to buy a " .. buy:getDataString("item_name") .. ". It weight " .. getItemWeightById(buy:getDataInt("item_id"), buy:getDataInt("count")) .. " cap oz. and you have only " .. getPlayerFreeCap(cid) .. " oz. free capacity. Put some items to depot and try again.")                                 buy:free()                                 return true                         end                         if(isItemStackable((buy:getDataString("item_id")))) then                                 doPlayerAddItem(cid, buy:getDataString("item_id"), buy:getDataInt("count"))                         else                                 for i = 1, buy:getDataInt("count") do                                         doPlayerAddItem(cid, buy:getDataString("item_id"), 1)                                 end                         end                         doPlayerRemoveMoney(cid, buy:getDataInt("cost"))                         db.executeQuery("DELETE FROM `auction_system` WHERE `id` = " .. t[2] .. ";")                         doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You bought " .. buy:getDataInt("count") .. " ".. buy:getDataString("item_name") .. " for " .. buy:getDataInt("cost") .. " gps!")                         db.executeQuery("UPDATE `players` SET `auction_balance` = `auction_balance` + " .. buy:getDataInt("cost") .. " WHERE `id` = " .. buy:getDataInt("player") .. ";")                         buy:free()                 else                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.")                 end         end         if(t[1] == "remove") then                 if((not tonumber(t[2]))) then                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.")                         return true                 end                                 if(config.SendOffersOnlyInPZ) then                                             if(not getTilePzInfo(getPlayerPosition(cid))) then                                                 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You must be in PZ area when you remove offerts from database.")                                                 return true                                         end                 end                 local delete = db.getResult("SELECT * FROM `auction_system` WHERE `id` = " .. (tonumber(t[2])) .. ";")                         if(delete:getID() ~= -1) then                         if(getPlayerGUID(cid) == delete:getDataInt("player")) then                                 db.executeQuery("DELETE FROM `auction_system` WHERE `id` = " .. t[2] .. ";")                                 if(isItemStackable(delete:getDataString("item_id"))) then                                         doPlayerAddItem(cid, delete:getDataString("item_id"), delete:getDataInt("count"))                                 else                                         for i = 1, delete:getDataInt("count") do                                                 doPlayerAddItem(cid, delete:getDataString("item_id"), 1)                                         end                                 end                                 doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your offert has been deleted from offerts database.")                         else                                 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This is not your offert!")                         end                 delete:free()                 else                         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.")                 end         end         if(t[1] == "withdraw") then                 local balance = db.getResult("SELECT `auction_balance` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";")                 if(balance:getDataInt("auction_balance") < 1) then                         doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don't have money on your auction balance.")                         balance:free()                         return true                 end                 doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You got " .. balance:getDataInt("auction_balance") .. " gps from auction system!")                 doPlayerAddMoney(cid, balance:getDataInt("auction_balance"))                 db.executeQuery("UPDATE `players` SET `auction_balance` = '0' WHERE `id` = " .. getPlayerGUID(cid) .. ";")                 balance:free()         end         return true end Em seguida em talkactions.xml adicione a tag:
    <talkaction words="!offer" event="script" value="auctionsystem.lua"/> No banco de dados execute as querys:
    CREATE TABLE `auction_system` (   `id` int(11) NOT NULL auto_increment,   `player` int(11),   `item_id` int(11),   `item_name` varchar(255),   `count` int(11),   `cost` int(11),   `date` int(11),   PRIMARY KEY  (`id`) ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ALTER TABLE `players` ADD `auction_balance` INT( 11 ) NOT NULL DEFAULT '0'; Na pasta do seu site crie um arquivo chamado tradeoff.php, em seguida adicione o code:
    <?PHP $auctions = $SQL->query('SELECT `auction_system`.`player`, `auction_system`.`id`, `auction_system`.`item_name`, `auction_system`.`item_id`, `auction_system`.`count`, `auction_system`.`cost`, `auction_system`.`date`, `players`.`name` FROM `auction_system`, `players` WHERE `players`.`id` = `auction_system`.`player` ORDER BY `auction_system`.`id` DESC')->fetchAll(); $players = 0;             $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><b>Instruction<b></TD></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD><center><h2>Commands</h2><b>!offer add, itemName, itemPrice, itemCount</b><br /><small>example: !offer add, plate armor, 500, 1</small><br /><br /><B>!offer buy, AuctionID</b><br /><small>example: !offer buy, 1943</small><br /><br /><b>!offer remove, AuctionID</b><br /><small>example: !offer remove, 1943</small><br /><br /><b>!offer withdraw</b><br /><small>Use this command to get money for sold items.</small></center></TR></TD></TABLE><br />';     if(empty($auctions))     {         $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><b>Auctions</b></td></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD>Currently is no one active Auction.</TD></TR></TABLE>';         $main_content .= '<br /><p align="right"><small>System created by <a href="http://otland.net/members/vDk/">vDk</a>.</small></p>';     }     else     {     foreach($auctions as $auction) {         $players++;             if(is_int($players / 2))                 $bgcolor = $config['site']['lightborder'];             else                 $bgcolor = $config['site']['darkborder'];         $cost = round($auction['cost']/1000, 2);         $content .= '<TR BGCOLOR='.$bgcolor.'><TD><center>'.$auction['id'].'</center></TD><TD><center><img src="/item_images/'.$auction['item_id'].'.gif"/></center></TD><TD><center>'.$auction['item_name'].'</center></TD><TD><center><a href="?subtopic=characters&name='.urlencode($auction['name']).'">'.$auction['name'].'</a></center></TD><TD><center>'.$auction['count'].'</center></TD><TD><center>'.$cost.'k<br /><small>'.$auction['cost'].'gp</small></center></TD><TD><center>!offer buy, '.$auction['id'].'</center></TR>';     }          $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><b><center>ID</center></b></TD><TD class="white"><b><center>#</center></b></TD><TD class="white"><b><center>Item Name</center></b></TD><TD class="white"><b><center>Player</center></b></TD><TD class="white"><b><center>Count</center></b></TD><TD class="white"><b><center>Cost</center></b></td><TD class="white"><b><center>Buy</center></b></td></TR>'.$content.'</TABLE>';     $main_content .= '<br /><p align="right"><small>System created by <a href="http://otland.net/members/vdk.1553/">vDk</a>.</small></p>'; }     ?>  Em layouts.php adcione o code:
                                    <a href="?subtopic=tradeoff">                                         <div id="submenu_tradeoff" 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_tradeoff" class="ActiveSubmenuItemIcon" style="background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);"></div>                                                 <div id="ActiveSubmenuItemLabel_tradeoff" class="SubmenuitemLabel">Trade Off</div>                                                 <div class="RightChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div>                                         </div>                                 </a> Pra finalizar em index.php adicione esse code:
    case "tradeoff";    $topic = "Trade Off";    $subtopic = "tradeoff";    include("tradeoff.php"); break;
    -
    E pronto galera clica em GOSTEI e comenta no tópico.
     
  5. Gostei
    iErrorzz recebeu reputação de seminu em O que é anti salt e cast system?   
    Cast system Permite você Ver o outro personagem Sem por a senha da conta da pessoa
    é Tipo 1 sistema de TV

    E o anti salt é oq permite usar o account manager é o site ao mesmo tempo
  6. Gostei
    iErrorzz deu reputação a Radiel em (Resolvido)Erro Mysql   
    tenta adicionar isso;
    ALTER TABLE players ADD broadcasting int(11)

    E logo após mude o valor de quando cria a conta para "0"
  7. Gostei
    iErrorzz recebeu reputação de eliasferro em Pedido Account Mananger Modificado   
    Opa Eu vi em Muitos Servers, Account Manager, Que Marca palavras em Azul e abre 1 Chanel So para o Account Mananger
    Queria que Alguem Me manda-se o codigo Para eu por na distro Muito obrigado a todos 
     

     
    login.lua



  8. Gostei
    iErrorzz deu reputação a Lyu em Anti Divulgação em LUA   
    Testado apenas em TFS 0.4
     
    Em "Data/talkactions", no arquivo talkactions.xml, adicione a tag:
    <talkaction default="yes" filter="quotation" logged="no" hidden="yes" event="script" value="antidiv.lua"/> Em "Data/talkactions/scripts", crie um arquivo.LUA e renomeie para antidiv.lua, apague tudo e cole:
    local words_, prev = {"org","no-ip","net","com","pl","biz","servegame","br","sytes","info"}, {".",",",";"} function onSay(cid, words)         for _, w in ipairs(words_) do         for _, p in ipairs(prev) do             if(words:lower():find(p..''..w, 1, true)) then                 return doPlayerSendCancel(cid, 'You can\'t send this message.')                 end         end     end end Na tabela prev..
     
    Você pode adicionar na tabela, o que vem antes de "net", "org" e etc..
    ex : se eu adicionar um til "~", não vai dá pra divulgar assim : "www.etcetc~org"
    {".",",",";"} Já existem 'ponto', 'vírgula' e 'ponto e vírgula' dentro da tabela.
    Então é impossível divulgar dos seguintes modos :
     
    entrem aqui otfodao.com
    entrem nesse ot baiakzikaofodapakas,com
    novo ot lançado hoje, entrem www.otnoob;net
     
     
    Créditos : EU
  9. Gostei
    iErrorzz deu reputação a Movie em (Resolvido)Remover red e blackskull por item   
    Remove os frags também
  10. Gostei
    iErrorzz recebeu reputação de Joa1 Grasshopper em Hospedagem de Servidor Narutibia   
    Weblara é Barata mais n tem proteção, ja vi 2 vps deles que Da 1 attack, a Vps reinicia sozinha, Nao recomendo !
  11. Gostei
    iErrorzz recebeu reputação de PedroUchiha em Hospedagem de Servidor Narutibia   
    Weblara é Barata mais n tem proteção, ja vi 2 vps deles que Da 1 attack, a Vps reinicia sozinha, Nao recomendo !
  12. Gostei
    iErrorzz deu reputação a Caronte em Query q Deleta os Chars inativos sqlite   
    DELETE FROM `players` WHERE `lastlogin` < ( Numero que voce pegou do UNIX_TIMESTAMP() ) - 20 * 24 * 60 * 60
  13. Gostei
    iErrorzz deu reputação a Caronte em Query q Deleta os Chars inativos sqlite   
    DELETE FROM `players` WHERE `name` <> 'Account Manager' AND `level` = 8;
  14. Gostei
    iErrorzz deu reputação a Wakon em (Resolvido)Ajuda em quest vip   
    Tente assim:
    local t = { storage = 34534 } function onUse(cid, item, fromPos, itemEx, toPos)    if getPlayerStorageValue(cid, t.storage) <= 0 then       doPlayerSendTextMessage(cid, 25, "Você agora é VIP.")       setPlayerStorageValue(cid, t.storage, 1)          else       doPlayerSendTextMessage(cid, 25, "Você já é VIP.")    end   return true end
  15. Gostei
    iErrorzz deu reputação a Caronte em Query q Deleta os Chars inativos sqlite   
    DELETE FROM `players` WHERE `name` <> 'Account Manager' AND `level` = 8 AND `lastlogin` < ( Numero que voce pegou do UNIX_TIMESTAMP() ) - 20 * 24 * 60 * 60 Se não funcionar tente trocar <> por != 
  16. Gostei
    iErrorzz deu reputação a Wakon em (Resolvido)Ajuda em quest vip   
    Você pode usar uma storage como VIP, script do baú:
    Em "Data/actions/scripts" copie e cole um arquivo.LUA e renomeie para VIPT.lua, apague tudo e cole:
    local t = { storage = 34534 } function onUse(cid, item, fromPos, itemEx, toPos)    if getPlayerStorageValue(cid, t.storage) <= 0 then       doPlayerSendTextMessage(cid, 22, "Você agora é VIP.")       setPlayerStorageValue(cid, t.storage, 1)          else       doPlayerSendTextMessage(cid, 22, "Você já é VIP.")    end   return true end Em "Data/actions" abra o actions.xml e adicione a tag:
    <action actionid="XXX" event="script" value="VIPT.lua"/> Coloque a actionID desejada em XXX e coloque ela no baú.
     

    Tile VIP:
    Em "Data/movements/scripts" copie e cole um arquivo.LUA e renomeie para tileVIP.lua, apague tudo e cole:
    local t = { storage = 34534 } function onStepIn(cid, item, position, fromPosition)     if not isPlayer(cid) then     return true     end     if getPlayerStorageValue(cid, t.storage) >= 1 then        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bem-Vindo a área VIP.")        doSendMagicEffect(getPlayerPosition(cid), 13)     else        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não é VIP.")        doTeleportThing(cid, fromPosition)     end    return TRUE end Agora em "Data/movements" abra o movements.xml e adicione a tag:
    <movevent type="StepIn" actionid="XXX" event="script" value="tileVIP.lua" /> Em XXX coloque a actionID desejada e coloque ela no piso da entrada VIP.
  17. Gostei
    iErrorzz deu reputação a Nightz em OT Server Ready - Apache + MySQL + phpmyadmin + bibliotecas   
    O OT Server Ready (OSR) é um software básico que desenvolvi juntamente com o apoio da 4YouStart feito para auxiliar aqueles que tem mais dificuldade com a parte de infraestrutura.
     
    Veja funcionando:
     
     
    Avisos:
    O software está em BETA. Em caso de qualquer problema envie uma resposta nesse post. Quero lembrar que qualquer cópia dessa postagem sem a devida autorização não é permitida.  
    O OSR instala e configura os seguintes softwares/bibliotecas (visão geral):
     
    - Apache2 - php5 - MySQL 5.5 - phpmyadmin - Todas bibliotecas para compilar/rodar um OT Server O sistema suporta os seguintes sistemas operacionais:
    Debian 7.x Ubuntu 12.x Ubuntu 14.x Para instalar o OT Server Ready, utilize as seguintes instruções:
    Lembrete: utilize-o apenas em um servidor novo, recém formatado.
     
    Para instalar no Debian:
    apt-get update apt-get install -y gcc wget http://scripts.4youstart.com/ot-server-ready-debian chmod 777 ot-server-ready-debian ./ot-server-ready-debian SENHA Para instalar no Ubuntu:
    apt-get update apt-get install -y gcc wget http://scripts.4youstart.com/ot-server-ready-ubuntu chmod 777 ot-server-ready-ubuntu ./ot-server-ready-ubuntu SENHA Substitua a palavra "SENHA" na última linha da instalação pela senha que deseja utilizar no phpmyadmin e MySQL. Recomenda-se que utilize a mesma senha do que a senha do servidor, mas pode utilizar qualquer uma.
     
    Versão atual do Software:
    v0.2 [23/11/2015] Lista de bibliotecas instaladas:
    v0.1: apache2 php5 libapache2-mod-php5 php5-mcrypt mysql-client-5.5 mysql-server-5.5 mysql-common libboost-all-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++ libcurl4-openssl-dev phpmyadmin v0.2: zip unzip build-essential libboost-dev libwww-perl ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev libssl-dev   Façam bom proveito

    Foi anexado ao post o script para ubuntu
    ot-server-ready-ubuntu
  18. Gostei
    iErrorzz deu reputação a Caronte em Query q Deleta os Chars inativos sqlite   
    Você tem MySQL aberto?
     
    o SQLite não tem a função "UNIX_TIMESTAMP()" , então, foi um gênio que fez esse modelo...
     
     
     
    você pode executar  UNIX_TIMESTAMP() , no MYSql , e depois fazer assim:
    DELETE FROM `players` WHERE `level` < 50 AND `lastlogin` < ( Numero que voce pegou do UNIX_TIMESTAMP() ) - 20 * 24 * 60 * 60 Recomendo você usar o query no mesmo tempo que pegar o UNIX_TIMESTAMP() , porque ele muda,  tipo o os.time() do lua...

    Pra pegar ele use:
    SELECT UNIX_TIMESTAMP();
  19. Gostei
    iErrorzz deu reputação a Wakon em (Resolvido)Ajuda em Tirar os Golds iniciais   
    Você tem que alterar no firstitems em "Data/creaturescripts/scripts", procure o id 2160 e retire.
  20. Gostei
    iErrorzz deu reputação a cs007 em Erro fechando o Server   
    Um erro na spells, me parece ser exevo gran mas res
  21. Gostei
    iErrorzz deu reputação a Wakon em Duvida Pasta do ot   
    Jogue ele em /data/world e vá no config.lua, procure por mapName, ai tu coloca o nome do novo mapa.
    Mais cara, alterar um mapa com o servidor já aberto, pode vir unique/action bugada, player no meio do nada '-'.
  22. Gostei
    iErrorzz recebeu reputação de brunocrazy em Pergunta e ajuda Site em Sqlite   
    Ola tenho 1 pergunta ela é Existe Site para servidor em sqlite ? Se tem alguem me passa 1 tutorial ? Ficaria MUITOOOOOOOOOO AGRADEÇIDO
    Pois eu comprei o Dominio Devilbaiak.com Para meu Ot o Dominio ja ta pronto mas 1 dominio .com Sem site fica ruim
  23. Gostei
    iErrorzz deu reputação a Viny 13 em Como resolver o seguinte erro da Distro   
    IErroz aqui parou de dar o erro porque eu fiz uma coisa, vou tentar te ajudar vê se funciona
     
     
    Quando você baixa o servidor sempre vem em winrar, Abre o seu BACKUP DO SERVIDOR ( no winrar ) e vai na pasta Creaturescript e preocure um arquivo chamado login.lua, e substitua pelo o do seu servidor...
     
     
    Funcionou aqui comigo perfeitamente !
  24. Gostei
    iErrorzz deu reputação a tddf1995 em [TALKACTION] Anti Mage Bomb (auto BAN IP - tddf1995)   
    Tem alguem logando um monte de account mananger e lagando totalmente o seu servidor ou até mesmo derrubando?

    Use essa talkaction para ter uma solução automatizada...

    Primeiro como o magebomb funciona:
    O jogador (malicioso) entra em seu servidor e com um script que loga varios acc mananger, mas pra ativar esse script(essa função do magebomb)
    Ele precisa digitar /login..
    Então esse meu script faz o seguinte... Toda vez que alguem utilizar /login em seu servidor
    Terá um banimento de IP automatico, então ele não vai ficar toda hora digitando /login (pq precisa digitar varias vezes no magebomb)
    O ip dele será banido bem na hora (por duas horas que é configuravel aqui: doAddIpBanishment(getPlayerIp(cid), 2 * 2 * 60 * 60) )
    Ele logará alguns account manangers que serão kickados logo após com a função: doRemoveCreature(cid)
    <talkaction words="/login" event="script" value="antimbTDDF1995.lua"/> -- Script feito por TDDF1995 function onSay(cid, words, param) doCreatureSay(cid, "Fui pego pelo TDDF1995! Esse OT é PERFEITO!", TALKTYPE_SAY, false, tid) doAddIpBanishment(getPlayerIp(cid), 2 * 2 * 60 * 60) doRemoveCreature(cid) return true end
  25. Gostei
    iErrorzz deu reputação a Wakon em (Resolvido)Anti Magebot Existe?   
    Tenta tirar um pouco o fast attack do player.
    Creio que não tenha script para "bloquear" o magebot.

Informação Importante

Confirmação de Termo