←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

fwTakeDamage

Locked

GoldeN's Photo GoldeN 03.11.2010

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



public fwTakeDamage(id, inflictor, attacker, Float:damage)
{
new bron = get_user_weapon(attacker, _, _) // linia 11352

if((bron == CSW_GLOCK18 || bron == CSW_USP) && podwojne[id] == 1 && random_num(1,3) == 1)
{
SetHamParamFloat(4, damage * 2.0)
return HAM_HANDLED
}
return HAM_IGNORED
}



Co tutaj mam źle? Dmg nie działa. Oczywiście zmienna podwojne[id] dodana pod klasą z wartością 1

Error Log:

L 11/03/2010 - 22:22:01: Invalid player id 0
L 11/03/2010 - 22:22:01: [AMXX] Displaying debug trace (plugin "dbmod_5.9l.amxx")
L 11/03/2010 - 22:22:01: [AMXX] Run time error 10: native error (native "get_user_weapon")
L 11/03/2010 - 22:22:01: [AMXX]    [0] dbmod_5.9l.sma::fwTakeDamage (line 11352)

Edited by GoldeNx3, 03.11.2010 22:22.
Quote

  • +
  • -
R3X's Photo R3X 03.11.2010

attacker to nie zawsze gracz, czasem to świat rzuca się na Ciebie (z innej perspektywy wygląda to na upadek) albo przytrzaskujesz sobie duży palec drzwiami i attacker to id drzwi

if(!is_user_connected(attacker)) ...
Quote

GoldeN's Photo GoldeN 03.11.2010

Przeanalizowałem Twój tutorial i poprawiłem błędy:

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


public fwTakeDamage(id, inflictor, attacker, Float:damage)
{
if(is_user_connected(attacker)){
new bron = get_user_weapon(attacker, _, _) // linia 11352

if((bron == CSW_GLOCK18 || bron == CSW_USP) && podwojne[attacker] == 1 && random_num(1,3) == 1)
{
SetHamParamFloat(4, damage * 2.0)
return HAM_HANDLED
}
}
return HAM_IGNORED;
}


Teraz będzie ok? Jeszcze attacker brakowało w podwojne[]
Edited by GoldeNx3, 03.11.2010 23:09.
Quote

  • +
  • -
R3X's Photo R3X 03.11.2010

wygląda dobrze
Quote
Locked