На дедране не работает. Все равно фраги в минус уходят.
Видимо, у него просто переназначение фрагов работает - другой плагин выставляет "минус", а этот работает ДО него. В итоге, всё также в минусе.всё работает
public Plugin:myinfo = {
name = "NoSuicide",
author = "Tooshkan4uk",
description = "+1 frags when player dead and not attacker",
version = "1.1",
url = "http://tk-portal.ru"
};
public OnPluginStart() HookEvent("player_death", Event_PlayerDeath);
public Event_PlayerDeath(Handle:event, String:name[], bool:dontBroadcast)
{
new attacker_id = GetEventInt(event, "attacker"), victim_id = GetEventInt(event, "userid");
if (attacker_id == victim_id || GetClientOfUserId(attacker_id) == 0) CreateTimer(0.1, Frags, victim_id, TIMER_FLAG_NO_MAPCHANGE);
}
public Action:Frags(Handle:timer, any:userid)
{
if ((userid = GetClientOfUserId(userid))) SetEntProp(userid, Prop_Data, "m_iFrags", GetClientFrags(userid) + 1);
return Plugin_Stop;
}
Не понятно как то он работает с дедран плагином. То +1 фраг не за что, то минусы идут. В итоге в конце игры у некоторых игроков все рано -10 фрагов.Видимо, у него просто переназначение фрагов работает - другой плагин выставляет "минус", а этот работает ДО него. В итоге, всё также в минусе.
Тогда нужно сделать так:
PHP:public Plugin:myinfo = { name = "NoSuicide", author = "Tooshkan4uk", description = "+1 frags when player dead and not attacker", version = "1.1", url = "http://tk-portal.ru" }; public OnPluginStart() HookEvent("player_death", Event_PlayerDeath); public Event_PlayerDeath(Handle:event, String:name[], bool:dontBroadcast) { new attacker_id = GetEventInt(event, "attacker"), victim_id = GetEventInt(event, "userid"); if (attacker_id == victim_id || GetClientOfUserId(attacker_id) == 0) CreateTimer(0.1, Frags, victim_id, TIMER_FLAG_NO_MAPCHANGE); } public Action:Frags(Handle:timer, any:userid) { if ((userid = GetClientOfUserId(userid))) SetEntProp(userid, Prop_Data, "m_iFrags", GetClientFrags(userid) + 1); return Plugin_Stop; }
public Action:Frags(Handle:timer, any:userid)
{
if ((userid = GetClientOfUserId(userid)) > 0)
{
if (GetClientFrags(userid) < 0)
{
SetEntProp(userid, Prop_Data, "m_iFrags", 0);
}
}
}
Сделано по думам первоавтора. Как он там проверял - не известно. :DТо +1 фраг не за что, то минусы идут
Я так понимаю, http://hlmod.ru/forum/plaginy-dlya-sourcemod/24049-cs-go-cs-s-resetscore.html больше не используешь?в следующем раунде снова все минусы вертаются на место, до смерти игрока
ОффтопОффтопЯ так понимаю, http://hlmod.ru/forum/plaginy-dlya-sourcemod/24049-cs-go-cs-s-resetscore.html больше не используешь?
Там как раз встроена система по решению твоей проблемы. Она распространяется на все плагины, если они построены без таймера (или сами затрагивают данные игрока после начала раунда).Как это влияет?
Не надо ничего сбрасывать, два плагина ставить надо. Один тебе сделает смерти без нулей, а другой избавляет от бага первого. ОффтопТак чтоб был сброс
Надо ещё с 10 поста вписать, если тебе нужно действительно смерти без минуса сделать, а фраги не трогать - пусть убавляются.Ставлю этот плагин
В CS:GO автоматом настроено, чтобы такой баг пропадал. Под свои нужды разве что настроить сам сброс.Какие настройки еще требуются?