ну так, вам же надо, что бы вам от взрыва показаывался дамаг? он должен по идеи показываться и так же показывать все типы уронов которые вы наносите себе[DOUBLEPOST=1564695746][/DOUBLEPOST]вы не правильно изменили, вот правильно:
#include <amxmodx>
#include <reapi>
new g_HudSyncMessage;
new g_HudSyncMessage2;
public plugin_init(){
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CPlayer_TakeDamage_Post", .post = true);
g_HudSyncMessage = CreateHudSyncObj();
g_HudSyncMessage2 = CreateHudSyncObj();
}
public CPlayer_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:flDamage, iBitsDamageType){
if(!is_user_connected(iAttacker))return;
//if(iBitsDamageType & DMG_BLAST)return;
static team;team = get_member(iVictim,m_iTeam);
if(team == get_member(iAttacker, m_iTeam)) return;
static rgb[3];
if(team==1){
rgb[0]=255;rgb[1]=0;rgb[2]=0;
}
else{
rgb[0]=0;rgb[1]=0;rgb[2]=255;
}
set_hudmessage(rgb[0], rgb[1], rgb[2], 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
ShowSyncHudMsg(iVictim, g_HudSyncMessage2, "%.0f", flDamage);
team = get_member(iAttacker,m_iTeam);
if(team==2){
rgb[0]=255;rgb[1]=0;rgb[2]=0;
}
else{
rgb[0]=0;rgb[1]=0;rgb[2]=255;
}
set_hudmessage(rgb[0], rgb[1], rgb[2], -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
ShowSyncHudMsg(iAttacker, g_HudSyncMessage, "%.0f", flDamage);
}
я изменял как ты скинул выше, не показывало от гранат...[DOUBLEPOST=1564696872][/DOUBLEPOST]не показывало от гранат... может где-то ошибся. поставил щас твой вариант. урон от гранат не показывает, когда себя подрываю, но пропал показ урона, когда падаю (как выше на видео показывал, что было при падении).ну так, вам же надо, что бы вам от взрыва показаывался дамаг? он должен по идеи показываться и так же показывать все типы уронов которые вы наносите себе[DOUBLEPOST=1564695746][/DOUBLEPOST]вы не правильно изменили, вот правильно:
Код:#include <amxmodx> #include <reapi> new g_HudSyncMessage; new g_HudSyncMessage2; public plugin_init(){ RegisterHookChain(RG_CBasePlayer_TakeDamage, "CPlayer_TakeDamage_Post", .post = true); g_HudSyncMessage = CreateHudSyncObj(); g_HudSyncMessage2 = CreateHudSyncObj(); } public CPlayer_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:flDamage, iBitsDamageType){ if(!is_user_connected(iAttacker))return; //if(iBitsDamageType & DMG_BLAST)return; static team;team = get_member(iVictim,m_iTeam); if(team == get_member(iAttacker, m_iTeam)) return; static rgb[3]; if(team==1){ rgb[0]=255;rgb[1]=0;rgb[2]=0; } else{ rgb[0]=0;rgb[1]=0;rgb[2]=255; } set_hudmessage(rgb[0], rgb[1], rgb[2], 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1); ShowSyncHudMsg(iVictim, g_HudSyncMessage2, "%.0f", flDamage); team = get_member(iAttacker,m_iTeam); if(team==2){ rgb[0]=255;rgb[1]=0;rgb[2]=0; } else{ rgb[0]=0;rgb[1]=0;rgb[2]=255; } set_hudmessage(rgb[0], rgb[1], rgb[2], -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1); ShowSyncHudMsg(iAttacker, g_HudSyncMessage, "%.0f", flDamage); }
set_hudmessage(rgb[0], rgb[1], rgb[2], 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
ShowSyncHudMsg(iVictim, g_HudSyncMessage2, "%.0f", flDamage);
-if(!is_user_connected(iAttacker))return; не убрана была эта строка
team = get_member(iAttacker,m_iTeam);
if(team==2){
rgb[0]=255;rgb[1]=0;rgb[2]=0;
}
#include <amxmodx>
#include <reapi>
new g_HudSyncMessage;
new g_HudSyncMessage2;
public plugin_init(){
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CPlayer_TakeDamage_Post", .post = true);
g_HudSyncMessage = CreateHudSyncObj();
g_HudSyncMessage2 = CreateHudSyncObj();
}
public CPlayer_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:flDamage, iBitsDamageType){
if(!is_user_connected(iAttacker))return;
static team;team = get_member(iVictim,m_iTeam);
if(team == get_member(iAttacker, m_iTeam))return;
static rgb[3];
if(team==1){
rgb[0]=255;rgb[1]=0;rgb[2]=0;
}
else{
rgb[0]=0;rgb[1]=0;rgb[2]=255;
}
set_hudmessage(rgb[0], rgb[1], rgb[2], 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
ShowSyncHudMsg(iVictim, g_HudSyncMessage2, "%.0f", flDamage);
if(!is_user_connected(iAttacker))return;
team = get_member(iAttacker,m_iTeam);
if(team==2){
rgb[0]=255;rgb[1]=0;rgb[2]=0;
}
else{
rgb[0]=0;rgb[1]=0;rgb[2]=255;
}
set_hudmessage(rgb[0], rgb[1], rgb[2], -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
ShowSyncHudMsg(iAttacker, g_HudSyncMessage, "%.0f", flDamage);
}
#include <amxmodx>
#include <reapi>
new g_HudSyncMessage;
new g_HudSyncMessage2;
public plugin_init(){
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CPlayer_TakeDamage_Post", .post = true);
g_HudSyncMessage = CreateHudSyncObj();
g_HudSyncMessage2 = CreateHudSyncObj();
}
public CPlayer_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:flDamage, iBitsDamageType){
if(/* iVictim==iAttacker *//* || flDamage <= 0.0 */|| !rg_is_player_can_takedamage(iVictim, iAttacker))return;
if(iBitsDamageType & DMG_FALL)return;
static team;team = get_member(iVictim,m_iTeam);
static rgb[3];
if(team==1){
rgb[0]=255;rgb[1]=0;rgb[2]=0;
}
else{
rgb[0]=0;rgb[1]=0;rgb[2]=255;
}
set_hudmessage(rgb[0], rgb[1], rgb[2], 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
ShowSyncHudMsg(iVictim, g_HudSyncMessage2, "%.0f", flDamage);
if(!is_user_connected(iAttacker))return;
team = get_member(iAttacker,m_iTeam);
if(team==2){
rgb[0]=255;rgb[1]=0;rgb[2]=0;
}
else{
rgb[0]=0;rgb[1]=0;rgb[2]=255;
}
set_hudmessage(rgb[0], rgb[1], rgb[2], -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
ShowSyncHudMsg(iAttacker, g_HudSyncMessage, "%.0f", flDamage);
}
нету никакого friendlyfire на сервере...[DOUBLEPOST=1564729695][/DOUBLEPOST]Посмотреть вложение 9449
Это небезопасно, об этом было 100 раз написано на предыдущей странице. Где логика?[DOUBLEPOST=1564710076][/DOUBLEPOST][DOUBLEPOST=1564710105][/DOUBLEPOST]У тебя на сервере урон по своим что-ли включен или что?[DOUBLEPOST=1564710175][/DOUBLEPOST]rg_is_player_can_takedamageC++:#include <amxmodx> #include <reapi> new g_HudSyncMessage; new g_HudSyncMessage2; public plugin_init(){ RegisterHookChain(RG_CBasePlayer_TakeDamage, "CPlayer_TakeDamage_Post", .post = true); g_HudSyncMessage = CreateHudSyncObj(); g_HudSyncMessage2 = CreateHudSyncObj(); } public CPlayer_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:flDamage, iBitsDamageType){ if(/* iVictim==iAttacker *//* || flDamage <= 0.0 */|| !rg_is_player_can_takedamage(iVictim, iAttacker))return; if(iBitsDamageType & DMG_FALL)return; static team;team = get_member(iVictim,m_iTeam); static rgb[3]; if(team==1){ rgb[0]=255;rgb[1]=0;rgb[2]=0; } else{ rgb[0]=0;rgb[1]=0;rgb[2]=255; } set_hudmessage(rgb[0], rgb[1], rgb[2], 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1); ShowSyncHudMsg(iVictim, g_HudSyncMessage2, "%.0f", flDamage); if(!is_user_connected(iAttacker))return; team = get_member(iAttacker,m_iTeam); if(team==2){ rgb[0]=255;rgb[1]=0;rgb[2]=0; } else{ rgb[0]=0;rgb[1]=0;rgb[2]=255; } set_hudmessage(rgb[0], rgb[1], rgb[2], -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1); ShowSyncHudMsg(iAttacker, g_HudSyncMessage, "%.0f", flDamage); }
кинет гранату игрок, выйдет, и не покажет тому кому урон нанесло сколько сняло
Убирай лучше всякие friendlyfire, смысл с них?
//AMXXPC compile.exe
// by the AMX Mod X Dev Team
//// damager51.sma
//
// D:\hlds\cstrike\addons\amxmodx\scripting\damager51.sma(11) : error 029: inval
id expression, assumed zero
// D:\hlds\cstrike\addons\amxmodx\scripting\damager51.sma(11) : error 001: expec
ted token: ";", but found ")"
// D:\hlds\cstrike\addons\amxmodx\scripting\damager51.sma(11) : error 029: inval
id expression, assumed zero
// D:\hlds\cstrike\addons\amxmodx\scripting\damager51.sma(11) : fatal error 107:
too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
// Could not locate output file D:\hlds\cstrike\addons\amxmodx\scripting\compile
d\damager51.amx (compile failed).
//
// Compilation Time: 0,36 sec
// ----------------------------------------
Press enter to exit ...
вот в этом варианте #25, когда стрелял по своему игроку, показывался нанесённый урон по игроку.[DOUBLEPOST=1564741503][/DOUBLEPOST]Ну а почему ты пишешь тогда что тебе показывает нанесенный игроку своей команды урон?
С чего бы функции вызываться если урон не был нанесен?
|| удали на 11, та что вне /* */ блока, либо занеси ее в блок.
public CPlayer_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:flDamage, iBitsDamageType){
if(/* iVictim==iAttacker *//* || flDamage <= 0.0 */ !rg_is_player_can_takedamage(iVictim, iAttacker))return;
[/ICODE]
Ты попробуй новый вариант, который скинули.
Если у тебя ff выключен то урон по своим даже не должен проходить в эти функции по-моему, хотя это не точно.
#include <amxmodx>
#include <reapi>
new g_HudSyncMessage;
new g_HudSyncMessage2;
public plugin_init(){
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CPlayer_TakeDamage_Post", .post = true);
g_HudSyncMessage = CreateHudSyncObj();
g_HudSyncMessage2 = CreateHudSyncObj();
}
public CPlayer_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:flDamage, iBitsDamageType){
if(/* iVictim==iAttacker *//* || flDamage <= 0.0 */ !rg_is_player_can_takedamage(iVictim, iAttacker))return;
if(iBitsDamageType & DMG_FALL)return;
static team;team = get_member(iVictim,m_iTeam);
static rgb[3];
if(team==1){
rgb[0]=255;rgb[1]=0;rgb[2]=0;
}
else{
rgb[0]=0;rgb[1]=0;rgb[2]=255;
}
set_hudmessage(rgb[0], rgb[1], rgb[2], 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
ShowSyncHudMsg(iVictim, g_HudSyncMessage2, "%.0f", flDamage);
if(!is_user_connected(iAttacker))return;
team = get_member(iAttacker,m_iTeam);
if(team==2){
rgb[0]=255;rgb[1]=0;rgb[2]=0;
}
else{
rgb[0]=0;rgb[1]=0;rgb[2]=255;
}
set_hudmessage(rgb[0], rgb[1], rgb[2], -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
ShowSyncHudMsg(iAttacker, g_HudSyncMessage, "%.0f", flDamage);
}
mp_friendlyfire "0" // Возможность атаковать своих.
это я проверял.Видео не нужно. Квары не так проверяют, напиши в консоль сервера mp_friendlyfire и посмотри результат.
mp_friendlyfire
"mp_friendlyfire" is "0"
if(/* iVictim==iAttacker *//* || flDamage <= 0.0 */ !rg_is_player_can_takedamage(iVictim, iAttacker))return;