Register for your free account! | Forgot your password?

You last visited: Today at 19:42

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


[Python]Shopnamen mit Range einstellbar

Reply
 
Old   #1
 
elite*gold: 258
Join Date: Dec 2015
Posts: 104
Received Thanks: 123
[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
10 Users
Old 12/20/2015, 04:11   #2



 
elite*gold: 170
The Black Market: 175/0/1
Join Date: Dec 2012
Posts: 9,306
Received Thanks: 2,674
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: 576
Received Thanks: 540
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: 265
Received Thanks: 980
'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


 
elite*gold: 45
Join Date: Mar 2015
Posts: 929
Received Thanks: 91
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, 10:40   #6
 
elite*gold: 0
Join Date: Mar 2014
Posts: 66
Received Thanks: 28
And where is shoprange.lib ?
Exygo is offline  
Old 12/20/2015, 12:25   #7
 
elite*gold: 258
Join Date: Dec 2015
Posts: 104
Received Thanks: 123
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   #8
 
elite*gold: 260
Join Date: Oct 2015
Posts: 94
Received Thanks: 31
Hab diesen Fehler

Salep is offline  
Thanks
1 User
Old 12/20/2015, 22:37   #9
 
elite*gold: 0
Join Date: Dec 2008
Posts: 2,810
Received Thanks: 1,510
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   #10
 
elite*gold: 260
Join Date: Oct 2015
Posts: 94
Received Thanks: 31
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



« [GUIDE]Das kleine Admin-Einmaleins | Geschützte Pserver 7x dmg Anfrage »

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 [email protected]
[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 Main - Discussions / Questions - 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 PServer - Discussions / Questions - 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 +1. The time now is 19:42.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2018 elitepvpers All Rights Reserved.