#include #include #include #include new const String:nazwaKlasy[] = "Amadeusz"; new const String:opisKlasy[] = "Ma dodatkowe dmg od inta z mp7"; new const intKlasy = 40; new const conKlasy = 5; new const strKlasy = 0; new const dexKlasy = 10; new Handle:bronieKlasy; new bool:active[MAXPLAYERS+1]; public Plugin:myinfo = { name = "CmodClass: Amadeusz", author = "Lucifer", description = "Ma dodatkowe dmg od inta z mp7", version = "1.0", url = "http://steamcommunity.com/profiles/76561197960680254" } public OnPluginStart(){ bronieKlasy = CreateArray(32); PushArrayString(bronieKlasy, "weapon_mp7"); PushArrayString(bronieKlasy, "weapon_glock"); Cmod_RegisterClass(nazwaKlasy, opisKlasy, intKlasy, conKlasy, strKlasy, dexKlasy, bronieKlasy); } public OnClientPutInServer(id) { SDKHook(id, SDKHook_OnTakeDamage, OnTakeDamage); } public OnClassEnabled(id) { active[id] = true; } public OnClassDisabled(id) { active[id] = false; } public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype) { if(!IsValidClient(attacker)) return Plugin_Continue; if(GetClientTeam(attacker) == GetClientTeam(victim)) return Plugin_Continue; if(active[attacker]){ decl String:sWeapon[32]; GetClientWeapon(attacker, sWeapon, sizeof(sWeapon)); if(StrEqual(sWeapon, "weapon_mp7")){ damage += (float(Cmod_GetINT(attacker))/2); return Plugin_Changed; } } return Plugin_Continue; } stock bool:IsValidClient(client, bool:nobots = true) { if (client <= 0 || client > MaxClients || !IsClientConnected(client) || (nobots && IsFakeClient(client))) { return false; } return IsClientInGame(client); }