#include <amxmodx>
#include <amxmisc>
new const PLUGIN[] = "Fegyver Ölés Rendszer";
new const VERSION[] = "1.0";
new const AUTHOR[] = "Fulco.";
new const PREFIX[] = "Információ";
new Oles[33], filename[128]
new M4A1Oles[33], AK47Oles[33], AWPOles[33], FAMASOles[33], MP5NAVYOles[33], M3SHOTGUNOles[33], SCOUTOles[33], DEAGLEOles[33], USPOles[33], KESOles[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /fegyveroles", "FegyverKills");
register_event("DeathMsg", "FegyverOlesek", "a");
set_task(120.0, "OlesVezet",_,_,_, "b");
set_task(60.0, "Uzenet",_,_,_, "b");
get_localinfo("amxx_configsdir", filename, charsmax(filename))
format(filename, charsmax(filename), "%s/Mentes.ini", filename)
}
public FegyverKills(id) {
new MenuString[512], Menu;
formatex(MenuString, 127, "\wFegyver\y*\r Ölés\d Rendszer^n\rÖsszes\w Ölés:\y [\d%d\y]^n\dOldal:\r", Oles[id])
Menu = menu_create(MenuString, "FegyverKillsh")
if(M4A1Oles[id] >= 100000) {
formatex(MenuString, 127, "\wMarverick\r M4A1\y [Teljesítve]")
menu_additem(Menu, MenuString, "1")
}
else {
format(MenuString, 127, "\wMarverick\r M4A1\y [\d%d\r/\d100.000\y]", M4A1Oles[id])
menu_additem(Menu, MenuString, "1")
}
if(AK47Oles[id] >= 100000) {
formatex(MenuString, 127, "\wAlexander Kalasnyikov\r AK47\y [Teljesítve]")
menu_additem(Menu, MenuString, "2")
}
else {
format(MenuString, 127, "\wAlexander Kalasnyikov\r AK47\y [\d%d\r/\d100.000\y]", AK47Oles[id])
menu_additem(Menu, MenuString, "2")
}
if(AWPOles[id] >= 100000) {
formatex(MenuString, 127, "\wAWP\r Magnum\y [Teljesítve]")
menu_additem(Menu, MenuString, "3")
}
else {
formatex(MenuString, 127, "\wAWP\r Magnum\y [\d%d\r/\d100.000\y]", AWPOles[id])
menu_additem(Menu, MenuString, "3")
}
if(FAMASOles[id] >= 100000) {
formatex(MenuString, 127, "\wSt. Étienne\r Famas\y [Teljesítve]")
menu_additem(Menu, MenuString, "4")
}
else {
formatex(MenuString, 127, "\wSt. Étienne\r Famas\y [\d%d\r/\d100.000\y]", FAMASOles[id])
menu_additem(Menu, MenuString, "4")
}
if(MP5NAVYOles[id] >= 100000) {
formatex(MenuString, 127, "\wSMG\r MP5NAVY\y [Teljesítve]")
menu_additem(Menu, MenuString, "5")
}
else {
formatex(MenuString, 127, "\wSMG\r MP5NAVY\y [\d%d\r/\d100.000\y]", MP5NAVYOles[id])
menu_additem(Menu, MenuString, "5")
}
if(M3SHOTGUNOles[id] >= 100000) {
formatex(MenuString, 127, "\wM3\r SHOTGUN\y [Teljesítve]")
menu_additem(Menu, MenuString, "6")
}
else {
formatex(MenuString, 127, "\wM3\r SHOTGUN\y [\d%d\r/\d100.000\y]", M3SHOTGUNOles[id])
menu_additem(Menu, MenuString, "6")
}
if(SCOUTOles[id] >= 100000) {
formatex(MenuString, 127, "\wTávcsöves puska\r SCOUT\y [Teljesítve]")
menu_additem(Menu, MenuString, "7")
}
else {
formatex(MenuString, 127, "\wTávcsöves puska\r SCOUT\y [\d%d\r/\d100.000\y]", SCOUTOles[id])
menu_additem(Menu, MenuString, "7")
}
if(DEAGLEOles[id] >= 100000) {
formatex(MenuString, 127, "\wDesert Eagle\r .50 AE\y [Teljesítve]")
menu_additem(Menu, MenuString, "8")
}
else {
formatex(MenuString, 127, "\wDesert Eagle\r .50 AE\y [\d%d\r/\d100.000\y]", DEAGLEOles[id])
menu_additem(Menu, MenuString, "8")
}
if(USPOles[id] >= 100000) {
formatex(MenuString, 127, "\wUSP\r .45 ACP Tactical\y [Teljesítve]")
menu_additem(Menu, MenuString, "9")
}
else {
formatex(MenuString, 127, "\wUSP\r .45 ACP Tactical\y [\d%d\r/\d100.000\y]", USPOles[id])
menu_additem(Menu, MenuString, "9")
}
if(KESOles[id] >= 100000) {
formatex(MenuString, 127, "\wKĂ©s\y [Teljesítve]")
menu_additem(Menu, MenuString, "10")
}
else {
formatex(MenuString, 127, "\wKĂ©s\y [\d%d\r/\d100.000\y]", KESOles[id])
menu_additem(Menu, MenuString, "10")
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_setprop(Menu, MPROP_NEXTNAME, "Előre");
menu_setprop(Menu, MPROP_BACKNAME, "Vissza");
menu_setprop(Menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, Menu, 0)
return PLUGIN_HANDLED
}
public FegyverKillsh(id, Menu, item) {
if(item == MENU_EXIT) {
menu_destroy(Menu)
return PLUGIN_HANDLED
}
new Data[9], access, callback, szName[64]
menu_item_getinfo(Menu, item, access, Data,charsmax(Data), szName,charsmax(szName), callback)
//new Key = str_to_num(Data)
FegyverKills(id)
menu_destroy(Menu)
return PLUGIN_HANDLED
}
public FegyverOlesek() {
new Gyilkos = read_data(1)
new Aldozat = read_data(2)
new Jatekos[32]
get_user_name(Gyilkos, Jatekos, 31)
if(Gyilkos == Aldozat || Gyilkos == 0) {
return PLUGIN_HANDLED
}
Oles[Gyilkos]++
switch(get_user_weapon(Gyilkos)) {
case CSW_M4A1: M4A1Oles[Gyilkos]++;
case CSW_AK47: AK47Oles[Gyilkos]++;
case CSW_AWP: AWPOles[Gyilkos]++;
case CSW_FAMAS: FAMASOles[Gyilkos]++;
case CSW_MP5NAVY: MP5NAVYOles[Gyilkos]++;
case CSW_M3: M3SHOTGUNOles[Gyilkos]++;
case CSW_SCOUT: SCOUTOles[Gyilkos]++;
case CSW_DEAGLE: DEAGLEOles[Gyilkos]++;
case CSW_USP: USPOles[Gyilkos]++;
case CSW_KNIFE: KESOles[Gyilkos]++;
}
if(M4A1Oles[Gyilkos] == 100000) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Elérte a(z)!g M4A1Ölés-t", PREFIX, Jatekos);
return PLUGIN_HANDLED
}
else if(M4A1Oles[Gyilkos] == 100000) {
return PLUGIN_HANDLED
}
else if(AK47Oles[Gyilkos] == 100000) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Elérte a(z)!g AK47Ölés-t", PREFIX, Jatekos);
return PLUGIN_HANDLED
}
else if(AWPOles[Gyilkos] == 100000) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Elérte a(z)!g AWPÖlés-t", PREFIX, Jatekos);
return PLUGIN_HANDLED
}
else if(FAMASOles[Gyilkos] == 100000) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Elérte a(z)!g FAMASÖlés-t", PREFIX, Jatekos);
return PLUGIN_HANDLED
}
else if(MP5NAVYOles[Gyilkos] == 100000) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Elérte a(z)!g MP5Ölés-t", PREFIX, Jatekos);
return PLUGIN_HANDLED
}
else if(M3SHOTGUNOles[Gyilkos] == 100000) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Elérte a(z)!g M3Ölés-t", PREFIX, Jatekos);
return PLUGIN_HANDLED
}
else if(SCOUTOles[Gyilkos] == 100000) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Elérte a(z)!g SCOUTÖlés-t", PREFIX, Jatekos);
return PLUGIN_HANDLED
}
else if(DEAGLEOles[Gyilkos] == 100000) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Elérte a(z)!g DEAGLEÖlés-t", PREFIX, Jatekos);
return PLUGIN_HANDLED
}
else if(USPOles[Gyilkos] == 100000) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Elérte a(z)!g USPÖlés-t", PREFIX, Jatekos);
return PLUGIN_HANDLED
}
else if(KESOles[Gyilkos] == 100000) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Elérte a(z)!g KesÖlés-t", PREFIX, Jatekos);
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public client_authorized(id) {
if(!is_user_bot(id) && !is_user_hltv(id)) {
Betoltes(id)
}
}
public client_disconnect(id) {
if(!is_user_bot(id) && !is_user_hltv(id)) {
Mentes(id)
}
}
public Mentes(id) {
new szData[128], szName[32]
get_user_name(id, szName, charsmax(szName))
formatex(szData, charsmax(szData), "%i %i %i %i %i %i %i %i %i %i %i", Oles[id], M4A1Oles[id], AK47Oles[id], AWPOles[id], FAMASOles[id], MP5NAVYOles[id], M3SHOTGUNOles[id], SCOUTOles[id], DEAGLEOles[id], USPOles[id], KESOles[id])
set_data(szName, szData)
}
public Betoltes(id) {
new szData[128], szName[32]
get_user_name(id, szName, charsmax(szName))
if(get_data(szName, szData, charsmax(szData))) {
new Oles1[32], M4A1Oles1[32], AK47Oles1[32], AWPOles1[32], FAMASOles1[32], MP5NAVYOles1[32], M3SHOTGUNOles1[32], SCOUTOles1[32], DEAGLEOles1[32], USPOles1[32], KESOles1[32]
parse(szData, Oles1, charsmax(Oles1), M4A1Oles1, charsmax(M4A1Oles1), AK47Oles1, charsmax(AK47Oles1), AWPOles1, charsmax(AWPOles1), FAMASOles1, charsmax(FAMASOles1), MP5NAVYOles1, charsmax(MP5NAVYOles), M3SHOTGUNOles1, charsmax(M3SHOTGUNOles1), SCOUTOles1, charsmax(SCOUTOles1), DEAGLEOles1, charsmax(DEAGLEOles1), USPOles1, charsmax(USPOles1), KESOles1, charsmax(KESOles1))
Oles[id] = str_to_num(Oles1)
M4A1Oles[id] = str_to_num(M4A1Oles1)
AK47Oles[id] = str_to_num(AK47Oles1)
AWPOles[id] = str_to_num(AWPOles1)
FAMASOles[id] = str_to_num(FAMASOles1)
MP5NAVYOles[id] = str_to_num(MP5NAVYOles1)
M3SHOTGUNOles[id] = str_to_num(M3SHOTGUNOles1)
SCOUTOles[id] = str_to_num(SCOUTOles1)
DEAGLEOles[id] = str_to_num(DEAGLEOles1)
USPOles[id] = str_to_num(USPOles1)
KESOles[id] = str_to_num(KESOles1)
}
}
public OlesVezet() {
new Players[32], pnum, Max, id;
get_players(Players, pnum)
for(new i; i< pnum; i++) {
if(Oles[Players[i]] > Max) {
Max = Oles[Players[i]];
id = Players[i];
}
new szName[32]
get_user_name(id, szName, charsmax(szName))
if(!is_user_connected(id) || !is_user_bot(id)) {
print_color(0, "!g[%s]!y Játékos:!t %s!y Vezet:!g %d!y Ölésel.!", PREFIX, szName, Max)
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}
public Uzenet() {
print_color(0, "!g[%s]!y A Szerveren!t Fegyver Ölés Rendszer!y futt, amit!g %s!y készített!", PREFIX, AUTHOR)
}
stock get_data(const key[], data[], len) {
new vault = fopen(filename, "rt");
new _data[512], _key[64];
while( !feof(vault) ) {
fgets(vault, _data, charsmax(_data));
parse(_data, _key, charsmax(_key), data, len);
if( equal(_key, key) ) {
fclose(vault);
return 1;
}
}
fclose(vault);
copy(data, len, "");
return 0;
}
stock set_data(const key[], const data[]) {
static const temp_vault_name[] = "set_data.txt";
new file = fopen(temp_vault_name, "wt");
new vault = fopen(filename, "rt");
new _data[512], _key[64], _other[32];
new bool:replaced = false;
while( !feof(vault) ) {
fgets(vault, _data, charsmax(_data));
parse(_data, _key, charsmax(_key), _other, charsmax(_other));
if( equal(_key, key) && !replaced ) {
fprintf(file, "^"%s^" ^"%s^"^n", key, data);
replaced = true;
}
else {
fputs(file, _data);
}
}
if( !replaced ) {
fprintf(file, "^"%s^" ^"%s^"^n", key, data);
}
fclose(file);
fclose(vault);
delete_file(filename);
while( !rename_file(temp_vault_name, filename, 1) ) { }
//delete_file(temp_vault_name);
}
stock print_color(const id, const input[], any:...) {
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "á", "á")
replace_all(msg, 190, "é", "Ă©")
replace_all(msg, 190, "í", "Ă")
replace_all(msg, 190, "ó", "Ăł")
replace_all(msg, 190, "ö", "ö")
replace_all(msg, 190, "ő", "Ĺ‘")
replace_all(msg, 190, "ú", "Ăş")
replace_all(msg, 190, "ü", "ĂĽ")
replace_all(msg, 190, "ű", "ű")
replace_all(msg, 255, "Á", "Ă-")
replace_all(msg, 190, "É", "É")
replace_all(msg, 190, "Í", "ĂŤ")
replace_all(msg, 190, "Ó", "Ă“")
replace_all(msg, 190, "Ö", "Ă–")
replace_all(msg, 190, "Ő", "Ĺ")
replace_all(msg, 190, "Ú", "Ăš")
replace_all(msg, 190, "Ü", "Ăś")
replace_all(msg, 190, "Ű", "Ĺ°")
if(id)players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++) {
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
return PLUGIN_HANDLED
}