Ola galera estou aque pois preciso de uma ajuda e nao tenho mais onde recorrer.procurei em todos os lugares e nao achei. eu estou usando um sistema de compra e venda de personagem no meu gesior 0.3.8 onde os players colocao o char a venda no shop e tambem podem comprar outros personagens la mesmo. porem eu gostaria de ´pedir alguem que entenda bem ou alguem que possa ajudar.eu gostaria que tivesse a opcao do player desistir da venda.tipo.ele coloca o char a venda e podera retira-lo do shop dentro de 24 hrs.. somente isso pois o sistema funciona normalmente abaixo estao os scripts que estou usando e a tabela que executei no meu SQL.
ESSE E O BUY CHAR
<?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`')ordie(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'; }elseif($ty['vocation']==2){ $tu ='Druid'; }elseif($ty['vocation']==3){ $tu ='Paladin'; }elseif($ty['vocation']==4){ $tu ='Knight'; }elseif($ty['vocation']==5){ $tu ='Sorcerer'; }elseif($ty['vocation']==6){ $tu ='Druid'; }elseif($ty['vocation']==7){ $tu ='Paladin'; }elseif($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>';
$check = $SQL->query("SELECT * FROM `sellchar` WHERE `name` = '$name'")ordie(mysql_error()); $check1 = $SQL->query("SELECT * FROM `players` WHERE `name` = '$name'")ordie(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>'; } ?>
ESSE E O SELL CHAR
<?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>';
$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>';
`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;
Pergunta
bfs102030 0
Ola galera estou aque pois preciso de uma ajuda e nao tenho mais onde recorrer.procurei em todos os lugares e nao achei. eu estou usando um sistema de compra e venda de personagem no meu gesior 0.3.8 onde os players colocao o char a venda no shop e tambem podem comprar outros personagens la mesmo. porem eu gostaria de ´pedir alguem que entenda bem ou alguem que possa ajudar.eu gostaria que tivesse a opcao do player desistir da venda.tipo.ele coloca o char a venda e podera retira-lo do shop dentro de 24 hrs.. somente isso pois o sistema funciona normalmente abaixo estao os scripts que estou usando e a tabela que executei no meu SQL.
ESSE E O BUY CHAR
<?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>';
}
?>
ESSE E O SELL CHAR
<?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>';
}
?>
ISSO FOI ADD NO MEU INDEX
case "sellchar";
$topic = "Sell Char";
$subtopic = "sellchar";
include("sellchar.php");
break;
case "buychar";
$topic = "Buy Char";
$subtopic = "buychar";
include("buychar.php");
break;
ESSA E A TABELA QUE EXECUTEI NO MEU 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;
AJUDEM PLIXX
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados