Register for your free account! | Forgot your password?

You last visited: Today at 23:14

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[RLS] Ingame Channel Switcher like WOM2

Discussion on [RLS] Ingame Channel Switcher like WOM2 within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
[RLS] Ingame Channel Switcher like WOM2

Hey.
Da ein gewisser Herr meint mein System als seins auszugeben und zu verkaufen release ich es nun.
Es portet nur auf den andren CH.
Also so wie wenn man von ch1 auf ch99 warpt.

Is ne 10min Arbeit aber naja was solls.

lauft aktuell auf 4 ch´s mit den ports:

ch1:
13002 - 13008
ch2:
13102 - 13108
ch3:
13202 - 13208
ch4:
13302 - 13308

Code:
cmd.cp:

	after:
		ACMD(do_warp);
	add:
		ACMD(do_channel_switch);


	after:
		{ "mall_close",	do_mall_close,		0,			POS_DEAD,	GM_PLAYER	},
    add:
    	{ "channel",		do_channel_switch,		0,			POS_DEAD,	GM_PLAYER	},
	


cmd_general.cpp:
	
	after:
		ACMD(do_set_run_mode)
		{
			ch->SetNowWalking(false);
			ch->SetWalking(false);
		}

	add:
		ACMD(do_channel_switch)
		{
    
		    char arg1[256];
		    one_argument(argument, arg1, sizeof(arg1));

		    if (!*arg1)
		            return;
		    
		    int new_ch;
		    str_to_number(new_ch, arg1);
		    if( new_ch <1 || new_ch >4)   // REPLACE 2 WITH YOUR MAX_CHANNEL 
		        return;
		    if (!ch->IsPC())
		        return;
		    ch->ChannelSwitch(new_ch);
		    
		}


char.h:
	
	after:
		void				StartWarpNPCEvent();

	add:
		void                            ChannelSwitch(int new_ch);




char.cpp:

	after:
		EVENTFUNC(warp_npc_event)
		{
			char_event_info* info = dynamic_cast<char_event_info*>( event->info );
			if ( info == NULL )
			{
				sys_err( "warp_npc_event> <Factor> Null pointer" );
				return 0;
			}

			LPCHARACTER	ch = info->ch;

			if (ch == NULL) { // <Factor>
				return 0;
			}	

			if (!ch->GetSectree())
			{
				ch->m_pkWarpNPCEvent = NULL;
				return 0;
			}

			FuncCheckWarp f(ch);
			if (f.Valid())
				ch->GetSectree()->ForEachAround(f);

			return passes_per_sec / 2;
		}


	add:
		void CHARACTER::ChannelSwitch(int new_ch){
		    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){
		        return;
		    }
		    
		    std::map<WORD, int>micha;
		    
		    for(int i = 0; i < 4; i++){ //replace with maximum channels -1   actual 1300x - 1330x
		        for(int i2 = 2; i2 < 9; i2++){ //replace with your core values actual  13x02 - 13x08
		            micha[13*1000 + i*100 + i2] = i+1;
		        }        
		    }
		    //micha[13002] = 1;
		    int chan;
		    if(micha.find(wPort) != micha.end()){
		        chan = micha[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*(new_ch-1));
		    

		    GetDesc()->Packet(&p, sizeof(TPacketGCWarp));
		}
Py script + howto im Anhang.

wünsche viel Spaß damit.

Sollte jemand das Sash System oder andere C++ sachen brauchen (und zahlungsfähig sein) einfach melden.

PS: Suchen nen Sponsor für ein Newschool Projekt.

Skype: mav2904
Attached Files
File Type: zip channelswitcher.zip (3.9 KB, 1389 views)
xCPx is offline  
Thanks
29 Users
Old 06/21/2015, 23:33   #2

 
elite*gold: 0
Join Date: Dec 2008
Posts: 2,825
Received Thanks: 1,538
Nettes Release.
.Colossus. is offline  
Thanks
1 User
Old 06/21/2015, 23:38   #3
 
elite*gold: 0
Join Date: Apr 2015
Posts: 428
Received Thanks: 361
Echt gelungenes Ding. Weiter so!
#Metho is offline  
Thanks
1 User
Old 06/22/2015, 00:04   #4
 
.NennoX's Avatar
 
elite*gold: 0
Join Date: Oct 2014
Posts: 795
Received Thanks: 693
Schönes Release.
.NennoX is offline  
Old 06/22/2015, 00:08   #5
 
elite*gold: 0
Join Date: Jun 2015
Posts: 98
Received Thanks: 225
Könntest die ChannelSwitch Methode als bool machen. Dann könnte man halt z.B ausgeben, wenn ein Fehler aufgetreten ist oder halt einfach bei den Stellen, wo abgebrochen wird ein ChatPacket senden.

long lAddr;
long lMapIndex;

Das könnte man auch (eigentlich) zusammen in eine Zeile packen, aber jeder, wie er will
Hat in einer Zeile aber mehr $waq


Ehh muss noch dazu schreiben, dass du das wundervoll gemacht hast.
Sonst lästert NyBu wieder über mich, weil ich ein schrecklicher Mensch, die Definition von einem ********* und nur neidisch bin.
[Remix] is offline  
Thanks
1 User
Old 06/22/2015, 00:09   #6
 
Zaturix's Avatar
 
elite*gold: 0
Join Date: Oct 2014
Posts: 408
Received Thanks: 208
Nettes Release danke
Zaturix is offline  
Old 06/22/2015, 00:12   #7
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
Quote:
Originally Posted by [Remix] View Post
Könntest die ChannelSwitch Methode als bool machen. Dann könnte man halt z.B ausgeben, wenn ein Fehler aufgetreten ist oder halt einfach bei den Stellen, wo abgebrochen wird ein ChatPacket senden.

long lAddr;
long lMapIndex;

Das könnte man auch (eigentlich) zusammen in eine Zeile packen, aber jeder, wie er will
Hat in einer Zeile aber mehr $waq


Ehh muss noch dazu schreiben, dass du das wundervoll gemacht hast.
Sonst lästert NyBu wieder über mich, weil ich ein schrecklicher Mensch, die Definition von einem ********* und nur neidisch bin.
Wie gesagt war ne arbeit von 10min.

hab 2/3 davon aus anderen Funcs zusammengesucht und joa
xCPx is offline  
Thanks
1 User
Old 06/22/2015, 00:18   #8
 
elite*gold: 0
Join Date: Jun 2015
Posts: 113
Received Thanks: 26
Schade, dass es wieder eine Art Zwangsrelease ist..
Dennoch danke dafür.

Kann dies zwar nicht gebrauchen, da ich eines besitze.
Der Code ist anschaulich aber könnte man etwas anders schreiben.
AnTii™ is offline  
Old 06/22/2015, 13:39   #9
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,938
Zum Glück in C++, danke.
DasSchwarzeT is offline  
Old 06/22/2015, 15:45   #10
 
.Aphrodite's Avatar
 
elite*gold: 70
Join Date: Mar 2015
Posts: 98
Received Thanks: 116
Habe diesen Fehler


Syserr

.Aphrodite is offline  
Old 06/22/2015, 15:53   #11
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
Gebe dazu keinerlei Support da es ein zwangsrelease ist.

Wer es hinkriegt zu Usen soll das tun wer dafür einfach zu bescheuert ist soll es bleiben lassen lassen.
xCPx is offline  
Thanks
1 User
Old 06/22/2015, 16:00   #12
 
.Aphrodite's Avatar
 
elite*gold: 70
Join Date: Mar 2015
Posts: 98
Received Thanks: 116
Quote:
Originally Posted by xCPx View Post
Gebe dazu keinerlei Support da es ein zwangsrelease ist.

Wer es hinkriegt zu Usen soll das tun wer dafür einfach zu bescheuert ist soll es bleiben lassen lassen.
Deswegen musst du nicht direkt beleidigend werden. Du könntest jetzt auch gelogen haben und kannst in Wirklichkeit keinen Support dazu geben, weil du keinen Plan davon hast und es gar nicht dein Code ist.
.Aphrodite is offline  
Thanks
1 User
Old 06/22/2015, 16:03   #13
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,725
Quote:
Originally Posted by .Callous View Post
Deswegen musst du nicht direkt beleidigend werden. Du könntest jetzt auch gelogen haben und kannst in Wirklichkeit keinen Support dazu geben, weil du keinen Plan davon hast und es gar nicht dein Code ist.
Wahrscheinlich.

Schoenes Release.
ProfessorEnte is offline  
Thanks
5 Users
Old 06/22/2015, 16:13   #14
 
elite*gold: 0
Join Date: Jun 2015
Posts: 98
Received Thanks: 225
Quote:
Originally Posted by .Callous View Post
Deswegen musst du nicht direkt beleidigend werden. Du könntest jetzt auch gelogen haben und kannst in Wirklichkeit keinen Support dazu geben, weil du keinen Plan davon hast und es gar nicht dein Code ist.
Oder er hat kein Bock alles 5x zu erklären, wenn man es bei den ersten vier mal nicht hin bekommt =)
[Remix] is offline  
Thanks
2 Users
Old 06/22/2015, 16:20   #15

 
LoaDii's Avatar
 
elite*gold: 280
Join Date: May 2014
Posts: 52
Received Thanks: 15
Cool, danke fürs release
LoaDii is offline  
Reply


Similar Threads Similar Threads
[HILFE] InGame Channel Switcher
04/26/2015 - Metin2 Private Server - 4 Replies
Hey ich suche jm, der sich mit dem InGame Channelswitcher auskennt. Habe ihn soweit angepasst. 4 Channel, Fenstergröße angepasst etc. Leider tut er nicht den Channel wechseln, sondern wenn man einen anderen Channel auswähl bleibt das Bild einfach stehen, wie wenn es einen Fehlport gibt. Hier das Script import ui import dbg import app import net import constInfo import chat
Channel switcher
04/20/2014 - Metin2 - 0 Replies
Hello, I would like to switch between channels and log in and pick my character on the server more quickly with just one click. Do you know any program like that?
INGAME BONI SWITCHER
09/05/2012 - Metin2 Private Server - 11 Replies
Hallo, was haltet ihr von einen Ingame Boni Switcher, weil ich weiss nicht, ob ich diesen in meinem Server einbauen soll o. nicht, viele sagen ja, aber manche auch nein, ich wollte ihn einbauen, da ich die Erfahrung habe, das sowieso ca. 90% der User diesen nutzen...
Ingame Switcher
07/17/2011 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 1 Replies
Ich weiß das dieser Ingame-Switcher schon Public ist. Es ist der Dss/Fks Switcher vom v4a Client.Aber da viele nicht wissen wie man die switchtzeit vom diesem Switchtbot niedriger/höher stellt möchte ich euch das heute zeigen . Als erstes laden wir uns den Ingame Switcher aus diesem Thread hier runter http://www.elitepvpers.com/forum/metin2-pserver-g uides-strategies/1217385-release-ingame-switcher.h tml Nun entpackt das Winrar Archiv .Jetzt öffnet ihr die datei uibonuschange.py mit...
[Release] Ingame-Switcher
06/05/2011 - Metin2 PServer Guides & Strategies - 24 Replies
Hallo e*pvp, ich veröffentliche hier meinen Ingame-DSS/FKS-Switcher. Das eigentliche Script stammt nicht von mir sondern vom v4a-Clienten. Ich habe es lediglich verändert. Veränderungen: Als Menüpunkt, anstelle des HilfeButtons, anwählbar. Kann DSS & FKS gleichzeitig switchen. Von 10 auf 1 Switcher reduziert. (Kann auch als MultiSwitcher veröffentlichen wenn es gefragt ist)



All times are GMT +2. The time now is 23:14.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.