添加示例项目
This commit is contained in:
11
示例项目/心悦播报/Proj.ifo
Normal file
11
示例项目/心悦播报/Proj.ifo
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"ProjectName": "心悦播报",
|
||||
"ProjectDescribe": "登录时根据完成的心悦任务对应等级播报不同的提示",
|
||||
"ProjectAuthor": "南瓜",
|
||||
"ProjectVersion": 1.0,
|
||||
"ProjectConfig": "心悦播报配置_Nangua.json",
|
||||
"ProjectFiles": [
|
||||
"心悦播报.nut"
|
||||
],
|
||||
"ProjectRunFunc": "_Dps_LoginByXY_Main_"
|
||||
}
|
||||
45
示例项目/心悦播报/心悦播报.nut
Normal file
45
示例项目/心悦播报/心悦播报.nut
Normal file
@@ -0,0 +1,45 @@
|
||||
function _Dps_LoginByXY_Main_() {
|
||||
Cb_reach_game_world_Func.LoginByXy <- function(SUser) {
|
||||
local Config = GlobalConfig.Get("心悦播报配置_Nangua.json");
|
||||
local quest = SUser.GetQuest(); // 获取任务对象
|
||||
local WongWork_CQuestClear = NativePointer(quest).add(4);
|
||||
local highestRank = 0;
|
||||
local highestRankConfig = null;
|
||||
foreach(taskConfig in Config["心悦播报配置"]["任务等级配置"]) {
|
||||
local isCleared = _LoginBynangua.isClearedQuest(WongWork_CQuestClear.C_Object, taskConfig["任务ID"]);
|
||||
if (isCleared && taskConfig["心悦等级"] > highestRank) {
|
||||
highestRank = taskConfig["心悦等级"];
|
||||
highestRankConfig = taskConfig;
|
||||
}
|
||||
}
|
||||
|
||||
local config = Config["心悦播报配置"]["心悦会员登录播报"];
|
||||
if (highestRank > 0 && config["开关(true为开启,false为关闭)"]) {
|
||||
Timer.SetTimeOut(function(SUser, config, highestRankConfig) {
|
||||
_LoginBynangua.VIP_LoginBynangua(SUser, config, highestRankConfig);
|
||||
}, 1, SUser, config, highestRankConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//心悦会员登录播报
|
||||
class _LoginBynangua {
|
||||
function VIP_LoginBynangua(SUser, config, rankConfig) {
|
||||
local LoginMsgObj = AdMsg();
|
||||
LoginMsgObj.PutType(config["信息播报发送位置"]);
|
||||
if (config["信息播报发送位置"] != 14) {
|
||||
LoginMsgObj.PutString(" ");
|
||||
}
|
||||
LoginMsgObj.PutImoticon(rankConfig["图标"]);
|
||||
LoginMsgObj.PutColorString(config["标题"], rankConfig["文本颜色"]);
|
||||
LoginMsgObj.PutColorString("<" + rankConfig["心悦等级"] + ">", rankConfig["心悦等级颜色"]);
|
||||
LoginMsgObj.PutColorString("[" + SUser.GetCharacName() + "]", rankConfig["角色名字颜色"]);
|
||||
LoginMsgObj.PutColorString(config["结尾信息内容"], rankConfig["文本颜色"]);
|
||||
LoginMsgObj.Finalize();
|
||||
World.SendAll(LoginMsgObj.MakePack());
|
||||
LoginMsgObj.Delete();
|
||||
}
|
||||
function isClearedQuest(C_Object, questID) {
|
||||
return Sq_CallFunc(S_Ptr("0x808BAE0"), "bool", ["pointer", "int"], C_Object, questID);
|
||||
}
|
||||
}
|
||||
36
示例项目/心悦播报/心悦播报配置_Nangua.json
Normal file
36
示例项目/心悦播报/心悦播报配置_Nangua.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"心悦播报配置":{
|
||||
"心悦会员登录播报":{
|
||||
"开关(true为开启,false为关闭)":true,
|
||||
"信息播报发送位置":14,
|
||||
"标题":" 尊贵心悦",
|
||||
"结尾信息内容":"已登录游戏"
|
||||
},
|
||||
"任务等级配置": [
|
||||
{
|
||||
"任务ID": 102,
|
||||
"心悦等级": 1,
|
||||
"心悦等级颜色":[0, 255, 128],
|
||||
"图标":48,
|
||||
"角色名字颜色":[255, 20, 0],
|
||||
"文本颜色":[255, 120, 0]
|
||||
},
|
||||
{
|
||||
"任务ID": 103,
|
||||
"心悦等级": 2,
|
||||
"心悦等级颜色":[255, 0, 128],
|
||||
"图标":49,
|
||||
"角色名字颜色":[255, 20, 0],
|
||||
"文本颜色":[255, 120, 0]
|
||||
},
|
||||
{
|
||||
"任务ID": 104,
|
||||
"心悦等级": 3,
|
||||
"心悦等级颜色":[255, 255, 0],
|
||||
"图标":50,
|
||||
"角色名字颜色":[255, 20, 0],
|
||||
"文本颜色":[255, 120, 0]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user