Register for your free account! | Forgot your password?

You last visited: Today at 22:42

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

Advertisement



[Python]Shopnamen mit Range einstellbar

Discussion on [Python]Shopnamen mit Range einstellbar within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
Creek''s Avatar
 
elite*gold: 258
Join Date: Dec 2015
Posts: 106
Received Thanks: 127
[Python]Shopnamen mit Range einstellbar

Hallo,
Ich habe gesehen, dass viele diese Funktion schon haben und diese für Geld verkaufen und ich finde es ist nicht viel Arbeit und
genau aus diesem Grund habe ich es mal gecodet.

Der Code mag vielleicht nicht der schönste sein, aber er funktioniert

Das ganze wird dann so aussehen:


Die Einstellungen werden jedesmal in einer externen Datei geladen und beim Clientstart mitgeladen.

Nun zum Tutorial:

in game.py:
Such nach :
Code:
self.__ProcessPreservedServerCommand()
Darunter folgendes einfügen:
Code:
		from uigameoption import OptionDialog
		if os.path.exists("lib/shoprange.lib"):
			try:
				f = open("lib/shoprange.lib","rb")
				self.ShopRange = f.read().strip()
				constInfo.MAX_SHOP_DISTANCE = float(self.ShopRange)
			except :
				pass
		
		
		OptionDialog().ctrlShopNames.SetSliderPos(constInfo.MAX_SHOP_DISTANCE / 10000.0)
		
		self.ShopUpdater = ui.Window()
		self.ShopUpdater.SetParentProxy(self)
		self.ShopUpdater.OnUpdate = self.__OnShopUpdate
		self.ShopUpdater.Show()
Such außerdem in game.py noch nach:
Code:
def OnUpdate(self):
Darüber folgendes einfügen:
Code:
	def __OnShopUpdate(self):
		uiPrivateShopBuilder.UpdateADBoard()
constinfo.py:
Einfach oben folgendes einfügen:
Code:
MAX_SHOP_DISTANCE = 10000.0
uigameoption.py:
Suchen nach:
Code:
			self.showsalesTextButtonList.append(GetObject("salestext_on_button"))
			self.showsalesTextButtonList.append(GetObject("salestext_off_button"))
Diesen beiden Zeilen löschen (da wir die Buttons nicht mehr brauchen) und folgendes einfügen:
Code:
			self.ctrlShopNames = GetObject("sales_name_controller")
			self.ctrlShopNames.SetSliderPos(constInfo.MAX_SHOP_DISTANCE / 1000.0)
			self.ctrlShopNames.SetEvent(ui.__mem_func__(self.__OnChangeShopRange))
			self.ctrlShopNames.Show()
Suchen nach
Code:
def __CheckPvPProtectedLevelPlayer(self):
Darüber folgendes einfügen:
Code:
	def OnUpdate(self):	
		self.ctrlShopNames.SetSliderPos(constInfo.MAX_SHOP_DISTANCE/10000)
		
	def __OnChangeShopRange(self):
		constInfo.MAX_SHOP_DISTANCE = (self.ctrlShopNames.GetSliderPos()*10000)
		f = open("lib/shoprange.lib","w+")
		f.write(str(constInfo.MAX_SHOP_DISTANCE))
		f.close()
Da wir die alten Buttons entfernen wollen nach folgendem suchen:
(wird 3x gefunden und 3x auskommentieren oder löschen)
Code:
self.RefreshShowSalesText()
Folgende Sachen auch entfernen oder auskommentieren (WIRD AUCH MEHRFACH VORHANDEN SEIN):
Code:
self.showsalesTextButtonList
Nun in folgender Datei: uiscript/gameoptiondialog.py
suchen nach und löschen (oder auskommentieren):
Code:
				{
					"name" : "salestext_on_button",
					"type" : "radio_button",

					"x" : LINE_DATA_X,
					"y" : 240,

					"text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_ON,

					"default_image" : ROOT_PATH + "middle_button_01.sub",
					"over_image" : ROOT_PATH + "middle_button_02.sub",
					"down_image" : ROOT_PATH + "middle_button_03.sub",
				},
				{
					"name" : "salestext_off_button",
					"type" : "radio_button",

					"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
					"y" : 240,

					"text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_OFF,

					"default_image" : ROOT_PATH + "middle_button_01.sub",
					"over_image" : ROOT_PATH + "middle_button_02.sub",
					"down_image" : ROOT_PATH + "middle_button_03.sub",
				},
und foldendes davor einfügen:
Code:
				{
					"name" : "sales_name_controller",
					"type" : "sliderbar",

					"x" : LINE_DATA_X,
					"y" : 240,
				},
Nun öffnet ihr uiprivateshopbuilder.py
und such nach der Funktion
Code:
def UpdateADBoard():	
	for key in g_privateShopAdvertisementBoardDict.keys():
		g_privateShopAdvertisementBoardDict[key].Show()
Und ersetzt diese mit dieser Funktion:
Code:
def UpdateADBoard():
	for key in g_privateShopAdvertisementBoardDict.keys():
		distance = player.GetCharacterDistance(key)
		if distance <= constInfo.MAX_SHOP_DISTANCE:
			g_privateShopAdvertisementBoardDict[key].Show()
		else:
			g_privateShopAdvertisementBoardDict[key].Hide()

Das sollte nun alles sein oder ich habe etwas vergessen^^
Falls dies der Fall ist schreibt mich bitte mal an.
Creek' is offline  
Thanks
12 Users
Old 12/20/2015, 04:11   #2


 
MrTherzon's Avatar
 
elite*gold: 170
The Black Market: 179/0/1
Join Date: Dec 2012
Posts: 9,372
Received Thanks: 2,726
Sieht ganz Okay aus werde es mal die Tage ausprobieren.
MrTherzon is offline  
Old 12/20/2015, 09:05   #3
 
elite*gold: 150
Join Date: Feb 2009
Posts: 643
Received Thanks: 613
Heißt es also, wenn ich den Balken ganz nach rechts ziehe, dass der Name meines Shops auch aus größerer Entfernung sichtbar ist?
Ist das so das Release?
Cyber36 is offline  
Old 12/20/2015, 09:41   #4
 
elite*gold: 50
Join Date: May 2011
Posts: 269
Received Thanks: 990
'with open(blabla) as fh:' will not work with python 2.2
xP3NG3Rx is offline  
Thanks
1 User
Old 12/20/2015, 09:56   #5


 
シスイ's Avatar
 
elite*gold: 537
The Black Market: 132/0/0
Join Date: Mar 2015
Posts: 1,041
Received Thanks: 126
Quote:
Originally Posted by Cyber36 View Post
Heißt es also, wenn ich den Balken ganz nach rechts ziehe, dass der Name meines Shops auch aus größerer Entfernung sichtbar ist?
Ist das so das Release?
Es heißt dass je größer du die Reichweite eingestellt hst, desto mehr Namen von den Shops siehst, da wo du dich gerade befindest.
シスイ is offline  
Thanks
1 User
Old 12/20/2015, 12:25   #6
 
Creek''s Avatar
 
elite*gold: 258
Join Date: Dec 2015
Posts: 106
Received Thanks: 127
Quote:
Originally Posted by xP3NG3Rx View Post
'with open(blabla) as fh:' will not work with python 2.2
Ty I changed it.

Quote:
Originally Posted by Exygo View Post
And where is shoprange.lib ?
He create it if doesn't exist.
Creek' is offline  
Old 12/20/2015, 22:35   #7
 
Salep's Avatar
 
elite*gold: 0
Join Date: Oct 2015
Posts: 118
Received Thanks: 32
Hab diesen Fehler

Salep is offline  
Thanks
1 User
Old 12/20/2015, 22:37   #8

 
elite*gold: 0
Join Date: Dec 2008
Posts: 2,825
Received Thanks: 1,538
Quote:
Originally Posted by Salep View Post
Hab diesen Fehler

import constInfo fehlt.
.Colossus. is offline  
Thanks
1 User
Old 12/20/2015, 22:43   #9
 
Salep's Avatar
 
elite*gold: 0
Join Date: Oct 2015
Posts: 118
Received Thanks: 32
Quote:
Originally Posted by .Colossus. View Post
import constInfo fehlt.
Hab ich auch gedacht und in uiprivateshopbuilder geaddet. Ging jedoch nicht

Syserr error ist weg. Sehe nur keine Shopnamen mehr. Egal wie die Reichweite ist.
Salep is offline  
Reply


Similar Threads Similar Threads
[RELEASE] Farbige Shopnamen
05/07/2013 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 29 Replies
Ich habe gestern mit dem guten nico_w zusammen mal wieder einen (relativ) sinnlosen aber doch sehr witzigen Bug gefunden und spaß damit gehabt! :) Damit könnt ihr eurem Shop einen farbigen Namen geben und habt nicht mehr dieses ekelhafte Grau. Screen: http://i.airho.st/5Zokd.png HowTo: Pasted folgenden Code einfach in eure 'logininfoy.py'. Falls die 'logininfo.py' nicht existiert, erstellt einfach eine neue im Metin2 Ordner.
Honorbuddy einstellbar?
04/22/2013 - WoW Bots - 1 Replies
Hallo epvp, ist es möglich Honorbuddy Combat Bot so einzustellen das er bestimmte Skills nicht benutzen soll? MfG Destor@th
[S] Shopnamen [B] egold
09/06/2012 - elite*gold Trading - 35 Replies
Ich suche einen Shopnamen für meine Website ! Einfach was posten ! Die mir an meisten gefällt bekommt das egold !
Auflösung nicht einstellbar
08/27/2011 - Metin2 - 15 Replies
Ich kann seit dem Update die Auflösung nicht mehr einstellen. http://board.metin2.de/wcf/images/smilies/biggrin. gif Ich öffne die Config.exe als Admin, gebe allen Exen im Ordner Admin Rechte. Führe Config aus wähle die Auflösung, klick auf Übernehmen. Aber Metin startet immer in 800x600 16bpp, egal was ich einstelle. Hab es schon mit Patchupdater, metin2.exe und metin2_patcher.exe probiert, bei allen das selbe, während dem Patch kann ich es zwar auch einstellen, wirkt da aber auch nich....
Npc´s mit unterkategorien, shopnamen bei daroo deutsch machen??!
06/01/2011 - Metin2 Private Server - 3 Replies
1.Also ich möchte fragen wie man solche "unterkategorien" in den shops machen kann (wie bei profizocker94 files) wenn es VTUTS gibt bitte schreibt diese als kommentar in diesen thread :) 2.ich benutze die serverfiles von daroo und ich möchte die shopnamen übersetzen !(die sind ja englisch) wie kann ich die namen ändern?!?! ich würde mich sehr freuen wenn ihr mir helfen könntet MfG Kigele



All times are GMT +2. The time now is 22:42.


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.