#include #include #include #include new const String:nazwaKlasy[] = "Ninja"; new const String:opisKlasy[] = "Znika na 2 sek po otrzymaniu obrażeń"; new const intKlasy = 0; new const conKlasy = 5; new const strKlasy = 15; new const dexKlasy = 25; new Handle:bronieKlasy; new bool:active[MAXPLAYERS+1], bool:active2[MAXPLAYERS+1]; public Plugin:myinfo = { name = "CmodClass: Ninja", author = "PLX", description = "Znika na 2 sek po otrzymaniu obrażeń", version = "1.0", url = "http://steamcommunity.com/id/plx211" } public OnPluginStart(){ bronieKlasy = CreateArray(32); PushArrayString(bronieKlasy, "weapon_m4a1_silencer"); PushArrayString(bronieKlasy, "weapon_usp_silencer"); PushArrayString(bronieKlasy, "weapon_smokegrenade"); Cmod_RegisterClass(nazwaKlasy, opisKlasy, intKlasy, conKlasy, strKlasy, dexKlasy, bronieKlasy); } public OnClientPutInServer(id){ SDKHook(id, SDKHook_OnTakeDamage, OnTakeDamage); //SDKHook(id, SDKHook_SetTransmit, Hook_SetTransmit); } public Cmod_OnClassEnabled(client){ active[client] = true; active2[client] = true; PushArrayString(Cmod_GetClientWeapons(client), "weapon_hkp2000") PushArrayString(Cmod_GetClientWeapons(client), "weapon_m4a1"); } } public Cmod_OnClassDisabled(client){ ClearArray(Cmod_GetClientWeapons(client)); active[client] = false; active2[client] = false; } public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype) { if(!IsValidClient(victim)) return Plugin_Continue; if(active[victim] && active2[victim]){ active2[victim] = false; SetEntityRenderMode(victim , RENDER_NONE); CreateTimer(2.0, vis, victim); } return Plugin_Continue; } public Action:vis(Handle:timer, any:client){ SetEntityRenderMode(client, RENDER_NORMAL); active2[client] = true; } /* public Action:Hook_SetTransmit(entity, client){ if(IsValidClient(entity)){ if(!active2[entity]) return Plugin_Handled; } return Plugin_Continue; } bool:IsValidClient( client ) { if ( !( 1 <= client <= MaxClients ) || !IsClientInGame(client) ) return false; return true; } */ /* public OnGameFrame(){ for(new client = 1; client <= MaxClients; client++){ if(IsClientConnected(client) && IsClientInGame(client)){ if(active2[client]){ SetEntityRenderMode(client, RENDER_NORMAL); }else{ SetEntityRenderMode(client , RENDER_NONE); } } } } */ bool:IsValidClient( client ) { if ( !( 1 <= client <= MaxClients ) || !IsClientInGame(client) ) return false; return true; }