Cum sa modific sistem armament

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Avatar utilizator
Anonymous..
Nivel 1

Nivel 1
Mesaje: 101
Membru din: 07 Dec 2014, 19:24
Server: WZM2
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
Medalii

Salut !


De unde modific ca la sistemul de armament sa il poata folosi si playerii nu numai GM-i ?
Imagine
Afișează semnătura
Avatar utilizator
Morphe
Nivel 3

Nivel 3
Mesaje: 318
Membru din: 14 Dec 2014, 16:52
Aprecieri: 0
Mulţumiri: 2  
Medalii

root/uitarget.py
ori
dacă e diff adăugat pe game.. nu știu ce să îți zic
SERVICIILE MELE:
- CLICK -
Afișează semnătura
Avatar utilizator
Anonymous..
Nivel 1

Nivel 1
Mesaje: 101
Membru din: 07 Dec 2014, 19:24
Server: WZM2
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
Medalii

Morphe scrie:root/uitarget.py
ori
dacă e diff adăugat pe game.. nu știu ce să îți zic
Asta am in uitarget.. Poate nu am vazut eu bine, dar nu gasesc nimic care sa-mi permita sa modific ceva pe acolo..

Cod: Selectaţi tot

import app
import ui
import player
import net
import wndMgr
import messenger
import guild
import chr
import nonplayer
import locale
import constInfo
import uiHealth

class TargetBoard(ui.ThinBoard):

	BUTTON_NAME_LIST = ( 
		locale.TARGET_BUTTON_WHISPER, 
		locale.TARGET_BUTTON_EXCHANGE, 
		locale.TARGET_BUTTON_FIGHT, 
		locale.TARGET_BUTTON_ACCEPT_FIGHT, 
		locale.TARGET_BUTTON_AVENGE, 
		locale.TARGET_BUTTON_FRIEND, 
		locale.TARGET_BUTTON_INVITE_PARTY, 
		locale.TARGET_BUTTON_LEAVE_PARTY, 
		locale.TARGET_BUTTON_EXCLUDE, 
		locale.TARGET_BUTTON_INVITE_GUILD,
		locale.TARGET_BUTTON_DISMOUNT,
		locale.TARGET_BUTTON_EXIT_OBSERVER,
		locale.TARGET_BUTTON_VIEW_EQUIPMENT,
		locale.TARGET_BUTTON_REQUEST_ENTER_PARTY,
		locale.TARGET_BUTTON_BUILDING_DESTROY,
		locale.TARGET_BUTTON_EMOTION_ALLOW,
		"VOTE_BLOCK_CHAT",
	)

	GRADE_NAME =	{
						nonplayer.PAWN : locale.TARGET_LEVEL_PAWN,
						nonplayer.S_PAWN : locale.TARGET_LEVEL_S_PAWN,
						nonplayer.KNIGHT : locale.TARGET_LEVEL_KNIGHT,
						nonplayer.S_KNIGHT : locale.TARGET_LEVEL_S_KNIGHT,
						nonplayer.BOSS : locale.TARGET_LEVEL_BOSS,
						nonplayer.KING : locale.TARGET_LEVEL_KING,
					}
	EXCHANGE_LIMIT_RANGE = 3000

	def __init__(self):
		ui.ThinBoard.__init__(self)

		name = ui.TextLine()
		name.SetParent(self)
		name.SetDefaultFontName()
		name.SetOutline()
		name.Show()

		hpGauge = ui.Gauge()
		hpGauge.SetParent(self)
		hpGauge.MakeGauge(130, "red")
		hpGauge.Hide()

		closeButton = ui.Button()
		closeButton.SetParent(self)
		closeButton.SetUpVisual("d:/ymir work/ui/public/close_button_01.sub")
		closeButton.SetOverVisual("d:/ymir work/ui/public/close_button_02.sub")
		closeButton.SetDownVisual("d:/ymir work/ui/public/close_button_03.sub")
		closeButton.SetPosition(30, 13)

		if locale.IsARABIC():
			hpGauge.SetPosition(55, 17)
			hpGauge.SetWindowHorizontalAlignLeft()
			closeButton.SetWindowHorizontalAlignLeft()
		else:
			hpGauge.SetPosition(175, 17)
			hpGauge.SetWindowHorizontalAlignRight()
			closeButton.SetWindowHorizontalAlignRight()

		closeButton.SetEvent(ui.__mem_func__(self.OnPressedCloseButton))
		closeButton.Show()

		self.buttonDict = {}
		self.showingButtonList = []
		for buttonName in self.BUTTON_NAME_LIST:
			button = ui.Button()
			button.SetParent(self)
		
			if locale.IsARABIC():
				button.SetUpVisual("d:/ymir work/ui/public/Small_Button_01.sub")
				button.SetOverVisual("d:/ymir work/ui/public/Small_Button_02.sub")
				button.SetDownVisual("d:/ymir work/ui/public/Small_Button_03.sub")
			else:
				button.SetUpVisual("d:/ymir work/ui/public/small_thin_button_01.sub")
				button.SetOverVisual("d:/ymir work/ui/public/small_thin_button_02.sub")
				button.SetDownVisual("d:/ymir work/ui/public/small_thin_button_03.sub")
			
			button.SetWindowHorizontalAlignCenter()
			button.SetText(buttonName)
			button.Hide()
			self.buttonDict[buttonName] = button
			self.showingButtonList.append(button)

		self.buttonDict[locale.TARGET_BUTTON_WHISPER].SetEvent(ui.__mem_func__(self.OnWhisper))
		self.buttonDict[locale.TARGET_BUTTON_EXCHANGE].SetEvent(ui.__mem_func__(self.OnExchange))
		self.buttonDict[locale.TARGET_BUTTON_FIGHT].SetEvent(ui.__mem_func__(self.OnPVP))
		self.buttonDict[locale.TARGET_BUTTON_ACCEPT_FIGHT].SetEvent(ui.__mem_func__(self.OnPVP))
		self.buttonDict[locale.TARGET_BUTTON_AVENGE].SetEvent(ui.__mem_func__(self.OnPVP))
		self.buttonDict[locale.TARGET_BUTTON_FRIEND].SetEvent(ui.__mem_func__(self.OnAppendToMessenger))
		self.buttonDict[locale.TARGET_BUTTON_FRIEND].SetEvent(ui.__mem_func__(self.OnAppendToMessenger))
		self.buttonDict[locale.TARGET_BUTTON_INVITE_PARTY].SetEvent(ui.__mem_func__(self.OnPartyInvite))
		self.buttonDict[locale.TARGET_BUTTON_LEAVE_PARTY].SetEvent(ui.__mem_func__(self.OnPartyExit))
		self.buttonDict[locale.TARGET_BUTTON_EXCLUDE].SetEvent(ui.__mem_func__(self.OnPartyRemove))

		self.buttonDict[locale.TARGET_BUTTON_INVITE_GUILD].SAFE_SetEvent(self.__OnGuildAddMember)
		self.buttonDict[locale.TARGET_BUTTON_DISMOUNT].SAFE_SetEvent(self.__OnDismount)
		self.buttonDict[locale.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
		self.buttonDict[locale.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
		self.buttonDict[locale.TARGET_BUTTON_REQUEST_ENTER_PARTY].SAFE_SetEvent(self.__OnRequestParty)
		self.buttonDict[locale.TARGET_BUTTON_BUILDING_DESTROY].SAFE_SetEvent(self.__OnDestroyBuilding)
		self.buttonDict[locale.TARGET_BUTTON_EMOTION_ALLOW].SAFE_SetEvent(self.__OnEmotionAllow)
		
		self.buttonDict["VOTE_BLOCK_CHAT"].SetEvent(ui.__mem_func__(self.__OnVoteBlockChat))

		self.name = name
		self.hpGauge = hpGauge
		self.closeButton = closeButton
		self.nameString = 0
		self.nameLength = 0
		self.vid = 0
		self.eventWhisper = None
		self.isShowButton = FALSE

		self.__Initialize()
		self.ResetTargetBoard()
		self.healthBoard = uiHealth.HealthBoard()

	def __del__(self):
		ui.ThinBoard.__del__(self)

		print "===================================================== DESTROYED TARGET BOARD"

	def __Initialize(self):
		self.nameString = ""
		self.nameLength = 0
		self.vid = 0
		self.isShowButton = FALSE

	def Destroy(self):
		self.eventWhisper = None
		self.closeButton = None
		self.showingButtonList = None
		self.buttonDict = None
		self.name = None
		self.hpGauge = None
		self.__Initialize()

	def OnPressedCloseButton(self):
		player.ClearTarget()
		self.Close()

	def Close(self):
		self.__Initialize()
		self.healthBoard.Hide()
		self.Hide()

	def Open(self, vid, name):
		if vid:
			if not constInfo.GET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD():
				if not player.IsSameEmpire(vid):
					self.Hide()
					return

			if vid != self.GetTargetVID():
				self.ResetTargetBoard()
				self.SetTargetVID(vid)
				self.SetTargetName(name)

			if player.IsMainCharacterIndex(vid):
				self.__ShowMainCharacterMenu()		
			elif chr.INSTANCE_TYPE_BUILDING == chr.GetInstanceType(self.vid):
				self.Hide()
			else:
				self.RefreshButton()
				self.Show()
		else:
			self.HideAllButton()
			self.__ShowButton(locale.TARGET_BUTTON_WHISPER)
			self.__ShowButton("VOTE_BLOCK_CHAT")
			self.__ArrangeButtonPosition()
			self.SetTargetName(name)
			self.Show()
			
	def Refresh(self):
		if self.IsShow():
			if self.IsShowButton():			
				self.RefreshButton()		

	def RefreshByVID(self, vid):
		if vid == self.GetTargetVID():			
			self.Refresh()
			
	def RefreshByName(self, name):
		if name == self.GetTargetName():
			self.Refresh()

	def __ShowMainCharacterMenu(self):
		canShow=0

		self.HideAllButton()

		if player.IsMountingHorse():
			self.__ShowButton(locale.TARGET_BUTTON_DISMOUNT)
			canShow=1

		if player.IsObserverMode():
			self.__ShowButton(locale.TARGET_BUTTON_EXIT_OBSERVER)
			canShow=1

		if canShow:
			self.__ArrangeButtonPosition()
			self.Show()
		else:
			self.Hide()
			
	def __ShowNameOnlyMenu(self):
		self.HideAllButton()

	def SetWhisperEvent(self, event):
		self.eventWhisper = event

	def UpdatePosition(self):
		self.SetPosition(wndMgr.GetScreenWidth()/2 - self.GetWidth()/2, 10)

	def ResetTargetBoard(self):

		for btn in self.buttonDict.values():
			btn.Hide()

		self.__Initialize()

		self.name.SetPosition(0, 13)
		self.name.SetHorizontalAlignCenter()
		self.name.SetWindowHorizontalAlignCenter()
		self.hpGauge.Hide()
		self.SetSize(250, 40)

	def SetTargetVID(self, vid):
		self.vid = vid

	def SetEnemyVID(self, vid):
		self.SetTargetVID(vid)

		name = chr.GetNameByVID(vid)
		level = nonplayer.GetLevelByVID(vid)
		grade = nonplayer.GetGradeByVID(vid)

		nameFront = ""
		if -1 != level:
			nameFront += "Lv." + str(level) + " "
		if self.GRADE_NAME.has_key(grade):
			nameFront += "(" + self.GRADE_NAME[grade] + ") "

		self.SetTargetName(nameFront + name)

	def GetTargetVID(self):
		return self.vid

	def GetTargetName(self):
		return self.nameString

	def SetTargetName(self, name):
		self.nameString = name
		self.nameLength = len(name)
		self.name.SetText(name)

	def SetHP(self, hpPercentage):
		if not self.hpGauge.IsShow():

			self.SetSize(200 + 7*self.nameLength, self.GetHeight())

			if locale.IsARABIC():
				self.name.SetPosition( self.GetWidth()-23, 13)
			else:
				self.name.SetPosition(23, 13)

			self.name.SetWindowHorizontalAlignLeft()
			self.name.SetHorizontalAlignLeft()
			self.hpGauge.Show()
			self.UpdatePosition()

		self.hpGauge.SetPercentage(hpPercentage, 100)

	def ShowDefaultButton(self):

		self.isShowButton = TRUE
		if str(player.GetName())[0] == "[":
			self.__ShowButton(locale.TARGET_BUTTON_VIEW_EQUIPMENT)		
		self.showingButtonList.append(self.buttonDict[locale.TARGET_BUTTON_WHISPER])
		self.showingButtonList.append(self.buttonDict[locale.TARGET_BUTTON_EXCHANGE])
		self.showingButtonList.append(self.buttonDict[locale.TARGET_BUTTON_FIGHT])
		self.showingButtonList.append(self.buttonDict[locale.TARGET_BUTTON_EMOTION_ALLOW])
		for button in self.showingButtonList:
			button.Show()

	def HideAllButton(self):
		self.isShowButton = FALSE
		for button in self.showingButtonList:
			button.Hide()
		self.showingButtonList = []

	def __ShowButton(self, name):

		if not self.buttonDict.has_key(name):
			return

		self.buttonDict[name].Show()
		self.showingButtonList.append(self.buttonDict[name])

	def __HideButton(self, name):

		if not self.buttonDict.has_key(name):
			return

		button = self.buttonDict[name]
		button.Hide()

		for btnInList in self.showingButtonList:
			if btnInList == button:
				self.showingButtonList.remove(button)
				break

	def OnWhisper(self):
		if None != self.eventWhisper:
			self.eventWhisper(self.nameString)

	def OnExchange(self):
		net.SendExchangeStartPacket(self.vid)

	def OnPVP(self):
		net.SendChatPacket("/pvp %d" % (self.vid))

	def OnAppendToMessenger(self):
		net.SendMessengerAddByVIDPacket(self.vid)

	def OnPartyInvite(self):
		net.SendPartyInvitePacket(self.vid)

	def OnPartyExit(self):
		net.SendPartyExitPacket()

	def OnPartyRemove(self):
		net.SendPartyRemovePacket(self.vid)

	def __OnGuildAddMember(self):
		net.SendGuildAddMemberPacket(self.vid)

	def __OnDismount(self):
		net.SendChatPacket("/unmount")

	def __OnExitObserver(self):
		net.SendChatPacket("/observer_exit")

	def __OnViewEquipment(self):
		net.SendChatPacket("/view_equip " + str(self.vid))

	def __OnRequestParty(self):
		net.SendChatPacket("/party_request " + str(self.vid))

	def __OnDestroyBuilding(self):
		net.SendChatPacket("/build d %d" % (self.vid))

	def __OnEmotionAllow(self):
		net.SendChatPacket("/emotion_allow %d" % (self.vid))
		
	def __OnVoteBlockChat(self):
		cmd = "/vote_block_chat %s" % (self.nameString)
		net.SendChatPacket(cmd)

	def OnPressEscapeKey(self):
		self.OnPressedCloseButton()
		return TRUE

	def IsShowButton(self):
		return self.isShowButton

	def RefreshButton(self):

		self.HideAllButton()

		if chr.INSTANCE_TYPE_BUILDING == chr.GetInstanceType(self.vid):
			#self.__ShowButton(locale.TARGET_BUTTON_BUILDING_DESTROY)
			#self.__ArrangeButtonPosition()
			return
		
		if player.IsPVPInstance(self.vid) or player.IsObserverMode():
			# PVP_INFO_SIZE_BUG_FIX
			self.SetSize(200 + 7*self.nameLength, 40)
			self.UpdatePosition()
			# END_OF_PVP_INFO_SIZE_BUG_FIX			
			return	

		self.ShowDefaultButton()

		if guild.MainPlayerHasAuthority(guild.AUTH_ADD_MEMBER):
			if not guild.IsMemberByName(self.nameString):
				if 0 == chr.GetGuildID(self.vid):
					self.__ShowButton(locale.TARGET_BUTTON_INVITE_GUILD)

		if not messenger.IsFriendByName(self.nameString):
			self.__ShowButton(locale.TARGET_BUTTON_FRIEND)

		if player.IsPartyMember(self.vid):

			self.__HideButton(locale.TARGET_BUTTON_FIGHT)

			if player.IsPartyLeader(self.vid):
				self.__ShowButton(locale.TARGET_BUTTON_LEAVE_PARTY)
			elif player.IsPartyLeader(player.GetMainCharacterIndex()):
				self.__ShowButton(locale.TARGET_BUTTON_EXCLUDE)

		else:
			if player.IsPartyMember(player.GetMainCharacterIndex()):
				if player.IsPartyLeader(player.GetMainCharacterIndex()):
					self.__ShowButton(locale.TARGET_BUTTON_INVITE_PARTY)
			else:
				if chr.IsPartyMember(self.vid):
					self.__ShowButton(locale.TARGET_BUTTON_REQUEST_ENTER_PARTY)
				else:
					self.__ShowButton(locale.TARGET_BUTTON_INVITE_PARTY)

			if player.IsRevengeInstance(self.vid):
				self.__HideButton(locale.TARGET_BUTTON_FIGHT)
				self.__ShowButton(locale.TARGET_BUTTON_AVENGE)
			elif player.IsChallengeInstance(self.vid):
				self.__HideButton(locale.TARGET_BUTTON_FIGHT)
				self.__ShowButton(locale.TARGET_BUTTON_ACCEPT_FIGHT)
			elif player.IsCantFightInstance(self.vid):
				self.__HideButton(locale.TARGET_BUTTON_FIGHT)

			if not player.IsSameEmpire(self.vid):
				self.__HideButton(locale.TARGET_BUTTON_INVITE_PARTY)
				self.__HideButton(locale.TARGET_BUTTON_FRIEND)
				self.__HideButton(locale.TARGET_BUTTON_FIGHT)

		distance = player.GetCharacterDistance(self.vid)
		if distance > self.EXCHANGE_LIMIT_RANGE:
			self.__HideButton(locale.TARGET_BUTTON_EXCHANGE)
			self.__ArrangeButtonPosition()

		self.__ArrangeButtonPosition()

	def __ArrangeButtonPosition(self):
		showingButtonCount = len(self.showingButtonList)

		pos = -(showingButtonCount / 2) * 68
		if 0 == showingButtonCount % 2:
			pos += 34

		for button in self.showingButtonList:
			button.SetPosition(pos, 33)
			pos += 68

		self.SetSize(max(150, showingButtonCount * 75), 65)
		self.UpdatePosition()

	def OnUpdate(self):
		if self.isShowButton:

			exchangeButton = self.buttonDict[locale.TARGET_BUTTON_EXCHANGE]
			distance = player.GetCharacterDistance(self.vid)

			if distance < 0:
				return

			if exchangeButton.IsShow():
				if distance > self.EXCHANGE_LIMIT_RANGE:
					self.RefreshButton()

			else:
				if distance < self.EXCHANGE_LIMIT_RANGE:
					self.RefreshButton()

			if exchangeButton.IsShow():
				if distance > self.EXCHANGE_LIMIT_RANGE:
					self.RefreshButton()

			else:
				if distance < self.EXCHANGE_LIMIT_RANGE:
					self.RefreshButton()
		
		import event
		import constInfo
		if player.IsPVPInstance(self.vid):
			constInfo.VID = self.vid
			event.QuestButtonClick(constInfo.STHX)
			if not self.healthBoard.IsShow() and self.vid != 0:
				self.healthBoard.Show()
		else:
			self.healthBoard.Hide()
		if self.isShowButton:
			exchangeButton = self.buttonDict[locale.TARGET_BUTTON_EXCHANGE]
			distance = player.GetCharacterDistance(self.vid)
			if distance < 0:
				return
Imagine
Afișează semnătura
Avatar utilizator
Morphe
Nivel 3

Nivel 3
Mesaje: 318
Membru din: 14 Dec 2014, 16:52
Aprecieri: 0
Mulţumiri: 2  
Medalii

Din
if str(player.GetName())[0] == "[":
self.__ShowButton(locale.TARGET_BUTTON_VIEW_EQUIPMENT)
modifici in

self.__ShowButton(locale.TARGET_BUTTON_VIEW_EQUIPMENT)
SERVICIILE MELE:
- CLICK -
Afișează semnătura
Avatar utilizator
Anonymous..
Nivel 1

Nivel 1
Mesaje: 101
Membru din: 07 Dec 2014, 19:24
Server: WZM2
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
Medalii

Morphe scrie:Din
if str(player.GetName())[0] == "[":
self.__ShowButton(locale.TARGET_BUTTON_VIEW_EQUIPMENT)
modifici in

self.__ShowButton(locale.TARGET_BUTTON_VIEW_EQUIPMENT)
Adica sa scot if str(player.GetName())[0] == "[": ?

Nu merge asa.
Imagine
Afișează semnătura
Avatar utilizator
KinKade
Membru Club

Membru Club
Mesaje: 1224
Membru din: 10 Mar 2014, 19:39
Server: Quirin2
Regat: Jinno
Aprecieri: 132  
Mulţumiri: 55  
Discord: Copiază ID
 Contact:
Medalii

am cautat si eu mai demult pe epvp si nu am gasit rezolvare pe game 40 cica ar fi diff dar nu prea ar merge tra la la si la la la lasal asa.......:)Am cautat mult si bine degeaba.
Discord: Koshmar#3873
Afișează semnătura
Avatar utilizator
Anonymous..
Nivel 1

Nivel 1
Mesaje: 101
Membru din: 07 Dec 2014, 19:24
Server: WZM2
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
Medalii

Eu am 34...
Trebuie sa fie o rezolvare..
Imagine
Afișează semnătura
Avatar utilizator
Anonymous..
Nivel 1

Nivel 1
Mesaje: 101
Membru din: 07 Dec 2014, 19:24
Server: WZM2
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
Medalii

Up..
Imagine
Afișează semnătura
Avatar utilizator
Anonymous..
Nivel 1

Nivel 1
Mesaje: 101
Membru din: 07 Dec 2014, 19:24
Server: WZM2
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
Medalii

Up ...
Imagine
Afișează semnătura
Avatar utilizator
Anonymous..
Nivel 1

Nivel 1
Mesaje: 101
Membru din: 07 Dec 2014, 19:24
Server: WZM2
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 0
Medalii

Upppp !

[ Mesaj scris via iPhone ] Imagine
Imagine
Afișează semnătura
Închis
Răspunsuri
4
Vizualizări
554
Răspunsuri
2
Vizualizări
302
Răspunsuri
13
Vizualizări
725
Răspunsuri
3
Vizualizări
449

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 52 vizitatori