Skocz do zawartości
PyNiO

[Rozwiązane] FindTarget problem

Rekomendowane odpowiedzi

Dzieńdobrywieczór.

 

W trakcie pracy przy pluginie trafiłem na pewien problem. Podczas gdy chcę wyświetlić statystyki gracza poprzez komendę i jak ktoś ma flagę ROOT to jest ok i wszystko się wyświetla, ale bez flagi wyskakuje błąd.

Dla tego kto wpisał: "Nie możesz wskazać tego gracza"

W konsoli: L 01/20/2020 - 22:35:39: [SM] Blaming: bf2modv311.smx
L 01/20/2020 - 22:35:39: [SM] Call stack trace:
L 01/20/2020 - 22:35:39: [SM]   [1] Line 3724, C:\Users\frugg\Desktop\Wszystko\Słoneczny-Dust\Kompilator\sourcemod\scripting\bf2modv311.sp::BFInfo

 

Funkcja wygląda tak:

public Action BFInfo(int client, int args)
{
	char _cArg[1024];
	GetCmdArg(1, _cArg, sizeof(_cArg));
	
	int _iTarget = FindTarget(client, _cArg);
	
	if (g_iPlayerLevel[_iTarget] < g_iMaxLvl.IntValue)
	{
		PrintToChat(client, " \x02 ---------------- \x10Konto %N\x02----------------", _iTarget);
		PrintToChat(client, " \x04Level -\x01 %i", g_iPlayerLevel[_iTarget]);
		PrintToChat(client, " \x04Exp -\x01 %i / %i", g_iPlayerExp[_iTarget], PotrzebnyExp(g_iPlayerLevel[_iTarget]));
		PrintToChat(client, " \x04Monety -\x01 %i ", g_iPlayerMonety[_iTarget]);
		PrintToChat(client, " \x04Statystyki -\x01 %i / %i / %i / %i", g_iPlayerKondycja[_iTarget], g_iPlayerObrazenia[_iTarget], g_iPlayerHP[_iTarget], g_iPlayerWytrzymalosc[_iTarget]);
		PrintToChat(client, " \x04Resety -\x01 %i / %i", (g_iPlayerReset[_iTarget] - 1), (g_iMaxReset.IntValue - 1));
		PrintToChat(client, " \x04Medale -\x01 Gold:%i | Srebro:%i | Brąz:%i", g_iMedalGold[_iTarget], g_iMedalSilver[_iTarget], g_iMedalBronze[_iTarget])
		PrintToChat(client, " \x02 ----------------------------------------");
	}
	else
	{
		PrintToChat(client, " \x02 ---------------- \x10Konto %N\x02----------------", _iTarget);
		PrintToChat(client, " \x04Level -\x01 %i", g_iPlayerLevel[_iTarget]);
		PrintToChat(client, " \x04Exp -\x01 MAX");
		PrintToChat(client, " \x04Monety -\x01 %i ", g_iPlayerMonety[_iTarget]);
		PrintToChat(client, " \x04Statystyki -\x01 %i / %i / %i / %i", g_iPlayerKondycja[_iTarget], g_iPlayerObrazenia[_iTarget], g_iPlayerHP[_iTarget], g_iPlayerWytrzymalosc[_iTarget]);
		PrintToChat(client, " \x04Resety -\x01 %i / %i", (g_iPlayerReset[_iTarget] - 1), (g_iMaxReset.IntValue - 1));
		PrintToChat(client, " \x04Medale -\x01 Gold:%i | Srebro:%i | Brąz:%i", g_iMedalGold[_iTarget], g_iMedalSilver[_iTarget], g_iMedalBronze[_iTarget])
		PrintToChat(client, " \x02 ----------------------------------------");
	}
}

A linijka 3724 to : if (g_iPlayerLevel[_iTarget] < g_iMaxLvl.IntValue)

 

Ktoś wie może w czym problem ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@PyNiO do 

int _iTarget = FindTarget(client, _cArg);

dodaj

int _iTarget = FindTarget(client, _cArg, true, false); 

i jak na moje powinno wszystko dobrze działać.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dziękuję bardzo 🙂

Temacik rozwiązany.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Temat został zamknięty. Powodem jest całkowite rozwiązanie problemu zawartego w temacie.

 

Jeśli się z tym nie zgadzasz, zaraportuj ten post z prośbą o ponowne otwarcie i kontynuację dyskusji.

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ę...