видел плагин, при проигрыше 3 раунда с подряд одной из сторон, выдаются деньги им большего размера, прикольный плагин
кто быстрее сможет? :)pihmih, там писать 5 минут
Интересные плагины, но хотелось бы давать деньги, только слабому игроку. Не обязательно его командва должна выигрывать или проигрывать.[CSS] Reverse Cash Flow
Вот еще прикольный плагин для мотивации кемперов имхо, чем больше ходишь, тем больше денег:
[CS:S] Money By Walking v2.1
Именно так.pihmih, смотря как будет определятся слабость. Можно сделать по соотношению убийств/смертей за определенное количесто раундов.
#include <sourcemod>
new Float:KDR[MAXPLAYERS+1] = 0, g_iAccount, Count_R[MAXPLAYERS+1];
public Plugin:myinfo =
{
name = "Cash for noobs",
author = "R1KO",
version = "1.0"
};
public OnPluginStart()
{
g_iAccount = FindSendPropOffs("CCSPlayer", "m_iAccount");
HookEvent("player_death", OnPlayerDeath);
HookEvent("round_start", OnRoundStart);
}
public OnMapStart() Count_R = 0;
public OnPlayerDeath(Handle:event, const String:name[], bool:silent)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
if (client > 0)
{
Frags = GetClientFrags(client);
Deaths = GetClientDeaths(client);
if (Frags > 0 && Deaths >= 0) KDR[client] = Frags/Deaths;
}
}
public OnClientDisconnect() KDR[i] = 0;
public OnRoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
if (client > 0)
{
Count_R[client] ++;
if(Count_R >= 3)
{
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i) && GetClientTeam(i) > 2)
{
if(KDR[i] =< 1)
{
new totalmoney = GetEntData(i, g_iAccount) + 1000;
SetEntData(i, g_iAccount, totalmoney);
}
}
}
Count_R[client] = 0;
}
}
}
#include <sourcemod>
// Количество денег, выдаваемое КАЖДЫЙ раунд, если у игрока КДР (Отношение фрагов к смертям) меньше 1.0
#define MONEY 350
new g_iAccount = -1;
public OnPluginStart()
{
g_iAccount = FindSendPropOffs("CCSPlayer", "m_iAccount");
HookEvent("round_start", Event_OnRoundStart);
}
public Event_OnRoundStart(Handle:event, const String:name[], bool:silent)
{
for (new i = 1; i <= MaxClients; i++)
{
new frags = GetClientFrags(i), deaths = GetClientDeaths(i);
if (frags > 0 && deaths > 0 && (frags / deaths) < 1.0)
{
SetEntData(i, g_iAccount, GetEntData(i, g_iAccount) + MONEY);
}
}
}
Ошибка:Неправильно
Добавлено через 11 минут
Есть одно но, если у игрока 0 фрагов и 999 смертей - денег он не получит, лишний код ) да и мудрить не охотаPHP:#include <sourcemod> // Количество денег, выдаваемое КАЖДЫЙ раунд, если у игрока КДР (Отношение фрагов к смертям) меньше 1.0 #define MONEY 350 new g_iAccount = -1; public OnPluginStart() { g_iAccount = FindSendPropOffs("CCSPlayer", "m_iAccount"); HookEvent("round_start", Event_OnRoundStart); } public Event_OnRoundStart(Handle:event, const String:name[], bool:silent) { for (new i = 1; i <= MaxClients; i++) { new frags = GetClientFrags(i), deaths = GetClientDeaths(i); if (frags > 0 && deaths > 0 && (frags / deaths) < 1.0) { SetEntData(i, g_iAccount, GetEntData(i, g_iAccount) + MONEY); } } }
#include <sourcemod>
// Количество денег, выдаваемое КАЖДЫЙ раунд, если у игрока КДР (Отношение фрагов к смертям) меньше 1.0
#define MONEY 350
new g_iAccount = -1;
public OnPluginStart()
{
g_iAccount = FindSendPropOffs("CCSPlayer", "m_iAccount");
HookEvent("round_start", Event_OnRoundStart);
}
public Event_OnRoundStart(Handle:event, const String:name[], bool:silent)
{
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i))
{
new frags = GetClientFrags(i), deaths = GetClientDeaths(i);
if (frags > 0 && deaths > 0 && (frags / deaths) < 1.0)
{
SetEntData(i, g_iAccount, GetEntData(i, g_iAccount) + MONEY);
}
}
}
}