Recommended Posts

Opis:

Plugin podczas wyznaczonej przez nas rundzie losuje losową osobę która otrzyma na czas mapy (lub do momentu opuszczenia serwera) przywileje danej flagi. Dla przykładu może to być flaga na której mamy VIPa

Funkcje:

  • W której rundzie ma odbyć się losowanie szczęśliwca 
  • Ilość osób wymaganych do losowania

Instalacja:

  • Plik LosowyVip.sp dodaj do /csgo/addons/sourcemod/scripting
  • Plik LosowyVip.smx dodaj do /csgo/addons/sourcemod/plugins
  • Plik sm_vip_random.cfg dodaj do /csgo/cfg/sourcemod  (Plik jest generowany automatycznie)

Konfiguracja:

Flagę możemy zmienić w 48 linijce zamieniając Admin_Reservation na swoją flagę. Domyślna flaga to A

AddUserFlags(winner, Admin_Reservation);

 

Nazwy flag:

Spoiler

 

  • Admin_Reservation -> A
  • Admin_Generic -> B
  • Admin_Kick -> C
  • Admin_Ban -> D
  • Admin_Unban -> E
  • Admin_Slay -> F
  • Admin_Changemap -> G
  • Admin_Convars -> H
  • Admin_Config -> I
  • Admin_Chat -> J
  • Admin_Vote -> K
  • Admin_Password -> L
  • Admin_RCON -> M
  • Admin_Cheats -> N
  • Admin_Root -> Z
  • Admin_Custom1 -> O
  • Admin_Custom2 -> P
  • Admin_Custom3 -> Q
  • Admin_Custom4 -> R
  • Admin_Custom5 -> S
  • Admin_Custom6 -> T

 

 

Pobierz:

LosowyVip.smx LosowyVip.sp sm_vip_random.cfg

  • Like 6

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)

To jest ustawione na flagę t ? I jeszcze mam takie pytanie gdzie jest ten plugin do pobrania bo nie widze

Edytowano przez Pablo

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A gdzie można pobrać ten plugin bo nawet nie widzę go 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Odśwież stronę. Tak poświeciłem się opisowi że aż zapomniałem o dodaniu plików :) 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A mógł byś mi edytować ten plugin na flagę at ? 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
53 minuty temu, Pablo napisał:

A mógł byś mi edytować ten plugin na flagę at ? 

Proszę LosowyVip.smx LosowyVip.sp

Dla potomnych przy dodawaniu więcej niż jednej flagi, flagi dodajemy po przecinku np:

AddUserFlags(winner, Admin_Reservation,Admin_Custom6);

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Niestety mi plugin nie działa

ustawiłem cvary random_round 2 i  random_player najpierw na 0 potem na 2.

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
4 godziny temu, HaXiuu napisał:

jakieś cvary? Nie działa mi plugin

Jak się łatwo domyślić plik konfiguracyjny generuje się w /csgo/cfg/sourcemod. Dodatkowo dodałem plik w pierwszym poście

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A czy jest możliwość by w losowaniu o vipa nie brało pod uwagę GOTV oraz osób mających flagę a lub z?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Masz sp, dodaj warunek. Plugin spoko, ja zrobie chyba jeszcze takie eventy typu.. Losowanie vipa na 30 lub ze po prostu Ty komus losujesz vipa na jakis czas.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 3.05.2016 at 22:48, Zibi17k napisał:

A czy jest możliwość by w losowaniu o vipa nie brało pod uwagę GOTV oraz osób mających flagę a lub z?

 

Dnia 3.05.2016 at 23:56, n.o.x napisał:

Masz sp, dodaj warunek. Plugin spoko, ja zrobie chyba jeszcze takie eventy typu.. Losowanie vipa na 30 lub ze po prostu Ty komus losujesz vipa na jakis czas.

 

Edytowałem lekko plugin (@Hanys mam nadzieję że się nie obrazisz :D), dodałem warunki na sprawdzenie czy gracz nie jest botem (np. GOTV), czy nie ma admina (ustawione na flagę a) oraz rundy zamieniłem na timer, 240 sekund po zmianie mapy losuje się vip.

 

#include <sourcemod>

public Plugin:myinfo =
{
	name = "Losowy Vip",
	author = "Hanys (Edit by Kempuś)",
	description = "Plugin losuje losową osobę która otrzyma flagi VIP'a",
	version = "1.0",
	url = "http://hanys.dispark.pl"
}

new Handle:Random_player;

public OnPluginStart()
{
	CreateConVar("sm_randomvip", "1.0", "Losowy VIP", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD);
	
	Random_player = CreateConVar("random_player", "0", "Ile osob wymaganych jest do wylosowania losowego vip'a", FCVAR_NOTIFY);
	
	
	AutoExecConfig(true, "sm_vip_random");
}

public OnMapStart()
{

	CreateTimer(240.0, Timer_GiveVIP);

}

public Action:Timer_GiveVIP(Handle:timer)
{
	new winner = GetRandomPlayer(3);
	
	{
	
		if (winner == -1)
		
		{
			
			PrintToChatAll("[\x02BOT\x01] \x06Na serwerze panuje za mała ilość graczy aby rozpocząć losowanie VIP'a\x01");
			
			return Plugin_Handled;
			
		}
	
		AddUserFlags(winner, Admin_Reservation,Admin_Custom1,Admin_Custom2);
		
		PrintToChatAll("[\x02BOT\x01] \x06Trwa losowanie VIP'a...\x01");
		PrintToChatAll("[\x02BOT\x01] \x06-----\x01");
		PrintToChatAll("[\x02BOT\x01] \x06-----\x01");
		PrintToChatAll("[\x02BOT\x01] \x06-----\x01");
		PrintToChatAll("[\x02BOT\x01] \x06Losowym VIP'em zostaje \x02%N\x01\x06! Gratulujemy!\x01", winner);
		PrintToChatAll("[\x02BOT\x01] \x06Wylosowany Gracz otrzymał VIP'a do końca mapy!");
		
		return Plugin_Handled;	
		
	}
}

stock GetRandomPlayer(team)
{
	
	new g_random_player = GetConVarInt(Random_player);
	new clients[MaxClients + 1], clientCount;
	
	for (new i = 1; i <= MaxClients; i++)
	if (IsClientInGame(i) && !IsFakeClient(i) && !GetAdminFlag(GetUserAdmin(i), Admin_Reservation))
	clients[clientCount++] = i;
	
	if (clientCount <= g_random_player)
	return -1;
	
	return clients[GetRandomInt(0, clientCount - 1)];
}

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Niestety plugin na moim serwerze nie nadaje rangi graczowi

Moje .sp:

#include <sourcemod>

public Plugin:myinfo =
{
    name = "Losowy Vip",
    author = "Hanys (Edit by Kempuś)",
    description = "Plugin losuje losową osobę która otrzyma flagi VIP'a",
    version = "1.0",
    url = "http://hanys.dispark.pl"
}

new Handle:Random_player;

public OnPluginStart()
{
    CreateConVar("sm_randomvip", "1.0", "Losowy VIP", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD);
    
    Random_player = CreateConVar("random_player", "0", "Ile osob wymaganych jest do wylosowania losowego vip'a", FCVAR_NOTIFY);
    
    
    AutoExecConfig(true, "sm_vip_random");
}

public OnMapStart()
{

    CreateTimer(240.0, Timer_GiveVIP);

}

public Action:Timer_GiveVIP(Handle:timer)
{
    new winner = GetRandomPlayer(3);
    
    {
    
        if (winner == -1)
        
        {
            
            PrintToChatAll("[\x02BOT\x01] \x06Na serwerze panuje za mała ilość graczy aby rozpocząć losowanie VIP'a\x01");
            
            return Plugin_Handled;
            
        }
    
        AddUserFlags(winner, Admin_Custom6,Admin_Custom1,Admin_Reservation);
        
        PrintToChatAll("[\x02BOT\x01] \x06Trwa losowanie VIP'a...\x01");
        PrintToChatAll("[\x02BOT\x01] \x06-----------------------------\x01");
        PrintToChatAll("[\x02BOT\x01] \x06-----------------------------\x01");
        PrintToChatAll("[\x02BOT\x01] \x06-----------------------------\x01");
        PrintToChatAll("[\x02BOT\x01] \x06Losowym VIP'em zostaje \x02%N\x01\x06! Gratulujemy!\x01", winner);
        PrintToChatAll("[\x02BOT\x01] \x06Wylosowany Gracz otrzymał VIP'a do końca mapy!");
        
        return Plugin_Handled;    
        
    }
}

stock GetRandomPlayer(team)
{
    
    new g_random_player = GetConVarInt(Random_player);
    new clients[MaxClients + 1], clientCount;
    
    for (new i = 1; i <= MaxClients; i++)
    if (IsClientInGame(i) && !IsFakeClient(i) && !GetAdminFlag(GetUserAdmin(i), Admin_Reservation))
    clients[clientCount++] = i;
    
    if (clientCount <= g_random_player)
    return -1;
    
    return clients[GetRandomInt(0, clientCount - 1)];
}

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mam plugin też co nadaje rangę vip i ten, i teraz pytanie dlaczego nie dostaje ta wylosowana osoba vipa? Jak ustawić?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

jest mały problem chciałem sprawdzić czy plugin działa i nie mogę sprawdzić... Bo ktoś musiał mieć dzisiaj szczescie wygrac VIP'a -_-

 

 

 

 

20170316080944_1.jpg

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

U mnie dziala pieknie i ladnie.

Mam tylko pytanie, Mozna zrobic, aby vipa wygralo wiecej niz jedna osoba?

Jesli tam to prosze, powiedziec, gdzie co zmienic i jak ;)

Dziekuje z gory ;)

A i mialem przypadek, ze GOTV wygral vipa :) Fajnie by bylo, jego wylaczyc z poza listy.

 

Edytowano przez Arcanos

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A mi taki blad pokazuje:

L 03/28/2018 - 14:05:06: [SM] Exception reported: Invalid client index 0
L 03/28/2018 - 14:05:06: [SM] Blaming: Vip_Hanys.smx
L 03/28/2018 - 14:05:06: [SM] Call stack trace:
L 03/28/2018 - 14:05:06: [SM]   [0] IsPlayerAlive
L 03/28/2018 - 14:05:06: [SM]   [1] Line 297, C:\Users\Szymon\Desktop\[CS GO] VIP v1.3 by Hanys\csgo\addons\sourcemod\scripting\Vip_Hanys.sp::Command_SendToAll

 

uzywam ten gzie juz z flaga AT jest...

Kto moze mi pomuc? Co ja zle zrobilem?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sprawdź czy gracz jest połączony przed sprawdzeniem czy żyje 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam ! Czy mógłby mi ktoś pomóc i edytowac plugin by nie bralo pod uwagę graczy którzy już tego Vipa posiadaja ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
16 godzin temu, Seko napisał:

Witam ! Czy mógłby mi ktoś pomóc i edytowac plugin by nie bralo pod uwagę graczy którzy już tego Vipa posiadaja ?

 

#include <sourcemod>

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

new Handle:Random_round;
new Handle:Random_player;
new Rounds = 0;

public OnPluginStart()
{
    CreateConVar("sm_randomvip", "1.0", "Losowy VIP", FCVAR_PLUGIN|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 Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
    new winner = GetRandomPlayer(3);
    new g_random_round = GetConVarInt(Random_round);
    
    Rounds = Rounds + 1;
    
    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_Custom1);
        
        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(Handle:event, const String:name[], bool:dontBroadcast)
{
    Rounds = 0;
}

stock GetRandomPlayer(team)
{
    
    new g_random_player = GetConVarInt(Random_player);
    new clients[MaxClients + 1], clientCount;
    
    for (new i = 1; i <= MaxClients; i++)
    if (IsClientInGame(i) && !IsFakeClient(i) &&
!GetAdminFlag(GetUserAdmin(i), Admin_Custom1))
    clients[clientCount++] = i;
    
    if (clientCount <= g_random_player)
    return -1;
    
    return clients[GetRandomInt(0, clientCount - 1)];
}

 

 

 

Edytowany pod Flage "o".

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

fajnie jakby ten plugin dawal graczowi flage.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

25 minut temu, Seko napisał:

fajnie jakby ten plugin dawal graczowi flage.

 

No daje przecież :P 

    AddUserFlags(winner, Admin_Custom1);

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
23 godziny temu, Arcanos napisał:

 

 

No daje przecież :P 

    AddUserFlags(winner, Admin_Custom1);

 

tak niby daje :D ale gdy gracze graja i losuje mi Vipa w 3 rundzie to losuje danego gracza lecz Vipa nie widac :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!

Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.

Zaloguj się


  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

  • Podobna zawartość

    • Przez bvrtusss
      szukam pluginu który doda na serwer reklamy, ale pod listą żywych graczy, a nie na chacie.
      fajnie by było, gdyby dodawał napis, że admin/vip dołączył na serwer
    • Przez Karol Dybała
      Szukam prostego pluginu, który po wpisaniu danej komendy zwraca info na czacie, np.:
       
      !kontakt
       
      Kontakt do [email protected]: xxxxxxx
       
      Z góry dziękuję za pomoc.
    • Przez Krystian Marek Kubiak
      Cześć wszystkim, 
      poszukuje plugin na serwery csgo, który działa na takiej zasadzie jak Fake Rank & Coins by xBonio, ale rangi uzyskuje na podstawie ilości zabitych graczy.
      Np. po 100 fragach awansujesz na Silver I itd.
       
      Liczę na waszą pomoc.
    • Przez bvrtusss
      tak jak w temacie - kredyty z pluginu store by zephyrus codziennie po ileś tam kredytów za daną frazę w nicku
    • Przez Arcanos
      Witam. Jeśli można, to proszę o plugin darmowy Vip w nocy, który dziala dla wszystkich, ale tylko w godzinach nocnych (22-8).
      Jeśli ktoś posiada taki plugin i może go mi udostępnić, to bardzo proszę.. 
      Z góry dziękuję...