C++ Dice System (Erroare Compilare)

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
-DND-
Utilizatorul Lunii Ianuarie

Utilizatorul Lunii Ianuarie
Mesaje: 1464
Membru din: 22 Ian 2017, 16:40
Server: Serverfiles By DnD
Regat: Jinno
Aprecieri: 116  
Mulţumiri: 2249  
Discord: Copiază ID
 Contact:
Medalii

Salut , am incercat sa bag un dice system si intampin niste prorbleme de compilare daca este cineva care ma poate ajuta sa rezolv va rog nu ezitati sa lasati un comentariu constructiv.

Functia FULL :

Cod: Selectaţi tot

bool CExchange::Accept(bool bAccept)
{
		if (m_lDice == 1)
		{
			int myNumber = 0, targetNumber = 0, diceHasDone = 0;
			myNumber = number(1,100); targetNumber = number(1, 100);
			if (myNumber > targetNumber)
			{
				if (GetCompany()->Done())
					diceHasDone = 1;
				
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceWon"));
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceLoss"));
			}
			else if (myNumber < targetNumber)
			{
				if (Done())
					diceHasDone = 1;
				
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceLoss"));
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceWon"));
			}
			else
			{
				diceHasDone = 1;
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceNoWinner"));
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceNoWinner"));
			}
			
			if (diceHasDone)
			{
				GetOwner()->ChatPacket(CHAT_TYPE_COMMAND, "DiceDone %d %d", myNumber, targetNumber);
				victim->ChatPacket(CHAT_TYPE_COMMAND, "DiceDone %d %d", targetNumber, myNumber);
				
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s diceDone"), victim->GetName());
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s diceDone"), GetOwner()->GetName());
			}
		}else
		{
			if (Done())
			{
				if (m_lGold) // µ·ÀÌ ÀÖÀ» ‹š¸¸ ÀúÀå
					GetOwner()->Save();

				if (GetCompany()->Done())
				{
					if (GetCompany()->m_lGold) // µ·ÀÌ ÀÖÀ» ¶§¸¸ ÀúÀå
						victim->Save();

					// INTERNATIONAL_VERSION
					GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s ´Ô°úÀÇ ±³È¯ÀÌ ¼º»ç µÇ¾ú½À´Ï´Ù."), victim->GetName());
					victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s ´Ô°úÀÇ ±³È¯ÀÌ ¼º»ç µÇ¾ú½À´Ï´Ù."), GetOwner()->GetName());
					// END_OF_INTERNATIONAL_VERSION
				}
			}
		}

		EXCHANGE_END:
		Cancel();
		return false;
	}
	else
	{
		// 아니면 accept에 대한 패킷을 보내자.
		exchange_packet(GetOwner(), EXCHANGE_SUBHEADER_GC_ACCEPT, true, m_bAccept, NPOS, 0, m_lDice);
		exchange_packet(GetCompany()->GetOwner(), EXCHANGE_SUBHEADER_GC_ACCEPT, false, m_bAccept, NPOS, 0, m_lDice);
		return true;
	}
}

Erorile de compilare sunt :

Cod: Selectaţi tot

exchange.cpp: In member function 'bool CExchange::Accept(bool)':
exchange.cpp:555: error: 'victim' was not declared in this scope
exchange.cpp:563: error: 'victim' was not declared in this scope
exchange.cpp:569: error: 'victim' was not declared in this scope
exchange.cpp:575: error: 'victim' was not declared in this scope
exchange.cpp:590: error: 'victim' was not declared in this scope
exchange.cpp:593: error: 'victim' was not declared in this scope
exchange.cpp: At global scope:
exchange.cpp:604: error: expected unqualified-id before 'else'
exchange.cpp:611: error: expected declaration before '}' token
gmake: *** [OBJDIR/exchange.o] Error 1
gmake: *** Waiting for unfinished jobs....
Linia 555 reprezentand :victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceLoss"));
Avatar utilizator
Moț
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 2825
Membru din: 03 Apr 2017, 15:00
Aprecieri: 216  
Mulţumiri: 3040  
Discord: Copiază ID
Medalii

ch->victim
Imagine
Afișează semnătura
Avatar utilizator
Mr. Tiger
Membru Club

Membru Club
Mesaje: 1223
Membru din: 06 Sep 2013, 11:19
Aprecieri: 12  
Mulţumiri: 126  
Medalii

Ai futurama acoladele...

Cod: Selectaţi tot

bool CExchange::Accept(bool bAccept)
{
	if (m_bAccept == bAccept)
		return true;

	m_bAccept = bAccept;

	if (m_bAccept && GetCompany()->m_bAccept)
	{
		int	iItemCount;

		LPCHARACTER victim = GetCompany()->GetOwner();
		
		GetOwner()->SetExchangeTime();
		victim->SetExchangeTime();

		if (!Check(&iItemCount))
		{
			GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("돈이 부족하거나 아이템이 제자리에 없습니다."));
			victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 돈이 부족하거나 아이템이 제자리에 없습니다."));
			goto EXCHANGE_END;
		}

		if (!CheckSpace())
		{
			GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 소지품에 빈 공간이 없습니다."));
			victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지품에 빈 공간이 없습니다."));
			goto EXCHANGE_END;
		}

		if (!GetCompany()->Check(&iItemCount))
		{
			victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("돈이 부족하거나 아이템이 제자리에 없습니다."));
			GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 돈이 부족하거나 아이템이 제자리에 없습니다."));
			goto EXCHANGE_END;
		}

		if (!GetCompany()->CheckSpace())
		{
			victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 소지품에 빈 공간이 없습니다."));
			GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지품에 빈 공간이 없습니다."));
			goto EXCHANGE_END;
		}

		if (db_clientdesc->GetSocket() == INVALID_SOCKET)
		{
			sys_err("<Eroare Baza de Date> Nu se poate utiliza caracteristica de schimb in timp ce conexiunea cache Bazei de date este morta.");
			victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Eroare..."));
			GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Eroare..."));
			goto EXCHANGE_END;
		}

		if (m_lDice == 1)
		{
			int myNumber = 0, targetNumber = 0, diceHasDone = 0;
			myNumber = number(1,100); targetNumber = number(1, 100);
			if (myNumber > targetNumber)
			{
				if (GetCompany()->Done())
					diceHasDone = 1;
				
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceWon"));
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceLoss"));
			}
			else if (myNumber < targetNumber)
			{
				if (Done())
					diceHasDone = 1;
				
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceLoss"));
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceWon"));
			}
			else
			{
				diceHasDone = 1;
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceNoWinner"));
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceNoWinner"));
			}
			
			if (diceHasDone)
			{
				GetOwner()->ChatPacket(CHAT_TYPE_COMMAND, "DiceDone %d %d", myNumber, targetNumber);
				victim->ChatPacket(CHAT_TYPE_COMMAND, "DiceDone %d %d", targetNumber, myNumber);
				
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s diceDone"), victim->GetName());
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s diceDone"), GetOwner()->GetName());
			}
		}else
		{
			if (Done())
			{
				if (m_lGold)
					GetOwner()->Save();

				if (GetCompany()->Done())
				{
					if (GetCompany()->m_lGold)
						victim->Save();

					GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s ´Ô°úÀÇ ±³È¯ÀÌ ¼º»ç µÇ¾ú½À´Ï´Ù."), victim->GetName());
					victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s ´Ô°úÀÇ ±³È¯ÀÌ ¼º»ç µÇ¾ú½À´Ï´Ù."), GetOwner()->GetName());
				}
			}
		}

EXCHANGE_END:
		Cancel();
		return false;
	}
	else
	{
		exchange_packet(GetOwner(), EXCHANGE_SUBHEADER_GC_ACCEPT, true, m_bAccept, NPOS, 0);
		exchange_packet(GetCompany()->GetOwner(), EXCHANGE_SUBHEADER_GC_ACCEPT, false, m_bAccept, NPOS, 0);
		return true;
	}
}

Cod: Selectaţi tot

“The worst day of loving someone is the day that you lose them.”

― L.J Smith
Afișează semnătura
Avatar utilizator
-DND-
Utilizatorul Lunii Ianuarie

Utilizatorul Lunii Ianuarie
Mesaje: 1464
Membru din: 22 Ian 2017, 16:40
Server: Serverfiles By DnD
Regat: Jinno
Aprecieri: 116  
Mulţumiri: 2249  
Discord: Copiază ID
 Contact:
Medalii

July scrie:ch->victim

Cod: Selectaţi tot

Was not declared in this scope
Avatar utilizator
-DND-
Utilizatorul Lunii Ianuarie

Utilizatorul Lunii Ianuarie
Mesaje: 1464
Membru din: 22 Ian 2017, 16:40
Server: Serverfiles By DnD
Regat: Jinno
Aprecieri: 116  
Mulţumiri: 2249  
Discord: Copiază ID
 Contact:
Medalii

Tiger scrie:Ai futurama acoladele...

Cod: Selectaţi tot

bool CExchange::Accept(bool bAccept)
{
	if (m_bAccept == bAccept)
		return true;

	m_bAccept = bAccept;

	if (m_bAccept && GetCompany()->m_bAccept)
	{
		int	iItemCount;

		LPCHARACTER victim = GetCompany()->GetOwner();
		
		GetOwner()->SetExchangeTime();
		victim->SetExchangeTime();

		if (!Check(&iItemCount))
		{
			GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("돈이 부족하거나 아이템이 제자리에 없습니다."));
			victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 돈이 부족하거나 아이템이 제자리에 없습니다."));
			goto EXCHANGE_END;
		}

		if (!CheckSpace())
		{
			GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 소지품에 빈 공간이 없습니다."));
			victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지품에 빈 공간이 없습니다."));
			goto EXCHANGE_END;
		}

		if (!GetCompany()->Check(&iItemCount))
		{
			victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("돈이 부족하거나 아이템이 제자리에 없습니다."));
			GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 돈이 부족하거나 아이템이 제자리에 없습니다."));
			goto EXCHANGE_END;
		}

		if (!GetCompany()->CheckSpace())
		{
			victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 소지품에 빈 공간이 없습니다."));
			GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지품에 빈 공간이 없습니다."));
			goto EXCHANGE_END;
		}

		if (db_clientdesc->GetSocket() == INVALID_SOCKET)
		{
			sys_err("<Eroare Baza de Date> Nu se poate utiliza caracteristica de schimb in timp ce conexiunea cache Bazei de date este morta.");
			victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Eroare..."));
			GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Eroare..."));
			goto EXCHANGE_END;
		}

		if (m_lDice == 1)
		{
			int myNumber = 0, targetNumber = 0, diceHasDone = 0;
			myNumber = number(1,100); targetNumber = number(1, 100);
			if (myNumber > targetNumber)
			{
				if (GetCompany()->Done())
					diceHasDone = 1;
				
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceWon"));
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceLoss"));
			}
			else if (myNumber < targetNumber)
			{
				if (Done())
					diceHasDone = 1;
				
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceLoss"));
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceWon"));
			}
			else
			{
				diceHasDone = 1;
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceNoWinner"));
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("diceNoWinner"));
			}
			
			if (diceHasDone)
			{
				GetOwner()->ChatPacket(CHAT_TYPE_COMMAND, "DiceDone %d %d", myNumber, targetNumber);
				victim->ChatPacket(CHAT_TYPE_COMMAND, "DiceDone %d %d", targetNumber, myNumber);
				
				GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s diceDone"), victim->GetName());
				victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s diceDone"), GetOwner()->GetName());
			}
		}else
		{
			if (Done())
			{
				if (m_lGold)
					GetOwner()->Save();

				if (GetCompany()->Done())
				{
					if (GetCompany()->m_lGold)
						victim->Save();

					GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s ´Ô°úÀÇ ±³È¯ÀÌ ¼º»ç µÇ¾ú½À´Ï´Ù."), victim->GetName());
					victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s ´Ô°úÀÇ ±³È¯ÀÌ ¼º»ç µÇ¾ú½À´Ï´Ù."), GetOwner()->GetName());
				}
			}
		}

EXCHANGE_END:
		Cancel();
		return false;
	}
	else
	{
		exchange_packet(GetOwner(), EXCHANGE_SUBHEADER_GC_ACCEPT, true, m_bAccept, NPOS, 0);
		exchange_packet(GetCompany()->GetOwner(), EXCHANGE_SUBHEADER_GC_ACCEPT, false, m_bAccept, NPOS, 0);
		return true;
	}
}

Am pus astea asa

Cod: Selectaţi tot

		//exchange_packet(GetOwner(), EXCHANGE_SUBHEADER_GC_ACCEPT, true, m_bAccept, NPOS, 0);
		//exchange_packet(GetCompany()->GetOwner(), EXCHANGE_SUBHEADER_GC_ACCEPT, false, m_bAccept, NPOS, 0);
		return true;
si a compilat ar trebuii sa fie in regula nu?
Avatar utilizator
ManiacRobert
Developer

Developer
Mesaje: 1526
Membru din: 09 Dec 2013, 09:51
Server: Canary-World
Regat: Shinsoo
Aprecieri: 310  
Mulţumiri: 687  
Discord: Copiază ID
 Contact:
Medalii

ch->victim

LPCHARACTER ch;
Imagine
Imagine
Imagine
Imagine
Afișează semnătura
Avatar utilizator
ZNF
Membru Club

Membru Club
Mesaje: 1953
Membru din: 16 Feb 2014, 10:09
Aprecieri: 15  
Mulţumiri: 110  
Discord: Copiază ID
Medalii

Subiect inactiv, arhivat.
Închis

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 53 vizitatori