Grey83
не пишу плагины с весны 2022
- Сообщения
- 8,521
- Реакции
- 4,981
- Автор ресурса
- #961
@Дмитрий1996, пока используйте предыдущий билд
- Теперь плагин снова работает (который раз проблема была в моей невнимательности >_<).
- Исправлен баг из-за которого не загружались пользовательские настройки (точнее загружались, но не применялись, т.к. считались невалидными).
- Добавлен эффект растворения при удалении трупов.
- Серверные переменные лишились флага FCVAR_NOTIFY (не вижу в нём надобности).
- Добавлен вариант компиляции для работы плагина без возможности подключения модулей...
Заметил что при настройках sm_revival_health_cost "25" хп прибавляется воскрешающему, а не отнимается.Grey83 обновил(а) ресурс Revival новой записью:
Плагин v1.1.4 больше не является бета-версией.
Узнать больше об этом обновлении...
Да я тоже такое заметил, такая же проблемаЗаметил что при настройках sm_revival_health_cost "25" хп прибавляется воскрешающему, а не отнимается.
Хотя в чате пишет что после возрождения останется 75 хп.
Спасибо вечером протестирую
А отображать ник игрока в чате, в начале воскрешения? Т.е. как только начал воскрешать, ты не понимаешь кого воскрешаешь, а узнаешь об этом только после воскрешения.@Голос_в_ночи, не зажимай кнопку.
Я хз как от этого избавиться. Разве что отключить вообще предупреждения в чат.
@Geronimo, пути какие прописываешь?
ConVar cvar;
cvar = CreateConVar("sm_revival_enabled", "1", "Enable/disable plugin", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Enable);
bEnable = cvar.BoolValue;
cvar = CreateConVar("sm_revival_tip", "1", "Enable/disable key tip at the beginning of the round", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Tip);
bTip = cvar.BoolValue;
cvar = CreateConVar("sm_revival_msg", "1", "Enable/disable chat messages", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Msg);
bMsg = cvar.BoolValue;
cvar = CreateConVar("sm_revival_key", "1", "Default key for reviving (0 - 'duck', 1 - 'use', 2 - 'walk', 3 - no key needed)", _, true, _, true, 3.0);
cvar.AddChangeHook(CVarChanged_Key);
CVarChanged_Key(cvar, "", "");
cvar = CreateConVar("sm_revival_pos", "1", "Spawn player at: 0 - position of reviver, 1 - his death position", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Pos);
bPos = cvar.BoolValue;
cvar = CreateConVar("sm_revival_clean", "2", "Remove body x sec after the death (-1 - don't remove)", _, true, -1.0);
cvar.AddChangeHook(CVarChanged_Clean);
iClean = cvar.IntValue;
cvar = CreateConVar("sm_revival_teamchange", "0", "Can a player be revived after a team change", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Team);
bTeam = cvar.BoolValue;
cvar = CreateConVar("sm_revival_enemy", "0", "Can a player revive the enemy (the revived player will change the team)", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Enemy);
bEnemy = cvar.BoolValue;
cvar = CreateConVar("sm_revival_bar", "1", "Enable/disable progressbar for reviving", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Bar);
CVarChanged_Bar(cvar, "", "");
cvar = CreateConVar("sm_revival_percent", "0", "Enable/disable save the percentage of reviving", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Percent);
bPercent = cvar.BoolValue;
cvar = CreateConVar("sm_revival_effect", "1", "Enable/disable effect around to place of death", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Effect);
bEffect = cvar.BoolValue;
cvar = CreateConVar("sm_revival_radius", "100.0", "Radius to respawn death player", _, true);
cvar.AddChangeHook(CVarChanged_Radius);
fRadius = cvar.FloatValue;
cvar = CreateConVar("sm_revival_time", "0", "The time after the death of the player, during which the revive is possible", _, true);
cvar.AddChangeHook(CVarChanged_Time);
iTime = cvar.IntValue;
cvar = CreateConVar("sm_revival_countdown", "3", "Time for respawn in seconds", _, true);
cvar.AddChangeHook(CVarChanged_CD);
iCD = cvar.IntValue;
cvar = CreateConVar("sm_revival_times", "0", "How many times can a player revive other players during the round (0 - unlimited)", _, true);
cvar.AddChangeHook(CVarChanged_Times);
iTimes = cvar.IntValue;
cvar = CreateConVar("sm_revival_reset", "0", "Reset counter of revived (for cvar 'sm_revival_times') at every: 0 - round, 1 - spawn", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Reset);
bReset = cvar.BoolValue;
cvar = CreateConVar("sm_revival_risings", "0", "How many times can a player will revived by other players during the round (0 - unlimited)", _, true);
cvar.AddChangeHook(CVarChanged_Risings);
iRevived[0] = cvar.IntValue;
cvar = CreateConVar("sm_revival_noblock_time", "0", "Noblocking time after respawn(set at 0 if you have any noblock plugin)", _, true);
cvar.AddChangeHook(CVarChanged_NoBlockTime);
iNoBlockTime = cvar.IntValue;
cvar = CreateConVar("sm_revival_health_cost", "25", "Need's health to respawn others (negative - add HP to reviver)", _, true, -100.0, true, 100.0);
cvar.AddChangeHook(CVarChanged_HPCost);
iHPCost = cvar.IntValue;
cvar = CreateConVar("sm_revival_maxhealth", "1", "The maximum amount of health that a reviver can receive for reviving players (0 - disable limit)", _, true, _, true, 10000.0);
cvar.AddChangeHook(CVarChanged_HPMax);
iHPMax = cvar.IntValue;
cvar = CreateConVar("sm_revival_death", "1", "Can a player revive others if he have less HP than needed for reviving", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged_Death);
bDeath = cvar.BoolValue;
cvar = CreateConVar("sm_revival_health", "100", "How many HP will get revived player", _, true, 25.0);
cvar.AddChangeHook(CVarChanged_HP);
iHP = cvar.IntValue;
cvar = CreateConVar("sm_revival_frag", "0", "Give x frags to the player for revived teammate", _, true);
cvar.AddChangeHook(CVarChanged_Frag);
iFrag = cvar.IntValue;
cvar = CreateConVar("sm_revival_rip", "0", "Disallow the revival of the players killed: 1 - in the head, 2 - with a knife.", _, true, _, true, 3.0);
cvar.AddChangeHook(CVarChanged_RIP);
iRIP = cvar.IntValue;
cvar = CreateConVar("sm_revival_balance", "-1", "The difference in the number of live players of the teams, at which player can revive allies (-1 - disable restriction)", _, true, -1.0, true, 5.0);
cvar.AddChangeHook(CVarChanged_Balance);
iBalance = cvar.IntValue;
cvar = CreateConVar("sm_revival_soundpath", "CW-SERV.RU/g.wav", "This sound playing after reviving (empty string = disabled)", FCVAR_PRINTABLEONLY, true);
cvar.AddChangeHook(CVarChanged_Sound);
cvar.GetString(sCvarPath, sizeof(sCvarPath));
cvar = CreateConVar("sm_revival_nodmg_time", "0.0", "No damage recive time after respawn (set at 0.0 if you have any spawn protect plugin)", _, true, _, true, 5.0);
cvar.AddChangeHook(CVarChanged_NoDmgTime);
fNoDmgTime = cvar.FloatValue;
cvar = CreateConVar("sm_revival_color_t", "ff3f1f", "T death mark color. Set by HEX (RGB or RRGGBB, values 0 - F or 00 - FF, resp.). Wrong color code = red", FCVAR_PRINTABLEONLY);
cvar.AddChangeHook(CVarChanged_ColorT);
SetColor(cvar, M_T);
cvar = CreateConVar("sm_revival_color_ct", "1f3fff", "CT death mark color. Set by HEX (RGB or RRGGBB, values 0 - F or 00 - FF, resp.). Wrong color code = blue", FCVAR_PRINTABLEONLY);
cvar.AddChangeHook(CVarChanged_ColorCT);
SetColor(cvar, M_CT);
cvar = CreateConVar("sm_revival_color_any", "00bf00", "Any death team mark color. Set by HEX (RGB or RRGGBB, values 0 - F or 00 - FF, resp.). Wrong color code = green", FCVAR_PRINTABLEONLY);
cvar.AddChangeHook(CVarChanged_ColorAny);
SetColor(cvar, M_Any);
cvar = CreateConVar("sm_revival_best", "0", "Show TOPx revivers at round end (0 - disable)", _, true, _, true, 10.0);
cvar.AddChangeHook(CVarChanged_Best);
iRevives[0][0] = cvar.IntValue;
cvar = CreateConVar("sm_revival_worst", "0", "Show AntiTOP revivers at round end (0 - disable)", _, true, _, true, 10.0);
cvar.AddChangeHook(CVarChanged_Worst);
iRevives[0][1] = cvar.IntValue;
cvar = CreateConVar("sm_revival_mark_t", "sprites/player_red_small33.vmt", "Path to the vmt-file in folder 'materials' for the T mark. Wrong or empty path = default mark.", FCVAR_PRINTABLEONLY);
cvar.AddChangeHook(CVarChanged_MarkT);
PrepareMark(cvar, M_T);
cvar = CreateConVar("sm_revival_mark_ct", "sprites/player_blue_small33.vmt", "Path to the vmt-file in folder 'materials' for the CT mark. Wrong or empty path = default mark.", FCVAR_PRINTABLEONLY);
cvar.AddChangeHook(CVarChanged_MarkCT);
PrepareMark(cvar, M_CT);
cvar = CreateConVar("sm_revival_mark_any", ".vmt", "Path to the vmt-file in folder 'materials' for the Any mark. Wrong or empty path = default mark.", FCVAR_PRINTABLEONLY);
cvar.AddChangeHook(CVarChanged_MarkAny);
PrepareMark(cvar, M_Any);
if(iEngine != E_Old)
{
cvar = CreateConVar("sm_revival_hud_x", "0.99", "HUD info position X (0.0 - 1.0 left to right or -1.0 for center)", _, true, -2.0, true, 1.0);
cvar.AddChangeHook(CVarChanged_HUDPosX);
fPosX = cvar.FloatValue;
cvar = CreateConVar("sm_revival_hud_y", "0.75", "HUD info position Y (0.0 - 1.0 top to bottom or -1.0 for center)", _, true, -2.0, true, 1.0);
cvar.AddChangeHook(CVarChanged_HUDPosY);
fPosY = cvar.FloatValue;
cvar = CreateConVar("sm_revival_hud_color", "00bf00", "HUD info color. Set by HEX (RGB or RRGGBB, values 0 - F or 00 - FF, resp.). Wrong color code = green", FCVAR_PRINTABLEONLY);
cvar.AddChangeHook(CVarChanged_HUDColor);
SetColor(cvar, M_HUD);
cvar = CreateConVar("sm_revival_hud_mode", "2", "Show additional info in the: 0 - chat only, 1 - HUD, 2 - KeyHint (not for CS:S v34)", _, true, _, true, 2.0);
cvar.AddChangeHook(CVarChanged_HUDMode);
CVarChanged_HUDMode(cvar, "", "");
}
Худ и хинт работают, да@Голос_в_ночи, для этого сделан вывод в худ и хинт
Ты уже дядька старой гвардии, такие вещи можно уже и самому научиться делать.Худ и хинт работают, да
Но в чате не пишется ник игрока в начале воскрешения... При значении sm_revival_hud_mode "0" // 0 - chat only, 1 - HUD, 2 - KeyHint
Сделать бы, как это было в версии 1.0.9
Там писался в чат ник игрока (скрин ниже)
CSS OB
Посмотреть вложение 85936
if(iHPCost)
{
GetClientName(target[client], name, sizeof(name));
if(diff < 1) PrintToChatClr(client, "%t", "ReviveCostDeath");
else if(health != diff) PrintToChatClr(client, "%t%t", "ChatTag", "ReviveCostHealth", diff, name);
}
"ReviveCostHealth"
{
"#format" "{1:d},{2:s}"
"ru" "У Вас будет {1}HP после возрождения игрока {2}"
}