添加示例项目
This commit is contained in:
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user