Save_MissionAll 클라우드 스크립트

This commit is contained in:
Ino 2025-07-24 09:40:05 +09:00
parent 8dd5068428
commit 89977dd530
1 changed files with 47 additions and 7 deletions

View File

@ -2145,6 +2145,24 @@ function Add_MissionCompletCount(urod, group)
++missionGroup[key1][key2][1]; ++missionGroup[key1][key2][1];
} }
function Get_MissionReward(table, itemtable, urod, data)
{
var group = data.n_MissionGroupId;
var id = data.n_MissionIndex;
var lv = urod.Mission?.[group]?.[id]?.[0] ?? 0;
var count = Get_MissionCount(urod, data, group, id);
if (lv == 0 && count >= data.l_MissionConditionCount)
{
Add_Item(table, itemtable, urod, data.n_RewardValue, id);
Add_MissionLv(urod, group, id);
Add_MissionCompletCount(urod, group);
return true;
}
return false;
}
handlers.Save_Mission = function(args) handlers.Save_Mission = function(args)
{ {
var readonlydata = Get_UserReadOnlyData(); var readonlydata = Get_UserReadOnlyData();
@ -2153,16 +2171,38 @@ handlers.Save_Mission = function(args)
var urod = Get_JsonUserData(readonlydata); var urod = Get_JsonUserData(readonlydata);
var table = Get_MissionTable(); var table = Get_MissionTable();
var itemtable = Get_ItemTable();
var data = table.find(f=>f.n_MissionGroupId == args.Group && f.n_MissionIndex == args.ID); var data = table.find(f=>f.n_MissionGroupId == args.Group && f.n_MissionIndex == args.ID);
var lv = urod.Mission?.[args.Group]?.[args.ID]?.[0] ?? 0;
var count = Get_MissionCount(urod, data, args.Group, args.ID); if (Get_MissionReward(table, itemtable, urod, data))
if (lv == 0 && count >= data.l_MissionConditionCount)
{ {
Add_Item(table, Get_ItemTable(), urod, data.n_RewardValue, data.n_MissionIndex); Set_JsonUserData(urod);
Add_MissionLv(urod, data.n_MissionGroupId, data.n_MissionIndex); return Get_Return(0);
Add_MissionCompletCount(urod, data.n_MissionGroupId); }
return Get_Return(1);
}
handlers.Save_MissionAll = function(args)
{
var readonlydata = Get_UserReadOnlyData();
var error = Get_Error(readonlydata, args.Token);
if (error < 0) return Get_Return(error);
var urod = Get_JsonUserData(readonlydata);
var table = Get_MissionTable();
var itemtable = Get_ItemTable();
let existGet = false;
var lst = table.filter(f=>f.n_MissionGroupId == args.Group);
for (var i = 0; i < lst.length; ++i)
{
if (Get_MissionReward(table, itemtable, urod, lst[i]))
existGet = true;
}
if (Get_MissionReward(table, itemtable, urod, lst.find(f=>f.e_MissionConditionType.includes("_CLEAR_ALL")))
existGet = true;
if (existGet)
{
Set_JsonUserData(urod); Set_JsonUserData(urod);
return Get_Return(0); return Get_Return(0);
} }