Skocz do zawartości
szogun

[Rozwiązane] Rundy nożowe

Rekomendowane odpowiedzi

Posiadam problemik z pluginem na rundy nożowe od @Vasto_Lorde gdy dochodzi do końca rundy w momencie pojawienia się menu serwer łapie laga.

Bawiąc się w debugowanie, utknąłem w miejscu że to co jest po PrintToChatAll("5"); już się nie wykonuje

 


stock void MakeVote()
{
	PrintToChatAll("1");
	char cTempTextHUD[256];
	Format(cTempTextHUD, sizeof(cTempTextHUD), "%t", "Voting_Start");
	SendTextToAll(cTempTextHUD);
	
	iClientsNumWinners = 0;
	for (int i = 1;i <= MAX_PLAYERS;i++) //counting winning guys to show them a menu
	
		if (IsClientValid(i) && !IsClientSourceTV(i))
		
			if (GetClientTeam(i) == g_iWonTeam)
			{
				iClientsWinnersID[iClientsNumWinners] = i;
				++iClientsNumWinners;
			}
	
	PrintToChatAll("2");
	Handle hMenu = CreateMenu(ShowVotingMenuHandle);
	char cTempBuffer[128];
	Format(cTempBuffer, sizeof(cTempBuffer), "%t", "Menu_Title");
	SetMenuTitle(hMenu, cTempBuffer);
	
	AddMenuItem(hMenu, "CT", "CT");
	AddMenuItem(hMenu, "TT", "TT");
	
	SetMenuExitButton(hMenu, false);
	SetMenuExitBackButton(hMenu, false);
	PrintToChatAll("3");
	for(int i = 0; i < iClientsNumWinners; i++)
		DisplayMenu(hMenu, iClientsWinnersID[i], RoundFloat(g_fCvarVoteTime));
		PrintToChatAll("4");
	CreateTimer(g_fCvarVoteTime, EndTheVote);
	PrintToChatAll("5");
}

public int ShowVotingMenuHandle(Handle hMenu, MenuAction action, int client, int choose)
{
	PrintToChatAll("6");
	if (action == MenuAction_End)
	{
		if (IsValidHandle(hMenu))
			CloseHandle(hMenu);
	}
	else if (action == MenuAction_Select)
	{
		choose += 2;
		if (choose == TEAM_CT)
			iClientsWinnersDecision[client] = TEAM_CT;
		else if (choose == TEAM_TT)
			iClientsWinnersDecision[client] = TEAM_TT;
	}
} 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość

Toć wstaw cały kod, z fusów mamy wróżyć?:P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeżeli ktoś będzie miał problem z lagiem serwera przed głosowaniem wystarczy w kodzie zamienić

 

public int ShowVotingMenuHandle(Handle hMenu, MenuAction action, int client, int choose)
{
	if (action == MenuAction_End)
	{
		if (IsValidHandle(hMenu))
			CloseHandle(hMenu);
	}
	else if (action == MenuAction_Select)
	{
		choose += 2;
		if (choose == TEAM_CT)
			iClientsWinnersDecision[client] = TEAM_CT;
		else if (choose == TEAM_TT)
			iClientsWinnersDecision[client] = TEAM_TT;
	}
} 

 

Podmienić na

 

public int ShowVotingMenuHandle(Handle hMenu, MenuAction action, int client, int choose)
{
	if(action == MenuAction_End)delete hMenu;
	else if (action == MenuAction_Select)
	{
		choose += 2;
		if (choose == TEAM_CT)
			iClientsWinnersDecision[client] = TEAM_CT;
		else if (choose == TEAM_TT)
			iClientsWinnersDecision[client] = TEAM_TT;
	}
} 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Problem został rozwiązany

Jeżeli się z tym nie zgadzasz, raportuj ten post

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...