Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

GM-Online w po stronie klienta (spolszczony)


robo112

Rekomendowane odpowiedzi

Opublikowano

SZOK ! Pięknie =) dajcie jak te @passy usunąć z tej konsolki =P

 

 

Link do oryginału:

http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/1254020-release-tutorial-gm-online-board.html

 

 

W grze wygląda to tak:

5372315700_1308668415.jpg

 

 

Potrzebne nam pliki z klienta root oraz uiscript

 

Rozpakowujemy root

 

otwieramy gamy.py i szukamy linijek

 

	def __BuildKeyDict(self):
	onPressKeyDict = {}

	##PressKey ´Â ´©¸Ł°í ŔÖ´Â µżľČ °čĽÓ ŔűżëµÇ´Â ŰŔĚ´Ů.

	## ĽýŔÚ ´ÜĂŕŰ Äü˝˝·Ôżˇ ŔĚżëµČ´Ů.(ŔĚČÄ ĽýŔڵ鵵 Äü ˝˝·Ôżë żąľŕ)
	## F12 ´Â Ŭ¶ó µđąö±×żë ŰŔ̹ǷΠľ˛Áö ľĘ´Â °Ô ÁÁ´Ů.
	onPressKeyDict[app.DIK_1]	= lambda : self.__PressNumKey(1)
	onPressKeyDict[app.DIK_2]	= lambda : self.__PressNumKey(2)
	onPressKeyDict[app.DIK_3]	= lambda : self.__PressNumKey(3)
	onPressKeyDict[app.DIK_4]	= lambda : self.__PressNumKey(4)
	onPressKeyDict[app.DIK_5]	= lambda : self.__PressNumKey(5)
	onPressKeyDict[app.DIK_6]	= lambda : self.__PressNumKey(6)
	onPressKeyDict[app.DIK_7]	= lambda : self.__PressNumKey(7)
	onPressKeyDict[app.DIK_8]	= lambda : self.__PressNumKey(8)
	onPressKeyDict[app.DIK_9]	= lambda : self.__PressNumKey(9)
	onPressKeyDict[app.DIK_F1]	= lambda : self.__PressQuickSlot(4)
	onPressKeyDict[app.DIK_F2]	= lambda : self.__PressQuickSlot(5)
	onPressKeyDict[app.DIK_F3]	= lambda : self.__PressQuickSlot(6)
	onPressKeyDict[app.DIK_F4]	= lambda : self.__PressQuickSlot(7) 

dodajemy na koniec

 

onPressKeyDict[app.DIK_F5]	= lambda : self.__KontaktBoard()

powinno wyglądać to tak:

 

def __BuildKeyDict(self):
	onPressKeyDict = {}

	##PressKey ´Â ´©¸Ł°í ŔÖ´Â µżľČ °čĽÓ ŔűżëµÇ´Â ŰŔĚ´Ů.

	## ĽýŔÚ ´ÜĂŕŰ Äü˝˝·Ôżˇ ŔĚżëµČ´Ů.(ŔĚČÄ ĽýŔڵ鵵 Äü ˝˝·Ôżë żąľŕ)
	## F12 ´Â Ŭ¶ó µđąö±×żë ŰŔ̹ǷΠľ˛Áö ľĘ´Â °Ô ÁÁ´Ů.
	onPressKeyDict[app.DIK_1]	= lambda : self.__PressNumKey(1)
	onPressKeyDict[app.DIK_2]	= lambda : self.__PressNumKey(2)
	onPressKeyDict[app.DIK_3]	= lambda : self.__PressNumKey(3)
	onPressKeyDict[app.DIK_4]	= lambda : self.__PressNumKey(4)
	onPressKeyDict[app.DIK_5]	= lambda : self.__PressNumKey(5)
	onPressKeyDict[app.DIK_6]	= lambda : self.__PressNumKey(6)
	onPressKeyDict[app.DIK_7]	= lambda : self.__PressNumKey(7)
	onPressKeyDict[app.DIK_8]	= lambda : self.__PressNumKey(8)
	onPressKeyDict[app.DIK_9]	= lambda : self.__PressNumKey(9)
	onPressKeyDict[app.DIK_F1]	= lambda : self.__PressQuickSlot(4)
	onPressKeyDict[app.DIK_F2]	= lambda : self.__PressQuickSlot(5)
	onPressKeyDict[app.DIK_F3]	= lambda : self.__PressQuickSlot(6)
	onPressKeyDict[app.DIK_F4]	= lambda : self.__PressQuickSlot(7)
	onPressKeyDict[app.DIK_F5]	= lambda : self.__KontaktBoard()

 

 

Teraz schodzimy na dól pod tym tekstem

	def __PlayMusic(self, flag, filename):
	flag = int(flag)
	if flag:
		snd.FadeOutAllMusic()
		musicInfo.SaveLastPlayFieldMusic()
		snd.FadeInMusic("BGM/" + filename)
	else:
		snd.FadeOutAllMusic()
		musicInfo.LoadLastPlayFieldMusic()
		snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)

 

dodajemy ten tekst

 

	def __KontaktBoard(self):
	import uiEvo2Board

	self.evo2boardDlg = uiEvo2Board.MenuDialog()
	self.evo2boardDlg.Show()

 

Powinno wyglądać to tak:

	def __PlayMusic(self, flag, filename):
	flag = int(flag)
	if flag:
		snd.FadeOutAllMusic()
		musicInfo.SaveLastPlayFieldMusic()
		snd.FadeInMusic("BGM/" + filename)
	else:
		snd.FadeOutAllMusic()
		musicInfo.LoadLastPlayFieldMusic()
		snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)

def __KontaktBoard(self):
	import uiEvo2Board

	self.evo2boardDlg = uiEvo2Board.MenuDialog()
	self.evo2boardDlg.Show()

 

Potem szukamy linijki odpowiadającej za czat:

def OnRecvWhisper(self, name, line):
		chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, name, line)
		self.interface.RecvWhisper(name)

 

I zmieniamy na:

def OnRecvWhisper(self, name, line):
	Gamemaster1 = constInfo.GM1Name
	Gamemaster2 = constInfo.GM2Name
	Gamemaster3 = constInfo.GM3Name
	Gamemaster4 = constInfo.GM4Name
	pname = player.GetName()

	if line[-21:] == "Hallo bist du online?" and (pname == (Gamemaster1) != -1 or pname == (Gamemaster2) != -1 or pname == (Gamemaster3) != -1 or pname == (Gamemaster4) != -1):
		net.SendWhisperPacket(name, "Yes I am online")
		return

	if line[-15:] == "Yes I am online" and name == (Gamemaster1) != -1:
		constInfo.GM1Online = 1
		chat.AppendChat(chat.CHAT_TYPE_NOTICE, " " + name + " jest dostępny")
		return

	if line[-15:] == "Yes I am online" and name == (Gamemaster2) != -1:
		constInfo.GM2Online = 1
		chat.AppendChat(chat.CHAT_TYPE_NOTICE, " " + name + " jest dostępny")
		return

	if line[-15:] == "Yes I am online" and name == (Gamemaster3) != -1:
		constInfo.GM3Online = 1
		chat.AppendChat(chat.CHAT_TYPE_NOTICE, " " + name + " jest dostępny")
		return

	if line[-15:] == "Yes I am online" and name == (Gamemaster4) != -1:
		constInfo.GM4Online = 1
		chat.AppendChat(chat.CHAT_TYPE_NOTICE, " " + name + " jest dostępny")
		return

	if line[-(12+len(name)+35):] == "Der Spieler " + name + " möchte Kontakt mit ihnen aufnehmen" and (pname == (Gamemaster1) != -1 or pname == (Gamemaster2) != -1 or pname == (Gamemaster3) != -1 or pname == (Gamemaster4) != -1):
		chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, name, line)
		self.interface.RecvWhisper(name)
		net.SendWhisperPacket(name, "Bitte warte einen Augenblick, ich bin gleich für Sie da!")
		return			
	else:
		chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, name, line)
		self.interface.RecvWhisper(name)

 

Potem szukamy odpowiadającej za wiadomość że gracz jest niedostępny czyli:

	def OnRecvWhisperError(self, mode, name, str):
	if locale.WHISPER_ERROR.has_key(mode):
		chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, locale.WHISPER_ERROR[mode](name))
	elif mode == 4:
		chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, str)
	else:
		chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "Whisper Unknown Error(mode=%d, name=%s)" % (mode, name))

	self.interface.RecvWhisper(name)

 

Zmieniamy na:

	def OnRecvWhisperError(self, mode, name, str):
	pname = player.GetName()
	Gamemaster1 = constInfo.GM1Name
	Gamemaster2 = constInfo.GM2Name
	Gamemaster3 = constInfo.GM3Name
	Gamemaster4 = constInfo.GM4Name
	if locale.WHISPER_ERROR.has_key(mode):
		if (name == (Gamemaster1) != -1) and pname != Gamemaster1 and constInfo.GM1Online == 0:
			constInfo.GM1Online = 0
			#chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " jest niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster1) != -1) and pname != Gamemaster1 and constInfo.GM1Online == 1:
			constInfo.GM1Online = 0
			chat.AppendChat(chat.CHAT_TYPE_NOTICE, " " + name + " jest już niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster2) != -1) and pname != Gamemaster2 and constInfo.GM2Online == 0:
			constInfo.GM2Online = 0
			#chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " jest niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster2) != -1) and pname != Gamemaster2 and constInfo.GM2Online == 1:
			constInfo.GM2Online = 0
			chat.AppendChat(chat.CHAT_TYPE_NOTICE, "" + name + " jest już niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster3) != -1) and pname != Gamemaster3 and constInfo.GM3Online == 0:
			constInfo.GM3Online = 0
			#chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " jest niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster3) != -1) and pname != Gamemaster3 and constInfo.GM3Online == 1:
			constInfo.GM3Online = 0
			chat.AppendChat(chat.CHAT_TYPE_NOTICE, "" + name + " jest już niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster4) != -1) and pname != Gamemaster4 and constInfo.GM4Online == 0:
			constInfo.GM4Online = 0
			#chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " jest niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster4) != -1) and pname != Gamemaster4 and constInfo.GM4Online == 1:
			constInfo.GM4Online = 0
			chat.AppendChat(chat.CHAT_TYPE_NOTICE, "" + name + " jest już niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		else:
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, locale.WHISPER_ERROR[mode](name))
	elif mode == 4:
		chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, str)
	else:
		chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "Whisper Unknown Error(mode=%d, name=%s)" % (mode, name))

	self.interface.RecvWhisper(name)

 

Zapisujemy game.py

 

Teraz wchodzimy do constinfo.py

 

Na na początku dodajemy wpisy

 

GM1Online = 0
GM2Online = 0
GM3Online = 0
GM4Online = 0

GM1Name = "[GA]robo112"
GM2Name = "[LOWBOB]RealFreak"
GM3Name = "[CRAZY]Passy305"
GM4Name = "[iMBA]Crank"

 

 

Tu znianiamy na nazwy swoich GA/GMów

GM1Name = "[GA]robo112"

 

Pobieramy pliki w załączniku

uievo2board.py 

dodajemy do root i pakujemy.

 

Rozpakowujemy uiscript

i dodajemy

evo2board.py

dodajemy do uiscript i pakujemy.

 

Pamiętaj o [TAB] edytując pliki .py

 

Download:

W załączniku

Skan:

http://www.virustotal.com/file-scan/report.html?id=c6d2c71ec3475cc6c3f95d601dde1fc249274a7788b300e317723610b083462b-1308668456

 

W paczce znajdują się wpisy do game.py i constinfo.py wraz z tabulatorami

 

PS. Aby odpalić to trzeba wcisnąć F5

 

Opublikowano

plik : evo2board.py

 

 

import uiScriptLocale

window = {
"name" : "evo2board",
"style" : ("movable", "float",),

"x" : 100,
"y" : 100,

"width" : 390,
"height" : 230,

"children" :
(
	{
		"name" : "board",
		"type" : "board",

		"x" : 0,
		"y" : 0,

		"width" : 390,
		"height" : 230,

		"children" :
		(
			## Title
			{
				"name" : "titlebar",
				"type" : "titlebar",
				"style" : ("attach",),

				"x" : 8,
				"y" : 8,

				"width" : 375,
				"color" : "gray",

				"children" :
				(
					{
					"name":"titlename",
					"type":"text",

					"x":0,
					"y":3,

					"horizontal_align":"center",
					"text_horizontal_align":"center",

					"text": "Status GMów",
					 },
				),
			},
		## Überschrift
			{
				"name" : "Überschrift",
				"type" : "text",

				"x" : 20,
				"y" : 34,

				"text" : "Tu możesz sprawdzić kto z Teamu Serwera jest dostępny:",
			},
		## Gamemasta1 Zeugs
			{
				"name" : "Gamemasta1",
				"type" : "button",

				"x" : 30,
				"y" : 54,

				"text" : "Gamemaster",

				"default_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"over_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"down_image" : "d:/ymir work/ui/public/large_button_02.sub",
			},
			{
				"name" : "Gamemasta1PN",
				"type" : "button",

				"x" : 130,
				"y" : 54,

				"text" : "Napisz",

				"default_image" : "d:/ymir work/ui/public/large_button_01.sub",
				"over_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"down_image" : "d:/ymir work/ui/public/large_button_03.sub",
			},
			{
				"name" : "imagegm1",
				"type" : "image",

				"x" : 15,
				"y" : 54,

				"image" : "d:/ymir work/ui/game/windows/messenger_list_offline.sub",
			},

		## Gamemasta2 Zeugs
			{
				"name" : "Gamemasta2",
				"type" : "button",

				"x" : 30,
				"y" : 78,

				"text" : "Gamemaster",

				"default_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"over_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"down_image" : "d:/ymir work/ui/public/large_button_02.sub",
			},
			{
				"name" : "Gamemasta2PN",
				"type" : "button",

				"x" : 130,
				"y" : 78,

				"text" : "Napisz",

				"default_image" : "d:/ymir work/ui/public/large_button_01.sub",
				"over_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"down_image" : "d:/ymir work/ui/public/large_button_03.sub",
			},
			{
				"name" : "imagegm2",
				"type" : "image",

				"x" : 15,
				"y" : 78,

				"image" : "d:/ymir work/ui/game/windows/messenger_list_offline.sub",
			},
		## Gamemasta2 Zeugs
			{
				"name" : "Gamemasta3",
				"type" : "button",

				"x" : 30,
				"y" : 102,

				"text" : "Gamemaster",

				"default_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"over_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"down_image" : "d:/ymir work/ui/public/large_button_02.sub",
			},
			{
				"name" : "Gamemasta3PN",
				"type" : "button",

				"x" : 130,
				"y" : 102,

				"text" : "Napisz",

				"default_image" : "d:/ymir work/ui/public/large_button_01.sub",
				"over_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"down_image" : "d:/ymir work/ui/public/large_button_03.sub",
			},
			{
				"name" : "imagegm3",
				"type" : "image",

				"x" : 15,
				"y" : 102,

				"image" : "d:/ymir work/ui/game/windows/messenger_list_offline.sub",
			},
		## Gamemasta4 Zeugs
			{
				"name" : "Gamemasta4",
				"type" : "button",

				"x" : 30,
				"y" : 126,

				"text" : "Gamemaster",

				"default_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"over_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"down_image" : "d:/ymir work/ui/public/large_button_02.sub",
			},
			{
				"name" : "Gamemasta4PN",
				"type" : "button",

				"x" : 130,
				"y" : 126,

				"text" : "Napisz",

				"default_image" : "d:/ymir work/ui/public/large_button_01.sub",
				"over_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"down_image" : "d:/ymir work/ui/public/large_button_03.sub",
			},
			{
				"name" : "imagegm4",
				"type" : "image",

				"x" : 15,
				"y" : 126,

				"image" : "d:/ymir work/ui/game/windows/messenger_list_offline.sub",
			},

		##Aktualisieren Button
			{
				"name" : "Aktualisieren",
				"type" : "button",

				"x" : 20,
				"y" : 195,

				"text" : "Odśwież",

				"default_image" : "d:/ymir work/ui/public/large_button_01.sub",
				"over_image" : "d:/ymir work/ui/public/large_button_02.sub",
				"down_image" : "d:/ymir work/ui/public/large_button_03.sub",
			},
		## Copyright
			{
				"name" : "Überschrift",
				"type" : "text",

				"x" : 320,
				"y" : 205,

				"text" : "© passy305",
			},
		),
	},
),
}

 

 

Na końcu widać "© passy305" to sobie zmień, chociaż ja nie popieram takiego cwaniactwa, nie Ty to zrobiłeś.

Idź pan w ch#j jednym słowem.

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

  • 11 miesięcy temu...
Opublikowano

Hm dodałem wszystko według tutka, w cliencie ładnie widać tą tabelę, niestety mam pewnien kłopot.

 

U siebie na koncie (postać GM) widzę, że tylko ja jestem dostępny, natomiast gdy stoi obok mnie druga postać GM'a widzę, go jako offline.

Gdy sie zalogowałem na inne konto (zwykła postać) widziałem te 2 postacie GM'ów jako offline ;/.

 

Czy mógłby ktoś pomóc mi z tym problem ?

Opublikowano

@up

 

OnRecvWhisperError self mode, name, str):

Zmień to na

 

 

OnRecvWhisperError self mode, name, line):

 

To również

 

 

AppendWhisper chat WHISPER_TYPE_INFO, name, str

 

 

Na

AppendWhisper chat WHISPER_TYPE_INFO, name, line

Opublikowano

@up

 

Taby akurat tego że on nie widzi gmów online nic nie ma do tego.

 

 

Robo112 miał użyte stare funkcje które już na polskim kliencie są zmienione.

Opublikowano

Link do oryginału:

http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/1254020-release-tutorial-gm-online-board.html

 

 

W grze wygląda to tak:

5372315700_1308668415.jpg

 

 

Potrzebne nam pliki z klienta root oraz uiscript

 

Rozpakowujemy root

 

otwieramy gamy.py i szukamy linijek

 

	def __BuildKeyDict(self):
	onPressKeyDict = {}

	##PressKey ´Â ´©¸Ł°í ŔÖ´Â µżľČ °čĽÓ ŔűżëµÇ´Â ŰŔĚ´Ů.

	## ĽýŔÚ ´ÜĂŕŰ Äü˝˝·Ôżˇ ŔĚżëµČ´Ů.(ŔĚČÄ ĽýŔڵ鵵 Äü ˝˝·Ôżë żąľŕ)
	## F12 ´Â Ŭ¶ó µđąö±×żë ŰŔ̹ǷΠľ˛Áö ľĘ´Â °Ô ÁÁ´Ů.
	onPressKeyDict[app.DIK_1]	= lambda : self.__PressNumKey(1)
	onPressKeyDict[app.DIK_2]	= lambda : self.__PressNumKey(2)
	onPressKeyDict[app.DIK_3]	= lambda : self.__PressNumKey(3)
	onPressKeyDict[app.DIK_4]	= lambda : self.__PressNumKey(4)
	onPressKeyDict[app.DIK_5]	= lambda : self.__PressNumKey(5)
	onPressKeyDict[app.DIK_6]	= lambda : self.__PressNumKey(6)
	onPressKeyDict[app.DIK_7]	= lambda : self.__PressNumKey(7)
	onPressKeyDict[app.DIK_8]	= lambda : self.__PressNumKey(8)
	onPressKeyDict[app.DIK_9]	= lambda : self.__PressNumKey(9)
	onPressKeyDict[app.DIK_F1]	= lambda : self.__PressQuickSlot(4)
	onPressKeyDict[app.DIK_F2]	= lambda : self.__PressQuickSlot(5)
	onPressKeyDict[app.DIK_F3]	= lambda : self.__PressQuickSlot(6)
	onPressKeyDict[app.DIK_F4]	= lambda : self.__PressQuickSlot(7) 

dodajemy na koniec

 

onPressKeyDict[app.DIK_F5]	= lambda : self.__KontaktBoard()

powinno wyglądać to tak:

 

def __BuildKeyDict(self):
	onPressKeyDict = {}

	##PressKey ´Â ´©¸Ł°í ŔÖ´Â µżľČ °čĽÓ ŔűżëµÇ´Â ŰŔĚ´Ů.

	## ĽýŔÚ ´ÜĂŕŰ Äü˝˝·Ôżˇ ŔĚżëµČ´Ů.(ŔĚČÄ ĽýŔڵ鵵 Äü ˝˝·Ôżë żąľŕ)
	## F12 ´Â Ŭ¶ó µđąö±×żë ŰŔ̹ǷΠľ˛Áö ľĘ´Â °Ô ÁÁ´Ů.
	onPressKeyDict[app.DIK_1]	= lambda : self.__PressNumKey(1)
	onPressKeyDict[app.DIK_2]	= lambda : self.__PressNumKey(2)
	onPressKeyDict[app.DIK_3]	= lambda : self.__PressNumKey(3)
	onPressKeyDict[app.DIK_4]	= lambda : self.__PressNumKey(4)
	onPressKeyDict[app.DIK_5]	= lambda : self.__PressNumKey(5)
	onPressKeyDict[app.DIK_6]	= lambda : self.__PressNumKey(6)
	onPressKeyDict[app.DIK_7]	= lambda : self.__PressNumKey(7)
	onPressKeyDict[app.DIK_8]	= lambda : self.__PressNumKey(8)
	onPressKeyDict[app.DIK_9]	= lambda : self.__PressNumKey(9)
	onPressKeyDict[app.DIK_F1]	= lambda : self.__PressQuickSlot(4)
	onPressKeyDict[app.DIK_F2]	= lambda : self.__PressQuickSlot(5)
	onPressKeyDict[app.DIK_F3]	= lambda : self.__PressQuickSlot(6)
	onPressKeyDict[app.DIK_F4]	= lambda : self.__PressQuickSlot(7)
	onPressKeyDict[app.DIK_F5]	= lambda : self.__KontaktBoard()

 

 

Teraz schodzimy na dól pod tym tekstem

	def __PlayMusic(self, flag, filename):
	flag = int(flag)
	if flag:
		snd.FadeOutAllMusic()
		musicInfo.SaveLastPlayFieldMusic()
		snd.FadeInMusic("BGM/" + filename)
	else:
		snd.FadeOutAllMusic()
		musicInfo.LoadLastPlayFieldMusic()
		snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)

 

dodajemy ten tekst

 

	def __KontaktBoard(self):
	import uiEvo2Board

	self.evo2boardDlg = uiEvo2Board.MenuDialog()
	self.evo2boardDlg.Show()

 

Powinno wyglądać to tak:

	def __PlayMusic(self, flag, filename):
	flag = int(flag)
	if flag:
		snd.FadeOutAllMusic()
		musicInfo.SaveLastPlayFieldMusic()
		snd.FadeInMusic("BGM/" + filename)
	else:
		snd.FadeOutAllMusic()
		musicInfo.LoadLastPlayFieldMusic()
		snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)

def __KontaktBoard(self):
	import uiEvo2Board

	self.evo2boardDlg = uiEvo2Board.MenuDialog()
	self.evo2boardDlg.Show()

 

Potem szukamy linijki odpowiadającej za czat:

def OnRecvWhisper(self, name, line):
		chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, name, line)
		self.interface.RecvWhisper(name)

 

I zmieniamy na:

def OnRecvWhisper(self, name, line):
	Gamemaster1 = constInfo.GM1Name
	Gamemaster2 = constInfo.GM2Name
	Gamemaster3 = constInfo.GM3Name
	Gamemaster4 = constInfo.GM4Name
	pname = player.GetName()

	if line[-21:] == "Hallo bist du online?" and (pname == (Gamemaster1) != -1 or pname == (Gamemaster2) != -1 or pname == (Gamemaster3) != -1 or pname == (Gamemaster4) != -1):
		net.SendWhisperPacket(name, "Yes I am online")
		return

	if line[-15:] == "Yes I am online" and name == (Gamemaster1) != -1:
		constInfo.GM1Online = 1
		chat.AppendChat(chat.CHAT_TYPE_NOTICE, " " + name + " jest dostępny")
		return

	if line[-15:] == "Yes I am online" and name == (Gamemaster2) != -1:
		constInfo.GM2Online = 1
		chat.AppendChat(chat.CHAT_TYPE_NOTICE, " " + name + " jest dostępny")
		return

	if line[-15:] == "Yes I am online" and name == (Gamemaster3) != -1:
		constInfo.GM3Online = 1
		chat.AppendChat(chat.CHAT_TYPE_NOTICE, " " + name + " jest dostępny")
		return

	if line[-15:] == "Yes I am online" and name == (Gamemaster4) != -1:
		constInfo.GM4Online = 1
		chat.AppendChat(chat.CHAT_TYPE_NOTICE, " " + name + " jest dostępny")
		return

	if line[-(12+len(name)+35):] == "Der Spieler " + name + " möchte Kontakt mit ihnen aufnehmen" and (pname == (Gamemaster1) != -1 or pname == (Gamemaster2) != -1 or pname == (Gamemaster3) != -1 or pname == (Gamemaster4) != -1):
		chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, name, line)
		self.interface.RecvWhisper(name)
		net.SendWhisperPacket(name, "Bitte warte einen Augenblick, ich bin gleich für Sie da!")
		return			
	else:
		chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, name, line)
		self.interface.RecvWhisper(name)

 

Potem szukamy odpowiadającej za wiadomość że gracz jest niedostępny czyli:

	def OnRecvWhisperError(self, mode, name, str):
	if locale.WHISPER_ERROR.has_key(mode):
		chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, locale.WHISPER_ERROR[mode](name))
	elif mode == 4:
		chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, str)
	else:
		chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "Whisper Unknown Error(mode=%d, name=%s)" % (mode, name))

	self.interface.RecvWhisper(name)

 

Zmieniamy na:

	def OnRecvWhisperError(self, mode, name, str):
	pname = player.GetName()
	Gamemaster1 = constInfo.GM1Name
	Gamemaster2 = constInfo.GM2Name
	Gamemaster3 = constInfo.GM3Name
	Gamemaster4 = constInfo.GM4Name
	if locale.WHISPER_ERROR.has_key(mode):
		if (name == (Gamemaster1) != -1) and pname != Gamemaster1 and constInfo.GM1Online == 0:
			constInfo.GM1Online = 0
			#chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " jest niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster1) != -1) and pname != Gamemaster1 and constInfo.GM1Online == 1:
			constInfo.GM1Online = 0
			chat.AppendChat(chat.CHAT_TYPE_NOTICE, " " + name + " jest już niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster2) != -1) and pname != Gamemaster2 and constInfo.GM2Online == 0:
			constInfo.GM2Online = 0
			#chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " jest niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster2) != -1) and pname != Gamemaster2 and constInfo.GM2Online == 1:
			constInfo.GM2Online = 0
			chat.AppendChat(chat.CHAT_TYPE_NOTICE, "" + name + " jest już niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster3) != -1) and pname != Gamemaster3 and constInfo.GM3Online == 0:
			constInfo.GM3Online = 0
			#chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " jest niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster3) != -1) and pname != Gamemaster3 and constInfo.GM3Online == 1:
			constInfo.GM3Online = 0
			chat.AppendChat(chat.CHAT_TYPE_NOTICE, "" + name + " jest już niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster4) != -1) and pname != Gamemaster4 and constInfo.GM4Online == 0:
			constInfo.GM4Online = 0
			#chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Das Teammitglied " + name + " jest niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		elif (name == (Gamemaster4) != -1) and pname != Gamemaster4 and constInfo.GM4Online == 1:
			constInfo.GM4Online = 0
			chat.AppendChat(chat.CHAT_TYPE_NOTICE, "" + name + " jest już niedostępny")
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "" + name + " jest niedostępny.")
			return
		else:
			chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, locale.WHISPER_ERROR[mode](name))
	elif mode == 4:
		chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, str)
	else:
		chat.AppendWhisper(chat.WHISPER_TYPE_INFO, name, "Whisper Unknown Error(mode=%d, name=%s)" % (mode, name))

	self.interface.RecvWhisper(name)

 

Zapisujemy game.py

 

Teraz wchodzimy do constinfo.py

 

Na na początku dodajemy wpisy

 

GM1Online = 0
GM2Online = 0
GM3Online = 0
GM4Online = 0

GM1Name = "[GA]robo112"
GM2Name = "[LOWBOB]RealFreak"
GM3Name = "[CRAZY]Passy305"
GM4Name = "[iMBA]Crank"

 

 

Tu znianiamy na nazwy swoich GA/GMów

GM1Name = "[GA]robo112"

 

Pobieramy pliki w załączniku

uievo2board.py 

dodajemy do root i pakujemy.

 

Rozpakowujemy uiscript

i dodajemy

evo2board.py

dodajemy do uiscript i pakujemy.

 

Pamiętaj o [TAB] edytując pliki .py

 

Download:

W załączniku

Skan:

http://www.virustotal.com/file-scan/report.html?id=c6d2c71ec3475cc6c3f95d601dde1fc249274a7788b300e317723610b083462b-1308668456

 

W paczce znajdują się wpisy do game.py i constinfo.py wraz z tabulatorami

 

PS. Aby odpalić to trzeba wcisnąć F5

dla potomncyh.

na to czekalem.!

nie widzialem tego nigdy co prawda ale o czyms podobnym myslalem ale jako quest.

1382793664-U576448.png


  • 1 miesiąc temu...
Opublikowano

@up

 

spoglądając na tą funkcje:

 

 

 

onPressKeyDict[app.DIK_F5]    = lambda : self.__KontaktBoard()
 

 

To raczej na "F5"

  • 3 tygodnie później...
  • 2 tygodnie później...
Opublikowano

kto wie w constinfo.py mam wkleic to :

 

GM1Online = 0
GM2Online = 0
GM3Online = 0
GM4Online = 0

GM1Name = "[GA]robo112"
GM2Name = "[LOWBOB]RealFreak"
GM3Name = "[CRAZY]Passy305"
GM4Name = "[iMBA]Crank"

 

 

przed czy po

# option

IN_GAME_SHOP_ENABLE = 1
CONSOLE_ENABLE = 0
PVPMODE_ENABLE = 1
PVPMODE_TEST_ENABLE = 0
PVPMODE_ACCELKEY_ENABLE = 1
PVPMODE_ACCELKEY_DELAY = 0.5
PVPMODE_PROTECTED_LEVEL = 30
gg:38469044 albo tu prosze o odp.
  • 3 tygodnie później...
Opublikowano

 

kto wie w constinfo.py mam wkleic to :

 

GM1Online = 0

GM2Online = 0

GM3Online = 0

GM4Online = 0

 

GM1Name = "[GA]robo112"

GM2Name = "[LOWBOB]RealFreak"

GM3Name = "[CRAZY]Passy305"

GM4Name = "[iMBA]Crank"

 

 

przed czy po

# option

IN_GAME_SHOP_ENABLE = 1
CONSOLE_ENABLE = 0
PVPMODE_ENABLE = 1
PVPMODE_TEST_ENABLE = 0
PVPMODE_ACCELKEY_ENABLE = 1
PVPMODE_ACCELKEY_DELAY = 0.5
PVPMODE_PROTECTED_LEVEL = 30
gg:38469044 albo tu prosze o odp.

 

Ja dalem pomiedzy o tak:

 

# option

 

GM1Online = 0

GM2Online = 0

GM3Online = 0

GM4Online = 0

 

GM1Name = "[GA]Wenir"

GM2Name = "[GA]Honor"

GM3Name = "[GA]TEKEN5"

GM4Name = "Brak"

 

 

IN_GAME_SHOP_ENABLE = 1

CONSOLE_ENABLE = 0

 

PVPMODE_ENABLE = 1

PVPMODE_TEST_ENABLE = 0

PVPMODE_ACCELKEY_ENABLE = 1

PVPMODE_ACCELKEY_DELAY = 0.5

PVPMODE_PROTECTED_LEVEL = 30

Pomogłem? Daj Lubie to! :)

 

2252770056.png

  • 8 miesięcy temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...