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

[ROZWIĄZANE] Szansa na zabicie z HE - np. 75%

cod nowy

  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 fbang

    Wszechwidzący

  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:237
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 31.12.2011 21:22

Siema, głowię się nad tym, jak zrobić np. 75% z jakiejś broni.
/* Plugin generated by AMXX-Studio */

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

#define DMG_BULLET (1<<1)

new const perk_name[] = "Test";
new const perk_desc[] = "to testowy perk";

new bool:ma_perk[33];

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

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

public cod_perk_enabled(id)
{
cod_give_weapon(id, CSW_HEGRENADE);
ma_perk[id] = true;
}

public cod_perk_disabled(id)
{
cod_take_weapon(id, CSW_HEGRENADE);
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(random(1.3))
return HAM_IGNORED;

if(get_user_team(this) == get_user_team(idattacker))
return HAM_IGNORED;

if(get_user_weapon(idattacker) != CSW_HEGRENADE)
return HAM_IGNORED;

if(!(damagebits & DMG_BULLET))
return HAM_IGNORED;

cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}

Dałem szanse na 1/1.3, ale przy kompilacji wybija warning
[error]Warning: Tag mismatch on line 43[/error]
a w grze 75% nie działa.

da się to jakoś zrobić?

Użytkownik metfiu edytował ten post 31.12.2011 21:23

  • +
  • -
  • 0

#2 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 31.12.2011 21:38

Po pierwsze: błędnie sprawdzasz, czy obrażenia zostały zadane poprzez granat. Użyj tego sposobu: [CoD Nowy] [Tutorial]Bronie 1/x dla klas. - AMXX.pl: Support AMX Mod X
Po drugie: argumenty funkcji random i random_num mogą być jedynie liczbami całkowitymi. Aby uzyskać 75% szans używaj np.:
if(random_num(1, 4) <= 3)

  • +
  • -
  • 1

#3 fbang

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:237
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 31.12.2011 22:02

Dzięki szefie. A zdradzisz mi jeszcze jak do tego zastosować:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <codmod>
#include <fakemeta>

#define DMG_BULLET (1<<1)

new const nazwa[] = "Snajper";
new const opis[] = "Natychmiastowe zabicie z HeadShota";
new const bronie = 1<<CSW_AWP | 1<<CSW_DEAGLE | 1<<CSW_SCOUT;
new const zdrowie = 20;
new const kondycja = 55;
new const inteligencja = 10;
new const wytrzymalosc = 0;

new bool:ma_klase[33];

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

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

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

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

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

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_AWP && get_pdata_int(this, 75, 5) == HIT_HEAD)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor);

return HAM_IGNORED;
}

Też żeby było 75%.
  • +
  • -
  • 0

#4 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 31.12.2011 22:23

Zmień:

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && get_pdata_int(this, 75, 5) == HIT_HEAD)

Na:

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && get_pdata_int(this, 75, 5) == HIT_HEAD && random_num(1, 4) <= 3)

  • +
  • -
  • 1

#5 fbang

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:237
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 01.01.2012 00:16

Dzięki wielkie za pomoc.
+++

do zamknięcia.
  • +
  • -
  • 0

#6 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 01.01.2012 11:00

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 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