Floating Castle

Newbie Spellweaver
Joined
Dec 12, 2021
Messages
15
Reaction score
0
Hi

my neuz is crashing only in the floating castle.

2023/ 1/23 22:55:32 IsAttrSound : pMotion==NULL 0 1074003968

2023/ 1/23 23:14:33 IsAttrSound : pMotion==NULL 0 1075576832

2023/ 1/23 23:16:15 IsAttrSound : pMotion==NULL 0 1077346304

I do not know what type of error this is.

Could someone tell me ?
 
Code:
MOTION_ATTR *IsAttrSound( void ) 
	{ 
		if( m_pMotion == NULL )
		{
			LPCTSTR szErr = Error( "IsAttrSound : pMotion==NULL %d %d", m_fFrameOld, m_fFrameCurrent );
			ADDERRORMSG( szErr );
		}
		return m_pMotion->IsAttrSound( m_fFrameOld, m_fFrameCurrent ); 
	}	// ÇöÀç ÇÁ·¹ÀÓ¿¡ »ç¿îµå¼Ó¼ºÀÌ Àִ°¡?

m_pMotion is a pointer to a CMotion object. the pointer isn't pointing to anything -- just nullptr (0), error occurs.

An object that exists contains a model object that is missing m_pMotion being properly set, thus a call to the IsAttrSound function is returning said error message. You could determine the reason by tracking the calls and finding out which object it is and either fixing the object or fixing code to work with the object.
 
Upvote 0
thank you for reply.

But I can not understand what you mean.
Maybe you can tell me exactly what to do ?


An other question:
I want to create a Bloodstone. It is the same as a diamond but with better stats.
I copied all diamond things and changed the stats.

So now it is in the game but I can not place it into the diamon field of my ulti weapon.
Do you know why ?

THanks
 
Upvote 0
So do you think ist could be a SFX for example ?
I tested the monster outside the dungeon and it worked
so maybe something in the dungeon ?
some floors and rooms worked perfectly but other do not work.

but the moment I can not find what ist bad defined…



Code:
MOTION_ATTR *IsAttrSound( void ) 
    { 
        if( m_pMotion == NULL )
        {
            LPCTSTR szErr = Error( "IsAttrSound : pMotion==NULL %d %d", m_fFrameOld, m_fFrameCurrent );
            ADDERRORMSG( szErr );
        }
        return m_pMotion->IsAttrSound( m_fFrameOld, m_fFrameCurrent ); 
    }    // ÇöÀç ÇÁ·¹ÀÓ¿¡ »ç¿îµå¼Ó¼ºÀÌ Àִ°¡?

m_pMotion is a pointer to a CMotion object. the pointer isn't pointing to anything -- just nullptr (0), error occurs.

An object that exists contains a model object that is missing m_pMotion being properly set, thus a call to the IsAttrSound function is returning said error message. You could determine the reason by tracking the calls and finding out which object it is and either fixing the object or fixing code to work with the object.

And how can I track the call right ?
 
Upvote 0
Hmm i have encountered this problem upon adding a new custom pet as well, I have found a fix for this in Viera source files

Add this define to where your all defines are
Code:
#define __FLYFF_FIX_17 //: MOTION_ATTR *IsAttrSound

then in ModelObject.h
Find:
Code:
MOTION_ATTR *IsAttrSound( void )
{
if( m_pMotion == NULL )
{
LPCTSTR szErr = Error( "IsAttrSound : pMotion==NULL %d %d", m_fFrameOld, m_fFrameCurrent );
ADDERRORMSG( szErr );
}
return m_pMotion->IsAttrSound( m_fFrameOld, m_fFrameCurrent );

Replace with:
Code:
#ifdef __FLYFF_FIX_17
MOTION_ATTR* IsAttrSound(void)
{
if (m_pMotion == NULL)
{
return NULL;
}
return m_pMotion->IsAttrSound(m_fFrameOld, m_fFrameCurrent);
#else
MOTION_ATTR *IsAttrSound( void )
{
if( m_pMotion == NULL )
{
LPCTSTR szErr = Error( "IsAttrSound : pMotion==NULL %d %d", m_fFrameOld, m_fFrameCurrent );
ADDERRORMSG( szErr );
}
return m_pMotion->IsAttrSound( m_fFrameOld, m_fFrameCurrent );
#endif // __FLYFF_FIX_17
 
Upvote 0
Hmm i have encountered this problem upon adding a new custom pet as well, I have found a fix for this in Viera source files

Add this define to where your all defines are
Code:
#define __FLYFF_FIX_17 //: MOTION_ATTR *IsAttrSound

then in ModelObject.h
Find:
Code:
MOTION_ATTR *IsAttrSound( void )
{
if( m_pMotion == NULL )
{
LPCTSTR szErr = Error( "IsAttrSound : pMotion==NULL %d %d", m_fFrameOld, m_fFrameCurrent );
ADDERRORMSG( szErr );
}
return m_pMotion->IsAttrSound( m_fFrameOld, m_fFrameCurrent );

Replace with:
Code:
#ifdef __FLYFF_FIX_17
MOTION_ATTR* IsAttrSound(void)
{
if (m_pMotion == NULL)
{
return NULL;
}
return m_pMotion->IsAttrSound(m_fFrameOld, m_fFrameCurrent);
#else
MOTION_ATTR *IsAttrSound( void )
{
if( m_pMotion == NULL )
{
LPCTSTR szErr = Error( "IsAttrSound : pMotion==NULL %d %d", m_fFrameOld, m_fFrameCurrent );
ADDERRORMSG( szErr );
}
return m_pMotion->IsAttrSound( m_fFrameOld, m_fFrameCurrent );
#endif // __FLYFF_FIX_17

Removing :
Code:
ADDERRORMSG( szErr );

Doesn't solve his issue lol.
 
Upvote 0
Well actually the error code in the fix can be not removed.

what happens in the code is after having the error message code added and runs, it will still go into the return m_pMotion for the current frame (which I think the problem lies with the objects itself which I think is usually present in the custom stuffs) and will cause the crash

With the return NULL, it bypass the return m_pMotion and doesn't cause the crash for the missing thing present at the Object itself
 
Upvote 0
CMover::ProcessDustSFX

Meaning its a "monster" type with missing animation. Is there animation loaded for this monster? is it a static object being used as a monster?
 
Upvote 0
until now i did not find the problem.
Some rooms are working.

There are only 3 regions not working.
The boss area
The area with busques
and area with spider

So in my opinion the monster works fine - do you think it could be something with the area ?
 
Upvote 0
until now i did not find the problem.
Some rooms are working.

There are only 3 regions not working.
The boss area
The area with busques
and area with spider

So in my opinion the monster works fine - do you think it could be something with the area ?

Have you spawned the monsters separately outside of the dungeon and tested them?
 
Upvote 0
dani945 - Floating Castle - RaGEZONE Forums
thank you all - problem solved.

It was a missing animation.

One monster was missing "idle2" so now everything works fine



maybe you can help with some other 2 things:

1.) Where I can change upgrade speed ?

I can not find "g_tmCurrent + SEC(4);" like in other posts. I use V18.3 files.

2.) Today i changed the Max Piercing Suit to 5.
But now I get attached problem. Where I can make that one red line is possible and all visible againt ?

dani945 - Floating Castle - RaGEZONE Forums


dani945 - Floating Castle - RaGEZONE Forums
 
Upvote 0
dani945 - Floating Castle - RaGEZONE Forums
thank you all - problem solved.

It was a missing animation.

One monster was missing "idle2" so now everything works fine



maybe you can help with some other 2 things:

1.) Where I can change upgrade speed ?

I can not find "g_tmCurrent + SEC(4);" like in other posts. I use V18.3 files.

2.) Today i changed the Max Piercing Suit to 5.
But now I get attached problem. Where I can make that one red line is possible and all visible againt ?

dani945 - Floating Castle - RaGEZONE Forums


dani945 - Floating Castle - RaGEZONE Forums

1. It's clearly set in kCommon.h if your using 18.3 like you claim lol.
Code:
enum { ENCHANT_TIME = 1 };								//: Adjust the time of upgrading.

It's set to 1 second.
 
Upvote 0
Do you know how to solve:

2.) Today i changed the Max Piercing Suit to 5.
But now I get attached problem. Where I can make that one red line is possible and all visible againt ?

dani945 - Floating Castle - RaGEZONE Forums

 
Upvote 0
CWndRemovePiercing::OnDraw(

Code:
nMaxPiercing = 4;

Should really start to look and navigate the source. Things are pretty basic to do especially like this where the name is literally "RemovePiercing" lol.
 
Upvote 0
Back