Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

KnifeDistance

woody
сообщение 20.3.2016, 11:28
Сообщение #1
Стаж: 8 лет 10 месяцев

Сообщений: 58
Благодарностей: 26
Полезность: < 0

Узнаем расстояние, с которого мы убили ножом или нас.

say /kd

Cкрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>

#define PLUGIN "KnifeDistance"
#define VERSION "1.0"
#define AUTHOR "vk.com/id78000"

new iPlayerEnable[33]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

RegisterHam(Ham_Killed, "player", "PlayerKilled")

register_clcmd("say /kd", "OnOff")
register_clcmd("say_team /kd", "OnOff")
}

public OnOff(id)
{
if(iPlayerEnable[id])
{
iPlayerEnable[id] = false
ChatColor(id, "!yПоказ !tсообщений !gотключен.")
}else{
iPlayerEnable[id] = true
ChatColor(id, "!yПоказ !tсообщений !gвключен.")
}
}

public PlayerKilled(iVictim, iAttacker, iCorpse)
{
if(!iVictim || !iAttacker || iVictim == iAttacker)
return PLUGIN_HANDLED

new iWeapon = get_user_weapon(iAttacker)

if(iWeapon != CSW_KNIFE)
return PLUGIN_HANDLED

new Float:fVOrigin[3], Float:fAOrigin[3]

pev(iVictim, pev_origin, fVOrigin)
pev(iAttacker, pev_origin, fAOrigin)

new szVName[32], szAName[32]

get_user_name(iVictim, szVName, charsmax( szVName ))
get_user_name(iAttacker, szAName, charsmax( szAName ))

new Float:fDistance = get_distance_f(fVOrigin, fAOrigin) / 32.0

if(!iPlayerEnable[iVictim])
{
ChatColor(iVictim, "!yТебя !gубил !t%s !yс расстояние !g%2f м.", szAName, fDistance)
}

if(!iPlayerEnable[iAttacker])
{
ChatColor(iAttacker, "!yТы !gубил !t%s !yс расстояние !g%2f м.", szVName, fDistance)
}
return PLUGIN_HANDLED
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


Отредактировал: woody, - 20.3.2016, 12:05
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: