Witam
Jak zrobić aby zostało zablokowane podnoszenie broni?
Jaki event do tego?
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.
|
Najlepsza odpowiedź Gość_21977_* , 18.10.2013 23:37
// sprawdza, czy byt jest graczem, gdzie maxPlayers to liczba slotów na serwerze
#define IsPlayer(%1) (1<=%1<=maxPlayers)
new maxPlayers; // liczba slotów na serwerze, globalna
public plugin_init(){
// (...)
// rejestrujemy dostkięcie broni (lub paczki broni) z innym bytem
RegisterHam(Ham_Touch, "weaponbox", "HamTouchPre", 0);
RegisterHam(Ham_Touch, "armoury_entity", "HamTouchPre", 0);
}
// pobiera maksymalną liczbę graczy (liczbę slotów) na serwerze, potrzebne do IsPlayer
public plugin_cfg(){
maxPlayers=get_maxplayers();
}
public HamTouchPre(weapon, id){
// sprawdzamy, czy byt broni jest poprawny, a byt dotykający broń jest żywym graczem
if(!pev_valid(weapon) || !IsPlayer(id) || !is_user_alive(id)){
return HAM_IGNORED;
}
// ignorujemy blokowanie C4, żeby móc podnieść bombę i wykonać cele mapy
new name[20];
pev(weapon, pev_model, name, 19);
if(containi(name, "w_backpack")!=-1){
return HAM_IGNORED;
}
// blokujemy podnoszenie broni, można je dodatkowo uwarunkować, etc.
return HAM_SUPERCEDE;
}
Przejdź do postu
Napisano 18.10.2013 15:05
Witam
Jak zrobić aby zostało zablokowane podnoszenie broni?
Jaki event do tego?
Napisano 18.10.2013 23:37 Najlepsza odpowiedź
// sprawdza, czy byt jest graczem, gdzie maxPlayers to liczba slotów na serwerze
#define IsPlayer(%1) (1<=%1<=maxPlayers)
new maxPlayers; // liczba slotów na serwerze, globalna
public plugin_init(){
// (...)
// rejestrujemy dostkięcie broni (lub paczki broni) z innym bytem
RegisterHam(Ham_Touch, "weaponbox", "HamTouchPre", 0);
RegisterHam(Ham_Touch, "armoury_entity", "HamTouchPre", 0);
}
// pobiera maksymalną liczbę graczy (liczbę slotów) na serwerze, potrzebne do IsPlayer
public plugin_cfg(){
maxPlayers=get_maxplayers();
}
public HamTouchPre(weapon, id){
// sprawdzamy, czy byt broni jest poprawny, a byt dotykający broń jest żywym graczem
if(!pev_valid(weapon) || !IsPlayer(id) || !is_user_alive(id)){
return HAM_IGNORED;
}
// ignorujemy blokowanie C4, żeby móc podnieść bombę i wykonać cele mapy
new name[20];
pev(weapon, pev_model, name, 19);
if(containi(name, "w_backpack")!=-1){
return HAM_IGNORED;
}
// blokujemy podnoszenie broni, można je dodatkowo uwarunkować, etc.
return HAM_SUPERCEDE;
}
Napisano 19.10.2013 12:41
Super.
Ale do czego służy IsPlayer? Nie lepeij dać is_user_conected lub alive?
0 użytkowników, 1 gości, 0 anonimowych