Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[CS:GO] Perm MutePlugin pozwalący na permamentne zmutowanie gracza


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 625
Wszechmogący

  • Postów:1510
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 18.04.2015 23:31

Opis




Plugin ma za zadanie mutować graczy permamentnie. Tyle.
Napisanie go zajęło mi 10 minut, jednak myślę, że okaże się przydatny.

Konfiguracja




Otwieramy sma i szukamy linijki nr 27:
c_ma_mute = RegClientCookie("PermMute", "PermMute", CookieAccess_Private);
Jedyne co musimy zrobić, to zmienić obydwa parametry "PermMute" na własne, ich nazwa nie ma znaczenia, jednak muszą być one takie same.
Plugin nie posiada zapisu sql, tylko operuje na cookiesach, które implementują u gracza ciasteczko, sprawdzane podczas łączenia się z serwerem. Pozwala to na wiele udogodnień, np. posiadająć sieć można wgrać na wszystkie serwery ten sam plugin z identycznymi nazwami wyżej wspomnianych parametrów, co uniemożliwi delikwentowi komunikację na wszystkich serwerach bez potrzeby zakładania bazy danych.

Komendy



mutemenu - otwiera menu mutowania (wywoływane w konsoli)

Download


Załączone pliki


  • +
  • -
  • 3

#2 Ni3znajomy

    AMXX Contributor

  • Użytkownik

Reputacja: 301
Wszechpomocny

  • Postów:379
  • GG:
  • Steam:steam
  • Imię:Karol
  • Lokalizacja:Lębork
Offline

Napisano 19.04.2015 01:54

Moim zdaniem to lepiej byłoby napisać ten plugin już pod nową składnię, gdyż SM 1.7 został już stabilną wersją. Przydałoby się poprawić/zmienić parę rzeczy.

new String:nick[MAXPLAYERS+1][33];

na

new String:nick[MAXPLAYERS+1][MAX_NAME_LENGTH];

Zamienić to

RegConsoleCmd("mutemenu", MuteMenu);

na

RegAdminCmd("mutemenu", MuteMenu, ADMFLAG_GENERIC);

w związku z powyższym usunąć to

public Action:MuteMenu(client,args)
{
    if(CheckCommandAccess(client, "generic_admin", ADMFLAG_RESERVATION, false))    MuteMenu2(client);
}

i zamienić

public Action:MuteMenu2(client)

na

public Action:MuteMenu(client,args)

Usunąć to

for(new client = 1; client <= MaxClients; client++)
        {
            if(IsClientInGame(client))
            {
                if(AreClientCookiesCached(client))
                {
                    OnClientCookiesCached(client);
                }
            }
        }

Prawdę mówiąc nie wiem co to ma na celu, forward OnClientCookiesCached sam się wywołuje, jak wczyta ciasteczka.

GetClientName(client, nick[client], 32);

->

GetClientName(client, nick[client], MAX_NAME_LENGTH);

Do usunięcia

OnClientCookiesCached(client);

To też out

public OnPluginEnd()
{
    for(new client = 1; client <= MaxClients; client++)
    {
        if(IsClientInGame(client))
        {
            OnClientDisconnect(client);
        }
    }
}

ponieważ OnClientDisconnect wykonuje się przy zmianie mapy, więc dodatkowe wywołanie go jest chyba bezcelowe :P

 

Tutaj mały błąd

for(new i=1;i<GetMaxClients();i++)

na

for(new i=1;i<=MaxClients;i++)

i mała poprawka

new String:buffer[50];
new String:poz[10];
for(new i=1;i<=MaxClients;i++)
    {
        if(!IsClientInGame(i))    continue;

        FormatEx(buffer, 49, "%s %s", nick[i], ma_mute[i] ? "[MUTED]" : "");
        FormatEx(poz, 9, "%i", i);

        AddMenuItem(menu, poz, buffer);
    }

Zmienne przeniesione poza pętle + zmiana z Format na FormatEx

 


  • +
  • -
  • 2
Plugin informujący o zabiciu zakładnika (wysyła do admina na say nick gracza oraz zapisuje o tym logi) - Hostage Killer v1.3.3
DarkGL to mój autorytet.

#3 MAGNET

    SourceLearned ;)

  • Autor tematu
  • Moderator

Reputacja: 625
Wszechmogący

  • Postów:1510
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 19.04.2015 09:27

O święty Jacku. Nie mogłeś od razu dać całego kodu? Jak zawsze czepialscy się znajdą brrrr
  • +
  • -
  • 1

#4 mastah7991

    Wszechpomocny

  • Użytkownik

Reputacja: 146
Zaawansowany

  • Postów:388
  • Lokalizacja:Polska
Offline

Napisano 19.04.2015 13:24

proponuje dodać

RegConsoleCmd("sm_pmute", jakas_tam_funkcja);

public Action:jakas_tam_funkcja(clien,args)
{ 
	if (args < 1)
	{
		MenuMute(client);
	}
	new String:arg[64];
	GetCmdArg(1, arg, sizeof(arg));

	new target = FindTarget(client, arg);


	if (target == -1)
	{


		return Plugin_Handled; // FindTarget sends messages.
	}
	Pmute(target); //nie wiem czy w tabeli trzymasz czy cos wiec dalem procedurę pmutującą gracza
}
	 

wygodniej dawać przez komendę niż szukać graczy 


Użytkownik mastah7991 edytował ten post 19.04.2015 13:27

  • +
  • -
  • 1

#5 MAGNET

    SourceLearned ;)

  • Autor tematu
  • Moderator

Reputacja: 625
Wszechmogący

  • Postów:1510
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 19.04.2015 13:33

Wg mnie lepiej odnaleźć gracza w menu - nie musisz szukać nicku, nie zrobisz błędu. Poza tym widzisz, kto jest zmutowany


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych