Jump to content

HellBoy

Member
  • Posts

    165
  • Joined

  • Last visited

  • Days Won

    6
  • Feedback

    0%

Posts posted by HellBoy

  1. There's no point in adding texture on msm files ... just add the correct path to your granny2 model (armor) ... the model will load the texture automaticaly from his material path

     

    P.S Only if you add the same model gr2 (armor) with diffrent texture you can use the skin target

     

    i know all that but you dont get what im trying to doo my armor textures got multiple layers means with specular will make it shinnie like the original ymir ones [ and not white like when u add specular on 90% of the new armors u guys use ] what you're saying is basic but specular wont work without the msm lines for each texture path and the way i was adding them only worked for first 2 texture skins and i was trying too add all in 1 shape data forgot :wacko:  that i can add more shape data for same index 

  2. if not try with this

     

    PS: Mine dont work for costumes!

    import ui
    import player
    import mouseModule
    import net
    import app
    import chat
    import snd
    import item
    import player
    import chat
    import grp
    import uiScriptLocale
    import uiRefine
    import uiAttachMetin
    import uiCommon
    import locale
    import constInfo
    import ime
    import grpText
    import uiToolTip
    
    	
    class Switcher(ui.ScriptWindow):
    
    	POSITIVE_COLOR = grp.GenerateColor(0.5411, 0.7254, 0.5568, 1.0)
    	NEGATIVE_COLOR = grp.GenerateColor(0.9, 0.4745, 0.4627, 1.0)
    
    	def __init__(self):
    		import exception
    		ui.ScriptWindow.__init__(self)
    
    	def __del__(self):
    		ui.ScriptWindow.__del__(self)
    
    	def Show(self):
    		#constInfo.SWITCH_BONUS = 1
    		self.__LoadWindow()
    		ui.ScriptWindow.Show(self)
    
    	def Close(self):
    		#constInfo.SWITCH_BONUS = 0
    		self.Hide()
    		
    	def OnPressEscapeKey(self):
    		self.Close()
    		return TRUE
    
    	def __LoadWindow(self):
    		try:			
    			pyScrLoader = ui.PythonScriptLoader()
    			pyScrLoader.LoadScriptFile(self, "Uiscript/switcher.py")
    		except:
    			import exception
    			exception.Abort("CostumeWindow.LoadWindow.LoadObject")
    		self.TitleBar = self.GetChild("TitleBar")
    		self.switchslot = self.GetChild("switchslot")		
    		self.bonusslot = [self.GetChild2("bonus1"), self.GetChild2("bonus2"), self.GetChild2("bonus3"), self.GetChild2("bonus4"), self.GetChild2("bonus5"), ]
    		self.buttongira = self.GetChild("gira_bonus")
    		self.buttongira.SetEvent(ui.__mem_func__(self.__cambiar_bonus))
    		self.TitleBar.SetCloseEvent(ui.__mem_func__(self.Close))
    		self.switchslot.SetSelectEmptySlotEvent(ui.__mem_func__(self.__OnSelectEmptySlot))
    		self.switchslot.SetSelectItemSlotEvent(ui.__mem_func__(self.__OnSelectItemSlot))
    		self.toolTipCostume = uiToolTip.ToolTip(190)
    		self.toolTipCostume.SetTitle(item.GetItemName())
    		
    		self.slotitem = None
    		self.slotgira = None
    		
    	def __OnSelectItemSlot(self, selectedSlotPos):
    		isAttached = mouseModule.mouseController.isAttached()
    		if isAttached:
    			attachedSlotType = mouseModule.mouseController.GetAttachedType()
    			attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
    			mouseModule.mouseController.DeattachObject()
    			itemIndex = player.GetItemIndex(attachedSlotPos)
    			itemCount = player.GetItemCount(attachedSlotPos)
    			item.SelectItem(itemIndex)
    			itemType = item.GetItemType()
    			if selectedSlotPos == 0:
    				self.slotitem = attachedSlotPos
    				if item.ITEM_TYPE_WEAPON == itemType or item.ITEM_TYPE_ARMOR == itemType:
    					self.switchslot.SetItemSlot(selectedSlotPos, itemIndex, 0)						
    					attrSlot = [player.GetItemAttribute(attachedSlotPos, i) for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM)]	
    					for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM-2):
    						type = attrSlot[i][0]
    						value = attrSlot[i][1]
    						affectString = self.__GetAffectString(type, value)
    						self.bonusslot[i].SetText(affectString)
    		else:			
    			if selectedSlotPos == 0:
    				self.switchslot.SetItemSlot(0, 0, 0)
    				self.slotitem = None
    			
    	def __OnSelectEmptySlot(self, selectedSlotPos):
    		isAttached = mouseModule.mouseController.isAttached()
    		if isAttached:
    			attachedSlotType = mouseModule.mouseController.GetAttachedType()
    			attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
    			mouseModule.mouseController.DeattachObject()
    			itemIndex = player.GetItemIndex(attachedSlotPos)
    			itemCount = player.GetItemCount(attachedSlotPos)
    			item.SelectItem(itemIndex)
    			itemType = item.GetItemType()
    			if selectedSlotPos == 0:
    				self.slotitem = attachedSlotPos
    				if item.ITEM_TYPE_WEAPON == itemType or item.ITEM_TYPE_ARMOR == itemType:
    					self.switchslot.SetItemSlot(selectedSlotPos, itemIndex, 0)						
    					attrSlot = [player.GetItemAttribute(attachedSlotPos, i) for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM)]	
    					for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM-2):
    						type = attrSlot[i][0]
    						value = attrSlot[i][1]
    						affectString = self.__GetAffectString(type, value)
    						self.bonusslot[i].SetText(affectString)
    			if selectedSlotPos == 1 and itemIndex== 71084:
    					self.slotgira = attachedSlotPos
    					self.switchslot.SetItemSlot(selectedSlotPos, itemIndex, itemCount)
    			
    	def __GetAffectString(self, affectType, affectValue):
    		if 0 == affectType:
    			return None
    		if 0 == affectValue:
    			return None
    			
    		try:
    			return self.AFFECT_DICT[affectType](affectValue)
    		except TypeError:
    			return "UNKNOWN_VALUE[%s] %s" % (affectType, affectValue)
    		except KeyError:
    			return "UNKNOWN_TYPE[%s] %s" % (affectType, affectValue)
    			
    	def __cambiar_bonus(self):
    		self.__Switch(self.slotitem,self.slotgira)
    		
    	def __Switch(self,dstSlotPos,srcSlotPos):
    		net.SendItemUseToItemPacket(srcSlotPos,dstSlotPos)
    		#self.refresh(dstSlotPos,srcSlotPos)
    		
    	def refresh(self,dstSlotPos,srcSlotPos):
    		attrSlot = [player.GetItemAttribute(dstSlotPos, i) for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM)]	
    		for i in xrange(5):		
    			self.bonusslot[i].SetText("")
    			
    		for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM-2):
    			type = attrSlot[i][0]
    			value = attrSlot[i][1]
    			affectString = self.__GetAffectString(type, value)
    			if int(value) < 0:				
    				self.bonusslot[i].SetPackedFontColor(self.NEGATIVE_COLOR)
    			else:
    				self.bonusslot[i].SetPackedFontColor(self.POSITIVE_COLOR)
    			self.bonusslot[i].SetText(affectString)
    		
    		itemIndex = player.GetItemIndex(srcSlotPos)
    		itemCount = player.GetItemCount(srcSlotPos)
    		self.switchslot.ClearSlot(1)
    		self.switchslot.SetItemSlot(1, itemIndex, itemCount)
    			
    	def OnUpdate(self):
    		self.refresh(self.slotitem,self.slotgira)
    
    	AFFECT_DICT = {
    		item.APPLY_MAX_HP : locale.TOOLTIP_MAX_HP,
    		item.APPLY_MAX_SP : locale.TOOLTIP_MAX_SP,
    		item.APPLY_CON : locale.TOOLTIP_CON,
    		item.APPLY_INT : locale.TOOLTIP_INT,
    		item.APPLY_STR : locale.TOOLTIP_STR,
    		item.APPLY_DEX : locale.TOOLTIP_DEX,
    		item.APPLY_ATT_SPEED : locale.TOOLTIP_ATT_SPEED,
    		item.APPLY_MOV_SPEED : locale.TOOLTIP_MOV_SPEED,
    		item.APPLY_CAST_SPEED : locale.TOOLTIP_CAST_SPEED,
    		item.APPLY_HP_REGEN : locale.TOOLTIP_HP_REGEN,
    		item.APPLY_SP_REGEN : locale.TOOLTIP_SP_REGEN,
    		item.APPLY_POISON_PCT : locale.TOOLTIP_APPLY_POISON_PCT,
    		item.APPLY_STUN_PCT : locale.TOOLTIP_APPLY_STUN_PCT,
    		item.APPLY_SLOW_PCT : locale.TOOLTIP_APPLY_SLOW_PCT,
    		item.APPLY_CRITICAL_PCT : locale.TOOLTIP_APPLY_CRITICAL_PCT,
    		item.APPLY_PENETRATE_PCT : locale.TOOLTIP_APPLY_PENETRATE_PCT,
    
    		item.APPLY_ATTBONUS_WARRIOR : locale.TOOLTIP_APPLY_ATTBONUS_WARRIOR,
    		item.APPLY_ATTBONUS_ASSASSIN : locale.TOOLTIP_APPLY_ATTBONUS_ASSASSIN,
    		item.APPLY_ATTBONUS_SURA : locale.TOOLTIP_APPLY_ATTBONUS_SURA,
    		item.APPLY_ATTBONUS_SHAMAN : locale.TOOLTIP_APPLY_ATTBONUS_SHAMAN,
    		item.APPLY_ATTBONUS_MONSTER : locale.TOOLTIP_APPLY_ATTBONUS_MONSTER,
    
    		item.APPLY_ATTBONUS_HUMAN : locale.TOOLTIP_APPLY_ATTBONUS_HUMAN,
    		item.APPLY_ATTBONUS_ANIMAL : locale.TOOLTIP_APPLY_ATTBONUS_ANIMAL,
    		item.APPLY_ATTBONUS_ORC : locale.TOOLTIP_APPLY_ATTBONUS_ORC,
    		item.APPLY_ATTBONUS_MILGYO : locale.TOOLTIP_APPLY_ATTBONUS_MILGYO,
    		item.APPLY_ATTBONUS_UNDEAD : locale.TOOLTIP_APPLY_ATTBONUS_UNDEAD,
    		item.APPLY_ATTBONUS_DEVIL : locale.TOOLTIP_APPLY_ATTBONUS_DEVIL,
    		item.APPLY_STEAL_HP : locale.TOOLTIP_APPLY_STEAL_HP,
    		item.APPLY_STEAL_SP : locale.TOOLTIP_APPLY_STEAL_SP,
    		item.APPLY_MANA_BURN_PCT : locale.TOOLTIP_APPLY_MANA_BURN_PCT,
    		item.APPLY_DAMAGE_SP_RECOVER : locale.TOOLTIP_APPLY_DAMAGE_SP_RECOVER,
    		item.APPLY_BLOCK : locale.TOOLTIP_APPLY_BLOCK,
    		item.APPLY_DODGE : locale.TOOLTIP_APPLY_DODGE,
    		item.APPLY_RESIST_SWORD : locale.TOOLTIP_APPLY_RESIST_SWORD,
    		item.APPLY_RESIST_TWOHAND : locale.TOOLTIP_APPLY_RESIST_TWOHAND,
    		item.APPLY_RESIST_DAGGER : locale.TOOLTIP_APPLY_RESIST_DAGGER,
    		item.APPLY_RESIST_BELL : locale.TOOLTIP_APPLY_RESIST_BELL,
    		item.APPLY_RESIST_FAN : locale.TOOLTIP_APPLY_RESIST_FAN,
    		item.APPLY_RESIST_BOW : locale.TOOLTIP_RESIST_BOW,
    		item.APPLY_RESIST_FIRE : locale.TOOLTIP_RESIST_FIRE,
    		item.APPLY_RESIST_ELEC : locale.TOOLTIP_RESIST_ELEC,
    		item.APPLY_RESIST_MAGIC : locale.TOOLTIP_RESIST_MAGIC,
    		item.APPLY_RESIST_WIND : locale.TOOLTIP_APPLY_RESIST_WIND,
    		item.APPLY_REFLECT_MELEE : locale.TOOLTIP_APPLY_REFLECT_MELEE,
    		item.APPLY_REFLECT_CURSE : locale.TOOLTIP_APPLY_REFLECT_CURSE,
    		item.APPLY_POISON_REDUCE : locale.TOOLTIP_APPLY_POISON_REDUCE,
    		item.APPLY_KILL_SP_RECOVER : locale.TOOLTIP_APPLY_KILL_SP_RECOVER,
    		item.APPLY_EXP_DOUBLE_BONUS : locale.TOOLTIP_APPLY_EXP_DOUBLE_BONUS,
    		item.APPLY_GOLD_DOUBLE_BONUS : locale.TOOLTIP_APPLY_GOLD_DOUBLE_BONUS,
    		item.APPLY_ITEM_DROP_BONUS : locale.TOOLTIP_APPLY_ITEM_DROP_BONUS,
    		item.APPLY_POTION_BONUS : locale.TOOLTIP_APPLY_POTION_BONUS,
    		item.APPLY_KILL_HP_RECOVER : locale.TOOLTIP_APPLY_KILL_HP_RECOVER,
    		item.APPLY_IMMUNE_STUN : locale.TOOLTIP_APPLY_IMMUNE_STUN,
    		item.APPLY_IMMUNE_SLOW : locale.TOOLTIP_APPLY_IMMUNE_SLOW,
    		item.APPLY_IMMUNE_FALL : locale.TOOLTIP_APPLY_IMMUNE_FALL,
    		item.APPLY_BOW_DISTANCE : locale.TOOLTIP_BOW_DISTANCE,
    		item.APPLY_DEF_GRADE : locale.TOOLTIP_DEF_GRADE,
    		item.APPLY_ATT_GRADE : locale.TOOLTIP_ATT_GRADE,
    		item.APPLY_MAGIC_ATT_GRADE : locale.TOOLTIP_MAGIC_ATT_GRADE,
    		item.APPLY_MAGIC_DEF_GRADE : locale.TOOLTIP_MAGIC_DEF_GRADE,
    		item.APPLY_MAX_STAMINA : locale.TOOLTIP_MAX_STAMINA,
    		item.APPLY_MALL_ATTBONUS : locale.TOOLTIP_MALL_ATTBONUS,
    		item.APPLY_MALL_DEFBONUS : locale.TOOLTIP_MALL_DEFBONUS,
    		item.APPLY_MALL_EXPBONUS : locale.TOOLTIP_MALL_EXPBONUS,
    		item.APPLY_MALL_ITEMBONUS : locale.TOOLTIP_MALL_ITEMBONUS,
    		item.APPLY_MALL_GOLDBONUS : locale.TOOLTIP_MALL_GOLDBONUS,
    		item.APPLY_SKILL_DAMAGE_BONUS : locale.TOOLTIP_SKILL_DAMAGE_BONUS,
    		item.APPLY_NORMAL_HIT_DAMAGE_BONUS : locale.TOOLTIP_NORMAL_HIT_DAMAGE_BONUS,
    		item.APPLY_SKILL_DEFEND_BONUS : locale.TOOLTIP_SKILL_DEFEND_BONUS,
    		item.APPLY_NORMAL_HIT_DEFEND_BONUS : locale.TOOLTIP_NORMAL_HIT_DEFEND_BONUS,
    		item.APPLY_PC_BANG_EXP_BONUS : locale.TOOLTIP_MALL_EXPBONUS_P_STATIC,
    		item.APPLY_PC_BANG_DROP_BONUS : locale.TOOLTIP_MALL_ITEMBONUS_P_STATIC,
    		item.APPLY_RESIST_WARRIOR : locale.TOOLTIP_APPLY_RESIST_WARRIOR,
    		item.APPLY_RESIST_ASSASSIN : locale.TOOLTIP_APPLY_RESIST_ASSASSIN,
    		item.APPLY_RESIST_SURA : locale.TOOLTIP_APPLY_RESIST_SURA,
    		item.APPLY_RESIST_SHAMAN : locale.TOOLTIP_APPLY_RESIST_SHAMAN,	
    	}
    
    x=Switcher()
    
  3. replace

        def Switcher(self):
            import uiswitch
            self.switch = uiswitch.Switcher()
            if self.switch.IsShow():
                self.switch.Hide()
            else:
                self.switch.Show()

    with 

    	def __Switcher(self):
    		import uiswitch
    		self.wndSwitch = uiswitch.Switcher()
    		self.wndSwitch.Show()

    1 more thing cuz i have it unclear ur switcher py file in root is uiswitch.py or uiswitcher.py ????

     

    what i've told u is for uiswitch.py

  4.  

    and in the DIKT i put what? lambda : self.__switcher or it stays self.Switcher?

    Actually, after these lines you said i have this function:

    def Switcher(self):
            import uiswitch
            self.switch = uiswitch.Switcher()
            if self.switch.IsShow():
                self.switch.Hide()
            else:
                self.switch.Show()

    idk if you saw the game.py that i posted here too...

     

    I just simply need to add the

    def __switcher(self):
            switcher.StartDialog.Show()

    and run the client? do i need to change this:

    onPressKeyDict[app.DIK_F8]  = lambda : self.Switcher()

    to this?

    onPressKeyDict[app.DIK_F8]  = lambda : self.__switcher()

      add that  line instaid of urs and try dont modify anything at onpresKeyDict

  5. seek for this line in game.py

    
    
        def __PlayMusic(self, flag, filename):
            flag = int(flag)
            if flag:
                snd.FadeOutAllMusic()
                musicInfo.SaveLastPlayFieldMusic()
                snd.FadeInMusic("BGM/" + filename)
            else:
                snd.FadeOutAllMusic()
                musicInfo.LoadLastPlayFieldMusic()
                snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)

    and at end  add this

    def __switcher(self):
    		switcher.StartDialog.Show()
     

     

  6. Group ShapeData89
    {
           ShapeIndex 156
           Model                     "m2mdT/assassin_titanM.GR2"
           SourceSkin             "m2mdT/boots_1.dds"
           TargetSkin              "m2mdT/boots_1.dds"
           SourceSkin1           "m2mdT/hand_1.dds"
           TargetSkin1            "m2mdT/hand_1.dds"
           SourceSkin2           "m2mdT/body_1.dds"
           TargetSkin2            "m2mdT/body_4.dds"
    }
     
    Now the problem is when i use specular [ make armor shinnie ] only the first 2 texture skins  get the specular and  the other doesnt ...  i changed the order to see if is something wrong with texture and is same the first 2 target skins " in this case arms and legs are shinnie and body not :angry:  "  ....
    So how can i increase the use of texture and source skins up to 3 or more ???? i have models that use up to 8x texture :wub:  ....
  7.  

    hello, 
     
    I have a concern, I would like to install a map but the worry is that when I want to join in the games I have this error that appears there, I try everything here is the screen of syserr.
     
    386206Desktop11102014131607248.png

     

     

    MapProperty.txt is wrong or bad placed in client 

  8.  

    Then you implemented the map files wrong in the client :

    - add pack name into "index" if u didnt add it 

    - check the xml to see if the files are there when u add it in a pack that is already in the client

     

    it is already in index...

    what you mean with the 2nd line i can't figure out...

     

     

    PM me

     

    i'll post feedback with solution after  :)

     

     

    EDIT:

    -duplicate map files

    -missing data in locale/atlastinfo.txt

    • Love 1
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.