Jump to content
  • Register Now

    Sign up and take advantage of the features of our community! Some forums are only accessible to our members!

  • 0

C++ Move Channel


Tallywa

Question

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());
	        return;
	    }	

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

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

	    Stop();
	    Save();	

	    if(GetSectree()){
	        GetSectree()->RemoveEntity(this);
	        ViewCleanup();
	        EncodeRemovePacket(this);
	    }
	    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 post

1 answer 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


×
×
  • Create New...

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.