#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
new const FileName[] = "/keys.ini";
new Array:Keys;
new Array:SlashedKeys;
public plugin_init()
{
register_plugin("losuj_nagrode", "1.0", "Klakier");
Keys = ArrayCreate(124, 30);
SlashedKeys = ArrayCreate(124, 30);
register_clcmd("say /losuj_nagrode", "losuj_nagrode");
//LoadKeys()
}
public plugin_end()
{
ArrayDestroy(Keys);
ArrayDestroy(SlashedKeys);
}
public losuj_nagrode(id)
{
LoadKeys()
if(!ArraySize(Keys))
{
ColorChat(id, RED, "Nie ma keyow!")
return PLUGIN_CONTINUE;
}
//new rand = random_num(0, ArraySize(Keys));
new rand = 0; // bierze pierwszy element tablicy
new string[64];
ArrayGetString(Keys, rand, string, charsmax(string));
for(new i=1; i<=4; i++)
ColorChat(id, GREEN, "WYGRALES KEY (ZOBACZ KONSOLE)!: ^x04%s", string);
for(new i=1; i<=2; i++)
console_print(id, "WYGRANY KEY!: %s", string)
ArrayDeleteItem(Keys, rand);
SaveKeys();
return PLUGIN_CONTINUE;
}
public LoadKeys()
{
ArrayClear(Keys);
ArrayClear(SlashedKeys);
new szConfigsDir[60];
get_configsdir(szConfigsDir, charsmax(szConfigsDir));
add(szConfigsDir, charsmax(szConfigsDir), FileName);
new iFile = fopen(szConfigsDir, "rt");
if(!iFile)
{
//client_print(0, print_chat, "Brak pliku keys.ini")
return;
}
new szBuffer[120];
while(!feof(iFile))
{
fgets(iFile, szBuffer, charsmax(szBuffer));
trim(szBuffer);
remove_quotes(szBuffer);
if((szBuffer[0] == '/' && szBuffer[1] == '/') || szBuffer[0] == ';')
{
ArrayPushString(SlashedKeys, szBuffer)
continue;
}
ArrayPushString(Keys, szBuffer);
}
fclose(iFile);
}
public SaveKeys()
{
new szConfigsDir[64];
get_configsdir(szConfigsDir, charsmax(szConfigsDir));
add(szConfigsDir, charsmax(szConfigsDir), FileName);
if(file_exists(szConfigsDir))
delete_file(szConfigsDir);
new iFile = fopen(szConfigsDir, "wt");
new szBuffer[120], aData[120];
for(new i = 0; i < ArraySize(SlashedKeys); i++)
{
ArrayGetString(SlashedKeys, i, aData, charsmax(aData));
if(!aData[0]) continue;
formatex(szBuffer, charsmax(szBuffer), "%s^n", aData);
fputs(iFile, szBuffer);
}
for(new i = 0; i < ArraySize(Keys); i++)
{
ArrayGetString(Keys, i, aData, charsmax(aData));
if(!aData[0]) continue;
formatex(szBuffer, charsmax(szBuffer), "^"%s^"^n", aData);
//formatex(szBuffer, charsmax(szBuffer), "%s^n", aData);
fputs(iFile, szBuffer);
}
fclose(iFile);
}