#include <sourcemod>
#include <sdkhooks>
#include <sdktools>
#include <codmod>
new const String:nazwa[] = "Miotacz lodu";
new const String:opis[] = "Posiadasz 1/LW szans na zamrożenie przeciwnika";
new bool:ma_item[65],
wartosc_itemu[65];
new Handle:mrozenie_task[65];
public Plugin:myinfo =
{
name = nazwa,
author = "Linux`",
description = "Cod Item",
version = "1.0",
url = "http://steamcommunity.com/id/linux2006"
};
public OnPluginStart()
{
cod_register_item(nazwa, opis, 1, 1);
}
public OnClientPutInServer(client)
{
SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}
public OnClientDisconnect(client)
{
SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
if(mrozenie_task[client] != INVALID_HANDLE)
{
KillTimer(mrozenie_task[client]);
mrozenie_task[client] = INVALID_HANDLE;
}
}
public cod_item_enabled(client, wartosc)
{
ma_item[client] = true;
wartosc_itemu[client] = wartosc;
}
public cod_item_disabled(client)
{
ma_item[client] = false;
}
public Action:OnTakeDamage(client, &attacker, &inflictor, &Float:damage, &damagetype)
{
if(!IsValidClient(attacker) || !ma_item[attacker])
return Plugin_Continue;
if(!IsValidClient(client) || !IsPlayerAlive(client))
return Plugin_Continue;
if(GetClientTeam(client) == GetClientTeam(attacker))
return Plugin_Continue;
if(GetRandomInt(1, wartosc_itemu[attacker]) == 1)
FreezePlayer(client)
return Plugin_Continue;
}
public Action:FreezePlayer(client)
{
if(mrozenie_task[client] != INVALID_HANDLE)
return Plugin_Continue;
cod_set_user_bonus_trim(client, cod_get_user_trim(client, 0, 1, 0)-10000);
mrozenie_task[client] = CreateTimer(3.0, UnFreezePlayer, client, TIMER_FLAG_NO_MAPCHANGE);
PrintToChat(client, "[COD:MW] Zostaniesz odmrozony za 3 sekundy.");
SetEntityRenderColor(client, 255, 0, 170, 174);
return Plugin_Continue;
}
public Action:UnFreezePlayer(Handle:timer, any:client)
{
if(!IsValidClient(client))
return Plugin_Continue;
cod_set_user_bonus_trim(client, cod_get_user_trim(client, 0, 1, 0)+10000);
mrozenie_task[client] = INVALID_HANDLE;
SetEntityRenderColor(client, 255, 255, 255, 255);
return Plugin_Continue;
}