#include <morecolors>
public Plugin:myinfo =
{
name = "Mutual Scoring Players",
author = "AlmazON",
description = "Обоюдный Счёт Игроков",
version = "0.2.0",
url = "http://www.hlmod.ru"
}
new Handle:hTS[MAXPLAYERS+1];
public void OnPluginStart()
{
HookEvent("player_death", PD);
new i=MAXPLAYERS;
do hTS[i] = CreateTrie();
while(--i);
}
public OnClientPostAdminCheck(C)
{
decl String:k[5]="d", String:n[5]="d";
IntToString(C, n[1],sizeof(n));
new i=1;
do if(i!=C)
{
IntToString(i, k[1],sizeof(k));
SetTrieValue(hTS[C], k[1], 0);
SetTrieValue(hTS[C], k, 0);
SetTrieValue(hTS[i], n[1], 0);
SetTrieValue(hTS[i], n, 0);
}while(i++<MaxClients);
}
public OnClientDisconnect_Post(C) ClearTrie(hTS[C]);
public PD(Handle:E, String:N[], bool:B)
{
decl a;
if((a=GetClientOfUserId(GetEventInt(E,"attacker"))))
{
decl v;
if((v=GetClientOfUserId(GetEventInt(E,"userid"))) !=a)
{
N[0] = 'd';
IntToString(a, N[1],4);
SetTrieValue(hTS[v], N, 0);
decl d, f, w;
GetTrieValue(hTS[v], N[1], f);
IntToString(v, N[1],4);
GetTrieValue(hTS[a], N, d);
SetTrieValue(hTS[a], N, ++d);
GetTrieValue(hTS[a], N[1], w);
SetTrieValue(hTS[a], N[1], ++w);
CPrintToChat(a, "{fullred}[{dodgerblue}C{springgreen}S{fullred} DUEL] {gold}● {aqua}%N {green}%i:{red}%i {white}%N {green}(+%i {dodgerblue}подряд{green})", a,w,f,v,d);
CPrintToChat(v, "{fullred}[{dodgerblue}C{springgreen}S{fullred} DUEL] {gold}● {aqua}%N {green}%i:{red}%i {white}%N {green}(-%i {dodgerblue}подряд{green})", v,f,w,a,d);
}
}
}