Skocz do zawartości
Ruzio

[Rozwiązane] Prosba o przerobienie pluginu

Rekomendowane odpowiedzi

Witam wszystkich

Chcialbym aby ten kod przerobic, tak by dzialal on pod komenda "!wycisz" [ON/OFF] i mogl on wlaczac i wylaczac to tylko admin

Po wlaczeniu tej komendy pisalo by na chacie

"Komenda wlaczona" tylko dla osoby wywolujaca ta komende

Po wylaczeniu

"Komenda wlaczona" tylko dla osoby wywolujaca ta komende

 

#pragma semicolon 1

#define DEBUG

#define PLUGIN_AUTHOR "NWayne"
#define PLUGIN_VERSION "1.00"

#include <sourcemod>
#include <cstrike>
#include <sdkhooks>
#include <sdktools>
#include <basecomm>
#include <voiceannounce_ex>

#pragma newdecls required

public Plugin myinfo = 
{
    name = "[CS:GO/CS:S] When admin talks better stay quiet",
    author = PLUGIN_AUTHOR,
    description = "The plugin mutes all of player when admin's talking!",
    version = PLUGIN_VERSION,
    url = "https://www.nwayne.eu/"
};

ConVar Notify_Enabled;

bool g_playersnotify[MAXPLAYERS + 1];

public void OnPluginStart()
{
    Notify_Enabled = CreateConVar("Is_Notify_Enabled", "1", "1 - Player will see the notification | Diffrent value makes it off");
    RegConsoleCmd("sm_powiadomienia", Cmd_Notify);
}

public void OnClientPutInServer(int client)
{
    g_playersnotify[client] = true;
}

public void OnClientDisconnect(int client)
{
    g_playersnotify[client] = false;
}

public Action Cmd_Notify(int client, int args)
{
    if(IsClientInGame(client))
    {
        if(g_playersnotify[client] == true)
        {
            g_playersnotify[client] = false;
            PrintHintText(client, "Powiadomienia zostaly<span color='#FF0000'> Wylaczone</span>!");
            
        } else {
        
            g_playersnotify[client] = true;
            PrintHintText(client, "Powiadomienia zostaly<span color='#00FF00'> Wlaczone</span>!");
            
        }    
    }
}

public void OnClientSpeakingEx(int client)
{
    if (GetAdminFlag(GetUserAdmin(client), Admin_Ban))
    {
        for (int i = 1; i <= MaxClients; i++)
        {
            if (IsClientInGame(i))
            {
                /* < - Wysyla Powiadomienie - > */
                PrintNotify(i);
                /* < - Wycisza Wszystkich Wszystkich - > */
                SetClientListeningFlags(i, VOICE_MUTED);
                /* <- Sprawdza czy gracz posiada flage admina i czy nie byl wczesniej mutowany! -> */
                if (GetAdminFlag(GetUserAdmin(i), Admin_Ban) && !BaseComm_IsClientMuted(i))
                {
                    /* <- Jesli wszystko jest okej, pozwala mu mowic -> */
                    SetClientListeningFlags(i, VOICE_NORMAL);
                }
            }
        }
    }
}

public void OnClientSpeakingEnd(int client)
{
    for (int i = 1; i <= MaxClients; i++)
    {
        if(IsClientInGame(i))
        {
            if (!BaseComm_IsClientMuted(i))
            {
                SetClientListeningFlags(i, VOICE_NORMAL);
            }
        }
    }
}

public Action PrintNotify(int client)
{
    if (GetConVarInt(Notify_Enabled) == 1) 
        return Plugin_Continue;
        
    if(g_playersnotify[client] == true && !GetAdminFlag(GetUserAdmin(client), Admin_Ban))
    {
        PrintHintText(client, "%N zostales wyciszony! Przemawia<span color='#FF0000'> Admin</span>!", client);
    }
    return Plugin_Handled;
}

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

NIeaktualne, przeczytalem kod XD

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Problem został rozwiązany

Jeżeli się z tym nie zgadzasz, raportuj ten post

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ę...