Jump to content

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

Posted Image Posted Image

Guest Message by DevFuse
 

Photo

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


  • You cannot start a new topic
  • Please log in to reply
5 replies to this topic

#1 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1,535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Posted 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


Attached Files


  • +
  • -
  • 3

#2 Amaroq

    AMXX Contributor

  • Użytkownik

Reputacja: 304
Wszechpomocny

  • Postów:380
  • GG:
  • Steam:steam
  • Imię:Karol
  • Lokalizacja:Łódź
Offline

Posted 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: 661
Wszechmogący

  • Postów:1,535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Posted 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: 154
Profesjonalista

  • Postów:388
  • Lokalizacja:Polska
Offline

Posted 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 


Edited by mastah7991, 19.04.2015 13:27.

  • +
  • -
  • 1

#5 MAGNET

    SourceLearned ;)

  • Autor tematu
  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1,535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Posted 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

#6 R2.

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:1
  • Imię:Łukasz
Offline

Posted 30.10.2018 23:16

A jest takie coś żeby nie dawano perm tylko żeby było do wyboru 5 min 10 min 30 min 1h 2h 7 dni i perm Coś takiego w menu sm_admin. Było by to ułatwienie i szybsze niż wpisywane bo nie raz gracze mają dziwne nicki i trzeba je kopiować itd. ? Macie takie coś ? I jak tak pytam to fajnie było by też z  banowaniem przez sm_admin z taką opcją czasową 


Edited by R2., 30.10.2018 23:17.

  • +
  • -
  • 0




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users