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

Jak ustawić 1/x szans na zabicie z wybranej broni

cod nowy

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

#1 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 05.10.2011 19:46

*
Popularny

W tym poradniku pokaże, jak zrobić perk który bedzie miała 1/x szans na natychmiastowe zabicie z przypisanej broni
1. A więc dodajemy na sam początek :
#include <hamsandwich>

i pod wszystkimi include :
#define DMG_BULLET (1<<1)

jezeli dodajemy 1/x z granata, dodaj to
#define DMG_HEGRENADE (1<<24)

2. do plugin_init() dodajemy :

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

[/sma]

3. A tera rejestrujemy przykladowy public :
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_AWP && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}

3.1 W powyższym publicu przyjżyj się temu :
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET && random_num(1, 7) == 1)

Tam gdzie pisze CSW_AWP zmieniamy na bron z której chcemy miec 1/x szans na zabicie np. CSW_M4A1
Aby ustawić granata odlamkowego wpisz to :
if(damagebits & DMG_HEGRENADE && get_user_team(this) != get_user_team(idattacker) && random_num(1,7) == 1)

zamiast
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET)

3.2 Ok, tera przyjzyjmy sie temu :
random_num(1, 7) == 1

To tutaj ustawiamy, jaką mamy szanse na zabicie przeciwnika, w tym przypadku 1/7, zeby zmienic np. na 1/4 zamieniamy to wyzej na
random_num(1, 4) == 1


Czyli nasz public bedzie wygladac tak :
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_M4A1 && damagebits & DMG_BULLET && random_num(1, 4) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}

I to daje 1/4 szans na zabicie z m4a1

Zeby ustawic natychmiastowe (1/1) pozbywamy się tego
random_num(1, 7) == 1

I usuwamy jeszcze "&&" Czyli w sumie caly warunek bedzie wygladac tak

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET)

To już chyba zrozumieliscie ;>
3.3 Dla granatow, zmieniamy
DMG_BULLET
Na
DMG_HEGRENADE

czyli tak np.

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_HEGRENADE && damagebits & DMG_HEGRENADE)


3.4 Jeżeli chcemy np dla dwoch broni dac 1/x z broni, to pod tym
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET && random_num(1, 4) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

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

i nastepnie konfigurujemy :)
Jak zrobic 1/x szans na zabicie z kosy (PPM) ?
Spoiler


Natychmiastowe z HeadShota
Spoiler


Mam nadzieje ze zrozumieliście :P Oczywiście to można przerobić na klase :D

Użytkownik d0n tHe Pr0oo edytował ten post 15.04.2012 06:55

  • +
  • -
  • 13

#2 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 05.10.2011 21:14

Hmm.. a nie szybciej przemnozyc damage? No i od kiedy z noza zadajemy "pociskowy" typ damage. ( chyba ze ja o czyms niewiem ) :D

Użytkownik MarWit edytował ten post 06.10.2011 14:57

  • +
  • -
  • 0

marwit-0.png


#3 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 06.10.2011 13:04

if(!ma_klase[idattacker])

To poradnik dotyczy perku czy klasy w końcu?
  • +
  • -
  • 0

#4 d0naciak

    Godlike

  • Autor tematu
  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 06.10.2011 14:02

if(!ma_klase[idattacker])

To poradnik dotyczy perku czy klasy w końcu?

Poprawione

Hmm.. a nie szybciej przemnozyc damage? No i od kiedy z noza zadajemy "pociskowy" typ damage. ( chyba ze ja o czyms niewiem ) :D


Czego się spodziewałęś od 13-nasto latka ? xD
  • +
  • -
  • 0

#5 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 06.10.2011 14:59

Tak opytalniej ( co do noża, 1/1). Po drugie, jak atakowany bedzie miał ponad 100 wytrz. to nie bedzie działało 1/1.

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker) || !ma_perk[idattacker])
return HAM_IGNORED

if(get_user_weapon(idattacker) == CSW_KNIFE && pev(idattacker, pev_button) & IN_ATTACK2)
{
SetHamParamFloat(4, float(pev(this, pev_health)))
return HAM_HANDLED
}


return HAM_IGNORED;
}


Co do wieku, popatrz na mój :)

Użytkownik MarWit edytował ten post 06.10.2011 15:00

  • +
  • -
  • 1

marwit-0.png


#6 d0naciak

    Godlike

  • Autor tematu
  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 06.10.2011 16:08

Dobry :D
Też muszę bardziej się wziąć za to :P
  • +
  • -
  • 0

#7 kuba100100

    Zaawansowany

  • Zbanowany

Reputacja: 7
Nowy

  • Postów:98
  • GG:
  • Imię:Kuba
  • Lokalizacja:Szczecin
Offline

Napisano 22.08.2012 17:50

jak to przerobic na klase bo chyba nie ogarniam tego ale w sma klasy nie ma czegos takiego jak "public takedamage"

#8 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 22.08.2012 18:35

musisz dodać (punkt 2)
  • +
  • -
  • 0

#9 llucyfer5

    Pomocny

  • Zbanowany

Reputacja: -10
Poniżej przeciętnej

  • Postów:62
  • Imię:Lucyfer
  • Lokalizacja:Lubsko
Offline

Napisano 01.09.2012 23:00

spojler nie dziala daj w czyms innym bo nie wiem jak zrobic 1/x z noza

#10 wiewir

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:19
  • Lokalizacja:gorzyce wielkie
Offline

Napisano 07.04.2013 10:19

a jak zrobic natyhmiastowe zabicie z headshota o tam niby w tym temacie jest ale jak klikam show to sie nic nie dzieje
  • +
  • -
  • 0
b_350_20_692108_381007_FFFFFF_000000.png

#11 Visari

    Zaawansowany

  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:75
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Tomaszów Mazowiecki
Offline

Napisano 07.04.2013 10:44

Pod
#include <codmod>

dodajemy
#include <fakemeta>


Cały TakeDamage zamieniamy na
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_M4A1 && get_pdata_int(this, 75, 5) == HIT_HEAD && random_num(1, 2) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor);

return HAM_IGNORED;
}


Czym to sie rozni od poprzednych publiców ? Dodalem to
get_pdata_int(this, 75, 5) == HIT_HEAD


Ten warunek stawia, ze gracz musi byc trafiony z HeadShota (pomysl Goliatha) Nie musze chyba wiecej tlumaczyc
  • +
  • -
  • 0

MisieQ, jest moim autorytetem.

KILLZONE 3 MOD [#######***] 70%


JEŻELI POMOGŁEM TO DAJ CHOCIAŻ + (PROSZĘ?)


#12 ShermaN

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:2
  • Lokalizacja:Police
Offline

Napisano 09.10.2013 19:15

Chciałbym się dowiedzieć jak zrobić aby z noża 1/2 działało na LMP i PPM. ?


  • +
  • -
  • 0

#13 d0naciak

    Godlike

  • Autor tematu
  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 10.10.2013 18:42

To proste: Korzystasz z poradnika dla broni, a w nazwę broni wpisujesz CSW_KNIFE


  • +
  • -
  • 0

#14 KryterX

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:22
  • Lokalizacja:Santigo
Offline

Napisano 10.02.2014 15:34

Co do nożna to nie jest PPM tylko i LPM.

Jeśli da rade zrobić 1/x tylko z PPM proszę o pomoc.


  • +
  • -
  • 0

#15 RasiaQ

    Wracam.

  • Power User

Reputacja: 307
Wszechpomocny

  • Postów:639
  • Steam:steam
  • Imię:Piotr
  • Lokalizacja:Browar Namysłów
Offline

Napisano 10.02.2014 20:28

Co do nożna to nie jest PPM tylko i LPM.

Jeśli da rade zrobić 1/x tylko z PPM proszę o pomoc.

 

:facepalm:

 

Nie. To jest PPM


  • +
  • -
  • 0





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