Sistema DE Shop Para Site

Marshmello
em Mods, funções e outros

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gê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

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'>
<?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

 

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 ;

 

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 ;

 

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 :D

shop.rar

shop.rar

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

 

 

Ayron5

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 26/08/15Posts: 239

Serve para modern aac? 

                                                                  

                                                                    Meus tópicos         

                                                                   Se ajudei você deixe seu Rep! para fortalecer a amizade ^^

                                                                                        Vamos ajudar o fórum a crescer mais.

                                                                

                                                                                             ----- NPC que vende informação -----

                                                                                          -----Baú Que dá Outfit se tiver Level -----

                                                                    

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gênero: Masculino

ss

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

 

 

Farathor

Farathor
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/10/13Posts: 320Gênero: Masculino

Teria como colocar para enviar os itens comprados para o dp do jogador invés de ir para o personagem?

Meus Trabalhos

Scripts

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gênero: Masculino

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

 

 

Hi im Mell

ARC!
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/08/16Posts: 95Gênero: Masculino

Aqui deu esse erro:

 

3pB4Frf.png

ARC! - Developer Company Games

Uma micro-empresa que trabalha com à criação/programação de jogos derivados e re-feitos.

 

Facebook ARC! Clique aqui

 

TOZ5opW.png

Deadpool

!!!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/11Posts: 2175Gênero: MasculinoChar no Tibia: Sociopata
23 minutos atrás, Hi im Mell disse:

Aqui deu esse erro:

 

3pB4Frf.png

voce ta usando Gesior, o sistema postado é para modernacc, não sei.. mas acho que n funciona kk

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

 

 

 

 

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

Hi im Mell

ARC!
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/08/16Posts: 95Gênero: Masculino

@Deadpool to usando o modern

ARC! - Developer Company Games

Uma micro-empresa que trabalha com à criação/programação de jogos derivados e re-feitos.

 

Facebook ARC! Clique aqui

 

TOZ5opW.png

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gê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?

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

 

 

Hi im Mell

ARC!
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/08/16Posts: 95Gênero: Masculino

Sim, mas da esse erro, você saberia arrumar?

ARC! - Developer Company Games

Uma micro-empresa que trabalha com à criação/programação de jogos derivados e re-feitos.

 

Facebook ARC! Clique aqui

 

TOZ5opW.png

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gênero: Masculino

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");
        }
    }
?>

 

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

 

 

tavarb

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/02/17Posts: 24Gênero: Masculino

Poderia me ajudar? estou com esse problema (JÁ FIZ ESSE PROCEDIMENTO DE MUDAR A FUNCTIONS, MAS NÃO DEU RESULTADO)error.png

 

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;

 

error.png.070c47dc9f1f3edadf4c56ed6ca65a37.png

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gê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)error.png

 

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

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

 

 

tavarb

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/02/17Posts: 24Gênero: Masculino
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!

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gê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

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end