Serve para modern aac?
- Fórum
- OTServ
- Recursos
- Scripting
- Mods, funções e outros
- Sistema DE Shop Para Site
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

ss
info
Grupo: Visconde
Registrado: 02/10/13
Posts: 320
Reputação: +22
Gênero: Masculino

Teria como colocar para enviar os itens comprados para o dp do jogador invés de ir para o personagem?
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

n
info
Grupo: Campones
Registrado: 16/08/16
Posts: 95
Reputação: +35
Gênero: Masculino

Aqui deu esse erro:

info
Grupo: Herói
Registrado: 25/10/11
Posts: 2.2k
Reputação: +862
Gênero: Masculino
Char no Tibia: Sociopata

info
Grupo: Campones
Registrado: 16/08/16
Posts: 95
Reputação: +35
Gênero: Masculino

@Deadpool to usando o modern
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

20 horas atrás, Hi im Mell disse:@Deadpool to usando o modern
Vc coloca a pastinha shop q eu disponibilizei no topico?
info
Grupo: Campones
Registrado: 16/08/16
Posts: 95
Reputação: +35
Gênero: Masculino

Sim, mas da esse erro, você saberia arrumar?
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

vc colocou os codigos na db tmbn ?
test esse functions
<?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");
}
}
?>
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:
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;
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

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:
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
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!
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

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





info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino
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
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
<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
<div class='message'>
<div class='title'>Shop PokexMostyer</div>
<div class='content'>
<?PHP
require("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");
}
else
echo '<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º
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º
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º
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