Jump to content
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
DajK

[Brak rozwiązania] Problem w pluginie z prefixem - team say

Recommended Posts

Witam, napotkałem się z problemem takim, że wiadomości [ADMIN], [VIP], [WŁAŚCICIEL] działają na chacie publicznym, ale na teamowym już nie do końca. Wydaję mi się, że mam wszystko dobrze, lecz proszę o porady co do kodu.

Wysyłam kod: 

Spoiler

#include <sourcemod>

#include <multicolors>

#include <cstrike>



// CS_TEAM_T

// CS_TEAM_CT




//{"{default}", "{darkred}", "{green}", "{lightgreen}", "{red}", "{blue}", "{olive}", "{lime}", "{lightred}", "{purple}", "{grey}", "{yellow}", "{orange}", "{bluegrey}", "{lightblue}", "{darkblue}", "{grey2}", "{orchid}", "{lightred2}"};



char prefix[][] = {

    "{darkred}[WŁAŚCICIEL]",

    "{darkblue}[ADMIN]",

    "{purple}[VIP]"

};



int flaga[] = {

    ADMFLAG_ROOT,

    ADMFLAG_BAN,

    ADMFLAG_CUSTOM1

}



public void OnPluginStart() {

    RegConsoleCmd("say", ProcessChat);

    RegConsoleCmd("say_team", ProcessChat_Team);

}



public Action ProcessChat(int client, int args) {

    char buffer[512];

    GetCmdArgString(buffer, sizeof(buffer));

    StripQuotes(buffer);

    if (strlen(buffer) == 0)    return Plugin_Handled;

    if (buffer[0] == '/' || buffer[0] == '!' || buffer[0] == '@')   return Plugin_Handled;



    char prefixBuffer[64];

    Format(prefixBuffer, sizeof(prefixBuffer), "");



    for (int i = 0; i < sizeof(prefix); i++) {

        if (GetUserFlagBits(client) & flaga) {

            Format(prefixBuffer, sizeof(prefixBuffer), "%s", prefix);

            break;

        }

 

    }

 

    CPrintToChatAll("%s%s%N{default}: %s", prefixBuffer, GetClientTeam(client) == CS_TEAM_T ? "{orange}" : "{orange}", client, buffer);

 

    return Plugin_Handled;

}

 

public Action ProcessChat_Team(int client, int args) {

    char buffer[512];

    GetCmdArgString(buffer, sizeof(buffer));

    StripQuotes(buffer);

    if (strlen(buffer) == 0)    return Plugin_Handled;

    if (buffer[0] == '/' || buffer[0] == '!' || buffer[0] == '@')   return Plugin_Handled;

 

    for (int i = 1; i < MAXPLAYERS; i++) {

        if (IsValidClient(i) && GetClientTeam(i) == GetClientTeam(client))

            CPrintToChat(i, "{orchid}(team say) %s%s%N{default}: %s", GraczJestAdminem(client) ? "{darkblue}[ADMIN] " : "", GraczJestVipem(client) ? "{purple}[VIP] " : "", GraczJestWlascicielem(client) ? "{darkred}[WŁAŚCICIEL] " : "", GetClientTeam(client) == CS_TEAM_T ? "{lightred}" : "{lightblue}", client, buffer);

 

    }

 

    return Plugin_Handled;

}

 

bool GraczJestAdminem(int client) {

    if (GetUserFlagBits(client) & ADMFLAG_BAN)  return true;

 

    return false;

}

 

bool GraczJestVipem(int client) {

    if (GetUserFlagBits(client) & ADMFLAG_CUSTOM1)  return true;

 

    return false;

}

 

bool GraczJestWlascicielem(int client) {

    if (GetUserFlagBits(client) & ADMFLAG_ROOT) return true;

 

    return false;

}

 

public bool IsValidClient(int client) {

  if (client >= 1 && client <= MaxClients && IsClientInGame(client))

    return true;

 

  return false;

}

 

prefix-4-.png.edc4f44e123f73f0d2263c2041e31a2d.png
prefix-3-.png.692ec8ae84488f3322e3aebefc199a40.png
prefix-5-.png.4a1eaeb451d86adbcae8b30932593343.png

prefix-3-.png

prefix-5-.png

By Vasto_Lorde,

Pamiętaj o wstawianiu kodu w tagi [code], a jeśli jest długi, to wstawiaj go również w tag [spoiler]. Poprawiam temat ^^

Share this post


Link to post
Share on other sites

Wiadomość wygenerowana automatycznie

 

Temat został zamknięty i przeniesiony do działu "Przestarzałe tematy". Powodem jest brak rozwiązania problemu zawartego w temacie lub brak zainteresowania autora w jego rozwiązaniu.

 

Jeśli się z tym nie zgadzasz, zaraportuj ten post z prośbą o ponowne otwarcie i kontynuację dyskusji.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

Nasza historia

Na początku byliśmy małą grupą internetowych znajomych, którzy stwierdzili, że potrzebne jest solidne forum, na którym znajdą się ludzie z dużą wiedzą programistyczną ukierunkowaną na CS:GO. Pomysł powstał na początku 2018 roku, a parę miesięcy później, 19 kwietnia, powstała ta strona internetowa. Jako alternatywna odpowiedź na inne tego typu miejsca, poważnie podeszliśmy do tematu, najpierw tłumacząc angielską dokumentację SourceMod'a na język polski, a potem pisząc rozległe poradniki i wypełniając forum najpotrzebniejszymi rzeczami dla właścicieli serwerów i programistów. Cała nasza Ekipa jest dumna z pracy jaką w to włożyliśmy i cieszymy się że zbierają się wokół nas zarówno ludzie znający tematy sourcepawn'a i konfiguracji, jak i również nowe twarze w tym "biznesie", którym z chęcią niesiemy wiedzę oraz pomoc w rozwiązywaniu problemów.

Największe modyfikacje serwerowe

×
×
  • Create New...