Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

Drukowanie komend na chat


Hacker
 Udostępnij

Rekomendowane odpowiedzi

Witam, napisałem plugin z plikiem kv, który drukuje na chat daną zawartość po wpisaniu odpowiedniej komendy. Problem w tym, że po skonfigurowaniu kilku komend, na chat drukowana jest tylko ostatnia wartość zmiennej "chat". Mógłby mi ktoś poprawić plugin, ponieważ nie mam pomysłu jak to zrobić?

 

#pragma semicolon 1
#pragma newdecls required

#include <sourcemod>
#include <multicolors>


// Info o pluginie
public Plugin myinfo =  {
	name = "Komendy na chat", 
	author = "Hacker", 
	description = "Wyswietla daną zawartość po wpisaniu komendy.",
	version = "1.0", 
	url = "http://steamcommunity.com/profiles/76561198869954658"
};
char komenda[16];
char chat[128];

public void OnPluginStart() 
{
	LoadConfig();
    RegAdminCmd("sm_komendyreload", ReloadConfig, ADMFLAG_ROOT);
}

public Action ReloadConfig(int client, int args) 
{
    LoadConfig();
    CPrintToChat(client, "{lightred}☆ Komendy na chat ☆ {lime}Pomyślnie przeładowano plugin.");

}


void LoadConfig() 
{
    char path[PLATFORM_MAX_PATH];
    BuildPath(Path_SM, path, sizeof(path), "configs/komendy_chat.cfg");
    // Sprawdzanie błędów
    if(!FileExists(path)) {
        SetFailState("Plik konfiguracjyny %s nie został odnaleziony", path);
        return;
    }
    KeyValues kv = new KeyValues("menu");
    // Sprawdzanie błędów
    if (!kv.ImportFromFile(path)) {
        SetFailState("Błąd odczytu danych z pliku konfiguracyjnego");
        delete kv;
        return;
    }

    kv.GotoFirstSubKey();
    //Pobieranie danych z kv
    do { 
        kv.GetString("komenda", komenda, sizeof(komenda));
        kv.GetString("chat", chat, sizeof(chat));
        RegConsoleCmd(komenda, drukowanie);
        }
    while (kv.GotoNextKey());
    delete kv;
    return;
}

public Action drukowanie(int client, int args) {
    CPrintToChat(client, chat);
    }

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

×
×
  • Dodaj nową pozycję...