Jump to content

Please help me game .core ( fixid)


Recommended Posts

 

I found the following errors in game.core and I would ask you to help me solve them.

 

(gdb) bt full
#0  0x0822134a in CTableBySkill::GetSkillPowerByLevelFromType (
    this=0xffffdd38, job=0, skillgroup=127, skilllevel=40, bMob=false)
    at skill_power.cpp:44
No locals.
#1  0x080715c5 in CHARACTER::GetSkillPowerByLevel (this=0x9dbe8000, level=40,
    bMob=false) at char.cpp:8002
No locals.
#2  0x08159326 in std::for_each<std::tr1::__detail::_Hashtable_const_iterator<DESC*, true, false>, FEmpireChatPacket> (__first=<value optimized out>,
    __last=<value optimized out>, __f=
      {p = @0xffff94f7, orig_msg = 0xffff9d5d "Ingerasa : (Ȳ▒▒)", orig_len = 17, converted_msg = "Ingerasa : (Ȳ▒▒)", '\0' <repeats 495 times>, bEmpire = 2 '\002', iMapIndex = 41, namelen = 8}) at input_main.cpp:589
No locals.
#3  0x08156dae in CInputMain::Chat (this=0x551fd09c, ch=0x9de88000,
    data=0x4c53d000 "\003\v", uiBytes=46) at input_main.cpp:901
        c_ref_set = <value optimized out>
        iExtraLen = 7
        buf = "*Ȳ▒▒*\000BJ\b\004\000\000\000 \002J\b▒▒▒\004\237▒(▒BJ\b\004\000\000\000\000FK)$\a\000\000▒\237▒▒\v▒\020\b@\020\\)\004\000\000\000\004\000\000\000T\207▒b<▒▒▒\000P\025\236▒\237▒▒?\207\027\b8▒▒▒▒\237▒▒$\a\000\000\220\001J\b▒O\001\000g\220▒(T\207▒b\b▒▒▒T\207▒b\b▒▒▒8▒▒▒j▒\a\b\024▒▒▒▒O\001\000$\a\000\000\b▒▒▒,▒M)\000\000\000\000\034▒M) \002J\b\b\000\000\000\000▒M)▒O\001\000Cenzu", '\0' ---Type <return> to continue, or q <return> to quit---Quit
(gdb) Quit

 

 

Please help me

Link to comment
Share on other sites

  • Replies 14
  • Created
  • Last Reply

Top Posters In This Topic

skill_power.cpp

int CTableBySkill::GetSkillPowerByLevelFromType(int job, int skillgroup, int skilllevel, bool bMob) const
{
	if (bMob)
	{
		return m_aiSkillPowerByLevelFromType[0][skilllevel];
	}

	if (job >= JOB_MAX_NUM || skillgroup == 0)
		return 0;

	int idx = (job * 2) + (skillgroup - 1);

	return m_aiSkillPowerByLevelFromType[idx][skilllevel];
}

Line 44 is :

Spoiler

return m_aiSkillPowerByLevelFromType[idx][skilllevel];

Char.cpp

int	CHARACTER::GetSkillPowerByLevel(int level, bool bMob) const
{
	return CTableBySkill::instance().GetSkillPowerByLevelFromType(GetJob(), GetSkillGroup(), MINMAX(0, level, SKILL_MAX_LEVEL), bMob); 
}

Line 8002 is:

Spoiler

return CTableBySkill::instance().GetSkillPowerByLevelFromType(GetJob(), GetSkillGroup(), MINMAX(0, level, SKILL_MAX_LEVEL), bMob); 

 

Input_main.cpp


struct FEmpireChatPacket
{
	packet_chat& p;
	const char* orig_msg;
	int orig_len;
	char converted_msg[CHAT_MAX_LEN+1];

	BYTE bEmpire;
	int iMapIndex;
	int namelen;

	FEmpireChatPacket(packet_chat& p, const char* chat_msg, int len, BYTE bEmpire, int iMapIndex, int iNameLen)
		: p(p), orig_msg(chat_msg), orig_len(len), bEmpire(bEmpire), iMapIndex(iMapIndex), namelen(iNameLen)
	{
		memset( converted_msg, 0, sizeof(converted_msg) );
	}

	void operator () (LPDESC d)
	{
		if (!d->GetCharacter())
			return;

		if (d->GetCharacter()->GetMapIndex() != iMapIndex)
			return;

		d->BufferedPacket(&p, sizeof(packet_chat));

		if (d->GetEmpire() == bEmpire ||
			bEmpire == 0 ||
			d->GetCharacter()->GetGMLevel() > GM_PLAYER ||
			d->GetCharacter()->IsEquipUniqueGroup(UNIQUE_GROUP_RING_OF_LANGUAGE))
		{
			d->Packet(orig_msg, orig_len);
		}
		else
		{
			// »ç¶÷¸¶´Ù ½ºÅ³·¹º§ÀÌ ´Ù¸£´Ï ¸Å¹ø ÇؾßÇÕ´Ï´Ù
			size_t len = strlcpy(converted_msg, orig_msg, sizeof(converted_msg));

			if (len >= sizeof(converted_msg))
				len = sizeof(converted_msg) - 1;

			ConvertEmpireText(bEmpire, converted_msg + namelen, len - namelen, 10 + 2 * d->GetCharacter()->GetSkillPower(SKILL_LANGUAGE1 + bEmpire - 1));
			d->Packet(converted_msg, orig_len);
		}
	}
};

Line 589 is :

Spoiler

ConvertEmpireText(bEmpire, converted_msg + namelen, len - namelen, 10 + 2 * d->GetCharacter()->GetSkillPower(SKILL_LANGUAGE1 + bEmpire - 1));

 

Imput_main.cpp

switch (pinfo->type)
	{
		case CHAT_TYPE_TALKING:
			{
				const DESC_MANAGER::DESC_SET & c_ref_set = DESC_MANAGER::instance().GetClientSet();

				if (false)
				{
					std::for_each(c_ref_set.begin(), c_ref_set.end(), 
							FYmirChatPacket(pack_chat,
								buf,
								strlen(buf),
								ch->GetName(),
								strlen(ch->GetName()),
								ch->GetMapIndex(),
								ch->GetEmpire(),
								ch->IsEquipUniqueGroup(UNIQUE_GROUP_RING_OF_LANGUAGE)));
				}
				else
				{
					std::for_each(c_ref_set.begin(), c_ref_set.end(), 
							FEmpireChatPacket(pack_chat,
								chatbuf,
								len, 
								(ch->GetGMLevel() > GM_PLAYER ||
								 ch->IsEquipUniqueGroup(UNIQUE_GROUP_RING_OF_LANGUAGE)) ? 0 : ch->GetEmpire(), 
								ch->GetMapIndex(), strlen(ch->GetName())));
								//xDestroy - Block_chat_Automat
								strcpy(ch->LastPlayerMessage, buf);
								ch->LastMessageAt = thecore_pulse();
								ch->BlockChatAfter = 0;
								//xDestroy - Block_chat_Automat
				}
			}
			break;

		case CHAT_TYPE_PARTY:
			{
				if (!ch->GetParty())
					ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ÆÄƼ ÁßÀÌ ¾Æ´Õ´Ï´Ù."));
				else
				{
					TEMP_BUFFER tbuf;
					
					tbuf.write(&pack_chat, sizeof(pack_chat));
					tbuf.write(chatbuf, len);

					RawPacketToCharacterFunc f(tbuf.read_peek(), tbuf.size());
					ch->GetParty()->ForEachOnlineMember(f);
				}
			}
			break;

		case CHAT_TYPE_GUILD:
			{
				if (!ch->GetGuild())
					ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("±æµå¿¡ °¡ÀÔÇÏÁö ¾Ê¾Ò½À´Ï´Ù."));
				else
					ch->GetGuild()->Chat(chatbuf);
			}
			break;

		default:
			sys_err("Unknown chat type %d", pinfo->type);
			break;
	}

line 901 is:

Spoiler

ch->GetMapIndex(), strlen(ch->GetName())));

End Ingerasa is the name of the player

 

 

Link to comment
Share on other sites

  • Premium

ch->GetMapIndex(), strlen(ch->GetName())));


8-))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

Link to comment
Share on other sites

5 hours ago, Fleon said:

ch->GetMapIndex(), strlen(ch->GetName())));


8-))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

what ?

Link to comment
Share on other sites

10 hours ago, Fleon said:

ch->GetMapIndex(), strlen(ch->GetName());

 

2 The brackets close above function

 

std::for_each(c_ref_set.begin(), c_ref_set.end(), 
                            FEmpireChatPacket(pack_chat,
                                chatbuf,
                                len, 
                                (ch->GetGMLevel() > GM_PLAYER ||
                                 ch->IsEquipUniqueGroup(UNIQUE_GROUP_RING_OF_LANGUAGE)) ? 0 : ch->GetEmpire(), 
                                ch->GetMapIndex(), strlen(ch->GetName())));

Link to comment
Share on other sites

  • Premium
17 hours ago, emoemolizu said:

 

2 The brackets close above function

 

std::for_each(c_ref_set.begin(), c_ref_set.end(), 
                            FEmpireChatPacket(pack_chat,
                                chatbuf,
                                len, 
                                (ch->GetGMLevel() > GM_PLAYER ||
                                 ch->IsEquipUniqueGroup(UNIQUE_GROUP_RING_OF_LANGUAGE)) ? 0 : ch->GetEmpire(), 
                                ch->GetMapIndex(), strlen(ch->GetName())));

o all right sorry then, but about those warning errors, you have the latest gdb installed?

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.