Ir para conteúdo

Featured Replies

Postado

Não sou muito bom nisso, mas precisei desse sistema, procurei e não encontrei por aqui um que funcionasse em TFS 1.2, achei esse em um site gringo, não irei dar suporte nem formatar esse post, colocarei o sistema e algumas fotos. 

 

vamos lá, peço que movam para área correta caso esteja no local errado.

 

primeiramente abra sua database e execute esse sql

 

Citar

 

 


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;
 

 

 

depois vá na pasta das paginas do gesior e crie um arquivo php com nome sellchar.php e adicione

Citar

 


<?PHP
    if($logged) {
        $main_content .= '<center><b>Aqui você pode colocar seu personagem à venda!!</center></b><br>';
        $main_content .= 'Se você colocar seu personagem à venda, qualquer um pode comprá-lo, você perderá o acesso a esse personagem e você não conseguirá entrar com esse personagem até que alguém o compre, você também pode deletar sua oferta falando com um administrador!<br><b>quando alguém compra seu personagem, você recebe o preço em pontos!</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->addOrder(new SQL_Order(new SQL_Field('name'), SQL_Order::ASC));
                                $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>Selecione o personagem<br>';
        $main_content .= '<input type="text" name="price" maxlength="10" size="4" >Digite o preço do personagem<br>';
        $main_content .= '<input type="submit" name="submit" value="VENDER"></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 crie um arquivo chamado buychar.php

Citar

 


<?PHP
    if($logged) {
       
        if ($action == '') {
       
        $main_content .= '<center>Aqui está a lista dos personagens atuais que estão na loja!</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>Você comprou<b> '.$name.' ( '.$res['level'].' ) </b>por  <b>'.$result['price'].' points.</b><br></center>';
            $main_content .= '<br>';
            $main_content .= '<center><b>O personagem está na sua conta, divirta-se!</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>';
    }
?>
 

 

 

pronto o sistema está OK, agora basta criar as paginas no index.php ou layout.php do seu gesior, testado no gesior 2012 não sei se funcionará em outros.

 

1.thumb.png.b3bd30be477a2c71117985345ceb0fb9.png

 

2.thumb.png.81d871a6c83d72c24159bc7f30205d97.png

 

3.thumb.png.f293c667ec303c67daf18e8aa8e77279.png

 

 

CRÉDITOS: não lembro o nome do mlk lá.

 

Editado por JuremaFox (veja o histórico de edições)

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

Top Posters In This Topic

Most Popular Posts

  • o forum vem a muitos anos me ajudando, chegou minha vez de retribuir, irei postar conteúdos úteis para os membros do TK. Obg

Posted Images

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

Postado
  • Autor
4 horas atrás, Nolis disse:

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

  Mostrar conteúdo oculto

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

 

o forum vem a muitos anos me ajudando, chegou minha vez de retribuir, irei postar conteúdos úteis para os membros do TK. Obg

  • 2 weeks later...
Postado

Espero que ninguém use esse sistema, é cheio de falhas e erros, um código bem poluído.

Consegui debugar, coloquei um char a venda por 12398129389120 pontos, e consegui comprar até mesmo com 1 ponto, e 0 pontos.

 

image.thumb.png.27926e1eb59187e44cd3cc42bdf49e4b.png

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo