Guest User

Untitled

a guest
Mar 15th, 2023
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 63.07 KB | None | 0 0
  1. class MinimapWnd extends UICommonAPI;
  2. const OTHER_HIGHLIGHT_ICON_INDEX = 100;
  3. const REGIONINFO_OFFSETX = 225;
  4. const REGIONINFO_OFFSETY = 400;
  5. const TIMER_ID = 225;
  6. const TIMER_DELAY = 1500;
  7. var string m_WindowName;
  8. var int m_PartyMemberCount;
  9. var int m_PartyLocIndex;
  10. var int isNoShowMissionWindow;
  11. var bool m_AdjustCursedLoc;
  12. var bool m_bShowCurrentLocation;
  13. var bool m_bShowGameTime;
  14. var bool bMiniMapDisabled;
  15. var bool m_bExpandState;
  16. var Vector BlockedLoc1;
  17. var Vector BlockedLoc2;
  18. var int FortressID;
  19. var int SiegeStatus;
  20. var int TotalBarrackCnt;
  21. var int GlobalCurFortressID;
  22. var int G_ZoneID;
  23. var int G_ZoneID2;
  24. var string m_combocursedName;
  25. var int m_CurContinent;
  26. var int CurrentLayer;
  27. var int TotalLayers;
  28. var WindowHandle me;
  29. var WindowHandle m_MinimapMissionWnd;
  30. var ItemWindowHandle m_questItem;
  31. var MinimapCtrlHandle m_MiniMap;
  32. var ButtonHandle ReduceButton;
  33. var TabHandle m_MapSelectTab;
  34. var ButtonHandle ServerInfo01_Button;
  35. var ButtonHandle ServerInfo02_Button;
  36. var ButtonHandle ServerInfo03_Button;
  37. var ButtonHandle ServerInfo04_Button;
  38. var array<MapServerInfo> serverInfoArray;
  39. var Vector QuestLocation;
  40. var int DelayRequestSeedInfo;
  41. var array<string> SeedDataforMap;
  42. var TextureHandle TabBg_Line;
  43. var Rect smallMapRect;
  44. var MinimapMissionWnd MinimapMissionWndScript;
  45. var bool bCompleteBaseElementShow;
  46. var bool bIsTownMap;
  47. var int nTownMapZoneID;
  48. var MinimapCtrlHandle TeleportBookMarkWnd_MiniMap;
  49. function OnRegisterEvent()
  50. {
  51. RegisterEvent( EV_ShowMinimap );
  52. RegisterEvent( EV_PartyMemberChanged );
  53. RegisterEvent( EV_MinimapAddTarget );
  54. RegisterEvent( EV_MinimapDeleteTarget );
  55. RegisterEvent( EV_MinimapDeleteAllTarget );
  56. RegisterEvent( EV_MinimapShowQuest );
  57. RegisterEvent( EV_MinimapHideQuest );
  58. RegisterEvent( EV_MinimapChangeZone );
  59. RegisterEvent( EV_MinimapCursedWeaponList );
  60. RegisterEvent( EV_MinimapCursedWeaponLocation );
  61. RegisterEvent( EV_BeginShowZoneTitleWnd );
  62. RegisterEvent( EV_MinimapShowReduceBtn );
  63. RegisterEvent( EV_MinimapHideReduceBtn );
  64. RegisterEvent( EV_MinimapUpdateGameTime );
  65. RegisterEvent( EV_MinimapTravel );
  66. RegisterEvent( EV_BeginShowZoneTitleWnd );
  67. RegisterEvent( EV_MinimapRegionInfoBtnClick );
  68. RegisterEvent( EV_ShowFortressMapInfo );
  69. RegisterEvent( EV_FortressMapBarrackInfo);
  70. RegisterEvent( EV_ShowFortressSiegeInfo );
  71. RegisterEvent( EV_SystemMessage );
  72. RegisterEvent( EV_MinimapShowMultilayer );
  73. RegisterEvent( EV_MinimapCloseMultilayer );
  74. RegisterEvent( EV_GamingStateEnter );
  75. registerEvent( EV_ResolutionChanged);
  76. RegisterEvent(EV_AddCastleInfo);
  77. RegisterEvent(EV_AddFortressInfo);
  78. RegisterEvent(EV_AddAgitSiegeInfo);
  79. RegisterEvent( EV_ShowSeedMapInfo );
  80. RegisterEvent( EV_RaidServerInfo );
  81. RegisterEvent( EV_ItemAuctionStatus );
  82. RegisterEvent( EV_NeedResetUIData );
  83. RegisterEvent( EV_FactionInfo );
  84. RegisterEvent( EV_Restart );
  85. RegisterEvent( EV_MinimapAdjustViewLocation );
  86. RegisterEvent( EV_Test_2 );
  87. }
  88. function OnLoad()
  89. {
  90. local Color txtVarCurLocColor;
  91. SetClosingOnESC();
  92. MinimapMissionWndScript = MinimapMissionWnd(GetScript("MinimapMissionWnd"));
  93. me = GetWindowHandle( "MinimapWnd" );
  94. m_MinimapMissionWnd = GetWindowHandle( "MinimapMissionWnd" );
  95. m_questItem = GetItemWindowHandle("InventoryWnd.QuestItem");
  96. m_MiniMap = GetMinimapCtrlHandle( "MinimapWnd.Minimap" );
  97. ReduceButton = GetButtonHandle( "MinimapWnd.btnReduce");
  98. m_MapSelectTab = GetTabHandle("MiniMapWnd.MapSelectTab");
  99. TabBg_Line = GetTextureHandle( "MiniMapWnd.TabBg_Line" );
  100. ServerInfo01_Button = GetButtonHandle("MiniMapWnd.ServerInfo01_Button");
  101. ServerInfo02_Button = GetButtonHandle("MiniMapWnd.ServerInfo02_Button");
  102. ServerInfo03_Button = GetButtonHandle("MiniMapWnd.ServerInfo03_Button");
  103. ServerInfo04_Button = GetButtonHandle("MiniMapWnd.ServerInfo04_Button");
  104. TeleportBookMarkWnd_MiniMap = GetMinimapCtrlHandle ( "TeleportBookMarkWnd.Minimap" );
  105. m_PartyLocIndex = -1;
  106. m_PartyMemberCount = GetPartyMemberCount();
  107. m_AdjustCursedLoc = false;
  108. m_bShowCurrentLocation=true;
  109. m_bShowGameTime=true;
  110. BlockedLoc1.x = -32768f;
  111. BlockedLoc1.y = 32768f;
  112. BlockedLoc2.x = 229376f;
  113. BlockedLoc2.y = 262144f;
  114. bMiniMapDisabled = true;
  115. txtVarCurLocColor.R = 254;
  116. txtVarCurLocColor.G = 243;
  117. txtVarCurLocColor.B = 124;
  118. class'UIAPI_TEXTBOX'.static.SetTextColor("Minimapwnd.txtVarCurLoc",txtVarCurLocColor);
  119. initServerInfoArray();
  120. initServerButton();
  121. }
  122. function OnEvent( int a_EventID, String a_Param )
  123. {
  124. switch( a_EventID )
  125. {
  126. case EV_BeginShowZoneTitleWnd:
  127. HandleZoneTitle();
  128. SetCurrentLocation();
  129. G_ZoneID2 = GetCurrentZoneID();
  130. break;
  131. case EV_MinimapRegionInfoBtnClick:
  132. HandleDungeonMapRefresh(a_Param);
  133. break;
  134. case EV_ShowMinimap:
  135. G_ZoneID2 = GetCurrentZoneID();
  136. HandleShowMinimap( a_Param );
  137. break;
  138. case EV_PartyMemberChanged:
  139. HandlePartyMemberChanged( a_Param );
  140. break;
  141. case EV_MinimapAddTarget:
  142. HandleMinimapAddTarget( a_Param );
  143. break;
  144. case EV_MinimapDeleteTarget:
  145. HandleMinimapDeleteTarget( a_Param );
  146. break;
  147. case EV_MinimapDeleteAllTarget:
  148. HandleMinimapDeleteAllTarget();
  149. break;
  150. case EV_MinimapShowQuest:
  151. HandleMinimapShowQuest();
  152. break;
  153. case EV_MinimapHideQuest:
  154. HandleMinimapHideQuest();
  155. break;
  156. case EV_MinimapChangeZone :
  157. AdjustMapToPlayerPosition( true );
  158. G_ZoneID2 = GetCurrentZoneID();
  159. ParamAdd(a_Param, "ZoneID", String(G_ZoneID2));
  160. Class'MiniMapAPI'.static.RequestSeedPhase();
  161. break;
  162. case EV_MinimapCursedweaponList :
  163. break;
  164. case EV_MinimapCursedweaponLocation :
  165. HandleCursedWeaponLoctaion(a_Param);
  166. break;
  167. case EV_MinimapShowReduceBtn :
  168. if (a_Param != "") ParseInt(a_Param,"ZoneID", nTownMapZoneID);
  169. else nTownMapZoneID = 0;
  170. bIsTownMap = true;
  171. ReduceButton.ShowWindow();
  172. showAllRegionIcon(false);
  173. setDirIconDest();
  174. break;
  175. case EV_MinimapHideReduceBtn :
  176. bIsTownMap = false;
  177. ReduceButton.HideWindow();
  178. showAllRegionIcon(true);
  179. setDirIconDest();
  180. break;
  181. case EV_MinimapUpdateGameTime :
  182. if(m_bShowGameTime)
  183. {
  184. HandleUpdateGameTime(a_Param);
  185. }
  186. break;
  187. case EV_MinimapTravel:
  188. HandleMinimapTravel( a_Param );
  189. break;
  190. case EV_ShowFortressMapInfo:
  191. Debug("minimap" @ "EV_ShowFortressMapInfo" @ a_Param );
  192. break;
  193. case EV_FortressMapBarrackInfo:
  194. Debug("minimap" @ "EV_FortressMapBarrackInfo" @ a_Param );
  195. break;
  196. case EV_ShowFortressSiegeInfo:
  197. Debug("minimap" @ "EV_ShowFortressSiegeInfo" @ a_Param );
  198. break;
  199. case EV_SystemMessage:
  200. case EV_GamingStateEnter:
  201. SiegeStatus = 0;
  202. FortressID =0;
  203. TotalBarrackCnt =0;
  204. GlobalCurFortressID = 0;
  205. G_ZoneID = 0;
  206. G_ZoneID2 = 0;
  207. break;
  208. case EV_MinimapShowMultilayer:
  209. ShowMultilayer(a_param);
  210. break;
  211. case EV_MinimapCloseMultilayer:
  212. CloseMultilayer();
  213. break;
  214. case EV_NeedResetUIData:
  215. class'UIAPI_MINIMAPCTRL'.static.ResetMinimapData( "MinimapWnd.Minimap" );
  216. checkClassicForm();
  217. break;
  218. case EV_ResolutionChanged:
  219. if (IsExpandState()) setMapSize(true);
  220. break;
  221. case EV_AddCastleInfo:
  222. LoadCastleInfo(a_Param);
  223. break;
  224. case EV_AddFortressInfo :
  225. LoadFortressInfo(a_Param);
  226. break;
  227. case EV_AddAgitSiegeInfo :
  228. LoadAgitSiegeInfo(a_Param);
  229. break;
  230. case EV_ShowSeedMapInfo:
  231. Debug("minimap" @ "EV_ShowSeedMapInfo" );
  232. HandleSeedMapInfo(a_Param);
  233. break;
  234. case EV_RaidServerInfo :
  235. LoadRaidServerInfo(a_Param);
  236. break;
  237. case EV_ItemAuctionStatus :
  238. LoadItemAuctionStatus(a_Param);
  239. break;
  240. case EV_FactionInfo :
  241. loadFactionInfo(a_Param);
  242. break;
  243. case EV_MinimapAdjustViewLocation :
  244. minimapAdjustViewLocationProcess(a_Param);
  245. break;
  246. case EV_Restart :
  247. resetMapData();
  248. break;
  249. case EV_Test_2 :
  250. testCode(a_Param);
  251. break;
  252. }
  253. }
  254. function minimapAdjustViewLocationProcess(string param)
  255. {
  256. local int x, y, z;
  257. local Vector loc;
  258. Debug("param" @ param);
  259. ParseInt(Param, "LocX", x);
  260. ParseInt(Param, "LocY", y);
  261. ParseInt(Param, "LocZ", z);
  262. loc = setVector(x, y, z);
  263. SetLocContinent(loc);
  264. class'UIAPI_MINIMAPCTRL'.static.AdjustMapView( "MinimapWnd.Minimap", loc, true);
  265. }
  266. function testCode(string param)
  267. {
  268. local int x, y, z;
  269. local Vector loc;
  270. ParseInt(Param, "x", x);
  271. ParseInt(Param, "y", y);
  272. ParseInt(Param, "z", z);
  273. loc = setVector(x, y, z);
  274. SetLocContinent(loc);
  275. class'UIAPI_MINIMAPCTRL'.static.AdjustMapView( "MinimapWnd.Minimap", loc, true);
  276. }
  277. function loadFactionInfo(string a_Param)
  278. {
  279. local array<L2UserFactionUIInfo> factionInfoListArray;
  280. local MinimapRegionInfo regionInfo;
  281. local UserInfo pUserInfo;
  282. if (Me.IsShowWindow())
  283. {
  284. GetPlayerInfo(pUserInfo);
  285. if (bCompleteBaseElementShow)
  286. drawFactionMapIcon(true);
  287. else
  288. drawFactionMapIcon();
  289. }
  290. }
  291. function drawFactionMapIcon(optional bool bUseUpdate)
  292. {
  293. local array<L2UserFactionUIInfo> factionInfoListArray;
  294. local MinimapRegionInfo regionInfo, emptyRegionInfo;
  295. local UserInfo pUserInfo;
  296. local int i;
  297. local L2FactionUIData factionData;
  298. local MinimapRegionIconData iconData;
  299. GetPlayerInfo(pUserInfo);
  300. GetUserFactionInfoList(pUserInfo.nID, factionInfoListArray);
  301. for(i = 0; i < factionInfoListArray.Length; i++)
  302. {
  303. regionInfo = emptyRegionInfo;
  304. GetFactionData(factionInfoListArray[i].nFactionID, factionData);
  305. ParamAdd(regionInfo.strTooltip, "Type", String(EMinimapRegionType.MRT_Faction));
  306. ParamAdd(regionInfo.strTooltip, "nFactionID", String(factionInfoListArray[i].nFactionID));
  307. ParamAdd(regionInfo.strTooltip, "nFactionLevel", String(factionInfoListArray[i].nFactionLevel));
  308. regionInfo.nIndex = factionData.nRegionID;
  309. regionInfo.eType = EMinimapRegionType.MRT_Faction;
  310. regionInfo.DescColor = getInstanceL2Util().ColorMinimapFont;
  311. if(GetMinimapRegionIconData(factionData.nRegionID, iconData))
  312. {
  313. regionInfo.IconData = iconData;
  314. regionInfo.iconData.nIconOffsetX = -16;
  315. regionInfo.iconData.nIconOffsetY = -16;
  316. }
  317. addMapIcon(regionInfo, bUseUpdate);
  318. }
  319. }
  320. function resetMapData()
  321. {
  322. Debug("resetMapData");
  323. bCompleteBaseElementShow = false;
  324. initServerInfoArray();
  325. m_MiniMap.EraseAllRegionInfo();
  326. TeleportBookMarkWnd_MiniMap.EraseAllRegionInfo();
  327. }
  328. function LoadItemAuctionStatus ( string Param )
  329. {
  330. local Vector loc;
  331. local int nState;
  332. local bool bUse;
  333. ParseInt(Param, "State", nState);
  334. if (nState > 0)
  335. {
  336. bUse = true;
  337. ParseFloat(Param, "WorldLocX", loc.x);
  338. ParseFloat(Param, "WorldLocY", loc.y);
  339. ParseFloat(Param, "WorldLocZ", loc.z);
  340. Debug("Ŭ¸¯!!!");
  341. }
  342. Debug("LoadItemAuctionStatus " @ Param);
  343. setServerParse(MapServerInfoType.AUCTION, Param, bUse, loc);
  344. }
  345. function LoadRaidServerInfo ( string Param )
  346. {
  347. local int nWorldRaidState, nWorldCastleSiegeState;
  348. local bool bUse;
  349. Debug("LoadRaidServerInfo Param: " @Param);
  350. ParseInt( Param, "WorldRaidState" , nWorldRaidState);
  351. ParseInt( Param, "WorldCastleSiegeState", nWorldCastleSiegeState);
  352. if (nWorldRaidState > 0) bUse = true;
  353. else bUse = false;
  354. setServerParse(MapServerInfoType.RAID_DIMENSION, Param, bUse);
  355. if (nWorldCastleSiegeState > 0) bUse = true;
  356. else bUse = false;
  357. setServerParse(MapServerInfoType.SIEGEWARFARE_DIMENSION, Param, bUse);
  358. }
  359. function LoadAgitSiegeInfo( string Param)
  360. {
  361. local MinimapRegionInfo regionInfo, emptyRegionInfo;
  362. local MinimapRegionIconData iconData;
  363. local int nRegionID;
  364. local string OwnerClanName, OwnerClanMasterName;
  365. local string OwnerClanNameToolTip;
  366. local string NextSiegeYear;
  367. local string NextSiegeMonth;
  368. local string NextSiegeDay;
  369. local string NextSiegeHour;
  370. local string NextSiegeMin;
  371. local string NextSiegeSec;
  372. local int i;
  373. local int agitCount, agitID;
  374. local string NextSiegeTime, agitName;
  375. ParseInt( Param, "AgitCount", agitCount);
  376. for(i = 0; i < agitCount; i++)
  377. {
  378. regionInfo = emptyRegionInfo;
  379. ParseInt( Param, "AgitID" $ i, agitID);
  380. ParseString( Param, "NextSiegeYear" $ i, NextSiegeYear);
  381. ParseString( Param, "NextSiegeMonth" $ i, NextSiegeMonth);
  382. ParseString( Param, "NextSiegeDay" $ i, NextSiegeDay);
  383. ParseString( Param, "NextSiegeHour" $ i, NextSiegeHour);
  384. ParseString( Param, "NextSiegeMin" $ i, NextSiegeMin);
  385. ParseString( Param, "NextSiegeSec" $ i, NextSiegeSec);
  386. ParseString( Param, "OwnerClanName" $ i, OwnerClanName);
  387. ParseString( Param, "OwnerClanMasterName" $ i, OwnerClanMasterName);
  388. nRegionID = GetCastleRegionID(agitID);
  389. agitName = GetCastleName(agitID);
  390. if (OwnerClanName == "")
  391. {
  392. OwnerClanName = GetSystemString(27);
  393. OwnerClanNameToolTip = GetSystemMessage(2196);
  394. }
  395. else
  396. {
  397. OwnerClanNameToolTip = MakeFullSystemMsg(GetSystemMessage(2197), OwnerClanName);
  398. OwnerClanName = OwnerClanName @ GetSystemString(439);
  399. }
  400. if (NextSiegeMonth == "0" && NextSiegeYear == "70" && NextSiegeDay == "1")
  401. {
  402. NextSiegeTime = GetSystemString(584);
  403. }
  404. else
  405. {
  406. NextSiegeMonth = String(Int(NextSiegeMonth) + 1);
  407. NextSiegeTime = MakeFullSystemMsg(GetSystemMessage(2203), NextSiegeMonth, NextSiegeDay) $ ", " $ MakeFullSystemMsg(GetSystemMessage(2204), NextSiegeHour);
  408. }
  409. ParamAdd(regionInfo.strTooltip, "AgitName", agitName);
  410. ParamAdd(regionInfo.strTooltip, "Type", String(EMinimapRegionType.MRT_Agit));
  411. ParamAdd(regionInfo.strTooltip, "OwnerClanName", OwnerClanName);
  412. ParamAdd(regionInfo.strTooltip, "OwnerClanMasterName", OwnerClanMasterName);
  413. ParamAdd(regionInfo.strTooltip, "NextSiegeTime", NextSiegeTime);
  414. ParamAdd(regionInfo.strTooltip, "LocationName", GetCastleLocationName(agitID));
  415. regionInfo.nIndex = nRegionID;
  416. regionInfo.eType = EMinimapRegionType.MRT_Agit;
  417. regionInfo.DescColor = getInstanceL2Util().ColorMinimapFont;
  418. if(GetMinimapRegionIconData(nRegionID, iconData))
  419. {
  420. regionInfo.IconData = iconData;
  421. }
  422. if(nRegionID > 0) addMapIcon(regionInfo, true);
  423. }
  424. }
  425. function LoadFortressInfo( string Param)
  426. {
  427. local MinimapRegionInfo regionInfo;
  428. local MinimapRegionIconData iconData;
  429. local int nRegionID;
  430. local string tempStr;
  431. local int FortressID;
  432. local string OwnerClanName;
  433. local int SiegeState;
  434. local int LastOwndedTime;
  435. local string CastleName;
  436. local string Statcur;
  437. local string iconname;
  438. local int Hour;
  439. local int Date;
  440. local int Min;
  441. local string DateTotal;
  442. Hour = 0;
  443. Date = 0;
  444. Min = 0;
  445. ParseInt( Param, "FortressID", FortressID);
  446. CastleName = GetCastleName(FortressID);
  447. ParseString( Param, "OwnerClanName", OwnerClanName);
  448. ParseInt( Param, "SiegeStatae", SiegeState);
  449. ParseInt( Param, "LastOwnedTime", LastOwndedTime);
  450. nRegionID = GetCastleRegionID(FortressID);
  451. if (OwnerClanName == "")
  452. OwnerClanName = GetSystemString(27);
  453. else
  454. OwnerClanName = OwnerClanName @ GetSystemString(439);
  455. if (SiegeState == 0)
  456. {
  457. Statcur = GetSystemString(894);
  458. iconname = "L2UI_CT1.ICON_DF_SIEGE_SHIELD";
  459. }
  460. else if(SiegeState == 1)
  461. {
  462. Statcur = GetSystemString(340);
  463. iconname = "L2UI_CT1.ICON_DF_SIEGE_SWORD";
  464. }
  465. Min = (LastOwndedTime/60);
  466. Hour = (Min/60);
  467. Date = (Hour/24);
  468. if (Min <60 && Min != 0)
  469. {
  470. DateTotal = String(Min) @ GetSystemString(1111);
  471. }
  472. else if (Hour <60 && Hour != 0)
  473. {
  474. DateTotal = String(Hour) @ GetSystemString(1110);
  475. }
  476. else if (Date != 0)
  477. {
  478. DateTotal = String(Date) @ GetSystemString(1109);
  479. }
  480. ParamAdd(regionInfo.strTooltip, "Type", String(EMinimapRegionType.MRT_Fortress));
  481. ParamAdd(regionInfo.strTooltip, "CastleName", CastleName);
  482. ParamAdd(regionInfo.strTooltip, "OwnerClanName", OwnerClanName);
  483. ParamAdd(regionInfo.strTooltip, "SiegeState", Statcur);
  484. ParamAdd(regionInfo.strTooltip, "LocationName", GetCastleLocationName(FortressID));
  485. ParamAdd(regionInfo.strTooltip, "DateTotal", DateTotal);
  486. regionInfo.nIndex = nRegionID;
  487. regionInfo.eType = EMinimapRegionType.MRT_Fortress;
  488. regionInfo.DescColor = getInstanceL2Util().ColorMinimapFont;
  489. if(GetMinimapRegionIconData(nRegionID, iconData))
  490. {
  491. regionInfo.IconData = iconData;
  492. }
  493. addMapIcon(regionInfo, true);
  494. }
  495. function LoadCastleInfo( string Param)
  496. {
  497. local int castleID;
  498. local string OwnerClanName;
  499. local string OwnerClanNameToolTip;
  500. local string TaxRate;
  501. local string NextSiegeTime;
  502. local string NextSiegeYear;
  503. local string NextSiegeMonth;
  504. local string NextSiegeDay;
  505. local string NextSiegeHour;
  506. local string NextSiegeMin;
  507. local string NextSiegeSec;
  508. local string NextSiegeTotalTime;
  509. local string CastleName;
  510. local int siegeState, castleType;
  511. local MinimapRegionInfo regionInfo;
  512. local MinimapRegionIconData iconData;
  513. local int nRegionID, huntingZoneIndex;
  514. local bool bUse;
  515. local Vector tVector, emptyVector;
  516. local string tempStr;
  517. ParseInt( Param, "CastleID", castleID);
  518. CastleName = GetCastleName(castleID);
  519. ParseString( Param, "OwnerClanName", OwnerClanName);
  520. ParseString( Param, "TaxRate", TaxRate);
  521. ParseString( Param, "NextSiegeYear", NextSiegeYear);
  522. ParseString( Param, "NextSiegeMonth", NextSiegeMonth);
  523. ParseString( Param, "NextSiegeDay", NextSiegeDay);
  524. ParseString( Param, "NextSiegeHour", NextSiegeHour);
  525. ParseString( Param, "NextSiegeMin", NextSiegeMin);
  526. ParseString( Param, "NextSiegeSec", NextSiegeSec);
  527. ParseString( Param, "NextSiegeTime", NextSiegeTotalTime);
  528. ParseInt( Param, "SiegeState", siegeState);
  529. ParseInt( Param, "CastleType", castleType);
  530. if (OwnerClanName == "")
  531. {
  532. OwnerClanName = GetSystemString(27);
  533. OwnerClanNameToolTip = GetSystemMessage(2196);
  534. }
  535. else
  536. {
  537. OwnerClanNameToolTip = MakeFullSystemMsg(GetSystemMessage(2197), OwnerClanName);
  538. OwnerClanName = OwnerClanName @ GetSystemString(439);
  539. }
  540. if (NextSiegeMonth == "0" && NextSiegeYear == "70" && NextSiegeDay == "1")
  541. {
  542. NextSiegeTime = GetSystemString(584);
  543. }
  544. else
  545. {
  546. if( Int(NextSiegeTotalTime) > 0 )
  547. {
  548. NextSiegeTime = BR_ConvertTimeToStr(Int(NextSiegeTotalTime), 0);
  549. }
  550. else
  551. {
  552. NextSiegeMonth = String(Int(NextSiegeMonth)+1);
  553. NextSiegeTime = MakeFullSystemMsg(GetSystemMessage(2203), NextSiegeMonth, NextSiegeDay);
  554. }
  555. }
  556. nRegionID = GetCastleRegionID(castleID);
  557. ParamAdd(regionInfo.strTooltip, "Type", String(EMinimapRegionType.MRT_Castle));
  558. ParamAdd(regionInfo.strTooltip, "CastleName", CastleName);
  559. ParamAdd(regionInfo.strTooltip, "LocationName", GetCastleLocationName(castleID));
  560. ParamAdd(regionInfo.strTooltip, "OwnerClanNameToolTip", OwnerClanNameToolTip);
  561. ParamAdd(regionInfo.strTooltip, "OwnerClanName", OwnerClanName);
  562. ParamAdd(regionInfo.strTooltip, "NextSiegeTime", NextSiegeTime);
  563. ParamAdd(regionInfo.strTooltip, "TaxRate", TaxRate $ "%");
  564. tempStr = "";
  565. if (siegeState == 0)
  566. {
  567. bUse = false;
  568. tempStr = GetSystemString(894);
  569. }
  570. else
  571. {
  572. bUse = true;
  573. tempStr = GetSystemString(339);
  574. }
  575. ParamAdd(regionInfo.strTooltip, "SiegeState", tempStr);
  576. tempStr = "";
  577. if (castleType == 1)
  578. tempStr = GetSystemString(3519);
  579. else if (castleType == 2)
  580. tempStr = GetSystemString(3520);
  581. else
  582. tempStr = "";
  583. ParamAdd(regionInfo.strTooltip, "CastleType", tempStr);
  584. regionInfo.eType = EMinimapRegionType.MRT_Castle;
  585. regionInfo.nIndex = nRegionID;
  586. regionInfo.DescColor = getInstanceL2Util().ColorMinimapFont;
  587. regionInfo.strDesc = CastleName;
  588. tVector = emptyVector;
  589. if(GetMinimapRegionIconData(nRegionID, iconData))
  590. {
  591. regionInfo.IconData = iconData;
  592. tVector.x = iconData.nWorldLocX;
  593. tVector.y = iconData.nWorldLocY;
  594. tVector.z = iconData.nWorldLocZ;
  595. }
  596. addMapIcon(regionInfo, true);
  597. setServerParse(MapServerInfoType.SIEGEWARFARE, CastleName, bUse, tVector, nRegionID);
  598. }
  599. function String currentWndName()
  600. {
  601. local string mapName;
  602. mapName = "MinimapWnd";
  603. return mapName;
  604. }
  605. function ShowMultilayer(string Param)
  606. {
  607. local int i;
  608. local string ComboBoxName;
  609. local string ComboBoxShadowName;
  610. local string WndName;
  611. local string btnString_None;
  612. local string btnString_Down;
  613. local string btnString_Over;
  614. WndName= currentWndName();
  615. ComboBoxShadowName = WndName$".ComboBoxShadow";
  616. ComboBoxName = WndName$".FloorComboBox";
  617. class'UIAPI_WINDOW'.static.ShowWindow(ComboBoxName);
  618. class'UIAPI_WINDOW'.static.ShowWindow(ComboBoxShadowName);
  619. ParseInt(Param, "CurrentLayer",CurrentLayer);
  620. ParseInt(Param, "TotalLayers",TotalLayers);
  621. class'UIAPI_COMBOBOX'.static.Clear(ComboBoxName);
  622. for( i=1;i<=TotalLayers;i++)
  623. {
  624. class'UIAPI_COMBOBOX'.static.AddString( ComboBoxName,i $ GetSystemString(5081));
  625. class'UIAPI_COMBOBOX'.static.SetSelectedNum( ComboBoxName,CurrentLayer-1 );
  626. }
  627. btnString_None="L2ui_ct1.Minimap.Minimap_DF_Minusbtn_Purple";
  628. btnString_Down="L2ui_ct1.Minimap.Minimap_DF_Minusbtn_Purple_Down";
  629. btnString_Over="L2ui_ct1.Minimap.Minimap_DF_Minusbtn_Purple_Over";
  630. ReduceButton.SetTexture(btnString_None, btnString_Down, btnString_Over);
  631. }
  632. function CloseMultilayer()
  633. {
  634. local string ComboBoxName;
  635. local string ComboBoxShadowName;
  636. local string WndName;
  637. local string btnString_None;
  638. local string btnString_Down;
  639. local string btnString_Over;
  640. WndName = currentWndName();
  641. ComboBoxShadowName = WndName $".ComboBoxShadow";
  642. ComboBoxName = WndName $ ".FloorComboBox";
  643. class'UIAPI_COMBOBOX'.static.Clear(ComboBoxName);
  644. class'UIAPI_WINDOW'.static.HideWindow(ComboBoxName);
  645. class'UIAPI_WINDOW'.static.HideWindow(ComboBoxShadowName);
  646. btnString_None="L2ui_ct1.Minimap.Minimap_df_Minusbtn_Blue";
  647. btnString_Down="L2ui_ct1.Minimap.Minimap_df_Minusbtn_Blue_Down";
  648. btnString_Over="L2ui_ct1.Minimap.Minimap_df_Minusbtn_Blue_Over";
  649. ReduceButton.SetTexture(btnString_None, btnString_Down, btnString_Over);
  650. }
  651. function HandleSeedMapInfo(string Param)
  652. {
  653. local int i;
  654. local int nSeedCount;
  655. local MinimapRegionInfo regionInfo;
  656. local MinimapRegionIconData iconData;
  657. local string toolTipParam, huntingZoneName;
  658. local int huntingZoneID, huntingZoneIndex, SeedMessageNum;
  659. local bool bUse;
  660. local HuntingZoneUIData huntingZoneData;
  661. if ( getInstanceUIData().getIsClassicServer() ) return;
  662. ParseInt(param, "SeedCount", nSeedCount);
  663. for(i = 0; i < nSeedCount; i++)
  664. {
  665. ParseInt(param, "HuntingZoneID_" $ i, huntingZoneID);
  666. ParseInt(param, "SysMsgNo_" $ i, SeedMessageNum);
  667. if(class'UIDATA_HUNTINGZONE'.static.IsValidData(huntingZoneID) == false) continue;
  668. regionInfo.eType = EMinimapRegionType.MRT_HuntingZone_Base;
  669. if(huntingZoneID == 303 || huntingZoneID == 286)
  670. {
  671. class'UIDATA_HUNTINGZONE'.static.GetHuntingZoneData(huntingZoneID, huntingZoneData);
  672. toolTipParam = "";
  673. ParamAdd(toolTipParam, "Type", String(regionInfo.eType));
  674. ParamAdd(toolTipParam, "Index", String(huntingZoneID));
  675. ParamAdd(toolTipParam, "SeedMessage", GetSystemMessage(SeedMessageNum));
  676. regionInfo.nIndex = huntingZoneData.nRegionID;
  677. regionInfo.DescColor = getInstanceL2Util().ColorMinimapFont;
  678. regionInfo.strDesc = huntingZoneData.strName;
  679. regionInfo.strTooltip = toolTipParam;
  680. GetMinimapRegionIconData(huntingZoneData.nRegionID, iconData);
  681. regionInfo.IconData = iconData;
  682. addMapIcon(regionInfo, true);
  683. if (huntingZoneID == 286)
  684. {
  685. bUse = false;
  686. switch(SeedMessageNum)
  687. {
  688. case 4432 :
  689. bUse = true;
  690. break;
  691. }
  692. setServerParse(MapServerInfoType.DEFENSEWARFARE, GetSystemMessage(SeedMessageNum), bUse, huntingZoneData.nWorldLoc, huntingZoneData.nRegionID, SeedMessageNum);
  693. }
  694. }
  695. }
  696. DelayRequestSeedInfo = 0;
  697. }
  698. function HandleZoneTitle()
  699. {
  700. local int nZoneID;
  701. nZoneID = GetCurrentZoneID();
  702. if( IsHideMinimapZone(nZoneID) )
  703. {
  704. if(me.IsShowWindow() && !IsBuilderPC())
  705. {
  706. me.HideWindow();
  707. if (bMiniMapDisabled )
  708. AddSystemMessage(2205);
  709. else
  710. AddSystemMessage(2207);
  711. }
  712. bMiniMapDisabled = false;
  713. }
  714. else
  715. {
  716. if (bMiniMapDisabled == false)
  717. {
  718. AddSystemMessage(2206);
  719. }
  720. bMiniMapDisabled = true;
  721. }
  722. if (IsHideMinimapZone_new(nZoneID) )
  723. {
  724. if(me.IsShowWindow() && !IsBuilderPC() )
  725. {
  726. me.HideWindow();
  727. if (bMiniMapDisabled )
  728. AddSystemMessage(2205);
  729. else
  730. AddSystemMessage(2207);
  731. }
  732. bMiniMapDisabled = false;
  733. }
  734. else
  735. {
  736. if (bMiniMapDisabled == false)
  737. {
  738. AddSystemMessage(2206);
  739. }
  740. bMiniMapDisabled = true;
  741. }
  742. }
  743. function HandleDungeonMapRefresh(string Param)
  744. {
  745. local int Index;
  746. ParseInt(Param, "Index", Index);
  747. if (Index == 8888)
  748. {
  749. if (me.IsShowWindow())
  750. {
  751. me.HideWindow();
  752. me.ShowWindow();
  753. }
  754. }
  755. }
  756. function FilterDungeonMap()
  757. {
  758. local Vector MyPosition;
  759. MyPosition = GetPlayerPosition();
  760. if (MyPosition.x > BlockedLoc1.x && MyPosition.x < BlockedLoc2.x && MyPosition.y > BlockedLoc1.y && MyPosition.y < BlockedLoc2.y)
  761. {
  762. if (!IsBuilderPC() )
  763. {
  764. class'UIAPI_MINIMAPCTRL'.static.RequestReduceBtn("MinimapWnd.Minimap");
  765. ReduceButton.HideWindow();
  766. }
  767. }
  768. }
  769. function OnShow()
  770. {
  771. GetInIBool ( "MinimapWnd", "l", isNoShowMissionWindow, "windowsInfo.ini");
  772. AdjustMapToPlayerPosition( true );
  773. class'AudioAPI'.static.PlaySound( "interfacesound.Interface.map_open_01" );
  774. if(isNoShowMissionWindow > 0) m_MinimapMissionWnd.HideWindow();
  775. else m_MinimapMissionWnd.ShowWindow();
  776. SetCurrentLocation();
  777. HandleZoneTitle();
  778. ContinentLoc();
  779. mapRefresh();
  780. setDirIconDest();
  781. }
  782. function mapRefresh()
  783. {
  784. local UserInfo pUserInfo;
  785. showMapIconElement();
  786. MinimapMissionWndScript.refresh();
  787. RequestAllCastleInfo();
  788. RequestAllFortressInfo();
  789. if(!getInstanceUIData().getIsClassicServer())
  790. {
  791. Class'MiniMapAPI'.static.RequestSeedPhase();
  792. Class'MiniMapAPI'.static.RequestShowAgitSiegeInfo();
  793. GetPlayerInfo(pUserInfo);
  794. RequestUserFactionInfo(EFactionRequsetType.FIRT_NONE, pUserInfo.nID);
  795. Class'MiniMapAPI'.static.RequestRaidServerinfo();
  796. class'MiniMapAPI'.static.RequestCursedWeaponLocation();
  797. class'MiniMapAPI'.static.RequestItemAuctionStatus();
  798. RequestInzoneWaitingTime(false);
  799. }
  800. }
  801. function addMapIcon(MinimapRegionInfo regionInfo, optional bool bUpdate)
  802. {
  803. if(!isVectorZeroXYZ(regionInfo.IconData.nWorldLocX, regionInfo.IconData.nWorldLocX, regionInfo.IconData.nWorldLocZ))
  804. {
  805. if (bUpdate)
  806. {
  807. m_MiniMap.UpdateRegionInfoCtrl(regionInfo);
  808. switch(regionInfo.eType)
  809. {
  810. case EMinimapRegionType.MRT_HuntingZone_Base :
  811. case EMinimapRegionType.MRT_Castle :
  812. case EMinimapRegionType.MRT_Fortress :
  813. case EMinimapRegionType.MRT_Agit :
  814. TeleportBookMarkWnd_MiniMap.UpdateRegionInfoCtrl(regionInfo);
  815. break;
  816. }
  817. }
  818. else
  819. {
  820. m_MiniMap.AddRegionInfoCtrl(regionInfo);
  821. switch(regionInfo.eType)
  822. {
  823. case EMinimapRegionType.MRT_HuntingZone_Base :
  824. case EMinimapRegionType.MRT_Castle :
  825. case EMinimapRegionType.MRT_Fortress :
  826. case EMinimapRegionType.MRT_Agit :
  827. TeleportBookMarkWnd_MiniMap.AddRegionInfoCtrl(regionInfo);
  828. break;
  829. }
  830. }
  831. }
  832. }
  833. function showMapIconElement()
  834. {
  835. local HuntingZoneUIData huntingZoneData;
  836. local MinimapRegionIconData iconData;
  837. local MinimapRegionInfo regionInfo;
  838. local int i;
  839. local string toolTipParam;
  840. local RaidUIData raidData;
  841. local array<int> raidDataKeyList;
  842. class'UIDATA_RAID'.static.GetRaidDataKeyList(raidDataKeyList);
  843. if(bCompleteBaseElementShow)
  844. {
  845. m_MiniMap.EraseRegionInfoByType(EMinimapRegionType.MRT_InstantZone);
  846. m_MiniMap.EraseRegionInfoByType(EMinimapRegionType.MRT_HuntingZone_Mission);
  847. m_MiniMap.EraseRegionInfoByType(EMinimapRegionType.MRT_Raid);
  848. for (i = 0; i < 500; i++)
  849. {
  850. if(class'UIDATA_HUNTINGZONE'.static.IsValidData(i) == false) continue;
  851. class'UIDATA_HUNTINGZONE'.static.GetHuntingZoneData(i, huntingZoneData);
  852. if(huntingZoneData.nType == HuntingZoneType.FIELD_HUNTING_ZONE_SOLO ||
  853. huntingZoneData.nType == HuntingZoneType.FIELD_HUNTING_ZONE_PARTY ||
  854. huntingZoneData.nType == HuntingZoneType.FIELD_HUNTING_ZONE_PARTYWITH_SOLO)
  855. {
  856. drawMinimapRegionInfo(EMinimapRegionType.MRT_HuntingZone_Mission, i, true);
  857. }
  858. if(huntingZoneData.nType == HuntingZoneType.INSTANCE_ZONE_SOLO ||
  859. huntingZoneData.nType == HuntingZoneType.INSTANCE_ZONE_PARTY)
  860. {
  861. drawMinimapRegionInfo(EMinimapRegionType.MRT_InstantZone, i, true);
  862. }
  863. }
  864. for(i = 0; i < raidDataKeyList.Length; i++)
  865. {
  866. raidData = getRaidDataByIndex(raidDataKeyList[i]);
  867. if(raidData.nWorldLoc.x == 0 && raidData.nWorldLoc.y == 0 && raidData.nWorldLoc.z == 0) continue;
  868. drawMinimapRegionInfo(EMinimapRegionType.MRT_Raid,raidDataKeyList[i],false);
  869. }
  870. }
  871. else
  872. {
  873. for (i = 0; i < 500; i++)
  874. {
  875. if(class'UIDATA_HUNTINGZONE'.static.IsValidData(i) == false) continue;
  876. class'UIDATA_HUNTINGZONE'.static.GetHuntingZoneData(i, huntingZoneData);
  877. if(huntingZoneData.nType == HuntingZoneType.FIELD_HUNTING_ZONE_SOLO ||
  878. huntingZoneData.nType == HuntingZoneType.FIELD_HUNTING_ZONE_PARTY ||
  879. huntingZoneData.nType == HuntingZoneType.FIELD_HUNTING_ZONE_PARTYWITH_SOLO)
  880. {
  881. drawMinimapRegionInfo(EMinimapRegionType.MRT_HuntingZone_Mission, i);
  882. }
  883. else if(huntingZoneData.nType == HuntingZoneType.INSTANCE_ZONE_SOLO ||
  884. huntingZoneData.nType == HuntingZoneType.INSTANCE_ZONE_PARTY)
  885. {
  886. drawMinimapRegionInfo(EMinimapRegionType.MRT_InstantZone, i, true);
  887. }
  888. if (huntingZoneData.nRegionID > 0)
  889. {
  890. if (huntingZoneData.nType == HuntingZoneType.CASTLE)
  891. {
  892. regionInfo.eType = EMinimapRegionType.MRT_Castle;
  893. }
  894. else if (huntingZoneData.nType == HuntingZoneType.AGIT)
  895. {
  896. regionInfo.eType = EMinimapRegionType.MRT_Agit;
  897. }
  898. else if (huntingZoneData.nType == HuntingZoneType.FORTRESS)
  899. {
  900. regionInfo.eType = EMinimapRegionType.MRT_Fortress;
  901. }
  902. else
  903. {
  904. if (huntingZoneData.nType == HuntingZoneType.FIELD_HUNTING_ZONE_SOLO ||
  905. huntingZoneData.nType == HuntingZoneType.FIELD_HUNTING_ZONE_PARTY ||
  906. huntingZoneData.nType == HuntingZoneType.FIELD_HUNTING_ZONE_PARTYWITH_SOLO)
  907. {
  908. if (huntingZoneData.nRegionID <= 0) continue;
  909. }
  910. regionInfo.eType = EMinimapRegionType.MRT_HuntingZone_Base;
  911. }
  912. toolTipParam = "";
  913. ParamAdd(toolTipParam, "Type", String(regionInfo.eType));
  914. ParamAdd(toolTipParam, "Index", String(i));
  915. regionInfo.nIndex = huntingZoneData.nRegionID;
  916. regionInfo.DescColor = getInstanceL2Util().ColorMinimapFont;
  917. regionInfo.strDesc = huntingZoneData.strName;
  918. regionInfo.strTooltip = toolTipParam;
  919. GetMinimapRegionIconData(huntingZoneData.nRegionID, iconData);
  920. regionInfo.IconData = iconData;
  921. addMapIcon(regionInfo);
  922. }
  923. }
  924. for(i = 0; i < raidDataKeyList.Length; i++)
  925. {
  926. raidData = getRaidDataByIndex(raidDataKeyList[i]);
  927. if(raidData.nWorldLoc.x == 0 && raidData.nWorldLoc.y == 0 && raidData.nWorldLoc.z == 0) continue;
  928. drawMinimapRegionInfo(EMinimapRegionType.MRT_Raid,raidDataKeyList[i],false);
  929. }
  930. drawFactionMapIcon();
  931. }
  932. bCompleteBaseElementShow = true;
  933. }
  934. function setDirIconDest()
  935. {
  936. local vector playerPos, questLoc;
  937. local string questTooltipStr;
  938. playerPos = GetPlayerPosition();
  939. m_MiniMap.SetDirIconDest( EMinimapTargetIcon.TARGET_ME, playerPos, GetSystemString(887) );
  940. questLoc = QuestTreeWnd(GetScript("QuestTreeWnd")).getCurrentQuestDirectTargetPos();
  941. questTooltipStr = QuestTreeWnd(GetScript("QuestTreeWnd")).getCurrentQuestDirectTargetString();
  942. if (questTooltipStr != "")
  943. {
  944. m_MiniMap.SetDirIconDest( EMinimapTargetIcon.TARGET_QUEST, questLoc, questTooltipStr);
  945. }
  946. }
  947. function ContinentLoc()
  948. {
  949. local Vector MyPosition;
  950. MyPosition = GetPlayerPosition();
  951. if (m_MiniMap.GetContinent(MyPosition) == 1)
  952. {
  953. SetContinent(1);
  954. m_MapSelectTab.SetTopOrder(0, true);
  955. }
  956. else if (m_MiniMap.GetContinent(MyPosition) == 0)
  957. {
  958. SetContinent(0);
  959. m_MapSelectTab.SetTopOrder(1, true);
  960. }
  961. }
  962. function SetCurrentLocation()
  963. {
  964. local string ZoneName;
  965. ZoneName=GetCurrentZoneName();
  966. class'UIAPI_TEXTBOX'.static.SetText("Minimapwnd.txtVarCurLoc", ZoneName);
  967. }
  968. function OnHide()
  969. {
  970. if( m_MinimapMissionWnd.IsShowWindow() )
  971. {
  972. m_MinimapMissionWnd.HideWindow();
  973. }
  974. class'AudioAPI'.static.PlaySound( "interfacesound.Interface.map_close_01" );
  975. initServerInfoArray();
  976. initServerButton();
  977. Me.KillTimer( TIMER_ID );
  978. m_MiniMap.EraseRegionInfoCtrl(EMinimapRegionType.MRT_Etc, OTHER_HIGHLIGHT_ICON_INDEX) ;
  979. }
  980. function HandlePartyMemberChanged( String a_Param )
  981. {
  982. ParseInt( a_Param, "PartyMemberCount", m_PartyMemberCount );
  983. }
  984. function bool IsExpandState()
  985. {
  986. local int w, h;
  987. GetWindowHandle(m_WindowName).GetWindowSize(w, h);
  988. if (w >= 800) return true;
  989. return false;
  990. }
  991. function HandleShowMinimap( String a_Param )
  992. {
  993. if(IsShowWindow("MinimapWnd"))
  994. {
  995. HideWindow("MinimapWnd");
  996. }
  997. else
  998. {
  999. ShowWindowWithFocus("MinimapWnd");
  1000. }
  1001. }
  1002. function HandleMinimapAddTarget( String a_Param )
  1003. {
  1004. local Vector Loc;
  1005. if( ParseFloat( a_Param, "X", Loc.x )
  1006. && ParseFloat( a_Param, "Y", Loc.y )
  1007. && ParseFloat( a_Param, "Z", Loc.z ) )
  1008. {
  1009. class'UIAPI_MINIMAPCTRL'.static.AddTarget( "MinimapWnd.Minimap", Loc );
  1010. class'UIAPI_MINIMAPCTRL'.static.AdjustMapView( "MinimapWnd.Minimap", Loc, false, false);
  1011. }
  1012. }
  1013. function HandleMinimapDeleteTarget( String a_Param )
  1014. {
  1015. local Vector Loc;
  1016. local int LocX;
  1017. local int LocY;
  1018. local int LocZ;
  1019. if( ParseInt( a_Param, "X", LocX )
  1020. && ParseInt( a_Param, "Y", LocY )
  1021. && ParseInt( a_Param, "Z", LocZ ) )
  1022. {
  1023. Loc.x = float(LocX);
  1024. Loc.y = float(LocY);
  1025. Loc.z = float(LocZ);
  1026. class'UIAPI_MINIMAPCTRL'.static.DeleteTarget( "MinimapWnd.Minimap", Loc );
  1027. }
  1028. }
  1029. function HandleMinimapDeleteAllTarget()
  1030. {
  1031. class'UIAPI_MINIMAPCTRL'.static.DeleteAllTarget( "MinimapWnd.Minimap" );
  1032. }
  1033. function HandleMinimapShowQuest()
  1034. {
  1035. class'UIAPI_MINIMAPCTRL'.static.SetShowQuest( "MinimapWnd.Minimap", true );
  1036. }
  1037. function HandleMinimapHideQuest()
  1038. {
  1039. class'UIAPI_MINIMAPCTRL'.static.SetShowQuest( "MinimapWnd.Minimap", false );
  1040. }
  1041. function OnComboBoxItemSelected( string sName, int index )
  1042. {
  1043. switch (sName)
  1044. {
  1045. case "FloorComboBox":
  1046. select_floor(index);
  1047. break;
  1048. }
  1049. }
  1050. function select_floor(int index)
  1051. {
  1052. local int tmpNum;
  1053. local string WndName;
  1054. local string ComboBoxName;
  1055. WndName = currentWndName();
  1056. ComboBoxName = WndName$".FloorComboBox";
  1057. tmpNum=index+1;
  1058. class'UIAPI_MINIMAPCTRL'.static.ShowCertainLayer(WndName$".Minimap",tmpNum);
  1059. class'UIAPI_COMBOBOX'.static.SetSelectedNum( ComboBoxName, index);
  1060. }
  1061. function OnClickButton( String a_ButtonID )
  1062. {
  1063. switch( a_ButtonID )
  1064. {
  1065. case "MyLocButton":
  1066. OnClickMyLocButton();
  1067. break;
  1068. case "PartyLocButton":
  1069. OnClickPartyLocButton();
  1070. break;
  1071. case "OpenGuideWnd":
  1072. if( m_MinimapMissionWnd.IsShowWindow() )
  1073. {
  1074. isNoShowMissionWindow = 1;
  1075. SetInIBool ( "MinimapWnd", "l", numToBool(isNoShowMissionWindow), "windowsInfo.ini");
  1076. m_MinimapMissionWnd.HideWindow();
  1077. }
  1078. else
  1079. {
  1080. isNoShowMissionWindow = 0;
  1081. SetInIBool ( "MinimapWnd", "l", numToBool(isNoShowMissionWindow), "windowsInfo.ini");
  1082. m_MinimapMissionWnd.ShowWindow();
  1083. m_MinimapMissionWnd.SetFocus();
  1084. }
  1085. break;
  1086. case "btnReduce" :
  1087. OnClickReduceButton();
  1088. break;
  1089. case "MapSelectTab1":
  1090. if (IsExpandState()) setMapSize(true);
  1091. SetContinent(0);
  1092. InitializeLocation();
  1093. class'UIAPI_MINIMAPCTRL'.static.DeleteAllCursedWeaponIcon("MinimapWnd.Minimap");
  1094. if(isActiveCursedWeapon()) class'MiniMapAPI'.static.RequestCursedWeaponLocation();
  1095. setDirIconDest();
  1096. break;
  1097. case "MapSelectTab0":
  1098. if ( getInstanceUIData().getisClassicServer() ) return;
  1099. if (IsExpandState()) setMapSize(true);
  1100. SetContinent(1);
  1101. class'UIAPI_MINIMAPCTRL'.static.DeleteAllCursedWeaponIcon("MinimapWnd.Minimap");
  1102. if(isActiveCursedWeapon()) class'MiniMapAPI'.static.RequestCursedWeaponLocation();
  1103. InitializeLocation();
  1104. setDirIconDest();
  1105. break;
  1106. case "ExpandButton" :
  1107. expandMapSize();
  1108. break;
  1109. case "ServerInfo01_Button" :
  1110. case "ServerInfo02_Button" :
  1111. case "ServerInfo03_Button" :
  1112. case "ServerInfo04_Button" :
  1113. clickServerInfoButton(a_ButtonID);
  1114. break;
  1115. }
  1116. }
  1117. function bool isSameContinent()
  1118. {
  1119. return (m_MiniMap.GetContinent( GetPlayerPosition() ) == m_CurContinent);
  1120. }
  1121. function expandMapSize(optional bool bForceExpandSize)
  1122. {
  1123. local int gWidth, gHeight;
  1124. me.GetWindowSize(gWidth, gHeight);
  1125. Debug("bIsTownMap" @ bIsTownMap);
  1126. Debug("nTownMapZoneID" @ nTownMapZoneID);
  1127. Debug("GetCurrentZoneID()" @ GetCurrentZoneID());
  1128. if(800 <= gWidth)
  1129. {
  1130. setMapSize(false);
  1131. GetButtonHandle(m_WindowName $ ".ExpandButton").SetButtonName(1474);
  1132. if(m_MiniMap.GetContinent( GetPlayerPosition() ) == m_CurContinent)
  1133. {
  1134. if (!bIsTownMap)
  1135. {
  1136. AdjustMapToPlayerPosition( bIsTownMap );
  1137. }
  1138. else
  1139. {
  1140. if(nTownMapZoneID == GetCurrentZoneID() || nTownMapZoneID == 0) AdjustMapToPlayerPosition( bIsTownMap );
  1141. }
  1142. }
  1143. }
  1144. else
  1145. {
  1146. smallMapRect = Me.GetRect();
  1147. setMapSize(true);
  1148. GetButtonHandle(m_WindowName $ ".ExpandButton").SetButtonName(2734);
  1149. if(m_MiniMap.GetContinent( GetPlayerPosition() ) == m_CurContinent)
  1150. {
  1151. if (!bIsTownMap)
  1152. {
  1153. AdjustMapToPlayerPosition( bIsTownMap );
  1154. }
  1155. else
  1156. {
  1157. if(nTownMapZoneID == GetCurrentZoneID() || nTownMapZoneID == 0) AdjustMapToPlayerPosition( bIsTownMap );
  1158. }
  1159. }
  1160. }
  1161. }
  1162. function setMapSize(bool bBigSize)
  1163. {
  1164. local int wSum, hSum, moveX, moveY;
  1165. local Rect rect;
  1166. if(bBigSize)
  1167. {
  1168. rect = me.GetRect();
  1169. wSum = 377 + getExtendMapSize() - 800;
  1170. if (getInstanceUIData().getScreenHeight() >= 1024)
  1171. hSum = 1024;
  1172. else
  1173. hSum = getInstanceUIData().getScreenHeight();
  1174. me.SetWindowSize(getExtendMapSize(), hSum);
  1175. m_MiniMap.SetWindowSize(411 + wSum, hSum - 95);
  1176. GetTextureHandle(m_WindowName $ ".texShadowBottom").SetWindowSize(411 + wSum, 43);
  1177. GetTextureHandle(m_WindowName $ ".TexMapStroke").SetWindowSize(413 + wSum, hSum - 93);
  1178. GetTextureHandle(m_WindowName $ ".TexMapStrokeGrow").SetWindowSize(413 + wSum, hSum - 93);
  1179. GetTextureHandle(m_WindowName $ ".texShadowTop").SetWindowSize(411 + wSum, 43);
  1180. GetTextureHandle(m_WindowName $ ".TabBg").SetWindowSize(424 + wSum, hSum - 59);
  1181. if ( getInstanceUIData().getisClassicServer() )
  1182. {
  1183. TabBg_Line.SetWindowSize( 318 + wSum + 86 , 23);
  1184. TabBg_Line.SetAnchor( m_WindowName, "TopLeft", "TopLeft", 101 , 31);
  1185. }
  1186. else
  1187. {
  1188. TabBg_Line.SetWindowSize( 140 + wSum + 86, 23);
  1189. TabBg_Line.SetAnchor( m_WindowName, "TopLeft", "TopLeft", 193 , 31);
  1190. }
  1191. moveX = rect.nX;
  1192. moveY = 1;
  1193. if(rect.nX + getExtendMapSize() > getInstanceUIData().getScreenWidth())
  1194. moveX = getInstanceUIData().getScreenWidth() - getExtendMapSize();
  1195. me.MoveTo(moveX, moveY);
  1196. }
  1197. else
  1198. {
  1199. me.MoveTo(smallMapRect.nX, smallMapRect.nY);
  1200. me.SetWindowSize(423, 508);
  1201. m_MiniMap.SetWindowSize(411, 413);
  1202. GetTextureHandle(m_WindowName $ ".texShadowBottom").SetWindowSize(411, 43);
  1203. GetTextureHandle(m_WindowName $ ".TexMapStroke").SetWindowSize(413, 415);
  1204. GetTextureHandle(m_WindowName $ ".TexMapStrokeGrow").SetWindowSize(413, 415);
  1205. GetTextureHandle(m_WindowName $ ".TabBg").SetWindowSize(424, 447);
  1206. if ( getInstanceUIData().getisClassicServer() )
  1207. {
  1208. TabBg_Line.SetWindowSize( 318 + 86 , 23);
  1209. TabBg_Line.SetAnchor( m_WindowName, "TopLeft", "TopLeft", 101 , 31);
  1210. }
  1211. else
  1212. {
  1213. TabBg_Line.SetWindowSize( 140 + 86, 23);
  1214. TabBg_Line.SetAnchor( m_WindowName, "TopLeft", "TopLeft", 193 , 31);
  1215. }
  1216. }
  1217. if (m_MinimapMissionWnd.IsShowWindow()) m_MinimapMissionWnd.SetFocus();
  1218. }
  1219. function int getExtendMapSize()
  1220. {
  1221. local int nSize;
  1222. if ( getInstanceUIData().getisClassicServer() )
  1223. {
  1224. nSize = 1024;
  1225. }
  1226. else
  1227. {
  1228. if(m_MapSelectTab.GetTopIndex() == 0)
  1229. {
  1230. nSize = 834;
  1231. }
  1232. else
  1233. {
  1234. nSize = 1024;
  1235. }
  1236. }
  1237. return nSize;
  1238. }
  1239. function OnClickReduceButton()
  1240. {
  1241. Debug("OnClickReduceButton");
  1242. class'UIAPI_MINIMAPCTRL'.static.RequestReduceBtn("MinimapWnd.Minimap");
  1243. HideWindow("MinimapWnd.btnReduce");
  1244. HandleZoneTitle();
  1245. }
  1246. function OnClickTargetButton()
  1247. {
  1248. if( GetQuestLocation(QuestLocation ) )
  1249. {
  1250. SetLocContinent(QuestLocation);
  1251. class'UIAPI_MINIMAPCTRL'.static.AdjustMapView( "MinimapWnd.Minimap", QuestLocation, false );
  1252. if( QuestLocation.x ==19714 && QuestLocation.y == 243420 && QuestLocation.z == -205)
  1253. {
  1254. OnClickReduceButton();
  1255. }
  1256. else if (QuestLocation.x ==8800 && QuestLocation.y == 251652 && QuestLocation.z == -2032 )
  1257. {
  1258. OnClickReduceButton();
  1259. }
  1260. else if (QuestLocation.x ==27491 && QuestLocation.y == 247340 && QuestLocation.z == -3256 )
  1261. {
  1262. OnClickReduceButton();
  1263. }
  1264. }
  1265. }
  1266. function OnClickMyLocButton()
  1267. {
  1268. AdjustMapToPlayerPosition( true );
  1269. }
  1270. function AdjustMapToPlayerPosition( bool a_ZoomToTownMap )
  1271. {
  1272. local Vector PlayerPosition;
  1273. PlayerPosition = GetPlayerPosition();
  1274. SetLocContinent(PlayerPosition);
  1275. class'UIAPI_MINIMAPCTRL'.static.AdjustMapView( "MinimapWnd.Minimap", PlayerPosition, a_ZoomToTownMap );
  1276. }
  1277. function OnClickPartyLocButton()
  1278. {
  1279. local Vector PartyMemberLocation;
  1280. m_PartyMemberCount = GetPartyMemberCount();
  1281. if( 0 == m_PartyMemberCount )
  1282. return;
  1283. m_PartyLocIndex = ( m_PartyLocIndex + 1 ) % m_PartyMemberCount;
  1284. if( GetPartyMemberLocation( m_PartyLocIndex, PartyMemberLocation ) )
  1285. {
  1286. SetLocContinent(PartyMemberLocation);
  1287. class'UIAPI_MINIMAPCTRL'.static.AdjustMapView( "MinimapWnd.Minimap", PartyMemberLocation, false );
  1288. }
  1289. }
  1290. function HandleCursedWeaponLoctaion( string param )
  1291. {
  1292. local int num;
  1293. local int itemID;
  1294. local int itemID1;
  1295. local int itemID2;
  1296. local int isowndedo;
  1297. local int isownded1;
  1298. local int isownded2;
  1299. local int x;
  1300. local int y;
  1301. local int z;
  1302. local int i;
  1303. local Vector CursedWeaponLoc1;
  1304. local Vector CursedWeaponLoc2;
  1305. local string cursedName;
  1306. local string cursedName1;
  1307. local string cursedName2;
  1308. local Vector cursedWeaponLocation;
  1309. local bool combined;
  1310. ParseInt( param, "NUM", num );
  1311. if(num == 0)
  1312. {
  1313. class'UIAPI_MINIMAPCTRL'.static.DeleteAllCursedWeaponIcon( "MinimapWnd.Minimap");
  1314. return;
  1315. }
  1316. else
  1317. {
  1318. for(i=0; i < num; i++)
  1319. {
  1320. ParseInt( param, "ID" $ i, itemID );
  1321. ParseString( param, "NAME" $ i, cursedName );
  1322. ParseInt( param, "ISOWNED" $ i, isowndedo );
  1323. ParseInt( param, "X" $ i, x );
  1324. ParseInt( param, "Y" $ i, y );
  1325. ParseInt( param, "Z" $ i, z );
  1326. cursedWeaponLocation.x = x;
  1327. cursedWeaponLocation.y = y;
  1328. cursedWeaponLocation.z = z;
  1329. Normal(cursedWeaponLocation);
  1330. if( itemID == 8190 )
  1331. {
  1332. itemID1 = itemID;
  1333. cursedName1 = cursedName;
  1334. isownded1 = isowndedo;
  1335. CursedWeaponLoc1.x = cursedWeaponLocation.x;
  1336. CursedWeaponLoc1.y = cursedWeaponLocation.y;
  1337. CursedWeaponLoc1.z = cursedWeaponLocation.z;
  1338. Normal(CursedWeaponLoc1);
  1339. }
  1340. else
  1341. {
  1342. itemID2 = itemID;
  1343. cursedName2 = cursedName;
  1344. isownded2 = isowndedo;
  1345. CursedWeaponLoc2.x = cursedWeaponLocation.x;
  1346. CursedWeaponLoc2.y = cursedWeaponLocation.y;
  1347. CursedWeaponLoc2.z = cursedWeaponLocation.z;
  1348. Normal(CursedWeaponLoc2);
  1349. }
  1350. }
  1351. }
  1352. if(num == 1)
  1353. {
  1354. if( itemID == 8190 )
  1355. {
  1356. DrawCursedWeapon("MinimapWnd.Minimap", itemID1, cursedName1, CursedWeaponLoc1, isownded1==0 , true);
  1357. setServerParse(MapServerInfoType.CURSEDWEAPON_MAGICAL, "", true, CursedWeaponLoc1);
  1358. }
  1359. else
  1360. {
  1361. DrawCursedWeapon("MinimapWnd.Minimap", itemID2, cursedName2, CursedWeaponLoc2, isownded2==0 , true);
  1362. setServerParse(MapServerInfoType.CURSEDWEAPON_BLOOD, "", true, CursedWeaponLoc2);
  1363. }
  1364. }
  1365. else if(num == 2)
  1366. {
  1367. combined = class'UIAPI_MINIMAPCTRL'.static.IsOverlapped("MinimapWnd.Minimap", CursedWeaponLoc1.x, CursedWeaponLoc1.y, CursedWeaponLoc2.x, CursedWeaponLoc2.y);
  1368. if(combined)
  1369. {
  1370. class'UIAPI_MINIMAPCTRL'.static.DrawGridIcon( "MinimapWnd.Minimap","L2UI_CH3.MiniMap.cursedmapicon00","L2UI_CH3.MiniMap.cursedmapicon00", cursedWeaponLoc1,true, 0, -12, cursedName1$"\\n"$cursedName2);
  1371. }
  1372. else
  1373. {
  1374. DrawCursedWeapon("MinimapWnd.Minimap", itemID1, cursedName1, CursedWeaponLoc1, isownded1==0 , true);
  1375. DrawCursedWeapon("MinimapWnd.Minimap", itemID2, cursedName2, CursedWeaponLoc2, isownded2==0 , false);
  1376. }
  1377. setServerParse(MapServerInfoType.CURSEDWEAPON_MAGICAL, "", true, CursedWeaponLoc1);
  1378. setServerParse(MapServerInfoType.CURSEDWEAPON_BLOOD, "", true, CursedWeaponLoc2);
  1379. }
  1380. }
  1381. function DrawCursedWeapon(string WindowName, int itemID, string cursedName, Vector vecLoc, bool bDropped, bool bRefresh)
  1382. {
  1383. local string itemIconName;
  1384. if(itemID == 8190)
  1385. {
  1386. ItemIconName = "L2UI_CH3.MiniMap.cursedmapicon01";
  1387. }
  1388. else if(itemID == 8689)
  1389. {
  1390. ItemIconName ="L2UI_CH3.MiniMap.cursedmapicon02";
  1391. }
  1392. if(bDropped) ItemIconName = ItemIconName$"_drop";
  1393. class'UIAPI_MINIMAPCTRL'.static.DrawGridIcon(WindowName, ItemIconName, "L2UI_CH3.MiniMap.cursedmapicon00", vecLoc, bRefresh, 0, -12, cursedName);
  1394. }
  1395. function HandleUpdateGameTime(string a_Param)
  1396. {
  1397. local int GameHour;
  1398. local int GameMinute;
  1399. local string GameTimeString;
  1400. ParseInt(a_Param, "GameHour", GameHour);
  1401. ParseInt(a_Param, "GameMinute", GameMinute);
  1402. GameTimeString = "";
  1403. if ( me.IsShowWindow() )
  1404. {
  1405. DelayRequestSeedInfo ++;
  1406. if ( DelayRequestSeedInfo == 60 )
  1407. {
  1408. Class'MiniMapAPI'.static.RequestSeedPhase();
  1409. }
  1410. }
  1411. SelectSunOrMoon(GameHour);
  1412. if ( GameHour == 0 ) GameHour = 12;
  1413. GameTimeString = GameTimeString $ string(GameHour) $ " : ";
  1414. if(GameMinute<10)
  1415. GameTimeString = GameTimeString $ "0" $ string(GameMinute);
  1416. else
  1417. GameTimeString = GameTimeString $ string(GameMinute);
  1418. class'UIAPI_TEXTBOX'.static.SetText("MinimapWnd.txtGameTime", GameTimeString);
  1419. }
  1420. function HandleMinimapTravel( String a_Param )
  1421. {
  1422. local int TravelX;
  1423. local int TravelY;
  1424. if( !ParseInt( a_Param, "TravelX", TravelX ) )
  1425. return;
  1426. if( !ParseInt( a_Param, "TravelY", TravelY ) )
  1427. return;
  1428. ExecuteCommand( "
  1429. }
  1430. function SelectSunOrMoon(int GameHour)
  1431. {
  1432. if ( GameHour >= 6 && GameHour <= 24 )
  1433. {
  1434. ShowWindow("MinimapWnd.texSun");
  1435. HideWindow("MinimapWnd.texMoon");
  1436. }
  1437. else
  1438. {
  1439. ShowWindow("MinimapWnd.texMoon");
  1440. HideWindow("MinimapWnd.texSun");
  1441. }
  1442. }
  1443. function InitializeLocationByContinent()
  1444. {
  1445. local Vector Location;
  1446. if (m_CurContinent == 0)
  1447. {
  1448. Location.x = -86916;
  1449. Location.y = 222183;
  1450. Location.z = -4656;
  1451. }
  1452. else if (m_CurContinent == 1)
  1453. {
  1454. Location.x = -181823;
  1455. Location.y = 224580;
  1456. Location.z = -4104;
  1457. }
  1458. m_MiniMap.adjustMapView(Location, false);
  1459. }
  1460. function InitializeLocation()
  1461. {
  1462. local Vector MyPosition;
  1463. MyPosition = GetPlayerPosition();
  1464. if ( m_MiniMap.GetContinent( MyPosition ) == m_CurContinent )
  1465. {
  1466. m_MiniMap.adjustMapView(MyPosition, true);
  1467. }
  1468. else InitializeLocationByContinent();
  1469. }
  1470. function checkClassicForm()
  1471. {
  1472. if ( getInstanceUIData().getisClassicServer() )
  1473. {
  1474. m_MapSelectTab.SetTopOrder(0, false);
  1475. m_MapSelectTab.SetButtonDisableTexture(1, "L2UI_ct1.Misc_DF_Blank");
  1476. m_MapSelectTab.SetButtonName(0, GetSystemString(1769));
  1477. m_MapSelectTab.SetDisable(1, true);
  1478. m_MapSelectTab.SetButtonName(1, "");
  1479. TabBg_Line.SetWindowSize( 318 + 86, 23);
  1480. TabBg_Line.SetAnchor( m_WindowName, "TopLeft", "TopLeft", 101 , 31);
  1481. }
  1482. else
  1483. {
  1484. m_MapSelectTab.SetButtonName(0, GetSystemString(1768));
  1485. m_MapSelectTab.SetButtonName(1, getSystemString (1769));
  1486. m_MapSelectTab.SetDisable(1, false);
  1487. TabBg_Line.SetWindowSize( 140 + 86 , 23);
  1488. TabBg_Line.SetAnchor( m_WindowName, "TopLeft", "TopLeft", 193 , 31);
  1489. }
  1490. }
  1491. function SetContinent(int continent)
  1492. {
  1493. m_CurContinent = continent;
  1494. m_MiniMap.SetContinent(m_CurContinent);
  1495. if (m_CurContinent == 1)
  1496. m_MapSelectTab.SetTopOrder(0, true);
  1497. else if(m_CurContinent == 0)
  1498. m_MapSelectTab.SetTopOrder(1, true);
  1499. if (IsExpandState()) setMapSize(true);
  1500. }
  1501. function SetLocContinent(vector loc)
  1502. {
  1503. m_CurContinent = m_MiniMap.GetContinent(loc);
  1504. SetContinent(m_CurContinent);
  1505. }
  1506. function showAllRegionIcon(bool bShow)
  1507. {
  1508. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Castle, bShow);
  1509. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Fortress, bShow);
  1510. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Agit, bShow);
  1511. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_HuntingZone_Base, bShow);
  1512. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Etc, bShow);
  1513. if(bShow && MinimapMissionWndScript.isShowHuntingZone())
  1514. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_HuntingZone_Mission, true);
  1515. else
  1516. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_HuntingZone_Mission, false);
  1517. if(MinimapMissionWndScript.isShowInzone())
  1518. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_InstantZone, true);
  1519. else
  1520. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_InstantZone, false);
  1521. if(bShow && MinimapMissionWndScript.isShowRaid())
  1522. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Raid, true);
  1523. else
  1524. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Raid, false);
  1525. }
  1526. function showRegionIcon(int nRegionType, bool bShow)
  1527. {
  1528. if (nRegionType == EMinimapRegionType.MRT_Castle)
  1529. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Castle, bShow);
  1530. else if (nRegionType == EMinimapRegionType.MRT_Fortress)
  1531. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Fortress, bShow);
  1532. else if (nRegionType == EMinimapRegionType.MRT_Agit)
  1533. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Agit, bShow);
  1534. else if (nRegionType == EMinimapRegionType.MRT_HuntingZone_Base)
  1535. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_HuntingZone_Base, bShow);
  1536. else if (nRegionType == EMinimapRegionType.MRT_Etc)
  1537. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Etc, bShow);
  1538. else if (nRegionType == EMinimapRegionType.MRT_HuntingZone_Mission)
  1539. {
  1540. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_HuntingZone_Mission, bShow);
  1541. Debug("SetShowRegionInfoByType.MRT_HuntingZone_Mission ->" @ bShow);
  1542. }
  1543. else if (nRegionType == EMinimapRegionType.MRT_InstantZone)
  1544. {
  1545. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_InstantZone, bShow);
  1546. Debug("SetShowRegionInfoByType.MRT_InstantZone ->" @ bShow);
  1547. }
  1548. else if (nRegionType == EMinimapRegionType.MRT_Raid)
  1549. {
  1550. m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Raid, bShow);
  1551. Debug("SetShowRegionInfoByType.MRT_Raid ->" @ bShow);
  1552. }
  1553. }
  1554. function initServerButton()
  1555. {
  1556. ServerInfo01_Button.HideWindow();
  1557. ServerInfo02_Button.HideWindow();
  1558. ServerInfo03_Button.HideWindow();
  1559. ServerInfo04_Button.HideWindow();
  1560. GetTextureHandle(m_WindowName $ ".texShadowTop").HideWindow();
  1561. }
  1562. function initServerInfoArray()
  1563. {
  1564. local Vector loc;
  1565. serverInfoArray.Remove(0, serverInfoArray.Length);
  1566. serverInfoArray[serverInfoArray.Length] = setServerInfoButton(false, "L2UI_CT1.Minimap.map_siege_i00", "L2UI_CT1.Minimap.map_siege_i00_Down", "L2UI_CT1.Minimap.map_siege_i00_Over",
  1567. MapServerInfoType.SIEGEWARFARE, GetSystemString(3534), "", loc);
  1568. serverInfoArray[serverInfoArray.Length] = setServerInfoButton(false, "L2UI_CT1.Minimap.map_siege_demension_i00", "L2UI_CT1.Minimap.map_siege_demension_i00_Down", "L2UI_CT1.Minimap.map_siege_demension_i00_Over",
  1569. MapServerInfoType.SIEGEWARFARE_DIMENSION, GetSystemString(3535), GetSystemMessage(4), loc);
  1570. serverInfoArray[serverInfoArray.Length] = setServerInfoButton(false, "L2UI_CT1.Minimap.map_raid_demension_i00", "L2UI_CT1.Minimap.map_raid_demension_i00_Down", "L2UI_CT1.Minimap.map_raid_demension_i00_Over",
  1571. MapServerInfoType.RAID_DIMENSION, GetSystemString(3536), GetSystemMessage(6), loc);
  1572. serverInfoArray[serverInfoArray.Length] = setServerInfoButton(false, "L2UI_CT1.Minimap.map_cursed_weapon_i01", "L2UI_CT1.Minimap.map_cursed_weapon_i01_Down", "L2UI_CT1.Minimap.map_cursed_weapon_i01_Over",
  1573. MapServerInfoType.CURSEDWEAPON_MAGICAL, MakeFullSystemMsg(GetSystemMessage(4437), GetSystemString(1464)), "", loc);
  1574. serverInfoArray[serverInfoArray.Length] = setServerInfoButton(false, "L2UI_CT1.Minimap.map_cursed_weapon_i00", "L2UI_CT1.Minimap.map_cursed_weapon_i00_Down", "L2UI_CT1.Minimap.map_cursed_weapon_i00_Over",
  1575. MapServerInfoType.CURSEDWEAPON_BLOOD, MakeFullSystemMsg(GetSystemMessage(4437), GetSystemString(1499)), "", loc);
  1576. serverInfoArray[serverInfoArray.Length] = setServerInfoButton(false, "L2UI_CT1.Minimap.map_auction_i00", "L2UI_CT1.Minimap.map_auction_i00_Down", "L2UI_CT1.Minimap.map_auction_i00_Over",
  1577. MapServerInfoType.AUCTION, GetSystemString(3538), "", loc);
  1578. serverInfoArray[serverInfoArray.Length] = setServerInfoButton(false, "L2UI_CT1.Minimap.map_siege_kserth_i00", "L2UI_CT1.Minimap.map_siege_kserth_i00_Down", "L2UI_CT1.Minimap.map_siege_kserth_i00_Over",
  1579. MapServerInfoType.DEFENSEWARFARE, GetSystemString(3540), "", loc);
  1580. }
  1581. function MapServerInfo setServerInfoButton(bool bUse, string normalTex, string pushedTex, string highlightTex, int nServerInfoType,
  1582. string toolTipString, string buttonName, Vector clickedLoc)
  1583. {
  1584. local MapServerInfo severInfo;
  1585. severInfo.bUse = bUse;
  1586. severInfo.normalTex = normalTex;
  1587. severInfo.pushedTex = pushedTex;
  1588. severInfo.highlightTex = highlightTex;
  1589. severInfo.nServerInfoType = nServerInfoType;
  1590. severInfo.toolTipString = toolTipString;
  1591. severInfo.buttonName = buttonName;
  1592. severInfo.clickedLocClickCount = 0;
  1593. return severInfo;
  1594. }
  1595. function setServerButton(ButtonHandle serverButton, int nServerInfoType, MapServerInfo mServerInfo)
  1596. {
  1597. if(mServerInfo.bUse)
  1598. {
  1599. serverButton.ShowWindow();
  1600. serverButton.SetTexture(mServerInfo.normalTex, mServerInfo.pushedTex, mServerInfo.highlightTex);
  1601. serverButton.SetTooltipCustomType(MakeTooltipSimpleText(mServerInfo.toolTipString));
  1602. serverInfoArray[nServerInfoType].buttonName = serverButton.GetWindowName();
  1603. }
  1604. }
  1605. function bool isActiveCursedWeapon()
  1606. {
  1607. local int i;
  1608. for (i = 0; i < serverInfoArray.Length; i++)
  1609. {
  1610. if (serverInfoArray[i].nServerInfoType == MapServerInfoType.CURSEDWEAPON_MAGICAL ||
  1611. serverInfoArray[i].nServerInfoType == MapServerInfoType.CURSEDWEAPON_BLOOD)
  1612. {
  1613. if(serverInfoArray[i].bUse)
  1614. {
  1615. Debug("-> ¸¶°Ë Ç÷°ËÀÌ È°¼ºÈ­ µÇ¾î ÀÖÀ½");
  1616. return true;
  1617. }
  1618. }
  1619. }
  1620. return false;
  1621. }
  1622. function int getServerNData(int serverInfoType)
  1623. {
  1624. local int i;
  1625. for (i = 0; i < serverInfoArray.Length; i++)
  1626. {
  1627. if (serverInfoArray[i].nServerInfoType == serverInfoType)
  1628. {
  1629. return serverInfoArray[i].nData;
  1630. }
  1631. }
  1632. return 0;
  1633. }
  1634. function clickServerInfoButton(string clickButtonName)
  1635. {
  1636. local int i, n, clickCount, addIconX, addIconY;
  1637. local MinimapRegionIconData iconData, emptyIconData;
  1638. for (i = 0; i < serverInfoArray.Length; i++)
  1639. {
  1640. if(serverInfoArray[i].buttonName == clickButtonName)
  1641. {
  1642. Debug("¹öư ´©¸§ (¼­¹ö ¹öư) , ¼­¹öŸÀÔÀº?:" @ serverInfoArray[i].nServerInfoType @ ", click Array :" @ serverInfoArray[i].clickedLocArray.Length );
  1643. Debug("nRegionID" @ serverInfoArray[i].nRegionID);
  1644. if(serverInfoArray[i].clickedLocArray.Length > 0)
  1645. {
  1646. clickCount = serverInfoArray[i].clickedLocClickCount;
  1647. iconData = emptyIconData;
  1648. addIconX = 0;
  1649. addIconY = 0;
  1650. Debug("serverInfoArray[i].clickedLoc.x " @ serverInfoArray[i].clickedLocArray[clickCount].x);
  1651. Debug("serverInfoArray[i].clickedLoc.y " @ serverInfoArray[i].clickedLocArray[clickCount].y);
  1652. Debug("serverInfoArray[i].clickedLoc.z " @ serverInfoArray[i].clickedLocArray[clickCount].z);
  1653. if (serverInfoArray[i].clickedLocArray[clickCount].x != 0 ||
  1654. serverInfoArray[i].clickedLocArray[clickCount].y != 0 ||
  1655. serverInfoArray[i].clickedLocArray[clickCount].z != 0)
  1656. {
  1657. if (serverInfoArray[i].nRegionID > 0)
  1658. {
  1659. GetMinimapRegionIconData(serverInfoArray[i].nRegionID, iconData);
  1660. }
  1661. if (serverInfoArray[i].nServerInfoType == MapServerInfoType.CURSEDWEAPON_MAGICAL ||
  1662. serverInfoArray[i].nServerInfoType == MapServerInfoType.CURSEDWEAPON_BLOOD)
  1663. {
  1664. Debug("--> ¸¶°Ë Ç÷°Ë ¼­¹ö ¹öưÀ¸·Î °»½Å");
  1665. class'UIAPI_MINIMAPCTRL'.static.DeleteAllCursedWeaponIcon("MinimapWnd.Minimap");
  1666. class'MiniMapAPI'.static.RequestCursedWeaponLocation();
  1667. SetLocContinent(serverInfoArray[i].clickedLocArray[clickCount]);
  1668. }
  1669. else
  1670. {
  1671. SetLocContinent(serverInfoArray[i].clickedLocArray[clickCount]);
  1672. mapIconHighlight(serverInfoArray[i].clickedLocArray[clickCount], iconData, addIconX, addIconY);
  1673. }
  1674. OnClickReduceButton();
  1675. class'UIAPI_MINIMAPCTRL'.static.AdjustMapView( "MinimapWnd.Minimap", serverInfoArray[i].clickedLocArray[clickCount], false);
  1676. }
  1677. else
  1678. {
  1679. AddSystemMessage(4431);
  1680. }
  1681. if (serverInfoArray[i].clickedLocArray.Length > serverInfoArray[i].clickedLocClickCount + 1)
  1682. serverInfoArray[i].clickedLocClickCount++;
  1683. else
  1684. serverInfoArray[i].clickedLocClickCount = 0;
  1685. }
  1686. break;
  1687. }
  1688. }
  1689. }
  1690. function refreshServerInfoButton()
  1691. {
  1692. local int i;
  1693. local bool bUse;
  1694. initServerButton();
  1695. for (i = 0; i < serverInfoArray.Length; i++)
  1696. {
  1697. setServerButton(getServerInfoButton(), i, serverInfoArray[i]);
  1698. if (serverInfoArray[i].bUse) bUse = true;
  1699. }
  1700. if (bUse) GetTextureHandle(m_WindowName $ ".texShadowTop").ShowWindow();
  1701. else GetTextureHandle(m_WindowName $ ".texShadowTop").HideWindow();
  1702. }
  1703. function ButtonHandle getServerInfoButton()
  1704. {
  1705. if (!ServerInfo01_Button.IsShowWindow()) return ServerInfo01_Button;
  1706. if (!ServerInfo02_Button.IsShowWindow()) return ServerInfo02_Button;
  1707. if (!ServerInfo03_Button.IsShowWindow()) return ServerInfo03_Button;
  1708. if (!ServerInfo04_Button.IsShowWindow()) return ServerInfo04_Button;
  1709. Debug("MAP ¼­¹ö ¹öưÀÌ °¡µæ á½À´Ï´Ù. 4¹ø ¹öư¿¡ ´þ¾î ¾¹´Ï´Ù.");
  1710. return ServerInfo04_Button;
  1711. }
  1712. function setServerParse(int serverInfoType, string param, bool bUse, optional Vector clickedLoc, optional int nRegionID, optional int nData)
  1713. {
  1714. if (serverInfoType == MapServerInfoType.SIEGEWARFARE)
  1715. {
  1716. if (bUse)
  1717. {
  1718. serverInfoArray[serverInfoType].bUse = true;
  1719. if(serverInfoArray[serverInfoType].szReserved == "")
  1720. serverInfoArray[serverInfoType].szReserved = param;
  1721. else
  1722. serverInfoArray[serverInfoType].szReserved = serverInfoArray[serverInfoType].szReserved $ "," $ param;
  1723. serverInfoArray[serverInfoType].toolTipString = GetSystemString(3534) $ " : " $ serverInfoArray[serverInfoType].szReserved;
  1724. if (nRegionID > 0) serverInfoArray[serverInfoType].nRegionID = nRegionID;
  1725. serverInfoArray[serverInfoType].clickedLocArray[serverInfoArray[serverInfoType].clickedLocArray.Length] = clickedLoc;
  1726. }
  1727. }
  1728. else if (serverInfoType == MapServerInfoType.SIEGEWARFARE_DIMENSION)
  1729. {
  1730. serverInfoArray[serverInfoType].bUse = bUse;
  1731. if (bUse)
  1732. {
  1733. serverInfoArray[serverInfoType].clickedLocArray[0] = setVector(147461, 8000, -592);
  1734. serverInfoArray[serverInfoType].clickedLocArray[1] = setVector(14659, -49230, -160);
  1735. }
  1736. }
  1737. else if (serverInfoType == MapServerInfoType.RAID_DIMENSION)
  1738. {
  1739. serverInfoArray[serverInfoType].bUse = bUse;
  1740. serverInfoArray[serverInfoType].clickedLocArray[0] = setVector(116503, 75392, -2712);
  1741. }
  1742. else if (serverInfoType == MapServerInfoType.CURSEDWEAPON_MAGICAL)
  1743. {
  1744. serverInfoArray[serverInfoType].bUse = bUse;
  1745. serverInfoArray[serverInfoType].clickedLocArray[0] = clickedLoc;
  1746. }
  1747. else if (serverInfoType == MapServerInfoType.CURSEDWEAPON_BLOOD)
  1748. {
  1749. serverInfoArray[serverInfoType].bUse = bUse;
  1750. serverInfoArray[serverInfoType].clickedLocArray[0] = clickedLoc;
  1751. }
  1752. else if (serverInfoType == MapServerInfoType.AUCTION)
  1753. {
  1754. serverInfoArray[serverInfoType].bUse = bUse;
  1755. serverInfoArray[serverInfoType].clickedLocArray[0] = clickedLoc;
  1756. }
  1757. else if (serverInfoType == MapServerInfoType.DEFENSEWARFARE)
  1758. {
  1759. serverInfoArray[serverInfoType].bUse = bUse;
  1760. serverInfoArray[serverInfoType].clickedLocArray[0] = setVector(-184750, 240723, 1568);
  1761. serverInfoArray[serverInfoType].nData = nData;
  1762. }
  1763. refreshServerInfoButton();
  1764. }
  1765. function drawMinimapRegionInfo(EMinimapRegionType nMinimapRegionType, int i, optional bool bActive, optional bool bUseUpdate)
  1766. {
  1767. local HuntingZoneUIData huntingZoneData;
  1768. local MinimapRegionInfo regionInfoForMapIcon;
  1769. local string toolTipParam;
  1770. local bool bEnableLevel;
  1771. local UserInfo pUserInfo;
  1772. local MinimapRegionIconData iconData;
  1773. local RaidUIData raidData;
  1774. class'UIDATA_HUNTINGZONE'.static.GetHuntingZoneData(i, huntingZoneData);
  1775. GetPlayerInfo ( pUserInfo );
  1776. regionInfoForMapIcon.eType = nMinimapRegionType;
  1777. regionInfoForMapIcon.nIndex = i;
  1778. regionInfoForMapIcon.strDesc = "";
  1779. toolTipParam = "";
  1780. if(nMinimapRegionType == EMinimapRegionType.MRT_HuntingZone_Mission)
  1781. {
  1782. bEnableLevel = tryLevelCheck(pUserInfo.nLevel, huntingZoneData.nMinLevel, huntingZoneData.nMaxLevel);
  1783. if (bEnableLevel)
  1784. {
  1785. ParamAdd(toolTipParam, "Type", String(nMinimapRegionType));
  1786. ParamAdd(toolTipParam, "Index", String(i));
  1787. iconData = makeMapIcon(nMinimapRegionType, bEnableLevel, huntingZoneData.nWorldLoc);
  1788. regionInfoForMapIcon.IconData = iconData;
  1789. regionInfoForMapIcon.strTooltip = toolTipParam;
  1790. addMapIcon(regionInfoForMapIcon, bUseUpdate);
  1791. }
  1792. }
  1793. else if(nMinimapRegionType == EMinimapRegionType.MRT_InstantZone)
  1794. {
  1795. bEnableLevel = tryLevelCheck(pUserInfo.nLevel, huntingZoneData.nMinLevel, huntingZoneData.nMaxLevel);
  1796. if (bEnableLevel)
  1797. {
  1798. ParamAdd(toolTipParam, "Type", String(nMinimapRegionType));
  1799. ParamAdd(toolTipParam, "Index", String(i));
  1800. ParamAdd(toolTipParam, "Active", String(boolToNum(bActive)));
  1801. iconData = makeMapIcon(nMinimapRegionType, bActive, huntingZoneData.nWorldLoc);
  1802. regionInfoForMapIcon.IconData = iconData;
  1803. regionInfoForMapIcon.strTooltip = toolTipParam;
  1804. addMapIcon(regionInfoForMapIcon, bUseUpdate);
  1805. }
  1806. }
  1807. else if(nMinimapRegionType == EMinimapRegionType.MRT_Raid)
  1808. {
  1809. raidData = getRaidDataByIndex(i);
  1810. bEnableLevel = tryLevelCheck(pUserInfo.nLevel, raidData.nMinLevel, raidData.nMaxLevel);
  1811. if (bEnableLevel)
  1812. {
  1813. ParamAdd(toolTipParam, "Type", String(nMinimapRegionType));
  1814. ParamAdd(toolTipParam, "Index", String(i));
  1815. ParamAdd(toolTipParam, "active", String(boolToNum(bActive)));
  1816. iconData = makeMapIcon(nMinimapRegionType, bActive, raidData.nWorldLoc);
  1817. regionInfoForMapIcon.IconData = iconData;
  1818. regionInfoForMapIcon.strTooltip = toolTipParam;
  1819. addMapIcon(regionInfoForMapIcon, bUseUpdate);
  1820. }
  1821. }
  1822. }
  1823. function MinimapRegionIconData makeMapIcon(int iconType, bool bActive, Vector pLoc)
  1824. {
  1825. local MinimapRegionIconData iconData;
  1826. local HuntingZoneUIData huntingZoneData;
  1827. iconData.nWidth = 32;
  1828. iconData.nHeight = 32;
  1829. iconData.nWorldLocX = pLoc.x;
  1830. iconData.nWorldLocY = pLoc.y;
  1831. iconData.nWorldLocZ = pLoc.z;
  1832. iconData.nIconOffsetX = -16;
  1833. iconData.nIconOffsetY = -16;
  1834. if (iconType == EMinimapRegionType.MRT_HuntingZone_Mission)
  1835. {
  1836. if (bActive)
  1837. {
  1838. iconData.strIconNormal = "L2UI_CT1.Minimap.map_huntingzone_i00";
  1839. iconData.strIconOver = "L2UI_CT1.Minimap.map_huntingzone_i00_Over";
  1840. iconData.strIconPushed = "L2UI_CT1.Minimap.map_huntingzone_i00";
  1841. }
  1842. else
  1843. {
  1844. iconData.strIconNormal = "L2UI_CT1.Minimap.map_huntingzoneInactive_i00";
  1845. iconData.strIconOver = "L2UI_CT1.Minimap.map_huntingzoneInactive_i00_Over";
  1846. iconData.strIconPushed = "L2UI_CT1.Minimap.map_huntingzoneInactive_i00";
  1847. }
  1848. }
  1849. else if (iconType == EMinimapRegionType.MRT_InstantZone)
  1850. {
  1851. if (bActive)
  1852. {
  1853. iconData.strIconNormal = "L2UI_CT1.Minimap.map_inzone_gate_i00";
  1854. iconData.strIconOver = "L2UI_CT1.Minimap.map_inzone_gate_i00_Over";
  1855. iconData.strIconPushed = "L2UI_CT1.Minimap.map_inzone_gate_i00";
  1856. }
  1857. else
  1858. {
  1859. iconData.strIconNormal = "L2UI_CT1.Minimap.map_inzone_gateInactive_i00";
  1860. iconData.strIconOver = "L2UI_CT1.Minimap.map_inzone_gateInactive_i00_Over";
  1861. iconData.strIconPushed = "L2UI_CT1.Minimap.map_inzone_gateInactive_i00";
  1862. }
  1863. }
  1864. else if (iconType == EMinimapRegionType.MRT_Raid)
  1865. {
  1866. if (bActive)
  1867. {
  1868. iconData.strIconNormal = "L2UI_CT1.Minimap.map_raid_spawning_i00";
  1869. iconData.strIconOver = "L2UI_CT1.Minimap.map_raid_spawning_i00_Over";
  1870. iconData.strIconPushed = "L2UI_CT1.Minimap.map_raid_spawning_i00";
  1871. }
  1872. else
  1873. {
  1874. iconData.strIconNormal = "L2UI_CT1.Minimap.map_raid_respawn_i00";
  1875. iconData.strIconOver = "L2UI_CT1.Minimap.map_raid_respawn_i00_Over";
  1876. iconData.strIconPushed = "L2UI_CT1.Minimap.map_raid_respawn_i00";
  1877. }
  1878. }
  1879. return iconData;
  1880. }
  1881. function MinimapRegionInfo makeFocusMapIcon( Vector pLoc, optional bool bEmpty )
  1882. {
  1883. local MinimapRegionInfo regionInfoForMapIcon;
  1884. local MinimapRegionIconData iconData;
  1885. regionInfoForMapIcon.eType = EMinimapRegionType.MRT_Etc;
  1886. regionInfoForMapIcon.nIndex = OTHER_HIGHLIGHT_ICON_INDEX;
  1887. iconData.nWidth = 64;
  1888. iconData.nHeight = 64;
  1889. iconData.nWorldLocX = pLoc.x;
  1890. iconData.nWorldLocY = pLoc.y;
  1891. iconData.nWorldLocZ = pLoc.z;
  1892. iconData.bIgnoreMouseInput = true;
  1893. if(bEmpty)
  1894. {
  1895. iconData.strIconNormal = "L2UI_CT1.EmptyBtn";
  1896. iconData.strIconOver = "L2UI_CT1.EmptyBtn";
  1897. iconData.strIconPushed = "L2UI_CT1.EmptyBtn";
  1898. }
  1899. else
  1900. {
  1901. iconData.strIconNormal = "L2UI_CT1.Minimap.map_SelectAni01";
  1902. iconData.strIconOver = "L2UI_CT1.Minimap.map_SelectAni01";
  1903. iconData.strIconPushed = "L2UI_CT1.Minimap.map_SelectAni01";
  1904. }
  1905. regionInfoForMapIcon.iconData = IconData ;
  1906. return regionInfoForMapIcon ;
  1907. }
  1908. function mapIconHighlight(Vector loc, optional MinimapRegionIconData iconData, optional int addIconPosX, optional int addIconPosY)
  1909. {
  1910. local MinimapRegionInfo regionInfoForMapIcon;
  1911. m_MiniMap.EraseRegionInfoCtrl(EMinimapRegionType.MRT_Etc, OTHER_HIGHLIGHT_ICON_INDEX) ;
  1912. regionInfoForMapIcon = makeFocusMapIcon (loc);
  1913. regionInfoForMapIcon.IconData.nIconOffsetX = -32 + (iconData.nWidth / 2) + addIconPosX;
  1914. regionInfoForMapIcon.IconData.nIconOffsetY = -32 + (iconData.nHeight / 2) + addIconPosY;
  1915. m_MiniMap.AddRegionInfoCtrl(regionInfoForMapIcon);
  1916. Me.KillTimer( TIMER_ID );
  1917. Me.SetTimer(TIMER_ID, TIMER_DELAY);
  1918. }
  1919. function OnTimer(int TimerID)
  1920. {
  1921. if(TimerID == TIMER_ID)
  1922. {
  1923. m_MiniMap.EraseRegionInfoCtrl(EMinimapRegionType.MRT_Etc, OTHER_HIGHLIGHT_ICON_INDEX) ;
  1924. Me.KillTimer( TIMER_ID );
  1925. }
  1926. }
  1927. function bool IsHideMinimapZone(int nZoneID)
  1928. {
  1929. switch(nZoneID)
  1930. {
  1931. case 453:
  1932. case 454:
  1933. case 455:
  1934. case 456:
  1935. case 457:
  1936. case 458:
  1937. return true;
  1938. default:
  1939. return false;
  1940. }
  1941. }
  1942. function bool IsHideMinimapZone_new(int nZoneID)
  1943. {
  1944. switch(nZoneID)
  1945. {
  1946. case 453:
  1947. case 454:
  1948. case 455:
  1949. case 456:
  1950. case 457:
  1951. case 458:
  1952. return true;
  1953. default:
  1954. return false;
  1955. }
  1956. }
  1957. /**
  1958. * À©µµ¿ì ESC Ű·Î ´Ý±â ó¸®
  1959. * "Esc" Key
  1960. ***/
  1961. function OnReceivedCloseUI()
  1962. {
  1963. PlayConsoleSound(IFST_WINDOW_CLOSE);
  1964. GetWindowHandle( m_WindowName ).HideWindow();
  1965. }
  1966. defaultproperties
  1967. {
  1968. m_WindowName="MinimapWnd"
  1969. }
  1970.  
Advertisement
Add Comment
Please, Sign In to add comment