当前位置:首页>>魔兽单机>>正文
魔兽单机版的一个普通玩家积分交易系统参考
2013-04-21 19:47:35 作者:网络 来源: 浏览次数:0
摘要:魔兽单机的一个普通玩家积分交易系统参考

下面是一个涉及到积分系统交易的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;
}//普通玩家积分交易系统


相关报道:

[关闭] [返回顶部]


  返回首页 | 最新资讯 | 资源下载 | 魔兽图片 | 单机文档 | 技术攻略 | 玩家视频
备案号:蜀ICP备2024062380号-1
免责声明:本网站为热爱怀旧WOW的玩家们建立的魔兽世界资料网站,仅供交流和学习使用,非盈利和商用.如有侵权之处,请联系我们,我们会在24小时内确认删除侵权内容,谢谢合作。
Copyright © 2024 - 2024 WOWAII.COM Corporation, All Rights Reserved

机器人国度