Ir para conteúdo

Featured Replies

Postado

na action "confirm_transaction" do shopsystem, na opção de oferta do vip, você colocou o que?

A mesma coisa do que ta no itens.

Pq nessa aba eu vendo apenas as medalhas de ouro, bronze e prata. Não me recordo o que esta lá. Vou fazer uma assistência remota lá em casa e torce pro PC esta lugado. Assim eu posso postar meu shop aqui

luanluciano93

 

elseif($buy_offer['type'] == 'VipDays')

{
$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' ('.$SQL->fieldName('id').','.$SQL->fieldName('name').','.$SQL->fieldName('type').','.$SQL->fieldName('action').','.$SQL->fieldName('param1').','.$SQL->fieldName('param2').','.$SQL->fieldName('param3').','.$SQL->fieldName('param4').','.$SQL->fieldName('param5').','.$SQL->fieldName('param6').','.$SQL->fieldName('param7').','.$SQL->fieldName('delete_it').') VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote('login').', '.$SQL->quote('give_item').', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote('').', '.$SQL->quote('').', '.$SQL->quote('item').', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote($buy_offer['id']).', '.$SQL->quote(1).');';
$SQL->query($sql);
$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' ('.$SQL->fieldName('id').','.$SQL->fieldName('to_name').','.$SQL->fieldName('to_account').','.$SQL->fieldName('from_nick').','.$SQL->fieldName('from_account').','.$SQL->fieldName('price').','.$SQL->fieldName('offer_id').','.$SQL->fieldName('trans_state').','.$SQL->fieldName('trans_start').','.$SQL->fieldName('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']).', '.$SQL->quote('wait').', '.$SQL->quote(time()).', '.$SQL->quote(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 .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><B>VipDays added!</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['lightborder'].'" ALIGN=left><b>'.htmlspecialchars($buy_offer['name']).'</b> added to player <b>'.htmlspecialchars($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></TD></TR>
</table>';
}

  • Respostas 77
  • Visualizações 11.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • luanluciano93
    luanluciano93

    Olá pessoal, estou desenvolvendo esse sistema vip para TFS 1.x, se precisarem de alguma função nova é só comentar, criei para usar em um servidor meu e resolvi postar, bom proveito a todos.   É

  • luanluciano93
    luanluciano93

    @andreoam, poste o que você tem em spoiler. 

  • @gangul321 Para colocar em spoiler siga esses passos.

Posted Images

Postado
  • Autor

$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' ('.$SQL->fieldName('id').','.$SQL->fieldName('name').','.$SQL->fieldName('type').','.$SQL->fieldName('action').','.$SQL->fieldName('param1').','.$SQL->fieldName('param2').','.$SQL->fieldName('param3').','.$SQL->fieldName('param4').','.$SQL->fieldName('param5').','.$SQL->fieldName('param6').','.$SQL->fieldName('param7').','.$SQL->fieldName('delete_it').') VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote('login').', '.$SQL->quote('give_item').', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote('').', '.$SQL->quote('').', '.$SQL->quote('item').', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote($buy_offer['id']).', '.$SQL->quote(1).');';
$SQL->query($sql);

Essa parte não precisa.

Depois dessa linha: $SQL->query($save_transaction);  você pode criar uma váriavel que pega o valor do vip_time na database:

$player_viptime = $account_logged->getCustomField('vip_time');

Depois você criar uma expressão, para verificar se dá existe um valor de vip_time ou não, e add de acordo: 

if($player_viptime > 0)
{      
	$account_logged->setCustomField('vip_time', $player_viptime + $buy_offer['days'] * 86400);
}
else
{
        $account_logged->setCustomField('vip_time', time() + $buy_offer['days'] * 86400);
}

O resto pode deixar.

Teste!

Postado

$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' ('.$SQL->fieldName('id').','.$SQL->fieldName('name').','.$SQL->fieldName('type').','.$SQL->fieldName('action').','.$SQL->fieldName('param1').','.$SQL->fieldName('param2').','.$SQL->fieldName('param3').','.$SQL->fieldName('param4').','.$SQL->fieldName('param5').','.$SQL->fieldName('param6').','.$SQL->fieldName('param7').','.$SQL->fieldName('delete_it').') VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote('login').', '.$SQL->quote('give_item').', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote('').', '.$SQL->quote('').', '.$SQL->quote('item').', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote($buy_offer['id']).', '.$SQL->quote(1).');';
$SQL->query($sql);
Essa parte não precisa.

Depois dessa linha: $SQL->query($save_transaction);  você pode criar uma váriavel que pega o valor do vip_time na database:

$player_viptime = $account_logged->getCustomField('vip_time');
Depois você criar uma expressão, para verificar se dá existe um valor de vip_time ou não, e add de acordo: 

if($player_viptime > 0)
{      
	$account_logged->setCustomField('vip_time', $player_viptime + $buy_offer['days'] * 86400);
}
else
{
        $account_logged->setCustomField('vip_time', time() + $buy_offer['days'] * 86400);
}
O resto pode deixar.

Teste!

Nai entendi muito bem, e na hora de adiciona os dias de VIP na loja, coloco o que no item ID e quantidade??
Postado

Segui todo Tutorial

Criei um item que da VIP , usando a funcao que voce passou,Porem da este erro na distro

Lua Script Error: [Action Interface] 
data/actions/scripts/vipitem.lua:onUse
data/actions/scripts/vipitem.lua:2: attempt to call method 'addVipTime' (a nil value)
stack traceback:
        [C]: in function 'addVipTime'
        data/actions/scripts/vipitem.lua:2: in function <data/actions/scripts/vipitem.lua:1>

Sei que vai Pedir entao Deixo aqui o Script do item:

 

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
player:addVipTime(30)
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have received 30 premium days.")
item:remove(1)
return true
end

Ja tentei usar o comando
player:addVipDays(30)

Oque pode ser?

 

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

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo