struct native constructive L2UserFactionUIInfo
{
var int nFactionID;
var int nFactionLevel;
var float fFactionPointRate;
var bool bIsFactionLevelLimited;
var bool bIsFactionRewardIcon;
};
struct native constructive L2FactionLevelUIData
{
var int nFactionLevel;
var string strIconTexture;
var array<int> arrQuestID;
var array<int> arrQuestLevel;
var array<string> arrQuestName;
var array<string> arrFactionRewardTitle;
var array<string> arrFactionRewardDesc;
var array<int> arrFactionRewardGroup;
};
struct native constructive L2FactionUIData
{
var int nFactionID;
var string strFactionName;
var string strEmblemTexture;
var string strEmblemBigTexture;
var string strFactionDesc;
var array<string> arrFactionNPCName;
var array<int> arrFactionAreaZoneID;
var array<string> arrFactionAreaName;
var array<int> arrFactionAreaLevel;
var int nRegionID; // 월드맵 개선(#3328) - moonhj
var int nMonsterbookUse;
var array<L2FactionLevelUIData> arrLevelData;
};
// end of Faction System
struct native constructive L2MonsterBookUIData
{
var int nMonsterBookID;
var int nSortOrder;
var int nNpcID;
var int nNpcLevel;
var string strNpcName;
var string strNpcNick;
var INT64 nNpcHP;
var INT64 nNpcMP;
var array<int> arrNpcProperty;
var int nTrophyLevel; // 단계(별 개수, 4: clear)
var int nTrophyCount; // 현재
var int nTrophyMax; // 목표, Count == Max -> 보상
var array<int> arrDropItemID;
var array<string> arrDropItemName; // for search
var string strCardTexture;
var string strCardPanel;
var int nZoneID;
var string strZoneName;
var int nFactionID;
var string strFactionName;
var string strFactionEmblem;
var array<int> arrRewardFP;
var array<INT64> arrRewardExp;
var array<int> arrRewardSP;
var array<int> arrRewardItem1;
var array<int> arrRewardItem2;
var array<int> arrRewardItem3;
var array<int> arrRewardItem4;
var int nViewX;
var int nViewY;
var float fViewScale;
var int nViewRot;
var int nViewDist;
};
EV_FactionInfoRewardIcon
Он шлет стрингу с FactionID в формате FactionID%d. Ну короче это уже совсем другая историяEV_FactionInfoRewardIcon
ну судя по всему стрингу с иконкой шлёт,по логике
ну естественно,куда без негоОбработчик как понимаю в GFX ?)))
class FactionWnd extends L2UIGFxScript;
const TYPE_FACTION_START_NPC = 2;
function OnRegisterEvent()
{
// 10080
registerGfxEvent( EV_FactionInfo );
registerGfxEvent( EV_FactionInfoRewardIcon );
}
function OnLoad()
{
AddState( "GAMINGSTATE" );
SetContainerWindow(WINDOWTYPE_DECO_NORMAL, 3443);
}
function onHide ()
{
eraseStartNpcRegioninfo ();
}
function onCallUCFunction ( string functionName, string param )
{
switch ( functionName )
{
case "showStartNPC" :
showStartNpc ( param ) ;
break;
case "hideStartNPC":
eraseStartNpcRegioninfo();
break;
}
}
// 시작 NPC 위치 보여주기
function showStartNpc ( string param )
{
local Vector XYZ;
local int x, y, z;
local string npcName;
local MinimapCtrlHandle m_MiniMap;
local MinimapWnd mapScript ;
local MinimapRegionInfo regionInfoForMapIcon;
mapScript = MinimapWnd( GetScript( "MinimapWnd"));
m_MiniMap = GetMinimapCtrlHandle( "MinimapWnd.Minimap" );
if (!GetWindowHandle("MinimapWnd").IsShowWindow()) GetWindowHandle("MinimapWnd").ShowWindow();
parseString ( param, "npcName", npcName );
parseInt ( param, "StartNpcX", x );
parseInt ( param, "StartNpcY", y );
parseInt ( param, "StartNpcZ", z );
XYZ.x = x ;
XYZ.y = y ;
XYZ.z = z ;
// 위치 이동
mapScript.SetContinent(m_MiniMap.GetContinent(XYZ));
class'UIAPI_MINIMAPCTRL'.static.AdjustMapView( "MinimapWnd.Minimap", XYZ, false );
m_MiniMap.SetShowRegionInfoByType(EMinimapRegionType.MRT_Etc, true);
regionInfoForMapIcon = makeRegionInfo (npcName, XYZ);
m_MiniMap.EraseRegionInfoCtrl(EMinimapRegionType.MRT_Etc, TYPE_FACTION_START_NPC) ;
m_MiniMap.AddRegionInfoCtrl(regionInfoForMapIcon);
}
// 시작 NPC 위치 삭제
function eraseStartNpcRegioninfo ()
{
local MinimapCtrlHandle m_MiniMap;
m_MiniMap = GetMinimapCtrlHandle( "MinimapWnd.Minimap" );
m_MiniMap.EraseRegionInfoCtrl(EMinimapRegionType.MRT_Etc, TYPE_FACTION_START_NPC) ;
}
// 시작 NPC 위치 아이콘 만들기
function MinimapRegionInfo makeRegionInfo( string tooltipString, Vector pLoc )
{
local MinimapRegionInfo regionInfoForMapIcon;
local MinimapRegionIconData iconData;
local string toolTipParam;
toolTipParam = "";
ParamAdd(toolTipParam, "tooltipString", tooltipString);
ParamAdd(toolTipParam, "Type", String ( int ( EMinimapRegionType.MRT_Etc )));
regionInfoForMapIcon.strTooltip = toolTipParam;
regionInfoForMapIcon.eType = EMinimapRegionType.MRT_Etc;
regionInfoForMapIcon.nIndex = TYPE_FACTION_START_NPC; //huntingZoneData.nSearchZoneID;
//regionInfoForMapIcon.strDesc = tooltipString;
iconData.nWidth = 32;
iconData.nHeight = 32;
iconData.nWorldLocX = pLoc.x;// - iconData.nIconOffsetX; // 3197; // - 3197 은 기획(조중곤), 16픽셀에 해당하는값.
iconData.nWorldLocY = pLoc.y;// - iconData.nIconOffsetY; // 3197;
iconData.nWorldLocZ = pLoc.z;
iconData.nIconOffsetX = -3;
iconData.nIconOffsetY = -20;
iconData.strIconNormal = "L2UI_CT1.Minimap.Minimap_DF_Icon_Pin_Campaign_Over";
iconData.strIconOver = "L2UI_CT1.Minimap.Minimap_DF_Icon_Pin_Campaign";
iconData.strIconPushed = "L2UI_CT1.Minimap.Minimap_DF_Icon_Pin_Campaign_Over";
regionInfoForMapIcon.iconData = IconData ;
return regionInfoForMapIcon ;
}
Ну и хрен с ним, может гляну если найду свои поделки для просмотра этой хрени)ну естественно,куда без него
override public function onEvent(param1:int, param2:Object) : void
{
var _loc3_:int = 0;
var _loc4_:int = 0;
var _loc5_:Array = null;
var _loc6_:int = 0;
var _loc7_:int = 0;
switch(param1)
{
case FactionWndEvent.EV_FactionInfo:
if(!L2UISystem.isShowWindow(root.loaderInfo.url))
{
return;
}
FactionWndData.paramInsert(param2,FactionWndData.EV_FactionInfoParam);
_loc3_ = -1;
_loc4_ = this.mainForm.list.selectedIndex;
if(_loc4_ != -1)
{
_loc3_ = this.subWindow.currFactionID;
}
FactionWndData.factionWndFactionDataProvider.cleanUp();
_loc5_ = FactionWndNative.getUserFactionInfoList();
_loc5_.sortOn(["FactionLevel","FactionPointRate","FactionID"],[Array.DESCENDING | Array.NUMERIC,Array.DESCENDING | Array.NUMERIC,Array.CASEINSENSITIVE]);
_loc6_ = 0;
while(_loc6_ < _loc5_.length)
{
FactionWndData.factionWndFactionDataProvider.push(_loc5_[_loc6_]);
_loc6_++;
}
FactionWndData.factionWndFactionDataProvider.invalidate();
if(_loc3_ != -1)
{
_loc7_ = FactionWndData.getIndexByFactionID(_loc3_);
if(_loc4_ == _loc7_)
{
root.dispatchEvent(new Event(Event.CHANGE));
}
else
{
this.mainForm.list.selectedIndex = FactionWndData.getIndexByFactionID(_loc3_);
}
}
break;
case FactionWndEvent.EV_FactionInfoRewardIcon:
}
}
if(_loc3_ != -1)
{
_loc7_ = FactionWndData.getIndexByFactionID(_loc3_);
if(_loc4_ == _loc7_)
{
root.dispatchEvent(new Event(Event.CHANGE));
}
else
{
this.mainForm.list.selectedIndex = FactionWndData.getIndexByFactionID(_loc3_);
}
}
break;
Можно, только это декомпил GFX скрипта, так что вопросы больше к автору декомпилятора =рА можно чучуть к коду докопаться?)
Вах)Можно, только это декомпил GFX скрипта, так что вопросы больше к автору декомпилятора =р
else if ( Event_ID == EV_MonsterBookRewardIcon )
{
// 몬스터 도감 보상 조건 완료
createNoticeButton( ENoticeType.TYPE_MONSTERBOOK, 3511);
}
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?