#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <cstrike>
#include <store>
#pragma newdecls required
#define LoopClients(%1) for(int %1 = 1; %1 <= MaxClients; %1++)\
if(IsClientInGame(%1))
int nagroda_slowa;
int czas_slowa;
int losowe_slowo;
int wpisywanie_slowa;
char dzwieki_serwera[][] =
{
"gagchat/win.mp3",
"gagchat/draw.mp3"
};
char nazwy_slow[][] =
{
"abaddon", "abaka", "abakan", "abakanowicz", "abakus", "abatysa", "abazja", "abazur", "abbeville", "abbowie", "abchaski",
"abchaz", "abchazja", "abchazka", "abdera", "abderycki", "abderyta", "abdomen", "abdukcja", "abduktor", "abdykacja",
"abdykowanie", "abecadlarz", "abecadlnik", "abecadlo", "abecedariusz", "abel", "abelard", "aberracja", "abiatar", "abietyna",
"abiotyczny", "abiram", "abisal", "abisalny", "abisynka", "abiturient", "abiturientka", "abiturientka", "abiudykacja", "ablaktowac",
"ablativus", "ablegier", "ablucja", "abnegatka", "abonament", "abonencki", "abraham", "abraxas", "abrewiacja", "abrewiatura",
"abrupcja", "abruzyjczyk", "abruzyjka", "absencja", "absenteista", "absenteizm", "absolucja", "absolutny", "absolutysta",
"abstrakcyjnie", "abstraktowy", "abstynent", "absurd", "absurdzik", "abudzyjczyk", "abuhassan", "abusimbel", "abuzabijaka",
"accelerando", "accusativus", "acenaften", "acetaldehyd", "acetamid", "acetarsol", "acetofenon", "aceton", "acetyloaceton",
"acetyloceluloid", "acetyloceluloza", "achacjusz", "baadermeinhof", "baalbek", "baalizm", "babadzanian", "babbit", "babeszjoza",
"babiarski", "babilonczyk", "babimojszczyzna", "babimost", "babimor", "babinicz", "babiogorzec", "babirusa", "babulka",
"babunieczka", "babunin", "bachanalia", "bacharach", "bachmann", "bachmat", "bachtin", "bachtinowski", "backhand", "backslash",
"backspace", "backup", "bacyl", "badenbaden", "badian", "badminton", "badylarz", "badylek", "baedeker", "bagatela", "bagazyk",
"bagdad", "bagdadczyk", "baggala", "bagienko", "bagnet", "bagnica", "bagnoznawstwo", "bagrzysta", "bahaizm", "bahama",
"bahamayellow", "bahamczyk", "bahamski", "bahrajnka", "bainit", "bajaderka", "bajbardzo", "bajgiel", "cadillac", "cafe", "cafeteria",
"caillois", "cakewalk", "calcipiryna", "caldarium", "calderon", "caldwell", "calendarium", "callanetics", "callback", "callisto", "calmette",
"calvino", "caloaspektowy", "caloksztalt", "calospektaklowy", "calostka", "cambric", "cambridge", "cambronne", "camembert",
"campanella", "campbell", "campos", "camposanto", "canaveral", "canioning", "cannabis", "canossa", "cantabile", "canticum",
"cantusfirmus", "canzonetta", "capoditutticapi", "caprifolium", "caputmundi", "caravaggio", "caravaggionista", "caravaning",
"cardinale", "cardox", "carewicz", "carezzando", "carillon", "carlsbad", "caruso", "cassapanca", "cassavetes", "casteldelmonte",
"castelgandolfo", "dacholeum", "dachstein", "dacronowy", "dadaista", "daewoo", "dafnia", "dafnischloe", "dagerotyp", "dagestan",
"dagna", "dagomeiudex", "daihatsu", "dakarczyk", "dakotyjczyk", "daktyl", "daktylioteka", "daktylografia", "dalajlama", "dalambercjan",
"dalbergia", "daleczyzna", "dalekowzroczny", "daleszycki", "damaskina", "damietta", "dance", "dandysowaty", "dansingowy",
"dardanelski", "daressalaam", "easyrider", "eaudecologne", "eaudetoilette", "ebuliometryczny", "ebusiness", "echinacea",
"echinocereus", "echoencefalograf", "echoencefaloskop", "echooftalmografia", "ecydiospor", "eddington", "edredonowy",
"edynburczyk", "efronteria", "egzemplifikowanie", "fabliaux", "factoringowy", "factoryoutlet", "fagocytoblast", "fahrenheit", "fakelcug",
"gaertner", "galaktodendron", "galaktometr", "galaretnica", "galileoskop", "galimatias", "galluryjski", "gallux", "habermas",
"habsburzanka", "hacel", "hachettemedia", "haendel", "hafizibrahim", "hajdarabadzki", "hakenkreuz", "halibakterie", "halluks",
"halotrychit", "hamburczyk", "iblowiec", "Ibnsina", "ichneumon", "iglesias", "iguanodont", "jackpot", "jakobinizm", "kabaniarstwo",
"kabirpanth", "kacenjamer", "kacykowy", "kadaweryna", "kadmoorganiczny", "kadzidlowiec", "kafarek", "kafarnaum", "kaffenhauz",
"kagulard", "labiodentalny", "lacedemonka", "laicyzacja", "lakierowy", "laktobutyrometr", "lalofobia", "lamborghini", "maastricht",
"macdonald", "machault", "machiawelizm", "maczugowato", "madiaryzacja", "magistrant", "magmowaty", "nabrzmiewanie",
"nachiczewan", "nacjonalista", "naczelniczy", "obcasowy", "obcoplemienny", "oberhausen", "obersztlejtnant"
};
public void OnPluginStart()
{
CreateConVar("GagChat", "1.0", "Linux`");
CreateTimer(GetRandomFloat(120.0, 360.0), WpisujSlowo);
RegConsoleCmd("say", Chat);
RegConsoleCmd("say_team", Chat);
}
public void OnMapStart()
{
for(int i = 0; i < sizeof dzwieki_serwera; i ++)
{
char sound_serwer[512];
Format(sound_serwer, sizeof(sound_serwer), "sound/%s", dzwieki_serwera[i]);
AddFileToDownloadsTable(sound_serwer);
}
}
public Action Chat(int client, int args)
{
char sName[64];
GetClientName(client, sName, sizeof(sName));
ReplySource old = SetCmdReplySource(SM_REPLY_TO_CHAT);
char text[192];
GetCmdArg(1, text, sizeof(text));
if(strcmp(text, "", false) != 0)
{
if(StrContains(text, nazwy_slow[losowe_slowo], false) != -1 && wpisywanie_slowa)
{
PrintToChatAll("\x0B \x09***\x03 Gratulacje\x04 %s\x03 wygral\x04 %i\x03 kredytow :)\x09 ***", sName, nagroda_slowa);
LoopClients(i)
ClientCommand(i, "play *%s", dzwieki_serwera[0]);
AddCoins(client, nagroda_slowa);
wpisywanie_slowa = 0;
}
}
SetCmdReplySource(old);
}
public Action WpisujSlowo(Handle timer)
{
if(!wpisywanie_slowa)
{
czas_slowa = 7;
nagroda_slowa = GetRandomInt(1000, 4000);
losowe_slowo = GetRandomInt(0, sizeof nazwy_slow - 1);
wpisywanie_slowa = 1;
PrintToChatAll("\x0B \x09***\x03 Kto pierwszy wpisze\x04 [%s]\x03 wygra\x04 %i\x03 kredytow -\x04 %d\x03 sekund\x09 ***", nazwy_slow[losowe_slowo], nagroda_slowa, czas_slowa);
CreateTimer(1.0, OdswiezSlowo);
CreateTimer(GetRandomFloat(120.0, 360.0), WpisujSlowo);
}
}
public Action OdswiezSlowo(Handle timer)
{
if(wpisywanie_slowa)
{
czas_slowa--;
if(czas_slowa > 0)
{
CreateTimer(1.0, OdswiezSlowo);
PrintToChatAll("\x0B \x09***\x03 Kto pierwszy wpisze\x04 [%s]\x03 wygra\x04 %i\x03 kredytow -\x04 %d\x03 sekund\x09 ***", nazwy_slow[losowe_slowo], nagroda_slowa, czas_slowa);
}
else
{
PrintToChatAll("\x0B \x09***\x03 Niestety nikt nie wygral :(\x09 ***");
LoopClients(i)
ClientCommand(i, "play *%s", dzwieki_serwera[1]);
wpisywanie_slowa = 0;
}
}
}
public void AddCoins(int client, int amount)
{
amount += Store_GetClientCredits(client);
SetCoins(client, amount);
}
public void SetCoins(int client, int amount)
{
Store_SetClientCredits(client, amount);
}