Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

METALOWIEC - zdjęcie

METALOWIEC

Rejestracja: 17.12.2008
Aktualnie: Nieaktywny
Poza forum Ostatnio: 07.02.2021 17:27
-----

Moje posty

W temacie: Powiązanie callback Menu i pliku cfg.

19.10.2018 22:46

@update, niestety logi dalej wywalają ten sam błąd, ale po zmianie silnika na rehlds blokowanie wygląda na poprawnie, dam pełne info jak zrobie całe menu

W temacie: Powiązanie callback Menu i pliku cfg.

19.10.2018 19:38

Przecież w PRIMARY nie ma pistoletów (slot 2) tylko wszystko to co jest w slocie 1 w takim razie czemu wpisałeś tam fiveseven, dgl, p228? AK blokuję dlatego (chyba) że nie podałeś go w case.

 default: return ITEM_DISABLED;

 blokuje wszystkie opcję w menu, które w nim są a nie są podane wyżej w case czyli między innymi AK. Może podaj .sma + .inc csdm

to tylko kod roboczy bez uzupełnienia wszystkich opcji, w przypadku użycia case i braku broni w menu nie powinno mieć to żadnego efektu na skrypt (po prostu nie da sie wywołać danego case i powinno korzystać właśnie z default: - ale tak się nie dzieje, bardziej martwi mnie kwesta że np. glock w secondary pomimo nadania limitu nie został zablokowany. 

Główny + inc w złączniku.

@edit

Pozostałych primary też nie ma w case a jednak nie są blokowane w żaden sposób.

W temacie: Powiązanie callback Menu i pliku cfg.

19.10.2018 13:18

	if (g_DisabledSec[dis])
	{
		return ITEM_DISABLED
	}
	
	switch(cs_get_weapon_id(weaptype))
	{
	
		case CSW_GLOCK18:
		{			
			if (!IsRestricted[CSW_GLOCK18] && get_user_rank(id) >= 14)// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
			{
				return ITEM_ENABLED
			}
			else if ((UsedWpsT[CSW_GLOCK18] < RestrictWps[CSW_GLOCK18]) && (team == _TEAM_T) && (get_user_rank(id) >= 0) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
				|| (UsedWpsCT[CSW_GLOCK18] < RestrictWps[CSW_GLOCK18]) && (team == _TEAM_CT) && (get_user_rank(id) >= 0))
			{
				return ITEM_ENABLED
			}
			else
			{
				return ITEM_DISABLED
			}
		}
		
		case CSW_USP:
		{
			if (!IsRestricted[CSW_USP] && get_user_rank(id) >= 2 )// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
			{
				return ITEM_ENABLED
			}
			else if ((UsedWpsT[CSW_USP] < RestrictWps[CSW_USP]) && (team == _TEAM_T) && (get_user_rank(id) >= 2 ) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
				|| (UsedWpsCT[CSW_USP] < RestrictWps[CSW_USP]) && (team == _TEAM_CT) && (get_user_rank(id) >= 2 ))
			{
				return ITEM_ENABLED
			}
			else
			{
				return ITEM_DISABLED
			}
		}
		
		case CSW_FIVESEVEN:
		{
			if (!IsRestricted[CSW_FIVESEVEN] && get_user_rank(id) >= RANKS_Normal )// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
			{
				return ITEM_ENABLED
			}
			else if ((UsedWpsT[CSW_FIVESEVEN] < RestrictWps[CSW_FIVESEVEN]) && (team == _TEAM_T) && (get_user_rank(id) >= RANKS_Normal) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
				|| (UsedWpsCT[CSW_FIVESEVEN] < RestrictWps[CSW_FIVESEVEN]) && (team == _TEAM_CT) && (get_user_rank(id) >= RANKS_Normal))
			{
				return ITEM_ENABLED
			}
			else
			{
				return ITEM_DISABLED
			}
		}
		
		case CSW_P228:
		{
			if (!IsRestricted[CSW_P228] && get_user_rank(id) > RANKS_SuperExpert)// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
			{
				return ITEM_ENABLED
			}
			else if ((UsedWpsT[CSW_P228] < RestrictWps[CSW_P228]) && (team == _TEAM_T) && (get_user_rank(id) >= RANKS_SuperExpert) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
				|| (UsedWpsCT[CSW_P228] < RestrictWps[CSW_P228]) && (team == _TEAM_CT) && (get_user_rank(id) >= RANKS_SuperExpert))
			{
				return ITEM_ENABLED
			}
			else
			{
				return ITEM_DISABLED
			}
		}
		
		case CSW_DEAGLE:
		{
			if (!IsRestricted[CSW_DEAGLE] && get_user_rank(id) >= 11)// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
			{
				return ITEM_ENABLED
			}
			else if ((UsedWpsT[CSW_DEAGLE] < RestrictWps[CSW_DEAGLE]) && (team == _TEAM_T) && (get_user_rank(id) >= 11) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
				|| (UsedWpsCT[CSW_DEAGLE] < RestrictWps[CSW_DEAGLE]) && (team == _TEAM_CT) && (get_user_rank(id) >= 11))
			{
				return ITEM_ENABLED
			}
			else
			{
				return ITEM_DISABLED
			}
		}
		
		default: return ITEM_DISABLED;
	}
	
	
	
	/*else if (!IsRestricted[weaptype] && get_user_rank(id) > X)// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
	{
		return ITEM_ENABLED
	}
	else if ((UsedWpsT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_T) && (get_user_rank(id) > X) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
		|| (UsedWpsCT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_CT)get_user_rank(id) > X)
	{
		return ITEM_ENABLED
	}
	else
	{
		return ITEM_DISABLED
	}*/	
	return PLUGIN_HANDLED
}

//Primary Weapon Callback
public c_Primary(id, menu, item)
{

	if (item < 0)
		return PLUGIN_CONTINUE
	
	// Get item info
	new cmd[6], iName[64]
	new access, callback
	
	menu_item_getinfo(menu, item, access, cmd,5, iName, 63, callback)
	
	new dis = str_to_num(cmd)
	new team = get_user_team(id)
	new weaptype = get_weaponid(g_Primary[dis])

	//Check to see if item is disabled
	if (g_DisabledPrim[dis])
	{
		return ITEM_DISABLED
	}
	
	switch(cs_get_weapon_id(weaptype))
	{
	
		case CSW_TMP:
		{			
			if (!IsRestricted[CSW_TMP] && get_user_rank(id) >= 11)// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
			{
				return ITEM_ENABLED
			}
			else if ((UsedWpsT[CSW_TMP] < RestrictWps[CSW_TMP]) && (team == _TEAM_T) && (get_user_rank(id) >= 0) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
				|| (UsedWpsCT[CSW_TMP] < RestrictWps[CSW_TMP]) && (team == _TEAM_CT) && (get_user_rank(id) >= 0))
			{
				return ITEM_ENABLED
			}
			else
			{
				return ITEM_DISABLED
			}
		}
		
		case CSW_M3:
		{
			if (!IsRestricted[CSW_M3] && get_user_rank(id) >= 2 )// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
			{
				return ITEM_ENABLED
			}
			else if ((UsedWpsT[CSW_M3] < RestrictWps[CSW_M3]) && (team == _TEAM_T) && (get_user_rank(id) >= 2 ) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
				|| (UsedWpsCT[CSW_M3] < RestrictWps[CSW_M3]) && (team == _TEAM_CT) && (get_user_rank(id) >= 2 ))
			{
				return ITEM_ENABLED
			}
			else
			{
				return ITEM_DISABLED
			}
		}
		
		case CSW_FIVESEVEN:
		{
			if (!IsRestricted[CSW_FIVESEVEN] && get_user_rank(id) >= 5 )// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
			{
				return ITEM_ENABLED
			}
			else if ((UsedWpsT[CSW_FIVESEVEN] < RestrictWps[CSW_FIVESEVEN]) && (team == _TEAM_T) && (get_user_rank(id) >= 5) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
				|| (UsedWpsCT[CSW_FIVESEVEN] < RestrictWps[CSW_FIVESEVEN]) && (team == _TEAM_CT) && (get_user_rank(id) >= 5))
			{
				return ITEM_ENABLED
			}
			else
			{
				return ITEM_DISABLED
			}
		}
		
		case CSW_P228:
		{
			if (!IsRestricted[CSW_P228] && get_user_rank(id) >= 8)// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
			{
				return ITEM_ENABLED
			}
			else if ((UsedWpsT[CSW_P228] < RestrictWps[CSW_P228]) && (team == _TEAM_T) && (get_user_rank(id) >= 8) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
				|| (UsedWpsCT[CSW_P228] < RestrictWps[CSW_P228]) && (team == _TEAM_CT) && (get_user_rank(id) >= 8))
			{
				return ITEM_ENABLED
			}
			else
			{
				return ITEM_DISABLED
			}
		}
		
		case CSW_DEAGLE:
		{
			if (!IsRestricted[CSW_DEAGLE] && get_user_rank(id) >= 11)// jezeli index rangi gracza jest wiekszy od np. 3 tzn ma range wieksza niz RANKS_Easy 
			{
				return ITEM_ENABLED
			}
			else if ((UsedWpsT[CSW_DEAGLE] < RestrictWps[CSW_DEAGLE]) && (team == _TEAM_T) && (get_user_rank(id) >= 11) // tu chyba sprawdza czy na mapie danej broni nie ma zbyt duzo osob (np. max 3 osoby z AK na mapce. Jezeli ma mniej niz 3 to odblokuj opcje)
				|| (UsedWpsCT[CSW_DEAGLE] < RestrictWps[CSW_DEAGLE]) && (team == _TEAM_CT) && (get_user_rank(id) >= 11))
			{
				return ITEM_ENABLED
			}
			else
			{
				return ITEM_DISABLED
			}
		}
		
		default: return ITEM_DISABLED;
	}
	
	/*else if (!IsRestricted[weaptype])
	{
		return ITEM_ENABLED
	}
	else if ((UsedWpsT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_T) 
					|| (UsedWpsCT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_CT))
	{
		return ITEM_ENABLED
	}
	else
	{
		return ITEM_DISABLED
	}*/	
	return PLUGIN_HANDLED
}

Przy takim kodzie roboczym zablokowany jest dgl, p90, sg522 i ak. Nie mam pojęcia co tu się wyrabia

W temacie: Powiązanie callback Menu i pliku cfg.

19.10.2018 12:41

L 10/19/2018 - 13:39:23: [AMXX] Displaying debug trace (plugin "csdm_equip.amxx")
L 10/19/2018 - 13:39:23: [AMXX] Run time error 10: native error (native "cs_get_weapon_id")
L 10/19/2018 - 13:39:23: [AMXX]    [0] csdm_equip.sma::c_Primary (line 804)
L 10/19/2018 - 13:39:23: [CSTRIKE] Non-player entity 20 out of range
L 10/19/2018 - 13:39:23: [AMXX] Displaying debug trace (plugin "csdm_equip.amxx")
L 10/19/2018 - 13:39:23: [AMXX] Run time error 10: native error (native "cs_get_weapon_id")
L 10/19/2018 - 13:39:23: [AMXX]    [0] csdm_equip.sma::c_Primary (line 804)
L 10/19/2018 - 13:39:23: [CSTRIKE] Non-player entity 3 out of range
L 10/19/2018 - 13:39:23: [AMXX] Displaying debug trace (plugin "csdm_equip.amxx")
L 10/19/2018 - 13:39:23: [AMXX] Run time error 10: native error (native "cs_get_weapon_id")
L 10/19/2018 - 13:39:23: [AMXX]    [0] csdm_equip.sma::c_Primary (line 804)
L 10/19/2018 - 13:39:23: [CSTRIKE] Non-player entity 14 out of range
L 10/19/2018 - 13:39:23: [AMXX] Displaying debug trace (plugin "csdm_equip.amxx")
L 10/19/2018 - 13:39:23: [AMXX] Run time error 10: native error (native "cs_get_weapon_id")
L 10/19/2018 - 13:39:23: [AMXX]    [0] csdm_equip.sma::c_Primary (line 804)

Z blokowaniem jest pewien problem, mianowicie obecnie nie blokuje, ale w pierwszej wersji (niestety nie zapisałem kodu, pomimo ustawień blokowało tylko ostatni item na danej stronie menu).

@edit blokowanie było wtedy kiedy nie dodałem case do danego itemu

 

W temacie: Powiązanie callback Menu i pliku cfg.

18.10.2018 21:21

Pozostał 1 bug:

L 10/18/2018 - 22:19:01: [CSTRIKE] Non-player entity 17 out of range
L 10/18/2018 - 22:19:01: [AMXX] Run time error 10 (plugin "csdm_equip.amxx") (native "cs_get_weapon_id") - debug not enabled!
L 10/18/2018 - 22:19:01: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 10/18/2018 - 22:19:01: [CSTRIKE] Non-player entity 16 out of range
L 10/18/2018 - 22:19:01: [AMXX] Run time error 10 (plugin "csdm_equip.amxx") (native "cs_get_weapon_id") - debug not enabled!
L 10/18/2018 - 22:19:01: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 10/18/2018 - 22:19:01: [CSTRIKE] Non-player entity 11 out of range
L 10/18/2018 - 22:19:01: [AMXX] Run time error 10 (plugin "csdm_equip.amxx") (native "cs_get_weapon_id") - debug not enabled!
L 10/18/2018 - 22:19:01: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 10/18/2018 - 22:19:01: [CSTRIKE] Non-player entity 1 out of range
L 10/18/2018 - 22:19:01: [AMXX] Run time error 10 (plugin "csdm_equip.amxx") (native "cs_get_weapon_id") - debug not enabled!
L 10/18/2018 - 22:19:01: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).