Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

Problem ze "skokiem" / resetem skrzydeł

Featured Replies

Opublikowano

Witam, mam problem z skrzydłami (każdymi). Dodałem ten kodzik: <temat z zagramanicy>

obraz.png

Funkcja z binki która pozwala na ruch skrzydeł ale za razem Tworzy ten problem.

C++Kod został skopiowany
#ifdef ENABLE_ACCE_SYSTEMvoid CActorInstance::AttachAcce(CItemData* pItemData, float fSpecular){	if (!pItemData)	{		RegisterModelThing(CRaceData::PART_ACCE, NULL);		SetModelInstance(CRaceData::PART_ACCE, CRaceData::PART_ACCE, 0);		RefreshActorInstance();		return;	} 	RegisterModelThing(CRaceData::PART_ACCE, pItemData->GetModelThing());	SetModelInstance(CRaceData::PART_ACCE, CRaceData::PART_ACCE, 0);	AttachModelInstance(CRaceData::PART_MAIN, "Bip01 Spine2", CRaceData::PART_ACCE); 	if (fSpecular > 0.0f)	{		SMaterialData kMaterialData;		kMaterialData.pImage = NULL;		kMaterialData.isSpecularEnable = TRUE;		kMaterialData.fSpecularPower = fSpecular;		kMaterialData.bSphereMapIndex = 1;		SetMaterialData(CRaceData::PART_ACCE, NULL, kMaterialData);	}#ifdef INBUILD_GR2_ANIMATION	if (CGrannyLODController* pLODController = m_LODControllerVector[CRaceData::PART_ACCE])	{		if (CGrannyModelInstance* pWeaponModelInstance = pLODController->GetModelInstance())		{			CGraphicThing* pItemGraphicThing = pItemData->GetModelThing();			if (std::shared_ptr<CGrannyMotion> pItemMotion = pItemGraphicThing->GetMotionPointer(0))			{				pWeaponModelInstance->SetMotionPointer(pItemMotion);			}		}	}#endif}#endif

Resetuje się pozycja przy:

  • Wsiadanie/zsiadanie z wierzchowca/konia

  • Wyłączeniu alchemii

  • używaniu odpałów typu zielona/fioletowa potek

Ktoś ma jakiś pomysł jak to naprawić aby żadna interakcja nie resetowała ruchu skrzydeł?

Edytowane przez ExoCarossa

Rozwiązane przez wojciech74

Opublikowano

A weź biegnij i zejdź z konia i zobacz czy postać skacze po zejściu z konia jak jest w biegu (powinna się tak miotać jak szatan).

Edytowane przez theblabil

Opublikowano
W dniu 3.12.2025 o 16:35, ExoCarossa napisał(a):

Miałem pomysł co może się dziać, ale jak widzę u Ciebie to śmiga więc nawet nie drążę.

Zauważ tylko, że jak biegniesz to ten błąd nie występuje, albo dobrze się maskuje.

Edytowane przez theblabil

Opublikowano
  • Autor
W dniu 4.12.2025 o 11:32, theblabil napisał(a):

Miałem pomysł co może się dziać, ale jak widzę u Ciebie to śmiga więc nawet nie drążę.

Zauważ tylko, że jak biegniesz to ten błąd nie występuje, albo dobrze się maskuje.

Miałem szybką teorie czy może Terenzo z racji wieku ma jakieś dodatkowe problemy, ale na martysamie 5.8 jest dokładnie tak samo..

Opublikowano
  • Rozwiązanie

InstanceBase.cpp

C++Kod został skopiowany
bool CInstanceBase::SetAcce(DWORD dwAcce){	if (!IsPC() || IsPoly() || IsWearingDress() || __IsShapeAnimalWear())		return false; #ifdef __GR2_ANIMATION__	// If the same ACCE is already equipped, don't clear and re-attach to preserve animation	DWORD dwCurrentAcce = m_awPart[CRaceData::PART_ACCE];	DWORD dwNewAcceAdjusted = dwAcce;	if (dwNewAcceAdjusted % 1000 >= 500)		dwNewAcceAdjusted -= 500; 	if (dwCurrentAcce == dwNewAcceAdjusted && dwCurrentAcce != 0)	{		TraceError("[ANIM_DEBUG] SetAcce SKIPPED - same ACCE already equipped (%u), preserving animation", dwCurrentAcce);		return true;	}#endif 	ClearAcceEffect();	m_GraphicThingInstance.ClearAcce();	m_GraphicThingInstance.SetAcceScale(1.0f, 1.0f, 1.0f);	m_awPart[CRaceData::PART_ACCE] = 0;	m_dwAcceEffect = 0; 	if (!dwAcce)		return true; 	if (dwAcce % 1000 >= 500)	{		dwAcce -= 500;		m_dwAcceEffect = EFFECT_ACCE_BACK;	} 	CItemData* pItemData = nullptr;	if (!CItemManager::Instance().GetItemDataPointer(dwAcce, &pItemData))		return false; 	m_GraphicThingInstance.AttachAcce(dwAcce, 0, CRaceData::PART_ACCE); 	if (m_dwAcceEffect)		__EffectContainer_AttachEffect(m_dwAcceEffect); 	BYTE bRace = (BYTE)GetRace();	BYTE bJob = (BYTE)RaceToJob(bRace);	BYTE bSex = (BYTE)RaceToSex(bRace); 	m_GraphicThingInstance.SetAcceScale(		pItemData->GetItemScaleVector(bJob, bSex),		bRace); 	m_awPart[CRaceData::PART_ACCE] = dwAcce; 	return true;}

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

Konto

Nawigacja

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.