Ir para conteúdo

Featured Replies

Postado

Compra e venda de personagens por pontos para Gesior ACC.
Vamos lá..

 

FOTOS:

 

Venda:

15622d1346255370-gesior-acc-buy-sell-cha

 

 

Compra:

15623d1346255762-gesior-acc-buy-sell-cha

 

15624d1346255807-gesior-acc-buy-sell-cha

 

 

Crie um arquivo dentro do htdocs, chamado buychar.php e dentro dele coloque:
 

<?PHP
    if($logged) {
        
        if ($action == '') {
        
        $main_content .= '<center>Here is the list of the current characters that are in the shop!</center>';
        $main_content .= '<BR>';
        $main_content .= '<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD CLASS=white width="64px"><CENTER><B>Name</B></CENTER></TD><TD CLASS=white width="64px"><CENTER><B>Vocation</B></CENTER></TD><TD CLASS=white width="64px"><CENTER><B>Level</B></CENTER></TD><TD CLASS=white width="64px"><CENTER><B>Price</B></CENTER></TD><TD CLASS=white width="64px"><CENTER><B>Buy it</B></CENTER></TD></TR>';
        $getall = $SQL->query('SELECT `id`, `name`, `price`, `status` FROM `sellchar` ORDER BY `id`')or die(mysql_error());
        foreach ($getall as $tt) {
            $namer = $tt['name'];
            $queryt = $SQL->query("SELECT `name`, `vocation`, `level` FROM `players` WHERE `name` = '$namer'");
            foreach ($queryt as $ty) {
            if ($ty['vocation'] == 1) {
            $tu = 'Sorcerer';
        } else if ($ty['vocation'] == 2) {
            $tu = 'Druid';    
        } else if ($ty['vocation'] == 3) {
            $tu = 'Paladin';    
        } else if ($ty['vocation'] == 4) {
            $tu = 'Knight';
        } else if ($ty['vocation'] == 5) {
            $tu = 'Sorcerer';
        }  else if ($ty['vocation'] == 6) {
            $tu = 'Druid';    
        } else if ($ty['vocation'] == 7) {
            $tu = 'Paladin';    
        } else if ($ty['vocation'] == 8) {
            $tu = 'Knight';
        }
        $ee = $tt['name'];
        $ii = $tt['price'];
        $main_content .= '<TR BGCOLOR='.$config['site']['darkborder'].'><TD CLASS=black width="64px"><CENTER><B><a href="index.php?subtopic=characters&name='.$tt['name'].'">'.$tt['name'].'</a></B></CENTER></TD><TD CLASS=black width="64px"><CENTER><B>'.$tu.'</B></CENTER></TD><TD CLASS=black width="64px"><CENTER><B>'.$ty['level'].'</B></CENTER></TD><TD CLASS=black width="64px"><CENTER><B>'.$tt['price'].'</B></CENTER></TD><TD CLASS=black width="64px"><CENTER><B>
        <form action="?subtopic=buychar&action=buy" method="POST">
        <input type="hidden" name="char" value="'.$ee.'">
        <input type="hidden" name="price" value="'.$ii.'">
        <input type="submit" name="submit" value="Buy it"></B></CENTER></TD></TR></form>';
        }
        }
        $main_content .= '</TABLE>';
        
        }
        
        if ($action == 'buy') {
        
            $name = $_POST['char'];    
            $price = $_POST['price'];    
            $ceh = $SQL->query("SELECT `name` FROM `sellchar` WHERE `name` = '$name'");
            
            if ($ceh) {
            
            if ($name == '') {
            
            $main_content .= '<b><center>Select a character to buy first/b>';
            
            } else {
            
            $user_premium_points = $account_logged->getCustomField('premium_points');
            $user_id = $account_logged->getCustomField('id');
            
            if ($user_premium_points >= $price) {
                
            $check = $SQL->query("SELECT * FROM `sellchar` WHERE `name` = '$name'") or die(mysql_error());
            $check1 = $SQL->query("SELECT * FROM `players` WHERE `name` = '$name'") or die(mysql_error());
            $check2 = $SQL->query("SELECT `oldid` FROM `sellchar` WHERE `name` = '$name'");
            foreach ($check as $result) {
            foreach($check1 as $res) {
            foreach($check2 as $ress) {
            
            $oid = $ress['oldid'];    
            $main_content .= '<center>You bought<b> '.$name.' ( '.$res['level'].' ) </b>for  <b>'.$result['price'].' points.</b><br></center>';
            $main_content .= '<br>';
            $main_content .= '<center><b>The character is in your account, have fun!</b></center>';
            $execute1 = $SQL->query("UPDATE `accounts` SET `premium_points` = `premium_points` - '$price' WHERE `id` = '$user_id'");
            $execute2 = $SQL->query("UPDATE `players` SET `account_id` = '$user_id' WHERE `name` = '$name'");
            $execute2 = $SQL->query("UPDATE `accounts` SET `premium_points` = `premium_points` + '$price' WHERE `id` = '$oid'");
            $execute3 = $SQL->query("DELETE FROM `sellchar` WHERE `name` = '$name'");
            
            }
                }
            }
                
            } else {
                
                $main_content .= '<center><b>You dont have enought premium points</b></center>';
                
                    }
            
                }    
                
            } else {
                $main_content .= '<center><b>Character cannot be buyed</b></center>';
            }
        }
        
    } else {
        
        $main_content .= '<center>Please log in first!</center>';
    }
?>

 
depois crie um chamado sellchar.php e coloque isso:

<?PHP
    if($logged) {
        $main_content .= '<center><b>Here you can put your character on sale!</center></b><br>';
        $main_content .= 'If you put your character on sale anyone can buy it, you will lose acces to that character and you wont be able to log in with that character until someone buys it, you can also delete your offer by talking to an admin!<br><b>when someone buys your character you will get the price in points!</b>';
        $main_content .= '<br>';
        $main_content .= '<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD CLASS=white width="64px"><CENTER><B>Sell your characters</B></CENTER></TD></TR>';
        $main_content .= '<TR BGCOLOR='.$config['site']['darkborder'].'><TD CLASS=black width="64px"><B></B>';
        
        $players_from_logged_acc = $account_logged->getPlayersList();
                            
                                $players_from_logged_acc->orderBy('name');
                                $main_content .= '<form action="" method="post"><select name="char">';
                                foreach($players_from_logged_acc as $player)
                                {
                                    $main_content .= '<option>'.$player->getName().'</option>';
                                }
        
        $main_content .= '</select>Select a character to sell<br>';
        $main_content .= '<input type="text" name="price" maxlength="10" size="4" >Select the price of the character<br>';
        $main_content .= '<input type="submit" name="submit" value="Sell character"></TD></TR>';
                            $main_content .= '</form></table>';
                            
                            if (isset($_POST['submit'])) {
                                
                            $char = stripslashes($_POST['char']);
                            $price = stripslashes($_POST['price']);
                            
                            if ($char && $price) {

                                if(is_numeric(trim($_POST['price']))) {
                                
                                        $check2 = $SQL->query("SELECT * FROM `players` WHERE `name` = '$char'") or die(mysql_error());
                                foreach ($check2 as $re) {
                                    $voc = $re['vocation'];
                                    $oid = $re['account_id'];
                                }
                                $check1 = $SQL->query("UPDATE `players` SET `account_id` = 1 WHERE `name` = '$char'") or die(mysql_error());
                                $check3 = $SQL->query("INSERT INTO `sellchar` VALUES ('','$char','$voc','$price','1','$oid')");
                                $main_content .= '<b><center>You added your character correctly, thanks!</b></center>';
                                header("Location: index.php?subtopic=buychar");
                                
                                } else {
                            
                                $main_content .= '<b><center>Set a numeric price!!</b></center>';
                                }
                                
                            } else {
                                    $main_content .= '<b><center>Fill out all fields!</b></center>';
                            }
                            
                        }
    } else {
        $main_content .= '<b><center>Please log in first!</b></center>';
    }
?>

 
depois disso vá em htdocs/layouts/layout que você usa/layouts e insira as duas páginas aonde você bem querer(sugiro que seja na aba shop, pois é venda e compra).. caso alguém não saiba posta aqui no tópico que eu ensino.
 
Agora adicione isso no index.php

case "sellchar";
                $topic = "Sell Char";
                $subtopic = "sellchar";
                include("sellchar.php");
    break;
    
    case "buychar";
                $topic = "Buy Char";
                $subtopic = "buychar";
                include("buychar.php");
    break;

 
Agora acesse a database do OT e insira este comando SQL

CREATE TABLE IF NOT EXISTS `sellchar` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(40) NOT NULL,
`vocation` int(11) NOT NULL,
`price` int(11) NOT NULL,
`status` varchar(40) NOT NULL,
`oldid` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Pronto para ser usado!!

 

 

 

 

obs1: Caso você não adicionou a página no layouts acesse assim:
 
127.0.0.1/?subtopic=sellchar
127.0.0.1/?subtopic=buychar

 

obs2: não tem como a pessoa que colocou a venda tirá-lo depois, se algum programador se habilitar a fazer o esquema aí para nós, fico grato.

 

 

 

 

--- Créditos ---

Raggaer

Helliab por trazer ao TK.

 

REP++ (y)

 

@helliabsantana

  • Respostas 11
  • Visualizações 6k
  • Created
  • Última resposta

Top Posters In This Topic

  • 1 year later...
  • 1 month later...
Postado

O Complicado é o cara colocar e depois não poder tirar, ou isso poderia ser habilitado somente para compra pro VIP points e nos mesmo adicionarmos os personagens para vender, e não o proprio player ter essa opção

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo