Finally figured out something that workes using
https://forums.alliedmods.net/showthread.php?t=273791
If anyone else needs this
For the timed credits:
Code:
public Action:Timer_CreditTimer(Handle:timer, any:userid)
{
new client = GetClientOfUserId(userid);
if(!client || !IsClientInGame(client))
return Plugin_Continue;
decl m_iCredits;
if(2<=GetClientTeam(client)<=3 && CheckCommandAccess(client, "GiveExtraCredits", ADMFLAG_CUSTOM6, true)) //Credits for chief-admins(which have the flag CUSTOM6)
m_iCredits = 100;
else if(2<=GetClientTeam(client)<=3 && CheckCommandAccess(client, "GiveExtraCredits", ADMFLAG_CUSTOM5, true)) //Credits for Head-admins
m_iCredits = 80;
else if(2<=GetClientTeam(client)<=3 && CheckCommandAccess(client, "GiveExtraCredits", ADMFLAG_CUSTOM4, true)) //Admins etc...
m_iCredits = 60;
else if(2<=GetClientTeam(client)<=3 && CheckCommandAccess(client, "GiveExtraCredits", ADMFLAG_RESERVATION, true))
m_iCredits = 40;
else if(2<=GetClientTeam(client)<=3)
m_iCredits = 25;
else
m_iCredits = 0; //Inactive players
if(m_iCredits)
{
g_eClients[client][iCredits] += m_iCredits;
if(g_eCvars[g_cvarCreditMessages][aCache])
Chat(client, "%t", "Credits Earned For Playing", m_iCredits);
Store_LogMessage(client, m_iCredits, "Earned for playing");
}
return Plugin_Continue;
}
For the per-kill credits:
Code:
public Action:Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
new victim = GetClientOfUserId(GetEventInt(event, "userid"));
new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
if(g_eCvars[g_cvarSaveOnDeath][aCache])
{
Store_SaveClientData(victim);
Store_SaveClientInventory(victim);
Store_SaveClientEquipment(victim);
}
if(!attacker || victim == attacker || !IsClientInGame(attacker) || IsFakeClient(attacker))
return Plugin_Continue;
if(g_eCvars[g_cvarCreditAmountKill][aCache] && CheckCommandAccess(attacker, "GiveExtraCredits", ADMFLAG_CUSTOM6, true)) //Chief admins
{
g_eClients[attacker][iCredits] += 50;
if(g_eCvars[g_cvarCreditMessages][aCache])
Chat(attacker, "%t", "Credits Earned For Killing", 50, g_eClients[victim][szName]);
Store_LogMessage(attacker, 50, "Earned for killing"); //Head-admins etc..
}
else if(g_eCvars[g_cvarCreditAmountKill][aCache] && CheckCommandAccess(attacker, "GiveExtraCredits", ADMFLAG_CUSTOM5, true))
{
g_eClients[attacker][iCredits] += 35;
if(g_eCvars[g_cvarCreditMessages][aCache])
Chat(attacker, "%t", "Credits Earned For Killing", 35, g_eClients[victim][szName]);
Store_LogMessage(attacker, 35, "Earned for killing");
}
else if(g_eCvars[g_cvarCreditAmountKill][aCache] && CheckCommandAccess(attacker, "GiveExtraCredits", ADMFLAG_CUSTOM4, true))
{
g_eClients[attacker][iCredits] += 25;
if(g_eCvars[g_cvarCreditMessages][aCache])
Chat(attacker, "%t", "Credits Earned For Killing", 25, g_eClients[victim][szName]);
Store_LogMessage(attacker, 25, "Earned for killing");
}
else if(g_eCvars[g_cvarCreditAmountKill][aCache] && CheckCommandAccess(attacker, "GiveExtraCredits", ADMFLAG_RESERVATION, true))
{
g_eClients[attacker][iCredits] += 20;
if(g_eCvars[g_cvarCreditMessages][aCache])
Chat(attacker, "%t", "Credits Earned For Killing", 20, g_eClients[victim][szName]);
Store_LogMessage(attacker, 20, "Earned for killing");
}
else
{
g_eClients[attacker][iCredits] += 10;
if(g_eCvars[g_cvarCreditMessages][aCache])
Chat(attacker, "%t", "Credits Earned For Killing", 10, g_eClients[victim][szName]);
Store_LogMessage(attacker, 10, "Earned for killing");
}
return Plugin_Continue;
}