Opublikowano 27 Stycznia 20241 r Więęęc. Jak na zalaczonym obrazku, czesci kostiumow sa "ukryte", a jednak i tak renderuje je w podgladzie graficznym.. System hide costume od owsapa, render target od Volvoxa. Przy okazji, jest jeszcze blad. Mianowicie w przypadku kazdej klasy, ktora moze nosic miecz, renderuje miecz dla sury, widzialem jakies ograniczenia i spojniki dla Race, ale niebardzo to chyba ma spojnosc. Jesli trzeba bedzie, zaplace za te fixy.
Opublikowano 28 Stycznia 20241 r Autor @Edit: Znalazlem drugi blad, zbroje dla roznych klas postaci renderowaly sie na innych w postaci ich odpowiednikow na dany lvl. Czyli szata baronow w eq wojownika renderowala sie jako zbroja boga. Na to jak i na wszystko inne co dotyczy zbroi/broni jeden fix w linijce: if item.WEAPON_SWORD == itemSubType: if self.__ItemGetRace() == player.GetRace(): <---- fix self.__ModelPreview(itemVnum, 3, player.GetRace()) Pozostaje kwestia dopisania gdzie (prawdopodobnie nizej) ifa, ktory odpowiada za pokazanie/ukrycie kostiumu. if (player.GetItemIndex(item.COSTUME_SLOT_BODY)==0): renderTarget.SetArmor(RENDER_TARGET_INDEX, player.GetItemIndex(item.EQUIPMENT_BODY)) else: renderTarget.SetArmor(RENDER_TARGET_INDEX, player.GetItemIndex(item.COSTUME_SLOT_BODY))
Opublikowano 28 Stycznia 20241 r Cos chyba zle dodales bo u mnie ten sam system pokazuje tylko ten item na ktory najade, a ignoruje to co mam na postaci Podrzuce moj if od kostiumow moze ci cos pomoze Spoiler elif isCostumeItem: self.__AppendLimitInformation() self.__AppendAffectInformation() if preview != 0: if isCostumeBody and self.__ItemGetRace() == player.GetRace(): #body self.__ModelPreview(itemVnum, 2, player.GetRace()) elif isCostumeHair: #Hair if item.IsAntiFlag(item.ITEM_ANTIFLAG_WARRIOR) == False and (player.GetRace() == 4 or player.GetRace() == 0): if(item.IsAntiFlag(item.ITEM_ANTIFLAG_MALE) and chr.RaceToSex(player.GetRace()) == 0): pass if(item.IsAntiFlag(item.ITEM_ANTIFLAG_FEMALE) and chr.RaceToSex(player.GetRace()) == 1): self.__ModelPreview(item.GetValue(3), 1, player.GetRace()) if item.IsAntiFlag(item.ITEM_ANTIFLAG_ASSASSIN) == False and (player.GetRace() == 5 or player.GetRace() == 1): if(item.IsAntiFlag(item.ITEM_ANTIFLAG_MALE) and chr.RaceToSex(player.GetRace()) == 0): self.__ModelPreview(item.GetValue(3), 1, player.GetRace()) if(item.IsAntiFlag(item.ITEM_ANTIFLAG_FEMALE) and chr.RaceToSex(player.GetRace()) == 1): self.__ModelPreview(item.GetValue(3), 1, player.GetRace()) if item.IsAntiFlag(item.ITEM_ANTIFLAG_SURA) == False and (player.GetRace() == 2 or player.GetRace() == 6): if(item.IsAntiFlag(item.ITEM_ANTIFLAG_MALE) and chr.RaceToSex(player.GetRace()) == 0): self.__ModelPreview(item.GetValue(3), 1, player.GetRace()) if(item.IsAntiFlag(item.ITEM_ANTIFLAG_FEMALE) and chr.RaceToSex(player.GetRace()) == 1): self.__ModelPreview(item.GetValue(3), 1, player.GetRace()) elif item.IsAntiFlag(item.ITEM_ANTIFLAG_SHAMAN) == False and (player.GetRace() == 7 or player.GetRace() == 3): if(item.IsAntiFlag(item.ITEM_ANTIFLAG_MALE) and chr.RaceToSex(player.GetRace()) == 0): self.__ModelPreview(item.GetValue(3), 1, player.GetRace()) if(item.IsAntiFlag(item.ITEM_ANTIFLAG_FEMALE) and chr.RaceToSex(player.GetRace()) == 1): self.__ModelPreview(item.GetValue(3), 1, player.GetRace()) elif app.ENABLE_WEAPON_COSTUME_SYSTEM and isCostumeWeapon: #weapon if player.GetRace() != 7 and player.GetRace() != 3: self.__ModelPreview(itemVnum, 3, player.GetRace()) if player.GetRace() == 5 or player.GetRace() == 1: self.__ModelPreview(itemVnum, 3, player.GetRace()) if player.GetRace() == 0 or player.GetRace() == 4: self.__ModelPreview(itemVnum, 3, player.GetRace()) if player.GetRace() == 7 or player.GetRace() == 3: self.__ModelPreview(itemVnum, 3, player.GetRace()) elif app.ENABLE_ACCE_COSTUME_SYSTEM and isCostumeAcce: self.__ModelPreview(itemVnum, 4, self.__ItemGetRace()) if app.ENABLE_ACCE_COSTUME_SYSTEM and isCostumeAcce: ## ABSORPTION RATE absChance = int(metinSlot[acce.ABSORPTION_SOCKET]) self.AppendTextLine(localeInfo.ACCE_ABSORB_CHANCE % (absChance), self.CONDITION_COLOR) ## END ABSORPTION RATE itemAbsorbedVnum = int(metinSlot[acce.ABSORBED_SOCKET]) if itemAbsorbedVnum: ## ATTACK / DEFENSE item.SelectItem(itemAbsorbedVnum) if item.GetItemType() == item.ITEM_TYPE_WEAPON: if item.GetItemSubType() == item.WEAPON_FAN: self.__AppendMagicAttackInfo(metinSlot[acce.ABSORPTION_SOCKET]) item.SelectItem(itemAbsorbedVnum) self.__AppendAttackPowerInfo(metinSlot[acce.ABSORPTION_SOCKET]) else: self.__AppendAttackPowerInfo(metinSlot[acce.ABSORPTION_SOCKET]) item.SelectItem(itemAbsorbedVnum) self.__AppendMagicAttackInfo(metinSlot[acce.ABSORPTION_SOCKET]) elif item.GetItemType() == item.ITEM_TYPE_ARMOR: defGrade = item.GetValue(1) defBonus = item.GetValue(5) * 2 defGrade = self.CalcAcceValue(defGrade, metinSlot[acce.ABSORPTION_SOCKET]) defBonus = self.CalcAcceValue(defBonus, metinSlot[acce.ABSORPTION_SOCKET]) if defGrade > 0: self.AppendSpace(5) self.AppendTextLine(localeInfo.TOOLTIP_ITEM_DEF_GRADE % (defGrade + defBonus), self.GetChangeTextLineColor(defGrade)) item.SelectItem(itemAbsorbedVnum) self.__AppendMagicDefenceInfo(metinSlot[acce.ABSORPTION_SOCKET]) ## END ATTACK / DEFENSE ## EFFECT item.SelectItem(itemAbsorbedVnum) for i in xrange(item.ITEM_APPLY_MAX_NUM): (affectType, affectValue) = item.GetAffect(i) affectValue = self.CalcAcceValue(affectValue, metinSlot[acce.ABSORPTION_SOCKET]) affectString = self.__GetAffectString(affectType, affectValue) if (not app.USE_ACCE_ABSORB_WITH_NO_NEGATIVE_BONUS and affectString and affectValue != 0) \ or (app.USE_ACCE_ABSORB_WITH_NO_NEGATIVE_BONUS and affectString and affectValue > 0): self.AppendTextLine(affectString, self.GetChangeTextLineColor(affectValue)) item.SelectItem(itemAbsorbedVnum) # END EFFECT item.SelectItem(itemVnum) ## ATTR self.__AppendAttributeInformation(attrSlot, metinSlot[acce.ABSORPTION_SOCKET]) # END ATTR else: # ATTR self.__AppendAttributeInformation(attrSlot) # END ATTR else: self.__AppendAttributeInformation(attrSlot) self.AppendWearableInformation() if (isCostumeBody or isCostumeHair) and self.__ItemGetRace() == player.GetRace(): #body self.AppendTextLine("{} - Podgląd".format(Emoji("icon\emoji\key_alt.png"))) elif self.CanEquip(True) and not isCostumeBody and not isCostumeHair: self.AppendTextLine("{} - Podgląd".format(Emoji("icon\emoji\key_alt.png"))) self.AppendLastTimeInformation(metinSlot) Offtopic: tobie u martysamy odpisalem z tymi mobami czy zbieznosc nickow? Edytowane 28 Stycznia 20241 r przez lachimek koda dodalem
Opublikowano 28 Stycznia 20241 r Autor Poprosilem Volvoxa, zeby mi to zedytowal w ten sposob, aby kazdy zalozony item byl widoczny.. A u martysamy to pewnie mi, jak wiesz skad je uciuać, chetnie przyjme. Mohito z Xerem mi pomysly kradna za nim je wcielam w zycie haha.
Opublikowano 30 Stycznia 20241 r Masz na VPSie? jeśli tak to podrzuć mi na DC całego klienta jeśli byś mógł. W dniu 27.01.2024 o 23:51, Makaveli napisał(a): render target od Volvoxa Najgorzej hyhyhy ale oki... P.S. weź opisz jeszcze dodatkowe problemy i podeślij nwm SSy z tym co pisałeś na czacie.
Opublikowano 30 Stycznia 20241 r Autor Ogarnięte. Próbowałem różnych warunków od ukrycia kostiumu, ale w końcu jeden się udał. Później go podrzucę, jeśli ktoś jest zainteresowany. Teraz jest inny problem. Próbuje renderować świecenie z systemu świeceń, kod wygląda tak: if (player.GetItemIndex(item.SHINING_SLOT_START+0)==0): renderTarget.ChangeShiningWeapon(RENDER_TARGET_INDEX, player.GetItemIndex(SHINING_SLOT_START+0)) if (player.GetItemIndex(item.SHINING_SLOT_START+1)==0): renderTarget.ChangeShiningWeapon(RENDER_TARGET_INDEX, player.GetItemIndex(SHINING_SLOT_START+1)) Jednak renderuje się tylko efekt ze slotu+1. Da się jakoś napisać kod w taki sposób, aby renderowalo każde świecenie, które jest aktualnie w slocie? Gpt nie pomógł za bardzo.