Skocz do zawartości
Brum Brum

[CS:GO] Deathrun AutoRespawnCT (ADEPT_AutoSpawnCT)

Rekomendowane odpowiedzi

Opis: Dodaje autorespawn dla ct przez pierwsze X sekund od startu rundy.

Jak to mniej więcej wygląda
20190114234937_1.thumb.jpg.976b8da399011d222469bb503a435274.jpg 20190114235025_1.thumb.jpg.2ea303e37dd66c47e99cc362a36431eb.jpg

KOD:

Spoiler

#include <cstrike>
#include <sdktools>
#pragma semicolon 1
#pragma newdecls required

ConVar AutoRespawnTime;
int RespawnTime;
bool AllowRespawn;

public Plugin myinfo = 
{
	name = "ADEPT -> Auto respawn", 
	author = "Brum Brum", 
	description = "Autorski plugin StudioADEPT.net", 
	version = "1.0"
}

public void OnPluginStart()
{
	AutoRespawnTime = CreateConVar("sm_dr_autospawn_time", "5", "Czas w którym odradza CT po śmierci");
	HookEvent("player_death", Event_PlayerDeath);
	HookEvent("round_start", Event_RoundStart);
	AutoExecConfig(true, "ADEPT_DR_AutoSpawn");
}

public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast)
{
	RespawnTime = AutoRespawnTime.IntValue;
	AllowRespawn = true;
	CreateTimer(1.0, CheckTime, _, TIMER_REPEAT);
}
public Action Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
	int victim = GetClientOfUserId(event.GetInt("userid"));
	
	if (GetClientTeam(victim) == CS_TEAM_CT)
	{
		if (AllowRespawn) {
			CreateTimer(1.0, Respawn, GetClientUserId(victim), TIMER_FLAG_NO_MAPCHANGE);
		}
	}
}

public Action CheckTime(Handle timer)
{
	RespawnTime--;
	if (RespawnTime > 0)
	{
		for (int i = 1; i < MaxClients; i++)
		{
			if (IsValidClient(i) && GetClientTeam(i) == CS_TEAM_CT)
			{
				PrintHintText(i, "<font color='#00ff0c' size='22'>[Auto Respawn] Trwa jeszcze</font> <font color='#ff0000' size='22'>%d sekund</font>", RespawnTime);
			}
		}
	}
	else {
		for (int i = 1; i < MaxClients; i++)
		{
			if (IsValidClient(i) && GetClientTeam(i) == CS_TEAM_CT)
			{
				PrintHintText(i, "<font color='#00ff0c' size='22'>[Auto Respawn] </font> <font color='#ff0000' size='22'>Został wyłączony!</font>");
			}
		}
		AllowRespawn = false;
		return Plugin_Stop;
	}
	return Plugin_Continue;
}

public Action Respawn(Handle timer, int userid)
{
	int client = GetClientOfUserId(userid);
	CS_RespawnPlayer(client);
}

public bool IsValidClient(int client)
{
	if (!(1 <= client <= MaxClients) || !IsClientInGame(client) || !IsClientConnected(client) || IsFakeClient(client) || IsClientSourceTV(client))
		return false;
	
	return true;
} 

 

 

 

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...