Skocz do zawartości
gejmer

[Rozwiązane] losowy vip by hanys blokada na flagi i gotv

Rekomendowane odpowiedzi

@gejmer
Chyba będzie działać.

Spoiler

#include <sourcemod>

#pragma semicolon 1
#pragma newdecls required

public Plugin myinfo = 
{
	name = "LosowyVip", 
	author = "Hanys", 
	description = "Plugin losuje losowa osobe ktora otrzyma flage", 
	version = "1.0", 
	url = "http://hanys.dispark.pl"
}

ConVar Random_round, Random_player;
int Rounds = 0;

public void OnPluginStart()
{
	CreateConVar("sm_randomvip", "1.0", "Losowy VIP", FCVAR_SPONLY | FCVAR_REPLICATED | FCVAR_NOTIFY | FCVAR_DONTRECORD);
	Random_round = CreateConVar("random_round", "0", "W ktorej rundzie ma losowac losowego vip'a (Uwaga: Rozgrzewka liczona jest jako 1 runda!) 0:Losowy vip wylaczony", FCVAR_NOTIFY);
	Random_player = CreateConVar("random_player", "0", "Ile osob wymaganych jest do wylosowania losowego vip'a", FCVAR_NOTIFY);
	
	AutoExecConfig(true, "sm_vip_random");
	
	HookEvent("round_start", Event_RoundStart);
	HookEvent("cs_win_panel_match", RestartRound);
}

public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast)
{
	int winner = GetRandomPlayer(3);
	int g_random_round = GetConVarInt(Random_round);
	
	Rounds++;
	
	if (Rounds == g_random_round)
	{
		if (winner == -1)
		{
			
			PrintToChatAll("\x04[\x04VIP\x01] \x06Na serwerze znajduje sie za malo graczy do wylosowania losowego VIP'a\x01");
			
		}
		AddUserFlags(winner, Admin_Reservation);
		
		PrintToChatAll("[\x04VIP\x01] \x06Trwa losowanie VIP'a...\x01");
		PrintToChatAll("[\x04VIP\x01] \x06-----\x01");
		PrintToChatAll("[\x04VIP\x01] \x06-----\x01");
		PrintToChatAll("[\x04VIP\x01] \x06-----\x01");
		PrintToChatAll("[\x04VIP\x01] \x06Losowym VIP'em zostaje \x02%N\x01\x06! Gratulujemy!\x01", winner);
		
	}
}

public Action RestartRound(Event event, const char[] name, bool dontBroadcast)
{
	Rounds = 0;
}

stock int GetRandomPlayer(int team)
{
	int g_random_player = GetConVarInt(Random_player);
	int clients[MAXPLAYERS + 1], clientCount;
	
	for (int i = 1; i <= MaxClients; i++)
	if (IsClientInGame(i) && !IsClientSourceTV(i) && !HaveFlag(i))
		clients[clientCount++] = i;
	
	if (clientCount <= g_random_player)
		return -1;
	
	return clients[GetRandomInt(0, clientCount - 1)];
}

public bool HaveFlag(int client)
{
	if (GetUserFlagBits(client) & ADMFLAG_RESERVATION) {
		return true;
	}
	
	return false;
} 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
4 godziny temu, Brum Brum napisał:

@gejmer
Chyba będzie działać.

 
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Odkryj ukrytą treść


#include <sourcemod>

#pragma semicolon 1
#pragma newdecls required

public Plugin myinfo = 
{
	name = "LosowyVip", 
	author = "Hanys", 
	description = "Plugin losuje losowa osobe ktora otrzyma flage", 
	version = "1.0", 
	url = "http://hanys.dispark.pl"
}

ConVar Random_round, Random_player;
int Rounds = 0;

public void OnPluginStart()
{
	CreateConVar("sm_randomvip", "1.0", "Losowy VIP", FCVAR_SPONLY | FCVAR_REPLICATED | FCVAR_NOTIFY | FCVAR_DONTRECORD);
	Random_round = CreateConVar("random_round", "0", "W ktorej rundzie ma losowac losowego vip'a (Uwaga: Rozgrzewka liczona jest jako 1 runda!) 0:Losowy vip wylaczony", FCVAR_NOTIFY);
	Random_player = CreateConVar("random_player", "0", "Ile osob wymaganych jest do wylosowania losowego vip'a", FCVAR_NOTIFY);
	
	AutoExecConfig(true, "sm_vip_random");
	
	HookEvent("round_start", Event_RoundStart);
	HookEvent("cs_win_panel_match", RestartRound);
}

public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast)
{
	int winner = GetRandomPlayer(3);
	int g_random_round = GetConVarInt(Random_round);
	
	Rounds++;
	
	if (Rounds == g_random_round)
	{
		if (winner == -1)
		{
			
			PrintToChatAll("\x04[\x04VIP\x01] \x06Na serwerze znajduje sie za malo graczy do wylosowania losowego VIP'a\x01");
			
		}
		AddUserFlags(winner, Admin_Reservation);
		
		PrintToChatAll("[\x04VIP\x01] \x06Trwa losowanie VIP'a...\x01");
		PrintToChatAll("[\x04VIP\x01] \x06-----\x01");
		PrintToChatAll("[\x04VIP\x01] \x06-----\x01");
		PrintToChatAll("[\x04VIP\x01] \x06-----\x01");
		PrintToChatAll("[\x04VIP\x01] \x06Losowym VIP'em zostaje \x02%N\x01\x06! Gratulujemy!\x01", winner);
		
	}
}

public Action RestartRound(Event event, const char[] name, bool dontBroadcast)
{
	Rounds = 0;
}

stock int GetRandomPlayer(int team)
{
	int g_random_player = GetConVarInt(Random_player);
	int clients[MAXPLAYERS + 1], clientCount;
	
	for (int i = 1; i <= MaxClients; i++)
	if (IsClientInGame(i) && !IsClientSourceTV(i) && !HaveFlag(i))
		clients[clientCount++] = i;
	
	if (clientCount <= g_random_player)
		return -1;
	
	return clients[GetRandomInt(0, clientCount - 1)];
}

public bool HaveFlag(int client)
{
	if (GetUserFlagBits(client) & ADMFLAG_RESERVATION) {
		return true;
	}
	
	return false;
} 

 

 

//SourceMod Batch Compiler
// by the SourceMod Dev Team


//// Losowy_VIP.sp
//
// C:\Users\akeno\Desktop\kompilator nowy\Losowy_VIP.sp(20) : error 029: invalid expression, assumed zero
// C:\Users\akeno\Desktop\kompilator nowy\Losowy_VIP.sp(20) : error 029: invalid expression, assumed zero
// C:\Users\akeno\Desktop\kompilator nowy\Losowy_VIP.sp(20) : error 029: invalid expression, assumed zero
// C:\Users\akeno\Desktop\kompilator nowy\Losowy_VIP.sp(20) : fatal error 190: too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
//
// Compilation Time: 0,75 sec
// ----------------------------------------

Press enter to exit ...

Taki błąd przy kompilacji ?

 

Linijka 20:

CreateConVar("sm_randomvip", "1.0", "Losowy VIP", FCVAR_SPONLY | FCVAR_REPLICATED | FCVAR_NOTIFY | FCVAR_DONTRECORD);

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
41 minut temu, Akeno|AdvancedNet napisał:

//SourceMod Batch Compiler
// by the SourceMod Dev Team


//// Losowy_VIP.sp
//
// C:\Users\akeno\Desktop\kompilator nowy\Losowy_VIP.sp(20) : error 029: invalid expression, assumed zero
// C:\Users\akeno\Desktop\kompilator nowy\Losowy_VIP.sp(20) : error 029: invalid expression, assumed zero
// C:\Users\akeno\Desktop\kompilator nowy\Losowy_VIP.sp(20) : error 029: invalid expression, assumed zero
// C:\Users\akeno\Desktop\kompilator nowy\Losowy_VIP.sp(20) : fatal error 190: too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
//
// Compilation Time: 0,75 sec
// ----------------------------------------

Press enter to exit ...

Taki błąd przy kompilacji ?

 

Linijka 20:


CreateConVar("sm_randomvip", "1.0", "Losowy VIP", FCVAR_SPONLY | FCVAR_REPLICATED | FCVAR_NOTIFY | FCVAR_DONTRECORD);

 

U mnie kompiluje. Dołączam sp i smx do pobraniaimage.thumb.png.f13b358b76bf067f20267d314f354cdc.png

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

LosowyVip.smx
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

Magicza krysztalowa kula jesy w serwisie,  musisz podac error logi

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Dnia 15.12.2018 o 00:51, Brum Brum napisał:

U mnie kompiluje. Dołączam sp i smx do pobraniaimage.thumb.png.f13b358b76bf067f20267d314f354cdc.png

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

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

Kompiluje bo uzywasz starej wersji kompilatora normalnie powinny tutaj wyskoczyć warnings...

 

Wrócę do domu to edytuje z rozwiazaniem problemu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 godzinę temu, NWayne napisał:

Kompiluje bo uzywasz starej wersji kompilatora normalnie powinny tutaj wyskoczyć warnings...

 

Wrócę do domu to edytuje z rozwiazaniem problemu.

Ciekawe https://www.youtube.com/watch?v=2Hr-MTVQp_E
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
Dnia 17.12.2018 o 17:46, gejmer napisał:

nie losuje vipa ?

Nadal Ci nie działa?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Pomoc udzielona

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...