/* Plugin generated by AMXX-Studio */
//////////////////////////////
// Tutorial by: //
// Bence98007 //
/////////////////////////////
// Includek beállítása
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#define PLUGIN "Statisztika Nullázó" // Pluginod neve <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->
#define VERSION "1.0" // Verzió szám
#define AUTHOR "Bence98007" // Készítő neve
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /rs", "statnullazas") // Regisztrálunk egy parancsot, amit ha a játékos beír, lenullázza a statját
register_clcmd("say /adminrs", "adminrs") // Regisztrálunk egy admin parancsot, és ezt ha beírja egy admin, előjön neki egy menü
register_clcmd("rs", "statnullazas") // Regisztrálunk egy parancsot, ami a konzolban fog működni
register_cvar("penz_adas", "0") // És végül regisztrálunk egy cvart, aminek állításával, pénzt tudunk adni a játékosnak, ha beíja hogy /rs
}
public statnullazas(id) // Ezt hívja meg, a /rs parancs
{
if (is_user_connected(id)) // Lecsekkoljuk, hogy a játékos csatlakozva van-e
{
new cvar = get_cvar_num("penz_adas") // Változóba tesszük a cvart
new penz = cs_get_user_money(id) // Változóba tesszük a pénzt
cs_set_user_deaths(id, 0) // Lenullázzuk a játékos halálait
set_user_frags(id, 0) // Lenullázzuk a játékos fragjeit
client_print(id, print_chat, "[Statnullazo] Statisztikad nullazva lett!") // Kiírunk neki egy üzenetet, hogy lenullázódott a statja
if (cvar > 0) // Lekérjük a változóban lévő cvar értékét
{
cs_set_user_money(id, penz+cvar) // Hozzáadjuk a cvar értékét, a változóban lévő pénzhez
client_print(id, print_chat, "[Statnullazo] Kaptal %i $-t, mert nullaztad a statisztikad!", cvar)
} // Kiírunk egy üzenetet, benne egy %i -vel, ami majd megjeleníti nekünk a cvar értékét, tehát annyit, amennyit hozzáadtunk a pénzéhez
}
}
public adminrs(id) // Admin menü
{
if (get_user_flags(id) && ADMIN_KICK) // Lekérjük, hogy a játékosnak van-e kirúgás joga
{ // Ha van, készítünk neki egy menüt
new menu = menu_create("\rAdmin Statisztika nullazas menu:", "menu_handler");
menu_additem(menu, "\ySajat statisztika nullazasa", "1", 0); // Ezzel lenullázhatjuk majd a saját statunkat
menu_additem(menu, "\rMinden jatekos statjanak nullazasa", "2", 0); // Ezzel viszont mindenki statját lenullázzuk.
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
else // Ha pedig nincs meg a kellő jog, kiírunk neki egy üzenetet, hogy csak adminok használhatják
{
client_print(id, print_chat, "Ezt a parancsot csak adminok hasznalhatjak!")
}
}
public menu_handler(id, menu, item)
{ // Itt pár menü beállítás van, ezek annyira nem lényegesek, nem fogom most ebben a tutban leírni
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1: // Ha az 1es menüpontot választja, a konzoljába "mint ha ő írta volna be", lenullázódik a statja
{
client_cmd(id, "rs")
}
case 2:
{ // Ha pedig azt választja, hogy le akarja nullázni mindenki statját, előhozunk neki egy megerősítés menüt, ha véletlen nyomott volna rá
megerositesmenu(id)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public megerositesmenu(id) // Ezt a menüt hívja meg a 2. menüpont
{
{
new menu = menu_create("\rBiztos nullazni akarod mindenki statjat?", "menu_handler2");
menu_additem(menu, "\rIgen", "1", 0);
menu_additem(menu, "\yNem", "2", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
}
public menu_handler2(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{ // Ha az igenre mennt, végig futtatjuk az összes játékoson a nullázást
new cvar = get_cvar_num("penz_adas") // Ezeket a változókat már leírtam fenntebb
new penz = cs_get_user_money(0)
cs_set_user_deaths(0, 0) // Az id helyett, 0-át teszünk, mert így mindenkin végig fut a parancsunk
set_user_frags(0, 0)
client_print(0, print_chat, "[Statnullazo] Egy admin nullazta a statisztikadat!")
if (cvar > 0)
{
cs_set_user_money(0, penz+cvar)
client_print(0, print_chat, "[Statnullazo] Kaptal %i $-t, mert a statod nullazva lett!", cvar)
}
}
case 2:
{ // Ha pedig a nemre nyom, eltüntetjük a menüt, és kilépünk.
menu_destroy(menu);
return PLUGIN_HANDLED;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}