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ł

Nieaktywny

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.

#ifdef ENABLE_ACCE_SYSTEM
void 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

Przejdź do rozwiązania
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
  • Autor
9 godzin temu, theblabil napisał(a):

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).

Jeżeli dobrze zrozumiałem instrukcję składania szafy z Ikei to nie mam szatana

Opublikowano
18 godzin temu, 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
10 godzin temu, 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

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.