Problema sistem schimba ch

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
d4ny
Nivel 1

Nivel 1
Mesaje: 127
Membru din: 10 Apr 2017, 11:43
Aprecieri: 21  
Mulţumiri: 1  
Medalii

Am instalat sistemul schimba ch de la vegas. Am doar o singura problema, in char.cpp trebuie sa adaug:
void CHARACTER::ChannelSwitch(int iNewChannel){

long lAddr;
long lMapIndex;
WORD wPort;
long x = this->GetX();
long y = this->GetY();

if (!CMapLocation::instance().Get(x, y, lMapIndex, lAddr, wPort))
{
return;
}

if(lMapIndex >= 10000){
return;
}

std::map<WORD, int>ch;

for(int i = 0; i < 4; i++){
for(int i2 = 1; i2 < 9; i2++){
ch[29*1000 + i*100 + i2] = i+1;
}
}
int chan;
if(ch.find(wPort) != ch.end()){
chan = ch[wPort];
}else{return;}
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*(chan-1) + 100*(iNewChannel-1));

GetDesc()->Packet(&p, sizeof(TPacketGCWarp));
}
Acesta este exemplul pentru 4 canale cu porturile: CH1:29001,29002,29003 CH2: 29101,29102 etc
Cum ar trebui sa modific acele for uri pentru porturile mele si anume: CH1:19910,19911 CH2:19920,19921, dar CH3 si CH4 au un singur core fiecare: 19930 si 19940.
Am incercat
for (int i=1; i<5; i++){
for(int i2=0; i2<4; i2++){
ch[199*100 + i*10 +i2]= i;}}
dar nu functioneaza, cand schimb ch-urile ma trimite la login screen.
Poate cineva sa ma ajute ? Va rog mult.
Avatar utilizator
d4ny
Nivel 1

Nivel 1
Mesaje: 127
Membru din: 10 Apr 2017, 11:43
Aprecieri: 21  
Mulţumiri: 1  
Medalii

up
Avatar utilizator
VegaS
Membru Club

Membru Club
Mesaje: 233
Membru din: 30 Oct 2015, 17:31
Aprecieri: 68  
Mulţumiri: 298  
 Contact:
Medalii

port[core1 - [19910]] | channel[1] 
port[core2 - [19911]] | channel[1] 
port[core3 - [19912]] | channel[1] 
port[core4 - [19913]] | channel[1] 
port[core1 - [19920]] | channel[2] 
port[core2 - [19921]] | channel[2] 
port[core3 - [19922]] | channel[2] 
port[core4 - [19923]] | channel[2] 
port[core1 - [19930]] | channel[3] 
port[core1 - [19940]] | channel[4]
Mathematics Courses - Free Math School Training Online
for (int i = 1; i < 5; i++)
{
	if (i == 3 || i == 4)
	{
		ch[19930 + (i - 3) * 10] = i
		continue;
	}
		
	for (int i2 = 0; i2 < 4; i2++)
		ch[(199 * 100) + (i * 10) + i2] = i;
}
Avatar utilizator
LikePc
Nivel 10

Nivel 10
Mesaje: 2240
Membru din: 11 Aug 2015, 00:01
Server: M3
Regat: Chunjo
Aprecieri: 9  
Mulţumiri: 270  
 Contact:
Medalii

Subiect arhivat , autorul nu a dat nici un semn timp de 3zile.
https:/horus-maps.com
Afișează semnătura
Închis
Răspunsuri
4
Vizualizări
465
Răspunsuri
4
Vizualizări
283
Răspunsuri
11
Vizualizări
548
Răspunsuri
1
Vizualizări
190

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 189 vizitatori