public void OnPluginStart()
{
HookEvent("player_spawn", PS, EventHookMode_Pre);
}
public Action PS(Event event, const char[] Name, bool dontBroadcast)
{
int userid =GetEventInt(event, "userid"), iClient=GetClientOfUserId(userid);
if(iClient && GetClientTeam(iClient) >1)
{
g_iFixMoneySpawn[iClient] = GetEntProp(iClient, Prop_Send, "m_iAccount");
CreateTimer(0.1, Spawn, iClient, TIMER_FLAG_NO_MAPCHANGE);
}
return Plugin_Continue;
}
public Action Spawn(Handle hTimer, any iClient)
{
if(iClient)
{
if(g_bIsWarmup)
{
SetEntProp(iClient, Prop_Send, "m_iAccount",g_iStartMoney);
}
else SetEntProp(iClient, Prop_Send, "m_iAccount",g_iFixMoneySpawn[iClient]);
}
return Plugin_Stop;
}
public Action CS_OnBuyCommand(int iClient, const char[] weapon)
{
g_iMoneyCl[iClient] = GetEntProp(iClient, Prop_Send, "m_iAccount");
Format(g_sWeaponName,sizeof(g_sWeaponName), "%s",weapon);
strcopy(g_sShortWN, 4,weapon);
g_bFind = true;
g_bFix = false;
if (strcmp(g_sShortWN, "ass") == 0 && g_bFind)
{
g_bFind = false;
int info;
info =GetEntProp(iClient, Prop_Send, "m_ArmorValue");
if(info != 100)
{
g_iWeaponPrice[iClient] = 1000;
}
else
{
g_iWeaponPrice[iClient] = 350;
}
CreateTimer(0.1, fixT, iClient, TIMER_FLAG_NO_MAPCHANGE);
}
else if (strcmp(g_sShortWN, "kev")== 0 && g_bFind)
{
g_bFind = false;
g_iWeaponPrice[iClient] = 650;
CreateTimer(0.1, fixT, iClient, TIMER_FLAG_NO_MAPCHANGE);
}
else if (strcmp(g_sShortWN, "def") == 0&& g_bFind)
{
g_bFind = false;
g_iWeaponPrice[iClient] = 400;
CreateTimer(0.1, fixT, iClient, TIMER_FLAG_NO_MAPCHANGE);
}
else if (strcmp(g_sShortWN, "usp") == 0 )
{
g_bFind = false;
g_iWeaponPrice[iClient] = 200;
CreateTimer(0.1, fixT, iClient, TIMER_FLAG_NO_MAPCHANGE);
}
return Plugin_Continue;
}
public Action fixT(Handle fixtimer, any iClient)
{
int nail = g_iMoneyCl[iClient] - g_iWeaponPrice[iClient];
SetEntProp(iClient, Prop_Send, "m_iAccount",nail);
return Plugin_Stop;
}
public Action CS_OnGetWeaponPrice(int iClient, const char[] weapon, int &price)
{
char WeaponName[12];
char ShortName[12];
Format(WeaponName,sizeof(WeaponName), "weapon_%s",g_sShortWN);
Format(ShortName,sizeof(ShortName), "%s",weapon);
if(g_bFix)
{
int nail = g_iMoneyCl[iClient] - g_iWeaponPrice[iClient];
SetEntProp(iClient, Prop_Send, "m_iAccount",nail);
}
if (strcmp(ShortName, WeaponName )== 0 && g_bFind)
{
g_bFind = false;
g_iWeaponPrice[iClient]= price;
g_bFix = true;
return Plugin_Handled;
}
return Plugin_Continue;
}