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

[TuT] Konfiguracja czcionki w kliencie przez gracza


Rekomendowane odpowiedzi

Opublikowano

Dzisiaj robiłem u siebie w kliencie taki mały dodatek który pozwala na zmianę czcionki klienta przez gracza bez edycji locale_pl, konfiguracja czcionki odbywa się za pomocą pliku font.cfg który automatycznie się tworzy jeśli go nie ma.

 

Jak dokonać u siebie? Otwieramy locale.py , szukamy:

def LoadLocaleFile(srcFileName, localeDict):

i usuwamy całą tą funkcję:

def LoadLocaleFile(srcFileName, localeDict):

	funcDict = {"SA":SA, "SNA":SNA}

	lineIndex = 1

	try:
		lines = pack_open(srcFileName, "r").readlines()
	except IOError:
		import dbg
		dbg.LogBox("LoadLocaleError(%(srcFileName)s)" % locals())
		app.Abort()

	for line in lines:
		try:		
			tokens = line[:-1].split("\t")
			if len(tokens) == 2:
				localeDict[tokens[0]] = tokens[1]		
			elif len(tokens) >= 3:
				type = tokens[2].strip()
				if type:
					localeDict[tokens[0]] = funcDict[type](tokens[1])
				else:
					localeDict[tokens[0]] = tokens[1]
			else:
				raise RuntimeError, "Unknown TokenSize"

			lineIndex += 1
		except:
			import dbg
			dbg.LogBox("%s: line(%d): %s" % (srcFileName, lineIndex, line), "Error")
			raise

i wklejamy to:

def write_line(file_name, index, value):
	f = open(file_name, "r")
	contents = f.readlines()
	f.close()
	contents.insert(index, value)
	new_contents = ""
	f = open(file_name, "w")
	for line in contents:
		if len(line) == 0:
			continue
		else:
			new_contents += line.strip()+"\n"
	
	f.write(new_contents)
	f.close()
	

def LoadLocaleFile(srcFileName, localeDict):

	funcDict = {"SA":SA, "SNA":SNA}

	lineIndex = 1

	try:
		lines = pack_open(srcFileName, "r").readlines()
	except IOError:
		import dbg
		dbg.LogBox("LoadLocaleError(%(srcFileName)s)" % locals())
		app.Abort()

	for line in lines:
		try:		
			import linecache
			import os
			tokens = line[:-1].split("\t")
			if len(tokens) == 2:
				if not os.path.exists("font.cfg"):
					f = file("font.cfg", "w")
					f.close()
				if tokens[0] == "UI_DEF_FONT":
					linia = 1
					if len(str(linecache.getline('font.cfg',linia))) > 3:
						if tokens[1] == linecache.getline('font.cfg',linia):
							localeDict[tokens[0]] = tokens[1]
						else:
							localeDict[tokens[0]] = linecache.getline('font.cfg',linia)
					else:
						write_line('font.cfg',linia-1,tokens[1])
						localeDict[tokens[0]] = tokens[1]
				elif tokens[0] == "UI_DEF_FONT_LARGE":
					linia = 2
					if len(str(linecache.getline('font.cfg',linia))) > 3:
						if tokens[1] == linecache.getline('font.cfg',linia):
							localeDict[tokens[0]] = tokens[1]
						else:
							localeDict[tokens[0]] = linecache.getline('font.cfg',linia)
					else:
						write_line('font.cfg',linia-1,tokens[1])
						localeDict[tokens[0]] = tokens[1]
				elif tokens[0] == "UI_DEF_FONT_SMALL":
					linia = 3
					if len(str(linecache.getline('font.cfg',linia))) > 3:
						if tokens[1] == linecache.getline('font.cfg',linia):
							localeDict[tokens[0]] = tokens[1]
						else:
							localeDict[tokens[0]] = linecache.getline('font.cfg',linia)
					else:
						write_line('font.cfg',linia-1,tokens[1])
						localeDict[tokens[0]] = tokens[1]
				else:
					localeDict[tokens[0]] = tokens[1]	
					
			elif len(tokens) >= 3:
				type = tokens[2].strip()
				if type:
					localeDict[tokens[0]] = funcDict[type](tokens[1])
				else:
					localeDict[tokens[0]] = tokens[1]
			else:
				raise RuntimeError, "Unknown TokenSize"

			lineIndex += 1
		except:
			import dbg
			dbg.LogBox("%s: line(%d): %s" % (srcFileName, lineIndex, line), "Error")
			raise

Wklej.to

http://wklej.to/ZKtzH

Zapisujemy i mamy gotowe, od teraz można zmieniać rozmiary czcionek w pliku font.cfg.

 

Kolejność czcionek jest jak w locale_game.txt:

UI_DEF_FONT	Tahoma:14
UI_DEF_FONT_LARGE	Tahoma:16
UI_DEF_FONT_SMALL	Tahoma:11

Tylko bez tych UI_DEF_FONT*.

 

Tyle.

 

Zakaz kopiowania na inne fora.

ban.gif

 

Opublikowano

 

bezsens edytować tyle kodu wystarczy dać w locale.py od importami

 

UI_DEF_FONT = open('font..cfg').read()

a w locale_game.txt

usunąć

UI_DEF_FONT	Tahoma:14

a reszta czcionek jest prawie nie używana chyba [..]_SMALL to chyba w ToolTip

Zrob tak powodzenia w dzialaniu tego twojego wyjscia z sytuacji. Nie bez powodu tyle go jest.

 

 

tak się składa że sprzedałem jakiś tydzień temu rozbudowaną wersję z możliwością wybierania w gui czcionki tego i działało bez bardzo dobrze więc

Oj no przepraszam panie pro elo elo koderze pythona, juz tak sie tym nie jaraj bo po straz trzeba bedzie dzwonic.

ps. ty sprzedajesz a ja daje.

ban.gif

 

Opublikowano

Zrob tak powodzenia w dzialaniu tego twojego wyjscia z sytuacji. Nie bez powodu tyle go jest.

 

 

tak się składa że sprzedałem jakiś tydzień temu rozbudowaną wersję z możliwością wybierania w gui czcionki tego i działało bez bardzo dobrze więc

Nie ucz ojca dzieci robić

Opublikowano

I tak standardowa czcionka lepsza xD

"Kiedy nie chcesz - szukasz powodów. Gdy chcesz - szukasz sposobów"

Opublikowano

dzięki , cos zawsze można pozmieniać :D przyda się :D

                                                                  tumblr_o91znsFM7l1rdcn48o1_500.gif

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...