Bonusuri colorate !!!

În cazul în care aveţi o nelămurire postaţi aici, de asemenea este locul unde puteţi găsi posibile rezolvări la problemele dvs.
Avatar utilizator
[TC] Neseriosul
Nivel 2

Nivel 2
Mesaje: 282
Membru din: 08 Aug 2013, 12:58
Server: Metin2Babilon
Regat: Jinno
Aprecieri: 188  
Mulţumiri: 9  
  Rezolvări prob.: 1
Medalii

*Problemă/Întrebare:Apar bonusuriele doar acolo sus si daca pui mouse pe item . numai apare si jos..!asa ca in sistemul fara bonusuri colorate !
Tipologie server:
*Resursă folosită:sursa/bonusuri-maxime-colorate-obiecte-t101993.html
*Resursă folosită2:sursa/new-manual-bonus-changer-t107523.html
*Syserr:Fara
Poză:Imagine

*Detalii suplimentare:
Avatar utilizator
[TC] Neseriosul
Nivel 2

Nivel 2
Mesaje: 282
Membru din: 08 Aug 2013, 12:58
Server: Metin2Babilon
Regat: Jinno
Aprecieri: 188  
Mulţumiri: 9  
  Rezolvări prob.: 1
Medalii

up !!
Avatar utilizator
kastor123
Nou Venit

Nou Venit
Mesaje: 25
Membru din: 19 Mai 2014, 10:41
Aprecieri: 409  
Mulţumiri: 1  
Medalii

Poti pune un AFFECT_DICT = { separat pentru switchbot, dar nu ar mai arata MAX pe iteme cand bonusezi cu switchbot-ul.
Am incercat si eu mai multe variante, dar nu am reusit.
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

cum a zis mai sus kastor, faci un AFFECT_DICT_2 si adaptezi
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Avatar utilizator
[RaffaeL]
Software Developer

Software Developer
Mesaje: 3223
Membru din: 19 Mar 2016, 12:58
Server: ...
Aprecieri: 15  
Mulţumiri: 2502  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

kastor123 scrie: ↑06 Dec 2023, 02:42 Poti pune un AFFECT_DICT = { separat pentru switchbot, dar nu ar mai arata MAX pe iteme cand bonusezi cu switchbot-ul.
Am incercat si eu mai multe variante, dar nu am reusit.
[HF]White scrie: ↑06 Dec 2023, 13:28 cum a zis mai sus kastor, faci un AFFECT_DICT_2 si adaptezi
De ce ati face asta cand puteti foarte simplu sa modificati functiile din uibonuschanger care apeleaza AFFECT_DICT, in asa fel incat sa adaugati si al 2-lea argument in lista, si anume valoarea bonusului?
Poftim, am facut eu asta pentru cine nu a reusit(de asemeni am adaugat si o verificare pentru AFFECT_MOUNT, in asa fel incat daca nu este gasit in lista de bonusuri aplicabile(nu in AFFECT_DICT), sa fie ignorat.Asta pentru ca am vazut ca ati avut erori din cauza lui(ma rog, unii dintre voi)):
import ui
import net
import chat
import item
import player
import exception
import constInfo

import uiCommon
import uiToolTip
import uiScriptLocale

class ChangerWindow(ui.ScriptWindow):

	MAX_BONUSES = 5

	def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.ChangerPosition = None
		self.ItemPosition = None
		self.ChangersCount = 0

		self.acceptQuestionDialog = None

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

	def LoadWindow(self):
		try:
			PythonScriptLoader = ui.PythonScriptLoader()
			PythonScriptLoader.LoadScriptFile(self, "UIScript/bonuschanger.py")
		except:
			exception.Abort("ChangerWindow.LoadDialog.LoadObject")

		try:
			self.TitleBar = self.GetChild("TitleBar")
			self.Board = self.GetChild("Board")
			self.ItemsSlots = self.GetChild("ItemsSlots")

			self.BonusName = [self.GetChild("BonusName{}".format(i)) for i in range(1, 6)]
			self.BonusInput = [self.GetChild("BonusInput{}".format(i)) for i in range(1, 6)]

			self.ChangeBonusButton = self.GetChild("ChangeButton")

		except:
			exception.Abort("ChangerWindow.LoadDialog.BindObject")

		self.BonusBackground = ui.BorderA()
		self.BonusBackground.SetParent(self.Board)
		self.BonusBackground.SetSize(300, 165)
		self.BonusBackground.SetPosition(10, 250)
		self.BonusBackground.Show()

		self.ChangeBonusButton.SetEvent(ui.__mem_func__(self.ChangeBonus))
		self.TitleBar.SetCloseEvent(ui.__mem_func__(self.Close))
		self.ItemsSlots.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
		self.ItemsSlots.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
		self.ItemToolTip = uiToolTip.ItemToolTip()
		self.ItemToolTip.Hide()

	def OverInItem(self, slot):
		if self.ItemToolTip and self.ItemPosition != None and self.ChangerPosition != None:
			if slot == 0:
				self.ItemToolTip.SetInventoryItem(self.ItemPosition)
				self.ItemToolTip.Show()
			elif slot == 1:
				self.ItemToolTip.SetInventoryItem(self.ChangerPosition)
				self.ItemToolTip.Show()

	def OverOutItem(self):
		if self.ItemToolTip:
			self.ItemToolTip.Hide()

	def AddItems(self, itemPositon, changerPosition):
		if item.ITEM_TYPE_WEAPON == item.GetItemType() or item.ITEM_TYPE_ARMOR == item.GetItemType():
			attrSlot = [player.GetItemAttribute(itemPositon, i) for i in xrange(self.MAX_BONUSES)]
			countBonus = sum(1 for attr in attrSlot if attr[0] != 0)

			for i in range(self.MAX_BONUSES):
				if i < countBonus:
					self.BonusName.Show()
					self.BonusInput.Show()
					self.BonusInput.SetParent(self.BonusBackground)
				else:
					self.BonusName.Hide()
					self.BonusInput.Hide()
					self.BonusInput.SetParent(self.BonusBackground)

			for i in range(countBonus):
				type = attrSlot[0]
				value = attrSlot[1]
				affectString = self.__GetBonusName(type, value, smax=0)

				if affectString:
					self.BonusName.SetText(affectString)
					self.BonusInput.Show()
					self.BonusInput[i].SetParent(self.BonusBackground)
				else:
					self.BonusInput[i].Hide()
					self.BonusInput[i].SetParent(self.BonusBackground)

			board_width = 320
			board_height = 425

			board_width2 = 300
			board_height2 = 165

			if countBonus == 0:
				chat.AppendChat(chat.CHAT_TYPE_INFO, uiScriptLocale.BONUS_CHANGER_ERROR_ITEM)
				return
			elif countBonus == 1:
				board_height -= 128
				board_height2 -= 128
			elif countBonus == 2:
				board_height -= 95
				board_height2 -= 95
			elif countBonus == 3:
				board_height -= 63
				board_height2 -= 63
			elif countBonus == 4:
				board_height -= 31
				board_height2 -= 31

			self.Board.SetSize(board_width, board_height)
			self.BonusBackground.SetSize(board_width2, board_height2)

		else:
			return

		self.ItemsSlots.SetItemSlot(0, player.GetItemIndex(itemPositon), 0)
		self.ItemsSlots.SetItemSlot(1, player.GetItemIndex(changerPosition), player.GetItemCount(changerPosition))

		self.ItemPosition = itemPositon
		self.ChangerPosition = changerPosition

		self.ChangersCount = player.GetItemCount(self.ChangerPosition)
		self.Open()

	def __GetBonusName(self, affectType, affectValue, smax=0):
		if affectType == 0 or affectValue == 0:
			return None

		try:
			if 'APPLY_MOUNT' in item.__dict__ and self.ItemToolTip.AFFECT_DICT[item.APPLY_MOUNT]:
				if self.ItemToolTip.AFFECT_DICT[item.APPLY_MOUNT][1] == affectValue and smax == 0:
					return None
				else:
					pass
		except KeyError:
			pass
		
		try:
			return "{}{}".format(
				self.ItemToolTip.AFFECT_DICT[affectType][0](affectValue),
				"" if self.ItemToolTip.AFFECT_DICT[affectType][1] == affectValue and smax != 0 else "",
			)
		except (TypeError, KeyError):
			return "UNKNOWN_TYPE[{}] {}".format(affectType, affectValue)


	def ChangeBonus(self):
		if self.ChangerPosition == None or self.ItemPosition == None:
			return

		if (player.GetItemAttribute(self.ItemPosition, 0)[0] == item.APPLY_NORMAL_HIT_DAMAGE_BONUS and player.GetItemAttribute(self.ItemPosition, 0)[1] >= 30):
			self.ChangeBonusQuestion()
		else:
			self.DoChangeBonus()

	def DoChangeBonus(self):
		self.ChangersCount -= 1
		net.SendItemUseToItemPacket(self.ChangerPosition, self.ItemPosition)

		if player.GetItemIndex(self.ChangerPosition) != 0:
			self.ItemsSlots.SetItemSlot(1, player.GetItemIndex(self.ChangerPosition), self.ChangersCount)
		else:
			self.ItemsSlots.SetItemSlot(1, 0, 0)

		if self.ChangersCount <= 0:
			self.Close()
			return

		self.OnCloseQuestionDialog()

	def ChangeBonusQuestion(self):
		acceptQuestionDialog = uiCommon.QuestionDialog()
		acceptQuestionDialog.SetText(uiScriptLocale.BONUS_CHANGER_QUESTION)
		acceptQuestionDialog.SetAcceptEvent(lambda arg=TRUE: self.DoChangeBonus())
		acceptQuestionDialog.SetCancelEvent(lambda arg=FALSE: self.OnCloseQuestionDialog())
		acceptQuestionDialog.Open()
		self.acceptQuestionDialog = acceptQuestionDialog

	def OnCloseQuestionDialog(self):
		if self.acceptQuestionDialog:
			self.acceptQuestionDialog.Close()

		self.acceptQuestionDialog = None

	def OnUpdate(self):
		if constInfo.IS_BONUS_CHANGER:
			attrSlot = [player.GetItemAttribute(self.ItemPosition, i) for i in xrange(self.MAX_BONUSES)]
			for i in xrange(self.MAX_BONUSES):
				type = attrSlot[i][0]
				value = attrSlot[i][1]
				affectString = self.__GetBonusName(type, value, smax=0)

				self.BonusName[i].SetText("") #Clear old bonuses.

				if affectString:
					self.BonusName[i].SetText(affectString)
		else:
			return

	def Destroy(self):
		self.Close()

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

	def Close(self):
		if self.IsShow():
			self.ChangerPosition = None
			self.ItemPosition = None
			constInfo.IS_BONUS_CHANGER = FALSE
			self.Hide()

	def Open(self):
		constInfo.IS_BONUS_CHANGER = TRUE
		self.Show()
Imagine
Imagine
https://www.youtube.com/watch?v=GhYkCIETEto
Do everything, if you know what you're doing, else... Imagine
Ma gasesti si aici: Discord https://discord.gg/5J5GnyZVSR
Afișează semnătura
Avatar utilizator
kastor123
Nou Venit

Nou Venit
Mesaje: 25
Membru din: 19 Mai 2014, 10:41
Aprecieri: 409  
Mulţumiri: 1  
Medalii

[RaffaeL] scrie: ↑14 Dec 2023, 00:52
kastor123 scrie: ↑06 Dec 2023, 02:42 Poti pune un AFFECT_DICT = { separat pentru switchbot, dar nu ar mai arata MAX pe iteme cand bonusezi cu switchbot-ul.
Am incercat si eu mai multe variante, dar nu am reusit.
[HF]White scrie: ↑06 Dec 2023, 13:28 cum a zis mai sus kastor, faci un AFFECT_DICT_2 si adaptezi
De ce ati face asta cand puteti foarte simplu sa modificati functiile din uibonuschanger care apeleaza AFFECT_DICT, in asa fel incat sa adaugati si al 2-lea argument in lista, si anume valoarea bonusului?
Poftim, am facut eu asta pentru cine nu a reusit(de asemeni am adaugat si o verificare pentru AFFECT_MOUNT, in asa fel incat daca nu este gasit in lista de bonusuri aplicabile(nu in AFFECT_DICT), sa fie ignorat.Asta pentru ca am vazut ca ati avut erori din cauza lui(ma rog, unii dintre voi)):
import ui
import net
import chat
import item
import player
import exception
import constInfo

import uiCommon
import uiToolTip
import uiScriptLocale

class ChangerWindow(ui.ScriptWindow):

	MAX_BONUSES = 5

	def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.ChangerPosition = None
		self.ItemPosition = None
		self.ChangersCount = 0

		self.acceptQuestionDialog = None

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

	def LoadWindow(self):
		try:
			PythonScriptLoader = ui.PythonScriptLoader()
			PythonScriptLoader.LoadScriptFile(self, "UIScript/bonuschanger.py")
		except:
			exception.Abort("ChangerWindow.LoadDialog.LoadObject")

		try:
			self.TitleBar = self.GetChild("TitleBar")
			self.Board = self.GetChild("Board")
			self.ItemsSlots = self.GetChild("ItemsSlots")

			self.BonusName = [self.GetChild("BonusName{}".format(i)) for i in range(1, 6)]
			self.BonusInput = [self.GetChild("BonusInput{}".format(i)) for i in range(1, 6)]

			self.ChangeBonusButton = self.GetChild("ChangeButton")

		except:
			exception.Abort("ChangerWindow.LoadDialog.BindObject")

		self.BonusBackground = ui.BorderA()
		self.BonusBackground.SetParent(self.Board)
		self.BonusBackground.SetSize(300, 165)
		self.BonusBackground.SetPosition(10, 250)
		self.BonusBackground.Show()

		self.ChangeBonusButton.SetEvent(ui.__mem_func__(self.ChangeBonus))
		self.TitleBar.SetCloseEvent(ui.__mem_func__(self.Close))
		self.ItemsSlots.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
		self.ItemsSlots.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
		self.ItemToolTip = uiToolTip.ItemToolTip()
		self.ItemToolTip.Hide()

	def OverInItem(self, slot):
		if self.ItemToolTip and self.ItemPosition != None and self.ChangerPosition != None:
			if slot == 0:
				self.ItemToolTip.SetInventoryItem(self.ItemPosition)
				self.ItemToolTip.Show()
			elif slot == 1:
				self.ItemToolTip.SetInventoryItem(self.ChangerPosition)
				self.ItemToolTip.Show()

	def OverOutItem(self):
		if self.ItemToolTip:
			self.ItemToolTip.Hide()

	def AddItems(self, itemPositon, changerPosition):
		if item.ITEM_TYPE_WEAPON == item.GetItemType() or item.ITEM_TYPE_ARMOR == item.GetItemType():
			attrSlot = [player.GetItemAttribute(itemPositon, i) for i in xrange(self.MAX_BONUSES)]
			countBonus = sum(1 for attr in attrSlot if attr[0] != 0)

			for i in range(self.MAX_BONUSES):
				if i < countBonus:
					self.BonusName.Show()
					self.BonusInput.Show()
					self.BonusInput.SetParent(self.BonusBackground)
				else:
					self.BonusName.Hide()
					self.BonusInput.Hide()
					self.BonusInput.SetParent(self.BonusBackground)

			for i in range(countBonus):
				type = attrSlot[0]
				value = attrSlot[1]
				affectString = self.__GetBonusName(type, value, smax=0)

				if affectString:
					self.BonusName.SetText(affectString)
					self.BonusInput.Show()
					self.BonusInput[i].SetParent(self.BonusBackground)
				else:
					self.BonusInput[i].Hide()
					self.BonusInput[i].SetParent(self.BonusBackground)

			board_width = 320
			board_height = 425

			board_width2 = 300
			board_height2 = 165

			if countBonus == 0:
				chat.AppendChat(chat.CHAT_TYPE_INFO, uiScriptLocale.BONUS_CHANGER_ERROR_ITEM)
				return
			elif countBonus == 1:
				board_height -= 128
				board_height2 -= 128
			elif countBonus == 2:
				board_height -= 95
				board_height2 -= 95
			elif countBonus == 3:
				board_height -= 63
				board_height2 -= 63
			elif countBonus == 4:
				board_height -= 31
				board_height2 -= 31

			self.Board.SetSize(board_width, board_height)
			self.BonusBackground.SetSize(board_width2, board_height2)

		else:
			return

		self.ItemsSlots.SetItemSlot(0, player.GetItemIndex(itemPositon), 0)
		self.ItemsSlots.SetItemSlot(1, player.GetItemIndex(changerPosition), player.GetItemCount(changerPosition))

		self.ItemPosition = itemPositon
		self.ChangerPosition = changerPosition

		self.ChangersCount = player.GetItemCount(self.ChangerPosition)
		self.Open()

	def __GetBonusName(self, affectType, affectValue, smax=0):
		if affectType == 0 or affectValue == 0:
			return None

		try:
			if 'APPLY_MOUNT' in item.__dict__ and self.ItemToolTip.AFFECT_DICT[item.APPLY_MOUNT]:
				if self.ItemToolTip.AFFECT_DICT[item.APPLY_MOUNT][1] == affectValue and smax == 0:
					return None
				else:
					pass
		except KeyError:
			pass
		
		try:
			return "{}{}".format(
				self.ItemToolTip.AFFECT_DICT[affectType][0](affectValue),
				"" if self.ItemToolTip.AFFECT_DICT[affectType][1] == affectValue and smax != 0 else "",
			)
		except (TypeError, KeyError):
			return "UNKNOWN_TYPE[{}] {}".format(affectType, affectValue)


	def ChangeBonus(self):
		if self.ChangerPosition == None or self.ItemPosition == None:
			return

		if (player.GetItemAttribute(self.ItemPosition, 0)[0] == item.APPLY_NORMAL_HIT_DAMAGE_BONUS and player.GetItemAttribute(self.ItemPosition, 0)[1] >= 30):
			self.ChangeBonusQuestion()
		else:
			self.DoChangeBonus()

	def DoChangeBonus(self):
		self.ChangersCount -= 1
		net.SendItemUseToItemPacket(self.ChangerPosition, self.ItemPosition)

		if player.GetItemIndex(self.ChangerPosition) != 0:
			self.ItemsSlots.SetItemSlot(1, player.GetItemIndex(self.ChangerPosition), self.ChangersCount)
		else:
			self.ItemsSlots.SetItemSlot(1, 0, 0)

		if self.ChangersCount <= 0:
			self.Close()
			return

		self.OnCloseQuestionDialog()

	def ChangeBonusQuestion(self):
		acceptQuestionDialog = uiCommon.QuestionDialog()
		acceptQuestionDialog.SetText(uiScriptLocale.BONUS_CHANGER_QUESTION)
		acceptQuestionDialog.SetAcceptEvent(lambda arg=TRUE: self.DoChangeBonus())
		acceptQuestionDialog.SetCancelEvent(lambda arg=FALSE: self.OnCloseQuestionDialog())
		acceptQuestionDialog.Open()
		self.acceptQuestionDialog = acceptQuestionDialog

	def OnCloseQuestionDialog(self):
		if self.acceptQuestionDialog:
			self.acceptQuestionDialog.Close()

		self.acceptQuestionDialog = None

	def OnUpdate(self):
		if constInfo.IS_BONUS_CHANGER:
			attrSlot = [player.GetItemAttribute(self.ItemPosition, i) for i in xrange(self.MAX_BONUSES)]
			for i in xrange(self.MAX_BONUSES):
				type = attrSlot[i][0]
				value = attrSlot[i][1]
				affectString = self.__GetBonusName(type, value, smax=0)

				self.BonusName[i].SetText("") #Clear old bonuses.

				if affectString:
					self.BonusName[i].SetText(affectString)
		else:
			return

	def Destroy(self):
		self.Close()

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

	def Close(self):
		if self.IsShow():
			self.ChangerPosition = None
			self.ItemPosition = None
			constInfo.IS_BONUS_CHANGER = FALSE
			self.Hide()

	def Open(self):
		constInfo.IS_BONUS_CHANGER = TRUE
		self.Show()


Bine Rafa, acum apar bonsurile in partea de jos, dar nu apar colorate.
Avatar utilizator
[RaffaeL]
Software Developer

Software Developer
Mesaje: 3223
Membru din: 19 Mar 2016, 12:58
Server: ...
Aprecieri: 15  
Mulţumiri: 2502  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

kastor123 scrie: ↑14 Dec 2023, 12:15 Bine Rafa, acum apar bonsurile in partea de jos, dar nu apar colorate.
Fa si partea de uitooltip in asa fel incat sa le ai functionale in client(independent de switch)
Imagine
Imagine
Imagine
https://www.youtube.com/watch?v=GhYkCIETEto
Do everything, if you know what you're doing, else... Imagine
Ma gasesti si aici: Discord https://discord.gg/5J5GnyZVSR
Afișează semnătura
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

[RaffaeL] scrie: ↑14 Dec 2023, 00:52
kastor123 scrie: ↑06 Dec 2023, 02:42 Poti pune un AFFECT_DICT = { separat pentru switchbot, dar nu ar mai arata MAX pe iteme cand bonusezi cu switchbot-ul.
Am incercat si eu mai multe variante, dar nu am reusit.
[HF]White scrie: ↑06 Dec 2023, 13:28 cum a zis mai sus kastor, faci un AFFECT_DICT_2 si adaptezi
De ce ati face asta cand puteti foarte simplu sa modificati functiile din uibonuschanger care apeleaza AFFECT_DICT, in asa fel incat sa adaugati si al 2-lea argument in lista, si anume valoarea bonusului?
Pentru ca apar 100 alte probleme daca lucrezi pe affect_dict. Depinde ce sisteme ai.. daca ai affect renewal, switchbot, sau alte sisteme care se folosesc de affect_dict, trebuie sa adaptezi la toate. Eu asa am facut, cum ai zis si tu, dar daca ar fi sa o fac din nou as creea un affect_dict2 nou, ca sa nu ma complic atata.

Tot acolo esti, o lista in plus in uitooltip nu omoara pe nimeni.
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Avatar utilizator
[RaffaeL]
Software Developer

Software Developer
Mesaje: 3223
Membru din: 19 Mar 2016, 12:58
Server: ...
Aprecieri: 15  
Mulţumiri: 2502  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

kastor123 scrie: ↑14 Dec 2023, 12:15 Bine Rafa, acum apar bonsurile in partea de jos, dar nu apar colorate.
Ok, greseala mea... mai tarziu am inteles ca tu te refereai de fapt la asta: Imagine Imagine
[HF]White scrie: ↑15 Dec 2023, 03:08 Pentru ca apar 100 alte probleme daca lucrezi pe affect_dict. Depinde ce sisteme ai.. daca ai affect renewal, switchbot, sau alte sisteme care se folosesc de affect_dict, trebuie sa adaptezi la toate. Eu asa am facut, cum ai zis si tu, dar daca ar fi sa o fac din nou as creea un affect_dict2 nou, ca sa nu ma complic atata.

Tot acolo esti, o lista in plus in uitooltip nu omoara pe nimeni.
Apar 100 de probleme daca dai copy-paste la acele "systeme". Daca gandesti putin, nu au cum sa apara probleme. AFFECT_DICT este definit ca dictionar cu liste(sau tuple), asa ca poti folosi linistit type: [defined_name](tuple/lista simpla cu un singur element) pentru x systeme, si type: [def_name,_def_value] pentru ceea ce discutam aici. No offence, zic doar.
Imagine
Imagine
https://www.youtube.com/watch?v=GhYkCIETEto
Do everything, if you know what you're doing, else... Imagine
Ma gasesti si aici: Discord https://discord.gg/5J5GnyZVSR
Afișează semnătura
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

pai nu dai copy paste la sisteme, dar daca le ai pus inainte trebuie sa le adaptezi ulterior :v
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Răspunde

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

  • Informaţie
  • Cine este conectat

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