Jump to content
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
Sign in to follow this  
gejmer

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

Recommended Posts

@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;
} 

 

 

Share this post


Link to post
Share on other sites
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);

 

Share this post


Link to post
Share on other sites
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!

  • Lubię to! 1

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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!

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

Nasza historia

Na początku byliśmy małą grupą internetowych znajomych, którzy stwierdzili, że potrzebne jest solidne forum, na którym znajdą się ludzie z dużą wiedzą programistyczną ukierunkowaną na CS:GO. Pomysł powstał na początku 2018 roku, a parę miesięcy później, 19 kwietnia, powstała ta strona internetowa. Jako alternatywna odpowiedź na inne tego typu miejsca, poważnie podeszliśmy do tematu, najpierw tłumacząc angielską dokumentację SourceMod'a na język polski, a potem pisząc rozległe poradniki i wypełniając forum najpotrzebniejszymi rzeczami dla właścicieli serwerów i programistów. Cała nasza Ekipa jest dumna z pracy jaką w to włożyliśmy i cieszymy się że zbierają się wokół nas zarówno ludzie znający tematy sourcepawn'a i konfiguracji, jak i również nowe twarze w tym "biznesie", którym z chęcią niesiemy wiedzę oraz pomoc w rozwiązywaniu problemów.

Największe modyfikacje serwerowe

×
×
  • Create New...