Jump to content

Recommended Posts

Posted

Looking for someone who has 388 interface source for AttendCheckSlot and AttendCheckInfo classes. I have 362 interface but these 2 classes are messed up there so would be good to see they are done in 388. Will pay for this.

Posted (edited)

AttendCheckSlot
 

class AttendCheckSlot extends UICommonAPI
	dependson(AttendCheckWnd);

// јэАЪ ЕШЅєГД µЪїЎ 0~9 ±оБц Б¶ЗХЗПї© јэАЪё¦ ёёµл.
const DATE_TEXTURE_PATH = "L2UI_CT1.AttendCheckWnd.Attend_DateNum_";

var WindowHandle Me;
var AttendCheckWnd parentWnd;
var TextBoxHandle itemAmountTextBox;
var TextureHandle dayFirstTex;
var TextureHandle daySecondTex;
var TextureHandle checkedBgTex;
var TextureHandle highlightTex;
var TextureHandle stampTex;
var AnimTextureHandle availableAnimTex;
var AnimTextureHandle stampAnimTex;
var ItemWindowHandle itemWnd;
var WindowHandle disableContainer;
var AttendCheckWnd.AttendCheckStepInfo _info;

delegate DelegateOnItemClicked(AttendCheckSlot Owner);

function Init(WindowHandle Owner, AttendCheckWnd Parent)
{
	local string ownerFullPath;

	ownerFullPath = Owner.m_WindowNameWithFullPath;
	parentWnd = Parent;
	Me = GetWindowHandle(ownerFullPath);
	itemWnd = GetItemWindowHandle(ownerFullPath $ ".AttendMonth_ItemWindow");
	itemAmountTextBox = GetTextBoxHandle(ownerFullPath $ ".AttendDayCount_TextBox");
	daySecondTex = GetTextureHandle(ownerFullPath $ ".DateNum_Month_10_Texture");
	dayFirstTex = GetTextureHandle(ownerFullPath $ ".DateNum_Month_1_Texture");
	checkedBgTex = GetTextureHandle(ownerFullPath $ ".StampBG_Texture");
	highlightTex = GetTextureHandle(ownerFullPath $ ".SlotHighlight_Texture");
	stampTex = GetTextureHandle(ownerFullPath $ ".StampRed_Texture");
	availableAnimTex = GetAnimTextureHandle(ownerFullPath $ ".TodayTwinkle_AnimTex");
	stampAnimTex = GetAnimTextureHandle(ownerFullPath $ ".TodayStampRed_AnimText");
	disableContainer = GetWindowHandle(ownerFullPath $ ".Empty_Wnd");	
}

function SetInfo(AttendCheckWnd.AttendCheckStepInfo Info)
{
	_info = Info;
	SetDisable(false);
	SetItemInfoControl(Info.ItemID, Info.ItemAmount);
	SetDayTexture(Info.Day);
	SetSlotState(Info.State);
	SetSlotHighlightControl(Info.isHighLight);	
}

function SetDisable(bool bDisable)
{
	// End:0x39
	if(bDisable)
	{
		itemWnd.HideWindow();
		itemAmountTextBox.HideWindow();
		disableContainer.ShowWindow();		
	}
	else
	{
		itemWnd.ShowWindow();
		itemAmountTextBox.ShowWindow();
		disableContainer.HideWindow();
	}	
}

function SetItemInfoControl(int ItemID, INT64 ItemAmount)
{
	local ItemInfo ItemInfo;
	local string amountStr;

	ItemInfo = GetItemInfoByClassID(ItemID);
	// End:0x44
	if(IsStackableItem(ItemInfo.ConsumeType) && ItemAmount > 0)
	{
		ItemInfo.ItemNum = ItemAmount;
	}
	itemWnd.Clear();
	itemWnd.AddItem(ItemInfo);
	amountStr = "x" $ string(ItemAmount);
	// End:0x99
	if(ItemAmount == 0)
	{
		itemAmountTextBox.HideWindow();		
	}
	else
	{
		itemAmountTextBox.SetText(amountStr);
		itemAmountTextBox.ShowWindow();
	}	
}

function SetDayTexture(int Day)
{
	local string ten, one;

	StrDaySplit(Day, ten, one);
	dayFirstTex.SetTexture(DATE_TEXTURE_PATH $ ten);
	daySecondTex.SetTexture(DATE_TEXTURE_PATH $ one);	
}

function SetSlotHighlightControl(bool isHighLight)
{
	// End:0x1B
	if(isHighLight)
	{
		highlightTex.ShowWindow();		
	}
	else
	{
		highlightTex.HideWindow();
	}	
}

function SetSlotState(AttendCheckWnd.EAttendCheckState State)
{
	stampAnimTex.HideWindow();
	stampAnimTex.Stop();
	switch(State)
	{
		// End:0x72
		case Checked:
			checkedBgTex.ShowWindow();
			stampTex.ShowWindow();
			availableAnimTex.HideWindow();
			availableAnimTex.Stop();
			// End:0x132
			break;
		// End:0xE2
		case Available:
			checkedBgTex.HideWindow();
			stampTex.HideWindow();
			availableAnimTex.ShowWindow();
			availableAnimTex.Stop();
			availableAnimTex.SetLoopCount(99999);
			availableAnimTex.Play();
			// End:0x132
			break;
		// End:0x12F
		case Unchecked:
			checkedBgTex.HideWindow();
			stampTex.HideWindow();
			availableAnimTex.HideWindow();
			availableAnimTex.Stop();
			// End:0x132
			break;
	}	
}

function PlayStampAnimTexture()
{
	stampAnimTex.Stop();
	stampAnimTex.ShowWindow();
	stampAnimTex.Play();	
}

function StopAnimation()
{
	availableAnimTex.Stop();
	stampAnimTex.Stop();	
}

function CheckAndPlayStampAnimation()
{
	// End:0x67
	if(_info.State == Available)
	{
		PlayStampAnimTexture();
		stampTex.ShowWindow();
		availableAnimTex.HideWindow();
		availableAnimTex.Stop();
		_info.State = Checked;
	}
}

function StrDaySplit(int nDay, out string ten, out string one)
{
	// End:0x31
	if(nDay > 9)
	{
		ten = Mid(string(nDay), 0, 1);
		one = Mid(string(nDay), 1, 1);		
	}
	else
	{
		ten = "0";
		one = string(nDay);
	}	
}

event OnClickItem(string strID, int Index)
{
	// End:0x4D
	if(strID == "AttendMonth_ItemWindow" && _info.State == Available)
	{
		DelegateOnItemClicked(self);
	}
}



There is no AttendCheckInfo class.

Edited by HyperBlown
Posted

 

3 hours ago, tabosas said:

Looking for someone who has 388 interface source for AttendCheckSlot and AttendCheckInfo classes. I have 362 interface but these 2 classes are messed up there so would be good to see they are done in 388. Will pay for this.

class AttendCheckWnd contains struct AttendCheckInfo
the full script can be viewed here https://cutt.ly/G8GaqYC

ps 388 everything is  ^ LS/PM me 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • 🔥 L2Pride Interlude by DVP is NOW LIVE! 🔥 📅 Opened on June 10, 2026 at 21:00 GMT+2 ⚔️ The server is currently in the Tier 1 stage, giving everyone a fair chance to gear up and compete. 🔓 Tier 2 Items will be unlocked on June 27, 2026! ✅ Active players ✅ Stable server ✅ Competitive PvP ✅ Growing community Whether you're a solo player, clan leader, or PvP enthusiast, now is the perfect time to join and prepare for the next stage of progression. See you in-game, warriors! ⚔️ WEB: www.l2pride.ddns.net DISCORD: https://discord.gg/JVdpESC5Ry
    • Stock updates constantly. Only top items are posted on the forum. For current availability and ordering, message us on Telegram.   G2G Business 🇪🇺 EU Fully verified seller's account.   Revolut Business 🇪🇺 EU | Multi-currency IBAN, Virtual & physical cards, Instant SEPA transfers, ₿ Crypto exchange & settlements.   SumUp Business 🇬🇧 GB | POS, 1 physical card, 2 virtual cards. Payouts time: 1 day even on weekends and bank holidays, Multi-user access.   Vivid Business | Merchant POS, DE IBAN, up to 50 IBANs, SEPA Instant, unlimited transfers, up to 25 virtual and 3 physical cards.
    • 🔎 Find us: 👉🏼 Website: L2Dexter.eu 👉🏼 Discord: discord.gg/dttX9FE23W 👉🏼 Facebook: facebook.com/L2Dexter
    • G Support: https://t.me/buyingproxysup | Channel: https://t.me/buyingproxycom Discord support: #buyingproxy | Server: Join the BuyingProxy Discord Server!  Create your free account here
    • REAL PHOTOS ALWAYS «BREAK» ▪ Think a high-quality photo should be perfect? Think again. In real shots, something is almost always “off”: ▪ Noise in the shadows — especially noticeable in low light ▪ Local overexposures on highlights and glossy surfaces ▪ Loss of fine details in the brightest and darkest areas ▪ Overall “dirt” and unevenness that no editor can fully remove ▪  It’s exactly these imperfections that make the frame look alive. Algorithms already know well: a sterile clean image without these “flaws” is almost always a fake. Reality is never perfect. A fake tries to be.  Want photos that look genuinely “broken,” like they were taken on a real phone? Write to us — we’ll make even the flaws work in your favor. › TG: @mustang_service_ms ( https:// t.me/ mustang_service_ms ) › Channel: Mustang Service ( https:// t.me/ +JPpJCETg-xM1NjNl ) #documents #drawing #photoshop #verication #fake
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..