Skocz do zawartości
karakantoziomal

[Rozwiązane] Dodanie flagi na komendę

Rekomendowane odpowiedzi

Siemanko, próbuję zrobić plugin, który pozwoli mi na dodanie użytkownikowi flagi przez komendę.

Zamysł: !addvip <gracz>

 

Jakieś podpowiedzi? Mam tylko coś takiego:

public Action Cmd_AddVip(int client, int args) {
	if (args != 1) {
		PrintToChat(client, "[SM] Usage: sm_addvip <player>");
		return Plugin_Handled;
	}

	char player[32];
	GetCmdArg(1, player, sizeof(player));

	if(!IsFakeClient(player) && !IsClientSourceTV(player))
		AddUserFlags(player, Admin_Custom1);

	return Plugin_Handled;
}

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
#pragma semicolon 1

#include <sdktools>

#pragma newdecls required

public void OnPluginStart()
{
    RegConsoleCmd("sm_addvip", Cmd_AddVip);
    LoadTranslations("common.phrases");
}

public Action Cmd_AddVip(int client, int args)
{
    if(!(GetUserFlagBits(client) & ADMFLAG_ROOT))
    {
        PrintToChat(client, "Nie posiadasz uprawnień do tej komendy!");
        return Plugin_Handled;
    }

    char sArg[32]; 
    GetCmdArg(1, sArg, sizeof(sArg));

    if(args < 1)
    {
        PrintToChat(client, " \x06Użycie: sm_addvip <#userid|Nick>");
        return Plugin_Handled;
    }


    char strTargetName[MAX_TARGET_LENGTH];
    int TargetList[MAXPLAYERS], TargetCount;
    bool TargetTranslate;

    if((TargetCount = ProcessTargetString(sArg, client, TargetList, MAXPLAYERS, COMMAND_FILTER_CONNECTED|COMMAND_FILTER_NO_MULTI|COMMAND_FILTER_NO_IMMUNITY, strTargetName, sizeof(strTargetName), TargetTranslate)) <= 0) 
    {
        ReplyToTargetError(client, TargetCount);
        return Plugin_Handled;
    }

    for(int i = 0; i < TargetCount; i++) 
    {
        int iTarget = TargetList[i];

        if(IsClientInGame(iTarget) && !IsFakeClient(iTarget) && !IsClientSourceTV(iTarget))
        {
                char sAdminName[64], sPlayerName[64];
                GetClientName(client, sAdminName, sizeof(sAdminName));
                GetClientName(iTarget, sPlayerName, sizeof(sPlayerName));

                AddUserFlags(iTarget, Admin_Custom1);
                PrintToChatAll(" Admin \x10%s \x01dał graczowi \x06%s \x01vipa!", sAdminName, sPlayerName);
        }
    }

    return Plugin_Handled;
}

Proszę, dodałem jeszcze flagę Z dla komendy !addvip.

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