Piabeta Kun 359 Postado Setembro 3, 2012 Share Postado Setembro 3, 2012 (editado) Achei um tutorial interessante em forums gringos e resolvi compartilhar com o XTibia! Crie 2 arquivos.php um com nome de buychar.php e sellchar.php Dentro de buychar.php coloque isso: <?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>'; } ?> e em sellchar.php 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 = mysql_real_escape_string($_POST['char']); $price = mysql_real_escape_string($_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>'; } ?> Agora adicione isso no index.php case "sellchar"; $topic = "sellchar"; $subtopic = "sellchar"; include("sellchar.php"); break; case "buychar"; $topic = "buychar"; $subtopic = "buychar"; include("buychar.php"); break; e adicone essa query 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; Acesse seuip/?subtopic=sellchar e seuip/?subtopic=buychar Screenshots Creditos: Raggaer e PiabetaMan01 por trazer ao forum e WarWolf Pela query ! Editado Setembro 8, 2012 por PiabetaMan01 Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/ Compartilhar em outros sites More sharing options...
Critical 70 Postado Setembro 5, 2012 Share Postado Setembro 5, 2012 Pode renovar as imagens? Quebraram, ai sim aprovarei o tutorial. Atenciosamente, Critical. Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1332725 Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Setembro 6, 2012 Autor Share Postado Setembro 6, 2012 (editado) Estarei providenciando, mais aqui eu visualizo normal as imagens! @EDIT Re-upei as imagens! Editado Setembro 6, 2012 por PiabetaMan01 Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1333121 Compartilhar em outros sites More sharing options...
Critical 70 Postado Setembro 7, 2012 Share Postado Setembro 7, 2012 Tutorial está aprovado, estará sendo movido para seção correta. Atenciosamente, Critical. Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1334264 Compartilhar em outros sites More sharing options...
gabriellippa 2 Postado Setembro 14, 2012 Share Postado Setembro 14, 2012 não teria como colocar um tempo, por exemplo: daqui 5 meses, se o char não logar, ele será movido pra uma account. Teria como? Porque da forma que entendi, que você disse acima, o player que vende, ai ele chega com 100 chars level 1 e vende cada um por 100 pontos, totalizando 10000 pontos. Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1338681 Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Setembro 14, 2012 Autor Share Postado Setembro 14, 2012 Este tutorial serve para comercio de chares no servidor, alguem pode por o char a venda para outra pessoa comprar , a pessoa que for comprar deve ter a contidade de pontos na loja para adquirir o char e se tiver a transação será feita entre os players, um fica com o char r o outro com os pontos, ou seja, para comprar voce tem que ter pontos comprados na loja e esses pontos são são envidados a quem está vendendo o char! Espero que tenha entendido como funciona! Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1339175 Compartilhar em outros sites More sharing options...
juninho100k 0 Postado Setembro 18, 2012 Share Postado Setembro 18, 2012 Aqui não funcionou :\ Ajuda ai ! Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1341709 Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Setembro 21, 2012 Autor Share Postado Setembro 21, 2012 Aqui não funcionou :\ Ajuda ai ! Indique erros! para que eu possa te ajudar! Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1344057 Compartilhar em outros sites More sharing options...
Subhe 3 Postado Setembro 24, 2012 Share Postado Setembro 24, 2012 me explica ai como funciona... exemplo: typo eu vou vender meu char por 100 pontos, ai um mlk compra ele... ele vai ficar com minha conta ?? se ficar, para onde meus pontos vão ?? ou meu char vai pra conta dele ?? Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1347192 Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Setembro 24, 2012 Autor Share Postado Setembro 24, 2012 nao voce bota pra vender um char da sua acc pox x pontos, se ele tiver x pontos, o char passa pra acc dele e voce recebe o x potnso que ele tinha! Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1347378 Compartilhar em outros sites More sharing options...
Subhe 3 Postado Setembro 24, 2012 Share Postado Setembro 24, 2012 (editado) nao voce bota pra vender um char da sua acc pox x pontos, se ele tiver x pontos, o char passa pra acc dele e voce recebe o x potnso que ele tinha! aah entendi, no caso eu continuo com a conta .. e meu char vai pra conta dele née ? e os pontos dele pra minha (: ai mano, aparece o seguinte erro Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\sellchar.php on line 25 Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\xampp\htdocs\sellchar.php on line 25 Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\sellchar.php on line 26 Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\xampp\htdocs\sellchar.php on line 26 e não aparece a tabela no site, só aparece se eu botar o link que vc mandou la emcima ;s me ajuda ae ;s Edit: meu Gesior é Gesior Acc Maker 0.3.8 Modificado E Customizado Editado Setembro 24, 2012 por Subhe Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1347385 Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Setembro 24, 2012 Autor Share Postado Setembro 24, 2012 voce executou as querys que eu postei? Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1347426 Compartilhar em outros sites More sharing options...
Subhe 3 Postado Setembro 24, 2012 Share Postado Setembro 24, 2012 (editado) voce executou as querys que eu postei? executei, num é na database do ot ?? ai boto na database, e dps la em SQL e executo né ?? se for isso, eu executei ;s mas nao ficou a tabela no ot, e tá dando esses erros na hora de botar pra vender ;s edit: é só 1 query. ou tem + ? não tá faltando o Layout ?? Editado Setembro 24, 2012 por Subhe Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1347429 Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Setembro 24, 2012 Autor Share Postado Setembro 24, 2012 basta adaptar o layout com linakgem a pagina! estarei vendo se ta faltando query pois eu nao sou o criador do sistema! Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1347468 Compartilhar em outros sites More sharing options...
Subhe 3 Postado Setembro 24, 2012 Share Postado Setembro 24, 2012 basta adaptar o layout com linakgem a pagina! estarei vendo se ta faltando query pois eu nao sou o criador do sistema! se você conseguir me ajudar nisso, vou te dar varios REP+, por um monte de dias ausauhs Estarei Aguardando ! Link para o comentário https://xtibia.com/forum/topic/193371-gesior-venda-e-compra-de-chares-por-pontos/#findComment-1347483 Compartilhar em outros sites More sharing options...
Posts Recomendados