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
 

Zdjęcie
CoD Nowy

Tarcz SWAT i inne podobne perki problem

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1 WolfIDraV

    Życzliwy

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:27
Offline

Napisano 07.12.2016 12:21

Mam taki problem, że mam na serwerze 3 perki na które nie powinny działać miny, rakiety, dynamity, oraz trutko ale dalej działają.

 

W linijce w której jest dmg mam tak zrobione:

	for (new i=0; i < numfound; i++) {
		new pid = entlist[i];

		if(!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid)  || cod_get_user_perk(pid) == cod_get_perkid("Nano Kamizelka") || cod_get_user_perk(pid) == cod_get_perkid("Tarcza SWAT") || cod_get_user_perk(pid) == cod_get_perkid("Niwelator[VIP]") || cod_get_user_perk(pid) == cod_get_perkid("Sprawdzanie[Admin]"))
			continue;
			
		cod_inflict_damage(attacker, pid, 120.0, get_cvar_float("Rakieciarz_RakietDmgInt"), ent, (1<<24));
	}

Ale dmg dalej od otrzymuje z min, rakiet, dynamitow oraz trutek


Użytkownik WolfIDraV edytował ten post 07.12.2016 12:21

  • +
  • -
  • 0

#2 Kmf!p

    Wszechwidzący

  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 07.12.2016 12:40

if(!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid)  || cod_get_user_perk(pid) == cod_get_perkid("Nano Kamizelka") || cod_get_user_perk(pid) == cod_get_perkid("Tarcza SWAT") || cod_get_user_perk(pid) == cod_get_perkid("Niwelator[VIP]") || cod_get_user_perk(pid) == cod_get_perkid("Sprawdzanie[Admin]"))
			continue;

to musi byc wklejone w kazdej klasie / perku ktora ma rakiety/miny itp., zakladam ze rakiet/min nie mozna kupowac np. przez sklep bo wtedy na pewno nie zablokujesz tym. do tego nie widze zebys tu dal warunek wykluczenia obrazen zadawanych przez klase, chodzi mi ze jesli zalozmy masz perk blokujacy inne perki z rakietami/minami to jesli cie ktos trafi rakieta z klasy to i tak ci zada obrazenia.


  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#3 WolfIDraV

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:27
Offline

Napisano 07.12.2016 12:54

if(!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid)  || cod_get_user_perk(pid) == cod_get_perkid("Nano Kamizelka") || cod_get_user_perk(pid) == cod_get_perkid("Tarcza SWAT") || cod_get_user_perk(pid) == cod_get_perkid("Niwelator[VIP]") || cod_get_user_perk(pid) == cod_get_perkid("Sprawdzanie[Admin]"))
			continue;

to musi byc wklejone w kazdej klasie / perku ktora ma rakiety/miny itp., zakladam ze rakiet/min nie mozna kupowac np. przez sklep bo wtedy na pewno nie zablokujesz tym. do tego nie widze zebys tu dal warunek wykluczenia obrazen zadawanych przez klase, chodzi mi ze jesli zalozmy masz perk blokujacy inne perki z rakietami/minami to jesli cie ktos trafi rakieta z klasy to i tak ci zada obrazenia.

 

Mam tylko w klasach to wpisane bo perku żadnego nie mam co daje miny,rakiety itd.

Czyli muszę zrobić osobno to cod_get_user_perk(pid) == cod_get_perkid("Nazwa Perku")

i pod tym dac return HAM_SUPERCEDE; ?


  • +
  • -
  • 0

#4 Kmf!p

    Wszechwidzący

  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 07.12.2016 13:41

skoro niby masz to zablokowane w kazdej klasie to pozostaje sprawdzic czy nazwy perkow tu: 

cod_get_perkid("Nazwa Perku")

sa dokladnie takie same jak nazwy perkow jesli wszystko sie zgadza, mysle ze mozna sprubowac rozdzielic te perki na osobne warunki bo czasami cos inaczej sprawdza niz myslimy zrob tak:

if(!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
			continue;

if(cod_get_user_perk(pid) == cod_get_perkid("Nano Kamizelka"))
			continue;

itd, choc nie sadze zeby to cos zmienilo ;D

ja mam taki warunek we wsparciu ogniowym:

if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || cod_get_user_perk(pid) == cod_get_perkid("Nano Kamizelka"))
			continue;

i o dziwo podczas testowania na bocie rakiety zadaja obrazenia, ale jesli ja mam ten perk nano kamizelke to mi juz nie zabiera hp z rakiet.


Użytkownik Kmf!p edytował ten post 07.12.2016 13:55

  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#5 WolfIDraV

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:27
Offline

Napisano 07.12.2016 14:46

skoro niby masz to zablokowane w kazdej klasie to pozostaje sprawdzic czy nazwy perkow tu: 

cod_get_perkid("Nazwa Perku")

sa dokladnie takie same jak nazwy perkow jesli wszystko sie zgadza, mysle ze mozna sprubowac rozdzielic te perki na osobne warunki bo czasami cos inaczej sprawdza niz myslimy zrob tak:

if(!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
			continue;

if(cod_get_user_perk(pid) == cod_get_perkid("Nano Kamizelka"))
			continue;

itd, choc nie sadze zeby to cos zmienilo ;D

ja mam taki warunek we wsparciu ogniowym:

if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || cod_get_user_perk(pid) == cod_get_perkid("Nano Kamizelka"))
			continue;

i o dziwo podczas testowania na bocie rakiety zadaja obrazenia, ale jesli ja mam ten perk nano kamizelke to mi juz nie zabiera hp z rakiet.

Dalej pozostaje bez zmian obrażenia sa otrzymywane.

Czyli nici z tego perku


  • +
  • -
  • 0

#6 AwIlL^^

    Magiczny Gość

  • Użytkownik

Reputacja: 135
Zaawansowany

  • Postów:263
  • Steam:steam
  • Imię:Eryk
  • Lokalizacja:Gdańsk
Offline

Napisano 09.12.2016 17:49

możesz też spróbować w taki sposób
pod

new ma_klase[33];

napisz

new id_perku[4];

w plugin_init

id_perku[0] = cod_get_perkid("Nano Kamizelka");
id_perku[1] = cod_get_perkid("Tarcza SWAT");
id_perku[2] = cod_get_perkid("Niwelator[VIP]");
id_perku[3] = cod_get_perkid("Sprawdzanie[Admin]");

a warunek zamien na ten

if(!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid)  || cod_get_user_perk(pid) == id_perku[0] || cod_get_user_perk(pid) == id_perku[1] || cod_get_user_perk(pid) == id_perku[2] || cod_get_user_perk(pid) == id_perku[3])

  • +
  • -
  • 0

Potrzebujesz porad do amxx?? Pisz na [PW]






Również z jednym lub większą ilością słów kluczowych: cod nowy

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych