Ir para conteúdo
  • Cadastre-se

Sistema De Monitoramento De Transações.


Posts Recomendados

Hoje eu estou trazendo um sistema desenvolvido para servers que possuem shop system, é um sistema simples mas útil. É um sistema o qual registra todas as transações de itens da shop no seu servidor, dando a possibilidade do administrador do server ficar por dentro e de olho nas transações.

printtransadmin.jpg

- Explicando oque será feito...

No 1º passo nós prepararemos o shopsystem para registrar os dados extras, no caso o id do item, o nome do item e de quem foi debitado os points.

No 2º passo nós criaremos a página que executará as checagens e mostrará os dados.

No 3º passo nós incluíremos a página trans-admin ao subtopic, para que possa ser visualizada pelo home.php.

No 4º passo nós adicionaremos ao menu Account o link para o Trans Admin, o qual só podera ser acessado por admins.

Mo 5º passo executaremos as SQL Queries.

Bem é isso, vamos trabalhar...

- Como Instalar?

Basta seguir os passos:

1º:

Abra o seu “shopsystem.php” e procure por:

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_accountname, from_account, price, offer_id, offer_name, offer_itemid, 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->getName()).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['id']).', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote($buy_offer['id']).', \'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 .= '<center><h2>Item added!</h2><b>'.$buy_offer['name'].'</b> added to 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="home.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a><br>';

}

Substitua a linha da váriavel $save_transaction por isso:

$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_accountname, from_account, price, offer_id, offer_name, offer_itemid, 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->getName()).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['id']).', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote($buy_offer['id']).', \'wait\', '.$SQL->quote(time()).', \'0\');';

2º:

Crie um documento chamado trans-admin.php e coloque o seguinte nele:

<?PHP

//Criado por Dhenyz Shady, ##### | NO RIP, mantenha os créditos!

// http://shadyroom.blo...blogspot.com��| [email protected]

if($action == '') {

if(!$logged) {

$main_content .= 'Please login first.';

} else{

if($group_id_of_acc_logged >= $config['site']['access_admin_panel']) {

$account_name = $SQL->query('SELECT `id` FROM '.$SQL->tableName('accounts').' WHERE '.$SQL->fieldName('id').' = '.$SQL->fieldName('name').' ;');

$items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' =

'.$SQL->fieldName('to_account').' OR '.$SQL->fieldName('from_account').' = '.$SQL->fieldName('from_account').';');

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 = 'blue';

$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 .= $item_received['from_accountname'];

else

$items_received_text .= $item_received['from_accountname'];

$items_received_text .= '</td><td>'.$item_received['offer_name'].'</td><td>'.$item_received['offer_itemid'].'</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="red">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->fieldName('to_account').' OR '.$SQL->fieldName('from_account').' = '.$SQL->fieldName('from_account').';');

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 = 'blue';

$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></h1></center>';

if(!empty($items_received_text))

$main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font

color="white" size="4"><b>&nbsp;Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>Comprador:</b></td><td><b>De:</b></td><td><b>Item Comprado:</b></td><td><b>ID:</b></td><td><b>Data de Compra:</b></td><td><b>Recebido no Server:</b></td></tr>'.$items_received_text.'</table><br />';

if(!empty($paccs_received_text))

$main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="6"><font

color="white" size="4"><b>&nbsp;Premium/VIP Transactions</b></font></td></tr><tr

bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>De:</b></td><td><b>Duracao:</b></td><td><b>Valor:</b></td><td><b>Adicionado:</b></td></tr>'.$paccs_received_text.'</table><br />';

if(empty($paccs_received_text) && empty($items_received_text))

$main_content .= 'Nao ha registros de transasoes.';

}

}

if(!$logged)

$main_content .= 'Voce precisa estar logado e ser da staff.';

} else $main_content .= "You don't have required access!";

?>

3º:

Vá até o "home.php" ou "index.php" (depende qual vc usa como principal, basta entrar no site e ver) e adicione isso:

case "trans-admin";

$subtopic = "trans-admin";

$topic = "trans-admin";

include("trans-admin.php");

break;

4º:

Abra seu "layout.php", localize

if($group_id_of_acc_logged >= $config['site']['access_admin_panel'])

echo "<a href='?subtopic=adminpanel'>

<div id='submenu_adminpanel' class='Submenuitem' onmouseover='MouseOverSubmenuItem(this)' onmouseout='MouseOutSubmenuItem(this)'>

<div class='LeftChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div>

<div id='ActiveSubmenuItemIcon_adminpanel' class='ActiveSubmenuItemIcon' style='background-image:url(".$layout_name."/images/menu/icon-activesubmenu.gif);'></div>

<div class='SubmenuitemLabel'><font color=\"red\">[Admin Panel]</font></div>

<div class='RightChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div>

</div>

</a>";

e acrescente isso logo abaixo do </a>";:

if($group_id_of_acc_logged >= $config['site']['access_admin_panel'])

echo "<a href='?subtopic=trans-admin'>

<div id='submenu_trans-admin' class='Submenuitem' onmouseover='MouseOverSubmenuItem(this)' onmouseout='MouseOutSubmenuItem(this)'>

<div class='LeftChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div>

<div id='ActiveSubmenuItemIcon_trans-admin' class='ActiveSubmenuItemIcon' style='background-image:url(".$layout_name."/images/menu/icon-activesubmenu.gif);'></div>

<div class='SubmenuitemLabel'><font color=\"red\">[Trans Admin]</font></div>

<div class='RightChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div>

</div>

</a>";

5º:

Agora voce só precisa das SQL Queries.

Abra o seu gerenciador SQL e execute as seguintes queries:

ALTER TABLE `z_shop_history_item` ADD COLUMN `offer_itemid` INT( 11 ) NOT NULL;

ALTER TABLE `z_shop_history_item` ADD COLUMN `from_accountname` VARCHAR( 255 ) NOT NULL;

ALTER TABLE `z_shop_history_item` ADD COLUMN `offer_name` VARCHAR( 255 ) NOT NULL;

- Bugou tudo

Este sistema foi desenvolvido em baso no Gesior 0.38. Mas ele funciona em todos os sites, todos.

Caso ocorra algum bug basta refazer os passos acima com atenção. Caso o problema persistir avise aqui.

- Créditos:

100% Dhenyz

Link para o post
Compartilhar em outros sites

Muito show, ja guardei o link pra quando eu conseguir por linux instala, reputado!

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

- Créditos:

100% Dhenyz

Amigo essescriptfoi feito e postado pelo membro 1yti Do #####.com, ou coloca os creditos dele ou estarei pedindo que removam o conteudo!

Xuuuuooooo!!!!!

Link para o post
Compartilhar em outros sites

Amigo essescriptfoi feito e postado pelo membro 1yti Do #####.com, ou coloca os creditos dele ou estarei pedindo que removam o conteudo!

Cara os creditos estão corretos..

Link para o post
Compartilhar em outros sites

Gustavo tem como você me ajudar para mostrar TODAS AS TRANSIÇOES só na acc GOD?

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




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 yezzin
      FALA RAPAZIADA CANSADOS DE JOGAR EM SERVIDORES QUE FECHAM TODA HORA E ADM'S QUE NÃO LIGAM PARA O GAME?
      APRESENTO NTO STORM.

      ⚡NTO STORM⚡
       
       💖Versão 8.60 com OLD e OTC
       💖Task system;
       💖Saga system;
      💖 Outfit/skin system;
       💖Raridade system;
       💖Elo/Kage system;
       💖buff/Aura system;
      💖 Market system;
      💖 Autoloot system;
      💖 Mapa 100% proprio e novinho;
       💖Diversas quest de todos os niveis;
      💖 Vocaçao do dia;
       💖Cast System;
       💖Shop no Game
       💖Mercado Negro;
      💖Upgrade Set;
      💖Refinamento de Armas e Shields;
       💖Evento(castle,Guild castle, eventos, task, bonus, sorteios!
       
      https://discord.gg/un9uewM3Ds
      VOA !!
    • Por Heyron
      Elysia OT (Global Full 8.60)   IP: elysiaot-global.servegame.com   ✔︎ Login pelo Account Manager 1/1, não temos site. ✔︎ Login zerado é Cast System.   XP (Rates): Stages = Sim Experience = 50.0 Skill = 15.0 Magic = 5.0 Loot = 1.0 Spawn = 1.0 Protection Level: 30   ✔︎ Sem itens VIP. ✔︎ Premiação ao upar nível 20, 50 e 80. ✔︎ Itens iniciais por vocação. ✔︎ Free Bless até o level 50. ✔︎ Danos de spells balanceados. ✔︎ Sem fast attack ou ataque rápido (padrão 2seg). ✔︎ Sem itens infinitos, exceto munição de Paladin.           Jogue agora!   IP: elysiaot-global.servegame.com Versão: 8.60      
    • Por Gabrieltxu
      Prometi a mim mesmo não ajudar mais a comunidade, porem com os acontecimentos em cima dessa base me deixou com raiva e vim compartilhar a mesma com vocês, o servidor foi feito em cima da base vasada do Psoul, onde Walox e outro que não sei o nick trabalharam, porem como já de costume Walox melhorou a interface assim como a Mytology e a ZRing, e para não perder o costume anunciou a venda do mesmo, onde algumas pessoas chegaram a pagar bem caro pela base, quase 2 mil reais. 
      Até ai tudo bem, porem não contente começou a vender ainda mais copias do servidor, e quem comprava também vendia a copia do servidor, algo que acho totalmente errado.
      Enfim para acabar com essa palhaçada hoje estou postando a base.
       
      Ressalvo que NÃO IREI DAR SUPORTE A ESSA BASE, BASE CONTEM MUITOS BUGS, OQUE TEM DE MELHOR É A INTERFACE MESMO 
       
      Algumas Imagens do servidor:
       
      Scans
       
      Link para Download (Contem tudo, Client, server etc..): https://mega.nz/file/6dIwRaxT#y2nRFVckLLTLFSBRRtEUJVb-KBAwVPfMhqxyTEEv4Cs
      Mediafire: https://www.mediafire.com/file/d89t3ol1beq8129/poke+jornadas+completo+++src.rar/file
      Senha do Winrar: naoetrote1234567890@
       
      Créditos:  - Criadores da base Psoul
                       - Walox (Wave) e equipe
       
       
      É isso, espero que essa pratica de venda de servidores desenfreados acabe, desejo boa sorte a todos com a base e façam bom proveito.      
       
       
    • Por 4Unknow
      Primeiramente, um bom dia, boa tarde ou boa noite para toda comunidade.
      Vou tentar ser o mais breve possível e objetivo com vocês.

      Esse projeto consiste em trazer um servidor PLAY to EARN, onde o jogador irá jogar para ganhar.
      O famoso sistema NFT, que vem dominado nossa geração com inúmeros jogos todos os dias.
      Mas o que é NFT? Abaixo explico melhor. Sem  muitas delongas, estou disposto a criar um projeto
      de servidor de Tíbia com sistema NFT. 

      Estou em busca de uma equipe competente, responsável e que seja qualificada. Atualmente eu trabalho
      com bolsa de valores, tenho minha empresa e muito tempo para investir, e investir de forma monetária
      também quanto de estrutura. Possuo servidor VPS(brasil ou exterior) onde pode ser escalável de acordo com a necessidade.

      Possuo domínio e hospedagem para mais de 5 anos.
       

       
       O sistema NFT(non-fungible token). 
      O que são jogos NFT?
      Como praticamente qualquer coisa na internet pode se tornar um token não-fungível — de fotos, vídeos e GIFs a mensagens, arquivos de áudio e outros conteúdos —, jogos NFT seguem a mesma lógica: transformar o game inteiro ou algum elemento daquele título em algo único.
      O que costuma diferenciar os jogos NFT das demais obras é que os games têm investido em itens colecionáveis para atrair mais pessoas. Os jogadores, por sua vez, enxergam nesses itens a possibilidade de lucrar com peças exclusivas, já que, como cada NFT dentro do jogo é único, ele pode ser considerado raro entre os jogadores.
       
       

       
      Concluindo então. O projeto  atualmente precisa de webmasters
      para os sistemas NFT, onde posso colaborar na parte PHP/HTML.

      Parte gráfica consigo colaborar também. Então quem estiver disposto
      em entrar para essa aventura junto comigo. Fiquem a vontade para
      responder a este tópico.
       
      Contato-Discord:
       4Unknow#1163
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo