Jump to content
Sign in to follow this  
RevDev

ROZWIĄZANE Dodatkowy hajs za dopisek w nicku

Recommended Posts

Plugin się kompiluje, nie wyskakują żadne errory/błędy w konsoli, ale nie daję dodatkowego hajsu za dopisek w nicku

#pragma semicolon 1

#include <sourcemod>
#include <cstrike>

#pragma newdecls required

public Plugin myinfo = 
{
	name = "Bonus za nick", 
	author = "Reward", 
	description = "Dodaje graczą dodatkowy hajs za dodanie w nicku", 
	version = "1.0.0"
};

ConVar g_cvAdvert, g_cvMatchCase, gg_CvarVipKillMoney, gg_CvarVipKillKnifeMoney, gg_CvarVipHeadShotMoney, gg_CvarMaxHP, gg_CvarVipBombPlantedMoney, gg_CvarVipBombDefusedMoney;

public void OnPluginStart()
{
	g_cvAdvert = CreateConVar("sm_aa_advert", "Google.pl", "Advertisement to search for in players' names.");
	g_cvMatchCase = CreateConVar("sm_aa_match_case", "0", "Determines if the advertisement should be case-sensitive.");
	gg_CvarVipKillKnifeMoney = CreateConVar("gpieniadze_kill_knife_vip", "100", "How much money the VIP player should get for killing by the knife?");
	gg_CvarVipHeadShotMoney = CreateConVar("gpieniadze_hs_vip", "70", "How much money should the VIP player get for the headshot?");
	gg_CvarMaxHP = CreateConVar("gzycie_max_vip", "105", "What is the maximum amount of health that the vip player can achieve?");
	gg_CvarVipKillMoney = CreateConVar("gpieniadze_kill_vip", "50", "How much money should the VIP player get for the homicide?");
	gg_CvarVipBombPlantedMoney = CreateConVar("gpieniadze_podlozenie_vip", "50", "How much money should the VIP player get for planting the bomb?");
	gg_CvarVipBombDefusedMoney = CreateConVar("gpieniadze_rozbrojenie_vip", "50", "How much money should the VIP player get for defusing the bomb?");
}
bool IsValidClient(int client)
{
	return 0 < client <= MaxClients && IsClientInGame(client);
} 
public Action Event_PlayerDeath(int client, Event hEvent, const char[] chName, bool bDontBroadcast)
{

	int attacker = GetClientOfUserId(hEvent.GetInt("attacker"));
	int victim = GetClientOfUserId(hEvent.GetInt("userid"));
	
	if (!IsValidClient(attacker))
		return;
	
	char weapon[64];
	GetEventString(hEvent, "weapon", weapon, sizeof(weapon));
	char name[MAX_NAME_LENGTH], advert[MAX_NAME_LENGTH];
	
	GetClientName(client, name, sizeof(name));
	g_cvAdvert.GetString(advert, MAX_NAME_LENGTH);
		
	if (StrContains(name, advert, GetConVarBool(g_cvMatchCase)) == -1)
	{
		return;
	}
	if (GetClientTeam(attacker) != GetClientTeam(victim))
	{
		bool headshot = hEvent.GetBool("headshot", false); //false - default.
		int gPieniadzeGracza = GetEntProp(attacker, Prop_Send, "m_iAccount");
		int gHP = GetClientHealth(attacker);
		
		if (headshot)
		{
			SetEntProp(attacker, Prop_Send, "m_iAccount", gg_CvarVipHeadShotMoney.IntValue + gPieniadzeGracza);
			
			if (gHP + 1 > gg_CvarMaxHP.IntValue)
				SetEntityHealth(attacker, gg_CvarMaxHP.IntValue);
			
			if (gHP + 1 <= gg_CvarMaxHP.IntValue)
				SetEntityHealth(attacker, gHP + 1);
			PrintToChat(client, "[Reward] Zostałeś nagrodzony +%d$ za wsparcie serwera!", GetConVarInt(gg_CvarVipHeadShotMoney));
		}
		else
		{
			SetEntProp(attacker, Prop_Send, "m_iAccount", gg_CvarVipKillMoney.IntValue + gPieniadzeGracza);
			
			if (gHP + 1 > gg_CvarMaxHP.IntValue)
				SetEntityHealth(attacker, gg_CvarMaxHP.IntValue);
			
			if (gHP + 1 <= gg_CvarMaxHP.IntValue)
				SetEntityHealth(attacker, gHP + 1);
			PrintToChat(client, "[Reward] Zostałeś nagrodzony +%d$ za wsparcie serwera!", GetConVarInt(gg_CvarVipKillMoney));
		}
		
		//if (StrEqual(weapon, "knife"))
		if (StrContains(weapon, "knife", false) != -1 || StrContains(weapon, "bayonet", false) != -1)
		{
			SetEntProp(attacker, Prop_Send, "m_iAccount", gg_CvarVipKillKnifeMoney.IntValue + gPieniadzeGracza);
			
			PrintToChat(client, "[Reward] Zostałeś nagrodzony +%d$ za wsparcie serwera!", GetConVarInt(gg_CvarVipKillKnifeMoney));

			if (gHP + 1 > gg_CvarMaxHP.IntValue)
				SetEntityHealth(attacker, gg_CvarMaxHP.IntValue);
			
			if (gHP + 1 <= gg_CvarMaxHP.IntValue)
				SetEntityHealth(attacker, gHP + 1);
		}
	}
}
public Action Event_BombPlanted(int client, Event hEvent, const char[] chName, bool bDontBroadcast)
{
	char name[MAX_NAME_LENGTH], advert[MAX_NAME_LENGTH];
	
	GetClientName(client, name, sizeof(name));
	g_cvAdvert.GetString(advert, MAX_NAME_LENGTH);
	
	if (StrContains(name, advert, GetConVarBool(g_cvMatchCase)) == -1)
	{
		return;
	}
	int client = GetClientOfUserId(hEvent.GetInt("userid"));
	int gPieniadzeGracza = GetEntProp(client, Prop_Send, "m_iAccount");
	
	PrintToChat(client, "[Reward] Zostałeś nagrodzony +%d$ za wsparcie serwera!", GetConVarInt(gg_CvarVipBombPlantedMoney));
		
	SetEntProp(client, Prop_Send, "m_iAccount", gg_CvarVipBombPlantedMoney.IntValue + gPieniadzeGracza);
}

public Action Event_BombDefused(int client, Event hEvent, const char[] chName, bool bDontBroadcast)
{
	char name[MAX_NAME_LENGTH], advert[MAX_NAME_LENGTH];
	
	GetClientName(client, name, sizeof(name));
	g_cvAdvert.GetString(advert, MAX_NAME_LENGTH);
	
	if (StrContains(name, advert, GetConVarBool(g_cvMatchCase)) == -1)
	{
		return;
	}
	int client = GetClientOfUserId(hEvent.GetInt("userid"));
	int gPieniadzeGracza = GetEntProp(client, Prop_Send, "m_iAccount");
	
	PrintToChat(client, "[Reward] Zostałeś nagrodzony +%d$ za wsparcie serwera!", GetConVarInt(gg_CvarVipBombDefusedMoney));
		
	SetEntProp(client, Prop_Send, "m_iAccount", gg_CvarVipBombDefusedMoney.IntValue + gPieniadzeGracza);
}

 

Share this post


Link to post
Share on other sites

Sama funkcja w pluginie nie wykona się jeżeli nie powiesz jej kiedy ma się wykonać.

	HookEvent("playe_death", Event_PlayerDeath);
	HookEvent("bomb_planted", Event_BombPlanted);
	HookEvent("bomb_defused", Event_BombDefused);

dodaj te 3 hooki do OnPluginStart i powinno wszystko dobrze działać.

Share this post


Link to post
Share on other sites

Errory naprawione wystarczyło usunąć int client z parametrów funkcji

Share this post


Link to post
Share on other sites

Temat został zamknięty przez moderatora forum. Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator rozpatrzy go ponownie.

 


"Treści napisane bez wysiłku, czyta się bez przyjemności"

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.

  • Similar Content

    • By Loniu
      Witam poszukuje Admin ESP/WH działający pod Arenę 1v1 posiadam ten plugin ale coś mi nie działa mianowicie raz działa raz nie.
       
       
    • By ori52
      Witam wie ktoś jak zrobić przenikanie granatów przez model swojego z drużyny? Duszki mam ale nie wiem jak zrobić przenikanie granatów zeby nie odbijały się od modelu? 
    • By Zenkuu
      Witam.
      Na serwerze Only Mirage mam dwa problemy, nie mogę z nimi sobie poradzić, ani nic znaleźć na ten temat.
       
      Problemy:
      1. Na hostingu LiveServer ustawiam w ustawieniach Tryb Turniejowy oraz wyłączam zabijanie graczy ze swojego teamu. Poczym mogą siebie gracze zabijać.
      2. BS A działa to znaczy można planować a na B w ogóle.
       
      Proszę o pomoc.
    • By MrMozart
      Czesc, jestem nowy i postanowiłem załozyć server, wszystko szło ok ale jest jeden problem, plugin np. na pokazywanie obrazen zamiast kolory wyswietla długie ciągi tekstu(jakby nie było pluginu na kolory), jeżeli tak to mógłby ktoś podlinkować? z góry dzieki
       
    • By Gienek?
      Witam.
      Daliście by biblioteczkę dhudmessage bo nie mogę znaleść 
      Wersja amxmod 1.8.2
      Potrzebuje do silnika bb 
×
×
  • Create New...