[C++]Fix bug biolog Vegas

Aici poți găsi sisteme complete, verificate și recomandate de echipa 4Metin.
Avatar utilizator
F. Gabriel
Administrator
Administrator
Mesaje: 470
Membru din: Lun Aug 01, 2022 10:23 am
Localitate: Tecuci
Status: Retras
Multumiri acordate: 16
Multumiri primite: 160
Contact:

[C++]Fix bug biolog Vegas

Mesaj de F. Gabriel »

Caută în biolog.cpp:

Cod: Selectaţi tot

ch->SetBiologState("biolog_lv92.used_window", 1);
Adaugă sub:

Cod: Selectaţi tot

ch->SetBiologState("biolog_lv92.reward", 1);
Sub întreaga structură a funcției if, adaugă:

Cod: Selectaţi tot

	if (pSelectReward[0] != 0 && ch->GetBiologState(pTableStringGlobal[3][8]) == 1)
	{
		if (!strcmp(iReward, "92_reward_1") && pSelectReward[0] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Misiune indisponibilă.");
		}
		if (!strcmp(iReward, "92_reward_2") && pSelectReward[0] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Misiune indisponibilă.");
		}
		if (!strcmp(iReward, "92_reward_3") && pSelectReward[0] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Misiune indisponibilă.");
		}
	}
Imagine

Caută funcția:

Cod: Selectaţi tot

ch->SetBiologState("biolog_lv94.used_window", 1);
Adaugă sub:

Cod: Selectaţi tot

ch->SetBiologState("biolog_lv94.reward", 1);
Sub întreaga structură a funcției if, adaugă:

Cod: Selectaţi tot

	if (pSelectReward[1] != 0 && ch->GetBiologState(pTableStringGlobal[3][9]) == 1)
	{
		if (!strcmp(iReward, "94_reward_1") && pSelectReward[0] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Teapa, dc incerci buguri?.");
		}
		if (!strcmp(iReward, "94_reward_2") && pSelectReward[0] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Teapa, dc incerci buguri?.");
		}
		if (!strcmp(iReward, "94_reward_3") && pSelectReward[0] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Teapa, dc incerci buguri?.");
		}
	}
Imagine
Imagine

Hosting Metin2 by OVINETWORK.RO
Avatar utilizator
aometaphor
4Metin
4Metin
Mesaje: 5
Membru din: Joi Sep 28, 2023 11:23 am
Status: Activ
Multumiri acordate: 3
Contact:

Re: [C++]Fix bug biolog Vegas

Mesaj de aometaphor »

Să corectezi asta, unii n-o să fie atenți:

Caută în biolog.cpp:

ch->SetBiologState("biolog_lv94.used_window", 1);

Adaugă sub:

ch->SetBiologState("biolog_lv92.reward", 1);

------ ÎN ------------------

Caută în biolog.cpp:

ch->SetBiologState("biolog_lv92.used_window", 1);

Adaugă sub:

ch->SetBiologState("biolog_lv92.reward", 1);
Ultima oară modificat Mie Dec 20, 2023 6:48 pm de către F. Gabriel, modificat 1 dată în total.
Motiv: Actualizat.
Avatar utilizator
aometaphor
4Metin
4Metin
Mesaje: 5
Membru din: Joi Sep 28, 2023 11:23 am
Status: Activ
Multumiri acordate: 3
Contact:

Re: [C++]Fix bug biolog Vegas

Mesaj de aometaphor »

Adaug inca ceva:

SCHIMBA

Cod: Selectaţi tot

	if (pSelectReward[1] != 0 && ch->GetBiologState(pTableStringGlobal[3][9]) == 1)
	{
		if (!strcmp(iReward, "94_reward_1") && pSelectReward[0] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Teapa, dc incerci buguri?.");
		}
		if (!strcmp(iReward, "94_reward_2") && pSelectReward[0] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Teapa, dc incerci buguri?.");
		}
		if (!strcmp(iReward, "94_reward_3") && pSelectReward[0] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Teapa, dc incerci buguri?.");
		}
	}
CU

Cod: Selectaţi tot

	if (pSelectReward[1] != 0 && ch->GetBiologState(pTableStringGlobal[3][9]) == 1)
	{
		if (!strcmp(iReward, "94_reward_1") && pSelectReward[1] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Teapa, dc incerci buguri?.");
		}
		if (!strcmp(iReward, "94_reward_2") && pSelectReward[1] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Teapa, dc incerci buguri?.");
		}
		if (!strcmp(iReward, "94_reward_3") && pSelectReward[1] != 0){
			return ch->ChatPacket(CHAT_TYPE_INFO, "<Biolog> Teapa, dc incerci buguri?.");
		}
	}
SI

Cod: Selectaţi tot

void BiologManager::SelectBonusType(LPCHARACTER ch, const char* iReward)
{
	int pSelectReward[] =
	{
		(ch->GetQuestFlag("biolog_lv92.reward")), (ch->GetQuestFlag("biolog_lv92.reward"))
	};
CU

Cod: Selectaţi tot

void BiologManager::SelectBonusType(LPCHARACTER ch, const char* iReward)
{
	int pSelectReward[] =
	{
		(ch->GetQuestFlag("biolog_lv92.reward")), (ch->GetQuestFlag("biolog_lv94.reward"))
	};
Avatar utilizator
aometaphor
4Metin
4Metin
Mesaje: 5
Membru din: Joi Sep 28, 2023 11:23 am
Status: Activ
Multumiri acordate: 3
Contact:

Re: [C++]Fix bug biolog Vegas

Mesaj de aometaphor »

Also, imi cer scuze ca dau atata reply, adauga si fixul asta:

Cod: Selectaţi tot

void BiologManager::SendWindow_SelectType(LPCHARACTER ch, int iType)
{	
	int pGetCompleted[] = {(ch->GetQuestFlag("biolog_lv92.used_window")), (ch->GetQuestFlag("biolog_lv94.used_window"))};
	
	switch (iType)
	{
		case 1:
			if (pGetCompleted[0] != 1)	
			{	
				std::string arg1 = (const char*) pPopUp[8][0];		boost::algorithm::replace_all(arg1, " ", "$");
				std::string arg2 = (const char*) pPopUp[8][1];		boost::algorithm::replace_all(arg2, " ", "$");
				std::string arg3 = (const char*) pPopUp[8][2];		boost::algorithm::replace_all(arg3, " ", "$");	
				std::string arg4 = (const char*) pPopUp[8][3];		boost::algorithm::replace_all(arg4, " ", "$");		
				
				char buf[512+1];
				snprintf(buf, sizeof(buf), "BINARY_Biolog_SelectReward %d %s %s %d %s %d %s %d", (int)1, arg1.c_str(), arg2.c_str(), (int)tableBonus[8][1], arg3.c_str(), (int)tableBonus[8][3], arg4.c_str(), (int)tableBonus[8][5]);
				ch->ChatPacket(CHAT_TYPE_COMMAND, buf);	
			}
		break;
		case 2:	
			if (pGetCompleted[1] != 1)
			{	
				std::string arg1 = (const char*) pPopUp[9][0];		boost::algorithm::replace_all(arg1, " ", "$");
				std::string arg2 = (const char*) pPopUp[9][1];		boost::algorithm::replace_all(arg2, " ", "$");
				std::string arg3 = (const char*) pPopUp[9][2];		boost::algorithm::replace_all(arg3, " ", "$");	
				std::string arg4 = (const char*) pPopUp[9][3];		boost::algorithm::replace_all(arg4, " ", "$");		
				
				char buf[512+1];
				snprintf(buf, sizeof(buf), "BINARY_Biolog_SelectReward %d %s %s %d %s %d %s %d", (int)2, arg1.c_str(), arg2.c_str(), (int)tableBonus[9][1], arg3.c_str(), (int)tableBonus[9][3], arg4.c_str(), (int)tableBonus[9][5]);
				ch->ChatPacket(CHAT_TYPE_COMMAND, buf);		
			}
		break;
	}	
}
Se afisau bonusurile de la misiunea de 92 si in misiunea de 94.
Scrie răspuns