Jump to content
  • 0

Community board's top button handlers


Question

11 answers to this question

Recommended Posts

  • 0
Posted

The all buttons on the top of community board window locates inside interface.xdat as Tabs in TabControl element of BoardWnd scheme.

 

You need XDAT Editor for making changes. How to use this tool a lot a videos and manuals.

  • Upvote 1
  • 0
Posted

Depends, if you just want to edit their name sysstring-e.dat is your file. If you want to edit the bypass name you should do what root mentioned. If though you want to edit/create bypasses for each button you should do it server side.

  • 0
Posted
8 hours ago, Zake said:

Depends, if you just want to edit their name sysstring-e.dat is your file. If you want to edit the bypass name you should do what root mentioned. If though you want to edit/create bypasses for each button you should do it server side.

I want to change their bypass, I want for example, if the memo takes you to your notes to take you somewhere else

  • 0
Posted
12 hours ago, Jobalabido said:

I want to change their bypass, I want for example, if the memo takes you to your notes to take you somewhere else

requestbypasstoserver may help you find where cb bypasses are handled. Usually its under gameserver/communityboard. Although which pack do you use?

  • 0
Posted
2 hours ago, Zake said:

requestbypasstoserver may help you find where cb bypasses are handled. Usually its under gameserver/communityboard. Although which pack do you use?

mobius

  • 0
Posted (edited)

For changing bypass commands for Community board need edit Interface scripts into client side and all places from server side scripts and classes.

 

From my PoV this act of madness and better way is delete the tab system from client side and use usual HTML viewer as uses for NPC dialogues. This will give more deployment for making own Community board command ierarchy.

 

But you can be disagree with me and continue to write shitcode because it easy and isn't requeres a lot of knowledge.

 

I'm sure/belive what all client modifications available even for classic clients.

Edited by Rootware
Fix text typos.
  • 0
Posted
5 hours ago, Rootware said:

For changing bypass commands for Community board need edit Interface scripts into client side and all places from server side scripts and classes.

 

From my PoV this act of madness and better way is delete the tab system from client side and use usual HTML viewer as uses for NPC dialogues. This will give more deployment for making own Community board command ierarchy.

 

But you can be disagree with me and continue to write shitcode because it easy and isn't requeres a lot of knowledge.

 

I'm sure/belive what all client modifications available even for classic clients.

 

what about ShowBoard packet? afaik it affects most CB bypasses

  • 0
Posted
16 hours ago, xdem said:

 

what about ShowBoard packet? afaik it affects most CB bypasses

 

I know what i said. That packet do nothing w/o client side edit. Look at this before:

class BoardWnd extends UIScriptEx;

var bool	m_bShow;
var bool	m_bBtnLock;
var string 	m_Command[8];

var HtmlHandle	m_hBoardWndHtmlViewer;

var TabHandle	m_hBoardWndTabCtrl;

function OnRegisterEvent()
{
	RegisterEvent( EV_ShowBBS );
	RegisterEvent( EV_ShowBoardPacket );
}

function OnLoad()
{
	if(CREATE_ON_DEMAND==0)
		OnRegisterEvent();


	m_hBoardWndHtmlViewer=GetHtmlHandle("BoardWnd.HtmlViewer");
	m_hBoardWndTabCtrl=GetTabHandle("BoardWnd.TabCtrl");

	m_bShow = false;
	m_bBtnLock = false;
}

function OnShow()
{
	m_bShow = true;
}

function OnHide()
{
	m_bShow = false;
	class'UIAPI_WINDOW'.static.SetFocus("ChatWnd");
	
}

function OnEvent(int Event_ID, string param)
{
	if (Event_ID == EV_ShowBBS)
	{
		HandleShowBBS(param);
	}
	else if (Event_ID == EV_ShowBoardPacket)
	{
		HandleShowBoardPacket(param);
	}
}

function OnClickButton( string strID )
{	
	Debug( "-->" @ strID );


	switch( strID )
	{
	case "btnBookmark":
		OnClickBookmark();
		break;
	}
	
	//ЕЗ№цЖ° Е¬ёЇ
	if (Left(strID, 7) == "TabCtrl")
	{
		strID = Mid(strID, 7);
		if (!class'UIAPI_WINDOW'.static.IsMinimizedWindow( "BoardWnd" ))
		{
			ShowBBSTab(int(strID));
		}
	}
}

//ГК±вИ­
function Clear()
{
	
}

function HandleShowBBS(string param)
{
	local int Index;
	local int Init;
	
	ParseInt(param, "Index", Index);
	ParseInt(param, "Init", Init);
	
	//ГК±в»уЕВ·О ї©ґВ°Ў? (SystemMenu·ОєОЕН)
	if (Init>0)
	{
		if (m_bShow)
		{
			//АМ№М єёАМ°н АЦАёёй ґЭґВґЩ.
			PlayConsoleSound(IFST_WINDOW_CLOSE);
			class'UIAPI_WINDOW'.static.HideWindow("BoardWnd");
			return;
		}
		else
		{
			if (!m_hBoardWndHtmlViewer.IsPageLock())
			{
				m_hBoardWndHtmlViewer.SetPageLock(true);
				m_hBoardWndTabCtrl.SetTopOrder(0, false);
				m_hBoardWndHtmlViewer.Clear();
				RequestBBSBoard();
			}
		}
		
		//іЄБЯїЎ HandleShowBoardPacketїЎј­ ShowWindowё¦ ЗСґЩ.
	}
	else
	{
		m_hBoardWndTabCtrl.SetTopOrder(Index, false);
		m_hBoardWndHtmlViewer.Clear();
		ShowBBSTab(Index);
	}
}

function HandleShowBoardPacket(string param)
{
	local int idx;
	local int OK;
	local string Address;
	
	ParseInt(param, "OK", OK);
	if (OK<1)
	{
		class'UIAPI_WINDOW'.static.HideWindow("BoardWnd");
		return;
	}
	
	//Clear
	for (idx=0; idx<8; idx++)
		m_Command[idx] = "";
	
	ParseString(param, "Command1", m_Command[0]);
	ParseString(param, "Command2", m_Command[1]);
	ParseString(param, "Command3", m_Command[2]);
	ParseString(param, "Command4", m_Command[3]);
	ParseString(param, "Command5", m_Command[4]);
	ParseString(param, "Command6", m_Command[5]);
	ParseString(param, "Command7", m_Command[6]);
	ParseString(param, "Command8", m_Command[7]);
	m_bBtnLock = false;
	
	ParseString(param, "Address", Address);
	m_hBoardWndHtmlViewer.SetHtmlBuffData(Address);
	if (!m_bShow)
	{
		PlayConsoleSound(IFST_WINDOW_OPEN);
		class'UIAPI_WINDOW'.static.ShowWindow("BoardWnd");
		class'UIAPI_WINDOW'.static.SetFocus("BoardWnd");
	}
}

function ShowBBSTab(int Index)
{
	local string strBypass;
	local EControlReturnType Ret;
	
	switch( Index )
	{
	//ГіАЅАё·О
	case 0:
		strBypass = "bypass _bbshome";
		break; 
	//Бс°ЬГЈ±в
	case 1:
		strBypass = "bypass _bbsgetfav"; 
		break;
	//ИЁЖдАМБц ёµЕ©(10.1.11 №®ј±БШ јцБ¤)
	case 2:
		strBypass = "bypass _bbslink";
		break;
	//БцїЄёµЕ©
	case 3:
		strBypass = "bypass _bbsloc";
		break;
	//ЗчёНёµЕ©
	case 4:
		strBypass = "bypass _bbsclan";
		break;
	//ёЮёр
	case 5:
		strBypass = "bypass _bbsmemo";
		break;
	//ёЮАП
	case 6:
		strBypass = "bypass _maillist_0_1_0_"; 
		break;
	//ДЈ±ё°ьё®
	case 7:
		strBypass = "bypass _friendlist_0_"; 
		break;
	}
	
	if (Len(strBypass)>0)
	{
		Ret = m_hBoardWndHtmlViewer.ControllerExecution(strBypass);
		if (Ret == CRTT_CONTROL_USE)
		{
			m_bBtnLock = true;
		}
	}	
}

function OnClickBookmark()
{
	local EControlReturnType Ret;
	
	if (Len(m_Command[7])>0 && !m_bBtnLock)
	{
		Ret = m_hBoardWndHtmlViewer.ControllerExecution(m_Command[7]);
		if (Ret == CRTT_CONTROL_USE)
		{
			m_bBtnLock = true;
		}
	}
}
defaultproperties
{
}

 

All bypasses is hardcoded.

  • 0
Posted (edited)

@Jobalabido

 

Let us know if you've fixed the handlers so we can provide you the help you need.

Thanks in advance!

Edited by SectoneART
Guest
This topic is now closed to further replies.


  • Posts

    • Tell a Škoda 1.4 driver that a Škoda 1.8 is faster — and suddenly, you’re riding a mini race car. On the way, they might share random stories — gas prices, the perfect BBQ recipe, or how passengers once called them “just for a minute.” Maybe even how someone left a suitcase full of money in their car once.     The important part? You’ll get there on time, no delays.     Vibe SMS works just as fast — messages fly like that driver who just heard their 1.8 isn’t the fastest.     🌐 https://vibe-sms.net/ 📲 https://t.me/vibe_sms  
    • ⚔️ The Grand Opening Has Arrived! ⚔️ In just a few hours the gate to the eternal battlefield will be open and the war between Order and Chaos will be set once again ! Its time to claim your destiny 🔥 👉 Register now and join the fight today! 🌐 https://l2ovc.com register now : https://l2ovc.com The gates are open the war between Order and Chaos has officially started! 🔥 Join the battlefield NOW and claim your destiny in Order vs Chaos! 💥 Don’t fall behind your faction needs you. ➡️ https://l2ovc.com  
    • Don’t miss the new Telegram gifts with our Telegram Stars purchasing bot! A great opportunity to invest in a stable digital asset at an early stage while the market is still forming. Buy other existing gifts in the official store using Telegram Stars, pay for subscriptions, donate to games and projects, pay for Premium subscriptions, and react to messages in channels! Low prices, multiple payment options, and other cool unique features! ⚡ Try it today — SOCNET STARS BOT ⚡ Active links to SOCNET stores: Digital Goods Store (Website): Go Store Telegram Bot: Go – convenient access to the store via Telegram messenger. ⭐ Telegram Stars Purchase Bot: Go – fast and profitable way to buy stars in Telegram. SMM Panel: Go – promote your social media accounts. We present to you the current list of promotions and special offers for purchasing our products and services: 1️⃣ Promo code OCTOBER2025 (8% discount) for purchases in our store (Website, bot) in October! You can also use the promo code SOCNET (15% discount) for your first purchase. 2️⃣ Get $1 on your store balance or a 10–20% discount — just write your username after registration on our website using the template: "SEND ME BONUS, MY USERNAME IS..." — post it in our forum thread! 3️⃣ Get $1 for your first SMM Panel trial — simply open a ticket titled “Get Trial Bonus” on our website (Support). 4️⃣ Weekly ⭐ Telegram Stars giveaways in our Telegram channel and in our Telegram Stars bot! News: ➡ Telegram Channel: https://t.me/accsforyou_shop ➡ WhatsApp Channel: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord Server: https://discord.gg/y9AStFFsrh Contacts and Support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
    • Don’t miss the new Telegram gifts with our Telegram Stars purchasing bot! A great opportunity to invest in a stable digital asset at an early stage while the market is still forming. Buy other existing gifts in the official store using Telegram Stars, pay for subscriptions, donate to games and projects, pay for Premium subscriptions, and react to messages in channels! Low prices, multiple payment options, and other cool unique features! ⚡ Try it today — SOCNET STARS BOT ⚡ Active links to SOCNET stores: Digital Goods Store (Website): Go Store Telegram Bot: Go – convenient access to the store via Telegram messenger. ⭐ Telegram Stars Purchase Bot: Go – fast and profitable way to buy stars in Telegram. SMM Panel: Go – promote your social media accounts. We present to you the current list of promotions and special offers for purchasing our products and services: 1️⃣ Promo code OCTOBER2025 (8% discount) for purchases in our store (Website, bot) in October! You can also use the promo code SOCNET (15% discount) for your first purchase. 2️⃣ Get $1 on your store balance or a 10–20% discount — just write your username after registration on our website using the template: "SEND ME BONUS, MY USERNAME IS..." — post it in our forum thread! 3️⃣ Get $1 for your first SMM Panel trial — simply open a ticket titled “Get Trial Bonus” on our website (Support). 4️⃣ Weekly ⭐ Telegram Stars giveaways in our Telegram channel and in our Telegram Stars bot! News: ➡ Telegram Channel: https://t.me/accsforyou_shop ➡ WhatsApp Channel: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord Server: https://discord.gg/y9AStFFsrh Contacts and Support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock