Skocz do zawartości

Rekomendowane odpowiedzi

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 tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

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

Edytowane przez Pablo

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

jakieś cvary? Nie działa mi plugin

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
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.

 

Edytowane przez Arcanos

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

fajnie jakby ten plugin dawal graczowi flage.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
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 tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Przeglądający   0 użytkowników

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

  • Podobna zawartość

    • Przez KyojiGOD
      Szukam paczki DeathRun CSGO
      Zawartość takiej paczki
      - AutoBH
      - Noże i skiny do nich
      - Wybór freerun/deathrun dla tt
      - Timer z czasem, prędkością i pokazanym najlepszym czasem na mapie 
      - Wybrane przeze mnie modele postaci do VIP'A 
      - Komendy dla graczy takie jak - !rtv !nominate !vip
      - Komenda dla admina !admin z całym panelem (do dogadania na pw) 
      - Komenda dla vipa !vipmenu również z całym panelem wyboru 
      - Sklep z różnymi postaciami i zwierzakami 
      - Sprawnie działające przyznawanie kredytów ,za zabójstwa jak i czas spędzony na serwerze (będzie można za nie kupować rzeczy w sklepie)
      - !vipmenu ma mieć - zmniejszoną  grawitacje, speeda, armor, +50hp, 2x zycie 
      - Komenda !wr dla wszystkich która pokazuje top 50 czasów na serwerze i nicki graczy którzy je zrobili 
      - Zgodność z najnowszym SM 
      - Spolszczenie komend 
      Cena do ugadania
      Zainteresowanych proszę o kontakt https://steamcommunity.com/id/Kajodza/
    • Przez Brawley83
      Cześć,
      Znacie podobny plugin do sm_downloader'a?
      Wyżej wymieniony crashuje mi serwer.
    • Przez milek
      Witam widziałem na internetach tego świata plugin tak zwany fake rank 
      A zalezy mi na pluginie ktory tylko odpowiada za !coins zeby mozna bylo sobie zetonki dodawac
      Za znalezenie tego gorąco podziekuje ! 🙂
    • Przez Bezimienny
      Siema,
      który polecacie działający plugin na tagi na czacie? (Admin, VIP i itp)
       
×