Jump to content
  • Create New...
  • 0

C++ Move Channel



Version of Files XXX

Hello, i use this fonction for switch channel


	void CHARACTER::ChangeChannel(DWORD channelId){
	    long lAddr;
	    long lMapIndex;
	    WORD wPort;
	    long x = this->GetX();
	    long y = this->GetY();	

	    if (!CMapLocation::instance().Get(x, y, lMapIndex, lAddr, wPort))
	        sys_err("cannot find map location index %d x %d y %d name %s", lMapIndex, x, y, GetName());

	    if(lMapIndex >= 10000){
	        this->ChatPacket(CHAT_TYPE_INFO, ("You can't change channel in private map."));

	    //this->ChatPacket(CHAT_TYPE_COMMAND, "RefreshChannel %d", channelId);	


	    TPacketGCWarp p;	

	    p.bHeader    = HEADER_GC_WARP;
	    p.lX    = x;
	    p.lY    = y;
	    p.lAddr    = lAddr;
	    p.wPort    = (wPort - 100*(g_bChannel-1) + 100*(channelId-1));
	    GetDesc()->Packet(&p, sizeof(TPacketGCWarp));

but i cant switch channel, i have timer when if i click, but, after, i retourn in page of login

my port channel 1 16002 my port channel 2 16102

and core 2 of channel 1 16003 core 2 of channel 2 16103

i dont know why and thank you for reply

Link to comment
Share on other sites

  • Answers 2
  • Created
  • Last Reply

Top Posters For This Question

Top Posters For This Question

2 answers to this question

Recommended Posts

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

Important Information

Terms of Use / Privacy Policy / Guidelines / 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.