←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
[ROZWIĄZANE] Kod 1/3 na odbicie pocisku w...

Locked

  • +
  • -
hilp's Photo hilp 25.02.2015

Witam. Mam do Was takie pytanie. Czy da radę osiągnąć jakoś inaczej niż tu poniżej 1/3 na odbicie pocisku w głowę?

 

public TraceLine(Float:start[3], Float:end[3], conditions, id, trace)
{ 
if(get_tr2(trace, TR_iHitgroup) != HIT_HEAD && !random(2))
return FMRES_IGNORED;




new iHit = get_tr2(trace, TR_pHit);




if(!is_user_connected(iHit))
return FMRES_IGNORED;




if(!ma_klase[iHit])
return FMRES_IGNORED;




set_tr2(trace, TR_iHitgroup, 8);




return FMRES_IGNORED;
}

Według mnie nie działa to prawidłowo używając random z biblioteką fakemeta. NA serwerze odbija mi ciągle pociski w głowę. Mógłby mi ktoś pomóc i napisać co tu można zastosować? Zamiast tego, bo wg mnie źle działa :)

 

Pozdrawiam :)

 

Quote

  • +
  • -
Linux''s Photo Linux' 27.02.2015

W TakeDamage

if(get_pdata_int(this, 75, 5) == HIT_HEAD && random_num(1, 3) == 1)
	return HAM_SUPERCEDE;

Quote

  • +
  • -
sharkowy's Photo sharkowy 27.02.2015

Nie bawię się już w amxx, ale może tak:

 

Pod bibliotekami:

#define DMG_BULLET (1<<1)

Do public plugin_init()

    RegisterHam(Ham_TakeDamage, "player","fwTakeDamage",0);

Gdzieś na dole:

public fwTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits){
    if(is_user_alive(this) && ma_klase[this])
    {
        if(get_pdata_int(this, 75, 5) == HIT_HEAD && (damagebits & DMG_BULLET) && random(100) < 33)
        {
            return HAM_SUPERCEDE;
        }
    }
    return HAM_SUPERCEDE;
}

Edited by sharkowy, 27.02.2015 13:19.
Quote

  • +
  • -
Linux''s Photo Linux' 27.02.2015

Nie bawię się już w amxx, ale może tak:

Pod bibliotekami:

#define DMG_BULLET (1<<1)
Do public plugin_init()
RegisterHam(Ham_TakeDamage, "player","fwTakeDamage",0);
Gdzieś na dole:
public fwTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits){    if(is_user_alive(this) && ma_klase[this])    {        if(get_pdata_int(this, 75, 5) == HIT_HEAD && (damagebits & DMG_BULLET) && random(100) < 33)        {            return HAM_SUPERCEDE;        }    }    return HAM_SUPERCEDE;}
Damagebits jest zbedne, nie bedzie odbijac obrazen zadanych w glowe np od granatow itp. Reszta to nic innego jak to o czym pisalem. Poza tym, po wyjsciu z klamry nie blokujemy obrazen bo to nie ma sensu.
Quote

  • +
  • -
hilp's Photo hilp 27.02.2015

LinuX Dodałbyś mi to do klasy którą zapodam poniżej? Bo troszkę nie ogarnąłem.

 
Attached File  lekki_zolnierz.sma   1.12KB   22 downloads
Quote

  • +
  • -
Linux''s Photo Linux' 28.02.2015

Sprawdz.

 

 

Attached Files

Quote

  • +
  • -
hilp's Photo hilp 28.02.2015

Dziekuje, dziala bardzo dobrze ;)

Quote

  • +
  • -
radim's Photo radim 28.02.2015

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Quote
Locked