#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <nvault>
#define PLUGIN "Napi Jutalom"
#define VERSION "1.0"
#define AUTHOR "Csabika20034"
new g_szAuthId[33][35];
new g_szDay[3];
new g_iVault;
new g_iDay;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /reward", "cmdReward");
get_time("%d", g_szDay, charsmax(g_szDay));
g_iDay = str_to_num(g_szDay);
g_iVault = nvault_open("cmdReward");
}
public cmdReward(id)
{
if (!is_user_connected(id))
return PLUGIN_HANDLED;
get_user_authid(id, g_szAuthId[id], charsmax(g_szAuthId[]));
// nvault_get helyes használata: szöveges nap eltárolva, majd visszaolvasva
new szData[8];
if (nvault_get(g_iVault, g_szAuthId[id], szData, charsmax(szData)))
{
new iDay = str_to_num(szData);
if (iDay == g_iDay)
{
ChatColor(id, "^x04[-Szerver Neve-] ^x01Ma már felhasználtad a napi jutalmad, próbáld újra holnap!");
return PLUGIN_HANDLED;
}
}
// Ha nincs adat, vagy nem mai nap: jár a jutalom
new szBonus[32], szName[32], iRandom = random_num(1, 5);
get_user_name(id, szName, charsmax(szName));
switch (random_num(0, 3))
{
case 0:
{
iRandom *= random_num(1, 1000);
cs_set_user_money(id, cs_get_user_money(id) + iRandom);
formatex(szBonus, charsmax(szBonus), "%d $", iRandom);
}
case 1:
{
give_item(id, "weapon_deagle");
formatex(szBonus, charsmax(szBonus), "Deagle");
}
case 2:
{
iRandom *= random_num(1, 20);
set_user_health(id, get_user_health(id) + iRandom);
formatex(szBonus, charsmax(szBonus), "%d HP", iRandom);
}
case 3:
{
iRandom *= random_num(1, 5);
set_user_frags(id, get_user_frags(id) + iRandom); // set_user_flags -> set_user_frags
formatex(szBonus, charsmax(szBonus), "%d Frag", iRandom);
}
}
set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 4.0);
show_hudmessage(id, "Megkaptad a %s!", szBonus);
ChatColor(id, "^x04[-Szerver Neve-]^x01 Gratulálunk! Napi jutalmad:^x04 %s!", szBonus);
// Mai nap eltárolása stringként
nvault_set(g_iVault, g_szAuthId[id], g_szDay);
return PLUGIN_HANDLED;
}
ChatColor(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg, charsmax(msg), input, 3);
replace_all(msg, charsmax(msg), "!g", "^4"); // zöld
replace_all(msg, charsmax(msg), "!y", "^1"); // alap
replace_all(msg, charsmax(msg), "!t", "^3"); // team
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();
}
}
}
public plugin_end()
{
if (g_iVault)
nvault_close(g_iVault);
}