←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

CS:GO
Prośba o przerobienie pluginu muzyka podcz...

Zibi17k - zdjęcie Zibi17k 04.09.2015

Witam

Mam prośbę. Mógłby ktoś przerobić ten plugin http://amxx.pl/topic...a/#entry705753 tak by odgrywał muzykę każdemu kto wchodzi na serwer podczas rozgrzewki.

Obecnie plugin działa tak, że muzykę odgrywa tylko graczom, którzy wejdę w pierwszych 2-3 sekundach.

Reszta graczy nie słyszy muzyki.

Nie wiem czy jest to możliwe i czy będzie to działać, ale jakby plug potarzał komendę przy każdym graczu wchodzącym na serwer

 

Z góry dzięki za pomoc

Odpowiedz

  • +
  • -
Linux' - zdjęcie Linux' 04.09.2015

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

public OnPluginStart()
{
	CreateConVar("Rozgrzewka", "1.0", "Linux`");
}
public OnMapStart()
{
	AddFileToDownloadsTable("sciezka_do_pliku");
}
public OnClientAuthorized(client)
{
	if(GameRules_GetProp("m_bWarmupPeriod") == 1)
		CreateTimer(5.0, Muzyka, client);
}
public Action:Muzyka(Handle:timer, any:client)
{
	ClientCommand(client, "play *warm/warm1");
}

To zrob to w ten sposob, muzyka bedzie leciec od momentu wejscia na serwer o ile jest wlaczona rozgrzewka.

Odpowiedz

Zibi17k - zdjęcie Zibi17k 04.09.2015

niestety plik ściąga, ale go nie odgrywa ;(

Odpowiedz

  • +
  • -
Linux' - zdjęcie Linux' 04.09.2015

Hm powinno dzialac, poniewaz pierw po zmianie mapy wlaczona jest rozgrzewka a pozniej dopiero ladowany gracz. A sprawdz w ten sposob

 

edit: Poprawiona wersja

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

new rozgrzewka;
public OnPluginStart()
{
	CreateConVar("Rozgrzewka", "1.0", "Linux`");
	HookEvent("round_start", NowaRunda);
}
public OnMapStart()
{
	AddFileToDownloadsTable("sciezka_do_pliku");
}
public OnClientAuthorized(client)
{
	if(rozgrzewka)
		CreateTimer(5.0, WlaczMuzyke, client);
}
public Action:NowaRunda(Handle:event_newround, const String:name[],bool:dontBroadcast)
{
	if(GameRules_GetProp("m_bWarmupPeriod") == 1)
	{
		for(new i = 1, max = GetMaxClients(); i <= max; ++ i)
		{
			if(IsClientInGame(i))
				Muzyka(i);
		}

		rozgrzewka = 1;
	}
	else if(rozgrzewka)
		rozgrzewka = 0;
}
public Action:WlaczMuzyke(Handle:timer, any:client)
	Muzyka(client);
public Action:Muzyka(client)
	ClientCommand(client, "play *warm/warm1");

Wczoraj troszke sie pospieszylem.

Odpowiedz

Zibi17k - zdjęcie Zibi17k 05.09.2015

Tego nie mogę skomplikować

error 100: function prototypes do not match
Odpowiedz