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;
    }//普通玩家积分交易系统 
  • 相关阅读:
    hdu2037 今年暑假不AC[贪心][区间调度问题]
    Features Track[STL map]
    Characters with Hash[签到题]
    hdu2094产生冠军[STL set]
    2018ECNA Difference[时空复杂度]
    hdu1276士兵队列训练问题[简单STL list]
    20190815网络与信息安全领域专项赛线上赛misc WriteUp
    hdu1873 看病要排队[优先队列]
    Pygame 贪吃蛇
    Windows安装Python3 curses模块
  • 原文地址:https://www.cnblogs.com/needly/p/3751558.html
Copyright © 2011-2022 走看看