Александр Фортус
Участник
- Сообщения
- 15
- Реакции
- 0
Доброе всем время суток) Копался в сетке и нашел интересный плагин который запрещает убивать за спину, но он для 1.6. Может кто переписать или подкинуть готовый для сорс? Спасибо.
Вот еще один, не знаю какой из них как работает.
#include <amxmodx>
#include <hamsandwich>
public plugin_init()
{
register_plugin("Block Back Damage for amx-x.ru", "1.0", "Pain")
RegisterHam( Ham_TakeDamage, "player", "Damage" )
}
public Damage(Victim, Inflictor, Attacker, Float:Dmg, Dmgbits)
{
if(get_user_team(Attacker) == get_user_team(Victim)) return HAM_IGNORED
new nameattack[32]
get_user_name(Attacker, nameattack, charsmax(nameattack))
new namevictim[32]
get_user_name(Victim, namevictim, charsmax(namevictim))
if(Dmg == 195.0)
{
SetHamParamFloat(4, 0.0)
user_silentkill(Attacker)
ColorChat(Attacker, "!tВы были наказаны за попытку убить в спину игрока !g%s", namevictim)
ColorChat(Victim, "!tИгрок !g%s!t попытался убить вас со спины, за что был наказан", nameattack)
}
return HAM_HANDLED
}
stock ColorChat(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
format(msg, sizeof(msg), "%s", msg)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!t", "^3") // Team Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
write_byte(players);
write_string(msg);
message_end();
}
}
}
}
#include <hamsandwich>
public plugin_init()
{
register_plugin("Block Back Damage for amx-x.ru", "1.0", "Pain")
RegisterHam( Ham_TakeDamage, "player", "Damage" )
}
public Damage(Victim, Inflictor, Attacker, Float:Dmg, Dmgbits)
{
if(get_user_team(Attacker) == get_user_team(Victim)) return HAM_IGNORED
new nameattack[32]
get_user_name(Attacker, nameattack, charsmax(nameattack))
new namevictim[32]
get_user_name(Victim, namevictim, charsmax(namevictim))
if(Dmg == 195.0)
{
SetHamParamFloat(4, 0.0)
user_silentkill(Attacker)
ColorChat(Attacker, "!tВы были наказаны за попытку убить в спину игрока !g%s", namevictim)
ColorChat(Victim, "!tИгрок !g%s!t попытался убить вас со спины, за что был наказан", nameattack)
}
return HAM_HANDLED
}
stock ColorChat(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
format(msg, sizeof(msg), "%s", msg)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!t", "^3") // Team Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
write_byte(players);
write_string(msg);
message_end();
}
}
}
}
Вот еще один, не знаю какой из них как работает.
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#define PLUGIN "BackKnife"
#define VERSION "1.0"
#define AUTHOR "CrAsH"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "TakeDamage")
}
public TakeDamage(iVictim, iWeaponID, iAttacker, Float:fDamage, iBits)
{
if(get_user_weapon(iAttacker) == CSW_KNIFE)
{
if(fDamage == 195.0)
{
SetHamParamFloat(4, 10.0) //твой урон в спину в дробном виде
}
}
#include <amxmisc>
#include <hamsandwich>
#define PLUGIN "BackKnife"
#define VERSION "1.0"
#define AUTHOR "CrAsH"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "TakeDamage")
}
public TakeDamage(iVictim, iWeaponID, iAttacker, Float:fDamage, iBits)
{
if(get_user_weapon(iAttacker) == CSW_KNIFE)
{
if(fDamage == 195.0)
{
SetHamParamFloat(4, 10.0) //твой урон в спину в дробном виде
}
}