Skocz do zawartości
daffyy

[MULTI1V1] Rzucana paka

Rekomendowane odpowiedzi

Plugin dodaje niestandardową rundę do arenek. Jest to c4 znane z danger zone w którym można rzucać ładunkiem.

 

/*  CS:GO Multi1v1: breach round addon
 *
 * 
 * This program is free software: you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation, either version 3 of the License, or (at your option) 
 * any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT 
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with 
 * this program. If not, see http://www.gnu.org/licenses/.
 */
 
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>
#include <multi1v1>

#pragma semicolon 1
#pragma newdecls required

int g_iRoundType;

public Plugin myinfo = {
  name = "CS:GO Multi1v1: breach round addon",
  author = "daffyy",
  description = "Adds an unranked breach round-type",
  version = "1.0.0",
  url = "http://github.com/daffyyyy"
};

public void OnPluginStart()
{
	HookEventEx("weapon_fire", Throw_Event);
}

public void Multi1v1_OnRoundTypesAdded() 
{
	// Add the custom round and get custom round index
	g_iRoundType = Multi1v1_AddRoundType("Rzucana Paka", "breach_only", BreachOnlyHandler, true, false, "", true);
}

public void BreachOnlyHandler(int iClient) 
{
	// Start the custom round with a breach and 100 hp
	GivePlayerItem(iClient, "weapon_breachcharge");
	SetEntityHealth(iClient, 100);
	
	SetEntProp(iClient, Prop_Data, "m_ArmorValue", 0);
}

public void Throw_Event(Event hEvent, const char[] sEventName, bool bDontBroadcast)
{
	int client = GetClientOfUserId(hEvent.GetInt("userid"));

    // checkers on the client index for prevent errors
	if (client == -1 || !IsClientInGame(client) || !IsPlayerAlive(client))
		return;
		
	// Check if the current round is still the breach round
	if(Multi1v1_GetCurrentRoundType(Multi1v1_GetArenaNumber(client)) != g_iRoundType)
		return;

	CreateTimer(1.70, Timer_GiveGrenade, client);
}

public Action Timer_GiveGrenade(Handle timer, int client)
{
	// checkers on the client index for prevent errors
	if (client == -1 || !IsClientInGame(client) || !IsPlayerAlive(client))
		return;

	 // Check if the current round is still the breach round
	if(Multi1v1_GetCurrentRoundType(Multi1v1_GetArenaNumber(client)) != g_iRoundType)
		return;

	GivePlayerItem(client, "weapon_breachcharge");
}

 

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ę...