Skocz do zawartości
KyOTV

Komendy na serwer

Rekomendowane odpowiedzi

Siemka,

potrzebuję plugin który po wpisaniu !afk przenosi gracza na spekta 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
#include <sourcemod>
#include <sdktools>
#include <cstrike>

public void OnPluginStart() {
    RegConsoleCmd("sm_afk", AFK);
}

public Action AFK(int client, int args) {
    int CTPlayers = GetTeamClientCount(CS_TEAM_CT);
    int TTPlayers = GetTeamClientCount(CS_TEAM_T);

    if (GetClientTeam(client) == CS_TEAM_CT || GetClientTeam(client) == CS_TEAM_T) {
        CS_SwitchTeam(client, CS_TEAM_SPECTATOR);
        PrintToChat(client, "Zostałeś przeniesiony do afków!");
    }
    else if (GetClientTeam(client) == CS_TEAM_SPECTATOR || GetClientTeam(client) == CS_TEAM_NONE) {
        if (CTPlayers < TTPlayers) {
            CS_SwitchTeam(client, CS_TEAM_CT);
            PrintToChat(client, "Zostałeś przeniesiony do CT");
        }
        else if (CTPlayers > TTPlayers) {
            CS_SwitchTeam(client, CS_TEAM_T);
            PrintToChat(client, "Zostałeś przeniesiony do T!");
        }
        else {
            CS_SwitchTeam(client, GetRandomInt(CS_TEAM_T, CS_TEAM_CT));
            CreateTimer(1.0, SprawdzaDoJakiejDruzynyWybraloGracza, client);
        }
    }
}

public Action SprawdzaDoJakiejDruzynyWybraloGracza(Handle timer, int client) {
    if (GetClientTeam(client) == CS_TEAM_T) {
        PrintToChat(client, "Zostałeś przeniesiony do T!");
    }
    else {
        PrintToChat(client, "Zostałeś przeniesiony do CT!");
    }
}

Tu sie troche pobawiłem i plugin powinnien losować wybór drużyny(gdy wszedzie jest tyle samo graczy, a jezeli w jakims teamie jest mniej to plugin dodaje do niego gracza) jeżeli gracz wpisze !afk jak jest w spect, jeżeli nie jest to dodaje do spect (tak samo niżej)

 

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

public void OnPluginStart() {
    RegConsoleCmd("sm_afk", AFK);
}

public Action AFK(int client, int args) {
    int CTPlayers = GetTeamClientCount(CS_TEAM_CT);
    int TTPlayers = GetTeamClientCount(CS_TEAM_T);

    if (GetClientTeam(client) == CS_TEAM_CT || GetClientTeam(client) == CS_TEAM_T) {
        CS_SwitchTeam(client, CS_TEAM_SPECTATOR);
        PrintToChat(client, "Zostałeś przeniesiony do afków!");
    }
    else if (GetClientTeam(client) == CS_TEAM_SPECTATOR || GetClientTeam(client) == CS_TEAM_NONE) {
        if (CTPlayers < TTPlayers) {
            CS_SwitchTeam(client, CS_TEAM_CT);
            PrintToChat(client, "Zostałeś przeniesiony do CT");
        }
        else if (CTPlayers > TTPlayers) {
            CS_SwitchTeam(client, CS_TEAM_T);
            PrintToChat(client, "Zostałeś przeniesiony do T!");
        }
        else {
            CS_SwitchTeam(client, CS_TEAM_CT);
            PrintToChat(client, "Zostałeś przeniesiony do CT!");
        }
    }
}

a tu masz cos bezpieczniejszego w razie czego i jeżeli jest w każdym teamie równo, to plugin powinnien przenieść do CT, gdy jest w spect.

 

Mam nadzieje, że będzie działać 😄
 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...