zoukankan      html  css  js  c++  java
  • M端普通玩家积分交易系统参考

    下面是一个涉及到积分系统交易的GM命令的函数参考。函数默认是MANGOS服务端的。不过你可以通过修改来支持T端的
    
    GetAccountJf() 这个函数是自己增加的,主要是一个活的自己角色或则账号的积分数量的函数,。这里就不交代了
    
    
     //普通玩家积分交易系统
    bool ChatHandler::HandleTradeCommand(const char * args) {
    if (!*args)
    return false;
    Player *target = getSelectedPlayer();
    if(!target)
    {
    SendSysMessage(LANG_PLAYER_NOT_FOUND);
    return true;
    }
    
    uint32 guidtrade = 0;
    if(target == m_session->GetPlayer())
    {
    SendSysMessage(LANG_COMMAND_TRADESELF); 
    return true;
    guidtrade = m_session->GetPlayer()->GetSession()->GetAccountId(); //获得自己的ID号
    }
    
    
    uint32 guid = 0; //定义设置的用户ID
    if(target)
    {
    guid = target->GetSession()->GetAccountId(); //获得该玩家的注册ID号
    }
    
    uint32 amount = (uint32)atoi(args); 
    uint32 amountself = player->GetAccountJf(guidtrade);
    uint32 amountother = m_session->GetPlayer()->GetAccountJf(m_session->GetPlayer()->GetSession()->GetAccountId());
    if (amount < 0 || amount > amountself)
    {
    SendSysMessage(LANG_BAD_VALUE);
    return true;
    }
    uint32 amountpointadd = amountother + amount;
    
    loginDatabase.PExecute("UPDATE `account` SET `jf` = '%u' WHERE `id` = '%u'",amountpointless,guidtrade); //交易发送方最后点数
    loginDatabase.CommitTransaction();
    loginDatabase.PExecute("UPDATE `account` SET `jf` = '%u' WHERE `id` = '%u'",amountpointadd,guid); //被交易方最后点数
    loginDatabase.CommitTransaction();
    
    PSendSysMessage(LANG_COMMAND_MODIFY_INTEGRAL, target->GetName(), amount);
    
    return true;
    }//普通玩家积分交易系统 
  • 相关阅读:
    Python封装发送信息到钉钉群
    centos 7.6 安装php70
    小米5s plus刷机
    centos 7 安装webmin
    交易开拓者旗舰版(TB旗舰版)软件升级中如何迁移用户数据
    centos 7.6 修改vim配色方案
    centos 7.0 读写ntfs分区
    centos iptables 数据转发
    centos 7.6 配置VNC
    win下maridb 10.1.8下主从复制配置
  • 原文地址:https://www.cnblogs.com/needly/p/3751558.html
Copyright © 2011-2022 走看看