Descriere (adica ce face el mai exact):
Salut , am un plugin de Steam Bonus care nu functioneaza chiar cum ar trebui.
Primesc beneficiile chiar si in afara intervalului setat (23-9) si in eventul de VIP (23-9)
As vrea ca in intervalul orar selectat sa nu primesc si nici cei care au flag de VIP.
Code: Select all
#include <amxmodx>
#include <cromchat>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#if !defined MAX_PLAYERS
const MAX_PLAYERS = 32
#endif
#define VIP_FLAG ADMIN_LEVEL_F
#define server_exe server_exec
new g_pStart, g_pEnd, g_pMoney
new g_iStart, g_iEnd
new bool:g_bSteam[MAX_PLAYERS + 1]
public plugin_init()
{
register_plugin("Steam Bonus", "1.0", "OciXCrom")
RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
g_pMoney = register_cvar("steam_bonus_money", "2500")
g_pStart = register_cvar("steam_bonus_start", "23")
g_pEnd = register_cvar("steam_bonus_end", "9")
}
public client_authorized(id)
{
g_bSteam[id] = is_user_steam(id)
}
public plugin_cfg()
{
g_iStart = get_pcvar_num(g_pStart)
g_iEnd = get_pcvar_num(g_pEnd)
}
public OnPlayerSpawn(id)
{
// Don't give extras if player is not Steam or dead
if(!g_bSteam[id] || !is_user_alive(id))
{
return
}
// Don't give extras if player Happy Hour is active + player is VIP
if(is_current_time(g_iStart, g_iEnd) && (get_user_flags(id) & VIP_FLAG))
{
return
}
switch(random(3))
{
case 0:
{
new iMoney = get_pcvar_num(g_pMoney)
cs_set_user_money(id, cs_get_user_money(id) + iMoney)
CC_SendMessage(id, "Ai primit &x04%i$ &x01 &x03Steam Bonus&x01.", iMoney)
}
case 1:
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
CC_SendMessage(id, "Ai primit &x04[HE, Flash, Smoke] &x01 &x03Steam Bonus&x01.")
}
case 2:
{
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
CC_SendMessage(id, "Ai primit &x04[ARMOR + VEST] &x01 &x03Steam Bonus&x01.")
}
}
}
bool:is_user_steam(id)
{
static iPointer
if(iPointer || (iPointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id); server_exe()
return get_pcvar_num(iPointer) == 2
}
return false
}
bool:is_current_time(const iStart, const iEnd)
{
static iHour; time(iHour)
return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour <= iEnd))
}
Serverul ruleaza (HLDS/ReHLDS): Nu stiu unde sa verific 🥺
Versiune AMX Mod X: AMX Mod X 1.9.0.5271
Modul Serverului: Normal