Problema hp - Platesc.

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

Nivel 1
Mesaje: 77
Membru din: 30 Mar 2016, 18:08
Server: IDK.
Regat: Jinno
Aprecieri: 1  
Mulţumiri: 3  
Medalii

Salut, am luat un client cu bara de hp la monstrii si playeri de aici: http://just4metin.ro/serverfiles/server ... 45999.html

Am inteles ca este din game.py si uitarget.py

Am inlocuit tot uitarget cu ala al meu si in game.py asta:
def SetHPTargetBoard(self, vid, hpPercentage, curHP, maxHP):
		if hpPercentage == 0:
			return
			
		if vid != self.targetBoard.GetTargetVID():
			self.targetBoard.ResetTargetBoard()
			self.targetBoard.SetEnemyVID(vid)
			self.targetBoard.SetHP(hpPercentage, curHP, maxHP)
			self.targetBoard.Show()

	def SetHPTargetBoard_PC(self, vid, hpPercentage, curHP, maxHP):
		if hpPercentage == 0:
			return
		   
		if vid != self.targetBoard.GetTargetVID():
			self.targetBoard.ResetTargetBoard()
			self.targetBoard.SetEnemyVID(vid)
		   
			self.targetBoard.SetHP_PC(hpPercentage, curHP, maxHP)
			self.targetBoard.Show()

1. Primesc asta in syserr cand dau pe un mob:
0713 18:03:46049 :: TypeError
0713 18:03:46049 :: : 
0713 18:03:46049 :: SetHPTargetBoard() takes exactly 5 arguments (3 given)
0713 18:03:46049 ::
2. Asta primesc cand dau pe un player: Imagine
Avatar utilizator
[Tupeu]
Membru de Elita

Membru de Elita
Mesaje: 4101
Membru din: 28 Oct 2015, 16:16
Aprecieri: 35  
Mulţumiri: 2304  
 Contact:
Medalii

Incearca asa:
Imagine
Deschide costInfo.py din root şi la inceput adaugă :

Cod: Selectaţi tot

OPPONENTS_HP = [0, 0]
Intrăm in game.py şi căutăm :

Cod: Selectaţi tot

def OnRecvWhisper(self, mode, name, line):
Acum inlocuim toată funcţia să arate aşa :

Cod: Selectaţi tot

	## Chat
	def OnRecvWhisper(self, mode, name, line):
		global kisi
		global oyunagirdi
		if mode == chat.WHISPER_TYPE_GM:
			self.interface.RegisterGameMasterName(name)
			
		import net
		if line.find("CODE_MESSAGE_OPPONENTS_HP_29305|") != -1:
			vid = line.split("|")[1]
			if str(chr.GetNameByVID(int(vid)))!="None":
				net.SendWhisperPacket(name, "CODE_MESSAGE_OPPONENTS_HP_29306|" + str(player.GetStatus(player.HP)) + "|"  + str(player.GetStatus(player.MAX_HP)))
			return
		if line.find("CODE_MESSAGE_OPPONENTS_HP_29306|") != -1:
			line = line.split("|")
			constInfo.OPPONENTS_HP = [int(line[1]), int(line[2])]
			return
Imagine
Acum intrăm în uitarget.py din root şi căutăm :

Cod: Selectaţi tot

def __init__(self):
Acum inlocuim cu :

Cod: Selectaţi tot

def __init__(self):
		ui.ThinBoard.__init__(self)
		self.SaveSecond = 0
		self.healthBoard = uiHealth.HealthBoard()
Imagine
Tot în uiTarget.py căutam :

Cod: Selectaţi tot

def OnUpdate(self):

Cod: Selectaţi tot

Şi modificăm funcţia cu :

Cod: Selectaţi tot

def OnUpdate(self):
		
		if player.IsPVPInstance(self.vid):
			if self.vid != 0:
				if app.GetTime() > self.SaveSecond:
					self.SaveSecond = app.GetTime()+1.0
		if str(chr.GetNameByVID(self.vid))!="None":
				net.SendWhisperPacket(str(self.name.GetText()), "CODE_MESSAGE_OPPONENTS_HP_29305|"+str(player.GetMainCharacterIndex()))
		if constInfo.OPPONENTS_HP[1]!=0:
			if constInfo.OPPONENTS_HP[0]<=0:
				self.SetHP(0)
			else:
				self.SetHP(((float(constInfo.OPPONENTS_HP[0])/float(constInfo.OPPONENTS_HP[1]))*100))
Imagine
Sursa: Doar1Click
Pentru acest mesaj, [Tupeu] for the post:
Give Me Some Love
Avatar utilizator
Yahiko
Membru Club

Membru Club
Mesaje: 3865
Membru din: 25 Mai 2015, 18:31
Aprecieri: 0
Mulţumiri: 4857  
Discord: Copiază ID
 Contact:
Medalii

Subiect vechi. Arhivat.
*Contact Discord: Yahiko#2936
*Doar SMS: 0749592613
*Grup discord: Click
Cu stimă,
Yahiko.

GL & HF
Afișează semnătura
Închis
Răspunsuri
7
Vizualizări
382
Răspunsuri
6
Vizualizări
383
Răspunsuri
8
Vizualizări
946
Răspunsuri
1
Vizualizări
155

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

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Baidu [Spider], Semrush [Bot] și 97 vizitatori