|
Игровой клиент Есть вопросы по поводу редактирования dat, utx и других файлов клиента, пожалуйста, задавайте их здесь. |
Ссылки сообщества |
Изображения и альбомы |
Пользователи |
К странице... |
Опции темы |
14.02.2014, 17:49 | #1 |
Хрен с горы
Регистрация: 21.08.2011
Адрес: Мьск
Возраст: 36
Сообщений: 3,350
Отблагодарили 355 раз(а)
Рейтинг мнений:
303
|
Статы я всякая другая хрень(Интерфейс)
Честно искал по форуму ничего не нашел, ищу инфу о статах и всякой хрени
Имею ввиду, окно на рисунке ниже Как оно работает и т.д. возможно ли добавление собственных стат, ну и много чего другого интересно Последний раз редактировалось Ashe; 01.03.2014 в 03:00. |
14.02.2014, 18:01 | #2 |
Герой
|
Re: Статы я всякая другая хрень
Предполагаю, что это можно через интерфейс и хекс редактор интерфейса. Тут где-то была уже тема о том, как что редактировать.
|
14.02.2014, 18:14 | #3 |
Герой
|
Re: Статы я всякая другая хрень
Если найдете способ запаковать u.* пакеты ничего сложного
Код:
//================================================== ============================== // DetailStatusWnd. //================================================== ============================== class DetailStatusWnd extends UICommonAPI; var string m_WindowName; var int m_UserID; var HennaInfo m_HennaInfo; var TextBoxHandle txtSP; var TextBoxHandle txtName1; var TextBoxHandle txtName2; var TextBoxHandle txtHeadPledge; var TextBoxHandle txtPledge; var TextBoxHandle txtLvHead; var TextBoxHandle txtLvName; var TextBoxHandle txtHeadRank; var TextBoxHandle txtRank; var StatusBarHandle texHP; var StatusBarHandle texMP; var StatusBarHandle texExp; var StatusBarHandle texCP; var TextBoxHandle txtPhysicalAttack; var TextBoxHandle txtPhysicalDefense; var TextBoxHandle txtHitRate; var TextBoxHandle txtCriticalRate; var TextBoxHandle txtPhysicalAttackSpeed; var TextBoxHandle txtMagicalAttack; var TextBoxHandle txtMagicDefense; var TextBoxHandle txtPhysicalAvoid; var TextBoxHandle txtGmMoving; var TextBoxHandle txtHeadMovingSpeed; var TextBoxHandle txtMovingSpeed; var TextBoxHandle txtHeadMagicCastingSpeed; var TextBoxHandle txtMagicCastingSpeed; var TextBoxHandle txtSTR; var TextBoxHandle txtDEX; var TextBoxHandle txtCON; var TextBoxHandle txtINT; var TextBoxHandle txtWIT; var TextBoxHandle txtMEN; var TextBoxHandle txtCriminalRate; var TextBoxHandle txtPVP; var TextBoxHandle txtSociality; var TextBoxHandle txtRemainSulffrage; var TextureHandle texHero; var TextureHandle texPledgeCrest; var TextureHandle VitalityTex; var TextBoxHandle txtAttrAttackType; var TextBoxHandle txtAttrAttackValue; var TextBoxHandle txtAttrDefenseValFire; var TextBoxHandle txtAttrDefenseValWater; var TextBoxHandle txtAttrDefenseValWind; var TextBoxHandle txtAttrDefenseValEarth; var TextBoxHandle txtAttrDefenseValHoly; var TextBoxHandle txtAttrDefenseValUnholy; const NSTATUS_BARHEIGHT= 12; const NSTATUS_SMALLBARSIZE= 85; function OnRegisterEvent () { RegisterEvent(180); RegisterEvent(260); RegisterEvent(190); RegisterEvent(200); RegisterEvent(210); RegisterEvent(220); RegisterEvent(230); RegisterEvent(240); RegisterEvent(3400); RegisterEvent(4100); } function OnLoad () { if ( 1 == 0 ) { OnRegisterEvent(); } if ( 1 == 0 ) { Initialize(); } else { InitializeCOD(); } } function Initialize () { txtSP = TextBoxHandle(GetHandle(m_WindowName $ ".txtSP")); txtName1 = TextBoxHandle(GetHandle(m_WindowName $ ".txtName1")); txtName2 = TextBoxHandle(GetHandle(m_WindowName $ ".txtName2")); txtHeadPledge = TextBoxHandle(GetHandle(m_WindowName $ ".txtHeadPledge")); txtPledge = TextBoxHandle(GetHandle(m_WindowName $ ".txtPledge")); txtLvHead = TextBoxHandle(GetHandle(m_WindowName $ ".txtLvHead")); txtLvName = TextBoxHandle(GetHandle(m_WindowName $ ".txtLvName")); txtHeadRank = TextBoxHandle(GetHandle(m_WindowName $ ".txtHeadRank")); txtRank = TextBoxHandle(GetHandle(m_WindowName $ ".txtRank")); texHP = StatusBarHandle(GetHandle(m_WindowName $ ".texHP")); texMP = StatusBarHandle(GetHandle(m_WindowName $ ".texMP")); texExp = StatusBarHandle(GetHandle(m_WindowName $ ".texExp")); texCP = StatusBarHandle(GetHandle(m_WindowName $ ".texCP")); txtPhysicalAttack = TextBoxHandle(GetHandle(m_WindowName $ ".txtPhysicalAttack")); txtPhysicalDefense = TextBoxHandle(GetHandle(m_WindowName $ ".txtPhysicalDefense")); txtHitRate = TextBoxHandle(GetHandle(m_WindowName $ ".txtHitRate")); txtCriticalRate = TextBoxHandle(GetHandle(m_WindowName $ ".txtCriticalRate")); txtPhysicalAttackSpeed = TextBoxHandle(GetHandle(m_WindowName $ ".txtPhysicalAttackSpeed")); txtMagicalAttack = TextBoxHandle(GetHandle(m_WindowName $ ".txtMagicalAttack")); txtMagicDefense = TextBoxHandle(GetHandle(m_WindowName $ ".txtMagicDefense")); txtPhysicalAvoid = TextBoxHandle(GetHandle(m_WindowName $ ".txtPhysicalAvoid")); txtGmMoving = TextBoxHandle(GetHandle(m_WindowName $ ".txtGmMoving")); txtMovingSpeed = TextBoxHandle(GetHandle(m_WindowName $ ".txtMovingSpeed")); txtMagicCastingSpeed = TextBoxHandle(GetHandle(m_WindowName $ ".txtMagicCastingSpeed")); txtHeadMovingSpeed = TextBoxHandle(GetHandle(m_WindowName $ ".txtHeadMovingSpeed")); txtHeadMagicCastingSpeed = TextBoxHandle(GetHandle(m_WindowName $ ".txtHeadMagicCastingSpeed")); txtSTR = TextBoxHandle(GetHandle(m_WindowName $ ".txtSTR")); txtDEX = TextBoxHandle(GetHandle(m_WindowName $ ".txtDEX")); txtCON = TextBoxHandle(GetHandle(m_WindowName $ ".txtCON")); txtINT = TextBoxHandle(GetHandle(m_WindowName $ ".txtINT")); txtWIT = TextBoxHandle(GetHandle(m_WindowName $ ".txtWIT")); txtMEN = TextBoxHandle(GetHandle(m_WindowName $ ".txtMEN")); txtCriminalRate = TextBoxHandle(GetHandle(m_WindowName $ ".txtCriminalRate")); txtPVP = TextBoxHandle(GetHandle(m_WindowName $ ".txtPVP")); txtSociality = TextBoxHandle(GetHandle(m_WindowName $ ".txtSociality")); txtRemainSulffrage = TextBoxHandle(GetHandle(m_WindowName $ ".txtRemainSulffrage")); texHero = TextureHandle(GetHandle(m_WindowName $ ".texHero")); texPledgeCrest = TextureHandle(GetHandle(m_WindowName $ ".texPledgeCrest")); txtAttrAttackType = TextBoxHandle(GetHandle(m_WindowName $ ".txtAttrAttackType")); txtAttrAttackValue = TextBoxHandle(GetHandle(m_WindowName $ ".txtAttrAttackValue")); txtAttrDefenseValFire = TextBoxHandle(GetHandle(m_WindowName $ ".txtAttrDefenseValFire")); txtAttrDefenseValWater = TextBoxHandle(GetHandle(m_WindowName $ ".txtAttrDefenseValWater")); txtAttrDefenseValWind = TextBoxHandle(GetHandle(m_WindowName $ ".txtAttrDefenseValWind")); txtAttrDefenseValEarth = TextBoxHandle(GetHandle(m_WindowName $ ".txtAttrDefenseValEarth")); txtAttrDefenseValHoly = TextBoxHandle(GetHandle(m_WindowName $ ".txtAttrDefenseValHoly")); txtAttrDefenseValUnholy = TextBoxHandle(GetHandle(m_WindowName $ ".txtAttrDefenseValUnholy")); VitalityTex = TextureHandle(GetHandle(m_WindowName $ ".LifeForceTex")); } function InitializeCOD () { txtSP = GetTextBoxHandle(m_WindowName $ ".txtSP"); txtName1 = GetTextBoxHandle(m_WindowName $ ".txtName1"); txtName2 = GetTextBoxHandle(m_WindowName $ ".txtName2"); txtHeadPledge = GetTextBoxHandle(m_WindowName $ ".txtHeadPledge"); txtPledge = GetTextBoxHandle(m_WindowName $ ".txtPledge"); txtLvHead = GetTextBoxHandle(m_WindowName $ ".txtLvHead"); txtLvName = GetTextBoxHandle(m_WindowName $ ".txtLvName"); txtHeadRank = GetTextBoxHandle(m_WindowName $ ".txtHeadRank"); txtRank = GetTextBoxHandle(m_WindowName $ ".txtRank"); texHP = GetStatusBarHandle(m_WindowName $ ".texHP"); texMP = GetStatusBarHandle(m_WindowName $ ".texMP"); texExp = GetStatusBarHandle(m_WindowName $ ".texExp"); texCP = GetStatusBarHandle(m_WindowName $ ".texCP"); txtPhysicalAttack = GetTextBoxHandle(m_WindowName $ ".txtPhysicalAttack"); txtPhysicalDefense = GetTextBoxHandle(m_WindowName $ ".txtPhysicalDefense"); txtHitRate = GetTextBoxHandle(m_WindowName $ ".txtHitRate"); txtCriticalRate = GetTextBoxHandle(m_WindowName $ ".txtCriticalRate"); txtPhysicalAttackSpeed = GetTextBoxHandle(m_WindowName $ ".txtPhysicalAttackSpeed"); txtMagicalAttack = GetTextBoxHandle(m_WindowName $ ".txtMagicalAttack"); txtMagicDefense = GetTextBoxHandle(m_WindowName $ ".txtMagicDefense"); txtPhysicalAvoid = GetTextBoxHandle(m_WindowName $ ".txtPhysicalAvoid"); txtGmMoving = GetTextBoxHandle(m_WindowName $ ".txtGmMoving"); txtMovingSpeed = GetTextBoxHandle(m_WindowName $ ".txtMovingSpeed"); txtMagicCastingSpeed = GetTextBoxHandle(m_WindowName $ ".txtMagicCastingSpeed"); txtHeadMovingSpeed = GetTextBoxHandle(m_WindowName $ ".txtHeadMovingSpeed"); txtHeadMagicCastingSpeed = GetTextBoxHandle(m_WindowName $ ".txtHeadMagicCastingSpeed"); txtSTR = GetTextBoxHandle(m_WindowName $ ".txtSTR"); txtDEX = GetTextBoxHandle(m_WindowName $ ".txtDEX"); txtCON = GetTextBoxHandle(m_WindowName $ ".txtCON"); txtINT = GetTextBoxHandle(m_WindowName $ ".txtINT"); txtWIT = GetTextBoxHandle(m_WindowName $ ".txtWIT"); txtMEN = GetTextBoxHandle(m_WindowName $ ".txtMEN"); txtCriminalRate = GetTextBoxHandle(m_WindowName $ ".txtCriminalRate"); txtPVP = GetTextBoxHandle(m_WindowName $ ".txtPVP"); txtSociality = GetTextBoxHandle(m_WindowName $ ".txtSociality"); txtRemainSulffrage = GetTextBoxHandle(m_WindowName $ ".txtRemainSulffrage"); texHero = GetTextureHandle(m_WindowName $ ".texHero"); texPledgeCrest = GetTextureHandle(m_WindowName $ ".texPledgeCrest"); txtAttrAttackType = GetTextBoxHandle(m_WindowName $ ".txtAttrAttackType"); txtAttrAttackValue = GetTextBoxHandle(m_WindowName $ ".txtAttrAttackValue"); txtAttrDefenseValFire = GetTextBoxHandle(m_WindowName $ ".txtAttrDefenseValFire"); txtAttrDefenseValWater = GetTextBoxHandle(m_WindowName $ ".txtAttrDefenseValWater"); txtAttrDefenseValWind = GetTextBoxHandle(m_WindowName $ ".txtAttrDefenseValWind"); txtAttrDefenseValEarth = GetTextBoxHandle(m_WindowName $ ".txtAttrDefenseValEarth"); txtAttrDefenseValHoly = GetTextBoxHandle(m_WindowName $ ".txtAttrDefenseValHoly"); txtAttrDefenseValUnholy = GetTextBoxHandle(m_WindowName $ ".txtAttrDefenseValUnholy"); VitalityTex = GetTextureHandle(m_WindowName $ ".LifeForceTex"); } function OnEnterState (name a_PreStateName) { HandleUpdateUserInfo(); } function OnShow () { HandleUpdateUserInfo(); } function OnEvent (int Event_ID, string param) { if ( Event_ID == 180 ) { HandleUpdateUserInfo(); } else { if ( Event_ID == 260 ) { HandleUpdateHennaInfo(param); } else { if ( Event_ID == 190 ) { HandleUpdateStatusGauge(param,0); } else { if ( Event_ID == 200 ) { HandleUpdateStatusGauge(param,0); } else { if ( Event_ID == 210 ) { HandleUpdateStatusGauge(param,1); } else { if ( Event_ID == 220 ) { HandleUpdateStatusGauge(param,1); } else { if ( Event_ID == 230 ) { HandleUpdateStatusGauge(param,2); } else { if ( Event_ID == 240 ) { HandleUpdateStatusGauge(param,2); } else { if ( Event_ID == 3400 ) { HandleToggle(); } else { if ( Event_ID == 4100 ) { HandleVitalityPointInfo(param); } } } } } } } } } } } function HandleToggle () { if ( m_hOwnerWnd.IsShowWindow() ) { m_hOwnerWnd.HideWindow(); } else { m_hOwnerWnd.ShowWindow(); m_hOwnerWnd.SetFocus(); } } function HandleUpdateStatusGauge (string param, int Type) { local int ServerID; if ( m_hOwnerWnd.IsShowWindow() ) { ParseInt(param,"ServerID",ServerID); if ( m_UserID == ServerID ) { HandleUpdateUserGauge(Type); } } } function HandleUpdateHennaInfo (string param) { ParseInt(param,"HennaID",m_HennaInfo.HennaID); ParseInt(param,"ClassID",m_HennaInfo.ClassID); ParseInt(param,"Num",m_HennaInfo.Num); ParseInt(param,"Fee",m_HennaInfo.Fee); ParseInt(param,"CanUse",m_HennaInfo.CanUse); ParseInt(param,"INTnow",m_HennaInfo.INTnow); ParseInt(param,"INTchange",m_HennaInfo.INTchange); ParseInt(param,"STRnow",m_HennaInfo.STRnow); ParseInt(param,"STRchange",m_HennaInfo.STRchange); ParseInt(param,"CONnow",m_HennaInfo.CONnow); ParseInt(param,"CONchange",m_HennaInfo.CONchange); ParseInt(param,"MENnow",m_HennaInfo.MENnow); ParseInt(param,"MENchange",m_HennaInfo.MENchange); ParseInt(param,"DEXnow",m_HennaInfo.DEXnow); ParseInt(param,"DEXchange",m_HennaInfo.DEXchange); ParseInt(param,"WITnow",m_HennaInfo.WITnow); ParseInt(param,"WITchange",m_HennaInfo.WITchange); } function bool GetMyUserInfo (out UserInfo a_MyUserInfo) { return GetPlayerInfo(a_MyUserInfo); } function string GetMovingSpeed (UserInfo a_UserInfo) { local float MovingSpeed; local EMoveType MoveType; local EEnvType EnvType; MoveType = Class'UIDATA_PLAYER'.GetPlayerMoveType(); EnvType = Class'UIDATA_PLAYER'.GetPlayerEnvironment(); Debug("MovingSpeed : STEP 1" $ string(a_UserInfo.fNonAttackSpeedModifier)); if ( MoveType == 2 ) { MovingSpeed = a_UserInfo.nGroundMaxSpeed * a_UserInfo.fNonAttackSpeedModifier; Debug("MovingSpeed : STEP 2" $ string(a_UserInfo.nGroundMaxSpeed)); switch (EnvType) { case 2: MovingSpeed = a_UserInfo.nWaterMaxSpeed * a_UserInfo.fNonAttackSpeedModifier; Debug("MovingSpeed : STEP 3" $ string(a_UserInfo.nWaterMaxSpeed)); break; case 3: MovingSpeed = a_UserInfo.nAirMaxSpeed * a_UserInfo.fNonAttackSpeedModifier; Debug("MovingSpeed : STEP 4" $ string(a_UserInfo.nAirMaxSpeed) $ " " $ string(a_UserInfo.fNonAttackSpeedModifier)); break; default: } } else { if ( MoveType == 1 ) { MovingSpeed = a_UserInfo.nGroundMinSpeed * a_UserInfo.fNonAttackSpeedModifier; Debug("MovingSpeed : STEP 5"); switch (EnvType) { case 2: MovingSpeed = a_UserInfo.nWaterMinSpeed * a_UserInfo.fNonAttackSpeedModifier; Debug("MovingSpeed : STEP 6" $ string(a_UserInfo.nWaterMinSpeed)); break; case 3: MovingSpeed = a_UserInfo.nAirMinSpeed * a_UserInfo.fNonAttackSpeedModifier; Debug("MovingSpeed : STEP 7" $ string(a_UserInfo.nAirMinSpeed)); break; default: } } } Debug("MovingSpeed : STEP 8 : " $ string(MovingSpeed)); return string(int(MovingSpeed)); } function float GetMyExpRate () { return Class'UIDATA_PLAYER'.GetPlayerEXPRate() * 100.0; } function HandleUpdateUserGauge (int Type) { local int CurValue; local int MaxValue; local UserInfo Info; if ( GetMyUserInfo(Info) ) { m_UserID = Info.nID; switch (Type) { case 0: CurValue = Info.nCurHP; MaxValue = Info.nMaxHP; UpdateHPBar(CurValue,MaxValue); break; case 1: CurValue = Info.nCurMP; MaxValue = Info.nMaxMP; UpdateMPBar(CurValue,MaxValue); break; case 2: CurValue = Info.nCurCP; MaxValue = Info.nMaxCP; UpdateCPBar(CurValue,MaxValue); break; default: } } } function HandleUpdateUserInfo () { if ( m_hOwnerWnd.IsShowWindow() ) { UpdateInterface(); } } function UpdateInterface () { local Rect rectWnd; local int Width1; local int Height1; local int Width2; local int Height2; local string Name; local string nickname; local Color NameColor; local Color NicknameColor; local int SubClassID; local string ClassName; local string UserRank; local int HP; local int MaxHP; local int MP; local int MaxMP; local int CP; local int MaxCP; local int SP; local int Level; local float fExpRate; local int PledgeID; local string PledgeName; local Texture PledgeCrestTexture; local bool bPledgeCrestTexture; local Color PledgeNameColor; local string HeroTexture; local bool bHero; local bool bNobless; local int nStr; local int nDex; local int nCon; local int nInt; local int nWit; local int nMen; local string strTmp; local int PhysicalAttack; local int PhysicalDefense; local int HitRate; local int CriticalRate; local int PhysicalAttackSpeed; local int MagicalAttack; local int MagicDefense; local int PhysicalAvoid; local string MovingSpeed; local int MagicCastingSpeed; local int CriminalRate; local int CrimRate; local string strCriminalRate; local int DualCount; local int PKCount; local int PvPPoint; local int Sociality; local int RemainSulffrage; local int AttrAttackType; local int AttrAttackValue; local int AttrDefenseValFire; local int AttrDefenseValWater; local int AttrDefenseValWind; local int AttrDefenseValEarth; local int AttrDefenseValHoly; local int AttrDefenseValUnholy; local string AttrAttackTypeTxt; local int nTransformID; local bool m_bPawnChanged; local UserInfo Info; local int Vitality; texPledgeCrest.SetTexture(""); rectWnd = m_hOwnerWnd.GetRect(); if ( GetMyUserInfo(Info) ) { m_UserID = Info.nID; Name = Info.Name; nickname = Info.strNickName; SubClassID = Info.nSubClass; ClassName = GetClassType(SubClassID); SP = Info.nSP; Level = Info.nLevel; UserRank = GetUserRankString(Info.nUserRank); HP = Info.nCurHP; MaxHP = Info.nMaxHP; MP = Info.nCurMP; MaxMP = Info.nMaxMP; CP = Info.nCurCP; MaxCP = Info.nMaxCP; fExpRate = GetMyExpRate(); PledgeID = Info.nClanID; bHero = Info.bHero; bNobless = Info.bNobless; nStr = Info.nStr; nDex = Info.nDex; nCon = Info.nCon; nInt = Info.nInt; nWit = Info.nWit; nMen = Info.nMen; PhysicalAttack = Info.nPhysicalAttack; PhysicalDefense = Info.nPhysicalDefense; HitRate = Info.nHitRate; CriticalRate = Info.nCriticalRate; PhysicalAttackSpeed = Info.nPhysicalAttackSpeed; MagicalAttack = Info.nMagicalAttack; MagicDefense = Info.nMagicDefense; PhysicalAvoid = Info.nPhysicalAvoid; MagicCastingSpeed = Info.nMagicCastingSpeed; MovingSpeed = GetMovingSpeed(Info); CriminalRate = Info.nCriminalRate; DualCount = Info.nDualCount; PKCount = Info.nPKCount; PvPPoint = Info.PvPPoint; Sociality = Info.nSociality; RemainSulffrage = Info.nRemainSulffrage; Vitality = Info.nVitality; if ( CriminalRate >= 999999 ) { strCriminalRate = string(CriminalRate) $ "+"; } else { strCriminalRate = string(CriminalRate) $ ""; } AttrAttackType = Info.AttrAttackType; AttrAttackValue = Info.AttrAttackValue; AttrDefenseValFire = Info.AttrDefenseValFire; AttrDefenseValWater = Info.AttrDefenseValWater; AttrDefenseValWind = Info.AttrDefenseValWind; AttrDefenseValEarth = Info.AttrDefenseValEarth; AttrDefenseValHoly = Info.AttrDefenseValHoly; AttrDefenseValUnholy = Info.AttrDefenseValUnholy; nTransformID = Info.nTransformID; m_bPawnChanged = Info.m_bPawnChanged; switch (AttrAttackType) { case -2: AttrAttackTypeTxt = GetSystemString(27); break; case 0: AttrAttackTypeTxt = GetSystemString(1630); break; case 1: AttrAttackTypeTxt = GetSystemString(1631); break; case 2: AttrAttackTypeTxt = GetSystemString(1632); break; case 3: AttrAttackTypeTxt = GetSystemString(1633); break; case 4: AttrAttackTypeTxt = GetSystemString(1634); break; case 5: AttrAttackTypeTxt = GetSystemString(1635); break; default: } UpdateVp(Vitality); } CrimRate = CriminalRate; if ( CrimRate > 255 ) { CrimRate = 255; } if ( CrimRate > 0 ) { CrimRate = Clamp(CrimRate,100 + CrimRate / 16,255); } NameColor.R = 255; NameColor.G = 255 - CrimRate; NameColor.B = 255 - CrimRate; NameColor.A = 255; NicknameColor.R = 162; NicknameColor.G = 249; NicknameColor.B = 236; NicknameColor.A = 255; if ( Len(nickname) > 0 ) { GetTextSizeDefault(Name,Width1,Height1); GetTextSizeDefault(nickname,Width2,Height2); if ( Width1 + Width2 > 220 ) { if ( Width1 > 109 ) { Name = Left(Name,8); GetTextSizeDefault(Name,Width1,Height1); } if ( Width2 > 109 ) { nickname = Left(nickname,8); GetTextSizeDefault(nickname,Width2,Height2); } } txtName1.SetText(nickname); txtName1.SetTextColor(NicknameColor); txtName2.SetText(Name); txtName2.SetTextColor(NameColor); txtName2.MoveTo(rectWnd.nX + 15 + Width2 + 6,rectWnd.nY + 41); } else { txtName1.SetText(Name); txtName1.SetTextColor(NameColor); txtName2.SetText(""); } txtLvName.SetText(string(Level) $ " " $ ClassName); txtRank.SetText(UserRank); txtSP.SetText(string(SP)); if ( PledgeID > 0 ) { bPledgeCrestTexture = Class'UIDATA_CLAN'.GetCrestTexture(PledgeID,Pledge CrestTexture); PledgeName = Class'UIDATA_CLAN'.GetName(PledgeID); PledgeNameColor.R = 176; PledgeNameColor.G = 155; PledgeNameColor.B = 121; PledgeNameColor.A = 255; } else { PledgeName = GetSystemString(431); PledgeNameColor.R = 255; PledgeNameColor.G = 255; PledgeNameColor.B = 255; PledgeNameColor.A = 255; } txtPledge.SetText(PledgeName); txtPledge.SetTextColor(PledgeNameColor); if ( bPledgeCrestTexture ) { texPledgeCrest.SetTextureWithObject(PledgeCrestTex ture); txtPledge.MoveTo(rectWnd.nX + 88,rectWnd.nY + 25 + 35); } else { txtPledge.MoveTo(rectWnd.nX + 68,rectWnd.nY + 25 + 35); } if ( bHero ) { HeroTexture = "L2UI_CH3.PlayerStatusWnd.myinfo_heroicon"; } else { if ( bNobless ) { HeroTexture = "L2UI_CH3.PlayerStatusWnd.myinfo_nobleicon"; } } texHero.SetTexture(HeroTexture); if ( m_HennaInfo.STRchange > 0 ) { strTmp = string(nStr) $ "(+" $ string(m_HennaInfo.STRchange) $ ")"; } else { if ( m_HennaInfo.STRchange < 0 ) { strTmp = string(nStr) $ "(" $ string(m_HennaInfo.STRchange) $ ")"; } else { strTmp = string(nStr); } } txtSTR.SetText(strTmp); if ( m_HennaInfo.DEXchange > 0 ) { strTmp = string(nDex) $ "(+" $ string(m_HennaInfo.DEXchange) $ ")"; } else { if ( m_HennaInfo.DEXchange < 0 ) { strTmp = string(nDex) $ "(" $ string(m_HennaInfo.DEXchange) $ ")"; } else { strTmp = string(nDex); } } txtDEX.SetText(strTmp); if ( m_HennaInfo.CONchange > 0 ) { strTmp = string(nCon) $ "(+" $ string(m_HennaInfo.CONchange) $ ")"; } else { if ( m_HennaInfo.CONchange < 0 ) { strTmp = string(nCon) $ "(" $ string(m_HennaInfo.CONchange) $ ")"; } else { strTmp = string(nCon); } } txtCON.SetText(strTmp); if ( m_HennaInfo.INTchange > 0 ) { strTmp = string(nInt) $ "(+" $ string(m_HennaInfo.INTchange) $ ")"; } else { if ( m_HennaInfo.INTchange < 0 ) { strTmp = string(nInt) $ "(" $ string(m_HennaInfo.INTchange) $ ")"; } else { strTmp = string(nInt); } } txtINT.SetText(strTmp); if ( m_HennaInfo.WITchange > 0 ) { strTmp = string(nWit) $ "(+" $ string(m_HennaInfo.WITchange) $ ")"; } else { if ( m_HennaInfo.WITchange < 0 ) { strTmp = string(nWit) $ "(" $ string(m_HennaInfo.WITchange) $ ")"; } else { strTmp = string(nWit); } } txtWIT.SetText(strTmp); if ( m_HennaInfo.MENchange > 0 ) { strTmp = string(nMen) $ "(+" $ string(m_HennaInfo.MENchange) $ ")"; } else { if ( m_HennaInfo.MENchange < 0 ) { strTmp = string(nMen) $ "(" $ string(m_HennaInfo.MENchange) $ ")"; } else { strTmp = string(nMen); } } txtMEN.SetText(strTmp); txtPhysicalAttack.SetText(string(PhysicalAttack)); txtPhysicalDefense.SetText(string(PhysicalDefense) ); txtHitRate.SetText(string(HitRate)); txtCriticalRate.SetText(string(CriticalRate)); txtPhysicalAttackSpeed.SetText(string(PhysicalAtta ckSpeed)); txtMagicalAttack.SetText(string(MagicalAttack)); txtMagicDefense.SetText(string(MagicDefense)); txtPhysicalAvoid.SetText(string(PhysicalAvoid)); txtMovingSpeed.SetText(MovingSpeed); txtMagicCastingSpeed.SetText(string(MagicCastingSp eed)); txtCriminalRate.SetText(strCriminalRate); txtPVP.SetText(string(PvPPoint)); txtSociality.SetText(string(DualCount) $ " / " $ string(PKCount)); txtRemainSulffrage.SetText(string(Sociality) $ " / " $ string(RemainSulffrage)); UpdateHPBar(HP,MaxHP); UpdateMPBar(MP,MaxMP); UpdateCPBar(CP,MaxCP); UpdateEXPBar(Info.fExpPercentRate); txtAttrAttackType.SetText("" $ AttrAttackTypeTxt); txtAttrAttackValue.SetText("" $ string(AttrAttackValue)); txtAttrDefenseValFire.SetText("" $ string(AttrDefenseValFire)); txtAttrDefenseValWater.SetText("" $ string(AttrDefenseValWater)); txtAttrDefenseValWind.SetText("" $ string(AttrDefenseValWind)); txtAttrDefenseValEarth.SetText("" $ string(AttrDefenseValEarth)); txtAttrDefenseValHoly.SetText("" $ string(AttrDefenseValHoly)); txtAttrDefenseValUnholy.SetText("" $ string(AttrDefenseValUnholy)); if ( m_bPawnChanged ) { goto JL0EBA; } RunUnTransformManage(); } function UpdateHPBar (int Value, int MaxValue) { texHP.SetPoint(Value,MaxValue); } function UpdateMPBar (int Value, int MaxValue) { texMP.SetPoint(Value,MaxValue); } function UpdateEXPBar (float ExpPercent) { texExp.SetPointExpPercentRate(ExpPercent); } function UpdateCPBar (int Value, int MaxValue) { texCP.SetPoint(Value,MaxValue); } function ToggleOpenCharInfoWnd () { switch (m_hOwnerWnd.IsShowWindow()) { case True: m_hOwnerWnd.HideWindow(); PlaySound("InterfaceSound.charstat_close_01"); break; case False: m_hOwnerWnd.ShowWindow(); m_hOwnerWnd.SetFocus(); PlaySound("InterfaceSound.charstat_open_01"); break; default: } } function OnKeyDown (WindowHandle a_WindowHandle, EInputKey nKey) { if (! nKey == 27 ) goto JL0010; } function HandleVitalityPointInfo (string param) { local int nVitality; ParseInt(param,"Vitality",nVitality); UpdateVp(nVitality); } function UpdateVp (int Vitality) { if ( Vitality > 20000 ) { VitalityTex.SetTexture("l2ui_ct1.Icon_df_LifeForce _01"); } else { if ( Vitality >= 17000 ) { VitalityTex.SetTexture("l2ui_ct1.Icon_df_LifeForce _05"); } else { if ( Vitality >= 13000 ) { VitalityTex.SetTexture("l2ui_ct1.Icon_df_LifeForce _04"); } else { if ( Vitality >= 2000 ) { VitalityTex.SetTexture("l2ui_ct1.Icon_df_LifeForce _03"); } else { if ( Vitality >= 240 ) { VitalityTex.SetTexture("l2ui_ct1.Icon_df_LifeForce _02"); } else { VitalityTex.SetTexture("l2ui_ct1.Icon_df_LifeForce _01"); } } } } } } function RunTransformManage () { } function RunUnTransformManage () { } defaultproperties { m_WindowName="DetailStatusWnd" } Aka Stels Последний раз редактировалось Ashe; 01.03.2014 в 02:53. |
Сказали спасибо: |
15.02.2014, 17:13 | #4 |
Изгнанные
|
Re: Статы я всякая другая хрень
Без модификаций dll ничего не выйдет
Добавить новое поле, сдвинуть остальные можно через interface.xdat (с большой вероятностью) Для соответствия с сервером нужно лезть в клиентский обработчик пакетов (иначе будет статичная хрень). Эти статы в UserInfo приходят, если что Добавлено через 1 час 0 минут Если интересно редактирование интерфейса - почитай https://forum.zone-game.info/showthread.php?t=32333 (и вообще, модераторы бы закрепляли полезные темы, тот же статик меш реплейсер, интерфейс; а всякие редактирования l2.ini мне кажется давно актуальность потеряли) Последний раз редактировалось Ashe; 01.03.2014 в 03:00. Причина: Добавлено сообщение |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не даются статы сета при входе на чара | adac3r | Lineage II | 3 | 10.12.2012 09:00 |
Вопросы и Ответы! | ALeKsIuS | Серверная часть | 166 | 17.05.2011 15:46 |
статы | lolpwnz | Lineage II | 3 | 23.04.2011 21:16 |
[Продам] Gracia Part 2 L2Dream | PaInKiLlEr | Рынок / Marketplace | 10 | 04.06.2010 00:18 |