Jump to content

Ds activate = checkpointing: CHECKPOINT shutdown: tics did not updated.


Go to solution Solved by DrTurk,

Recommended Posts

Hi. When i want to activate dragon soul alchemy i got crash core.

Syserr:

checkpointing: CHECKPOINT shutdown: tics did not updated.

gdb

#0  0x28dc4f73 in thr_kill () from /lib/libc.so.7
No symbol table info available.
#1  0x28dc31b1 in raise () from /lib/libc.so.7
No symbol table info available.
#2  0x28d36353 in abort () from /lib/libc.so.7
No symbol table info available.
#3  0x082482b0 in checkpointing (sig=<optimized out>) at signal.c:29
No locals.
#4  0x28c36408 in ?? () from /lib/libthr.so.3
No symbol table info available.
#5  0x28c3583b in ?? () from /lib/libthr.so.3
No symbol table info available.
#6  <signal handler called>
No symbol table info available.
#7  0x080a8847 in CHARACTER::GetInventoryItem (this=0x3666f800, wCell=930)
    at char_item.cpp:262
No locals.
#8  0x081f23eb in CHARACTER::DragonSoul_ActivateDeck (this=0x3666f800,
    deck_idx=0) at char_dragonsoul.cpp:86
        pItem = <optimized out>
        i = 1753023394
#9  0x080eb0bc in do_dragon_soul (ch=0x3666f800,
    argument=0xffbfac05 " activate 0", cmd=231, subcmd=0) at cmd_gm.cpp:4459

Any ideas? 

Link to comment
Share on other sites

  • Premium

 

Save your ass the same:

RETSIGTYPE checkpointing(int sig)
{
    if (tics)
    {
        tics = 0;
    }
    else
    {
        sys_err("CHECKPOINT: tics did not updated.");
//        if (bCheckpointCheck) abort();
    }
}

 

Edited by WeedHex
  • Lmao 1
Link to comment
Share on other sites

1 hour ago, DrTurk said:

please post your function --> bool CHARACTER::DragonSoul_ActivateDeck(int deck_idx) (char_dragonsoul.cpp)

bool CHARACTER::DragonSoul_ActivateDeck(int deck_idx)
{
	if (deck_idx < DRAGON_SOUL_DECK_0 || deck_idx >= DRAGON_SOUL_DECK_MAX_NUM)
	{
		return false;
	}
	
	if (DragonSoul_GetActiveDeck() == deck_idx)
		return true;

	DragonSoul_DeactivateAll();

	if (!DragonSoul_IsQualified())
	{
		ChatPacket(CHAT_TYPE_INFO, LC_TEXT("żëČĄĽ® »óŔÚ°ˇ Č°ĽşČ­µÇÁö ľĘľŇ˝Ŕ´Ď´Ů."));
		return false;
	}

	AddAffect(AFFECT_DRAGON_SOUL_DECK_0 + deck_idx, APPLY_NONE, 0, 0, INFINITE_AFFECT_DURATION, 0, false);

	m_pointsInstant.iDragonSoulActiveDeck = deck_idx;

	for (int i = DRAGON_SOUL_EQUIP_SLOT_START + DS_SLOT_MAX * deck_idx; 
		i < DRAGON_SOUL_EQUIP_SLOT_START + DS_SLOT_MAX * (deck_idx + 1); i++)
	{
		LPITEM pItem = GetInventoryItem(i);
		if (NULL != pItem)
			DSManager::instance().ActivateDragonSoul(pItem);
	}
}

i changed nothing its clean function. 

Link to comment
Share on other sites

  • Solution
4 minutes ago, avertuss said:

bool CHARACTER::DragonSoul_ActivateDeck(int deck_idx)
{
	if (deck_idx < DRAGON_SOUL_DECK_0 || deck_idx >= DRAGON_SOUL_DECK_MAX_NUM)
	{
		return false;
	}
	
	if (DragonSoul_GetActiveDeck() == deck_idx)
		return true;

	DragonSoul_DeactivateAll();

	if (!DragonSoul_IsQualified())
	{
		ChatPacket(CHAT_TYPE_INFO, LC_TEXT("żëČĄĽ® »óŔÚ°ˇ Č°ĽşČ­µÇÁö ľĘľŇ˝Ŕ´Ď´Ů."));
		return false;
	}

	AddAffect(AFFECT_DRAGON_SOUL_DECK_0 + deck_idx, APPLY_NONE, 0, 0, INFINITE_AFFECT_DURATION, 0, false);

	m_pointsInstant.iDragonSoulActiveDeck = deck_idx;

	for (int i = DRAGON_SOUL_EQUIP_SLOT_START + DS_SLOT_MAX * deck_idx; 
		i < DRAGON_SOUL_EQUIP_SLOT_START + DS_SLOT_MAX * (deck_idx + 1); i++)
	{
		LPITEM pItem = GetInventoryItem(i);
		if (NULL != pItem)
			DSManager::instance().ActivateDragonSoul(pItem);
	}
}

i changed nothing its clean function. 

 

You are missing a return true --->

 

bool CHARACTER::DragonSoul_ActivateDeck(int deck_idx)
{
	if (deck_idx < DRAGON_SOUL_DECK_0 || deck_idx >= DRAGON_SOUL_DECK_MAX_NUM)
	{
		return false;
	}
	
	if (DragonSoul_GetActiveDeck() == deck_idx)
		return true;

	DragonSoul_DeactivateAll();

	if (!DragonSoul_IsQualified())
	{
		ChatPacket(CHAT_TYPE_INFO, LC_TEXT("żëČĄĽ® »óŔÚ°ˇ Č°ĽşČ­µÇÁö ľĘľŇ˝Ŕ´Ď´Ů."));
		return false;
	}

	AddAffect(AFFECT_DRAGON_SOUL_DECK_0 + deck_idx, APPLY_NONE, 0, 0, INFINITE_AFFECT_DURATION, 0, false);

	m_pointsInstant.iDragonSoulActiveDeck = deck_idx;

	for (int i = DRAGON_SOUL_EQUIP_SLOT_START + DS_SLOT_MAX * deck_idx; 
		i < DRAGON_SOUL_EQUIP_SLOT_START + DS_SLOT_MAX * (deck_idx + 1); i++)
	{
		LPITEM pItem = GetInventoryItem(i);
		if (NULL != pItem)
			DSManager::instance().ActivateDragonSoul(pItem);
	}
 	return true;
}

Dont do the thing that WeedHex said

  • Love 4
Link to comment
Share on other sites

1 hour ago, DrTurk said:

 

You are missing a return true --->

 


bool CHARACTER::DragonSoul_ActivateDeck(int deck_idx)
{
	if (deck_idx < DRAGON_SOUL_DECK_0 || deck_idx >= DRAGON_SOUL_DECK_MAX_NUM)
	{
		return false;
	}
	
	if (DragonSoul_GetActiveDeck() == deck_idx)
		return true;

	DragonSoul_DeactivateAll();

	if (!DragonSoul_IsQualified())
	{
		ChatPacket(CHAT_TYPE_INFO, LC_TEXT("żëČĄĽ® »óŔÚ°ˇ Č°ĽşČ­µÇÁö ľĘľŇ˝Ŕ´Ď´Ů."));
		return false;
	}

	AddAffect(AFFECT_DRAGON_SOUL_DECK_0 + deck_idx, APPLY_NONE, 0, 0, INFINITE_AFFECT_DURATION, 0, false);

	m_pointsInstant.iDragonSoulActiveDeck = deck_idx;

	for (int i = DRAGON_SOUL_EQUIP_SLOT_START + DS_SLOT_MAX * deck_idx; 
		i < DRAGON_SOUL_EQUIP_SLOT_START + DS_SLOT_MAX * (deck_idx + 1); i++)
	{
		LPITEM pItem = GetInventoryItem(i);
		if (NULL != pItem)
			DSManager::instance().ActivateDragonSoul(pItem);
	}
 	return true;
}

Dont do the thing that WeedHex said

Thanks a lot, it works. 

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • 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.