←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

damage

Zablokowany

  • +
  • -
kyku - zdjęcie kyku 25.01.2009

Czesc.

Jaka funkcja odpowiada za to aby sprawdzalo ile sie stracilo (ile odebralo) hp gdy sie spadnie na ziemie.
na razie udalo mi sie zrobic ze pokazuje ale tylko jak ktos mnie walnie (ew. ja sam siebie granatem :D) ale nie liczy jak sie spadnie.

Robilem to w publicu On_Damage czy jakos tak ;)
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 25.01.2009

Zwykle
register_event("Damage", "Damage", "b", "2!=0")
Nie lapie tego?

Jak cos moge ci podac sposob na wychwytywanie kazdego straconego punktu hp, ale raczej to nie da infa o tym kto jest winny za to... przynajmniej nie w bezposredni sposob ;-)
Odpowiedz

  • +
  • -
kyku - zdjęcie kyku 30.01.2009

zrobilem cos takiego:

public on_damage(id) 
{ 
        new damage = read_data(2) 
        set_hudmessage(255, 0, 0, 0.55, 0.85, 0, 0.1, 4.0, 0.1, 0.1, -1) 
        ShowSyncHudMsg(id, g_MsgSync2, "Straciles: %i hp^n", damage)    
}
+ event
i wszystko dziala ;)

ale da sie cos takiego zrobic aby pokazywalo ile sie "stracilo" hp na z wlaczona niesmiertelnoscia (godmod'e) ?

gdy sie spadnie :)
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 30.01.2009

Niebardzo, pewnie to jest jedynie mozliwe w hamsandwich, ale jakos nie bawilem sie tym...
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 31.01.2009

Pokaże wszystkie obrażenia nie zadane przez gracza/granat.

#include <amxmodx>
#include <hamsandwich>

public plugin_init() {
	register_plugin("Damage HE","1.0","grankee");
	RegisterHam(Ham_TakeDamage, "player", "hook_TakeDamage");
}
public hook_TakeDamage(Victim,Attacker, Float:damage)
{
	if(!is_user_connected(Attacker))
		client_print(Victim,print_chat,"Obrazenia %f",damage);
	return HAM_IGNORED;
}
Odpowiedz

  • +
  • -
kyku - zdjęcie kyku 04.02.2009

nie pokazuje :P
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 04.02.2009

Tak to jest zostawic cos wam do zrobienia O:)

#include <amxmodx> 
#include <amxmisc> 

public plugin_init() { 
    register_event("Health", "Health", "be") 
} 

public Health(id) 
{ 
    static o_health[33]
    new health = read_data(1) 
    new dmg=o_health[id]-health
    o_health=health
    if(dmg>0 && get_user_attacker(id)==0) client_print(id,print_chat,"Cos mi zabralo %d hp",dmg)

}
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 04.02.2009

poprawione i sprawdzone

#include <amxmodx>
#include <hamsandwich>

public plugin_init() {
	register_plugin("Damage HE","1.0","grankee");
	RegisterHam(Ham_TakeDamage,"player", "hook_TakeDamage");
}
public hook_TakeDamage(Victim, Useless, Attacker, Float:damage, damagebits)
{
	if(!is_user_connected(Attacker))
		client_print(Victim,print_chat,"Obrazenia %f",damage);
	return HAM_IGNORED;
}



Miczu, nie wpier.... sie:D
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 05.02.2009

grankee ze potrzebujesz hamsandwich do czegos, co ja jestem wstanie zrobic z samym amxx'em :F

Jakbys zrobil pewniaka, ze tylko i wylacznie przy upadku wywoluje kod to rozumiem, ale twoj kod niczym sie praktycznie nie rozni od mojego :D
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 05.02.2009

Nie wiem dokładnie jak działa funkcja get_user_attacker, ale ze względu na to, że funkcja od danego eventu wykonuje się już po samym zdarzeniu może być tak, że zwróci ona wartość 0 mimo, że gracz został postrzelony?

A hamsandwich lubię, mimo, że jest b.trudny, ale daje możliwości jakich nie dają inne moduły.
Odpowiedz

  • +
  • -
kyku - zdjęcie kyku 05.02.2009

dziala :P dzięki
Odpowiedz
Zablokowany