Jump to content
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
Sign in to follow this  
Angel

[Rozwiązane] Szukam pluginu "Zostałeś zabity przez..."

Recommended Posts

Witam, tak jak w temacie, poszukuję pluginu odpowiedzialnego za wyświetlanie na say informacji kto nas zabił/jaką bronią/oraz ile mu pozostało HP

  • Lubię to! 1

Share this post


Link to post
Share on other sites

Znalazłem coś takiego w sieci, ale się nie kompiluje ?

#include <sourcemod> 
#include <cstrike> 
#include <sdktools> 
#include <sdkhooks>


public Plugin myinfo = 
{
	name = "FK_InformacjaPoZginieciu",
	description = "Serwer wyswietla informacje po zgodnie gracza o ilosci jego zycia przeciwnika",
	author = "fabko",
	version = "1.0",
	url = "http://fabko.ovh/"
}

public void OnPluginStart()
{
	HookEvent("player_death", Event_PlayerDeath);
}

public void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
	char weapon[64];

	int victimId = event.GetInt("userid");
	int attackerId = event.GetInt("attacker");
	//bool headshot = event.GetBool("headshot"); 
	event.GetString("weapon", weapon, sizeof(weapon));

	char name[64];
	int client = GetClientOfUserId(victimId);
	int atakujacy = GetClientOfUserId(attackerId);
	GetClientName(atakujacy, name, sizeof(name));


	if(!atakujacy)
	{
		return;
	}
	if(client == atakujacy)
	{
		return;
	}
	if(!IsValidClient(atakujacy))
	{
		return;
	}

	int primary = GetPlayerWeaponSlot(atakujacy, 0);
	int active = GetEntPropEnt(atakujacy, Prop_Send, "m_hActiveWeapon");
	
	if (!IsValidEntity(primary) || !IsValidEntity(active))
	{
		return Plugin_Continue;
	}
	
	char sClassname1[32];
	GetEntityClassname(primary, sClassname1, sizeof(sClassname1));
	
	char sClassname2[32];
	GetEntityClassname(active, sClassname2, sizeof(sClassname2));
	
	if (StrEqual(sClassname1, "weapon_awp") && StrContains(sClassname2, "knife") != -1)
	{
		PrintToChat(client, "              ");
		PrintToChat(client, "              ");
		PrintToChat(client, "              ");
		PrintToChat(client, " \x02 → → → →  ZOSTAŁEŚ ZABITY  ← ← ← ← ");
		PrintToChat(client, " \x07 Gracz \x02%s \x07zabił cię używając kosy!", name, weapon);
		PrintToChat(client, " \x07 Zostało mu \x02%d \x07życia", GetClientHealth(atakujacy));
		PrintToChat(client, "              ");
		PrintToChat(client, "              ");
		PrintToChat(client, "              ");
	}
	else
	{
		PrintToChat(client, "              ");
		PrintToChat(client, "              ");
		PrintToChat(client, "              ");
		PrintToChat(client, " \x02 → → → →  ZOSTAŁEŚ ZABITY  ← ← ← ← ");
		PrintToChat(client, " \x07 Gracz \x02%s \x07zabił cię używając AWP!", name, weapon);
		PrintToChat(client, " \x07 Zostało mu \x02%d \x07życia", GetClientHealth(atakujacy));
		PrintToChat(client, "              ");
		PrintToChat(client, "              ");
		PrintToChat(client, "              ");
	}

	return 0;

}

public IsValidClient(client)
{
	if(client <= 0 || client > MaxClients)
	{
		return;
	}

	if(!IsClientInGame(client))
	{
		return;
	}

}

 

  • Lubię to! 1

Share this post


Link to post
Share on other sites
Spoiler

#pragma semicolon 1
#pragma newdecls required

public void OnPluginStart()
{
	HookEvent("player_death", Event_PlayerDeath);
}

public void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
	int client = GetClientOfUserId(event.GetInt("userid"));
	int attacker = GetClientOfUserId(event.GetInt("attacker"));

	if(!IsValidClient(client) || !IsValidClient(attacker) || client == attacker)
		return;

	char sWeapon[64];
	event.GetString("weapon", sWeapon, sizeof(sWeapon));

	ReplaceString(sWeapon, sizeof(sWeapon), "weapon_", "", false);

	PrintToChat(client, "Zostałeś zabity przez %N przy użyciu %s", attacker, sWeapon);
}

bool IsValidClient(int client)
{
	return (1 <= client <= MaxClients && IsClientInGame(client));
}

 

 

  • Lubię to! 1

Share this post


Link to post
Share on other sites

@Master Zapomniałeś dodać ile hp zostało przeciwnikowi.

@Angel łap

#pragma semicolon 1
#pragma newdecls required

public void OnPluginStart()
{
	HookEvent("player_death", Event_PlayerDeath);
}

public void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
	int client = GetClientOfUserId(event.GetInt("userid"));
	int attacker = GetClientOfUserId(event.GetInt("attacker"));
	int enemy_health = GetClientHealth(attacker);

	if(!IsValidClient(client) || !IsValidClient(attacker) || client == attacker)
		return;

	char sWeapon[64];
	event.GetString("weapon", sWeapon, sizeof(sWeapon));

	ReplaceString(sWeapon, sizeof(sWeapon), "weapon_", "", false);

	PrintToChat(client, "Zostałeś zabity przez %N przy użyciu %s, zostało mu %i HP.", attacker, sWeapon, enemy_health);
}

bool IsValidClient(int client)
{
	return (1 <= client <= MaxClients && IsClientInGame(client));
}

 

Edited by Yamakashi
  • Lubię to! 1

Share this post


Link to post
Share on other sites

Wersja bardziej kolorystyczna jeśli ktoś chce niech sobie pobierze, wzorowałem się na oryginalnym wyświetlaniu takim jak w pluginie z pierwszego posta ?

Wszystkim bardzo dziękuje za pomoc, a temat można zamknąć ?

zostales_zabity_przez.sp
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

zostales_zabity_przez.smx
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

  • Lubię to! 2

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

Nasza historia

Na początku byliśmy małą grupą internetowych znajomych, którzy stwierdzili, że potrzebne jest solidne forum, na którym znajdą się ludzie z dużą wiedzą programistyczną ukierunkowaną na CS:GO. Pomysł powstał na początku 2018 roku, a parę miesięcy później, 19 kwietnia, powstała ta strona internetowa. Jako alternatywna odpowiedź na inne tego typu miejsca, poważnie podeszliśmy do tematu, najpierw tłumacząc angielską dokumentację SourceMod'a na język polski, a potem pisząc rozległe poradniki i wypełniając forum najpotrzebniejszymi rzeczami dla właścicieli serwerów i programistów. Cała nasza Ekipa jest dumna z pracy jaką w to włożyliśmy i cieszymy się że zbierają się wokół nas zarówno ludzie znający tematy sourcepawn'a i konfiguracji, jak i również nowe twarze w tym "biznesie", którym z chęcią niesiemy wiedzę oraz pomoc w rozwiązywaniu problemów.

Największe modyfikacje serwerowe

×
×
  • Create New...