[HowTo]Verschiedene GM Zeichen

05/01/2011 11:11 RealFreak#1
#Edit:
Wieder reineditiert, da man das sowieso schon fast zu 100% mit Cranks neuem Python Tutorial machen kann ;)
Wer sich näher damit beschäftigen will hier ist das Tutorial:
[Only registered and activated users can see links. Click Here To Register...]


Heute zeige ich euch, wie ihr für GMs/GAs unterschiedliche GM-Zeichen macht OHNE es durch irgendwelche Rüstungen zu regeln.
Ich hatte damals zusammen mit [Only registered and activated users can see links. Click Here To Register...] das Grundgerüst erdacht, nachdem ich aber ein paar Probleme damit hatte habe ich das ganze verworfen.
Allerdings beruht sich der Inhalt immernoch auf Bruchstücke von dem Script von [Only registered and activated users can see links. Click Here To Register...] und mir.

Also fangen wir mal an:
constinfo.py

Dort fügt ihr das hier ein:
Code:
GM_MARK = 0
game.py

Dort sucht ihr nach
Code:
onUpdate
Dort ergänzt ihr unter app.UpdateGame() das hier:
Code:
		gamemasta = player.GetName()
Dann ergänzt ihr über
Code:
		self.interface.BUILD_OnUpdate()
das hier:
Code:
		if gamemasta.find("[SA]")!=-1 and constInfo.GM_MARK == 0:
			constInfo.GM_MARK = 1
			net.SendChatPacket("/effect 14")	

		if gamemasta.find("[GM]")!=-1 and constInfo.GM_MARK == 0:
			constInfo.GM_MARK = 1
			net.SendChatPacket("/effect 13")
uisystem.py

Dort sucht ihr nach:
Code:
__ClickChangeCharacterButton
fügt dort einfach oben hinzu:
Code:
			constInfo.GM_MARK = 0
Das selbe machen wir auch bei
Code:
__ClickLogOutButton
intrologin.py

sucht nach
Code:
__OpenLoginBoard
und fügt dort über
Code:
		self.serverExitButton.SetEvent(ui.__mem_func__(self.__OnClickExitServerButton))
ebenfalls ganz oben das hier hinzu:
Code:
			constInfo.GM_MARK = 0


Erklärung:

Es überprüft in der onUpdate(wird 20x pro Sekunde aufgerufen) ob der Name ein [SA] oder was auch immer ihr eingetragen habt und ruft den Effect auf.
Da er das aber normalerweiße 20x pro Sekunde macht müssen wir mittels der constInfo.py eine Begrenzung setzen, also macht er dies nur wenn GM_Mark auf 0 ist und setzt GM_Mark dann auf 1.
Da dies aber bis zum Clientneustart auf 1 bleibt, fügen wir bei dem Charakter wechseln Button hinzu, dass GM_Mark auf 0 gesetzt wird.
Am besten wäre es auch, das ganze nochmals beim Einloggen auf 0 zu setzen(Kicks werden nicht als ausloggen gewertet), deswegen setze ich GM_Mark ebenfalls beim LoginBoard auf 0.
Der Befehl /effect ist weiterhin erst ab GM Rechten einsetzbar und für alle sichtbar, was den Vorteil mit sich bringt, dass sich niemand als GM einsetzen kann mit Tinktur des Namens als [SA].... oder so auszugeben.

Wichtig zu den Effects:

Ich weiß bisher leider noch nicht wie sie definiert werden, ich habe deswegen meinerseits einfach einen bereits angezeigten Effect genommen und mit dem Effect von meinem Gm Zeichen ersetzt, das selbe ist aber individuell, da ich nichts davon bewusst verändert habe und trotzdem sind sie anderst als bei einem anderen Clienten von mir.



Joa ich hoffe ihr habt alles schön kapiert und habt Fun mit euren individuellen GM Zeichen.
Im Anhang sind die Scripts für den Orginal Metin2 De Clienten, wer allerdings Cranks Multiclient benutzt muss es selber machen, da er so ziemlich viel in den zu bearbeitenden Dateien geändert hat und meine Dateien im Anhang NICHT in Cranks Client funktionieren werden.

MfG RealFreak
05/01/2011 11:12 Almari#2
Quote:
Originally Posted by RealFreak View Post
Blah
N1CE one :D
05/01/2011 11:24 The Bull#3
nette sache.. und du hast den ablauf und die funktion der Geschichte wenigstens erklärt, so das man das auch checken kann. ^^

Ich finds gut ..


MfG Bull!
05/01/2011 11:34 Delfinarium#4
Danke sehr hilfreich :D
05/01/2011 11:37 Papa Kobe#5
Jop. Nice ;)
05/01/2011 12:01 CanbiZ#6
Nice man!
05/01/2011 12:31 .Resistance#7
Kann man das nicht so machen, dass man verschiedene GM Symbole in den locae/**/effect Ordner packt, und dass dann die jeweiligen Symbole aufgerufen werden?
05/01/2011 12:34 BL00DSTYL3#8
danke nice :P. Aber das konnte man doch auch noch anders machen oder nicht?!
05/01/2011 12:44 Bataleon#9
sehr nice danke dir
05/01/2011 12:59 The Bull#10
mir fiel auf.. als ich schaute.. wo die effects zugewiesen werden..

das dieser code hier scheinbar mit dem logo zusammenhängt.
aus der playsettingmodule.py.

aber wie ich da nun noch mehr effects hinzufüge.. bzw sich dann womöglich der packet sende befehl ändert... hab ich keine ahnung.

PHP Code:
chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+0"Bip01"locale.FN_GM_MARK
05/01/2011 13:05 RealFreak#11
Quote:
Originally Posted by The Bull View Post
mir fiel auf.. als ich schaute.. wo die effects zugewiesen werden..

das dieser code hier scheinbar mit dem logo zusammenhängt.
aus der playsettingmodule.py.

aber wie ich da nun noch mehr effects hinzufüge.. bzw sich dann womöglich der packet sende befehl ändert... hab ich keine ahnung.

PHP Code:
chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+0"Bip01"locale.FN_GM_MARK
effect 0 ist aber keiner grafik zugewiesen, dazu wären z.B. diese hier:
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_FIRECRACK ER, "", "d:/ymir work/effect/etc/firecracker/newyear_firecracker.mse")
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SPIN_TOP, "", "d:/ymir work/effect/etc/firecracker/paing_i.mse")

effect 9 und effect 10


MfG RealFreak
05/01/2011 13:10 CranK™#12
So sehen es nur die die zur Zeit online sind wenn dieser Befehl gesendet wurde.
Sprich wenn man da nich online ist sieht man des normale GM logo...
Naja ich finds schade das du es pub gemacht hast, jetzt ist selbst des nicht's mehr besonderes -.-
05/01/2011 13:11 The Bull#13
ich hab ja mal ein wenig gefummelt...

und hab dabei gemerkt.. das die effecte.. die abgerufen werden.. teilweise aus den refine effecten kommen. k.a warum..

und hab einfach mal noch welche hinzugefügt.. aber die will er nicht haben ^^.

PHP Code:
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+38"Bip01""D:/ymir work/effect/etc/click/tgm.mse")
    
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+39"Bip01""D:/ymir work/effect/etc/click/gam.mse")
    
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+40"Bip01""D:/ymir work/effect/etc/click/ga.mse")
    
chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+41"Bip01""D:/ymir work/effect/etc/click/sa.mse"
abgesehen davon, wenn ich als bsp die rüssi wechsle.. is der effect auch weg.
somit kein gm logo mehr

€= also ist auch diese möglichkeit nicht die lösung all unserer Probleme ^^
05/01/2011 13:13 Syrael van G#14
Quote:
Originally Posted by CranK™ View Post
Naja ich finds schade das du es pub gemacht hast, jetzt ist selbst des nicht's mehr besonderes -.-
Kann mir nicht vorstellen das man mehr Member bekommt weil die Gm´s verschiedene Bildchen am Schädel haben!
05/01/2011 13:13 PhanToM.LorD#15
Geil genau das haben viele gesucht thanks