• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Lua Help VIP days Error Please

feslir

New Member
Joined
Sep 2, 2007
Messages
241
Reaction score
2
Location
Kosovo
Ive added 7 VIP days, so i try to buy it and i buy it and in Character it says VIP account but when, i go phpmyadmin it has 0 VIP days it dident add the VIP days, anyone can please help me :/
 
Last edited:
VIP Days offer,

if($action == '') {
unset($_SESSION['viewed_confirmation_page']);
$main_content .= '<h2><center>Welcome to '.$config['server']['serverName'].' Shop.</center></h2>';
$offer_list = getOfferArray();
//show list of vipdays offers
if(count($offer_list['vipdays']) > 0) {
$main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b>&nbsp;VIP Days</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>';
foreach($offer_list['vipdays'] as $vipdays) {
$main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="shop_images/'.$vipdays['id'].'.png"></td><td><b>'.$vipdays['name'].'</b> ('.$vipdays['points'].' points)<br />'.$vipdays['description'].'</td><td align="center">';
if(!$logged) $main_content .= '<b>Login to buy</b>'; else
$main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$vipdays['id'].'"><input type="submit" value="Buy '.$vipdays['name'].'"><br><b>for '.$vipdays['points'].' points</b></form>';
$main_content .= '</td></tr>';
}
$main_content .= '</table><br />';
}
 
Thats for show list of offers I need the vip offer transaction code.. for example.

PHP:
# pacc
										if($buy_offer['type'] == 'pacc')
										{
											$player_premdays = $buy_player_account->getCustomField('vipdays');
											$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()+$buy_offer['days']*24*60*60).');';
											$SQL->query($save_transaction);
											$buy_player_account->setCustomField('vipdays', $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="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
 
Thats for show list of offers I need the vip offer transaction code.. for example.

PHP:
# pacc
										if($buy_offer['type'] == 'pacc')
										{
											$player_premdays = $buy_player_account->getCustomField('vipdays');
											$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()+$buy_offer['days']*24*60*60).');';
											$SQL->query($save_transaction);
											$buy_player_account->setCustomField('vipdays', $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 rel="nofollow" href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}

Where do i see that? still in shopsystem.php?
 
Found it, i guess is it this


if($buy_offer['type'] == 'pacc') {
$player_vip_time = $buy_player_account->getCustomField('vip_time');
$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);
if($player_vip_time > 0)
$buy_player_account->setCustomField('vip_time', $player_vip_time + $buy_offer['days'] * 86400);
else
$buy_player_account->setCustomField('vip_time', time() + $buy_offer['days'] * 86400);
$buy_player_account->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
$user_premium_points = $user_premium_points - $buy_offer['points'];
if ($player_vip_days >= 1) {
}
$main_content .= '<center><h2>VIP Days added!</h2><b>'.$buy_offer['days'].' days</b> of VIP days added to the 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><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>';
}
elseif($buy_offer['type'] == 'unban') {
$my_acc_id = $account_logged->getCustomField('id');
$datadata = $SQL->query('SELECT * FROM '.$SQL->tableName('bans').' WHERE value = '.$my_acc_id.';')->fetch();
if($datadata['value'] == $my_acc_id) {
if($SQL->query('DELETE FROM bans WHERE value= '.$my_acc_id.' LIMIT 1;')) {
} else {
$SQL->query('DELETE FROM bans WHERE account= '.$my_acc_id.' LIMIT 1;');
}
$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
$user_premium_points = $user_premium_points - $buy_offer['points'];
$main_content .= '<center><h2>Ban Deleted!</h2><b>Your account has been unbanned for '.$buy_offer['points'].' premium points</b> from your account.
<br>Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>';
} else {
$main_content .= '<center><b>You don\'t have any bans in your account!</b><br><br><a href="index.php?subtopic=shopsystem">Go back</a><br>';
}
}
 
Okay but in your DB what table you use for vip time? the name of the table.

PHP:
if($buy_offer['type'] == 'pacc') {
$player_vip_time = $buy_player_account->getCustomField('vipdays');
$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);
if($player_vip_time > 0)
$buy_player_account->setCustomField('vipdays', $player_vip_time + $buy_offer['days'] * 86400);
else
$buy_player_account->setCustomField('vipdays', time() + $buy_offer['days'] * 86400);
$buy_player_account->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
$user_premium_points = $user_premium_points - $buy_offer['points'];
if ($player_vip_days >= 1) {
}
$main_content .= '<center><h2>VIP Days added!</h2><b>'.$buy_offer['days'].' days</b> of VIP days added to the 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><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>';
}

try this in your pacc offer, this should work if you use vipdays in phpmyadmin..
 
Last edited:
Okay but in your DB what table you use for vip time? the name of the table.

PHP:
if($buy_offer['type'] == 'pacc') {
$player_vip_time = $buy_player_account->getCustomField('vipdays');
$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);
if($player_vip_time > 0)
$buy_player_account->setCustomField('vipdays', $player_vip_time + $buy_offer['days'] * 86400);
else
$buy_player_account->setCustomField('vipdays', time() + $buy_offer['days'] * 86400);
$buy_player_account->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
$user_premium_points = $user_premium_points - $buy_offer['points'];
if ($player_vip_days >= 1) {
}
$main_content .= '<center><h2>VIP Days added!</h2><b>'.$buy_offer['days'].' days</b> of VIP days added to the 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><br><a rel="nofollow" href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>';
}

try this in your pacc offer, this should work if you use vipdays in phpmyadmin..


i use this ALTER TABLE `accounts` ADD
`vipdays` int(11) NOT NULL DEFAULT 0;
 
ok lemme try

i kinda fucked it:S Parse error: syntax error, unexpected T_ELSEIF in C:\xampp\htdocs\shopsystem.php on line 575

ok now i edited it with no errors but its the same when i buy it, it doesnet give the vipdays only the vip time :S

Maybe it has to do with shop.lua in globalevent ? perhaps? or in lib/function?
 
Last edited by a moderator:
i selecte VIP offer not the PACC offer when i added it.
24ox34m.jpg
 
Back
Top