Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

Nie działa darmowy vip w godzinach za frazę w nicku


RevDev
 Udostępnij

Rekomendowane odpowiedzi

Tak jak w temacie

#pragma semicolon 1

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

#pragma newdecls required

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

ConVar g_CvarRewardNick, gg_OdGodziny, gg_DoGodziny, gg_VipActive, g_CvarMatchCase;
int DarmowyVip = 0;

public void OnPluginStart()
{
	HookEvent("round_start", Event_RoundStart);
  
	g_CvarRewardNick = CreateConVar("sm_reward", "Google.pl", "Fraza za ktora dostaje sie nagrody");
	g_CvarMatchCase = CreateConVar("sm_reward_match", "0", "");
	gg_VipActive = CreateConVar("sm_reward_vip_active", "1", "Czy Vip w nocy ma być aktywny?");
	gg_OdGodziny = CreateConVar("sm_reward_vip_odgodziny", "24", "Od ktorej godziny ma dawac vipa?");
	gg_DoGodziny = CreateConVar("sm_reward_vip_dogodziny", "6", "Do ktorej godziny ma dawac vipa?");
}

public void OnClientAuthorized(int client) {
	if(IsValidClient(client)) {
		char name[MAX_NAME_LENGTH], advert[MAX_NAME_LENGTH];
	
		GetClientName(client, name, sizeof(name));
		g_CvarRewardNick.GetString(advert, MAX_NAME_LENGTH);
		
		if (StrContains(name, advert, GetConVarBool(g_CvarMatchCase)) == -1)
		{
			return;
		}
		if(DarmowyVip) {
			AddUserFlags(client, Admin_Reservation);
		}
		else {
			RemoveUserFlags(client, Admin_Reservation);
		}
	}
	
}
bool IsValidClient(int client)
{
	return 0 < client <= MaxClients && IsClientInGame(client);
}
public Action Event_RoundStart(Event hEvent, const char[] chName, bool bDontBroadcast)
{	
	int client = GetClientOfUserId(hEvent.GetInt("userid"));
	char name[MAX_NAME_LENGTH], advert[MAX_NAME_LENGTH];
	
	GetClientName(client, name, sizeof(name));
	g_CvarRewardNick.GetString(advert, MAX_NAME_LENGTH);
	
	if (StrContains(name, advert, GetConVarBool(g_CvarMatchCase)) == -1)
	{
		return;
	}
	if (GetConVarBool(gg_VipActive))
	{
		int gg_od_godziny = GetConVarInt(gg_OdGodziny);
		int gg_do_godziny = GetConVarInt(gg_DoGodziny);
		if(gg_od_godziny || gg_do_godziny)
		{
			char godzina_str[8];
			FormatTime(godzina_str, sizeof(godzina_str), "%H", GetTime());
			int godzina = StringToInt(godzina_str);
			if(gg_od_godziny > gg_do_godziny)
				DarmowyVip = (godzina >= gg_od_godziny || godzina < gg_do_godziny)? 1: 0;
			else
				DarmowyVip = (godzina >= gg_od_godziny && godzina < gg_do_godziny)? 1: 0;
		}
		else
			DarmowyVip = 0;
	}
}

 

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

×
×
  • Dodaj nową pozycję...