新人进入游戏欢迎公告测试成功.

写在前面的话.

从今年二月份开始研究MaNGOS以来,走了很长一段路,从一开始下载一键安装版进去做一些设置到开始关注数据库再到上周五开始接触MaNGOS的编译工作,这个周末,从周五到现在,忙了很久。到处收集已有的代码加入到mangos里,之前的很多代码因为mangos接口的改变已经无法直接使用,又不得不去研究新的接口和数据库结构。所幸的是,花费了这么长时间总算做出了一些小东西。

1:超级宝石,npc传送编译测试成功。这部分的代码直接用到了网络上的资源,花费了我很长的时间。

2:会员,积分系统,这个似乎没有现成的,所以只能自己去研究,运气好,也捣鼓出来了。

3:添加了一个sj世界聊天命令。感谢网络上的资源

3:新人进入欢迎信息。结合到mgcore的现有代码,自己再完善了一些东西。也算是做出来了。

现在的感觉就是很疲惫,嗯,不过心里还是有小小的安慰,毕竟花了这么长时间做出了一些东西。

以下是新人进入游戏欢迎信息的测试界面.我自己写了三个函数,在CharacterHandler.cpp里面,不知道其他朋友是怎么实现的,请多多指教。

感谢mgcore提供的这么好一个平台,让我学到了很多东西。

以下是人物初次创建进入游戏时的世界公告
代码部分,CharacterHandler.cpp
//初始化公告内容 
std::string welcomeStr = " |CFF00FFFF幻想魔兽世界迎来新的勇士:|R"; 
//获取玩家姓名 
std::string playerName = pCurrChar->GetName(); 
//获得玩家种族 
uint8 playerRace = pCurrChar->getRace(); 
//获得玩家职业 
uint8 playerClass = pCurrChar->getClass(); 
welcomeStr+= "[ |Cff0000ff"; 
welcomeStr+= playerName; 
welcomeStr+= "|R ]"; 
welcomeStr+= " 他是一名来自|Cffffff00"; 
welcomeStr+= GetPlayerCamp(playerRace); 
welcomeStr+= "|R 的|CFFFF8000"; 
welcomeStr+= GetPlayerRace(playerRace); 
welcomeStr+= "|CFF8080FF"; 
welcomeStr+= GetPlayerClass(playerClass); 
 
 
 
//显示公告 
sWorld.SendWorldText(LANG_PLAYER_LOGIN_WORLD_CHAT, welcomeStr.c_str()); 
获得玩家阵营的函数,这是我开始写的,原理在于通过种族玩家id来判断属于联盟还是部落。
//获取玩家阵营 
char const* WorldSession::GetPlayerCamp(uint8 campId) const 

if(campId == 1 || campId == 3 || campId == 4 || campId == 7 || campId == 12) 

return "联盟"; 

if(campId == 2 || campId == 5 || campId == 6 || campId == 8 || campId == 11) 
 

return "部落"; 

return "●其他阵营●"; 
后来经过MG Core论坛的fiver提醒
可以简化成这样:
//获取玩家阵营 
 
//可以直接用系统内核函数 
                         //是否为联盟 
                        if(player->GetTeam() == ALLIANCE) 
                    //是否为部落 
                        if(player->GetTeam() == HORDE) 
获取玩家种族
//获取玩家种族 
char const* WorldSession::GetPlayerRace(uint8 raceId) const 

switch(raceId) 
    { 
    case 1: 
      return "[人类]"; 
      break; 
    case 2: 
      return "[兽人]"; 
      break; 
    case 3: 
      return "[矮人]"; 
      break; 
    case 4: 
      return "[暗夜精灵]"; 
      break; 
    case 5: 
      return "[亡灵]"; 
      break; 
    case 6: 
      return "[牛头人]"; 
      break; 
    case 7: 
      return "[侏儒]"; 
      break; 
    case 8: 
      return "[巨魔]"; 
      break; 
    case 11: 
      return "[血精灵]"; 
      break; 
      case 12: 
      return "[德莱尼人]"; 
    break; 
    default: 
      break; 
    } 
    return "[未知种族]"; 
//获取玩家职业
//获取玩家职业 
char const* WorldSession::GetPlayerClass(uint8 classId) const 

    switch(classId) 
    { 
    case 1: 
      return "[战士]"; 
      break; 
    case 2: 
      return "[圣骑士]"; 
      break; 
    case 3: 
      return "[猎人]"; 
      break; 
    case 4: 
      return "[盗贼]"; 
      break; 
    case 5: 
      return "[牧师]"; 
      break; 
    case 7: 
      return "[萨满]"; 
      break; 
    case 8: 
      return "[法师]"; 
      break; 
    case 9: 
      return "[术士]"; 
      break; 
    case 11: 
      return "[德鲁伊]"; 
      break; 
    default: 
      break; 
    } 
      return "[未知职业]"; 

本文转自阿汐 51CTO博客,原文链接:http://blog.51cto.com/axiii/141557,如需转载请自行联系原作者

wow 人物初次创建进入游戏时的世界公告相关推荐

  1. 几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色。本次上机要求编写一个简化的创建游戏角色的程序。

    一:题目分析 1.功能描述 几乎所有的RPG游戏(一种源自<龙与地下城>的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色.本次上机要求编写一个简化的创建游戏角色的程序. 2.游戏 ...

  2. RPG角色生成器 1.功能描述 几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色。要求编写一个简化的创建游戏角色的程序。 2.游戏角色应

    RPG角色生成器 1.功能描述 几乎所有的RPG游戏(一种源自<龙与地下城>的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色.本次上机要求编写一个简化的创建游戏角色的程序. 2. ...

  3. 几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色

    本题目要求编写一个简化的在进入游戏时都会让用户自己来创建自己喜欢的游戏角色的程序. 题目分析 本题目要求编写一个简化的在进入游戏时都会让用户自己来创建自己喜欢的游戏角色的程序. 1.1 游戏角色应有以 ...

  4. 【淡墨Unity3D Shader计划】一间 创建一个游戏场景 amp; 第一Shader写作

    本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨) ...

  5. 《皇室战争》体验报告:游戏时长被无限拉长

    <皇室战争>体验报告 http://www.gameres.com/678457.html by伊达政宗 2016.8.26 ↑ 笔者不久前才开出的传奇卡电磁炮 前言: 今年上半年的早一些 ...

  6. Unity 3D学习视觉脚本无需编码即可创建高级游戏

    在本课程中,您将学习如何在Unity中使用可视化脚本(以前称为Bolt)以及如何在不编写一行代码的情况下创建自己的高级游戏所需的一切.本课程将教你如何掌握可视化脚本,即使你以前没有任何关于unity或 ...

  7. Unity粒子系统创建VFX游戏特效学习教程 Visual Effects in Unity Particle Systems [Beginner’s Guide]

    在Unity中学习高级粒子系统和视觉效果创建.初级到中级 你会学到: 游戏的视觉效果 Unity粒子系统 Unity中的Vfx 创建Unity视觉效果的初级到中级指南 课程获取:Unity粒子系统创建 ...

  8. 创建android程序时 默认使用布局是,《Android移动应用基础教程》中国铁道出版社课后习题(附答案)...

    <Android移动应用基础教程>中国铁道出版社课后习题(附答案) 第2章Android UI开发 一.填空题 1.Android中的布局分为6种,分别是RelativeLayout.Li ...

  9. 随笔:说说第一次在android中嵌入非全屏显示的unity游戏时的坑之——界面切换时出现延迟/卡顿/花屏等现象解决方法

    One 最近对接了个unity3D做的小游戏到android项目中:游戏嵌入项目的界面且非全屏显示,项目几经波折,到我手上的时候,已经采用了在同一个activity中用两个View来分别显示andro ...

最新文章

  1. Oracle的基本操作(二:存储过程)
  2. 使用android ProgressBar和Toast生成一个界面
  3. Chrome 正在测试标签页的预览功能
  4. 安装mysql提示找不到msv_安装mysql服务时提示“找不到msvcp140.dll”
  5. 老板和用户你听谁的——手机网站改版踩坑记
  6. DEPHI中tform类的构造函数与FORMCREATE的关系
  7. JAVA——自定义排序(实现Comparable接口)
  8. php整站防注入程序,一个不错的php通用防注入程序
  9. pycharm中无法识别相对路径的问题
  10. python工作岗位要求_Python就业:Python就业岗位职能要求解析
  11. ios keychain 不被清理_iOS签名机制和说明文件【ios企业签名吧】
  12. OpenCV探索之路(九):模板匹配
  13. [SDOI2011]染色 BZOJ2243 树链剖分+线段树
  14. 《暗时间》经典(二)
  15. 苹果手机连接电脑服务器传文件,实用!三种iPhone与Windows电脑互传文件操作技巧,...
  16. DOS定时关机命令 windowXp
  17. 计算机EXE文件改参数,笔记本专用xp系统修改注册表参数导致exe格式文件无法打开怎么办...
  18. dump_stack介绍以及内核符号表的生成和查找过程
  19. “刷脸”乘地铁,AI 诸雄的又一个掘金高地
  20. NAS与SAN的区别

热门文章

  1. VS2022下载以及运行
  2. negative和passive的反义词_negative 和 passive的区别?
  3. MATLAB 图像处理于数字化(一)
  4. 运动框架继续复习- 让梦想照进现实
  5. retain的用法 SAS
  6. 本地安全策略账户锁定阈值设置
  7. 大学生计算机应用能力达标测试主观操作题,计算机应用能力测试题(13页)-原创力文档...
  8. 如何成为一名高级数字 IC 设计工程师(6-5)数字 IC 验证篇:覆盖率收集
  9. dropdownlist控件的几个属性selectedIndex、selectedItem、selectedValue、selectedItem.Text、selectedItem.value的区别
  10. Android 小米手机Toast显示带应用名称问题解决方法