←  Problemy z pluginami

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Headshot Sound + Hud

Locked

  • +
  • -
psilocybe's Photo psilocybe 17.02.2012

Witam, mam mały problem z pluginem, otóż przerobiłem plugin headshot sound który znalazłem gdzieś na Allied i dodałem napisy Hud do niego, tak aby ofiara miała czerwony napis a opraca zielony napis Headshot. Plugin skompilował się poprawnie lecz w grze pokazuję napis tylko dla ofiary, również dźwięk słyszy tylko ofiara, oprawca nie słyszy ani dźwięku ani napisu headshot.

Proszę o poprawienie kodu jeżeli to możliwe, chciałbym dodać że gdy włączyłem pokazywanie napisu 'Headshot' w pluginie bullet_damage również mi to nie działało, choć wszystkie wymagane moduły są odblokowane.

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

#pragma semicolon    1
#define VERSION	    "1.0.0"

#define get_user_last_hitgroup(%1)    (get_pdata_int(%1, m_LastHitGroup, 5))
new const m_LastHitGroup = 75;


new const g_szSound[] = "misc/5gheadshot.wav";


public plugin_precache()
    precache_sound(g_szSound);


public plugin_init()
{
    register_plugin("Headshot Sound", VERSION, "Drekes");
    
    RegisterHam(Ham_Killed, "player", "FwdPlayerKilledPost", 1);
}


public FwdPlayerKilledPost(iVictim, iInflictor, iKiller, Float: flDamage, iDmgBits)
{
    if(iKiller && iVictim != iKiller && get_user_last_hitgroup(iVictim) == HIT_HEAD)
    {
	    client_cmd(iVictim, "spk ^"%s^"", g_szSound);
	    client_cmd(iKiller, "spk ^"%s^"", g_szSound);
	    set_hudmessage (255, 000, 000, -1.0, 0.61, 2, 0.02, 6.0, 0.01, 0.1, -1);
	    show_hudmessage(iVictim, "HEADSHOT!");
	    set_hudmessage(000, 255, 000, -1.0, 0.61, 2, 0.02, 6.0, 0.01, 0.1, -1);
	    show_hudmessage(iKiller, "HEADSHOT!");
    }
}

Z góry dzięki za pomoc.
Quote

  • +
  • -
speedkill's Photo speedkill 17.02.2012

Znajdź
 if(iKiller && iVictim != iKiller && get_user_last_hitgroup(iVictim) == HIT_HEAD)
zamień na :
 if(iKiller != iVictim && get_user_last_hitgroup(iVictim) == HIT_HEAD)
Sprawdź ;), jak nie będzie działać to napisze Ci własny z użyciem Deathmsg.
Quote

  • +
  • -
psilocybe's Photo psilocybe 17.02.2012

Niestety nadal dźwięk i hud działa tylko dla ofiary. Plugin niby działa poprawnie, zawsze gdy dodaje coś nowego daje debug a nie ma logów z błędami więc nie wiem co jest nie tak. Będę wdzięczny za udostępnienie działającego pluginu ;)
Quote

  • +
  • -
speedkill's Photo speedkill 17.02.2012

Testuj :)
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "speedkill"

new const muza[] = "misc/5gheadshot.wav"

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg", "death", "a", "1>0")
}
public plugin_precache()
{
	precache_sound(muza)
}
public death()
{
	new Killer = read_data(1)
	new Victim = read_data(2)
	new Hs = read_data(3)
	
	set_hudmessage(85, 170, 255, 0.3, 0.1, 0, 6.0, 4.0)
	
	if(Killer != Victim && get_user_team(Killer) != get_user_team(Victim) && Hs)
	{
		client_cmd(Victim, "spk %s",muza)
		client_cmd(Killer, "spk %s",muza)
		show_hudmessage(Killer, "HEADSHOT!")
		show_hudmessage(Victim, "HEADSHOT!")
	}
}
Quote

  • +
  • -
psilocybe's Photo psilocybe 18.02.2012

Siema, przepraszam za tak opóźnioną odpowiedź, plugin działa bez problemów, pokazuje HUD i odgrywa dźwięk prawidłowo dla ofiary i oprawcy. Bardzo dziękuję za pomoc Panie speedkill :)

Pozwoliłem sobie jednak dodać czerwoną i zieloną wiadomość hud oraz wyśrodkować napis Headshot. Jeszcze raz wielkie dzięki, zamieszczam kod w załączniku gdyby ktoś potrzebował.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Headshot Sound Hud"
#define VERSION "1.0"
#define AUTHOR "speedkill"

new const muza[] = "misc/5gheadshot.wav"

public plugin_init() {
	    register_plugin(PLUGIN, VERSION, AUTHOR)
	    register_event("DeathMsg", "death", "a", "1>0")
}
public plugin_precache()
{
	    precache_sound(muza)
}
public death()
{
	    new Killer = read_data(1)
	    new Victim = read_data(2)
	    new Hs = read_data(3)
	    
	    
	    if(Killer != Victim && get_user_team(Killer) != get_user_team(Victim) && Hs)
	    {
        client_cmd(Victim, "spk %s",muza);
        client_cmd(Killer, "spk %s",muza);
        set_hudmessage (000, 255, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1);
        show_hudmessage(Killer, "HEADSHOT!");
        set_hudmessage (255, 000, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1);
        show_hudmessage(Victim, "HEADSHOT!");
	    }
}
Quote

  • +
  • -
MarWit's Photo MarWit 18.02.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

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


Z pozdrowieniami,
Zespół AMXX.PL
Quote
Locked