仙魔无双SDK
面向策划逻辑制作的游戏开发包
场景相关操作

场景相关的操作接口,用于场景有关的逻辑,包括采集等 更多...

函数

int GetSceneTemplateID (FxCreature *pActor)
 返回角色pActor所在的场景的模板id。 更多...
 
FxScene * GetSceneByActor (FxCreature *pActor)
 返回角色pActor所在的场景对象。 更多...
 
FxScene * GetSceneByBaseID (unsigned long nBaseID)
 根据nBaseID返回场景对象。 更多...
 
FxScene * GetMainScene ()
 返回主场景对象。 其实是对GetSceneByBaseID( 3 )的封装,即ID为3的场景,是主场景。这样应用逻辑可以不关心主场景ID 更多...
 
int Dig (FxCreature *pActor, unsigned int dwPathPoint)
 角色pActor查询路点dwPathPoint的起始点和角色自身位置是否在10米以内 更多...
 
int CheckRegion (FxCreature *pActor, unsigned long nRegionID)
 查询角色pActor是否在区域nRegionID内。 更多...
 
int CheckRegionSafe (FxCreature *pActor)
 查询角色pActor是否在安全区域。 更多...
 
int CheckRegionStall (FxCreature *pActor)
 查询角色pActor是否在摆摊区域。 更多...
 
int TryEnterRegion (FxCreature *pActor)
 触发一次角色pActor进入当前所在区域的事件。导致相关区域的OnEnter事件触发 更多...
 
int RetryClientTrigger (FxCreature *pActor)
 请求角色pActor的客户端发起一次触发器检测 更多...
 
int AddTriggerToActor (FxCreature *pActor, unsigned long nTriggerID)
 请求在角色pActor身上创建一个触发器 更多...
 
int RemoveTriggerFromActor (FxCreature *pActor, unsigned long nTriggerID)
 请求在角色pActor身上移除一个触发器 更多...
 
int CallDiggingMonster (FxCreature *pActor, unsigned int dwMonsterId)
 角色pActor召唤挖宝怪物。 更多...
 
int PlayEffect (FxCreature *pActor, int nEffictId)
 角色pActor播放场景特效。 更多...
 
int AddSceneFlexibleStrArgvREQ (FxScene *pScene, const char *strArgvName, const char *defaultVal)
 添加文本类型场景灵活参数请求。 更多...
 
int AddSceneFlexibleNumArgvREQ (FxScene *pScene, const char *strArgvName, int defaultVal)
 添加数字类型场景灵活参数请求。 更多...
 
int CommitSceneFlexibleNumArgvREQ (FxScene *pScene)
 提交场景灵活参数请求。 更多...
 
int ModifySceneFlexibleStrArgv (FxScene *pScene, const char *strArgvName, const char *strArgvValue)
 修改文本类型场景灵活参数请求。 更多...
 
int ModifySceneFlexibleNumArgv (FxScene *pScene, const char *strArgvName, int nVal)
 修改数字类型场景灵活参数请求。 更多...
 
const char * GetSceneFlexibleStrArgv (FxScene *pScene, const char *strArgvName, const char *defaultVal)
 获取文本类型场景灵活参数 更多...
 
int GetSceneFlexibleNumArgv (FxScene *pScene, const char *strArgvName, int defaultVal)
 获取数字类型场景灵活参数 更多...
 
int CollectDoodad (FxCreature *pActor, unsigned long nDoodadID=0xFFFFFFFF)
 角色pActor采集场景中的物件。当nDoodadID为-1的时候,采集之前技能参数绑定的物件 更多...
 
int TripScene (FxCreature *pActor, unsigned long nSceneBaseID, int nPosX, int nPosY, int nPosZ=-1, float fOrientations=0.0f, unsigned int sceneCustomArg=0, unsigned int roleCustomArg1=0, unsigned int roleCustomArg2=0)
 角色pActor转跳场景的操作 更多...
 
int TripScene (FxCreature *pActor, unsigned long nTripID)
 角色pActor转跳场景的操作,按指定的trip点转跳 更多...
 
int TripScene (FxCreature *pActor, int nPosX, int nPosY, int nPosZ=-1)
 角色pActor的瞬间移动到当前场景指定的坐标[nPosX, nPosY, nPosZ]。在本场景内移动 更多...
 
int TripLastScene (FxCreature *pActor)
 角色pActor的拉到最后一次所在场景&副本 更多...
 
int TripSceneByTransfer (FxCreature *pActor, int nType, int nIndex)
 角色pActor用传送石的方式转跳场景 更多...
 
int TripSceneByTransfer (FxCreature *pActor)
 角色pActor用传送石的方式转跳场景 更多...
 
int Teleport (FxCreature *pActor, int nPosX, int nPosY, int nPosZ=-1)
 角色pActor本场景内移动 更多...
 
int OpenFixedTransferPoint (FxCreature *pActor, unsigned long nPointID)
 给角色pActor开启固定传送点 更多...
 
int FindFixedTransferPoint (FxCreature *pActor, unsigned long nPointID)
 查询角色pActor是否已经开启固定传送点nPointID 更多...
 
int GetTransferParam_Index (FxCreature *pActor)
 获取角色pActor的传送石参数:传送点索引 更多...
 
int GetTransferParam_Type (FxCreature *pActor)
 获取角色pActor的传送石参数:传送方式 更多...
 
int GetTransferPower (FxCreature *pActor)
 获取角色pActor的传送灵能 更多...
 
int GetSceneParam_DenyMount (FxCreature *pActor)
 获取角色pActor所在的场景的参数:禁止骑乘 更多...
 
int GetSceneCustomData (FxScene *pScene)
 获取场景&副本自定义数据 更多...
 
int GetSceneCustomData_Guild1ID (FxScene *pScene)
 获取场景&副本自定义数据 第一个公会ID号 更多...
 
int GetSceneCustomData_Guild2ID (FxScene *pScene)
 获取场景&副本自定义数据 第二个公会ID号 更多...
 
ETollgateLvl GetSceneCustomData_TollgateLvl (FxScene *pScene)
 获取场景&副本自定义数据 关卡难度 更多...
 
unsigned int GetRoleSceneWinCnt (unsigned long dwRoleObjID, unsigned short nBaseSceneID)
 获取角色副本胜利次数 更多...
 
unsigned int AddRoleSceneWinCnt (unsigned long dwRoleObjID)
 角色副本胜利加1 更多...
 
unsigned int GetRoleSceneLvlWinCnt (unsigned long dwRoleObjID, unsigned short nBaseSceneID, ETollgateLvl eLvl)
 获取角色副本不同难度的胜利次数 更多...
 
unsigned int AddRoleSceneLvlWinCnt (unsigned long dwRoleObjID)
 角色副本不同难度胜利加1 更多...
 
bool OpenTollgates (FxCreature *pRoleActor, unsigned int nSeriesID)
 打开关卡系列信息 更多...
 
int GetActorsInRing1 (FxScene *pScene, const Utility::Vector3 &pos, int nInterRadius, int nOutRadius, unsigned short nCount, std::vector< FxCreature *> &vecCreature)
 获取圆环范围内制定上限数量的Actors 更多...
 
int GetActorsInRing2 (FxCreature *pSrcActor, int nInterRadius, int nOutRadius, unsigned short nCount, std::vector< FxCreature *> &vecCreature)
 获取圆环范围内制定上限数量的Actors 更多...
 
std::vector< FxCreature * > & GetActorsInRingByActor1 (FxScene *pScene, const Utility::Vector3 &pos, int nInterRadius, int nOutRadius, unsigned short nCount, FxCreature *pSrcCheckActor, bool bEnemyOnly)
 获取圆环范围内制定上限数量的Actors,并且根据Actor自身的立场进行一些剔除 更多...
 
std::vector< FxCreature * > & GetActorsInRingByActor2 (FxCreature *pSrcActor, int nInterRadius, int nOutRadius, unsigned short nCount, FxCreature *pSrcCheckActor, bool bEnemyOnly)
 获取圆环范围内制定上限数量的Actors,并且根据Actor自身的立场进行一些剔除 更多...
 
int GetDistanceBetween2Actors (FxCreature *pActor1, FxCreature *pActor2)
 获取两个角色之间的距离,单位厘米 更多...
 
unsigned int GetActorRegionID (FxCreature *pCreature)
 获取角色pCreature所在区域的ID 更多...
 
unsigned int GetRoleCntInScene (FxScene *pScene)
 获得当前场景人数 更多...
 

详细描述

场景相关的操作接口,用于场景有关的逻辑,包括采集等

函数说明

◆ AddRoleSceneLvlWinCnt()

unsigned int AddRoleSceneLvlWinCnt ( unsigned long  dwRoleObjID)

角色副本不同难度胜利加1

作者
乔荣生
参数
dwRoleObjID[整数] 角色的对象ID
返回
[整数] 返回角色一共胜利了多少次

◆ AddRoleSceneWinCnt()

unsigned int AddRoleSceneWinCnt ( unsigned long  dwRoleObjID)

角色副本胜利加1

作者
乔荣生
参数
dwRoleObjID[整数] 角色的对象ID
返回
[整数] 返回角色一共胜利了多少次

◆ AddSceneFlexibleNumArgvREQ()

int AddSceneFlexibleNumArgvREQ ( FxScene *  pScene,
const char *  strArgvName,
int  defaultVal 
)

添加数字类型场景灵活参数请求。

参数
pScene场景
strArgvName[文本] 参数名
返回
[整数] 返回的结果
返回值
1成功
0失败

◆ AddSceneFlexibleStrArgvREQ()

int AddSceneFlexibleStrArgvREQ ( FxScene *  pScene,
const char *  strArgvName,
const char *  defaultVal 
)

添加文本类型场景灵活参数请求。

参数
pScene场景
strArgvName[文本] 参数名
返回
[整数] 返回的结果
返回值
1成功
0失败

◆ AddTriggerToActor()

int AddTriggerToActor ( FxCreature *  pActor,
unsigned long  nTriggerID 
)

请求在角色pActor身上创建一个触发器

参数
pActor[角色] 角色对象。
nTriggerID[整数] 触发器模板ID。
返回
[整数] 忽略

◆ CallDiggingMonster()

int CallDiggingMonster ( FxCreature *  pActor,
unsigned int  dwMonsterId 
)

角色pActor召唤挖宝怪物。

参数
pActor[角色] 角色对象。
dwMonsterId[整数] 要召唤的怪物ID
返回
[整数] 返回的结果
返回值
1角色在这个区域内
0角色不在这个区域内

◆ CheckRegion()

int CheckRegion ( FxCreature *  pActor,
unsigned long  nRegionID 
)

查询角色pActor是否在区域nRegionID内。

参数
pActor[角色] 角色对象。
nRegionID[整数] 要查询的区域ID
返回
[整数] 返回的结果
返回值
1角色在这个区域内
0角色不在这个区域内

◆ CheckRegionSafe()

int CheckRegionSafe ( FxCreature *  pActor)

查询角色pActor是否在安全区域。

参数
pActor[角色] 角色对象。
返回
[整数] 返回的结果
返回值
1角色在安全区域内
0角色不在安全区域内

◆ CheckRegionStall()

int CheckRegionStall ( FxCreature *  pActor)

查询角色pActor是否在摆摊区域。

参数
pActor[角色] 角色对象。
返回
[整数] 返回的结果
返回值
1角色在摆摊区域内
0角色不在摆摊区域内

◆ CollectDoodad()

int CollectDoodad ( FxCreature *  pActor,
unsigned long  nDoodadID = 0xFFFFFFFF 
)

角色pActor采集场景中的物件。当nDoodadID为-1的时候,采集之前技能参数绑定的物件

参数
pActor[角色] 角色对象。
nDoodadID[整数] 采集物件的实例ID,默认-1。
返回
[整数] 采集的结果
返回值
1采集成功
0采集失败
注解
当nDoodadID为-1的时候,会按照采集流程走,即提前设置了要采集的对象ID。框架内实现。

◆ CommitSceneFlexibleNumArgvREQ()

int CommitSceneFlexibleNumArgvREQ ( FxScene *  pScene)

提交场景灵活参数请求。

参数
pScene场景
返回
[整数] 返回的结果
返回值
1成功
0失败

◆ Dig()

int Dig ( FxCreature *  pActor,
unsigned int  dwPathPoint 
)

角色pActor查询路点dwPathPoint的起始点和角色自身位置是否在10米以内

参数
pActor[角色] 角色对象。
dwPathPoint[整数] 路点ID。
返回
[整数] 距离是否合法
返回值
1距离合法
0距离不合法

◆ FindFixedTransferPoint()

int FindFixedTransferPoint ( FxCreature *  pActor,
unsigned long  nPointID 
)

查询角色pActor是否已经开启固定传送点nPointID

参数
pActor[角色] 角色对象。
nPointID[整数] 传送点ID。
返回
[整数] 是否已经开启
返回值
0未开启
1已经开启

◆ GetActorRegionID()

unsigned int GetActorRegionID ( FxCreature *  pCreature)

获取角色pCreature所在区域的ID

参数
pCreature[角色] 角色对象
返回
[整数] 区域的ID
返回值
0没有这个区域
其他区域的ID

◆ GetActorsInRing1()

int GetActorsInRing1 ( FxScene *  pScene,
const Utility::Vector3 &  pos,
int  nInterRadius,
int  nOutRadius,
unsigned short  nCount,
std::vector< FxCreature *> &  vecCreature 
)

获取圆环范围内制定上限数量的Actors

参数
pScene[场景] 场景。
pos[3维坐标] 中心点位置。
nInterRadius[整数] 里圈半径。
nOutRadius[整数] 外圈半径。
nCount[整数] 获取人员的数目上限
vecCreature[数组] 取出的Creatures
返回
[整数] 数组vecCreature中角色的个数
待办事项:
应该设计成eEnemy eAlliance eXX等组成的eMask,而不是Enemy,先实现之。
注解
5005 蛮石击 对附近5码内 5个目标造成X武器伤害+Y物理攻击伤害+Z点伤害,并使目标眩晕A秒

◆ GetActorsInRing2()

int GetActorsInRing2 ( FxCreature *  pSrcActor,
int  nInterRadius,
int  nOutRadius,
unsigned short  nCount,
std::vector< FxCreature *> &  vecCreature 
)

获取圆环范围内制定上限数量的Actors

参数
pSrcActor[角色] 以那个Actor为中心,进行检测
nInterRadius[整数] 里圈半径。
nOutRadius[整数] 外圈半径。
nCount[整数] 获取人员的数目上限。
vecCreature[数组] 取出的Creatures
返回
[整数] 数组vecCreature中角色的个数
注解
5005 蛮石击 对附近5码内 5个目标造成X武器伤害+Y物理攻击伤害+Z点伤害,并使目标眩晕A秒

◆ GetActorsInRingByActor1()

std::vector<FxCreature*>& GetActorsInRingByActor1 ( FxScene *  pScene,
const Utility::Vector3 &  pos,
int  nInterRadius,
int  nOutRadius,
unsigned short  nCount,
FxCreature *  pSrcCheckActor,
bool  bEnemyOnly 
)

获取圆环范围内制定上限数量的Actors,并且根据Actor自身的立场进行一些剔除

参数
pScene[场景] 场景。
pos[3维坐标] 中心点位置。
nInterRadius[整数] 里圈半径。
nOutRadius[整数] 外圈半径。
nCount[整数] 获取人员的数目上限
pSrcCheckActor[整数] 需要检测的Actor对象
bEnemyOnly[布尔] 是否指针对敌人
返回
[数组] 查找到的角色对象数组
注解
仅仅为了策划方便,其实应该直接使用GetActorsInRing

◆ GetActorsInRingByActor2()

std::vector<FxCreature*>& GetActorsInRingByActor2 ( FxCreature *  pSrcActor,
int  nInterRadius,
int  nOutRadius,
unsigned short  nCount,
FxCreature *  pSrcCheckActor,
bool  bEnemyOnly 
)

获取圆环范围内制定上限数量的Actors,并且根据Actor自身的立场进行一些剔除

参数
pSrcActor[角色] 以那个Actor为中心,进行检测
nInterRadius[整数] 里圈半径。
nOutRadius[整数] 外圈半径。
nCount[整数] 获取人员的数目上限。
pSrcCheckActor[整数] 需要检测的Actor对象
bEnemyOnly[布尔] 是否指针对敌人
返回
[数组] 查找到的角色对象数组
注解
仅仅为了策划方便,其实应该直接使用GetActorsInRing

◆ GetDistanceBetween2Actors()

int GetDistanceBetween2Actors ( FxCreature *  pActor1,
FxCreature *  pActor2 
)

获取两个角色之间的距离,单位厘米

参数
pActor1[角色] 第一个角色。
pActor2[角色] 第二个角色。
返回
[整数] 两个角色之间的距离,单位厘米
返回值
-1输入参数非法,例如两个角色无效,或者是同一个角色
其他两个角色之间的距离

◆ GetMainScene()

FxScene* GetMainScene ( )

返回主场景对象。 其实是对GetSceneByBaseID( 3 )的封装,即ID为3的场景,是主场景。这样应用逻辑可以不关心主场景ID

返回
[场景] 查找到的场景对象
返回值
nil不存在这个场景实例
其他返回的场景对象

◆ GetRoleCntInScene()

unsigned int GetRoleCntInScene ( FxScene *  pScene)

获得当前场景人数

参数
pScene竞技场所在场景

◆ GetRoleSceneLvlWinCnt()

unsigned int GetRoleSceneLvlWinCnt ( unsigned long  dwRoleObjID,
unsigned short  nBaseSceneID,
ETollgateLvl  eLvl 
)

获取角色副本不同难度的胜利次数

作者
乔荣生
参数
dwRoleObjID[整数] 角色的对象ID
nBaseSceneID[整数] 场景BaseID
eLvl[ETollgateLvl] 关卡难度
返回
[整数] 返回角色在特定副本特定难度中一共胜利了多少次

◆ GetRoleSceneWinCnt()

unsigned int GetRoleSceneWinCnt ( unsigned long  dwRoleObjID,
unsigned short  nBaseSceneID 
)

获取角色副本胜利次数

作者
乔荣生
参数
dwRoleObjID[整数] 角色的对象ID
nBaseSceneID[整数] 场景BaseID
返回
[整数] 角色在此副本中的胜利次数

◆ GetSceneByActor()

FxScene* GetSceneByActor ( FxCreature *  pActor)

返回角色pActor所在的场景对象。

参数
pActor[角色] 要查找场景的角色。
返回
[场景] 查找到的场景对象
返回值
nil没有找到场景
其他角色所在的场景对象
注解
参照Skill_3101.lua。放在这里的原因是,其实是一个场景操作,而不是角色。

◆ GetSceneByBaseID()

FxScene* GetSceneByBaseID ( unsigned long  nBaseID)

根据nBaseID返回场景对象。

参数
nBaseID[整数] 要查找场景的ID.
返回
[场景] 查找到的场景对象
返回值
nil不存在这个场景实例
其他返回的场景对象

◆ GetSceneCustomData()

int GetSceneCustomData ( FxScene *  pScene)

获取场景&副本自定义数据

作者
乔荣生
参数
pScene[场景] 场景对象
返回
[整数] 自定义数据

◆ GetSceneCustomData_Guild1ID()

int GetSceneCustomData_Guild1ID ( FxScene *  pScene)

获取场景&副本自定义数据 第一个公会ID号

作者
乔荣生
参数
pScene[场景] 场景对象
返回
[整数] 第一个公会ID号

◆ GetSceneCustomData_Guild2ID()

int GetSceneCustomData_Guild2ID ( FxScene *  pScene)

获取场景&副本自定义数据 第二个公会ID号

作者
乔荣生
参数
pScene[场景] 场景对象
返回
[整数] 第二个公会ID号

◆ GetSceneCustomData_TollgateLvl()

ETollgateLvl GetSceneCustomData_TollgateLvl ( FxScene *  pScene)

获取场景&副本自定义数据 关卡难度

作者
乔荣生
参数
pScene[场景] 场景对象
返回
[整数] 关卡难度,ETollgateLvl中定义

◆ GetSceneFlexibleNumArgv()

int GetSceneFlexibleNumArgv ( FxScene *  pScene,
const char *  strArgvName,
int  defaultVal 
)

获取数字类型场景灵活参数

参数
pScene场景
strArgvName[文本] 参数名
返回
[整数] 参数值

◆ GetSceneFlexibleStrArgv()

const char* GetSceneFlexibleStrArgv ( FxScene *  pScene,
const char *  strArgvName,
const char *  defaultVal 
)

获取文本类型场景灵活参数

参数
pScene场景
strArgvName[文本] 参数名
返回
[文本] 参数值

◆ GetSceneParam_DenyMount()

int GetSceneParam_DenyMount ( FxCreature *  pActor)

获取角色pActor所在的场景的参数:禁止骑乘

参数
pActor[角色] 角色对象
返回
[整数] 是否禁止骑乘

◆ GetSceneTemplateID()

int GetSceneTemplateID ( FxCreature *  pActor)

返回角色pActor所在的场景的模板id。

参数
pActor[角色] 要查找场景的角色。
返回
[场景] 查找到的场景的模板id
返回值
0没有找到场景的模板id
其他角色所在的场景的模板id

◆ GetTransferParam_Index()

int GetTransferParam_Index ( FxCreature *  pActor)

获取角色pActor的传送石参数:传送点索引

参数
pActor[角色] 角色对象。
返回
[整数] 传送点索引
返回值
-1失败,角色为空,或者角色非玩家
其他传送点索引
注解
没有提供SetTransferParam_Index的原因是,这个数值是框架自动设置的。响应事件的时候只需要获取。

◆ GetTransferParam_Type()

int GetTransferParam_Type ( FxCreature *  pActor)

获取角色pActor的传送石参数:传送方式

参数
pActor[角色] 角色对象。
返回
[整数] 传送方式
返回值
-1失败,角色为空,或者角色非玩家
0自定义传送点
1固定传送点
注解
没有提供SetTransferParam_Type的原因是,这个数值是框架自动设置的。响应事件的时候只需要获取。

◆ GetTransferPower()

int GetTransferPower ( FxCreature *  pActor)

获取角色pActor的传送灵能

参数
pActor[角色] 角色对象。
返回
[整数] 传送灵能
注解
是当前灵能与存储灵能的总和。非玩家对象返回0

◆ ModifySceneFlexibleNumArgv()

int ModifySceneFlexibleNumArgv ( FxScene *  pScene,
const char *  strArgvName,
int  nVal 
)

修改数字类型场景灵活参数请求。

参数
pScene场景
strArgvName[文本] 参数名
返回

◆ ModifySceneFlexibleStrArgv()

int ModifySceneFlexibleStrArgv ( FxScene *  pScene,
const char *  strArgvName,
const char *  strArgvValue 
)

修改文本类型场景灵活参数请求。

参数
pScene场景
strArgvName[文本] 参数名
strArgvValue[文本] 参数名
返回

◆ OpenFixedTransferPoint()

int OpenFixedTransferPoint ( FxCreature *  pActor,
unsigned long  nPointID 
)

给角色pActor开启固定传送点

参数
pActor[角色] 角色对象。
nPointID[整数] 传送点ID。
返回
[整数] 忽略

◆ OpenTollgates()

bool OpenTollgates ( FxCreature *  pRoleActor,
unsigned int  nSeriesID 
)

打开关卡系列信息

作者
乔荣生
参数
pRoleActor[角色] 角色对象
nSeriesID[整数] 关卡ID号
返回
[布尔] 是否成功

◆ PlayEffect()

int PlayEffect ( FxCreature *  pActor,
int  nEffictId 
)

角色pActor播放场景特效。

参数
pActor[角色] 角色对象。
nEffictId[整数] 要播放的特效ID
返回
[整数] 返回的结果
返回值
1角色在这个区域内
0角色不在这个区域内

◆ RemoveTriggerFromActor()

int RemoveTriggerFromActor ( FxCreature *  pActor,
unsigned long  nTriggerID 
)

请求在角色pActor身上移除一个触发器

参数
pActor[角色] 角色对象。
nTriggerID[整数] 触发器模板ID。
返回
[整数] 忽略

◆ RetryClientTrigger()

int RetryClientTrigger ( FxCreature *  pActor)

请求角色pActor的客户端发起一次触发器检测

参数
pActor[角色] 角色对象。
返回
[整数] 忽略

◆ Teleport()

int Teleport ( FxCreature *  pActor,
int  nPosX,
int  nPosY,
int  nPosZ = -1 
)

角色pActor本场景内移动

参数
pActor[角色] 角色对象。
返回
[整数] 转跳的结果
返回值
0转跳失败,例如角色为空
1成功
注解
这个版本的API,实现中会自动通过GetTransferParam_Index和GetTransferParam_Type获取所需信息

◆ TripLastScene()

int TripLastScene ( FxCreature *  pActor)

角色pActor的拉到最后一次所在场景&副本

参数
pActor[角色] 角色对象。
返回
[整数] 转跳的结果
返回值
0转跳失败,例如场景为空
1成功

◆ TripScene() [1/3]

int TripScene ( FxCreature *  pActor,
unsigned long  nSceneBaseID,
int  nPosX,
int  nPosY,
int  nPosZ = -1,
float  fOrientations = 0.0f,
unsigned int  sceneCustomArg = 0,
unsigned int  roleCustomArg1 = 0,
unsigned int  roleCustomArg2 = 0 
)

角色pActor转跳场景的操作

参数
pActor[角色] 角色对象。
nSceneBaseID[整数] 场景的BaseID,例如主场景是3,等。
nPosX[整数] 要去的坐标点X
nPosY[整数] 要去的坐标点Y
nPosZ[整数] 要去的坐标点Z,默认-1
fOrientations[浮点] 转跳之后的朝向,默认0.0f
sceneCustomArg[附带] 附带的信息参数,默认0
roleCustomArg1[附带] 附带的信息参数,默认0
roleCustomArg2[附带] 附带的信息参数,默认0
返回
[整数] 转跳的结果
返回值
1转跳成功
0转跳失败

◆ TripScene() [2/3]

int TripScene ( FxCreature *  pActor,
unsigned long  nTripID 
)

角色pActor转跳场景的操作,按指定的trip点转跳

参数
pActor[角色] 角色对象。
nTripID[整数] 转跳点ID。
返回
[整数] 转跳的结果
返回值
1转跳成功
0转跳失败

◆ TripScene() [3/3]

int TripScene ( FxCreature *  pActor,
int  nPosX,
int  nPosY,
int  nPosZ = -1 
)

角色pActor的瞬间移动到当前场景指定的坐标[nPosX, nPosY, nPosZ]。在本场景内移动

参数
pActor[角色] 角色对象。
nPosX[整数] 坐标X
nPosY[整数] 坐标Y
nPosZ[整数] 坐标Z
返回
[整数] 转跳的结果
返回值
0转跳失败,例如场景为空
1成功
注解
无朝向参数,是因为移动但是不转朝向

◆ TripSceneByTransfer() [1/2]

int TripSceneByTransfer ( FxCreature *  pActor,
int  nType,
int  nIndex 
)

角色pActor用传送石的方式转跳场景

参数
pActor[角色] 角色对象。
nType[整数] 传送方式,0:自定义传送;1:固定点传送。
nIndex[整数] 传送点索引。
返回
[整数] 转跳的结果
返回值
0转跳失败,例如场景为空
1成功
注解
这两个参数可以通过GetTransferParam_Index和GetTransferParam_Type获取。框架会自动设置。

◆ TripSceneByTransfer() [2/2]

int TripSceneByTransfer ( FxCreature *  pActor)

角色pActor用传送石的方式转跳场景

参数
pActor[角色] 角色对象。
返回
[整数] 转跳的结果
返回值
0转跳失败,例如场景为空
1成功
注解
这个版本的API,实现中会自动通过GetTransferParam_Index和GetTransferParam_Type获取所需信息

◆ TryEnterRegion()

int TryEnterRegion ( FxCreature *  pActor)

触发一次角色pActor进入当前所在区域的事件。导致相关区域的OnEnter事件触发

参数
pActor[角色] 角色对象。
返回
[整数] 忽略
注解
之所以函数名有个Try,是因为,这只是逻辑上尝试一次重新进入此区域而已,并不会导致任何真实的位移。