This crashes my windows server, a few seconds ingame
PHP Code:
public OnClientPutInServer(client)
{
Damage[client] = GetConVarFloat(g_playermultiplier);
SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}
public OnEntityCreated(entity, const String:classname[])
{
if (StrEqual(classname, "infected") || StrEqual(classname, "witch"))
{
SDKHook(entity, SDKHook_OnTakeDamage, OnTakeDamage);
}
}
public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
{
if(!GetConVarBool(g_enabled)) return Plugin_Handled; // is this thing even on?
decl String:sWeapon[32], Float:mWeapon, Float:amountWeapon;
GetEdictClassname(inflictor, sWeapon, sizeof(sWeapon));
new bool:changed;
new Float:changemulti = 1.0;
new Float:globalmulti = GetConVarFloat(g_multiplier);
if(globalmulti != 1.0) //check for a global damage multiplier setting
{
if(globalmulti == 0.0) damage == 0.0; //nullify setting?
else changemulti += globalmulti - 1.0; //else add multi
changed = true;
}
if (attacker > 0 && attacker <= MAXPLAYERS)
{
if(Damage[attacker] != globalmulti) //check for a player specific multiplier setting
{
if (Damage[attacker] == 0) damage == 0.0; //nullify setting?
else changemulti += Damage[attacker] - 1.0; //else add multi
changed = true;
}
}
if(GetTrieValue(trieWeapons,sWeapon,mWeapon)) // check for the gun multiplier setting
{
if (mWeapon == 0) damage == 0.0; //nullify setting?
else changemulti += mWeapon - 1.0; //else add multi
changed = true;
}
if(changed && damage > 0.0) damage *= changemulti; //add all multipliers if not nullified yet
if(GetTrieValue(trieAmount,sWeapon,amountWeapon)) //check for gun damage amount setting
{
damage += amountWeapon; //add gun specific damage amount
changed = true;
}
if(changed) return Plugin_Changed;
return Plugin_Continue;
}
Any ideas? Just crashes, no error messages.