Ini文件在蓝色BLUE传奇引擎中扮演着重要角色,它包含了游戏中各种实体的配置信息。其中,NPC(Non-Player Character,非玩家角色)是游戏中的重要元素之一。本文将详细介绍使用Ini文件进行高效率NPC操作的命令说明。
在蓝色BLUE传奇引擎中,NPC扮演着各种角色,如商人、任务发布者、敌对生物等。通过Ini文件,我们可以在游戏中快速、灵活地操控和调整NPC的行为和属性。以下是一些常用的NPC操作命令,让我们一起来了解吧!
创建NPC: 在Ini文件中,你可以使用以下命令来创建一个新的NPC: [NPC_名称] id=ID号 type=类型 position=坐标位置 …
其中,[NPC_名称]是你给NPC的命名,ID号是该NPC的唯一标识符,类型指定了NPC的种类(例如商人、守卫、任务NPC等),position表示该NPC所在的坐标位置。根据需要,你可以在该段落下添加更多的属性和行为。
设置NPC行为: 可以使用下述命令设置NPC的行为和动作: behavior=行为 action=动作 …
行为可以设置NPC的基本行为模式,如巡逻、待机、攻击等。动作则指定了NPC在游戏中的具体动作,如站立、走动、攻击等。通过调整这些属性,你可以使NPC展现出各种不同的行为。
设定NPC属性: 你可以使用以下命令来设定NPC的属性: level=等级 health=生命值 damage=攻击力 …
通过设定NPC的等级、生命值、攻击力等属性,你可以调整NPC在游戏中的强度和能力。这样可以实现更加灵活的游戏平衡和难度设定。
添加NPC对话: NPC通常与玩家进行交互,可以使用以下命令添加NPC的对话内容: [对话ID_1] content=对话内容1 [对话ID_2] content=对话内容2 …
你可以在Ini文件中为每个NPC定义多个对话ID,并在对应的对话ID下添加对话内容。这样,在游戏中点击相应NPC时,就会触发相应的对话内容,提供了更丰富的游戏交互体验。
新INI功能示范脚本
高效率的Ini文件NPC操作命令说明:
全服自定义排行榜.ini
INI内容
[鲜花] ;全服自定义排行榜.ini=文件;[鲜花]=节 ;bluem2 =键 ;100=值
bluem2=100
网易=100
百度=100
如果手动修改ini内容后,请使用命令,INI_RELOAD 文件 //重新加载文件,可以用于手动修改了文本文件的情况下。
示例脚本:以下脚本只是演示,请GM自行完善
注:脚本使用的是S1-S20 M1-M20的个人变量,如果你的版本里有,请自行修改。
[@main]
<排序鲜花的排名(名字+数值)/@Get> <排序鲜花的排名(名字)/@GetEx>\\
<检查鲜花的排名(名字)/@Get1>\\
<清理鲜花数据/@INI_CLEAR_SECTION>\\
<关闭/@exit >
[@Get1]
#IF
EQUAL S1 <$USERNAME>
#ACT
MessageBox 目前你排名一号。
BREAK
#IF
EQUAL S2 <$USERNAME>
#ACT
MessageBox 目前你排名第二。
BREAK
#IF
EQUAL S3 <$USERNAME>
#ACT
MessageBox 目前你排名第三。
BREAK
#IF
EQUAL S4 <$USERNAME>
#ACT
MessageBox 目前你排名第四。
BREAK
#IF
EQUAL S5 <$USERNAME>
#ACT
MessageBox 目前你排名第五。
BREAK
#IF
EQUAL S6 <$USERNAME>
#ACT
MessageBox 目前你排名第六。
BREAK
#IF
EQUAL S7 <$USERNAME>
#ACT
MessageBox 目前你排名第七。
BREAK
#IF
EQUAL S8 <$USERNAME>
#ACT
MessageBox 目前你排名第八。
BREAK
#IF
EQUAL S9 <$USERNAME>
#ACT
MessageBox 目前你排名第九。
BREAK
#IF
EQUAL S10 <$USERNAME>
#ACT
MessageBox 目前你排名第十。
BREAK
#ELSEACT
MessageBox 榜上无名,请再接再厉。
BREAK
[@INI_CLEAR_SECTION]
#IF
CHECKLEVELEX > 0
#ACT
INI_CLEAR_SECTION ..\QuestDiary\功能脚本\全服自定义排行榜.ini 鲜花
INI_SAVE ..\QuestDiary\功能脚本\全服自定义排行榜.ini
INI_SORT_DELETE INI_排名__鲜花_IV
SENDMSG 5 清楚鲜花数据成功。
[@Get]
#IF
CHECKLEVELEX > 0
#ACT
INI_SORT_READ_SECTION_VALUES ..\QuestDiary\功能脚本\全服自定义排行榜.ini 鲜花 1 1 1 INI_排名__鲜花_IV 0
INI_SORT_SECTION_VALUES_COUNT INI_排名__鲜花_IV D0
;SENDMSG 5 获取到排行数据:<$STR(D0)>条
#IF
LARGE D0 1
#ACT
INI_SORT_GET_SECTION_STRING INI_排名__鲜花_IV S0
;;P0用于限制可以的排名次数
MOV P0 1
;;S92用于累计排名,#ELSESAY的显示调用
MOV S92
SENDMSG 5 正在计算排名,请稍后。。。
DELAYGOTO 1 @GetIdentValueLoop
#ELSEACT
MessageBox 目前没有数据。
BREAK
;按顺序获取排行字符串(IDENT_VALUE)到S1~S20
[@GetIdentValueLoop]
#IF
LARGE D0 1
SMALL P0 10
#ACT
MOV S90 S
INC S90 <$STR(P0)>
INC S92 <COLOR=clYellow>
INC S92
INC S92 <$STR(P0)>、
INC S92 <COLOR=$F7FFFF>
INI_SORT_GET_IDENT_VALUE_STRING INI_排名__鲜花_IV <$STR(P0)> <$STR(S90)>
MOV S91 <$STR(S
INC S91 <$STR(P0)>
INC S91 )>
INC S92 <$STR(S91)>
INC S92 \
;SENDMSG 5 排名<$STR(P0)>:<$STR(S91)>
DEC D0 1
INC P0 1
DELAYGOTO 1 @GetIdentValueLoop
#SAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@exit>
#ACT
BREAK
#IF
LARGE D0 1
LARGE P0 9
SMALL P0 21
#ACT
MOV S90 S
INC S90 <$STR(P0)>
INC S92 <COLOR=clYellow>
INC S92 <$STR(P0)>、
INC S92 <COLOR=$F7FFFF>
INI_SORT_GET_IDENT_VALUE_STRING INI_排名__鲜花_IV <$STR(P0)> <$STR(S90)>
MOV S91 <$STR(S
INC S91 <$STR(P0)>
INC S91 )>
INC S92 <$STR(S91)>
INC S92 \
;SENDMSG 5 排名<$STR(P0)>:<$STR(S91)>
DEC D0 1
INC P0 1
DELAYGOTO 1 @GetIdentValueLoop
#SAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@exit>
#ELSESAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@exit>
#ELSEACT
SENDMSG 5 鲜花排名完毕。
BREAK
[@GetEx]
#IF
CHECKLEVELEX > 0
#ACT
INI_RELOAD ..\QuestDiary\功能脚本\全服自定义排行榜.ini
INI_SORT_READ_SECTION_VALUES ..\QuestDiary\功能脚本\全服自定义排行榜.ini 鲜花 1 1 1 INI_排名__鲜花_IVEX 0
INI_SORT_SECTION_VALUES_COUNT INI_排名__鲜花_IVEX D0
;SENDMSG 5 获取鲜花排行数据:<$STR(D0)>条
#IF
LARGE D0 1
#ACT
INI_SORT_GET_SECTION_STRING INI_排名__鲜花_IVEX S0
;;P0用于限制可以的排名次数
MOV P0 1
;;S92用于累计排名,#ELSESAY的显示调用
MOV S92
SENDMSG 5 正在计算排名,请稍后。。。
DELAYGOTO 1 @GetIdentValueLoopEx
BREAK
#ELSEACT
MessageBox 目前没有数据。
BREAK
;按顺序获取排行,分别获取IDENT和VALUE到S1~S20
[@GetIdentValueLoopEx]
#IF
LARGE D0 1
SMALL P0 10
#ACT
MOV S90 S
INC S90 <$STR(P0)>
MOV S95 M
INC S95 <$STR(P0)>
INC S92 <COLOR=clYellow>
INC S92
INC S92 <$STR(P0)>、
INC S92 <COLOR=$F7FFFF>
INI_SORT_GET_IDENT_STRING INI_排名__鲜花_IVEX <$STR(P0)> <$STR(S90)>
INI_SORT_GET_VALUE_INTEGER INI_排名__鲜花_IVEX <$STR(P0)> <$STR(S95)>
MOV S91 <$STR(S
INC S91 <$STR(P0)>
INC S91 )>
MOV S93 <$STR(M
INC S93 <$STR(P0)>
INC S93 )>
INC S92 <$STR(S91)>
INC S92 ” ”
INC S92 ” 鲜花数:”
INC S92 <$STR(S93)>
INC S92 ” ”
INC S92 \
;;SENDMSG 5 排名<$STR(P0)>:<$STR(S91)>
DEC D0 1
INC P0 1
DELAYGOTO 1 @GetIdentValueLoopEx
#SAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@exit>
#ACT
BREAK
#IF
LARGE D0 1
LARGE P0 9
SMALL P0 23
#ACT
MOV S90 S
INC S90 <$STR(P0)>
MOV S95 M
INC S95 <$STR(P0)>
INC S92 <COLOR=clYellow>
INC S92 <$STR(P0)>、
INC S92 <COLOR=$F7FFFF>
INI_SORT_GET_IDENT_STRING INI_排名__鲜花_IVEX <$STR(P0)> <$STR(S90)>
INI_SORT_GET_VALUE_INTEGER INI_排名__鲜花_IVEX <$STR(P0)> <$STR(S95)>
MOV S91 <$STR(S
INC S91 <$STR(P0)>
INC S91 )>
MOV S93 <$STR(M
INC S93 <$STR(P0)>
INC S93 )>
INC S92 <$STR(S91)>
INC S92 ” ”
INC S92 ” 鲜花数:”
INC S92 <$STR(S93)>
INC S92 ” ”
INC S92 \
;;SENDMSG 5 排名<$STR(P0)>:<$STR(S91)>
DEC D0 1
INC P0 1
DELAYGOTO 1 @GetIdentValueLoopEx
#SAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@exit>
#ELSESAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@exit>
#ELSEACT
SENDMSG 5 鲜花排名完毕。
BREAK