Skip to content

Commit c884c84

Browse files
committed
adapt for update
1 parent a1ee76a commit c884c84

3 files changed

Lines changed: 107 additions & 13 deletions

File tree

noticecrowd/addon_d.ipf/ncspawnwindow/ncspawnwindow.lua

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ _G["ADDONS"][author] = _G["ADDONS"][author] or {};
1010
_G["ADDONS"][author][addonName] = _G["ADDONS"][author][addonName] or {};
1111
local g = _G["ADDONS"][author][addonName];
1212

13-
local version = '1.4.2';
13+
local version = '1.4.5';
1414

1515
local DEBUG_FLAG = false;
1616

@@ -110,6 +110,9 @@ function g.UpdateSpawnLocation(self)
110110
textobj[1]:SetTextByKey('value', self:GetSpawnLocation(1));
111111
textobj[2]:SetTextByKey('value', self:GetSpawnLocation(2));
112112
textobj[3]:SetTextByKey('value', self:GetSpawnLocation(3));
113+
textobj[4]:SetTextByKey('value', self:GetSpawnLocation(4));
114+
textobj[5]:SetTextByKey('value', self:GetSpawnLocation(5));
115+
textobj[6]:SetTextByKey('value', self:GetSpawnLocation(6));
113116
end
114117

115118
-- GET UI Object
@@ -123,7 +126,10 @@ function g.GetSpawnTextObj(self)
123126
return {
124127
GET_CHILD(self.Frame, "spawnText1", 'ui::CRichText'),
125128
GET_CHILD(self.Frame, "spawnText2", 'ui::CRichText'),
126-
GET_CHILD(self.Frame, "spawnText3", 'ui::CRichText')
129+
GET_CHILD(self.Frame, "spawnText3", 'ui::CRichText'),
130+
GET_CHILD(self.Frame, "spawnText4", 'ui::CRichText'),
131+
GET_CHILD(self.Frame, "spawnText5", 'ui::CRichText'),
132+
GET_CHILD(self.Frame, "spawnText6", 'ui::CRichText')
127133
};
128134
end
129135

@@ -193,6 +199,24 @@ function NCSPAWNWINDOW_WARP3()
193199
end
194200
end
195201

202+
function NCSPAWNWINDOW_WARP4()
203+
if #g.spawnmap >=4 then
204+
g:Warp(g.spawnmapClass[4].ClassName);
205+
end
206+
end
207+
208+
function NCSPAWNWINDOW_WARP5()
209+
if #g.spawnmap >=5 then
210+
g:Warp(g.spawnmapClass[5].ClassName);
211+
end
212+
end
213+
214+
function NCSPAWNWINDOW_WARP6()
215+
if #g.spawnmap >=6 then
216+
g:Warp(g.spawnmapClass[6].ClassName);
217+
end
218+
end
219+
196220
-- 初期設定
197221
function NCSPAWNWINDOW_ON_INIT(addon, frame)
198222
-- DEVELOPERCONSOLE_PRINT_TEXT("noticecrowd:set init.");
@@ -242,12 +266,33 @@ function NCSPAWNWINDOW_SET_WINDOW()
242266
end
243267
end
244268

269+
function NCSPAWNWINDOW_SEARCH_MAP(mapstr)
270+
local targetMap = nil;
271+
272+
local clsList, cnt = GetClassList('worldmap2_submap_data');
273+
for i = 0, cnt-1 do
274+
local cls = GetClassByIndexFromList(clsList, i);
275+
local mapData = GetClass('Map', cls.MapName);
276+
local mapName = string.gsub(dictionary.ReplaceDicIDInCompStr(mapData.Name), " ", "");
277+
278+
if string.find(string.lower(mapName), string.lower(mapstr)) ~= nil then
279+
targetMap = mapData;
280+
break;
281+
end
282+
end
283+
return targetMap;
284+
end
285+
245286
function NCSPAWNWINDOW_COPY_SPAWN(spmap)
246287
g.spawnmap = spmap;
247288
if #g.spawnmap == 1 then
248289
g.spawnmapClass = {};
249290
end
250-
table.insert(g.spawnmapClass, _G.GetClassByStrProp('Map', 'Name', g.spawnmap[#g.spawnmap]));
291+
if string.find(g.spawnmap[#g.spawnmap],"dicID") then
292+
table.insert(g.spawnmapClass, _G.GetClassByStrProp('Map', 'Name', g.spawnmap[#g.spawnmap]));
293+
else
294+
table.insert(g.spawnmapClass, NCSPAWNWINDOW_SEARCH_MAP(g.spawnmap[#g.spawnmap]));
295+
end
251296
--for i = 1 , #g.spawnmap do
252297
-- g.spawnmapClass[i] = _G.GetClassByStrProp('Map', 'Name', g.spawnmap[i]);
253298
--end

noticecrowd/addon_d.ipf/ncspawnwindow/ncspawnwindow.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<uiframe name="ncspawnwindow" x="400" y="300" width="250" height="150" version="2">
2+
<uiframe name="ncspawnwindow" x="400" y="300" width="250" height="230" version="2">
33
<frame layout_gravity="left top" margin="0 0 0 0"/>
44
<input moveable="true" moveintitlebar="false" hittestframe="true" resize="false"/>
55
<draw drawframe="true" drawtitlebar="false" drawnotitlebar="false"/>
@@ -16,6 +16,9 @@
1616
<richtext name="spawnText1" rect="0 0 280 20" margin="10 50 0 0" format="{@st43}{s20}%s{/}{/}" param1="value" stretch="false" hittest="true" MouseOnAnim="btn_mouseover" MouseOffAnim="btn_mouseoff" oversound="button_over" clicksound="button_click_big" LBtnUpScp="NCSPAWNWINDOW_WARP1"/>
1717
<richtext name="spawnText2" rect="0 0 280 20" margin="10 80 0 0" format="{@st43}{s20}%s{/}{/}" param1="value" stretch="false" hittest="true" MouseOnAnim="btn_mouseover" MouseOffAnim="btn_mouseoff" oversound="button_over" clicksound="button_click_big" LBtnUpScp="NCSPAWNWINDOW_WARP2"/>
1818
<richtext name="spawnText3" rect="0 0 280 20" margin="10 110 0 0" format="{@st43}{s20}%s{/}{/}" param1="value" stretch="false" hittest="true" MouseOnAnim="btn_mouseover" MouseOffAnim="btn_mouseoff" oversound="button_over" clicksound="button_click_big" LBtnUpScp="NCSPAWNWINDOW_WARP3"/>
19+
<richtext name="spawnText4" rect="0 0 280 20" margin="10 140 0 0" format="{@st43}{s20}%s{/}{/}" param1="value" stretch="false" hittest="true" MouseOnAnim="btn_mouseover" MouseOffAnim="btn_mouseoff" oversound="button_over" clicksound="button_click_big" LBtnUpScp="NCSPAWNWINDOW_WARP4"/>
20+
<richtext name="spawnText5" rect="0 0 280 20" margin="10 170 0 0" format="{@st43}{s20}%s{/}{/}" param1="value" stretch="false" hittest="true" MouseOnAnim="btn_mouseover" MouseOffAnim="btn_mouseoff" oversound="button_over" clicksound="button_click_big" LBtnUpScp="NCSPAWNWINDOW_WARP5"/>
21+
<richtext name="spawnText6" rect="0 0 280 20" margin="10 200 0 0" format="{@st43}{s20}%s{/}{/}" param1="value" stretch="false" hittest="true" MouseOnAnim="btn_mouseover" MouseOffAnim="btn_mouseoff" oversound="button_over" clicksound="button_click_big" LBtnUpScp="NCSPAWNWINDOW_WARP6"/>
1922

2023
</controls>
2124
</uiframe>

noticecrowd/addon_d.ipf/noticecrowd/noticecrowd.lua

Lines changed: 55 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ _G["ADDONS"][author] = _G["ADDONS"][author] or {};
88
_G["ADDONS"][author][addonName] = _G["ADDONS"][author][addonName] or {};
99
local g = _G["ADDONS"][author][addonName];
1010

11-
local version = '1.4.3';
12-
11+
local version = '1.4.5';
1312

13+
local debug_flg = false;
1414

1515
--ライブラリ読み込み
1616
local acutil = require('acutil');
@@ -21,6 +21,8 @@ g.settingsDirLoc = string.format("../addons/%s", addonNameLower);
2121
g.settingsFileLoc = string.format("%s/settings.json", g.settingsDirLoc);
2222
g.timerlogFileLoc = string.format("%s/timer.json", g.settingsDirLoc);
2323

24+
g.debugFileLoc = string.format("%s/debug.txt", g.settingsDirLoc);
25+
2426
g.DefaultSettings = {};
2527
g.DefaultSettings.Position = {X = 400, Y = 300};
2628
g.DefaultSettings.EnabledMaps = {};
@@ -436,6 +438,15 @@ function NOTICECROWD_HOOK_NOTICE_ON_MSG(frame, msg, argStr, argNum)
436438
end
437439

438440
function g.NOTICECROWD_NEW_NOTICE_ON_MSG(frame, msg, argStr, argNum)
441+
if debug_flg then
442+
local file,err = io.open(g.debugFileLoc, "a")
443+
if err then
444+
ui.SysMsg("SAVE CHAT FAILED.");
445+
else
446+
file:write(argStr.."\n");
447+
file:close();
448+
end
449+
end
439450
-- DEVELOPERCONSOLE_PRINT_TEXT("msg: "..msg.." argStr: "..argStr);
440451
if string.find(argStr,"AppearPCMonster") then
441452
NOTICECROWD_APPEARCROWD(argStr);
@@ -450,16 +461,37 @@ end
450461

451462
function NOTICECROWD_APPEARCROWD(str)
452463
-- DEVELOPERCONSOLE_PRINT_TEXT("A Crowd of Followers Appeared");
464+
465+
--if debug_flg then
466+
-- acutil.saveJSON(self.debugFileLoc, str);
467+
--end
468+
453469
if (g.crowdKilled > 0) then
454470
g.crowdKilled = 0;
455471
g.crowdAll = 0;
456472
end
457473
g.crowdAll = g.crowdAll + g.CROWDBYMAP;
458-
local mapstr = string.gsub(str,".*(@dicID.*%*%^).*","%1");
459-
local cmsg = "追従者出現:"..mapstr;
460-
table.insert(g.spawnmap, dictionary.ReplaceDicIDInCompStr(mapstr));
461-
table.insert(g.spawnmapID, mapstr);
462-
CHAT_SYSTEM(cmsg);
474+
local mapstr = "";
475+
--local mapstr = string.gsub(str,".*(@dicID.*%*%^).*","%1");
476+
local cmsg = "";
477+
if string.find(str, "%(.*,.*,.*%)") then
478+
-- 非常時 (文字列直打ち)
479+
mapstr = string.gsub(str,".*AppearPCMonster.*$%*$name$%*$%(.*,.*,(.*)%)#@!","%1");
480+
cmsg = "追従者出現:"..mapstr;
481+
table.insert(g.spawnmap, mapstr);
482+
table.insert(g.spawnmapID, mapstr);
483+
CHAT_SYSTEM(cmsg);
484+
else
485+
mapstr = string.gsub(str,".*AppearPCMonster.*$%*$name$%*$(.*)#@!","%1");
486+
cmsg = "追従者出現:"..dictionary.ReplaceDicIDInCompStr(mapstr);
487+
table.insert(g.spawnmap, dictionary.ReplaceDicIDInCompStr(mapstr));
488+
if string.find(mapstr,"dicID") then
489+
table.insert(g.spawnmapID, mapstr);
490+
else
491+
table.insert(g.spawnmapID, dictionary.ReplaceDicIDInCompStr(mapstr));
492+
end
493+
CHAT_SYSTEM(cmsg);
494+
end
463495
if g.settings.ShowPTChat then
464496
ui.Chat("/p "..cmsg);
465497
end
@@ -482,12 +514,24 @@ function NOTICECROWD_APPEARCROWD(str)
482514
g:UpdateFrame();
483515
end
484516

485-
function NOTICECROWD_DEBUG_NOTICE_MSG()
486-
local argStr = "!@#$AppearPCMonster{name}$*$name$*$@dicID_^*$ETC_20150714_011746$*^#@!";
517+
function NOTICECROWD_DEBUG_NOTICE_MSG(num)
518+
local argStr = "!@#$AppearPCMonster$*$name$*$(바이덴티스 신당,Videntis Shrine,バイデンティス神堂)#@!"
519+
if num == 1 then
520+
argStr = "!@#$AppearPCMonster{name}$*$name$*$노브리어 숲#@!";
521+
elseif num == 2 then
522+
argStr = "!@#$AppearPCMonster{name}$*$name$*$@dicID_^*$ETC_20161012_023686$*^#@!";
523+
end
524+
--!@#$AppearPCMonster{name}$*$name$*$카듀멜 절벽#@!
525+
--!@#$AppearPCMonster{name}$*$name$*$별의 탑 1층#@!
526+
--!@#$AppearPCMonster{name}$*$name$*$아르커스 숲#@!
527+
--!@#$AppearPCMonster{name}$*$name$*$대지의 요새 거주구역#@!
528+
--"!@#$AppearPCMonster{name}$*$name$*$@dicID_^*$ETC_20150714_011746$*^#@!";
487529
--"!@#$AppearPCMonster{name}$*$name$*$@dicID_^*$ETC_20161012_023686$*^#@!",
488530
--"!@#$AppearPCMonster{name}$*$name$*$@dicID_^*$ETC_20170418_027530$*^#@!",
489531
--"!@#$AppearPCMonster{name}$*$name$*$@dicID_^*$ETC_20150804_014154$*^#@!"
490532
NOTICECROWD_APPEARCROWD(argStr);
533+
--argStr = "!@#$AppearPCMonster{name}$*$name$*$@dicID_^*$ETC_20161012_023686$*^#@!";
534+
--NOTICECROWD_APPEARCROWD(argStr);
491535
end
492536

493537
function NOTICECROWD_GET_DIFF_TIME()
@@ -531,6 +575,8 @@ function NOTICECROWD_CHECK_CROWD_DTIME(timediff)
531575
g.spawnstarttime = g:AddHour(tonumber(g.lasttime.hour), 4);
532576
g.spawnendtime = g:AddHour(tonumber(g.lasttime.hour), 6);
533577
g:SetTimerDesc("出現終了まで");
578+
g.crowdKilled = 0;
579+
g.crowdAll = 0;
534580
elseif timediff < 480 then
535581
remain_time = 480 - timediff;
536582
g:SetTimerDesc("出現まで(一回見逃し)");

0 commit comments

Comments
 (0)