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

Zablokowanie perku na awansie klas


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

#1 sekio

    Wszechwidzący

  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 06.07.2012 00:46

Witam szanownych forumowiczów otóż nie wiem jak zrobić blokadę poszczególnych perków na awansie klasy po chwili namyślenia doszedłem do wniosku że powinno być tak:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <codmod>

#define DMG_BULLET (1<<1)

new const perk_name[] = "Mistrz scouta";
new const perk_desc[] = "Masz 1/LW szans na natychmiastowe zabicie ze scout'a";

new bool:ma_perk[33], wartosc_perku[33];

public plugin_init()
{
		register_plugin(perk_name, "1.0", "QTM_Peyote");

		cod_register_perk(perk_name, perk_desc, 1, 3);
		RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public cod_perk_enabled(id, wartosc)
{
  if(cod_get_user_class(id) == cod_get_classid("Niewidzialny") || cod_get_user_class(id) == cod_get_classid("Ninja") || cod_get_user_advance(id) == cod_get_classid("Wyszkolony Niewidzialny") || cod_get_user_advance(id) == cod_get_classid("Elitarny Ninja") )
				return COD_STOP;
		cod_give_weapon(id, CSW_SCOUT);
		ma_perk[id] = true;
		wartosc_perku[id] = wartosc;
return COD_CONTINUE;
}

public cod_perk_disabled(id)
{
		cod_take_weapon(id, CSW_SCOUT);
		ma_perk[id] = false;
}

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
		if(!is_user_connected(idattacker))
				return HAM_IGNORED;

		if(!ma_perk[idattacker])
				return HAM_IGNORED;

		if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_SCOUT && random_num(1, wartosc_perku[idattacker]) == 1 && damagebits & DMG_BULLET)
				cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

		return HAM_IGNORED;
}

Ale nic z tego zero reakcji :( ma ktoś pomysł ?? , załącznik może się przydać.

Załączone pliki


Użytkownik sekio edytował ten post 06.07.2012 00:48

http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#2 ric0

    Wszechwiedzący

  • Power User

Reputacja: 176
Profesjonalista

  • Postów:558
  • Imię:Łukasz
  • Lokalizacja:Ostrołęka
Offline

Napisano 06.07.2012 07:11

amxx.pl/topic/64836-blokowanie-perkow/ Tu masz poradnik.
  • +
  • -
  • 0

To co piszę się nie liczy...

 


#3 sekio

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 06.07.2012 12:49

Rico przecież ty nawet nie patrzysz na to co wstawiają ludzie tylko bezmyślnie dajesz linki spójrz na

public cod_perk_enabled(id, wartosc)
{
if(cod_get_user_class(id) == cod_get_classid("Niewidzialny") || cod_get_user_class(id) == cod_get_classid("Ninja") || cod_get_user_advance(id) == cod_get_classid("Wyszkolony Niewidzialny") || cod_get_user_advance(id) == cod_get_classid("Elitarny Ninja") )
return COD_STOP;
cod_give_weapon(id, CSW_SCOUT);
ma_perk[id] = true;
wartosc_perku[id] = wartosc;
return COD_CONTINUE;

Proszę o wypowiedzi ogarniętych ludzi.

Użytkownik sekio edytował ten post 06.07.2012 12:52

http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#4 Pan PrO

    Wszechpomocny

  • Użytkownik

Reputacja: 99
Zaawansowany

  • Postów:388
  • Lokalizacja:PC
Offline

Napisano 06.07.2012 12:56

Dlaczego niby nie pomógł.

Po co to ??
[cod_get_user_advance(id) == cod_get_classid("Wyszkolony Niewidzialny")

i te inne cod_get_user_advance

Wystarczy że dodasz warunek
cod_get_user_class(id) == cod_get_classid("Wyszkolony Niewidzialny")
i tak dalej...

i powinno śmigać bo przecież gdy awansujesz na jakąś klase to ona ma inną nazwę a rejestrowana jest tak jak zwykła klasa

Użytkownik Pan PrO edytował ten post 06.07.2012 13:02

  • +
  • -
  • 0

#5 sekio

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 06.07.2012 13:04

Własnie rejestrujesz ja jako avans
cod_register_advance(z_klasy, od_levela, const nazwa[], const opis[], bronie, punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci);
a nie
native cod_register_class(const nazwa[], const opis[], bronie, punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci);
zresztą próbowałem również z cod_get_user_class i też zero efektu :( , jak nie znajdę rozwiązania bd musiał użyć tego http://amxx.pl/topic...kreslone-perki/ choć wolał bym nie wpisywać w klasie wszyswtkich perków poza trzema.

Użytkownik sekio edytował ten post 06.07.2012 13:08

http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#6 Pan PrO

    Wszechpomocny

  • Użytkownik

Reputacja: 99
Zaawansowany

  • Postów:388
  • Lokalizacja:PC
Offline

Napisano 06.07.2012 13:08

Własnie rejestrujesz ja jako avans

cod_register_advance(z_klasy, od_levela, const nazwa[], const opis[], bronie, punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci);


Tym natywem rejestrujesz klase do awansu a cod_get_user_class(id) sprawdza jaką klase ma gracz

Użytkownik Pan PrO edytował ten post 06.07.2012 13:09

  • +
  • -
  • 0




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

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