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
 

kazej. - zdjęcie

kazej.

Rejestracja: 30.05.2015
Aktualnie: Nieaktywny
Poza forum Ostatnio: 06.06.2015 21:03
-----

#701409 Doświadczenie za smierc

Napisane przez Mi@po w 23.05.2015 17:15

opis

Przedstawiam plugin, który za każdą śmierć dodaje określoną ilość (cvar) doświadczenia.

 

[wymagania]

amxmodx
fakemeta
ColorChat
codmod

[cvary]

cod_xpzasmierc "10" // Ile dać doświadczenia za śmierć
cod_xpzasmierc_dolvl "10" // Do którego poziomu ma dawać dodatkowe doświadczenie
cod_xpzasmierc_status "2" // Status pluginu 0 - wyłączony, 1 - włączony i działa cvar cod_xpzasmierc_dolvl, 2 - włączony i ignoruje cvar cod_xpzasmierc_dolvl

[instalacja]

http://amxx.pl/topic/13-instalacja-plugin%C3%B3w-amxx/

 

[konfiguracja]

Cvary dodać do pliku amxx.cfg

 

[download]

Załączony plik  cod_xpzasmierc.sma   1,15 KB  246 Ilość pobrań
  cod_xpzasmierc.amxx


  • +
  • -
  • 5


#587145 Jak dodać 1/x z wybranej broni w klasie

Napisane przez RasiaQ w 21.11.2013 18:29

Witam,
W związku z masą tematów "Nie mogę dodać 1/x z broni" albo "Jak dodać 1/x z broni" postanowiłem napisać poradnik, który pokaże, jak to zrobić.
 
1.W includach dodaj:

#include <hamsandwich>

 
*Jeśli już masz, to nie musisz dodawać
 
2.Pod wszystkimi include:

#define DMG_BULLET (1<<1)

3.Zmienna:

new ma_klase[33];

 
4. W plugin_init rejestrujemy:

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");

*Jeśli nie mamy, to dodajemy:

public cod_class_enabled(id)
{
    ma_klase[id] = true;

}

public cod_class_disabled(id)
{
        ma_klase[id] = false;

}

5. A następnie dodajemy public:

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(idattacker))
        return HAM_IGNORED;
        
    if(!ma_klase[idattacker])
        return HAM_IGNORED;      
        
    if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_BRON && damagebits & DMG_BULLET && random_num(1, x) == 1)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
            
    return HAM_IGNORED;
}

 
CSW_BRON - Zmieniasz na wybraną broń np. CSW_AK47
 
6. W zarejestrowanym publicu zwróć uwagę na to:

random_num(1, x) == 1)

x zmieniasz na szansę na zabicie. Jeśli ustawisz 3, to klasa będzie miała 1/3 szans na zabicie z danej broni.
 
7. Jeśli chcemy, aby klasa miała natychmiastowe zabicie, to usuwamy:

&& random_num(1, x) == 1

Czyli nasz warunek będzie wyglądał tak:

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_BRON && damagebits & DMG_BULLET)
    cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

 
8*. Jeśli w klasie zarejestrowany jest już powyższy public, a chcemy dodać 1/x z innej broni to pod:

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

dodajemy:

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

 
To chyba wszystko jasne.
 
Aby dodać 1/x z kosy (PPM):

Spoiler

 

Aby dodać 1/x z HE:

Spoiler

 

Mam nadzieję, że poradnik zrozumiały i w miarę się przydał. POWODZENIA !


  • +
  • -
  • 21


#315995 1HP dla klasy na stałe

Napisane przez d0naciak w 31.10.2011 19:08

W tym tutku pokażę jak zrobić aby klasa miała 1hp, lecz mimo wzrostu witalności ono nie rośnie

1. Tworzymy przykładową klasę :

#include <amxmodx>
#include <codmod>

new bool:ma_klase[33];


new const nazwa[] = "Cwaniak";
new const opis[] = "Tylko 1 hp";
new const bronie = 0;
new const zdrowie = 0;
new const kondycja = 15;
new const inteligencja = 15;
new const wytrzymalosc = 15;


public plugin_init()
{
register_plugin(nazwa, "1.0", "d0n tHe Pr0oo");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}


2. Na koniec dodajemy

public cod_class_enabled(id)
{
ma_klase[id] = true;
}

public cod_class_disabled(id)
{
ma_klase[id] = false;
}



3. Pod

#include <codmod>


Dodajemy

#include <fun>


4. Oraz do public cod_class_enabled dodajemy :

set_user_health(id, 1); //cyfra jeden ustala hp na start

Aby wyglądało tak :

public cod_class_enabled(id)
{
ma_klase[id] = true;
set_user_health(id, 1);
}


5. Do public plugin init dodajemy :
register_event("Health", "Health", "be")


U mnie to bedzie wyglądać tak :

public plugin_init()
{
register_plugin(nazwa, "1.0", "d0n tHe Pr0oo");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

register_event("Health", "Health", "be")
}


6. I na koniec pluginu należy jeszcze dodać :

public Health(id)
{
if(ma_klase[id] && is_user_alive(id) && read_data(1) > 1)
{
set_user_health(id, 1); //Tutaj cyfra 1, także ustala hp
}
}




Kompilujemy i gotowe !
  • +
  • -
  • 7