Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Bom dia pessoal, estou precisando da ajuda de vocês ... 

Eu uso como base do meu site o gesior2012 ... e estou querendo vender vipdays no meu shopsystem, porém o gesior2012 não vem com opções de venda de vipdays, e nem de pacc ... tudo bem, copiei de outro shopsystem do gesior tradicional ... o problema é que no shopsystem a venda é feita por player ... e é chamada a class 'new Player' que no gesior tradicional seria o 'new OTS_Player', até ai OK. Agora na venda de vipdays e pacc é feita por account e não por Player, assim no gesior tradicional tem a funciton 'getAccount', creio que é ela que "chame" a ACCOUNT do player, porém o meu não chama, ele faz tudo certo mostra que ADD A VIP, porém na database nada acontesse. Já quebrei a cabeça com isso e nada. Se alguém puder me ajudar ficarei muito agradecido... Obrigado amigos! Se puder mando o link do meu site aqui, não sei se pode ...

Link para o post
Compartilhar em outros sites

Olá, qual é o seu sistema VIP?

DEDICADO BRASIL

Professional Internet Datacenter

banner_divulgativo_468x60.gif

 

Tudo oque você precisa para ter certeza de que não há nada que vai estragar teus planos em seu projeto Gamer/Engine, nós somos uma empresa qualificada em Segurança em servidores, obtemos técnicos especializados, que possam lhe alertar sobre qualquer falha que você esteja sofrendo.

 

- Visite o site

Link para o post
Compartilhar em outros sites

Eu creio que o sistema vip não influencia nisso (claro, se desse certo de add o tempo ao 'vip_time' na database, e eu usar o sistema vip do mock irei modificar para tbem add 1 ao campo 'vip' e 'x' vipdays ao campo 'vipdays').

Oque eu preciso é que ele entregue pelo menos o vip_time.

Estou achando que é algo no servidor, porque os polls tbem ta assim na hora de "chamar" a tabela account, na coluna 'vote'.
Não sei oque fazer :(

oque você acha Sammy?

Editado por luanluciano93 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

AMIGO SEJA MAIS FORMULISTA, POSTA O SISTEMA E O ERRO CAUSADO PELO MESMO, ASSIM SERÁ MAIS FÁCIL DE ACHAR UMA SOLUÇÃO IMEDIATA NO ARQUIVO.

/aqp9.png

 

 

 

QOKznxM.gif

Link para o post
Compartilhar em outros sites

AMIGO SEJA MAIS FORMULISTA, POSTA O SISTEMA E O ERRO CAUSADO PELO MESMO, ASSIM SERÁ MAIS FÁCIL DE ACHAR UMA SOLUÇÃO IMEDIATA NO ARQUIVO.

Desculpe, mas é como esta no tópico, a compra de vipdays acontece, porem o sistema não esta 'chamando' a tabela ACCOUNT ...

Olha .... 

 

 $buy_player = new Player();

 $buy_player->find($buy_name);

 if($buy_player->isLoaded()
 {
        if($_SESSION['viewed_confirmation_page'] == 'yes' && $_POST['buy_confirmed'] == 'yes') 
        {
                 # VIPDAYS #
                 if($buy_offer['type'] == 'vipdays') 
                 {
                           $buy_player_account = $buy_player->getAccount(); //GET ACCOUNT
                           $player_vipdays = $buy_player_account->getCustomField('vip_time');
                           $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_vipdays > 0)
                          {
                                   $buy_player_account->setCustomField('vip_time', $player_vipdays + $buy_offer['days'] * 86400);
                          }
                          else

                          {

                                   $buy_player_account->setCustomField('vip_time', time() + $buy_offer['days'] * 86400);
                          }
                                            
                $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);$user_premium_points = $user_premium_points - $buy_offer['points'];  
               $main_content .= '<center><h2>VIP Days added!</h2>'.$buy_offer['days'].' VIP days 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 /><br /><a href="shopsystem">Go to Shop Site</a><br />';
                 } 

--------------------------------------------------------------------------------------------------------

         }

--------------------------------------------------------------------------------------------------------

 }

--------------------------------------------------------------------------------------------------------

Espero que entendam ... Obrigado!

Link para o post
Compartilhar em outros sites

Bom pessoal, não sei se posso, mas vou colocar aqui alguns avanços que tive (+/-), quem sabe alguém pode me ajudar a finalizar ... 


A parte que coloca a vip é esta:

# VIPDAYS #									
if($buy_offer['type'] == 'vipdays') 
{
    $account_viptime = $buy_player_account->getCustomField('vip_time');
	$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($account_viptime > 0)
    {
        $buy_player_account->setCustomField('vip_time', $player_vipdays + $buy_offer['days'] * 86400);
	}
    else
    {
		$buy_player_account->setCustomField('vip_time', time() + $buy_offer['days'] * 86400);
	}
                                            
	$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);$user_premium_points = $user_premium_points - $buy_offer['points'];  
    $main_content .= '<center><h2>VIP Days added!</h2>'.$buy_offer['days'].' VIP days 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 /><br /><a href="shopsystem">Go to Shop Site</a><br />';
} 

O problema está aqui:

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


Eu mudei para isso, e agora está mandando para 'vip_time' o tempo em segundos certinho ...

$account_logged->setCustomField('vip_time', 'vip_time' + $buy_offer['days'] * 86400);


Porém eu estou usando o sistema vip do mock, então minha vip tbem tem que add 'Xvipdays' na coluna 'vip_days' na tabela ACCOUNT e mudar o número 0 para 1 na coluna 'vip', e se estiver 1 deixar 1 ... 


OBS: Já tentei isso: $account_logged->setCustomField('vip_days', 'vip_days' + $buy_offer['days']); e isso: $account_logged->setCustomField('vip', 'vip' + 1);


Alguém pode me ajuda?

 

Editado por luanluciano93 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Imperius
      Olá, pessoal! Acabei encontrando um script que tinha feito a um tempo atrás. Estou compartilhando aqui para quem quiser usar ou melhorar.
       
      É bem parecido com os outros sistemas de roleta, igual deste tópico: https://tibiaking.com/forums/topic/101557-action-cassino-roleta-de-items/
       
      Como funciona?
       
      O "Treasure Chest" é um item custom, onde o jogador têm a possibilidade de ganhar itens raros ou bem meia boca. Tudo dependerá da sorte.
       
      O jogador precisa tacar o treasure chest na bancada e acionar a alavanca. O treasure chest irá se transformar em vários itens de forma randômica no qual o jogador poderá ou não ganhar. No final, apenas um item é entregue ao jogador.
       
      Para entender melhor o seu funcionamento, segue o GIF abaixo:
       

       
       
      em data > actions > actions.xml
       
       
      em data > actions > scripts > crie um arquivo chamado leverTreasureChest.lua
       
       
      no banco de dados do servidor, adicione o seguinte código em "SQL":
       
       
       

      Também estou disponibilizando uma página PHP, para quem quiser usar no site do servidor. Na página tem informações sobre o funcionamento, quais são os possíveis prêmios e a lista de jogadores que ganharam os itens raros.
       

       
       
      Espero ter ajudado de alguma forma! : )
       
      treasure_chest.php
    • Por 4Marsupilami
      I present my newest beautiful and tasty layout called Silver brown cake. If you are interested in a unique layout, write to me on discord.
       
      • E-mail: [email protected]
      • Discord: 4Marsupilami#1243
       
       


    • Por 4Marsupilami
      I present my newest beautiful and tasty layout called Glacial. If you are interested in a unique layout, write to me on discord.

      • E-mail: [email protected]
      • Discord: 4Marsupilami#1243
       
       


    • Por luanluciano93
      Olá pessoal, hoje vou ensinar como deixar as urls limpas (amigáveis) no Gesior.

      Mas Luan, oque é URL?
      URL vem de Uniform Resource Locator, em português Localizador-Padrão de Recursos, é o vulgo endereço de uma rede, seja internet, ou até mesmo uma intranet. Resumindo é o endereço que você coloca no seu browser.

      exemplo: URL para entrar no TK: http://www.tibiaking.com/forum/

      Como podem ver no exemplo, a estrutura de uma URL é basicamente esse:
      protocolo://dominio-ou-ip/caminho
       
      Mas Luan, para que vou querer limpar as urls do meu site?
      Seguinte, existe um termo que se chama 'boas praticas', que a maioria (não todos)dos desenvolvedores web procuram seguir. A verdade é que a única coisa que altera é o visual, você vai ver as urls, e com elas limpas qualquer leigo consegue entender onde está em um site.

      Mas Luan, oque é realmente uma URL limpa (amigável)?
      Bom, vou usar o próprio site do tibia.com (que é o mesmo jeito do Gesior) como exemplo ... 

      tibia.com/index.php?subtopic=latestnews
      tibia.com/index.php?subtopic=archives
      tibia.com/index.php?subtopic=rules

      E etc ... o tibia.com ainda não fica tão feio, mas existem sites que ficam muito ruim mesmo.

      E se colocássemos um arquivo simples no gesior que alterasse as urls escondendo uma parte delas ... 

      Por exemplo, nos exemplos acima, temos algo em comum depois do domínio, que seria o index.php?subtopic=, e se escondêssemos essa parte? Não ficaria muito melhor?
      tibia.com/latestnews
      tibia.com/archives
      tibia.com/rules

      Apenas olhando no endereço da internet qualquer leigo entenderia onde está facilmente, e é isso que este arquivo faz. bem básico.

      Luan, como eu instalo esse arquivo?
      Usamos o arquivo .htaccess e determinado código nele.

      Basta coloca esse arquivo no diretório do site (pasta www ou htdocs) com o código.

      Para funcionar você terá um pequeno trabalho de alterar todos os 'caminhos' que existem no layout e nas pastas do ot, mas é simples, vá em cada arquivo e aperta Ctrl+F e procure por subtopic e muda o caminho, no caso se tiver o index.php?subtopic=, é só apagar tudo e deixar só que esta depois do =, se não tiver o index.php, só tiver ?subtopic=, apaga essa parte e deixa só o que ta depois do =, simples e fácil, só fazer isso na layout.php e em todas as páginas que tiver no seu site.

      Se você já tem o arquivo .htaccess no diretório do seu site, coloque esse código dentro:
      RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?subtopic=$1 Caso não tenha o arquivo, provavelmente existe um arquivo .htaccess na pasta config do seu site, copie ele e cole no diretório do site, apague o código e coloque o código que eu passei.

      É isso pessoal, espero que tenham gostado. Até a próxima, abração!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo