Tudo que Hokograma postou
-
[Ajuda] Organizar ShopSystem por categorias
@Drakon21 Vai na pagina central e procura por index.php, Substitui isso: por isso: Imagens tu coloca aqui, ' C:\xampp\htdocs\public\images ' a imagem deve ter a dimensao de 34x34 px e o nome é o id do item que foi adicionado Os itens de Mago e Kina estão assim pq tu nao adicionou nada, vc vai ver quando for criar um novo item que vai ter a opçao de Category, no nosso caso 1=Itens, 2=Itens de Kina, 3=Itens de Mago Tenta criar um e comprar novamente pra ver
-
[Ajuda] Organizar ShopSystem por categorias
@Drakon21 pode apagar vai no seu ShopSystem antigo, apaga tudo e joga isso la: <?PHP // ALTER TABLE `z_shop_history_item` CHANGE `offer_id` `offer_id` VARCHAR( 255 ) NOT NULL; // UPDATE `z_shop_history_item`, `z_shop_offer` SET `z_shop_history_item`.`offer_id` = `z_shop_offer`.`offer_name` WHERE `z_shop_history_item`.`offer_id` = `z_shop_offer`.`id`; if($config['site']['shop_system'] == 1) { if($logged) { $user_premium_points = $account_logged->getCustomField('premium_points'); } else { $user_premium_points = 'Login first'; } function getItemByID($id) { $id = (int) $id; $SQL = $GLOBALS['SQL']; $data = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_offer').' WHERE '.$SQL->fieldName('id').' = '.$SQL->quote($id).';')->fetch(); if ($data['offer_type'] == 'pacc') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['days'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'item') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['item_id'] = $data['itemid1']; $offer['item_count'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'container') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['container_id'] = $data['itemid2']; $offer['container_count'] = $data['count2']; $offer['item_id'] = $data['itemid1']; $offer['item_count'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } return $offer; } function getOfferArray_cat1() { $offer_list = $GLOBALS['SQL']->query('SELECT * FROM '.$GLOBALS['SQL']->tableName('z_shop_offer').' WHERE `category` = 1 ORDER BY `id`;'); $i_pacc = 0; $i_item = 0; $i_container = 0; while($data = $offer_list->fetch()) { if ($data['offer_type'] == 'item') { $offer_array['item'][$i_item]['id'] = $data['id']; $offer_array['item'][$i_item]['item_id'] = $data['itemid1']; $offer_array['item'][$i_item]['item_count'] = $data['count1']; $offer_array['item'][$i_item]['points'] = $data['points']; $offer_array['item'][$i_item]['description'] = $data['offer_description']; $offer_array['item'][$i_item]['name'] = $data['offer_name']; $i_item++; } } return $offer_array; } function getOfferArray_cat2() { $offer_list = $GLOBALS['SQL']->query('SELECT * FROM '.$GLOBALS['SQL']->tableName('z_shop_offer').' WHERE `category` = 2 ORDER BY `id`;'); $i_pacc = 0; $i_item = 0; $i_container = 0; while($data = $offer_list->fetch()) { if ($data['offer_type'] == 'item') { $offer_array['item'][$i_item]['id'] = $data['id']; $offer_array['item'][$i_item]['item_id'] = $data['itemid1']; $offer_array['item'][$i_item]['item_count'] = $data['count1']; $offer_array['item'][$i_item]['points'] = $data['points']; $offer_array['item'][$i_item]['description'] = $data['offer_description']; $offer_array['item'][$i_item]['name'] = $data['offer_name']; $i_item++; } } return $offer_array; } function getOfferArray_cat3() { $offer_list = $GLOBALS['SQL']->query('SELECT * FROM '.$GLOBALS['SQL']->tableName('z_shop_offer').' WHERE `category` = 3 ORDER BY `id`;'); $i_pacc = 0; $i_item = 0; $i_container = 0; while($data = $offer_list->fetch()) { if ($data['offer_type'] == 'pacc') { $offer_array['pacc'][$i_pacc]['id'] = $data['id']; $offer_array['pacc'][$i_pacc]['days'] = $data['count1']; $offer_array['pacc'][$i_pacc]['points'] = $data['points']; $offer_array['pacc'][$i_pacc]['description'] = $data['offer_description']; $offer_array['pacc'][$i_pacc]['name'] = $data['offer_name']; $i_pacc++; } elseif ($data['offer_type'] == 'item') { $offer_array['item'][$i_item]['id'] = $data['id']; $offer_array['item'][$i_item]['item_id'] = $data['itemid1']; $offer_array['item'][$i_item]['item_count'] = $data['count1']; $offer_array['item'][$i_item]['points'] = $data['points']; $offer_array['item'][$i_item]['description'] = $data['offer_description']; $offer_array['item'][$i_item]['name'] = $data['offer_name']; $i_item++; } elseif ($data['offer_type'] == 'container') { $offer_array['container'][$i_container]['id'] = $data['id']; $offer_array['container'][$i_container]['container_id'] = $data['itemid2']; $offer_array['container'][$i_container]['container_count'] = $data['count2']; $offer_array['container'][$i_container]['item_id'] = $data['itemid1']; $offer_array['container'][$i_container]['item_count'] = $data['count1']; $offer_array['container'][$i_container]['points'] = $data['points']; $offer_array['container'][$i_container]['description'] = $data['offer_description']; $offer_array['container'][$i_container]['name'] = $data['offer_name']; $i_container++; } } return $offer_array; } if($action == "category=3") { unset($_SESSION['viewed_confirmation_page']); $main_content .= '<h2><center>Welcome to the Server Name Shop!<br /> Here you can buy some items.</center></h2>'; $offer_list = getOfferArray_cat3(); //show list of items offers if(count($offer_list['item']) > 0) { $main_content .= '<a href="index.php?subtopic=shopsystem" style="padding: 5px 5px 1px 5px; margin: 5px 1px 0px 1px; background-color: #F1E0C6; color: #aaaaaa;">Items</a><a href="index.php?subtopic=shopsystem&action=category=2" style="padding: 5px 5px 1px 5px; margin: 5px 1px 0px 1px; background-color: #F1E0C6; color: #aaaaaa;">Itens de Kira</a><a href="index.php?subtopic=shopsystem&action=category=3" style="padding: 5px 5px 1px 5px; margin: 5px 1px 0px 1px; background-color: #F1E0C6; color: #000000;">Itens de Mago</a>'; $main_content .= '<table style="width:100%;" cellpadding="1" cellspacing="1"><tr style="background:#F1E0C6;"><td colspan="4" style="height:5px;"></td></tr></table>'; $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#b7a58a"><td colspan="3"><font color="#F1E0C6" size="4"><b> ITEMS</b></font></td></tr><tr bgcolor="#b7a58a"><td width="50" align="center"><font color=#FFFFFF><b>Picture</b></font></td><td width="350" align="left"><font color=#FFFFFF><b>Description</b></font></td><td width="250" align="center"><font color=#FFFFFF><b>Select product</b></font></td></tr>'; foreach($offer_list['item'] as $item) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$item['id'].'.jpg"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">'; if(!$logged) { $main_content .= '<b>Login to buy</b>'; } else { $main_content .= '<form action="?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$item['id'].'"><input type="submit" value="Buy '.$item['name'].'"><br><b>for '.$item['points'].' points</b></form>'; } $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } //show list of containers offers if(count($offer_list['container']) > 0) { $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#b7a58a"><td colspan="3"><font color="#F1E0C6" size="4"><b> CONTAINERS WITH ITEMS</b></font></td></tr><tr bgcolor="#b7a58a"><td width="50" align="center"><font color=#FFFFFF><b>Picture</b></font></td><td width="350" align="left"><font color=#FFFFFF><b>Description</b></font></td><td width="250" align="center"><font color=#FFFFFF><b>Select product</b></font></td></tr>'; foreach($offer_list['container'] as $container) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$container['id'].'.jpg"></td><td><b>'.$container['name'].'</b> ('.$container['points'].' points)<br />'.$container['description'].'</td><td align="center">'; if(!$logged) { $main_content .= '<b>Login to buy</b>'; } else { $main_content .= '<form action="?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$container['id'].'"><input type="submit" value="Buy '.$container['name'].'"><br><b>for '.$container['points'].' points</b></form>'; } $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } //show list of pacc offers if(count($offer_list['pacc']) > 0) { $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#b7a58a"><td colspan="3"><font color="#F1E0C6" size="4"><b> PACC</b></font></td></tr><tr bgcolor="#b7a58a"><td width="50" align="center"><font color=#FFFFFF><b>Days</b></font></td><td width="350" align="left"><font color=#FFFFFF><b>Description</b></font></td><td width="250" align="center"><font color=#FFFFFF><b>Select product</b></font></td></tr>'; foreach($offer_list['pacc'] as $pacc) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center">'.$pacc['days'].'</td><td><b>'.$pacc['name'].'</b> ('.$pacc['points'].' points)<br />'.$pacc['description'].'</td><td align="center">'; if(!$logged) { $main_content .= '<b>Login to buy</b>'; } else { $main_content .= '<form action="?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$pacc['id'].'"><input type="submit" value="Buy '.$pacc['name'].'"><br><b>for '.$pacc['points'].' points</b></form>'; } } $main_content .= '</table><br />'; } } if($action == "category=2") { unset($_SESSION['viewed_confirmation_page']); $main_content .= '<h2><center>Welcome to the Server Name Shop!<br /> Here you can buy some items.</center></h2>'; $offer_list = getOfferArray_cat2(); //show list of items offers if(count($offer_list['item']) > 0) { $main_content .= '<a href="index.php?subtopic=shopsystem" style="padding: 5px 5px 1px 5px; margin: 5px 1px 0px 1px; background-color: #F1E0C6; color: #aaaaaa;">Items</a><a href="index.php?subtopic=shopsystem&action=category=2" style="padding: 5px 5px 1px 5px; margin: 5px 1px 0px 1px; background-color: #F1E0C6; color: #000000;;">Itens de Kira</a><a href="index.php?subtopic=shopsystem&action=category=3" style="padding: 5px 5px 1px 5px; margin: 5px 1px 0px 1px; background-color: #F1E0C6; color: #aaaaaa;">Itens de Mago</a>'; $main_content .= '<table style="width:100%;" cellpadding="1" cellspacing="1"><tr style="background:#F1E0C6;"><td colspan="4" style="height:5px;"></td></tr></table>'; $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#b7a58a"><td colspan="3"><font color="#F1E0C6" size="4"><b> ITEMS</b></font></td></tr><tr bgcolor="#b7a58a"><td width="50" align="center"><font color=#FFFFFF><b>Picture</b></font></td><td width="350" align="left"><font color=#FFFFFF><b>Description</b></font></td><td width="250" align="center"><font color=#FFFFFF><b>Select product</b></font></td></tr>'; foreach($offer_list['item'] as $item) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$item['id'].'.jpg"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">'; if(!$logged) { $main_content .= '<b>Login to buy</b>'; } else { $main_content .= '<form action="?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$item['id'].'"><input type="submit" value="Buy '.$item['name'].'"><br><b>for '.$item['points'].' points</b></form>'; } $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } } if($action == '') { unset($_SESSION['viewed_confirmation_page']); $main_content .= '<h2><center>Welcome to the Server Name Shop!<br /> Here you can buy some items.</center></h2>'; $offer_list = getOfferArray_cat1(); //show list of items offers if(count($offer_list['item']) > 0) { $main_content .= '<a href="index.php?subtopic=shopsystem" style="padding: 5px 5px 1px 5px; margin: 5px 1px 0px 1px; background-color: #F1E0C6; color: #000000;">Items</a><a href="index.php?subtopic=shopsystem&action=category=2" style="padding: 5px 5px 1px 5px; margin: 5px 1px 0px 1px; background-color: #F1E0C6; color: #aaaaaa;">Itens de Kira</a><a href="index.php?subtopic=shopsystem&action=category=3" style="padding: 5px 5px 1px 5px; margin: 5px 1px 0px 1px; background-color: #F1E0C6; color: #aaaaaa;">Itens de Mago</a>'; $main_content .= '<table style="width:100%;" cellpadding="1" cellspacing="1"><tr style="background:#F1E0C6;"><td colspan="4" style="height:5px;"></td></tr></table>'; $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#b7a58a"><td colspan="3"><font color="#FFFFFF" size="4"><b> ITEMS</b></font></td></tr><tr bgcolor="#b7a58a"><td width="50" align="center"><font color=#FFFFFF><b>Picture</b></font></td><td width="350" align="left"><font color=#FFFFFF><b>Description</b></font></td><td width="250" align="center"><font color=#FFFFFF><b>Select product</b></font></td></tr>'; foreach($offer_list['item'] as $item) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$item['id'].'.jpg"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">'; if(!$logged) { $main_content .= '<b>Login to buy</b>'; } else { $main_content .= '<form action="?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$item['id'].'"><input type="submit" value="Buy '.$item['name'].'"><br><b>for '.$item['points'].' points</b></form>'; } $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } } elseif($action == 'select_player') { unset($_SESSION['viewed_confirmation_page']); if(!$logged) { $main_content .= 'Please login first.'; } else { $buy_id = (int) $_REQUEST['buy_id']; if(empty($buy_id)) { $main_content .= 'Please <a href="?subtopic=shopsystem">select item</a> first.'; } else { $buy_offer = getItemByID($buy_id); if(isset($buy_offer['id'])) //item exist in database { if($user_premium_points >= $buy_offer['points']) { $main_content .= '<h2>Select player</h2> <table border="0" cellpadding="1" cellspacing="1" width="650"> <tr bgcolor="#b7a58a"><td colspan="2"><font color="#F1E0C6" size="4"><b>Selected offer</b></font></td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Name:</b></td><td width="550">'.$buy_offer['name'].'</td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Description:</b></td><td width="550">'.$buy_offer['description'].'</td></tr> </table><br /> <form action="?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'"> <table border="0" cellpadding="1" cellspacing="1" width="650"> <tr bgcolor="#b7a58a"><td colspan="2"><font color="#F1E0C6" size="4"><b>Give item/pacc* to player from your account</b></font></td></tr> <tr bgcolor="#F1E0C6"><td width="110"><b>Name:</b></td><td width="550"><select name="buy_name">'; $players_from_logged_acc = $account_logged->getPlayersList(); if(count($players_from_logged_acc) > 0) { $players_from_logged_acc->orderBy('name'); foreach($players_from_logged_acc as $player) { $main_content .= '<option>'.$player->getName().'</option>'; } } else { $main_content .= 'You don\'t have any character on your account.'; } $main_content .= '</select> <input type="submit" value="Give"></td></tr> </table> </form><br /><form action="?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'"> <table border="0" cellpadding="1" cellspacing="1" width="650"> <tr bgcolor="#b7a58a"><td colspan="2"><font color="#F1E0C6" size="4"><b>Give item/pacc* to other player</b></font></td></tr> <tr bgcolor="#F1E0C6"><td width="110"><b>To player:</b></td><td width="550"><input type="text" name="buy_name"> - name of player</td></tr> <tr bgcolor="#F1E0C6"><td width="110"><b>From:</b></td><td width="550"><input type="text" name="buy_from"> <input type="submit" value="Give"> - your nick, \'empty\' = Anonymous</td></tr> </table><br /> </form>'; $main_content .= '*PACC is for all characters from account of selected player name'; } else { $main_content .= 'For this item you need <b>'.$buy_offer['points'].'</b> points. You have only <b>'.$user_premium_points.'</b> premium points. Please <a href="?subtopic=shopsystem">select other item</a> or buy premium points.'; } } else { $main_content .= 'Offer with ID <b>'.$buy_id.'</b> doesn\'t exist. Please <a href="?subtopic=shopsystem">select item</a> again.'; } } } } elseif($action == 'confirm_transaction') { if(!$logged) { $main_content .= 'Please login first.'; } else { $buy_id = (int) $_POST['buy_id']; $buy_name = stripslashes(urldecode($_POST['buy_name'])); $buy_from = stripslashes(urldecode($_POST['buy_from'])); if(empty($buy_from)) { $buy_from = 'Anonymous'; } if(empty($buy_id)) { $main_content .= 'Please <a href="?subtopic=shopsystem">select item</a> first.'; } else { if(!check_name($buy_from)) { $main_content .= 'Invalid nick ("from player") format. Please <a href="?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a> or contact with administrator.'; } else { $buy_offer = getItemByID($buy_id); if(isset($buy_offer['id'])) //item exist in database { if($user_premium_points >= $buy_offer['points']) { if(check_name($buy_name)) { $buy_player = new OTS_Player(); $buy_player->find($buy_name); if($buy_player->isLoaded()) { $buy_player_account = $buy_player->getAccount(); if($_SESSION['viewed_confirmation_page'] == 'yes' && $_POST['buy_confirmed'] == 'yes') { if($buy_offer['type'] == 'pacc') { $player_premdays = $buy_player_account->getCustomField('premdays'); $player_lastlogin = $buy_player_account->getCustomField('lastday'); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_pacc').' (id, to_name, to_account, from_nick, from_account, price, pacc_days, trans_state, trans_start, trans_real) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['days']).', \'realized\', '.$SQL->quote(time()).', '.$SQL->quote(time()).');'; $SQL->query($save_transaction); $buy_player_account->setCustomField('premdays', $player_premdays+$buy_offer['days']); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; if($player_premdays == 0) { $buy_player_account->setCustomField('lastday', time()); } $main_content .= '<h2>PACC added!</h2><b>'.$buy_offer['days'].' days</b> of Premium Account added to account of player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>'; } elseif($buy_offer['type'] == 'item') { $sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' (id, name, type, action, param1, param2, param3, param4, param5, param6, param7, delete_it) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', \'login\', \'give_item\', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', \'\', \'\', \'item\', '.$SQL->quote($buy_offer['name']).', \'\', \'1\');'; $SQL->query($sql); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_account, price, offer_id, trans_state, trans_start, trans_real) VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', \'wait\', '.$SQL->quote(time()).', \'0\');'; $SQL->query($save_transaction); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<h2>Item added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>'; } elseif($buy_offer['type'] == 'container') { $sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' (id, name, type, action, param1, param2, param3, param4, param5, param6, param7, delete_it) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', \'login\', \'give_item\', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote($buy_offer['container_id']).', '.$SQL->quote($buy_offer['container_count']).', \'container\', '.$SQL->quote($buy_offer['name']).', \'\', \'1\');'; $SQL->query($sql); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_account, price, offer_id, trans_state, trans_start, trans_real) VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', \'wait\', '.$SQL->quote(time()).', \'0\');'; $SQL->query($save_transaction); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<h2>Container of items added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this container with items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>'; } } else { $set_session = TRUE; $_SESSION['viewed_confirmation_page'] = 'yes'; $main_content .= '<h2>Confirm transaction</h2> <table border="0" cellpadding="1" cellspacing="1" width="650"> <tr bgcolor="#b7a58a"><td colspan="3"><font color="#F1E0C6" size="4"><b>Confirm transaction</b></font></td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Cost:</b></td><td width="550" colspan="2"><b>'.$buy_offer['points'].' premium points</b> from your account</td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>For Player:</b></td><td width="550" colspan="2"><font color="#FFFFFF">'.$buy_player->getName().'</font></td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>From:</b></td><td width="550" colspan="2"><font color="#FFFFFF">'.$buy_from.'</font></td></tr> <tr bgcolor="#FFFFFF"><td width="100"><b>Transaction?</b></td><td width="275" align="left"> <form action="?subtopic=shopsystem&action=confirm_transaction" method="POST"><input type="hidden" name="buy_confirmed" value="yes"><input type="hidden" name="buy_id" value="'.$buy_id.'"><input type="hidden" name="buy_from" value="'.urlencode($buy_from).'"><input type="hidden" name="buy_name" value="'.urlencode($buy_name).'"><input type="submit" value="Accept"></form></td> <td align="right"><form action="?subtopic=shopsystem" method="POST"><input type="submit" value="Cancel"></form></td></tr> </table> '; } } else { $main_content .= 'Player with name <b>'.$buy_name.'</b> doesn\'t exist. Please <a href="?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a>.'; } } else { $main_content .= 'Invalid name format. Please <a href="?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a> or contact with administrator.'; } } else { $main_content .= 'For this item you need <b>'.$buy_offer['points'].'</b> points. You have only <b>'.$user_premium_points.'</b> premium points. Please <a href="?subtopic=shopsystem">select other item</a> or buy premium points.'; } } else { $main_content .= 'Offer with ID <b>'.$buy_id.'</b> doesn\'t exist. Please <a href="?subtopic=shopsystem">select item</a> again.'; } } } } if(!$set_session) { unset($_SESSION['viewed_confirmation_page']); } } elseif($action == 'show_history') { if(!$logged) { $main_content .= 'Please login first.'; } else { $items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($items_history_received)) { foreach($items_history_received as $item_received) { if($account_logged->getId() == $item_received['to_account']) $char_color = 'green'; else $char_color = '#FFFFFF'; $items_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$item_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $item_received['from_account']) $items_received_text .= '<i>Your account</i>'; else $items_received_text .= $item_received['from_nick']; $items_received_text .= '</td><td>'.$item_received['offer_id'].'</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>'; if($item_received['trans_real'] > 0) $items_received_text .= '<td>'.date("j F Y, H:i:s", $item_received['trans_real']).'</td>'; else $items_received_text .= '<td><b><font color="#FFFFFF">Not realized yet.</font></b></td>'; $items_received_text .= '</tr>'; } } $paccs_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($paccs_history_received)) { foreach($paccs_history_received as $pacc_received) { if($account_logged->getId() == $pacc_received['to_account']) $char_color = 'green'; else $char_color = '#FFFFFF'; $paccs_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$pacc_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $pacc_received['from_account']) $paccs_received_text .= '<i>Your account</i>'; else $paccs_received_text .= $pacc_received['from_nick']; $paccs_received_text .= '</td><td>'.$pacc_received['pacc_days'].' days</td><td>'.$pacc_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $pacc_received['trans_real']).'</td></tr>'; } } $main_content .= '<center><h1>Transactions History</h1></center>'; if(!empty($items_received_text)) { $main_content .= '<h2>Item transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="#F1E0C6"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Bought on page</b></td><td><b>Received on OTS</b></td></tr>'.$items_received_text.'</table><br />'; } if(!empty($paccs_received_text)) { $main_content .= '<h2>PACC transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="#F1E0C6"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccs_received_text.'</table><br />'; } if(empty($paccs_received_text) && empty($items_received_text)) $main_content .= 'You did not buy/receive any item or PACC.'; } } $main_content .= '<br><br><b><font color="green">You have premium points: </font></b>'.$user_premium_points; } else $main_content .= 'Shop system is blocked on this server. Admin must install this script (LUA and in database only, PHP is installed) on server and set <b>shop_system = "1"</b> in config.ini file'; ?> Vai em Shopadmin e cola isso: <?PHP if($group_id_of_acc_logged >= $config['site']['access_admin_panel']) { $offertype = $_REQUEST['offer_type']; if((empty($action)) AND (empty($offertype))) { $main_content .= '<br><h2><center><a href="?subtopic=shopadmin&offer_type=item">ADD SHOP OFFER</a><br><br> <a href="?subtopic=shopadmin&action=viewoffer">VIEW SHOP OFFER <i>(EDIT/DELETE)</i></a><br><br><a href="?subtopic=shopadmin&action=points">ADD POINTS</a></center>'; } if($_REQUEST['offer_type']){ $shop_points = stripslashes(ucwords(strtolower(trim($_REQUEST['shop_points'])))); $shop_offer_type = stripslashes(trim($_REQUEST['offer_type'])); if(empty($shop_points)) { $main_content .= '<table border="0"><tr><td align="center"><b>Select offer type:</b></td><td><table border="0" ><tr bgcolor="#505050"> <td><font color="white">Item</td><td><font color="white">Container</td><td><font color="white">Pacc</td><td><font color="white">Redskull</td><td><font color="white">Unban</td><td><font color="white">Changename</td></tr> <tr bgcolor="#D4C0A1"> <td align="center"><a href="?subtopic=shopadmin&offer_type=item"><input type="radio" name="offer_type" value="item"></a></td> <td align="center"><a href="?subtopic=shopadmin&offer_type=container"><input type="radio" name="offer_type" value="container" ></a></td> <td align="center"><a href="?subtopic=shopadmin&offer_type=pacc"><input type="radio" name="offer_type" value="pacc" ></a></td> <td align="center"><a href="?subtopic=shopadmin&offer_type=redskull"><input type="radio" name="offer_type" value="redskull" ></a></td> <td align="center"><a href="?subtopic=shopadmin&offer_type=unban"><input type="radio" name="offer_type" value="unban" ></a></td> <td align="center"><a href="?subtopic=shopadmin&offer_type=changename"><input type="radio" name="offer_type" value="changename" ></a></td> </tr></table></td></tr>'; $main_content .= '<form action="?subtopic=shopadmin&offer_type='.$shop_offer_type.'&check" method="post" ><table border="0"><tr><td align="center" ><b>Points:</b></td> <td><input type="textbox" name="shop_points" maxlenght="7" style="width: 70px"></td></tr>'; if($_REQUEST['offer_type'] == 'container'){ $main_content .= '<tr><td align="center" ><b>Container ID:</b></td> <td><input type="text" name="shop_itemid1" maxlenght="7" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Count Container:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Item ID:</b></td> <td><input type="text" name="shop_itemid2" maxlenght="7" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Count Item:</b></td> <td><input type="text" name="shop_count2" maxlenght="7" style="width: 70px" ></td></tr>'; } if($_REQUEST['offer_type'] == 'item'){ $main_content .= '<tr><td align="center"><b>Item ID:</b></td> <td><input type="text" name="shop_itemid1" maxlenght="7" style="width: 70px" ></td></tr> <tr><td align="center"><b>Item Count:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr>'; } if($_REQUEST['offer_type'] == 'pacc'){ $main_content .= '<tr><td align="center" ><b>Days:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr>'; } $main_content .= '<tr><td align="center" ><b>Offer Description:</b></td> <td ><textarea name="shop_offer_description" rows="2" cols="35"></textarea></td></tr> <tr><td align="center" ><b>Category:</b></td> <td><input type="text" name="shop_category" maxlenght="7" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Offer Name:</b></td> <td><input type="text" name="shop_offer_name" maxlenght="40" style="width: 200px" ></td></tr> <tr><td><input name="submit" type="submit" value="Submit" /></form></td><td> <form action="?subtopic=shopadmin&offer_type=container" method="post" > <input name="submit" type="submit" value="Reset" /></form></td></tr></table>'; $main_content .= '<form action="?subtopic=shopadmin" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } else { $shop_points = stripslashes(trim($_POST['shop_points'])); $shop_offer_type = stripslashes(trim($_REQUEST['offer_type'])); $shop_itemid1 = stripslashes(trim($_POST['shop_itemid1'])); $shop_count1 = stripslashes(trim($_POST['shop_count1'])); $shop_itemid2 = stripslashes(trim($_POST['shop_itemid2'])); $shop_count2 = stripslashes(trim($_POST['shop_count2'])); $shop_offer_description = stripslashes(trim($_POST['shop_offer_description'])); $shop_offer_name = stripslashes(trim($_POST['shop_offer_name'])); $shop_category = stripslashes(trim($_POST['shop_category'])); $SQL->query('INSERT INTO `z_shop_offer` (id, points, itemid1, count1, itemid2, count2, offer_type, offer_description, offer_name, pid, category) VALUES (NULL, '.$SQL->quote($shop_points).', '.$SQL->quote($shop_itemid1).', '.$SQL->quote($shop_count1).', '.$SQL->quote($shop_itemid2).', '.$SQL->quote($shop_count2).', '.$SQL->quote($shop_offer_type).', '.$SQL->quote($shop_offer_description).', '.$SQL->quote($shop_offer_name).', 0, '.$SQL->quote($shop_category).')'); $main_content .= '<center><h2><font color="red">Added to Shop:</font></h2></center><hr/> <tr><td align="center" ><b>Points:</b></td> <td>'.$shop_points.'</td></tr><br>'; if($shop_offer_type == 'container'){ $main_content .= '<tr><td align="center" ><b>Container ID:</b></td> <td>'.$shop_itemid1.'</td></tr><br> <tr><td align="center" ><b>Count Container:</b></td> <td>'.$shop_count1.'</td></tr><br> <tr><td align="center" ><b> Item ID (in Container):</b></td> <td>'.$shop_itemid2.'</td></tr><br> <tr><td align="center" ><b>Count Item (in Container):</b></td> <td>'.$shop_count2.'</td></tr><br> <tr><td align="center" ><b>Category:</b></td> <td>'.$shop_category.'</td></tr><br>'; } if ($shop_offer_type == 'item'){ $main_content .= '<tr><td align="center" ><b>Item ID:</b></td> <td>'.$shop_itemid1.'</td></tr><br> <tr><td align="center" ><b>Count Item:</b></td> <td>'.$shop_count1.'</td></tr><br> <tr><td align="center" ><b>Category:</b></td> <td>'.$shop_category.'</td></tr><br>'; } if ($shop_offer_type == 'pacc'){ $main_content .= '<tr><td align="center" ><b>Days:</b></td> <td>'.$shop_count1.'</td></tr><br> <tr><td align="center" ><b>Category:</b></td> <td>'.$shop_category.'</td></tr><br>'; } $main_content .= '<tr><td align="center" ><b>Offer Type:</b></td> <td>'.$shop_offer_type.'</td></tr><br> <tr><td align="center" ><b>Offer Description:</b></td> <td>'.$shop_offer_description.'</td></tr><br> <tr><td align="center" ><b>Offer Name:</b></td> <td>'.$shop_offer_name.'</td></tr> <br><form action="?subtopic=shopadmin&offer_type=item" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } } if($action == "viewoffer") { $items = simplexml_load_file($config['site']['server_path'].'/data/items/items.xml') or die('<b>Could not load items!</b>'); foreach($items->item as $v) $itemList[(int)$v['id']] = $v['name']; $order = array("id" => "id", "points" => "points", "offer_type" => "offer_type", "itemid1" => "itemid1", "itemid2" => "itemid2"); $main_content .= '<center><table width="550"><tr BGCOLOR="#505050"><td width="5"><font color="white"><a href="index.php?subtopic=shopadmin&action=viewoffer&order=' . getOrder($order, 'order', 'id') . '" class=white>ID:</td><td width="5"><font color="white"><a href="index.php?subtopic=shopadmin&action=viewoffer&order=' . getOrder($order, 'order', 'points') . '" class=white>Points:</td><td width="7"> <font color="white"><a href="index.php?subtopic=shopadmin&action=viewoffer&order=' . getOrder($order, 'order', 'itemid1') . '" class=white>Item ID:</td><td width="5"><font color="white">Count:</td><td width="7"><center><font color="white"><a href="index.php?subtopic=shopadmin&action=viewoffer&order=' . getOrder($order, 'order', 'itemid2') . '" class=white>Container ID:</center></td><td width="5"><font color="white">Count:</td><td width="7"><font color="white"><a href="index.php?subtopic=shopadmin&action=viewoffer&order=' . getOrder($order, 'order', 'offer_type') . '" class=white>Offer Type:</td> <td width="85"><font color="white">Offer Description:</td><td width="30"><font color="white">Offer Name:</td><td width="30"></td></tr>'; $shopoffers = $SQL->query('SELECT id, points, itemid1, count1, itemid2, count2, offer_type, offer_description, offer_name, pid FROM z_shop_offer ' . makeOrder($order, 'order', 'id')); foreach($shopoffers as $shop) { $main_content .= '</B><tr BGCOLOR="#D4C0A1"><td align="center">'.$shop['id'].'<td align="center">'.$shop['points'].'</td>'; if($shop['itemid1'] == "0") { $main_content .= '<td align="center">'.$shop['itemid1'].'<br></td>'; } else { $main_content .= '<td align="center">'.$shop['itemid1'].'<br>(' . $itemList[(int)$shop['itemid1']] . ')</td>'; } $main_content .= '<td align="center">'.$shop['count1'].'</td>'; if($shop['itemid2'] == "0") { $main_content .= '<td align="center">'.$shop['itemid2'].'</td>'; } else { $main_content .= '<td align="center">'.$shop['itemid2'].'<br>(' . $itemList[(int)$shop['itemid2']] . ')</td>'; } $main_content .= '<td align="center">'.$shop['count2'].'</td><td align="center">'.$shop['offer_type'].'</td><td align="left">'.$shop['offer_description'].'</td><td align="left">'.$shop['offer_name'].'</td>'; $main_content .= '<td align="center"><a href="?subtopic=shopadmin&action=editoffer&id='.$shop['id'].'"><img src="'.$layout_name.'/images/news/edit_news.png" border="0"></a><br><br><a href="?subtopic=shopadmin&action=deleteoffer&id='.$shop['id'].'"><img src="'.$layout_name.'/images/news/delete_news.png" border="0"></a></td>'; } $main_content .= '</td></tr></TABLE><br><form action="?subtopic=shopadmin" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } if($action == "deleteoffer") { $id = (int) $_REQUEST['id']; $SQL->query('DELETE FROM z_shop_offer WHERE id = '.$id.' LIMIT 1;'); $main_content .= '<center>Shop offer has been deleted.</center><br><center><form action="?subtopic=shopadmin&action=viewoffer" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form></center>'; } if($action == "editoffer") { $id = (int) $_REQUEST['id']; $shopoffers = $SQL->query('SELECT * FROM z_shop_offer WHERE id = '.$id.' LIMIT 1;'); foreach($shopoffers as $shop) { $main_content .= '<form action="?subtopic=shopadmin&action=edited&id='.$id.'" method="post" ><table border="0"><tr><td align="center" ><b>Points:</b></td> <td><input type="textbox" name="shop_points" maxlenght="7" value="'.$shop['points'].'" style="width: 70px"></td></tr>'; if($shop['offer_type'] == 'container'){ $main_content .= '<tr><td align="center" ><b>Container ID:</b></td> <td><input type="text" name="shop_itemid1" maxlenght="7" value="'.$shop['itemid1'].'" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Count Container:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" value="'.$shop['count1'].'" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Item ID:</b></td> <td><input type="text" name="shop_itemid2" maxlenght="7" value="'.$shop['itemid2'].'" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Count Item:</b></td> <td><input type="text" name="shop_count2" maxlenght="7" value="'.$shop['count2'].'" style="width: 70px" ></td></tr>'; } if($shop['offer_type'] == 'item'){ $main_content .= '<tr><td align="center"><b>Item ID:</b></td> <td><input type="text" name="shop_itemid1" maxlenght="7" value="'.$shop['itemid1'].'" style="width: 70px" ></td></tr> <tr><td align="center"><b>Item Count:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" value="'.$shop['count1'].'" style="width: 70px" ></td></tr>'; } if($shop['offer_type'] == 'pacc'){ $main_content .= '<tr><td align="center" ><b>Days:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr>'; } $main_content .= '<tr><td align="center" ><b>Offer Type:</b></td> <td><input type="text" name="shop_offer_type" value="'.$shop['offer_type'].'" maxlenght="40" style="width: 200px" ></td></tr> <tr><td align="center" ><b>Offer Description:</b></td> <td ><textarea name="shop_offer_description" rows="2" cols="35">'.$shop['offer_description'].'</textarea></td></tr> <tr><td align="center" ><b>Offer Name:</b></td> <td><input type="text" name="shop_offer_name" value="'.$shop['offer_name'].'" maxlenght="40" style="width: 200px" ></td></tr> <tr><td><input name="submit" type="submit" value="Submit" /></form></td><td></td></tr></table>'; $main_content .= '<form action="?subtopic=shopadmin&action=viewoffer" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } } if($action == "edited") { $id = (int) $_REQUEST['id']; $shop_points = stripslashes(trim($_POST['shop_points'])); $shop_offer_type = stripslashes(trim($_POST['shop_offer_type'])); $shop_itemid1 = stripslashes(trim($_POST['shop_itemid1'])); $shop_count1 = stripslashes(trim($_POST['shop_count1'])); $shop_itemid2 = stripslashes(trim($_POST['shop_itemid2'])); $shop_count2 = stripslashes(trim($_POST['shop_count2'])); $shop_offer_description = stripslashes(trim($_POST['shop_offer_description'])); $shop_offer_name = stripslashes(trim($_POST['shop_offer_name'])); $SQL->query('UPDATE `z_shop_offer` SET `points` = '.$shop_points.', `itemid1` = '.$SQL->quote($shop_itemid1).', `count1` = '.$SQL->quote($shop_count1).', `itemid2` = '.$SQL->quote($shop_itemid2).', `count2` = '.$SQL->quote($shop_count2).', `offer_type` = '.$SQL->quote($shop_offer_type).', `offer_description` = '.$SQL->quote($shop_offer_description).', `offer_name` = '.$SQL->quote($shop_offer_name).' WHERE `id` = '.$id.';'); $main_content .= '<b><center>Shop offer successfully edited.</b><br><br><form action="?subtopic=shopadmin&action=viewoffer" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form><meta http-equiv="refresh" content="1;url=/?subtopic=shopadmin&action=viewoffer" />'; } if($action == "points") { $player = stripslashes(ucwords(strtolower(trim($_REQUEST['character'])))); $points = $_POST['points']; if(empty($player)) { $main_content .= '<form action="" method="post"><B>Enter Character Name:</B><input type="textbox" name="character"><br> <B>Enter Points Amount:</B><input type="textbox" name="points"><br><input type="submit" value="Submit"> </form></center><form action="?subtopic=shopadmin" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } else { $player_data = $SQL->query("SELECT * FROM `players` WHERE `name` = '".$player."';")->fetch(); $SQL->query("UPDATE `accounts` SET `premium_points` = `premium_points` + '".$points."' WHERE `id` = '".$player_data['account_id']."'"); $main_content .= '<b><center>'.$points.' Premium Points added to the account of <i>'.$player.'</i> !</b></center><br> <form action="?subtopic=shopadmin" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } } } else { $main_content .= 'Sorry, you have not the rights to access this page.'; } ?> e adicione isso na database ALTER TABLE `z_shop_offer` ADD `category` INT( 11 ) NOT NULL DEFAULT '1'; Ko é que to no 4g e nao tenho nenhum gesior baixado pra testar
-
[Ajuda] Organizar ShopSystem por categorias
@Drakon21 então caguei o pau, deleta os bgl e revive seu antigo shop, vou refazer o script pra add as category entao
-
[Ajuda] Organizar ShopSystem por categorias
@Drakon21 tu ta usando modernaac ou gesior jovem
-
[Ajuda] Organizar ShopSystem por categorias
@Drakon21 vai na pasta principal e da um ctrl+f e escreve "index.tpl"
-
[Ajuda] Organizar ShopSystem por categorias
@Drakon21 mudou o nome do diretorio no Index C:\xampp\htdocs\templates\SUAPASTA\index.tpl em baixo de: coloque: <a href="{$path}index.php/p/v/shopping"> <img src="{$path}/templates/new/images/menuBalliconGreen.png"class="nav_link_icon"> Shop</a> <br> <a href="{$path}index.php/p/v/shopping/history"> <img src="{$path}/templates/new/images/menuBalliconGreen.png" class="nav_link_icon"> Historico</a> <br> ps: exclui a tag do shop anterior se tiver o mesmo diretorio pra nao interferir
-
[Ajuda] Organizar ShopSystem por categorias
@Drakon21 Faz o seguinte então, faz um backupp do seu shop system e joga ele na area de trabalho sla.. Vai no htdocs cria uma pasta chamada "ShopSystem" dentro dela cria 2 arquivo.php Index.php <?php header("Location: ../index.php"); ?> shopping.php <?php sleep(1); // this should halt for 1 seconds for every loop //Product Types //Categories : // //[ 1 - Account Modifications ] //1 - Premium //2 - Remove Skull (ANY) //3 - UnBan Account //4 - Change Name // //[ 2 -Mage Items ] //5 - Itens de Mago // //[ 3 - Kina Items ] //6 - Itens de Kinao // //[ 4 -Items Paladin ] //8 - Itens de Paladino // //HOWTO PUT IMAGES FOR TYPES 1-4 [ Account Modifications ] //Go to public/images/ folder and create a GIF image (Or put) //With the ID of the type [See at the top of the script] //Ex. Type (1) - Premium Account (public/images/1.gif) //Variables require("config.php"); echo "<div class='title'>Shopping Online</div>"; echo "<div class='info'>"; include("config/functions.php"); require("config/config.php"); $this->load->helper("url"); $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $SQL = $ots->getDBHandle(); $SHOP = new shop; $ide = new IDE; $action = $this->uri->segment(4); $categories = array(1 => 'Modificações de Conta', 2 => 'Mage Items', 3 => 'Kina Items', 4 => 'Paladin Items'); if ($_SESSION['logged'] == 1) { if ($SHOP->isInstalled()) { if ($action == '') { if($ide->isAdmin()) { echo "<div class='toolbar' align='center'>"; echo "<a href='".WEBSITE."/index.php/p/v/shopping/admin'>Editar SHOP</a>"; echo "</div><br />"; } echo "<div class='alert alert-info'><b>Lembre-se:</b> Todas as categorias, <b>exceto para 'Mochilas com itens'</b>: Necessita ter espaço em sua <b>BACKPACK</b> para recebe-los.</div><br><br><br>"; echo '<div id="accordion">'; $i = 0; foreach($categories as $key=>$value) { echo '<div class="title">'.$categories[$key].'</div> <div class="info">'; if($SQL->query('SELECT * FROM shop_offer WHERE category = '.$key.'')->fetch()) { echo '<table class="table" border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td width="20%" style="font-weight: bold;">Imagem</td> <td width="40%" style="font-weight: bold;">Produto</td> <td width="20%" style="font-weight: bold;">Pontos</td> <td width="20%" style="font-weight: bold;">Ação</td> </tr>'; foreach($SQL->query('SELECT * FROM shop_offer WHERE category = '.$key.'') as $item) { if (is_int($i / 2)) $bgcolor = "#ececec"; else $bgcolor = "#ffffff"; $i++; echo '<tr class="highlight" bgcolor="'.$bgcolor.'" style="text-align: center;"> <td>'; if($item['category'] == '1') $image = 'public/images/'.$item['type'].'.gif'; else $image = 'public/images/items/'.$item['item'].'.gif'; if(!file_exists($image)) echo 'Sem imagem'; else echo '<img height="32px" width="32px" src="'.WEBSITE.'/'.$image.'"/>'; echo '</td> <td><b>'.$item['name'].'</b><br>'.$item['description'].'</td> <td>'.$item['points'].'</td> <td><button class="btn btn-info" type="submit" onClick="window.location.href=\''.WEBSITE.'/index.php/p/v/shopping/buy/'.$item['id'].'\';" class="ide_button">Buy</button></td> </tr>'; } echo '</table></div>'; } else { echo ""; echo '</div>'; } } echo '</div>'; echo '<br><center><font style="color: #4F82CB; font-weight: bold; font-size: 12px">Você tem: <font color="#4EBF37">'.$SHOP->points($_SESSION['name']).'</font> pontos premium.</font></center>'; } elseif ($action == 'buy') { $product = $this->uri->segment(5); $productact = $this->uri->segment(6); if (!$product) { alert("Você não selecionou um produto."); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping">Voltar ao shop</a></div>'; } else { if($SQL->query('SELECT * FROM shop_offer WHERE id = '.$product.'')->fetch()) { $info = $SQL->query('SELECT * FROM shop_offer WHERE id = '.$product.'')->fetch(); if($productact == '' || !$productact) { if ($SHOP->points($_SESSION['name']) < $info['points']) { alert("Você não possui pontos suficientes para comprar o produto. (<b>".$info['points']."</b>)"); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping">Voltar ao shop</a></div>'; } else { echo '<div id="accordion">'; echo '<h4>Produto selecionado</h4> <div>'; echo '<table class="table table-striped" border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td width="25%" style="font-weight: bold;">Imagem</td> <td width="50%" style="font-weight: bold;">Produto</td> <td width="25%" style="font-weight: bold;">Pontos</td> </tr>'; echo '<tr class="highlight" style="text-align: center"> <td>'; if($info['category'] == '1') $image = 'public/images/'.$info['type'].'.gif'; else $image = 'public/images/items/'.$info['item'].'.gif'; if(!file_exists($image)) echo 'Sem imagem'; else echo '<img height="32px" width="32px" src="'.WEBSITE.'/'.$image.'"/>'; echo '</td> <td><b>'.$info['name'].'</b><br>'.$info['description'].'</td> <td>'.$info['points'].'</td> </tr>'; echo '</table></div> <h4>Selecionar personagem</h4> <div> <center><table class="table table-striped" border="0" cellspacing="7" cellpadding="4" width="50%"> <tr> <td><form method="post" action="'.WEBSITE.'/index.php/p/v/shopping/buy/'.$info['id'].'/send">'; if($info['type'] == '4') echo 'Mudar nome do personagem:'; else echo 'Enviar item para o personagem:'; echo '</td> <td><select name="my_char">'; foreach($SHOP->CharacterList($_SESSION['name']) as $row) echo '<option>'.$row['name'].'</option>'; echo '</select></td> </tr> <tr> <td>'; if($info['type'] == '4') echo 'Novo nome:'; else echo 'Ou enviar para outro personagem:'; echo '</td> <td><input type="text" name="other_char" size="10"/></td> </tr> <tr> <td></td> <td><button class="btn btn-success" type="submit" name="submit" value="true" class="ide_button">Comprar produto</td> </tr></table></center></div></div>'; echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/">Voltar ao Shop</a></div>'; } } elseif ($productact == 'send') { if(!$_POST['submit']) header("Location: ".WEBSITE."/index.php/p/v/shopping"); else { if ($SHOP->points($_SESSION['name']) < $info['points']) { alert("Você não mais Pontos (<b>".$info['points']."</b>)"); } else if($info['type'] != '4') { if($_POST['other_char']) { if($SQL->query('SELECT * FROM players WHERE name = "'.$_POST['other_char'].'"')->fetch()) { $destination = $_POST['other_char']; $send = true; } else { alert('<b>'.$_POST['other_char'].'</b> doesn\'t exists.'); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/buy/'.$info['id'].'">Voltar ao Shop</a></div>'; $send = false; } } else { $destination = $_POST['my_char']; $send = true; } } else { $destination = $_POST['my_char']; $send = true; } if($send == true) { $errors = ''; $processed = 0; if ($info['type'] == '1') { $processed = 1; $finish = true; $SHOP->AddPremium($destination,$info['count']); } elseif ($info['type'] == '2') { $skulltime = $SQL->query('SELECT skull,skulltime FROM players WHERE name = "'.$destination.'"')->fetch(); if ($SHOP->isOnline($destination) == 1) { $errors .= 'Sorry, but <b>'.$destination.'</b> is On-Line right now.<br>'; $finish = false; } elseif ($skulltime['skull'] == '0' && $skulltime['skulltime'] == '0') { $errors .= 'Sorry, but <b>'.$destination.'</b> doesn\'t have any skull.<br>'; $finish = false; } else { $processed = 1; $finish = true; $SQL->query('UPDATE players SET skull = 0, skulltime = 0 WHERE name = "'.$destination.'"'); } } elseif ($info['type'] == '3') { if ($SHOP->isOnline($destination) == 1) { $errors .= 'Sorry, but <b>'.$destination.'</b> is On-Line right now.<br>'; $finish = false; } else { if ($SHOP->isBanned($destination)->fetch()) { $processed = 1; $finish = true; $SHOP->UnBan($destination); } else { $errors .= 'Sorry, but <b>'.$destination.'</b>\'s Account isn\'t banned at the moment.<br>'; $finish = false; } } } elseif ($info['type'] == '4') { if ($SHOP->isOnline($destination) == 1) { $errors .= 'Sorry, but <b>'.$destination.'</b> is On-Line right now.<br>'; $finish = false; } else { if ($SQL->query('SELECT * FROM players WHERE name = "'.$_POST['other_char'].'"')->fetch()) { $finish = false; $errors .= 'Sorry, but <b>'.$_POST['other_char'].'</b> already exists.<br>'; } else { if(!$_POST['other_char']) { $finish = false; $errors .= 'Sorry, but you didn\'t put a new name for your character.<br>'; } else { if (!preg_match('/[^A-Za-z]/', $_POST['other_char'])) { $processed = 1; $finish = true; $SQL->query('UPDATE players SET name = "'.$_POST['other_char'].'" WHERE name = "'.$destination.'"'); } else { $finish = false; $errors .= 'Sorry, but <b>'.$_POST['other_char'].'</b> contains invalid characters (Use only: A-Z, a-z).<br>'; } } } } } else { $finish = true; } if ($finish == true) { echo '<div style="text-align: center; font-size: 15px; color: #4EBF37; font-weight: bold;">Transaction Succesfull</div><br>'; if($info['type'] == '4') echo '<center>You have changed the name of <b>'.$destination.'</b> to <b>'.$_POST['other_char'].'</b>.</center>'; elseif($info['type'] == '3') echo '<center>You have UnBanned <b>'.$destination.'</b>\'s Account.</center>'; else echo '<center>You have bought <b>'.$info['name'].'</b> and gave to <b>'.$destination.'</b>.</center>'; echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping">Go Back to Gift Shop</a></div>'; $SQL->query('UPDATE accounts SET premium_points = '.($SHOP->points($_SESSION['name']) - $info['points']).' WHERE name = "'.$_SESSION['name'].'"'); $SQL->query('INSERT INTO shop_history (`id`, `product`, `session`, `player`, `date`, `processed`) VALUES (NULL, \''.$info['id'].'\',\''.$_SESSION['name'].'\', \''.$destination.'\', \''.time().'\',\''.$processed.'\')');; } else { alert($errors); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/buy/'.$info['id'].'">Go Back to Gift Shop</a></div>'; } } } } } else { header("Location: ".WEBSITE."/index.php/p/v/shopping"); } echo '<br><center><font style="color: #4F82CB; font-weight: bold; font-size: 12px">Você tem: <font color="#4EBF37">'.$SHOP->points($_SESSION['name']).'</font> pontos premium.</font></center>'; } } elseif ($action == 'history') { if ($SQL->query('SELECT * FROM shop_history WHERE session = "'.$_SESSION['name'].'" ORDER BY date DESC LIMIT 30')->fetch()) { echo '<div style="text-align: center; font-weight: bold;">Latest 30 Transactions</div> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td class="white" style="text-align: center; font-weight: bold;">Picture</td> <td class="white" style="text-align: center; font-weight: bold;">Product</td> <td class="white" style="text-align: center; font-weight: bold;">To</td> <td class="white" style="text-align: center; font-weight: bold;">Date</td> <td class="white" style="text-align: center; font-weight: bold;">Processed</td> </tr>'; foreach($SQL->query('SELECT `z`.`player` AS `destination`, `z`.`date` AS `date`, `z`.`processed` AS `processed`, `o`.`category` AS `category`,`o`.`type` AS `type`,`o`.`item` AS `item`,`o`.`name` AS `name` FROM `shop_history` z LEFT JOIN `shop_offer` o ON `z`.`product` = `o`.`id` WHERE `z`.`session` = \''.$_SESSION['name'].'\' ORDER BY `z`.`date` DESC LIMIT 30') as $hist) { echo '<tr class="highlight" style="text-align: center"><td>'; if($hist['category'] == '1') $image = 'public/images/'.$hist['type'].'.gif'; else $image = 'public/images/items/'.$hist['item'].'.gif'; if(!file_exists($image)) echo 'NO IMAGE'; else echo '<img height="32px" width="32px" src="'.WEBSITE.'/'.$image.'"/>'; echo '</td> <td>'.$hist['name'].'</td> <td>'.$hist['destination'].'</td> <td>'.date("d-m-Y - H:i a", $hist["date"]).'</td>'; if ($hist['processed'] == '1') echo '<td><img src="'.WEBSITE.'/public/images/true.gif"/></td>'; else echo '<td><img src="'.WEBSITE.'/public/images/false.gif"/></td>'; echo '</tr>'; } echo '</table>'; } else { alert('You didn\'t made any transactions'); } } elseif ($action == 'donate') { $show = $this->uri->segment(5); if ($show == 'history') { if ($SQL->query('SELECT * FROM shop_donation_history WHERE buyer = "'.$_SESSION['name'].'" ORDER BY date DESC LIMIT 30')->fetch()) { echo '<div style="text-align: center; font-weight: bold;">Latest 30 Donations</div> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td class="white" style="text-align: center; font-weight: bold;">Method</td> <td class="white" style="text-align: center; font-weight: bold;">ID/Mail</td> <td class="white" style="text-align: center; font-weight: bold;">To Account</td> <td class="white" style="text-align: center; font-weight: bold;">Points Added</td> <td class="white" style="text-align: center; font-weight: bold;">Date</td> </tr>'; foreach($SQL->query('SELECT * FROM shop_donation_history WHERE buyer = "'.$_SESSION['name'].'" ORDER BY date DESC LIMIT 30') as $hist) { echo '<tr class="highlight" style="text-align: center"> <td>'; echo ($hist['method'] == 'PayPal')?'<img src="https://www.paypal.com/en_US/i/logo/paypal_logo.gif" height="50px" width="100px">':($hist['method'] == 'ContenidoPago')?'<img src="http://www.contenidopago.com/img/logo_ft.jpg" height="50px" width="100px">':''; echo '</td> <td>'.$hist['receiver'].'</td> <td>'.$hist['account'].'</td> <td>'.$hist['points'].'</td> <td>'.date("d-m-Y - H:i a", $hist["date"]).'</td> </tr>'; } echo '</table>'; } else { alert('You didn\'t donated'); } } elseif (!$show || $show == '') { alert("".$config['server_name']."'s Administration <b>is not responsible</b> for <b>cases of loss of products</b>.<br><br> ".$config['server_name']."'s Administration <b>is responsible</b> for <b>cases of loss of points which have been sent to users</b>."); echo '<div id="accordion">'; foreach ($config['donations']['methods'] as $method => $active) { if ($active == true) { echo '<h3><a href="#">'.$method.'</a></h3> <div>'; if ($method == 'ContenidoPago') { alert("This brand new system consists on <b>donations by SMS</b>.<br> After donating you will receive <b>".$config['donations']['contenidopago']['Points']." Points</b>.<br><br> <b>REMEMBER:</b><br> You need to have <b>enough credit</b> to send <u>SMS</u>.<br><br> You <b>MUST</b> fill the <b>Account Name</b> and the <b>Code Received</b> fields with <u>a valid account name</u> and <u>a valid code</u>."); if(!isset($_POST['mysubmit'])) { echo '<form method="post" action="" > <fieldset style="border:1px solid #990000; width:450px; margin:auto;"> <legend style="font-weight:bold;font-size:12px;">Automatic SMS Donation</legend> <ol style="list-style:none;"> <li style="padding-bottom:5px;"><label style="width:100px;float:left;text-align:left;">Account Name:</label><input type="text" style="border:1px solid #CCCCCC;" size="30" name="name" /></li> <li style="padding-bottom:5px;"><label style="width:100px;float:left;text-align:left;">Code received:</label><input type="text" style="border:1px solid #CCCCCC;" size="30" name="codigo" /></li> </ol> <center><input type="submit" name="mysubmit" style="padding:3px;margin-bottom:10px;color:#FFFFFF;background-color:#990000;border:1px solid #000000;" value="Enviar" /></center> </fieldset> </form>'; } else { $codigo=$_POST['codigo']; $name=$_POST['name']; $QueryString = "LinkUrl=http://".urlencode($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); $QueryString .= "&codigo=" .urlencode($codigo); $QueryString .= "&idservicio=" .$config['donations']['contenidopago']['Product']; if(intval(get_cfg_var('allow_url_fopen')) && function_exists('file_get_contents')) { $result=@file_get_contents("http://contenidopago.com/codigoval.php?".$QueryString); } elseif(intval(get_cfg_var('allow_url_fopen')) && function_exists('file')) { if($content = @file("http://contenidopago.com/codigoval.php?".$QueryString)) $result=@join('', $content); } elseif(function_exists('curl_init')) { $ch = curl_init ("http://contenidopago.com/codigoval.php?".$QueryString); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_exec ($ch); if(curl_error($ch)) alert("Error processing request"); curl_close ($ch); } else { alert("It appears that your web host has disabled all functions for handling remote pages and as a result the BackLinks software will not function on your web page. Please contact your web host for more information."); } if ($result =='ok') { if(!(empty($name))) { if(!$SQL->query("SELECT * FROM accounts WHERE name = '".$name."'")->fetch()) { alert('This username does not exist: <font color="blue">'.$name.'</font>'); } else { $SQL->query("UPDATE accounts SET premium_points = premium_points + ".$config['donations']['contenidopago']['Points']." WHERE name = '".$name."'"); alert("Codigo : $codigo validado, puntos sumados correctamente"); $SQL->query("INSERT INTO shop_donation_history (`id`, `method`, `receiver`, `buyer`, `account`, `points`, `date`) VALUES (NULL, 'ContenidoPago', '".$config['donations']['contenidopago']['Product']."', '".$_SESSION['name']."', '".$name."', '".$config['donations']['contenidopago']['Points']."', '".time()."');"); } } else { alert('You did not set the user!'); } } if ($result =='no') { alert('El codigo no es valido o ya esta usado'); } } echo '<center><iframe src ="http://www.contenidopago.com/prom/microcodigo.php" width="270px" height="340px" frameborder="0"> <p>Your browser does not support iframes.</p> </iframe></center>'; } elseif ($method == 'PayPal') { alert("The donation costs <b>".$config['donations']['paypal']['Amount']." ".$config['donations']['paypal']['Money']." (incl. VAT)</b>.<br> After the donation you will receive a total of <b>".$config['donations']['paypal']['Points']." points</b> automatically.<br><br> <b>REMEMBER:</b><br> You need a <u>creditcard</u> <b>or</b> a <u>PayPal account</u> with a minimun of <b>".$config['donations']['paypal']['Amount']." ".$config['donations']['paypal']['Money']."</b>.<br><br> You <b>MUST</b> fill the <b>Account Name</b> with a <u>valid one</u>."); echo '<center><form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_donations"> <input type="hidden" name="business" value="'.$config['donations']['paypal']['Mail'].'"> <input type="hidden" name="lc" value="GB"> <input type="hidden" name="item_name" value="'.$config['donations']['paypal']['Product'].'"> <b>Account Name:</b> <input type="text" name="custom" value=""> <input type="hidden" name="item_number" value="1"> <input type="hidden" name="amount" value="'.$config['donations']['paypal']['Amount'].'"> <input type="hidden" name="currency_code" value="'.$config['donations']['paypal']['Money'].'"> <input type="hidden" name="no_note" value="0"> <input type="hidden" name="no_shipping" value="0"> <input type="hidden" name="notify_url" value="'.WEBSITE.'index.php/p/v/paypal"> <input type="hidden" name="return" value="'.WEBSITE.'"> <input type="hidden" name="session" value="'.$_SESSION['name'].'"> <input type="hidden" name="rm" value="0"> <input type="hidden" name="bn" value="PP-DonationsBF:btn_donateCC_LG_global.gif:NonHosted"><br> <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online."> <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> </form></center>'; } echo '</div>'; } } echo '</div>'; } else { header("Location: ".WEBSITE."/index.php/p/v/shopping/donate"); } } elseif ($action == 'admin') { if($ide->isAdmin()) { $manage = $this->uri->segment(5); echo "<div class='toolbar' align='center'>"; echo "<a href='".WEBSITE."/index.php/p/v/shopping/admin/add/1'>Add new Product</a> | "; echo "<a href='".WEBSITE."/index.php/p/v/shopping/admin/delete'>Delete Existing Product</a> | "; echo "<a href='".WEBSITE."/index.php/p/v/shopping/admin/points'>Add/Remove Points to Player</a>"; echo "</div>"; if ($manage == '' || !$manage) { echo '<center>Welcome to Shop Admin Panel</center>'; } elseif ($manage == 'add') { $types[1] = array(1 => 'Premium Account', 2 => 'Remove Skull', 3 => 'UnBan Account', 4 => 'Change Name'); $types[2] = array(5 => 'Item'); $types[3] = array(6 => 'Bag with Items', 7 => 'Backpack with Items'); $types[4] = array(8 => 'Addon Items'); $step = $this->uri->segment(6); if ($step == '1') { echo '<form method="post" action="'.WEBSITE.'/index.php/p/v/shopping/admin/add/2">Select Category: <select name="category">'; foreach($categories as $key=>$value) { echo '<option value="'.$key.'">'.$categories[$key].'</option>'; } echo '</select> <button type="submit" class="ide_button">Select Category</form>'; } elseif ($step == '2' && $_POST['category']) { echo '<form method="post" action="'.WEBSITE.'/index.php/p/v/shopping/admin/add/3"> <input type="hidden" name="category" value="'.$_POST['category'].'"/> Select Type: <select name="type">'; foreach($types[$_POST['category']] as $key=>$value) { echo '<option value="'.$key.'">'.$types[$_POST['category']][$key].'</option>'; } echo '</select> <button type="submit" class="ide_button">Select Type</form>'; } elseif ($step == '3' && $_POST['category'] && $_POST['type']) { echo '<form method="post" action="'.WEBSITE.'/index.php/p/v/shopping/admin/add/4"> <input type="hidden" name="category" value="'.$_POST['category'].'"/> <input type="hidden" name="type" value="'.$_POST['type'].'"/> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td width="25%">Product Name:</td> <td width="25%"><input name="name" type="text" size="18" maxlength="256" /></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">The name of the product</td> </tr> <tr> <td width="25%">Point Cost:</td> <td width="25%"><input name="points" type="text" value="0" size="10" maxlength="11" /></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">Cost of the Product (Points)</td> </tr>'; if ($_POST['type'] == '1') { echo '<tr> <td width="25%">Premium Days:</td> <td width="25%"><input name="count" type="text" value="0" size="1" maxlength="3" /></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">Days of Premium Account</td> </tr>'; } elseif ($_POST['type'] == '5' || $_POST['type'] == '6' || $_POST['type'] == '7' || $_POST['type'] == '8') { echo '<tr> <td width="25%">Item ID:</td> <td width="25%"><input name="item" type="text" value="0" size="3" maxlength="5" /></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">ID of item to give</td> </tr> <tr> <td width="25%">Count:</td> <td width="25%"><input name="count" type="text" value="0" size="1" maxlength="3" /></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">Count of item (max. 100) (When selecting \'Backpack of Items\' or \'Bag of Items\' type, the ITEM with that count will fill the container!)</td> </tr>'; } echo '<tr> <td width="25%">Product Description:</td> <td width="25%"><textarea style="width: 120px; height: 80px;" name="description"></textarea></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">Description (Shown of \'ShopSystem\' Page)</td> </tr> </table> <br><center><button type="submit" name="done" value="true" class="ide_button">Add Product</form></center>'; } elseif ($step == '4' && $_POST['done'] == 'true') { $errors = ''; if ($_POST['points'] || $_POST['item'] || $_POST['count']) { if($_POST['points']) { if (!(!preg_match('/[^0-9]/', $_POST['points']))) $errors .= '1'; } elseif($_POST['item']) { if (!(!preg_match('/[^0-9]/', $_POST['item']))) $errors .= '2'; } elseif($_POST['count']) { if (!(!preg_match('/[^0-9]/', $_POST['count']))) $errors .= '3'; } } if ($errors == '') { echo '<div style="text-align: center; font-size: 15px; color: #4EBF37; font-weight: bold;">Product Added!</div><br> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr class="highlight"> <td style="font-weight: bold;" width="50%">Product Name:</td> <td width="50%">'.$_POST['name'].'</td> </tr> <tr class="highlight"> <td style="font-weight: bold;" width="50%">Category:</td> <td width="50%">'.$categories[$_POST['category']].'</td> </tr> <tr class="highlight"> <td style="font-weight: bold;" width="50%">Type:</td> <td width="50%">'.$types[$_POST['category']][$_POST['type']].'</td> </tr> <tr class="highlight"> <td style="font-weight: bold;" width="50%">Point Cost:</td> <td width="50%">'.$_POST['points'].'</td> </tr>'; if($_POST['type'] == '1') { echo '<tr class="highlight"><td style="font-weight: bold;" width="50%">Premium Days:</td> <td width="50%">'.$_POST['count'].'</td> </tr>'; } elseif ($_POST['type'] == '5' || $_POST['type'] == '6' || $_POST['type'] == '7' || $_POST['type'] == '8') { echo '<tr class="highlight"><td style="font-weight: bold;" width="50%">Item ID:</td> <td width="50%">'.$_POST['item'].'</td> </tr> <tr class="highlight"><td style="font-weight: bold;" width="50%">Count:</td> <td width="50%">'.$_POST['count'].'</td> </tr>'; } echo '<tr class="highlight"><td style="font-weight: bold;" width="50%">Description:</td> <td width="50%">'.$_POST['description'].'</td> </tr></table>'; $PostItem = (!isset($_POST['item']))?'0':$_POST['item']; $PostCount = (!isset($_POST['count']))?'0':$_POST['count']; $SQL->query("INSERT INTO shop_offer (`id`, `points`, `category`, `type`, `item`, `count`, `description`, `name`) VALUES (NULL, '".$_POST['points']."', '".$_POST['category']."', '".$_POST['type']."', '".$PostItem."', '".$PostCount."', '".$_POST['description']."', '".$_POST['name']."')"); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/admin">Go Back to Shop Admin</a></div>'; } else { alert('Sorry but 1 or more spaces contains invalid characters.'); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/admin">Go Back to Shop Admin</a></div>'; } } else { header("Location: ".WEBSITE."/index.php/p/v/shopping/admin/add/1"); } } elseif ($manage == 'delete') { $product = $this->uri->segment(6); if (!$product) { echo '<div id="accordion">'; $i = 0; foreach($categories as $key=>$value) { echo '<h3><a href="#">'.$categories[$key].'</a></h3> <div>'; if($SQL->query('SELECT * FROM shop_offer WHERE category = '.$key.'')->fetch()) { echo '<table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td width="20%" class="white" style="text-align: center; font-weight: bold;">Picture</td> <td width="40%" class="white" style="text-align: center; font-weight: bold;">Product</td> <td width="20%" class="white" style="text-align: center; font-weight: bold;">Points</td> <td width="20%" class="white" style="text-align: center; font-weight: bold;">Action</td> </tr>'; foreach($SQL->query('SELECT * FROM shop_offer WHERE category = '.$key.'') as $item) { if (is_int($i / 2)) $bgcolor = "#ececec"; else $bgcolor = "#ffffff"; $i++; echo '<tr class="highlight" bgcolor="'.$bgcolor.'" style="text-align: center;"> <td>'; if($item['category'] == '1') $image = 'public/images/'.$item['type'].'.gif'; else $image = 'public/images/items/'.$item['item'].'.gif'; if(!file_exists($image)) echo 'NO IMAGE'; else echo '<img height="32px" width="32px" src="'.WEBSITE.'/'.$image.'"/>'; echo '</td> <td><b>'.$item['name'].'</b><br>'.$item['description'].'</td> <td>'.$item['points'].'</td> <td><button type="submit" onClick="window.location.href=\''.WEBSITE.'/index.php/p/v/shopping/admin/delete/'.$item['id'].'\';" class="ide_button">Delete Offer</button></td> </tr>'; } echo '</table></div>'; } else { alert("This category doesn't have products."); echo '</div>'; } } echo '</div>'; } else { if($SQL->query('SELECT * FROM shop_offer WHERE id = '.$product.'')->fetch()) { $SQL->query('DELETE FROM shop_offer WHERE id = '.$product.''); $SQL->query('DELETE FROM shop_history WHERE product = '.$product.''); echo '<div style="text-align: center; font-size: 15px; color: #4EBF37; font-weight: bold;">Product Deleted!</div><br> <center>The product ID <b>'.$product.'</b> has been deleted from DataBase.</center>'; echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/admin">Go Back to Shop Admin</a></div>'; } else { header("Location: ".WEBSITE."/index.php/p/v/shopping/admin/delete"); } } } elseif ($manage == 'points') { if (!isset($_POST['submit'])) { echo '<div id="accordion"> <h3><a href="#">Add Points</a></h3> <div> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <form method="post" action="'.$_SERVER['PHP_SELF'].'"> <td>Select Player:</td> <td><select name="player">'; foreach($SQL->query('SELECT * FROM players ORDER BY name DESC') as $player) { echo '<option value="'.$player['id'].'">'.$player['name'].'</option>'; } echo '</select></td> </tr><tr> <td>Or Type a Name:</td> <td><input type="text" name="other_char" size="10"/></td> </tr><tr> <td>Points to Add:</td> <td><input type="text" name="points" size="10"/></td> </tr><tr> <td></td> <td><button type="submit" name="submit" value="add" class="ide_button"><button class="ide_button">Add Points</button></td> </tr> </table></form> </div> <h3><a href="#">Remove Points</a></h3> <div> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <form method="post" action="'.$_SERVER['PHP_SELF'].'"> <td>Select Player:</td> <td><select name="player">'; foreach($SQL->query('SELECT * FROM players ORDER BY name DESC') as $player) { echo '<option value="'.$player['id'].'">'.$player['name'].'</option>'; } echo '</select></td> </tr><tr> <td>Or Type a Name:</td> <td><input type="text" name="other_char" size="10"/></td> </tr><tr> <td>Points to Remove:</td> <td><input type="text" name="points" size="10"/></td> </tr><tr> <td></td> <td><button type="submit" name="submit" value="remove" class="ide_button"><button class="ide_button">Remove Points</button></td> </tr> </table></form> </div> </div>'; } else { $errors = ""; if(!isset($_POST['other_char']) || $_POST['other_char'] == '') { $destination = $_POST['player']; } else { $ID = $SQL->query('SELECT id FROM players WHERE name = "'.$_POST['other_char'].'"')->fetch(); if($ID) $destination = $ID['id']; else $errors .= "Player <b>".$_POST['other_char']."</b> doesn't exists.<br>"; } if($_POST['points'] == '0' || $_POST['points'] < '0') $errors .= "Points quantity must be higher than 0!<br>"; elseif (!(!preg_match('/[^0-9]/', $_POST['points']))) $errors .= "Point quantity must be a <b>numeric value</b>!"; if(isset($destination)) { $player = $SQL->query('SELECT name FROM players WHERE id = "'.$destination.'"')->fetch(); $account = $SHOP->getPlayerAccount($player['name'])->fetch(); if ($_POST['submit'] == 'remove') { if ($SHOP->points($account['name']) == '0' || $SHOP->points($account['name']) < '0') $errors .= "Player <b>".$player['name']."</b> doesn't have any points.<br>"; } } if ($errors == '') { $player = $SQL->query('SELECT name FROM players WHERE id = "'.$destination.'"')->fetch(); $account = $SHOP->getPlayerAccount($player['name'])->fetch(); echo '<div style="text-align: center; font-size: 15px; color: #4EBF37; font-weight: bold;">Points '; echo ($_POST['submit'] == 'add')?'added':'removed'; echo '!</div><br> <center>You have '; echo ($_POST['submit'] == 'add')?'added':'removed'; echo ' <b>'.$_POST['points'].'</b> points to <b>'.$player['name'].'</b>\'s Account.</center>'; echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/admin/points">Go Back to Points Manage</a></div>'; if($_POST['submit'] == 'add') $SQL->query('UPDATE accounts SET premium_points = '.($SHOP->points($account['name']) + $_POST['points']).' WHERE name = "'.$account['name'].'"'); elseif($_POST['submit'] == 'remove') $SQL->query('UPDATE accounts SET premium_points = '.($SHOP->points($account['name']) - $_POST['points']).' WHERE name = "'.$account['name'].'"'); } else { alert($errors); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/admin/points">Go Back to Points Manage</a></div>'; } } } else { header("Location: ".WEBSITE."/index.php/p/v/shopping/admin"); } } else { header("Location: ".WEBSITE."/index.php"); } } else { header("Location: ".WEBSITE."/index.php/p/v/shopping"); } } elseif(!$SHOP->isInstalled()) { if($ide->isAdmin()) { $SHOP->install(); echo '<div style="text-align: center; font-size: 15px; color: #4EBF37; font-weight: bold;">Shop System Succesfully Installed!</div><br> <center>Your shop system has been installed succesfully!! click <a href="'.WEBSITE.'/index.php/p/v/shopping">HERE</a> to see your shop</center>'; } else { header("Location: ".WEBSITE."/index.php"); } } } else { header("Location: ".WEBSITE."/index.php"); } ?> </div> Dentro dessa mesma pasta,cria mais uma pasta chamada "config" e nela cria +3 arquivos.php config.php <?php /*Database information*/ $config['database']['host'] = "localhost"; $config['database']['login'] = "root"; $config['database']['password'] = ""; $config['database']['database'] = "poke"; $config['donations']['methods'] = array('ContenidoPago' => true, 'PayPal' => true); $config['donations']['paypal'] = array('Mail' => '', 'Points' => 6, 'Product' => 'Donation for VipHera', 'Money' => 'EUR', 'Amount' => 1); $config['donations']['contenidopago'] = array('Product' => '1347', 'Points' => 4); ?> functions.php <?php class shop { function connect() { $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); return $ots->getDBHandle(); } function isInstalled() { require('config.php'); $con = mysqli_connect($config['database']['host'], $config['database']['login'], $config['database']['password'], $config['database']['database']); if(mysqli_query($con, "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("Shop System/config/Shop.sql"); } } ?> index.php <?php header("Location: ../index.php"); ?> Agora vai na sua data base e cria as tabelas 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 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 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 Vai em " C:\xampp\htdocs\system\pages " e cria um arquivo chamado shopping.php <?php include("ShopSystem/shopping.php"); ?>
-
Erro Site "setNickname" dbo
@Marlooooon joga isso na sua url bem ' localhost//phpmyadmin '
-
[Ajuda] Organizar ShopSystem por categorias
Testa: <?php sleep(1); // this should halt for 1 seconds for every loop //Product Types //Categories : // //[ 1 - Account Modifications ] //1 - Premium //2 - Remove Skull (ANY) //3 - UnBan Account //4 - Change Name // //[ 2 -Mage Items ] //5 - Itens de Mago // //[ 3 - Kina Items ] //6 - Itens de Kinao // //[ 4 -Items Paladin ] //8 - Itens de Paladino // //HOWTO PUT IMAGES FOR TYPES 1-4 [ Account Modifications ] //Go to public/images/ folder and create a GIF image (Or put) //With the ID of the type [See at the top of the script] //Ex. Type (1) - Premium Account (public/images/1.gif) //Variables require("config.php"); echo "<div class='title'>Shopping Online</div>"; echo "<div class='info'>"; include("config/functions.php"); require("config/config.php"); $this->load->helper("url"); $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $SQL = $ots->getDBHandle(); $SHOP = new shop; $ide = new IDE; $action = $this->uri->segment(4); $categories = array(1 => 'Modificações de Conta', 2 => 'Mage Items', 3 => 'Kina Items', 4 => 'Paladin Items'); if ($_SESSION['logged'] == 1) { if ($SHOP->isInstalled()) { if ($action == '') { if($ide->isAdmin()) { echo "<div class='toolbar' align='center'>"; echo "<a href='".WEBSITE."/index.php/p/v/shopping/admin'>Editar SHOP</a>"; echo "</div><br />"; } echo "<div class='alert alert-info'><b>Lembre-se:</b> Todas as categorias, <b>exceto para 'Mochilas com itens'</b>: Necessita ter espaço em sua <b>BACKPACK</b> para recebe-los.</div><br><br><br>"; echo '<div id="accordion">'; $i = 0; foreach($categories as $key=>$value) { echo '<div class="title">'.$categories[$key].'</div> <div class="info">'; if($SQL->query('SELECT * FROM shop_offer WHERE category = '.$key.'')->fetch()) { echo '<table class="table" border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td width="20%" style="font-weight: bold;">Imagem</td> <td width="40%" style="font-weight: bold;">Produto</td> <td width="20%" style="font-weight: bold;">Pontos</td> <td width="20%" style="font-weight: bold;">Ação</td> </tr>'; foreach($SQL->query('SELECT * FROM shop_offer WHERE category = '.$key.'') as $item) { if (is_int($i / 2)) $bgcolor = "#ececec"; else $bgcolor = "#ffffff"; $i++; echo '<tr class="highlight" bgcolor="'.$bgcolor.'" style="text-align: center;"> <td>'; if($item['category'] == '1') $image = 'public/images/'.$item['type'].'.gif'; else $image = 'public/images/items/'.$item['item'].'.gif'; if(!file_exists($image)) echo 'Sem imagem'; else echo '<img height="32px" width="32px" src="'.WEBSITE.'/'.$image.'"/>'; echo '</td> <td><b>'.$item['name'].'</b><br>'.$item['description'].'</td> <td>'.$item['points'].'</td> <td><button class="btn btn-info" type="submit" onClick="window.location.href=\''.WEBSITE.'/index.php/p/v/shopping/buy/'.$item['id'].'\';" class="ide_button">Buy</button></td> </tr>'; } echo '</table></div>'; } else { echo ""; echo '</div>'; } } echo '</div>'; echo '<br><center><font style="color: #4F82CB; font-weight: bold; font-size: 12px">Você tem: <font color="#4EBF37">'.$SHOP->points($_SESSION['name']).'</font> pontos premium.</font></center>'; } elseif ($action == 'buy') { $product = $this->uri->segment(5); $productact = $this->uri->segment(6); if (!$product) { alert("Você não selecionou um produto."); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping">Voltar ao shop</a></div>'; } else { if($SQL->query('SELECT * FROM shop_offer WHERE id = '.$product.'')->fetch()) { $info = $SQL->query('SELECT * FROM shop_offer WHERE id = '.$product.'')->fetch(); if($productact == '' || !$productact) { if ($SHOP->points($_SESSION['name']) < $info['points']) { alert("Você não possui pontos suficientes para comprar o produto. (<b>".$info['points']."</b>)"); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping">Voltar ao shop</a></div>'; } else { echo '<div id="accordion">'; echo '<h4>Produto selecionado</h4> <div>'; echo '<table class="table table-striped" border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td width="25%" style="font-weight: bold;">Imagem</td> <td width="50%" style="font-weight: bold;">Produto</td> <td width="25%" style="font-weight: bold;">Pontos</td> </tr>'; echo '<tr class="highlight" style="text-align: center"> <td>'; if($info['category'] == '1') $image = 'public/images/'.$info['type'].'.gif'; else $image = 'public/images/items/'.$info['item'].'.gif'; if(!file_exists($image)) echo 'Sem imagem'; else echo '<img height="32px" width="32px" src="'.WEBSITE.'/'.$image.'"/>'; echo '</td> <td><b>'.$info['name'].'</b><br>'.$info['description'].'</td> <td>'.$info['points'].'</td> </tr>'; echo '</table></div> <h4>Selecionar personagem</h4> <div> <center><table class="table table-striped" border="0" cellspacing="7" cellpadding="4" width="50%"> <tr> <td><form method="post" action="'.WEBSITE.'/index.php/p/v/shopping/buy/'.$info['id'].'/send">'; if($info['type'] == '4') echo 'Mudar nome do personagem:'; else echo 'Enviar item para o personagem:'; echo '</td> <td><select name="my_char">'; foreach($SHOP->CharacterList($_SESSION['name']) as $row) echo '<option>'.$row['name'].'</option>'; echo '</select></td> </tr> <tr> <td>'; if($info['type'] == '4') echo 'Novo nome:'; else echo 'Ou enviar para outro personagem:'; echo '</td> <td><input type="text" name="other_char" size="10"/></td> </tr> <tr> <td></td> <td><button class="btn btn-success" type="submit" name="submit" value="true" class="ide_button">Comprar produto</td> </tr></table></center></div></div>'; echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/">Voltar ao Shop</a></div>'; } } elseif ($productact == 'send') { if(!$_POST['submit']) header("Location: ".WEBSITE."/index.php/p/v/shopping"); else { if ($SHOP->points($_SESSION['name']) < $info['points']) { alert("Você não mais Pontos (<b>".$info['points']."</b>)"); } else if($info['type'] != '4') { if($_POST['other_char']) { if($SQL->query('SELECT * FROM players WHERE name = "'.$_POST['other_char'].'"')->fetch()) { $destination = $_POST['other_char']; $send = true; } else { alert('<b>'.$_POST['other_char'].'</b> doesn\'t exists.'); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/buy/'.$info['id'].'">Voltar ao Shop</a></div>'; $send = false; } } else { $destination = $_POST['my_char']; $send = true; } } else { $destination = $_POST['my_char']; $send = true; } if($send == true) { $errors = ''; $processed = 0; if ($info['type'] == '1') { $processed = 1; $finish = true; $SHOP->AddPremium($destination,$info['count']); } elseif ($info['type'] == '2') { $skulltime = $SQL->query('SELECT skull,skulltime FROM players WHERE name = "'.$destination.'"')->fetch(); if ($SHOP->isOnline($destination) == 1) { $errors .= 'Sorry, but <b>'.$destination.'</b> is On-Line right now.<br>'; $finish = false; } elseif ($skulltime['skull'] == '0' && $skulltime['skulltime'] == '0') { $errors .= 'Sorry, but <b>'.$destination.'</b> doesn\'t have any skull.<br>'; $finish = false; } else { $processed = 1; $finish = true; $SQL->query('UPDATE players SET skull = 0, skulltime = 0 WHERE name = "'.$destination.'"'); } } elseif ($info['type'] == '3') { if ($SHOP->isOnline($destination) == 1) { $errors .= 'Sorry, but <b>'.$destination.'</b> is On-Line right now.<br>'; $finish = false; } else { if ($SHOP->isBanned($destination)->fetch()) { $processed = 1; $finish = true; $SHOP->UnBan($destination); } else { $errors .= 'Sorry, but <b>'.$destination.'</b>\'s Account isn\'t banned at the moment.<br>'; $finish = false; } } } elseif ($info['type'] == '4') { if ($SHOP->isOnline($destination) == 1) { $errors .= 'Sorry, but <b>'.$destination.'</b> is On-Line right now.<br>'; $finish = false; } else { if ($SQL->query('SELECT * FROM players WHERE name = "'.$_POST['other_char'].'"')->fetch()) { $finish = false; $errors .= 'Sorry, but <b>'.$_POST['other_char'].'</b> already exists.<br>'; } else { if(!$_POST['other_char']) { $finish = false; $errors .= 'Sorry, but you didn\'t put a new name for your character.<br>'; } else { if (!preg_match('/[^A-Za-z]/', $_POST['other_char'])) { $processed = 1; $finish = true; $SQL->query('UPDATE players SET name = "'.$_POST['other_char'].'" WHERE name = "'.$destination.'"'); } else { $finish = false; $errors .= 'Sorry, but <b>'.$_POST['other_char'].'</b> contains invalid characters (Use only: A-Z, a-z).<br>'; } } } } } else { $finish = true; } if ($finish == true) { echo '<div style="text-align: center; font-size: 15px; color: #4EBF37; font-weight: bold;">Transaction Succesfull</div><br>'; if($info['type'] == '4') echo '<center>You have changed the name of <b>'.$destination.'</b> to <b>'.$_POST['other_char'].'</b>.</center>'; elseif($info['type'] == '3') echo '<center>You have UnBanned <b>'.$destination.'</b>\'s Account.</center>'; else echo '<center>You have bought <b>'.$info['name'].'</b> and gave to <b>'.$destination.'</b>.</center>'; echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping">Go Back to Gift Shop</a></div>'; $SQL->query('UPDATE accounts SET premium_points = '.($SHOP->points($_SESSION['name']) - $info['points']).' WHERE name = "'.$_SESSION['name'].'"'); $SQL->query('INSERT INTO shop_history (`id`, `product`, `session`, `player`, `date`, `processed`) VALUES (NULL, \''.$info['id'].'\',\''.$_SESSION['name'].'\', \''.$destination.'\', \''.time().'\',\''.$processed.'\')');; } else { alert($errors); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/buy/'.$info['id'].'">Go Back to Gift Shop</a></div>'; } } } } } else { header("Location: ".WEBSITE."/index.php/p/v/shopping"); } echo '<br><center><font style="color: #4F82CB; font-weight: bold; font-size: 12px">Você tem: <font color="#4EBF37">'.$SHOP->points($_SESSION['name']).'</font> pontos premium.</font></center>'; } } elseif ($action == 'history') { if ($SQL->query('SELECT * FROM shop_history WHERE session = "'.$_SESSION['name'].'" ORDER BY date DESC LIMIT 30')->fetch()) { echo '<div style="text-align: center; font-weight: bold;">Latest 30 Transactions</div> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td class="white" style="text-align: center; font-weight: bold;">Picture</td> <td class="white" style="text-align: center; font-weight: bold;">Product</td> <td class="white" style="text-align: center; font-weight: bold;">To</td> <td class="white" style="text-align: center; font-weight: bold;">Date</td> <td class="white" style="text-align: center; font-weight: bold;">Processed</td> </tr>'; foreach($SQL->query('SELECT `z`.`player` AS `destination`, `z`.`date` AS `date`, `z`.`processed` AS `processed`, `o`.`category` AS `category`,`o`.`type` AS `type`,`o`.`item` AS `item`,`o`.`name` AS `name` FROM `shop_history` z LEFT JOIN `shop_offer` o ON `z`.`product` = `o`.`id` WHERE `z`.`session` = \''.$_SESSION['name'].'\' ORDER BY `z`.`date` DESC LIMIT 30') as $hist) { echo '<tr class="highlight" style="text-align: center"><td>'; if($hist['category'] == '1') $image = 'public/images/'.$hist['type'].'.gif'; else $image = 'public/images/items/'.$hist['item'].'.gif'; if(!file_exists($image)) echo 'NO IMAGE'; else echo '<img height="32px" width="32px" src="'.WEBSITE.'/'.$image.'"/>'; echo '</td> <td>'.$hist['name'].'</td> <td>'.$hist['destination'].'</td> <td>'.date("d-m-Y - H:i a", $hist["date"]).'</td>'; if ($hist['processed'] == '1') echo '<td><img src="'.WEBSITE.'/public/images/true.gif"/></td>'; else echo '<td><img src="'.WEBSITE.'/public/images/false.gif"/></td>'; echo '</tr>'; } echo '</table>'; } else { alert('You didn\'t made any transactions'); } } elseif ($action == 'donate') { $show = $this->uri->segment(5); if ($show == 'history') { if ($SQL->query('SELECT * FROM shop_donation_history WHERE buyer = "'.$_SESSION['name'].'" ORDER BY date DESC LIMIT 30')->fetch()) { echo '<div style="text-align: center; font-weight: bold;">Latest 30 Donations</div> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td class="white" style="text-align: center; font-weight: bold;">Method</td> <td class="white" style="text-align: center; font-weight: bold;">ID/Mail</td> <td class="white" style="text-align: center; font-weight: bold;">To Account</td> <td class="white" style="text-align: center; font-weight: bold;">Points Added</td> <td class="white" style="text-align: center; font-weight: bold;">Date</td> </tr>'; foreach($SQL->query('SELECT * FROM shop_donation_history WHERE buyer = "'.$_SESSION['name'].'" ORDER BY date DESC LIMIT 30') as $hist) { echo '<tr class="highlight" style="text-align: center"> <td>'; echo ($hist['method'] == 'PayPal')?'<img src="https://www.paypal.com/en_US/i/logo/paypal_logo.gif" height="50px" width="100px">':($hist['method'] == 'ContenidoPago')?'<img src="http://www.contenidopago.com/img/logo_ft.jpg" height="50px" width="100px">':''; echo '</td> <td>'.$hist['receiver'].'</td> <td>'.$hist['account'].'</td> <td>'.$hist['points'].'</td> <td>'.date("d-m-Y - H:i a", $hist["date"]).'</td> </tr>'; } echo '</table>'; } else { alert('You didn\'t donated'); } } elseif (!$show || $show == '') { alert("".$config['server_name']."'s Administration <b>is not responsible</b> for <b>cases of loss of products</b>.<br><br> ".$config['server_name']."'s Administration <b>is responsible</b> for <b>cases of loss of points which have been sent to users</b>."); echo '<div id="accordion">'; foreach ($config['donations']['methods'] as $method => $active) { if ($active == true) { echo '<h3><a href="#">'.$method.'</a></h3> <div>'; if ($method == 'ContenidoPago') { alert("This brand new system consists on <b>donations by SMS</b>.<br> After donating you will receive <b>".$config['donations']['contenidopago']['Points']." Points</b>.<br><br> <b>REMEMBER:</b><br> You need to have <b>enough credit</b> to send <u>SMS</u>.<br><br> You <b>MUST</b> fill the <b>Account Name</b> and the <b>Code Received</b> fields with <u>a valid account name</u> and <u>a valid code</u>."); if(!isset($_POST['mysubmit'])) { echo '<form method="post" action="" > <fieldset style="border:1px solid #990000; width:450px; margin:auto;"> <legend style="font-weight:bold;font-size:12px;">Automatic SMS Donation</legend> <ol style="list-style:none;"> <li style="padding-bottom:5px;"><label style="width:100px;float:left;text-align:left;">Account Name:</label><input type="text" style="border:1px solid #CCCCCC;" size="30" name="name" /></li> <li style="padding-bottom:5px;"><label style="width:100px;float:left;text-align:left;">Code received:</label><input type="text" style="border:1px solid #CCCCCC;" size="30" name="codigo" /></li> </ol> <center><input type="submit" name="mysubmit" style="padding:3px;margin-bottom:10px;color:#FFFFFF;background-color:#990000;border:1px solid #000000;" value="Enviar" /></center> </fieldset> </form>'; } else { $codigo=$_POST['codigo']; $name=$_POST['name']; $QueryString = "LinkUrl=http://".urlencode($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); $QueryString .= "&codigo=" .urlencode($codigo); $QueryString .= "&idservicio=" .$config['donations']['contenidopago']['Product']; if(intval(get_cfg_var('allow_url_fopen')) && function_exists('file_get_contents')) { $result=@file_get_contents("http://contenidopago.com/codigoval.php?".$QueryString); } elseif(intval(get_cfg_var('allow_url_fopen')) && function_exists('file')) { if($content = @file("http://contenidopago.com/codigoval.php?".$QueryString)) $result=@join('', $content); } elseif(function_exists('curl_init')) { $ch = curl_init ("http://contenidopago.com/codigoval.php?".$QueryString); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_exec ($ch); if(curl_error($ch)) alert("Error processing request"); curl_close ($ch); } else { alert("It appears that your web host has disabled all functions for handling remote pages and as a result the BackLinks software will not function on your web page. Please contact your web host for more information."); } if ($result =='ok') { if(!(empty($name))) { if(!$SQL->query("SELECT * FROM accounts WHERE name = '".$name."'")->fetch()) { alert('This username does not exist: <font color="blue">'.$name.'</font>'); } else { $SQL->query("UPDATE accounts SET premium_points = premium_points + ".$config['donations']['contenidopago']['Points']." WHERE name = '".$name."'"); alert("Codigo : $codigo validado, puntos sumados correctamente"); $SQL->query("INSERT INTO shop_donation_history (`id`, `method`, `receiver`, `buyer`, `account`, `points`, `date`) VALUES (NULL, 'ContenidoPago', '".$config['donations']['contenidopago']['Product']."', '".$_SESSION['name']."', '".$name."', '".$config['donations']['contenidopago']['Points']."', '".time()."');"); } } else { alert('You did not set the user!'); } } if ($result =='no') { alert('El codigo no es valido o ya esta usado'); } } echo '<center><iframe src ="http://www.contenidopago.com/prom/microcodigo.php" width="270px" height="340px" frameborder="0"> <p>Your browser does not support iframes.</p> </iframe></center>'; } elseif ($method == 'PayPal') { alert("The donation costs <b>".$config['donations']['paypal']['Amount']." ".$config['donations']['paypal']['Money']." (incl. VAT)</b>.<br> After the donation you will receive a total of <b>".$config['donations']['paypal']['Points']." points</b> automatically.<br><br> <b>REMEMBER:</b><br> You need a <u>creditcard</u> <b>or</b> a <u>PayPal account</u> with a minimun of <b>".$config['donations']['paypal']['Amount']." ".$config['donations']['paypal']['Money']."</b>.<br><br> You <b>MUST</b> fill the <b>Account Name</b> with a <u>valid one</u>."); echo '<center><form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_donations"> <input type="hidden" name="business" value="'.$config['donations']['paypal']['Mail'].'"> <input type="hidden" name="lc" value="GB"> <input type="hidden" name="item_name" value="'.$config['donations']['paypal']['Product'].'"> <b>Account Name:</b> <input type="text" name="custom" value=""> <input type="hidden" name="item_number" value="1"> <input type="hidden" name="amount" value="'.$config['donations']['paypal']['Amount'].'"> <input type="hidden" name="currency_code" value="'.$config['donations']['paypal']['Money'].'"> <input type="hidden" name="no_note" value="0"> <input type="hidden" name="no_shipping" value="0"> <input type="hidden" name="notify_url" value="'.WEBSITE.'index.php/p/v/paypal"> <input type="hidden" name="return" value="'.WEBSITE.'"> <input type="hidden" name="session" value="'.$_SESSION['name'].'"> <input type="hidden" name="rm" value="0"> <input type="hidden" name="bn" value="PP-DonationsBF:btn_donateCC_LG_global.gif:NonHosted"><br> <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online."> <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> </form></center>'; } echo '</div>'; } } echo '</div>'; } else { header("Location: ".WEBSITE."/index.php/p/v/shopping/donate"); } } elseif ($action == 'admin') { if($ide->isAdmin()) { $manage = $this->uri->segment(5); echo "<div class='toolbar' align='center'>"; echo "<a href='".WEBSITE."/index.php/p/v/shopping/admin/add/1'>Add new Product</a> | "; echo "<a href='".WEBSITE."/index.php/p/v/shopping/admin/delete'>Delete Existing Product</a> | "; echo "<a href='".WEBSITE."/index.php/p/v/shopping/admin/points'>Add/Remove Points to Player</a>"; echo "</div>"; if ($manage == '' || !$manage) { echo '<center>Welcome to Shop Admin Panel</center>'; } elseif ($manage == 'add') { $types[1] = array(1 => 'Premium Account', 2 => 'Remove Skull', 3 => 'UnBan Account', 4 => 'Change Name'); $types[2] = array(5 => 'Item'); $types[3] = array(6 => 'Bag with Items', 7 => 'Backpack with Items'); $types[4] = array(8 => 'Addon Items'); $step = $this->uri->segment(6); if ($step == '1') { echo '<form method="post" action="'.WEBSITE.'/index.php/p/v/shopping/admin/add/2">Select Category: <select name="category">'; foreach($categories as $key=>$value) { echo '<option value="'.$key.'">'.$categories[$key].'</option>'; } echo '</select> <button type="submit" class="ide_button">Select Category</form>'; } elseif ($step == '2' && $_POST['category']) { echo '<form method="post" action="'.WEBSITE.'/index.php/p/v/shopping/admin/add/3"> <input type="hidden" name="category" value="'.$_POST['category'].'"/> Select Type: <select name="type">'; foreach($types[$_POST['category']] as $key=>$value) { echo '<option value="'.$key.'">'.$types[$_POST['category']][$key].'</option>'; } echo '</select> <button type="submit" class="ide_button">Select Type</form>'; } elseif ($step == '3' && $_POST['category'] && $_POST['type']) { echo '<form method="post" action="'.WEBSITE.'/index.php/p/v/shopping/admin/add/4"> <input type="hidden" name="category" value="'.$_POST['category'].'"/> <input type="hidden" name="type" value="'.$_POST['type'].'"/> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td width="25%">Product Name:</td> <td width="25%"><input name="name" type="text" size="18" maxlength="256" /></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">The name of the product</td> </tr> <tr> <td width="25%">Point Cost:</td> <td width="25%"><input name="points" type="text" value="0" size="10" maxlength="11" /></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">Cost of the Product (Points)</td> </tr>'; if ($_POST['type'] == '1') { echo '<tr> <td width="25%">Premium Days:</td> <td width="25%"><input name="count" type="text" value="0" size="1" maxlength="3" /></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">Days of Premium Account</td> </tr>'; } elseif ($_POST['type'] == '5' || $_POST['type'] == '6' || $_POST['type'] == '7' || $_POST['type'] == '8') { echo '<tr> <td width="25%">Item ID:</td> <td width="25%"><input name="item" type="text" value="0" size="3" maxlength="5" /></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">ID of item to give</td> </tr> <tr> <td width="25%">Count:</td> <td width="25%"><input name="count" type="text" value="0" size="1" maxlength="3" /></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">Count of item (max. 100) (When selecting \'Backpack of Items\' or \'Bag of Items\' type, the ITEM with that count will fill the container!)</td> </tr>'; } echo '<tr> <td width="25%">Product Description:</td> <td width="25%"><textarea style="width: 120px; height: 80px;" name="description"></textarea></td> <td width="50%" style="font-size: 9px; color: red; font-weight: bold;">Description (Shown of \'ShopSystem\' Page)</td> </tr> </table> <br><center><button type="submit" name="done" value="true" class="ide_button">Add Product</form></center>'; } elseif ($step == '4' && $_POST['done'] == 'true') { $errors = ''; if ($_POST['points'] || $_POST['item'] || $_POST['count']) { if($_POST['points']) { if (!(!preg_match('/[^0-9]/', $_POST['points']))) $errors .= '1'; } elseif($_POST['item']) { if (!(!preg_match('/[^0-9]/', $_POST['item']))) $errors .= '2'; } elseif($_POST['count']) { if (!(!preg_match('/[^0-9]/', $_POST['count']))) $errors .= '3'; } } if ($errors == '') { echo '<div style="text-align: center; font-size: 15px; color: #4EBF37; font-weight: bold;">Product Added!</div><br> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr class="highlight"> <td style="font-weight: bold;" width="50%">Product Name:</td> <td width="50%">'.$_POST['name'].'</td> </tr> <tr class="highlight"> <td style="font-weight: bold;" width="50%">Category:</td> <td width="50%">'.$categories[$_POST['category']].'</td> </tr> <tr class="highlight"> <td style="font-weight: bold;" width="50%">Type:</td> <td width="50%">'.$types[$_POST['category']][$_POST['type']].'</td> </tr> <tr class="highlight"> <td style="font-weight: bold;" width="50%">Point Cost:</td> <td width="50%">'.$_POST['points'].'</td> </tr>'; if($_POST['type'] == '1') { echo '<tr class="highlight"><td style="font-weight: bold;" width="50%">Premium Days:</td> <td width="50%">'.$_POST['count'].'</td> </tr>'; } elseif ($_POST['type'] == '5' || $_POST['type'] == '6' || $_POST['type'] == '7' || $_POST['type'] == '8') { echo '<tr class="highlight"><td style="font-weight: bold;" width="50%">Item ID:</td> <td width="50%">'.$_POST['item'].'</td> </tr> <tr class="highlight"><td style="font-weight: bold;" width="50%">Count:</td> <td width="50%">'.$_POST['count'].'</td> </tr>'; } echo '<tr class="highlight"><td style="font-weight: bold;" width="50%">Description:</td> <td width="50%">'.$_POST['description'].'</td> </tr></table>'; $PostItem = (!isset($_POST['item']))?'0':$_POST['item']; $PostCount = (!isset($_POST['count']))?'0':$_POST['count']; $SQL->query("INSERT INTO shop_offer (`id`, `points`, `category`, `type`, `item`, `count`, `description`, `name`) VALUES (NULL, '".$_POST['points']."', '".$_POST['category']."', '".$_POST['type']."', '".$PostItem."', '".$PostCount."', '".$_POST['description']."', '".$_POST['name']."')"); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/admin">Go Back to Shop Admin</a></div>'; } else { alert('Sorry but 1 or more spaces contains invalid characters.'); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/admin">Go Back to Shop Admin</a></div>'; } } else { header("Location: ".WEBSITE."/index.php/p/v/shopping/admin/add/1"); } } elseif ($manage == 'delete') { $product = $this->uri->segment(6); if (!$product) { echo '<div id="accordion">'; $i = 0; foreach($categories as $key=>$value) { echo '<h3><a href="#">'.$categories[$key].'</a></h3> <div>'; if($SQL->query('SELECT * FROM shop_offer WHERE category = '.$key.'')->fetch()) { echo '<table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <td width="20%" class="white" style="text-align: center; font-weight: bold;">Picture</td> <td width="40%" class="white" style="text-align: center; font-weight: bold;">Product</td> <td width="20%" class="white" style="text-align: center; font-weight: bold;">Points</td> <td width="20%" class="white" style="text-align: center; font-weight: bold;">Action</td> </tr>'; foreach($SQL->query('SELECT * FROM shop_offer WHERE category = '.$key.'') as $item) { if (is_int($i / 2)) $bgcolor = "#ececec"; else $bgcolor = "#ffffff"; $i++; echo '<tr class="highlight" bgcolor="'.$bgcolor.'" style="text-align: center;"> <td>'; if($item['category'] == '1') $image = 'public/images/'.$item['type'].'.gif'; else $image = 'public/images/items/'.$item['item'].'.gif'; if(!file_exists($image)) echo 'NO IMAGE'; else echo '<img height="32px" width="32px" src="'.WEBSITE.'/'.$image.'"/>'; echo '</td> <td><b>'.$item['name'].'</b><br>'.$item['description'].'</td> <td>'.$item['points'].'</td> <td><button type="submit" onClick="window.location.href=\''.WEBSITE.'/index.php/p/v/shopping/admin/delete/'.$item['id'].'\';" class="ide_button">Delete Offer</button></td> </tr>'; } echo '</table></div>'; } else { alert("This category doesn't have products."); echo '</div>'; } } echo '</div>'; } else { if($SQL->query('SELECT * FROM shop_offer WHERE id = '.$product.'')->fetch()) { $SQL->query('DELETE FROM shop_offer WHERE id = '.$product.''); $SQL->query('DELETE FROM shop_history WHERE product = '.$product.''); echo '<div style="text-align: center; font-size: 15px; color: #4EBF37; font-weight: bold;">Product Deleted!</div><br> <center>The product ID <b>'.$product.'</b> has been deleted from DataBase.</center>'; echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/admin">Go Back to Shop Admin</a></div>'; } else { header("Location: ".WEBSITE."/index.php/p/v/shopping/admin/delete"); } } } elseif ($manage == 'points') { if (!isset($_POST['submit'])) { echo '<div id="accordion"> <h3><a href="#">Add Points</a></h3> <div> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <form method="post" action="'.$_SERVER['PHP_SELF'].'"> <td>Select Player:</td> <td><select name="player">'; foreach($SQL->query('SELECT * FROM players ORDER BY name DESC') as $player) { echo '<option value="'.$player['id'].'">'.$player['name'].'</option>'; } echo '</select></td> </tr><tr> <td>Or Type a Name:</td> <td><input type="text" name="other_char" size="10"/></td> </tr><tr> <td>Points to Add:</td> <td><input type="text" name="points" size="10"/></td> </tr><tr> <td></td> <td><button type="submit" name="submit" value="add" class="ide_button"><button class="ide_button">Add Points</button></td> </tr> </table></form> </div> <h3><a href="#">Remove Points</a></h3> <div> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr> <form method="post" action="'.$_SERVER['PHP_SELF'].'"> <td>Select Player:</td> <td><select name="player">'; foreach($SQL->query('SELECT * FROM players ORDER BY name DESC') as $player) { echo '<option value="'.$player['id'].'">'.$player['name'].'</option>'; } echo '</select></td> </tr><tr> <td>Or Type a Name:</td> <td><input type="text" name="other_char" size="10"/></td> </tr><tr> <td>Points to Remove:</td> <td><input type="text" name="points" size="10"/></td> </tr><tr> <td></td> <td><button type="submit" name="submit" value="remove" class="ide_button"><button class="ide_button">Remove Points</button></td> </tr> </table></form> </div> </div>'; } else { $errors = ""; if(!isset($_POST['other_char']) || $_POST['other_char'] == '') { $destination = $_POST['player']; } else { $ID = $SQL->query('SELECT id FROM players WHERE name = "'.$_POST['other_char'].'"')->fetch(); if($ID) $destination = $ID['id']; else $errors .= "Player <b>".$_POST['other_char']."</b> doesn't exists.<br>"; } if($_POST['points'] == '0' || $_POST['points'] < '0') $errors .= "Points quantity must be higher than 0!<br>"; elseif (!(!preg_match('/[^0-9]/', $_POST['points']))) $errors .= "Point quantity must be a <b>numeric value</b>!"; if(isset($destination)) { $player = $SQL->query('SELECT name FROM players WHERE id = "'.$destination.'"')->fetch(); $account = $SHOP->getPlayerAccount($player['name'])->fetch(); if ($_POST['submit'] == 'remove') { if ($SHOP->points($account['name']) == '0' || $SHOP->points($account['name']) < '0') $errors .= "Player <b>".$player['name']."</b> doesn't have any points.<br>"; } } if ($errors == '') { $player = $SQL->query('SELECT name FROM players WHERE id = "'.$destination.'"')->fetch(); $account = $SHOP->getPlayerAccount($player['name'])->fetch(); echo '<div style="text-align: center; font-size: 15px; color: #4EBF37; font-weight: bold;">Points '; echo ($_POST['submit'] == 'add')?'added':'removed'; echo '!</div><br> <center>You have '; echo ($_POST['submit'] == 'add')?'added':'removed'; echo ' <b>'.$_POST['points'].'</b> points to <b>'.$player['name'].'</b>\'s Account.</center>'; echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/admin/points">Go Back to Points Manage</a></div>'; if($_POST['submit'] == 'add') $SQL->query('UPDATE accounts SET premium_points = '.($SHOP->points($account['name']) + $_POST['points']).' WHERE name = "'.$account['name'].'"'); elseif($_POST['submit'] == 'remove') $SQL->query('UPDATE accounts SET premium_points = '.($SHOP->points($account['name']) - $_POST['points']).' WHERE name = "'.$account['name'].'"'); } else { alert($errors); echo '<div align="right"><a href="'.WEBSITE.'/index.php/p/v/shopping/admin/points">Go Back to Points Manage</a></div>'; } } } else { header("Location: ".WEBSITE."/index.php/p/v/shopping/admin"); } } else { header("Location: ".WEBSITE."/index.php"); } } else { header("Location: ".WEBSITE."/index.php/p/v/shopping"); } } elseif(!$SHOP->isInstalled()) { if($ide->isAdmin()) { $SHOP->install(); echo '<div style="text-align: center; font-size: 15px; color: #4EBF37; font-weight: bold;">Shop System Succesfully Installed!</div><br> <center>Your shop system has been installed succesfully!! click <a href="'.WEBSITE.'/index.php/p/v/shopping">HERE</a> to see your shop</center>'; } else { header("Location: ".WEBSITE."/index.php"); } } } else { header("Location: ".WEBSITE."/index.php"); } ?> </div>
-
Erro Site "setNickname" dbo
@Marlooooon Tenta ir na sua database, abre accounts; abre a estruta e vai em nickname e troca o "INT" por "CHAR"
-
Problema com pokemons adicionados no sv.
vê se adicionou todas as tags na Lib: Ataques: ["Pokemon X"] = {move1 = {name = "Quick Attack", level = 30, cd = 10, dist = 2, target = 1, f = 40, t = "normal"}, move2 = {name = "Thunder Punch", level = 30, cd = 20, dist = 1, target = 1, f = 65, t = "electric"}, move3 = {name = "Thunder Shock", level = 30, cd = 10, dist = 4, target = 1, f = 55, t = "electric"}, move4 = {name = "Thunder Bolt", level = 30, cd = 25, dist = 4, target = 1, f = 33, t = "electric"}, move5 = {name = "Thunder Wave", level = 30, cd = 25, dist = 1, target = 0, f = 70, t = "electric"}, move6 = {name = "Thunder", level = 40, cd = 40, dist = 1, target = 0, f = 90, t = "electric"}, passive1 = {name = "Lava-Electricity", level = 1, cd = 0, dist = 6, target = 0, f = 15, t = "electric"}, move6 = {name = "Thunder", level = 40, cd = 40, dist = 1, target = 0, f = 90, t = "electric"}, o numero do attack no caso é o m6, nome do attack, level de uso, cd é o tempo, dist é a distância, target e para voce decidir se vai precisa de um alvo para atacar se sim coloque 1 se não coloque 0, f é a força e t o tipo que no meu caso é electric. passive1 = {name = "Lava-Electricity", level = 1, cd = 0, dist = 6, target = 0, f = 15, t = "electric"}, Status: ["Pokemon X"] = {offense = 6.3, defense = 3.7, specialattack = 6.5, vitality = 4.5, agility = 140, exp = 106, level = 30, wildLvl = 30, type = "electric", type2 = "no type"}, Imagem: ["Pokemon X"] = 11375, Chance de Cath+corpse: pokecatches = { ["Pokemon X"] = {chance = 500, corpse = 11375}, Level pra usar e Storage ["Pokemon X"] = {gender = 500, level = 30, storage = 1244, stoCatch = 666395}, Nome do pokemon; Level para evoluir; Evoluir pra qual pokemon; quantas stones; id da stone; ["Pokemon X"] = {level = 85, evolution = "Pokemon Y", count = 1, stoneid = 11444, stoneid2 = 0},
-
Editando Client e Server Poketibia
@Igor Suzuki Meche no Exhaustion da tag bem, creio que esta em milisegundos, 5k de milisegundos = 5 segundos TAG Spell.xml <instant name="Haste" words="correr" lvl="0" mana="0" prem="0" aggressive="0" selftarget="1" exhaustion="5000" event="script" value="ps/strong haste.lua"></instant> Script Spell: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 7000) setConditionFormula(condition, 0.9, -27, 0.9, -27) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Script Talkaction: function onSay(cid, words, param) local msg = ("Strong Haste:" .. param .. "") or "Strong Haste" if(not exhaustion.get(cid, 501)) then doCreatureSay(cid, msg, TALKTYPE_ORANGE_1) end doSetPlayerSpeedLevel(cid) doSendMagicEffect(getPlayerPosition(cid), 12) exhaustion.set(cid, 501, 0.1) return true end Creio que assim não vá acumularm qualquer coisa me avisa
-
Erro Site "setNickname" dbo
Substitua o C:\xampp\htdocs\system\application\controllers\account.php por esse <?php /* +I.D.E ENGINE+ Controller of Account for Modern AAC - Powered by IDE Engine. A lot of new functionality and variables can be hard-coded here. If you do NOT understand the code, do NOT change anything in here. */ class Account extends Controller { /* Main index of Account controllers, also work as a __construct(); It is called by engine as a default. */ function index($action = 0) { if($action == 1) success("Seu novo personagem foi criado!"); if($action == 2) success("Seu apelido foi criado! obrigado!"); if($action == 3) success("Você atingiu a quantidade máxima de caracteres por conta."); if($action == 4) success("Seu perfil foi atualizado."); if($action == 5) success("Seu avatar foi atualizado!"); $this->load->model("Account_model"); if(empty($_SESSION['account_id'])) $_SESSION['account_id'] = $this->Account_model->getAccountID(); $ide = new IDE; $ide->requireLogin(); if(empty($_SESSION['nickname'])) $ide->redirect(WEBSITE."/index.php/account/setNickname"); $data = array(); $data['loggedUser'] = $_SESSION['name']; $data['characters'] = $this->Account_model->getCharacters(); $data['messages'] = $this->Account_model->checkMessages(); $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $account = $ots->createObject('Account'); try { $account->find($_SESSION['name']); } catch(Exception $e) {show_error('Houve um problema durante o carregamento da conta. Err code: 220212072010 mais detalhes: '.$e->getMessage());} $data['account'] = $account; $data['acc'] = $this->Account_model->load($_SESSION['account_id']); $recovery_key = $this->Account_model->getRecoveryKey($_SESSION['name']); /* Load view of account page and send data to it. */ $this->load->view('account', $data); } /* Function to check if account with this name already exists, it is used by create controller as a callaback in form validation. It should be made as an abstract class of database in Model, but I don't think there is point of it. */ function _account_exists($name) { $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $account = new OTS_Account(); try { $account->find($name); } catch(Exception $e) {show_error('Houve um problema durante o carregamento da conta. Err code: 220212072010 mais detalhes: '.$e->getMessage());} if($account->isLoaded()) { $this->form_validation->set_message('_account_exists', 'Conta com este nome já existe.');return false;} else return true; } function _checkCaptcha($word) { if(strtolower($word) == strtolower($_SESSION['captcha']) && !empty($_SESSION['captcha'])) { return true; } else { $this->form_validation->set_message('_checkCaptcha', 'Captcha word está incorreta.'); return false; } } function _nicknameExists($name) { $this->load->model("account_model"); if($this->account_model->nicknameExists($name)) { $this->form_validation->set_message('_nicknameExists', 'Esse apelido já existe!.'); return false; } else return true; } function _emailExists($email) { $this->load->model("account_model"); if($this->account_model->emailExists($email)) { $this->form_validation->set_message('_emailExists', 'Este e-mail já está sendo usado por outra conta já existente!'); return false; } else return true; } function _characterExists($name) { $this->load->model("character_model"); if($this->character_model->characterExists($name)) { $this->form_validation->set_message('_characterExists', 'Este nome do personagem já existe, por favor escolha outro!'); return false; } else return true; } function _checkDelay() { global $config; if(!isset($_SESSION['accountDelay'])) $_SESSION['accountDelay'] = 0; if($config['accountDelay']) { if(@(time()-$_SESSION['accountDelay']) > 240) { return true; } else { $this->form_validation->set_message('_checkDelay', 'Você não pode criar outra conta, por favor, aguarde alguns minutos.'); return false; } } else return true; } function _checkCity($id) { $this->config->load('create_character.php'); if(!array_key_exists($id, $this->config->item('cities'))) { $this->form_validation->set_message('_checkCity', 'Cidade desconhecido'); return false; } else return true; } function _checkWorld($id) { $this->config->load('create_character.php'); if(!array_key_exists($id, $this->config->item('worlds'))) { $this->form_validation->set_message('_checkWorld', 'Unknown World'); return false; } else return true; } function _checkVocation($id) { $this->config->load('create_character.php'); if(!array_key_exists($id, $this->config->item('vocations'))) { $this->form_validation->set_message('_checkVocation', 'Unknown Vocation'); return false; } else return true; } function _checkSex($id) { if($id != 0 and $id != 1) { $this->form_validation->set_message('_checkSex', 'Unknown Sex'); return false; } else return true; } function _validName($name) { require("config.php"); $name = explode(" ", $name); foreach($name as $unit) { if(in_array(strtolower($unit), $config['invalidNameTags'])) { $this->form_validation->set_message('_validName', 'Invalid Name'); return false; } else if(strlen($unit) == 1) { $this->form_validation->set_message('_validName', 'Invalid Name'); return false; } else continue; } } // Function which make the player more real by tatu hunter // Eg: elder'Druid = Elder'Druid // elder'druid = Elder'druid // druid theMaster = Druid themaster function strFirst($name) { $name = explode(' ', trim($name)); for($i=0, $t = sizeof($name); $i<$t; ++$i) for($j=0, $l=strlen($name[$i]); $j<$l; ++$j) !$j ? ($name[$i][$j] = !$i ? ($name[$i][$j] == strtoupper($name[$i][$j]) ? $name[$i][$j] : strtoupper($name[$i][$j])): $name[$i][$j]) : ($name[$i][$j] = ($name[$i][$j-1] == '\'' ? $name[$i][$j] : strtolower($name[$i][$j]))); $ret = ''; foreach($name as $k) $ret .= $k . ' '; return trim($ret); } /* Controller of creating new account. New values can be hard-coded here. (only experienced users) */ function create($ajax = 0) { require_once("system/application/config/create_character.php"); $ide = new IDE; global $config; if($ajax == 1 && $ide->isLogged()) exit; if($ide->isLogged()) $ide->redirect(WEBSITE.'/index.php/account'); $this->load->plugin('captcha'); $this->load->helper('form'); $vals = array( 'word' => '', 'img_path' => 'system/captcha/', 'img_url' => WEBSITE.'/system/captcha/', 'font_path' => WEBSITE.'/system/fonts/texb.ttf', 'img_width' => '156', 'img_height' => 30, 'expiration' => 120 ); if(!$_POST && $ajax == 0) { $cap = create_captcha($vals); } if($_POST) { $this->load->library('form_validation'); $_POST['nickname'] = ucfirst(strtolower($_POST['nickname'])); $this->form_validation->set_rules('name', 'Account Name', 'required|min_length[4]|max_length[32]|callback__account_exists|alpha_numeric|callback__checkDelay'); $this->form_validation->set_rules('nickname', 'Nickname', 'required|min_length[4]|max_length[32]|callback__nicknameExists'); $this->form_validation->set_rules('password', 'Password', 'required|matches[repeat]|min_length[4]|max_length[255]'); $this->form_validation->set_rules('email', 'Email', 'required|valid_email|callback__emailExists'); $this->form_validation->set_rules('character_name', 'Character Name', 'required|min_length[4]|max_length[32]|nickname|callback__characterExists|callback__validName'); $this->form_validation->set_rules('city', 'City', 'required|integer|callback__checkCity'); $this->form_validation->set_rules('world', 'World', 'required|integer|callback__checkWorld'); $this->form_validation->set_rules('vocation', 'Vocation', 'required|integer|callback__checkVocation'); $this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex'); $this->form_validation->set_rules('captcha', 'Captcha', 'required|callback__checkCaptcha'); if($this->form_validation->run() == TRUE) { require(APPPATH.'config/ide_default.php'); $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $account = new OTS_Account(); $name = $account->createNamed($_POST['name']); $account->setPassword(sha1($_POST['password'])); $account->setEmail($_POST['email']); $account->setCustomField('nickname', $_POST['nickname']); $account->setCustomField('premdays', PREMDAYS); $account->setCustomField('lastday', $_SERVER['REQUEST_TIME']); try { $account->save(); unset($account); $_SESSION['logged'] = 1; $_SESSION['name'] = $_POST['name']; $_SESSION['nickname'] = $_POST['nickname']; $_SESSION['accountDelay'] = time(); $account = $ots->createObject('Account'); $account->find($_POST['name']); $sample = new OTS_Player(); $sample->find($config['newchar_vocations'][$_POST['world']][$_POST['vocation']]); if(!$sample->isLoaded()) { show_error('Sample character could not be found!'); } // Create new character $player = $ots->createObject('Player'); $player->setName($this->strFirst($_POST['character_name'])); $player->setAccount($account); $player->setWorld($_POST['world']); $player->setGroup($sample->getGroup()); $player->setSex($_POST['sex']); $player->setVocation($sample->getVocation()); $player->setConditions($sample->getConditions()); $player->setRank($sample->getRank()); $player->setLookAddons($sample->getLookAddons()); $player->setTownId($_POST['city']); $player->setExperience($sample->getExperience()); $player->setLevel($sample->getLevel()); $player->setMagLevel($sample->getMagLevel()); $player->setHealth($sample->getHealth()); $player->setHealthMax($sample->getHealthMax()); $player->setMana($sample->getMana()); $player->setManaMax($sample->getManaMax()); $player->setManaSpent($sample->getManaSpent()); $player->setSoul($sample->getSoul()); $player->setDirection($sample->getDirection()); $player->setLookBody($sample->getLookBody()); $player->setLookFeet($sample->getLookFeet()); $player->setLookHead($sample->getLookHead()); $player->setLookLegs($sample->getLookLegs()); $player->setLookType($sample->getLookType()); $player->setCap($sample->getCap()); $player->setPosX($startPos['x']); $player->setPosY($startPos['y']); $player->setPosZ($startPos['z']); $player->setLossExperience($sample->getLossExperience()); $player->setLossMana($sample->getLossMana()); $player->setLossSkills($sample->getLossSkills()); $player->setLossItems($sample->getLossItems()); $player->setLossContainers($sample->getLossContainers()); $player->save(); $_SESSION['characterDelay'] = $_SERVER['REQUEST_TIME']; unset($player); $player = $ots->createObject('Player'); $player->find($_POST['character_name']); if($player->isLoaded()) { $player->setSkill(0,$sample->getSkill(0)); $player->setSkill(1,$sample->getSkill(1)); $player->setSkill(2,$sample->getSkill(2)); $player->setSkill(3,$sample->getSkill(3)); $player->setSkill(4,$sample->getSkill(4)); $player->setSkill(5,$sample->getSkill(5)); $player->setSkill(6,$sample->getSkill(6)); $player->save(); $SQL = POT::getInstance()->getDBHandle(); $loaded_items_to_copy = $SQL->query("SELECT * FROM player_items WHERE player_id = ".$sample->getId().""); foreach($loaded_items_to_copy as $save_item) $SQL->query("INSERT INTO `player_items` (`player_id` ,`pid` ,`sid` ,`itemtype`, `count`, `attributes`) VALUES ('".$player->getId()."', '".$save_item['pid']."', '".$save_item['sid']."', '".$save_item['itemtype']."', '".$save_item['count']."', '".$save_item['attributes']."');"); if($ajax == 0) $ide->redirect(WEBSITE.'/index.php/account'); else $ide->criticalRedirect(WEBSITE.'/index.php/account'); } } catch(Exception $e) { error($e->getMessage()); } } else { if($ajax == 0) $cap = create_captcha($vals); } } if($ajax == 0) { $_SESSION['captcha'] = $cap['word']; $data['captcha'] = $cap['image']; } #Load view of creating account if($ajax == 1) { echo error(validation_errors()); $ide->system_stop(); } else { $this->load->view('create', $data); } } /* Function to check if passed login and password are correct, it uses abstract database model. */ function _check_login() { $this->load->model("Account_model"); if($this->Account_model->check_login() == false) { $this->form_validation->set_message("_check_login", "Nome da conta ou senha estão incorretos."); return false; } else return true; } /* Login controller */ function login($action = 0) { if((int) $action == 1) success("Você foi desconectado."); if((int) $action == 2) success("Sua conta foi recuperada. Você pode fazer o login agora."); $ide = new IDE; $this->load->helper("form"); $this->load->library("form_validation"); if($_POST) { $this->form_validation->set_rules('name', 'Account Name', 'required|callback__check_login'); $this->form_validation->set_rules('pass', 'Password', 'required'); if(in_array($_POST['name'], $GLOBALS['config']['restrictedAccounts'])) error("A conta que você tentar o acesso é restrito!"); else { if($this->form_validation->run() == true) { $_SESSION['logged'] = 1; $_SESSION['name'] = $_POST['name']; if(!empty($_SESSION['forward'])) { $forward = $_SESSION['forward']; $_SESSION['forward'] = ""; $ide->redirect($forward); } else $ide->redirect(WEBSITE.'/index.php/account'); } } } /* Load view of login page. */ $this->load->view("login"); } /* Function to logout from account. */ function logout() { $ide = new IDE; $_SESSION['logged'] = ''; $_SESSION['account_id'] = ''; $_SESSION['name'] = ''; $_SESSION['admin'] = 0; $_SESSION['forward'] = ""; $ide->redirect('login/1'); } /* Controller to generate random recovery key and save it, accessed by user, only once per account. */ function generate_recovery_key() { $this->load->helper("form"); $ide = new IDE; $ide->requireLogin(); $this->load->model("Account_model"); if($_POST) { $data['info'] = ''; $key = $this->Account_model->generateKey($_SESSION['name']); success("<center><font size='4'>$key</font></center>"); alert("<b>salvar está recovery key, você vê esse codigo uma unica vez! Você nunca mais vai vê-lo novamente, não atualizar ou afastar-se deste site até que você tenha salva-lo!</b>"); } else $data['info'] = '<id=\'info\'><b>Pressione este botão para gerar o seu único recovery key. <br>Lembre-se! Você pode fazer isso apenas uma vez! Sua chave de recuperação será mostrado apenas uma vez! Anotá-la, por razões de segurança, recomendamos que não salve em computadores disco rigido!</b><br><center><input type=\'submit\' value=\'Generate\' name=\'submit\'></center>'; /* Load view of generating new recovery key. */ $this->load->view('generate_recovery_key', $data); } function _checkCurrentPassword($pass) { $this->load->model("account_model"); if($this->account_model->checkPassword($pass)) return true; else { $this->form_validation->set_message("_checkCurrentPassword", "Senha atual está incorreto."); return false; } } function changepassword() { $ide = new IDE; $ide->requireLogin(); $this->load->helper("form_helper"); if($_POST) { $this->load->library("form_validation"); $this->form_validation->set_rules('current', 'Current Password', 'required|callback__checkCurrentPassword'); $this->form_validation->set_rules('password', 'Password', 'required|matches[repeat]|min_length[4]|max_length[255]'); if($this->form_validation->run() == true) { $this->load->model("account_model"); $this->account_model->changePassword($_POST['password'], $_SESSION['name']); success("Your password has been changed."); $ide->redirect(WEBSITE."/index.php/account", 2); } } $this->load->view("changepassword"); } function editcomment($id) { $ide = new IDE; $ide->requireLogin(); if(empty($id)) $ide->redirect(WEBSITE."/index.php/account"); $this->load->model("account_model"); if(!$this->account_model->isUserPlayer($id)) $ide->redirect(WEBSITE."/index.php/account"); $data['id'] = $id; if($_POST) { $this->load->library("form_validation"); $this->form_validation->set_rules('comment', 'Comment', 'max_length[255]|alpha_ide'); if($this->form_validation->run() == true) { if(@$_POST['hide'] == 1) $this->account_model->changeComment($id, $_POST['comment'], true); else $this->account_model->changeComment($id, $_POST['comment'], false); success("Your comment has been changed."); $ide->redirect(WEBSITE."/index.php/account", 2); } } $data['comment'] = $this->account_model->getPlayerComment($id); $this->load->helper("form_helper"); $this->load->view("edit_comment", $data); } function deletePlayer($id) { $ide = new IDE; $ide->requireLogin(); $id = (int)$id; if(empty($id)) $ide->redirect(WEBSITE."/index.php/account"); $this->load->model("account_model"); if(!$this->account_model->isUserPlayer($id)) $ide->redirect(WEBSITE."/index.php/account"); $this->account_model->deletePlayer($id); $ide->redirect(WEBSITE."/index.php/account"); } public function setNickname() { $ide = new IDE; $ide->requireLogin(); if(!empty($_SESSION['nickname'])) $ide->goPrevious(); $this->load->helper("form_helper"); if($_POST) { $_POST['nickname'] = ucfirst(strtolower($_POST['nickname'])); $this->load->library("form_validation"); $this->form_validation->set_rules('nickname', 'Nickname', 'required|min_length[4]|max_length[32]|nickname|callback__nicknameExists'); $this->form_validation->set_rules('rules', 'Rules', 'required'); if($this->form_validation->run()) { $this->load->model("account_model"); $this->account_model->setNickname($ide->loggedAccountId(), $_POST['nickname']); $_SESSION['nickname'] = $_POST['nickname']; $ide->redirect(WEBSITE."/index.php/account/index/2"); } } $this->load->view("setNickname"); } function _validKey($key) { $this->load->model("account_model"); $_POST['key'] = str_replace("-", "", $_POST['key']); if($this->account_model->checkKey($_POST['key'], $_POST['email'])) { return true; } else { $this->form_validation->set_message("_validKey", "Não foi possível alterar a senha."); return false; } } public function lost() { $ide = new IDE; $this->load->helper("form_helper"); if($_POST) { $_POST['key'] = str_replace("-", "", $_POST['key']); $this->load->library("form_validation"); $this->form_validation->set_rules('password', 'Password', 'required|matches[repeat]|min_length[4]|max_length[255]'); $this->form_validation->set_rules('email', 'Email', 'required|valid_email'); $this->form_validation->set_rules('key', 'Recovery Key', 'required|callback__validKey'); if($this->form_validation->run()) { $this->load->model("account_model"); $this->account_model->recoveryAccount($_POST['key'], $_POST['email'], $_POST['password']); $ide->redirect(WEBSITE."/index.php/account/login/2"); } } $this->load->view("account_lost"); } } ?>
-
DEBUG ao usar SPELL
Tu dedicou a magia a uma determinada classe no .xml
-
Como abro o assets
Se nao me engano tem que usar uma ferramenta pra converter em arquivo.spr, tem disponivel pra dowload aqui: https://otland.net/threads/tibia-11-downgrade-tool.264941/
-
Retirar Survey Invitation
no Config.lua procura por: motd = "ESSA MENSAGEM AE " e troca pela qual tu quer ou deixa vazio se quiser retirar
-
Servidor Online mas não loga
Antes de colocar pela vps da google, ele funcionava normal ou ja nao conseguia logar
-
Abrindo portas 7171/7172 modem net F@st 3486
Bom, se sua internet for fibra é muito facil, vai no cmd e digita "ip config" pega o ip da net e joga ela em uma url de qualquer navegador, nessa página vai pedir um Login e Senha, esses dados geralmente estão disponiveis no seu modem ( acaso não estiverem por padrão o Login é " " e Senha "root") estando logado, você pode procurar por algo mensionando Port ( geralmente esta em Configurações avançadas), não sei o caminho ao certo porque varia de modem pra modem, feito as aberturas da porta testa se foram abertas ( escreve "test port" no google e entra no primeiro link), em seguida vai no seu config,lua e altera isso: *Primeiramente fassa um Backupp do antigo ip = "SEU IP" // Seu endereço IP, OU ip do No-ip.com acaso ja tiver configurado(varios tutoriais no forum), OU seu vpn, OU um ip do hamachi se achar que for o caso ou ainda posso ensinar um metodo que uso pra testes de deixar o ot on sem portas abertas pra rede externa sqlType = "mysql" / muda pra mysql acaso não tiver sqlHost = "localhost" sqlUser = "root" /Login que tu configurou no seu site sqlPass = "" /Senha que tu configurou no seu site sqlDatabase = "data" /Nome da sua database encryptionType = "sha1"
-
ModernAAC
É só substituir a imagem antiga pela que tu quer atualmente e deixar o mesmo nome.. procura usar as mesmas dimensões da imagem antiga também caminho: htdocs\templates\SUAPASTA\images caso tu substitua e mesmo assim a imagem antiga persistir limpe os seus dados de navegação Comando: ctrl+shift+del
-
Error open Service Port Network bind
Altera; ip: Seu vps OU ip do seu computador caso tiver aberto as portas, ou endereço do no-ip acaso tiver configurado tudo OU ainda se quiser mais tarde tento criar um tutorial de como deixar o ot on sem portas abertas e nem vps em rede externa, KO que to no 4g com 100 mb de net fofofofo sqlType: "mysql" sqlHost = "localhost" sqlUser = "root" // nome do usuario que você configurou no seu site sqlPass = "" // senha do usurio que você configurou no seu site sqlDatabase = "baiak" // nome da database que você colocou no Database encryptionType = "sha1"
-
Como Criar Teleportes Help
Bom eu não tenho essa versão do rme instalada, na real não tenho nenhuma pq formatei o pc agorinha; Mas toma aqui um teleport por tile: Script: local destinations = { ["pz"] = Position(1,1,1), -- posição quando o player estiver com pz ["noPz"] = Position(1,1,1) -- posição quando o player não estiver pz locked } local timeToEnterAgain = 60 -- tempo em segundos para entrar novamente function onStepIn(creature, item, position, fromPosition) if creature:isMonster() then return true end local cooldown = creature:getStorageValue(89662) - os.time() if cooldown > 0 then creature:teleportTo(fromPosition) creature:sendCancelMessage("Voce precisa esperar " .. cooldown .. " segundos para entrar novamente.") return true end local check = creature:isPzLocked() and "pz" or "noPz" local pos = destinations[check] creature:setStorageValue(89662, timeToEnterAgain + os.time()) creature:teleportTo(pos) pos:sendMagicEffect(CONST_ME_TELEPORT) return true end Tag: <movevent event="StepIn" actionid="ACTION_ID_DO_TELEPORT" script="NOMEDOARQUIVO.lua" />
-
[Duvida]Plugin Facebook Modern Aac
-
Id de Addons Pokemon Nao fuciona em dois do mesmo tipo
@BlackGamerBR sim, precisa criar dois itens diferentes, ao menos no id.. looktype se quiser copiar do outro item ai vai de vc, mas eu nao acho legal por 2 iguais..
-
Shop System otPokémon AMV Modern AAC
vá em C:\xampp\htdocs\ShopSystem\config, e substitua o config.php por esse, só nao esquece de por as info da sua database ai <?php /*Database information*/ $config['database']['host'] = "localhost"; $config['database']['login'] = "root"; $config['database']['password'] = "suasenha"; $config['database']['database'] = "suadatabase"; $config['donations']['methods'] = array('ContenidoPago' => true, 'PayPal' => true); $config['donations']['paypal'] = array('Mail' => '', 'Points' => 6, 'Product' => 'Donation for VipHera', 'Money' => 'EUR', 'Amount' => 1); $config['donations']['contenidopago'] = array('Product' => '1347', 'Points' => 4); ?> vá em C:\xampp\htdocs\ShopSystem\config, substituia o functions.php por <?php class shop { function connect() { $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); return $ots->getDBHandle(); } function isInstalled() { require('config.php'); $con = mysqli_connect($config['database']['host'], $config['database']['login'], $config['database']['password'], $config['database']['database']); if(mysqli_query($con, "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("Shop System/config/Shop.sql"); } } ?> vá em http://localhost/phpmyadmin/ acesse sua database, vá na coluna de de accounts e procure por page_acess, e coloque o numero 5 na sua conta de admin, quando tu logar com ela no site vai poder editar os itens, abraço! @Alexy Brocanello eu to com problemas na hora de add pontos em qualquer char, pois eles simplesmente não vao (nao apresenta nenhum tipo de erro, eles simplesmente falam "velho eu nao vou,fds) , no caso o shop fica invalidado sem a moeda pra poder comercializar nele, sabe resolver? PS: Belo design parabens Edit:acabei encontrando o erro, só nao entendi muito bem kk.. creio eu que foi um conflito de botoes ou algo do tipo, depois vou ver bem certo nos arquivos mas basicamente se tu clicar em "add points" nada acontece, mas se clicar ali naquele minibotao meio quebrado ali, ele funciona tranquilo..
-
Bug temple position impede players de dar spaw após morrer
Sim eu tentei, mas o problema era no site mesmo, eu alterei altuns arquivos no config.php, no create_character, account.php, account_model e acabou dando certo obrigado pela atenção, abraços