当前位置:首页>>魔兽单机>>正文
T端魔兽世界中竞技场的TOP10的排名NPC系统
2013-06-12 16:47:14 作者:网络 来源: 浏览次数:0
 这个是一个T端WOW3.3.5(Trinity-Core)系统的脚本。。主要是对竞技场系统做一个特色的NPC排名展示系统

OK。下面是图,。大家看看~~~~
\

\

\


下面我们来看看代码是怎么样的!支持3.3.5版本的T端哈!

/*
The Zxtreme - Dev Core
*/

#include "ScriptPCH.h"
#include <cstring>
#include <string.h>
#include "ObjectMgr.h"
#include "ScriptMgr.h"
#include "ArenaTeam.h"
#include "ArenaTeamMgr.h"
#include "World.h"

enum enus
{
    ARENA_MAX_RESULTS = 10,
    ARENA_2V2_LADDER = GOSSIP_ACTION_INFO_DEF + 1,
    ARENA_3V3_LADDER = GOSSIP_ACTION_INFO_DEF + 2,
    ARENA_5V5_LADDER = GOSSIP_ACTION_INFO_DEF + 3,
    ARENA_GOODBYE = GOSSIP_ACTION_INFO_DEF + 4,
    ARENA_START_TEAM_LOOKUP = GOSSIP_ACTION_INFO_DEF + 5,
    ARENA_HELP = GOSSIP_ACTION_INFO_DEF + 9999,
};

class arena_top_teams : public CreatureScript
{
    private:
    uint32 optionToTeamType(uint32 option) 
    {
        uint32 teamType;
        switch(option)
        {
            case ARENA_2V2_LADDER: 
                teamType = 2;
            break;
                    
            case ARENA_3V3_LADDER:
                teamType = 3; 
            break;
                
            case ARENA_5V5_LADDER:
                teamType = 5; 
            break;
        }
        return teamType;
    }
        
    uint32 teamTypeToOption(uint32 teamType) 
    {
        uint32 option;
        switch(teamType) 
        {
            case 2: 
                option = ARENA_2V2_LADDER; 
            break;
                    
            case 3: 
                option = ARENA_3V3_LADDER; 
            break;
                    
            case 5: 
                option = ARENA_5V5_LADDER; 
            break;
        }
        return option;
    }
        
    std::string raceToString(uint8 race) 
    {
        std::string race_s = "Unknown";
        switch (race)
        {
            case RACE_HUMAN:            
                race_s = "Human";       
            break;
                
            case RACE_ORC:              
                race_s = "Orc";         
            break;
                
            case RACE_DWARF:           
                race_s = "Dwarf";       
            break;
                
            case RACE_NIGHTELF:         
                race_s = "Night Elf";   
            break;
                
            case RACE_UNDEAD_PLAYER:   
                race_s = "Undead";      
            break;
                
            case RACE_TAUREN:          
                race_s = "Tauren";      
            break;
                
            case RACE_GNOME:            
                race_s = "Gnome";       
            break;
                
            case RACE_TROLL:            
                race_s = "Troll";       
            break;
                
            case RACE_BLOODELF:         
                race_s = "Blood Elf";   
            break;
                
            case RACE_DRAENEI:          
                race_s = "Draenei";     
            break;
        }
        return race_s;
    }
        
    std::string classToString(uint8 Class) 
    {
        std::string Class_s = "Unknown";
        switch (Class)
        {
            case CLASS_WARRIOR:         
                Class_s = "Warrior";        
            break;
                
            case CLASS_PALADIN:        
                Class_s = "Paladin";       
            break;
                
            case CLASS_HUNTER:         
                Class_s = "Hunter";        
            break;
                
            case CLASS_ROGUE:          
                Class_s = "Rogue";          
            break;
                
            case CLASS_PRIEST:
                Class_s = "Priest";
            break;
                
            case CLASS_DEATH_KNIGHT:
                Class_s = "Death Knight";
            break;
                
            case CLASS_SHAMAN: 
                Class_s = "Shaman";       
            break;
                
            case CLASS_MAGE: 
                Class_s = "Mage";          
            break;
                
            case CLASS_WARLOCK: 
                Class_s = "Warlock";       
            break;
                
            case CLASS_DRUID:          
                Class_s = "Druid";          
            break;
        }
        return Class_s;
    }
        
    std::string getPlayerStatus(uint32 guid) 
    {
        Player *player = sObjectAccessor->FindPlayer(guid);
        if(!player)
            return "Offline";
        if(player->isAFK()) 
            return "Online, <AFK> " + player->afkMsg; 
        if(player->isDND()) 
            return "Online, <Busy> " + player->dndMsg;
        return "Online";
    }
        
    std::string getWinPercent(uint32 wins, uint32 losses)
    {
        uint32 totalGames = wins + losses;
        if (totalGames == 0)
            return "0%";
            
        std::stringstream buf;
        uint32 percentage = (wins * 100) / totalGames;
        buf << percentage << "%";
        return buf.str();
    }

上面是部分代码。全部代码看下面的下载:

Top 10 Arena NPC 完整代码展示.txt


相关报道:

[关闭] [返回顶部]


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

机器人国度