Marshmello 270 Postado Setembro 1, 2016 Share Postado Setembro 1, 2016 Ola Pessoa Vim Aki Para Passar Para Vcs Siistema De shop Para Seu OTServ Primeiro Vai Na Pasta Do Seu Server Vai Em Global Events e Crie Um Arquivo Chamado Shop Ficando Shop.lua e la ADD Spoiler function onThink(interval, lastExecution, thinkInterval) local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;") if(result:getID() ~= -1) then while(true) do cid = getCreatureByName(tostring(result:getDataString("player"))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then local id = tonumber(itemr:getDataInt("item")) local tid = tonumber(result:getDataInt("id")) local count = tonumber(itemr:getDataInt("count")) local tipe = tonumber(itemr:getDataInt("type")) local productn = tostring(itemr:getDataString("name")) if isInArray({5,8},tipe) then if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then if isContainer(getPlayerSlotItem(cid, 3).uid) then received = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count) if received then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space on container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have a container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end elseif isInArray({6,7},tipe) then if tipe == 6 then bcap = 8 bid = 1987 elseif tipe == 7 then bcap = 20 bid = 1988 end if isItemRune(id) then count = 1 end if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then local bag = doCreateItemEx(bid, 1) for i = 1,bcap do doAddContainerItem(bag, id, count) end received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag) if received == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end Depois Vai Em GlobalEvents.xml e add a tag Spoiler <globalevent name="shop" interval="200" script="shop.lua"/> Pronto Seu Server Ja Ta Configurado Para o Shop Agr vamos Para o Site Vai Na sua Pasta do Seu Site E coloque Essa Pasta la Pasta Shop Depois Vai Em htdocs/system/pages Crie um arquivo Chamado Shop.php e add Spoiler <div class='message'> <div class='title'>Shop PokexMostyer</div> <div class='content'><?PHPrequire("config.php");$ots = POT::getInstance();$ots->connect(POT::DB_MYSQL, connection());$SQL = $ots->getDBHandle();$ide = new IDE;$light = '#151515';$dark = '#070707';if ($ide->isLogged() == true) {include("shop/gifts.php");}elseecho '<div align="center"><br />Voce Precisa Estar Logado Para Ver Nosso Shop</div>';?></div></div> Agora Vamos Para Data Base Vai no Seu navegador e vai no Seu Phpmyadmin vai na sua DB Do Seu Server e add as Seguites Tabelas 1º Spoiler CREATE TABLE IF NOT EXISTS `shop_offer` ( `id` int(11) NOT NULL AUTO_INCREMENT, `points` int(11) NOT NULL DEFAULT '0', `category` int(11) NOT NULL DEFAULT '1', `type` int(11) NOT NULL DEFAULT '1', `item` int(11) NOT NULL DEFAULT '0', `count` int(11) NOT NULL DEFAULT '0', `description` text NOT NULL, `name` varchar(256) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ; 2º Spoiler CREATE TABLE IF NOT EXISTS `shop_history` ( `id` int(11) NOT NULL AUTO_INCREMENT, `product` int(11) NOT NULL, `session` varchar(256) NOT NULL, `player` varchar(256) NOT NULL, `date` int(10) NOT NULL, `processed` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ; 3º Spoiler CREATE TABLE IF NOT EXISTS `shop_donation_history` ( `id` int(11) NOT NULL AUTO_INCREMENT, `method` varchar(256) NOT NULL, `receiver` varchar(256) NOT NULL, `buyer` varchar(256) NOT NULL, `account` varchar(256) NOT NULL, `points` int(11) NOT NULL, `date` int(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; PRONTO AGR E SO COLOCAR OS ITEM NO SHOP OFFSER DA SUA DB shop.rar shop.rar Link para o comentário Compartilhar em outros sites More sharing options...
Ayron5 40 Postado Setembro 1, 2016 Share Postado Setembro 1, 2016 Serve para modern aac? Link para o comentário Compartilhar em outros sites More sharing options...
Marshmello 270 Postado Setembro 1, 2016 Autor Share Postado Setembro 1, 2016 ss Link para o comentário Compartilhar em outros sites More sharing options...
Farathor 22 Postado Setembro 3, 2016 Share Postado Setembro 3, 2016 Teria como colocar para enviar os itens comprados para o dp do jogador invés de ir para o personagem? Link para o comentário Compartilhar em outros sites More sharing options...
Marshmello 270 Postado Setembro 3, 2016 Autor Share Postado Setembro 3, 2016 n Link para o comentário Compartilhar em outros sites More sharing options...
Hi im Mell 35 Postado Outubro 15, 2016 Share Postado Outubro 15, 2016 Aqui deu esse erro: Link para o comentário Compartilhar em outros sites More sharing options...
Deadpool 862 Postado Outubro 15, 2016 Share Postado Outubro 15, 2016 23 minutos atrás, Hi im Mell disse: Aqui deu esse erro: voce ta usando Gesior, o sistema postado é para modernacc, não sei.. mas acho que n funciona kk Link para o comentário Compartilhar em outros sites More sharing options...
Hi im Mell 35 Postado Outubro 15, 2016 Share Postado Outubro 15, 2016 @Deadpool to usando o modern Link para o comentário Compartilhar em outros sites More sharing options...
Marshmello 270 Postado Outubro 16, 2016 Autor Share Postado Outubro 16, 2016 20 horas atrás, Hi im Mell disse: @Deadpool to usando o modern Vc coloca a pastinha shop q eu disponibilizei no topico? Link para o comentário Compartilhar em outros sites More sharing options...
Hi im Mell 35 Postado Outubro 16, 2016 Share Postado Outubro 16, 2016 Sim, mas da esse erro, você saberia arrumar? Link para o comentário Compartilhar em outros sites More sharing options...
Marshmello 270 Postado Outubro 16, 2016 Autor Share Postado Outubro 16, 2016 vc colocou os codigos na db tmbn ? test esse functions Spoiler <?php class shop { function connect() { $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); return $ots->getDBHandle(); } function isInstalled() { require('config.php'); $con = mysql_connect($config['database']['host'], $config['database']['login'], $config['database']['password']); mysql_select_db($config['database']['database'],$con); if(mysql_query("SELECT * FROM shop_offer,shop_history")) return true; else return false; } function points($account) { $SQL = $this->connect(); $points = $SQL->query('SELECT premium_points FROM accounts WHERE name = "'.$account.'"')->fetch(); return $points['premium_points']; } function getPlayerAccount($name) { $SQL = $this->connect(); $player = $SQL->query('SELECT account_id FROM players WHERE name = "'.$name.'"')->fetch(); return $SQL->query('SELECT * from accounts WHERE id = '.$player['account_id'].''); } function AddPremium($name,$days) { $SQL = $this->connect(); $account = $this->getPlayerAccount($name)->fetch(); return $SQL->query('UPDATE accounts SET premdays = (premdays + '.$days.') WHERE name = "'.$account['name'].'"'); } function CharacterList($account) { $SQL = $this->connect(); $id = $SQL->query('SELECT id FROM accounts WHERE name = "'.$account.'"')->fetch(); return $SQL->query('SELECT * FROM players WHERE account_id = '.$id['id'].''); } function isOnline($name) { $SQL = $this->connect(); $player = $SQL->query('SELECT online FROM players WHERE name = "'.$name.'"')->fetch(); return $player['online']; } function isBanned($name) { $SQL = $this->connect(); $ID = $this->getPlayerAccount($name)->fetch(); return $SQL->query('SELECT * FROM bans WHERE value = '.$ID['id'].''); } function UnBan($name) { $SQL = $this->connect(); $ID = $this->getPlayerAccount($name)->fetch(); return $SQL->query('DELETE FROM bans WHERE value = '.$ID['id'].''); } function execute_file($file) { if (!file_exists($file)) { $this->last_error = "The file $file does not exist."; return false; } $str = file_get_contents($file); if (!$str) { $this->last_error = "Unable to read the contents of $file."; return false; } // split all the queries into an array $quote = ''; $line = ''; $sql = array(); $ignoreNextChar = ''; for ($i = 0; $i < strlen($str); $i++) { if ( !$ignoreNextChar ) { $char = substr($str, $i, 1); $line .= $char; if ($char == ';' && $quote == '') { $sql[] = $line; $line = ''; } else if ( $char == '\\' ) { // Escape char; ignore the next char in the string $ignoreNextChar = TRUE; } else if ($char == '"' || $char == "'" || $char == '`') { if ( $quote == '' ) // Start of a new quoted string; ends with same quote char $quote = $char; else if ( $char == $quote ) // Current char matches quote char; quoted string ends $quote = ''; } } else $ignoreNextChar = FALSE; } if ($quote != '') return false; foreach ($sql as $query) { if (!empty($query)) { $r = mysql_query($query); if (!$r) { $this->last_error = mysql_error(); return false; } } } return true; } function install() { $SQL = $this->connect(); if ($this->isInstalled()) return false; else return $this->execute_file("gifts/config/Shop.sql"); } } ?> Link para o comentário Compartilhar em outros sites More sharing options...
tavarb 0 Postado Fevereiro 25, 2017 Share Postado Fevereiro 25, 2017 Poderia me ajudar? estou com esse problema (JÁ FIZ ESSE PROCEDIMENTO DE MUDAR A FUNCTIONS, MAS NÃO DEU RESULTADO). OBS: Encontrei o local do erro: Spoiler function isInstalled() { require('config.php'); $con = mysql_connect($config['database']['host'], $config['database']['login'], $config['database']['password']); mysql_select_db($config['database']['database'],$con); if(mysql_query("SELECT * FROM shop_offer,shop_history")) return true; else return false; Link para o comentário Compartilhar em outros sites More sharing options...
Marshmello 270 Postado Fevereiro 25, 2017 Autor Share Postado Fevereiro 25, 2017 16 minutos atrás, tavarb disse: Poderia me ajudar? estou com esse problema (JÁ FIZ ESSE PROCEDIMENTO DE MUDAR A FUNCTIONS, MAS NÃO DEU RESULTADO). OBS: Encontrei o local do erro: Ocultar conteúdo function isInstalled() { require('config.php'); $con = mysql_connect($config['database']['host'], $config['database']['login'], $config['database']['password']); mysql_select_db($config['database']['database'],$con); if(mysql_query("SELECT * FROM shop_offer,shop_history")) return true; else return false; esse erro tmbn ta cmgh mais ja estou tentando resouver mais seu shop ja foi instalado Link para o comentário Compartilhar em outros sites More sharing options...
tavarb 0 Postado Fevereiro 25, 2017 Share Postado Fevereiro 25, 2017 Agora, BrendoGraphics0 disse: esse erro tmbn ta cmgh mais ja estou tentando resouver mais seu shop ja foi instalado Sim sim, instalei tudo certinho, com paciência. Só preciso arrumar esse bugzinho. Obrigado! Link para o comentário Compartilhar em outros sites More sharing options...
Marshmello 270 Postado Fevereiro 25, 2017 Autor Share Postado Fevereiro 25, 2017 4 minutos atrás, tavarb disse: Sim sim, instalei tudo certinho, com paciência. Só preciso arrumar esse bugzinho. Obrigado! se eu arrumaar posto aki no post Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados