Rufen ohne Intervall?

04/19/2015 14:03 Cyber36#1
Hey Leute, ich habe auf meinem Server einen Reichschat eingebaut und funktionell entbuggt! Meine Frage wäre, wie ichs jetzt noch hinbekomme, dass man die 15 Sekunden nicht immer abwarten muss, um im Reichschat (Also mit dem ! vor dem Text) schreiben zu können.

Meine Game: 2089m
Meine Exe: 34k
Meine Files: Invoice (Gr33n - Standart)

Im Clienten hab ich die Stelle mit der Ausgabe in der uichat bereits gefunden, sodass keine Nachricht erscheint, wenn man ruft, bevor die 15 Sekunden um sind. Jetzt müsste man wahrscheinlich nur noch die Game patchen und evtl. noch die Exe? Jemand ne Ahnung von dem Ganzen? :)

Danke schonmal im Vorraus!
04/23/2015 17:40 Cyber36#2
#PUUUSH
04/24/2015 00:09 Benhero#3
Source oder Per diff.
04/25/2015 11:22 Cyber36#4
Geht also beides, interessant.. :)

Da ich beim Source eh nicht durchblicke, könntest du mir sagen, wie man eine Dif für sowas schreibt? Es ist ja an sich kein Geheimnis, dass man HEX-Kenntnisse benötigt. Aber reichen die aus um eine "game" zu verstehen und zu verändern?
04/25/2015 12:14 xCPx#5
man braucht keine hex sondern ASM kenntnisse.
04/25/2015 12:31 #.TwoFace.##6
Eigentlich brauch man nix von beiden, die Begrenzung der Wartezeit steht in den Configs bei den 2089 Gamefiles.
04/26/2015 00:08 Cyber36#7
Code:
HOSTNAME: channel99_core1
CHANNEL: 99
DB_ADDR: localhost
MAP_ALLOW: 1 3 4 5 21 23 24 25 41 43 44 118 119 120 121 122 123 124 125 126 45 127 128 110
TABLE_POSTFIX:
PASSES_PER_SEC: 25
SAVE_EVENT_SECOND_CYCLE: 180
PING_EVENT_SECOND_CYCLE: 180
PLAYER_SQL: localhost mt2 mt2!@# player
COMMON_SQL: localhost mt2 mt2!@# common
LOG_SQL: localhost mt2 mt2!@# log
#TEST_SERVER: 1
NO_PK: 1
VIEW_RANGE: 6000
CHECK_MULTIHACK: 0
LOCALE_SERVICE: GERMANY
MAX_LEVEL: 170
FN_log_adminpage: 1
mark_server 1
mark_min_level 1
traffic_profile: 1
empire_whisper: 0
user_limit: 1000
#hackshield_enable: 1
#hackshield_first_check_time: 10
#hackshield_check_cycle_time: 10
speedhack_limit_count: 10
speedhack_limit_bonus: 10
spam_block_duration: 10
spam_block_score: 10
spam_block_reload_cycle: 10
spam_block_max_level: 90
protect_normal_player: 0
Wo? :P
04/27/2015 23:28 Cyber36#8
#Push
05/01/2015 08:50 Cyber36#9
#Puuuuush
05/01/2015 09:18 Avulsed#10
Quote:
Originally Posted by #.TwoFace.# View Post
Eigentlich brauch man nix von beiden, die Begrenzung der Wartezeit steht in den Configs bei den 2089 Gamefiles.
Das wäre mir neu. :o

Eine derartige Dif habe ich hier noch nicht gesehen und ich kann mir nicht vorstellen, dass sich jemand die Mühe macht für den veralteten Gamecore.

Falls du dich doch entschließen solltest den Source zu benutzen, kommentier in der input_main.cpp folgendes aus:

Code:
		if (thecore_heart->pulse - (int) ch->GetLastShoutPulse() < passes_per_sec * 15)
			return (iExtraLen);

		ch->SetLastShoutPulse(thecore_heart->pulse);
05/03/2015 01:28 Cyber36#11
Wo ich nun was verändern muss ist klar, dafür erstmal ein dickes Dankeschön!

Ich habe wie ganz am Anfang erwähnt, die Standart Invoice-EXE, wie kann ich aus dieser EXE die Source "entpacken" (Dafür gibts sicherlich irgendein englisches Fachwort...)

Also wie komm ich an die Datei, wo ich das auskommentieren soll?
05/03/2015 04:16 Yiv#12
Quote:
Originally Posted by Cyber36 View Post
Wo ich nun was verändern muss ist klar, dafür erstmal ein dickes Dankeschön!

Ich habe wie ganz am Anfang erwähnt, die Standart Invoice-EXE, wie kann ich aus dieser EXE die Source "entpacken" (Dafür gibts sicherlich irgendein englisches Fachwort...)

Also wie komm ich an die Datei, wo ich das auskommentieren soll?
Das ganze ist Serverside und du brauchst den Source, der releast wurde. Eine kompilierte Binary kannst du nicht mehr decompilen (außer zu Pseudo-Code).
Einfach mal nach "mega kraizy.tgz" googlen, da solltest du was finden, wenn du ein bisschen genauer schaust (auf solchen Seiten, die quasi eine Suchmaschine für "Mega" sind).
Diesen Source-Code kannst du dann auf FreeBSD compilen und erhälst, sofern erfoglreich, eine Binary - die "game".

In einem anderem Metin2 Developer Forum findest du dazu auch einige How-To's. ;)

MfG
05/03/2015 11:02 Cyber36#13
kraizy.tgz hab ich gefunden danke ^^ Wenn ich aber jetzt diese kraizy veränder und dann eine game binary compile aus der veränderten Source und sie ersetze mit der alten game...

Gehen dann alle Difs die ich vorher auf diese gezogen hatte auch weg? Muss ich dann jede Dif neu suchen und noch einmal nach dem compilen aufspielen?
05/03/2015 11:39 Avulsed#14
Du brauchst keine Difs. Du veränderst alles direkt im Source, dazu gibts viele Guides hier im Forum.
05/03/2015 14:51 Cyber36#15
Das ist das im Source veränder ist ja jetzt klar, aber wenn ich die veränderte Source compile, bekomme ich ja eine neue game, nennen wir sie mal game 1.

Auf meinem Server liegt game 2, die mit Difs bearbeitet wurde, wenn ich sie nun mit game 1 ersetze, sind alle difs dann annuliert?

Achja nochwas: In welchem Ordner soll ich in der input_main.cpp eig. auskommentieren? Da gibts so einige von denen :)