梦幻西游怎么快捷操作 快捷键使用指南

游戏攻略06

梦幻西游怎么快捷操作 快捷键使用指南,第1张

梦幻西游怎么快捷操作 快捷键使用指南
导读: 梦幻西游怎么快捷操作,常用查看小地图、查看人物状态、查看好友列表及很多的按键方式,查看叠加的NPC的操作,而切换模式可以在新旧物品栏之间方便的切换,以及新道具栏的快捷键的按键方式。 梦幻西游怎么快捷操作 梦幻西游使用指南

梦幻西游怎么快捷操作,常用查看小地图、查看人物状态、查看好友列表及很多的按键方式,查看叠加的NPC的操作,而切换模式可以在新旧物品栏之间方便的切换,以及新道具栏的快捷键的按键方式。

梦幻西游怎么快捷操作 梦幻西游使用指南

平时使用

查看叠加的NPC

发现叠在一起的NPC,如果需要点击NPC对话,可以先用Ctrl+鼠标左键点击叠加的NPC显示列表,再点击列表中名称即可。

发现叠在一起的NPC,如果需要给予NPC物品,可以先用Ctrl+鼠标左键点击叠加的NPC显示列表,再使用给予快捷键(Alt+G)

发现叠在一起的NPC,如果需要攻击NPC,可以先用Ctrl+鼠标左键点击叠加的NPC显示列表,再使用攻击快捷键(Alt+A)

切换新旧物品栏

点击物品栏左上角的“切换模式”可以在新旧物品栏之间方便的切换。

点击换装按钮的1、2、3可以在最多三套装备之间切换。

战斗使用:

在画面左上角有三个灯笼的小按钮,第一个为切换显示,另两个即为地图开关。快捷方式为:Alt Enter、Alt M、Tab。

扩展资料1:

《梦幻西游》是一款由中国网易公司自行开发并营运的网络国产游戏。游戏以著名的章回小说《西游记》故事为背景,透过Q版的人物,试图营造出浪漫的网络游戏风格。

扩展资料2:关于梦幻西游同类型回合制手游,可以关注风林手游(14294com),有很多高福利BT版的回合制手游,还有大量礼包码和大额抵扣劵可以领取。

《大话西游II》和《梦幻西游》地图文件格式读取类 实现代码

此类是本人编写的,主要用于读取《大话西游II》和《梦幻西游》地图文件格式, 而对于地图中各个单元的处理功能不包含在这个类中,可以写其他相关的类做这个方面的处理本类主要用在教学研究方面,不得应用在商业领域以及其他侵害网易公司利益的地方 本人不保证此类的安全和质量如有疑虑请勿使用参考资料:

Map File Old Format

Map File New Format

大话1302新地图格式

大话0038新地图格式

/

《大话西游II》和《梦幻西游》

地图文件格式读取类

---------------------------------------------------------------------------------------------

版本 220

王大理 <wdl@sinacom>

2006年05月20日

---------------------------------------------------------------------------------------------

声明:

本源代码应用于网易公司的网络游戏《大话西游II》和《梦幻西游》地图文件格式的读取。

与此源代码相应的文件格式版权属于网易公司所有。

此源代码应用于教育目的,禁止用于商业目的,否则后果自负,本源代码作者不承担任何责任。

如有异议请务使用本源代码,并永久删除此源代码。

---------------------------------------------------------------------------------------------

版权所有(c) 2006 王大理 , 保留所有权利。

/

#include "ReadGameMaph"

using namespace NetEase; // 使用NetEase命名空间ReadGameMap::ReadGameMap(void)

{

//m_MapWidth=0; // 初始化地图的宽度

//m_MapHeight=0; // 初始化地图的高度

m_SubMapWidth=320; // 初始化子地图宽度

m_SubMapHeight=240; // 初始化子地图高度

m_MaskTemp=1; // 初始化MASK临时变量

//m_SubMapRowNum=0; // 子地图的行数量

//m_SubMapColNum=0; // 子地图的列数量

//m_SubMapTotal=0; // 子地图的总数

}ReadGameMap::~ReadGameMap(void)

{

}// 加载地图文件

bool ReadGameMap::LoadMap(char filename)

{

FILE fp;

//m_FileName=filename; // 全局变量地图文件名 strcpy(m_FileName,filename); // 打开流

if( (fp = fopen(m_FileName, "rb" )) == NULL)

{

printf("打开文件错误。\n");

return false;

} // 读取地图文件头

MapHeader header;

fread(&header, sizeof(MapHeader), 1, fp); // 读取地图文件头 m_MapWidth=headerWidth; // 地图的宽度

m_MapHeight=headerHeight; // 地图的高度 m_SubMapRowNum=ceil((float)(m_MapWidth/m_SubMapWidth)); // 计算行中子地图的数量

m_SubMapColNum=ceil((float)(m_MapHeight/m_SubMapHeight)); // 计算列中子地图的数量

m_SubMapTotal=m_SubMapRowNumm_SubMapColNum; // 计算地图中总的子地图数量 //printf("Flag=0x%X\n",headerFlag);

//printf("Width=%d\n",headerWidth);

//printf("Height=%d\n",headerHeight);

//printf("m_SubMapTotal=%d\n",m_SubMapTotal); // 判断文件头是否正确(MAPX) && (M10)

if((headerFlag!=0x4D415058) && (headerFlag!=0x4D312E30))

{

printf("未支持的地图文件格式。\n");

return false;

} // 读取子地图偏移值列表

m_SubMapOffsetList=new uint32[m_SubMapTotal]; // 自动分配列表空间

fread(m_SubMapOffsetList, sizeof(uint32), m_SubMapTotal, fp); // 读取列表

fread(&m_MapSize, sizeof(uint32), 1, fp); // 读取文件大小或文件头的大小 //printf("m_SubMapOffsetList=0x%X\n",m_SubMapOffsetList[60]); // MAPX

if (headerFlag == 0x4D415058)

{

ReadJPGH(fp); // 读取JPGH的数据

m_FileType=1; // 设置地图文件类型

}

// M10

if (headerFlag == 0x4D312E30)

{

ReadHEAD(fp); // 读取新地图的数据

m_FileType=2; // 设置地图文件类型

} fclose(fp); // 关闭流

return true;

}// 读取地图JPGH的数据

bool ReadGameMap::ReadJPGH(FILE fp)

{

UnitHeader JpegHead;

fread(&JpegHead,sizeof(JpegHead),1,fp); // 读取单元头的数据 // 判断标志是否正确(HGPJ)

if (JpegHeadFlag!=0x4A504748)

{

printf("JPEG HEADER 标志错误。\n");

return false;

}

m_jpghData = new uint8[JpegHeadSize]; // 分配单元数据的内存空间

m_jpghSize=JpegHeadSize;

fread(m_jpghData,JpegHeadSize,1,fp); // 读取单元数据

//PrintHex(m_JpegHeadDate,JpegHeadSize);

return true;

}// 读取地图HEAD的数据

bool ReadGameMap::ReadHEAD(FILE fp)

{

uint32 HeaderSize; HeaderSize=m_SubMapOffsetList[0]-m_MapSize; // 计算地图头数据的大小

m_headSize=HeaderSize;

m_headData = new uint8[HeaderSize];

fread(m_headData,sizeof(uint8),HeaderSize,fp); // 读取地图头数据

//PrintHex(MapHeadDataData,MapHeadDataSize);

return true;

}// 读取地图的单元数据

bool ReadGameMap::ReadUnit(uint32 UnitNum)

{

FILE fp;

int64 seek;

bool Result;

bool loop=true;

char filename;

m_MaskTemp=1; // 打开流

//printf("m_FileName=%s\n",m_FileName);

if( (fp = fopen(m_FileName, "rb" )) == NULL)

{

printf("打开文件错误。\n");

return false;

} seek=m_SubMapOffsetList[UnitNum];

//printf("Seek=0x%X\n",seek);

fseek(fp,seek,SEEK_SET);

fread(&m_MaskNum,sizeof(uint32),1,fp); // 读取MASK的数量

//printf("m_MaskNum=%d\n",m_MaskNum); // 新地图使用

if ((m_FileType==2) && (m_MaskNum>0))

{

//printf("New Map!\n");

m_MaskList = new uint32[m_MaskNum];

fread(m_MaskList,sizeof(uint32),m_MaskNum,fp);

} UnitHeader unit; while(loop)

{

fread(&unit,sizeof(UnitHeader),1,fp); // 读取单元的头数据 //printf("单元标志=%X\n", unitFlag);

//printf("单元大小=%d\n", unitSize); switch(unitFlag)

{

// GAMI "47 41 4D 49"

case 0x494D4147:

Result=ReadIMAG(fp,unitFlag,unitSize);

break; // GEPJ "47 45 50 4A"

case 0x4A504547:

Result=ReadJPEG(fp,unitFlag,unitSize);

break; // KSAM "4B 53 41 4D"

case 0x4D41534B:

Result=ReadMASK(fp,unitFlag,unitSize);

break; // KOLB "4B 4F 4C 42"

case 0x424C4F4B:

Result=ReadBLOK(fp,unitFlag,unitSize);

break; // LLEC "4C 4C 45 43"

case 0x43454C4C:

Result=ReadCELL(fp,unitFlag,unitSize);

break; // GIRB "47 49 52 42"

case 0x42524947:

Result=ReadBRIG(fp,unitFlag,unitSize);

loop=false;

break; // 默认处理

default:

m_EndUnitFlag=unitFlag;

m_EndUnitSize=unitSize;

loop=false;

//printf("Flag错误!\n");

//printf("Flag=0x%X\n\n",unitFlag);

break;

//return false;

} }

fclose(fp);

}// 读取地图宽度

uint32 ReadGameMap::ReadMapWidth()

{

return m_MapWidth;

}// 读取地图高度

uint32 ReadGameMap::ReadMapHeight()

{

return m_MapHeight;

}// 读取子地图的宽度

uint32 ReadGameMap::ReadSubMapWidth()

{

return m_SubMapWidth;

}// 读取子地图的高度

uint32 ReadGameMap::ReadSubMapHeight()

{

return m_SubMapHeight;

}// 读取子地图的总数量

uint32 ReadGameMap::ReadSubMapTotal()

{

return m_SubMapTotal;

}// 读取子地图中Mask的总数

uint32 ReadGameMap::ReadMaskTotal()

{

return m_MaskNum;

}// 读取地图文件大小

uint32 ReadGameMap::ReadMapSize()

{

return m_MapSize;

}// 读取地图IMAG的数据

bool ReadGameMap::ReadIMAG(FILE fp, uint32 Flag, uint32 Size)

{

if (Flag==0x494D4147)

{

m_imagData = new uint8[Size]; // 分配单元数据的内存空间

fread(m_imagData,Size,1,fp); // 读取单元IMAG的数据

m_imagSize=Size;

//printf("IMAG的数据:\n");

//PrintHex(m_ImagData,Size);

}

else

{

printf("IMAG标志错误!\n");

return false;

}

return true;

}// 读取地图JPEG的数据

bool ReadGameMap::ReadJPEG(FILE fp, uint32 Flag, uint32 Size)

{

if (Flag==0x4A504547)

{

fread(&m_SubMapWidth,sizeof(uint16),1,fp); // 子地图的宽度

fread(&m_SubMapHeight,sizeof(uint16),1,fp); // 子地图的高度

m_jpegData = new uint8[Size-4]; // 分配单元数据的内存空间

fread(m_jpegData,Size-4,1,fp); // 读取单元JPEG的数据

m_jpegSize=Size;

//printf("JPEG的数据:\n");

//PrintHex(m_JpegData,Size-4);

}

else

{

printf("JPEG标志错误!\n");

return false;

} return true;

}// 读取地图MASK的数据

bool ReadGameMap::ReadMASK(FILE fp, uint32 Flag, uint32 Size)

{

if (Flag==0x4D41534B)

{

//printf("m_MaskTemp=%d\n",m_MaskTemp);

m_mask[m_MaskTemp]Data = new uint8[Size]; // 分配单元数据的内存空间

m_mask[m_MaskTemp]Size=Size;

fread(m_mask[m_MaskTemp]Data,Size,1,fp); // 读取单元MASK的数据

//printf("MASK的数据:\n");

//PrintHex(mask[m_MaskTemp]m_MaskData,Size); m_MaskTemp++;

}

else

{

printf("MASK标志错误!\n");

return false;

} return true;

}// 读取地图BLOK的数据

bool ReadGameMap::ReadBLOK(FILE fp, uint32 Flag, uint32 Size)

{

if (Flag==0x424C4F4B)

{

m_blokData = new uint8[Size]; // 分配单元数据的内存空间

fread(m_blokData,Size,1,fp); // 读取单元BLOK的数据

m_blokSize=Size;

//printf("BLOK的数据:\n");

//PrintHex(m_BlokData,Size);

}

else

{

printf("BLOK标志错误!\n");

return false;

} return true;

}// 读取地图CELL的数据

bool ReadGameMap::ReadCELL(FILE fp, uint32 Flag, uint32 Size)

{

if (Flag==0x43454C4C)

{

m_cellData = new uint8[Size]; // 分配单元数据的内存空间

fread(m_cellData,Size,1,fp); // 读取单元CELL的数据

m_cellSize=Size;

//printf("CELL的数据:\n");

//PrintHex(m_CellData,Size);

}

else

{

printf("CELL标志错误!\n");

return false;

} return true;

}// 读取地图BRIG的数据

bool ReadGameMap::ReadBRIG(FILE fp, uint32 Flag, uint32 Size)

{

if (Flag==0x42524947)

{

m_brigData = new uint8[Size]; // 分配单元数据的内存空间

fread(m_brigData,Size,1,fp); // 读取单元BRIG的数据

m_brigSize=Size;

//printf("BRIG的数据:\n");

//PrintHex(m_BirgData,Size);

}

else

{

printf("BRIG标志错误!\n");

return false;

} return true;

}// 读取JPGH的数据

MapData ReadGameMap::ReadJpghData()

{

return m_jpgh;

}// 读取HEAD的数据

MapData ReadGameMap::ReadHeadData()

{

return m_head;

}// 读取IMAG的数据

MapData ReadGameMap::ReadImagData()

{

return m_imag;

}// 读取JPEG的数据

MapData ReadGameMap::ReadJpegData()

{

return m_jpeg;

}

// 读取MASK的数据

MapData ReadGameMap::ReadMaskData(uint8 ID)

{

return m_mask[ID];

}

// 读取BLOK的数据

MapData ReadGameMap::ReadBlokData()

{

return m_blok;

}// 读取CELL的数据

MapData ReadGameMap::ReadCellData()

{

return m_cell;

}// 读取BRIG的数据

MapData ReadGameMap::ReadBrigData()

{

return m_brig;

}

人:

大唐DT

女儿NE

方寸FC

化生HS

龙宫LG

天宫TG

普陀PT

五庄观WZ

狮驼岭STL

魔王MW

盘丝PS

地府DF

一、平时使用快捷键

1、按键功能——按键方式

2、查看小地图——Tab键

3、打开物品栏——Alt+E

4、查看人物状态——Alt+W

5、查看好友列表——Alt+F

6、查看宠物状态——Alt+P

7、打开召唤兽列表——Alt+O

8、查看帮派——Alt+B

二、战斗使用

1、按键功能——按键方式

2、自动进行物理攻击——Alt+A

3、自动选择默认法术——Alt+S

4、自动使用默认法术——Alt+Q

5、打开法术列表——Alt+W

6、自动使用物品——Alt+R

7、防御——Alt+D

8、保护——Alt+T

9、捕捉——Alt+G

10、打开道具栏——Alt+E

扩展资料:

1、叠加NPC

发现叠在一起的NPC,如果需要点击NPC对话,可以先用Ctrl+鼠标左键点击叠加的NPC显示列表,再点击列表中名称即可。发现叠在一起的NPC,如果需要给予NPC物品,可以先用Ctrl+鼠标左键点击叠加的NPC显示列表,再使用给予快捷键(Alt+G)。

发现叠在一起的NPC,如果需要攻击NPC,可以先用Ctrl+鼠标左键点击叠加的NPC显示列表,再使用攻击快捷键(Alt+A)。

2、切换新旧物品栏:

点击物品栏左上角的“切换模式”可以在新旧物品栏之间方便的切换。

点击换装按钮的1、2、3可以在最多三套装备之间切换。

3、人物行走

在游戏画面中,玩家所控制的角色位于屏幕的中央附近。需要移动位置时,将鼠标停在想要走到的地方,点一下鼠标左键即可。也可以压下鼠标左键停留两秒钟,角色就会跟随鼠标的指向而移动。

梦幻西游-快捷键