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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Kill assist

Статус пользователя Altaj
сообщение 20.8.2014, 19:59
Сообщение #1


Стаж: 12 лет
Город: Барнаул

Сообщений: 456
Благодарностей: 442
Полезность: 565

Добрый вечер. Есть ли у кого-нибудь рабочий Kill assist? Сколько не устанавливал ни один не хочет нормально работать...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bloo
сообщение 20.8.2014, 20:01
Сообщение #2


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Altaj, а не нормально это как? Меняет ники?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Altaj
сообщение 20.8.2014, 20:05
Сообщение #3


Стаж: 12 лет
Город: Барнаул

Сообщений: 456
Благодарностей: 442
Полезность: 565

Цитата(Bloo @ 20.8.2014, 20:01) *
Altaj, а не нормально это как? Меняет ники?

У некоторых админов пропадают админки, по нажатию таб не понять что, асистента показывает через раз.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
marik
сообщение 20.8.2014, 20:12
Сообщение #4
Стаж: 12 лет

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

Да и с никами проблема вечная sad.gif я смотрю его не кто не ставит ! так как решения еще не нашли
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 20.8.2014, 20:14
Сообщение #5


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

marik, ник по любому будет меняться, по другому никак.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 20.8.2014, 20:18
Сообщение #6


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

Меценат Меценат

Пробуй так.. ники вообще не трогает)

Код:
/* --------------------------------------------------------------------------
Kill assist (for CS) v1.2b
by Digi (a.k.a. Hunter-Digital)
www.thehunters.ro
-----------------------------------------------------------------

Description:

When a player gets killed, this plugin checks if another player, from the same team,
did enough damage to the victim so that he could be an accomplice to the kill and
the assister will also receive a frag
(all of these are cvar controlled)


CVars and default values:

- amx_killassist_enable 0/1/2 (default: 1)
Enable modes: 0 = Disable / 1 = Enable with DeathMsg / 2 = Enable with HUD message

- amx_killassist_mindamage 1-9999 (default: 50)
Minimum amount of damage to deal to be nominated for an assisted kill

- amx_killassist_givefrags 0/1 (default: 1)
Give or not give the assister frags

- amx_killassist_givemoney 0-16000 (default: 300)
Give or not give the assister some money, 0 disables, 1 or more sets how much money

- amx_killassist_onlyalive 0/1 (default: 0)
Only alive players can be of assistance in killing other players


Credits and thanks:

- ConnorMcLeod - for helping with quick name changing
- arkshine - for helping with name squeeze
- joaquimandrade - code improvements
- anakin_cstrike - code improvements
- Nextra - more code improvements
- ajvn - some ideas
- Dores - and more code improvements
- frearmer - hud message sugestion


Changelog:

v1.2b - modified public variable to "killassist_version" and fixed deathmsg not showing when you suicide with worldspawn or an entity
v1.2 - added no-name-changing support, prints HUD message, to activate, set enabled to 2
v1.1b - simplified cvar checking using clamp()
v1.1 - converted to CS only, new cvars: amx_killassist_onlyalive, amx_killassist_givemoney, enriched cvar handling, added team cache and fixed some bugs
v1.0d - Removed useless stuff xD, added pcvar on amx_mode and used formatex()
v1.0c - Some modifications and added g_bOnline
v1.0b - Fixed admin name bug
v1.0 - Release

-------------------------------------------------------------- */

/* Feel free to modify these HUD message values */

#define HUD_colorR 255 // default: 255
#define HUD_colorG 155 // default: 155
#define HUD_colorB 0 // default: 0
#define HUD_posX 0.6 // default: 0.6
#define HUD_posY 0.2 // default: 0.2
#define HUD_fx 0 // default: 0
#define HUD_fxTime 0.0 // default: 0.0
#define HUD_holdTime 1.0 // default: 1.0
#define HUD_fadeInTime 0.3 // default: 0.3
#define HUD_fadeOutTime 2.0 // default: 2.0
#define HUD_channel -1 // default: -1

/* -------------------------------------------------------------------------
Nothing to edit below this point */

#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include <fun>

#define PLUGIN_TITLE "Kill assist (for CS)"
#define PLUGIN_VERSION "1.2b"
#define PLUGIN_AUTHOR "Digi (www.thehunters.ro)"
#define PLUGIN_PUBLICVAR "killassist_version"

#define MAXPLAYERS 32 + 1

#define TEAM_NONE 0
#define TEAM_TE 1
#define TEAM_CT 2
#define TEAM_SPEC 3

#define is_player(%1) (1 <= %1 <= g_iMaxPlayers)

new msgID_sayText
new msgID_deathMsg
new msgID_scoreInfo
new msgID_money

new pCVar_amxMode

new pCVar_enabled
new pCVar_minDamage
new pCVar_giveFrags
new pCVar_giveMoney
new pCVar_onlyAlive

new ch_pCVar_enabled
new ch_pCVar_minDamage
new ch_pCVar_giveFrags
new ch_pCVar_giveMoney
new ch_pCVar_onlyAlive

new g_szName[MAXPLAYERS][32]
new g_iTeam[MAXPLAYERS]
new g_iDamage[MAXPLAYERS][MAXPLAYERS]
new bool:g_bAlive[MAXPLAYERS] = {false, ...}
new bool:g_bOnline[MAXPLAYERS] = {false, ...}

new g_iLastAmxMode
new g_iMaxPlayers = 0
new bool:g_bAmxModeExists = false

public plugin_init()
{
register_plugin(PLUGIN_TITLE, PLUGIN_VERSION, PLUGIN_AUTHOR)
register_cvar(PLUGIN_PUBLICVAR, PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY)

pCVar_enabled = register_cvar("amx_killassist_enabled", "2")
pCVar_minDamage = register_cvar("amx_killassist_mindamage", "50")
pCVar_giveFrags = register_cvar("amx_killassist_givefrags", "1")
pCVar_giveMoney = register_cvar("amx_killassist_givemoney", "300")
pCVar_onlyAlive = register_cvar("amx_killassist_onlyalive", "0")

if(cvar_exists("amx_mode"))
{
pCVar_amxMode = get_cvar_pointer("amx_mode")

g_bAmxModeExists = true
}

msgID_money = get_user_msgid("Money")
msgID_sayText = get_user_msgid("SayText")
msgID_deathMsg = get_user_msgid("DeathMsg")
msgID_scoreInfo = get_user_msgid("ScoreInfo")

register_message(msgID_deathMsg, "msg_deathMsg")

register_logevent("event_roundStart", 2, "1=Round_Start")

register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
register_event("DeathMsg", "player_die", "ae")
register_event("TeamInfo", "player_joinTeam", "a")

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

g_iMaxPlayers = get_maxplayers()
}

public plugin_cfg() event_roundStart()

public event_roundStart()
{
ch_pCVar_enabled = clamp(get_pcvar_num(pCVar_enabled), 0, 2)
ch_pCVar_minDamage = clamp(get_pcvar_num(pCVar_minDamage), 0, 9999)
ch_pCVar_giveFrags = clamp(get_pcvar_num(pCVar_giveFrags), 0, 1)
ch_pCVar_giveMoney = clamp(get_pcvar_num(pCVar_giveMoney), 0, 16000)
ch_pCVar_onlyAlive = clamp(get_pcvar_num(pCVar_onlyAlive), 0, 1)
}

public client_putinserver(iPlayer)
{
g_bOnline[iPlayer] = true

get_user_name(iPlayer, g_szName[iPlayer], 31)
}

public client_disconnect(iPlayer)
{
g_iTeam[iPlayer] = TEAM_NONE
g_bAlive[iPlayer] = false
g_bOnline[iPlayer] = false
}

public player_joinTeam()
{
new iPlayer, szTeam[2]

iPlayer = read_data(1)
read_data(2, szTeam, 1)

switch(szTeam[0])
{
case 'T': g_iTeam[iPlayer] = TEAM_TE
case 'C': g_iTeam[iPlayer] = TEAM_CT
default: g_iTeam[iPlayer] = TEAM_SPEC // since you can't transfer yourself to unassigned team...
}

return PLUGIN_CONTINUE
}

public player_spawn(iPlayer)
{
if(!is_user_alive(iPlayer))
return HAM_IGNORED

g_bAlive[iPlayer] = true // he's alive !

new szName[32]

get_user_name(iPlayer, szName, 31)

if(!equali(szName, g_szName[iPlayer])) // make sure he has his name !
{
set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(iPlayer, "name", g_szName[iPlayer])
}

// reset damage meters

for(new p = 1; p <= g_iMaxPlayers; p++)
g_iDamage[iPlayer][p] = 0

return HAM_IGNORED
}

public player_damage(iVictim)
{
if(!ch_pCVar_enabled || !is_player(iVictim))
return PLUGIN_CONTINUE

new iAttacker = get_user_attacker(iVictim)

if(!is_player(iAttacker))
return PLUGIN_CONTINUE

g_iDamage[iAttacker][iVictim] += read_data(2)

return PLUGIN_CONTINUE
}

public player_die()
{
if(!ch_pCVar_enabled)
return PLUGIN_CONTINUE

new iVictim = read_data(2)
new iKiller = read_data(1)
new iHS = read_data(3)
new szWeapon[24]
read_data(4, szWeapon, 23)

if(!is_player(iVictim))
{
do_deathmsg(iKiller, iVictim, iHS, szWeapon)

return PLUGIN_CONTINUE
}

g_bAlive[iVictim] = false

if(!is_player(iKiller))
{
do_deathmsg(iKiller, iVictim, iHS, szWeapon)

return PLUGIN_CONTINUE
}

new iKillerTeam = g_iTeam[iKiller]

if(iKiller != iVictim && g_iTeam[iVictim] != iKillerTeam)
{
new iKiller2 = 0
new iDamage2 = 0

for(new p = 1; p <= g_iMaxPlayers; p++)
{
if(p != iKiller && g_bOnline[p] && (ch_pCVar_onlyAlive && g_bAlive[p] || !ch_pCVar_onlyAlive) && iKillerTeam == g_iTeam[p] && g_iDamage[p][iVictim] >= ch_pCVar_minDamage && g_iDamage[p][iVictim] > iDamage2)
{
iKiller2 = p
iDamage2 = g_iDamage[p][iVictim]
}

g_iDamage[p][iVictim] = 0
}

if(iKiller2 > 0 && iDamage2 > ch_pCVar_minDamage)
{
if(ch_pCVar_giveFrags)
{
new iFrags = get_user_frags(iKiller2)+1

set_user_frags(iKiller2, iFrags)

message_begin(MSG_ALL, msgID_scoreInfo)
write_byte(iKiller2)
write_short(iFrags)
write_short(get_user_deaths(iKiller2))
write_short(0)
write_short(iKillerTeam)
message_end()
}

if(ch_pCVar_giveMoney)
{
new iMoney = cs_get_user_money(iKiller2) + ch_pCVar_giveMoney

if(iMoney > 16000)
iMoney = 16000

cs_set_user_money(iKiller2, iMoney)

if(g_bAlive[iKiller2]) // no reason to send a money message when the player has no hud :}
{
message_begin(MSG_ONE_UNRELIABLE, msgID_money, _, iKiller2)
write_long(iMoney)
write_byte(1)
message_end()
}
}

if(ch_pCVar_enabled == 2)
{

}
else
{
new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]

iName1Len = get_user_name(iKiller, szName1, 31)
iName2Len = get_user_name(iKiller2, szName2, 31)

g_szName[iKiller] = szName1

if(iName1Len < 14)
{
formatex(szName1, iName1Len, "%s", szName1)
formatex(szName2, 28-iName1Len, "%s", szName2)
}
else if(iName2Len < 14)
{
formatex(szName1, 28-iName2Len, "%s", szName1)
formatex(szName2, iName2Len, "%s", szName2)
}
else
{
formatex(szName1, 13, "%s", szName1)
formatex(szName2, 13, "%s", szName2)
}

formatex(szNames, 31, "%s + %s", szName1, szName2)

set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(iKiller, "name", szNames)

if(g_bAmxModeExists)
{
g_iLastAmxMode = get_pcvar_num(pCVar_amxMode)

set_pcvar_num(pCVar_amxMode, 0)
}

if(equali(szWeapon, "grenade"))
szWeaponLong = "weapon_hegrenade"
else
formatex(szWeaponLong, 31, "weapon_%s", szWeapon)

new args[4]

args[0] = iVictim
args[1] = iKiller
args[2] = iHS
args[3] = get_weaponid(szWeaponLong)

set_task(0.1, "player_diePost", 0, args, 4)
}
}
else if(ch_pCVar_enabled == 1)
do_deathmsg(iKiller, iVictim, iHS, szWeapon)
}
else if(ch_pCVar_enabled == 1)
do_deathmsg(iVictim, iVictim, iHS, szWeapon)

return PLUGIN_CONTINUE
}

public player_diePost(arg[])
{
new szWeapon[24]
new iKiller = arg[1]

get_weaponname(arg[3], szWeapon, 23)
replace(szWeapon, 23, "weapon_", "")

do_deathmsg(iKiller, arg[0], arg[2], szWeapon)

set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(iKiller, "name", g_szName[iKiller])

if(g_bAmxModeExists)
set_pcvar_num(pCVar_amxMode, g_iLastAmxMode)

return PLUGIN_CONTINUE
}

public msg_deathMsg()
return ch_pCVar_enabled == 1 ? PLUGIN_HANDLED : PLUGIN_CONTINUE

/* originally from messages_stocks.inc, but simplified */

stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
message_begin(MSG_ALL, msgID_deathMsg)
write_byte(iKiller)
write_byte(iVictim)
write_byte(iHS)
write_string(szWeapon)
message_end()
}

/* --------------------------------------------------------------------------
EOF
-------------------------------------------------------------- */


либо можешь оставить тот который у тебя и поставить блокировку смены ника на сервере bayan.gif


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Altaj
сообщение 20.8.2014, 20:19
Сообщение #7


Стаж: 12 лет
Город: Барнаул

Сообщений: 456
Благодарностей: 442
Полезность: 565

Цитата(grishka444 @ 20.8.2014, 20:16) *
Пробуй так.. ники вообще не трогает)

Код:
/* --------------------------------------------------------------------------
Kill assist (for CS) v1.2b
by Digi (a.k.a. Hunter-Digital)
www.thehunters.ro
-----------------------------------------------------------------

Description:

When a player gets killed, this plugin checks if another player, from the same team,
did enough damage to the victim so that he could be an accomplice to the kill and
the assister will also receive a frag
(all of these are cvar controlled)


CVars and default values:

- amx_killassist_enable 0/1/2 (default: 1)
Enable modes: 0 = Disable / 1 = Enable with DeathMsg / 2 = Enable with HUD message

- amx_killassist_mindamage 1-9999 (default: 50)
Minimum amount of damage to deal to be nominated for an assisted kill

- amx_killassist_givefrags 0/1 (default: 1)
Give or not give the assister frags

- amx_killassist_givemoney 0-16000 (default: 300)
Give or not give the assister some money, 0 disables, 1 or more sets how much money

- amx_killassist_onlyalive 0/1 (default: 0)
Only alive players can be of assistance in killing other players


Credits and thanks:

- ConnorMcLeod - for helping with quick name changing
- arkshine - for helping with name squeeze
- joaquimandrade - code improvements
- anakin_cstrike - code improvements
- Nextra - more code improvements
- ajvn - some ideas
- Dores - and more code improvements
- frearmer - hud message sugestion


Changelog:

v1.2b - modified public variable to "killassist_version" and fixed deathmsg not showing when you suicide with worldspawn or an entity
v1.2 - added no-name-changing support, prints HUD message, to activate, set enabled to 2
v1.1b - simplified cvar checking using clamp()
v1.1 - converted to CS only, new cvars: amx_killassist_onlyalive, amx_killassist_givemoney, enriched cvar handling, added team cache and fixed some bugs
v1.0d - Removed useless stuff xD, added pcvar on amx_mode and used formatex()
v1.0c - Some modifications and added g_bOnline
v1.0b - Fixed admin name bug
v1.0 - Release

-------------------------------------------------------------- */

/* Feel free to modify these HUD message values */

#define HUD_colorR 255 // default: 255
#define HUD_colorG 155 // default: 155
#define HUD_colorB 0 // default: 0
#define HUD_posX 0.6 // default: 0.6
#define HUD_posY 0.2 // default: 0.2
#define HUD_fx 0 // default: 0
#define HUD_fxTime 0.0 // default: 0.0
#define HUD_holdTime 1.0 // default: 1.0
#define HUD_fadeInTime 0.3 // default: 0.3
#define HUD_fadeOutTime 2.0 // default: 2.0
#define HUD_channel -1 // default: -1

/* -------------------------------------------------------------------------
Nothing to edit below this point */

#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include <fun>

#define PLUGIN_TITLE "Kill assist (for CS)"
#define PLUGIN_VERSION "1.2b"
#define PLUGIN_AUTHOR "Digi (www.thehunters.ro)"
#define PLUGIN_PUBLICVAR "killassist_version"

#define MAXPLAYERS 32 + 1

#define TEAM_NONE 0
#define TEAM_TE 1
#define TEAM_CT 2
#define TEAM_SPEC 3

#define is_player(%1) (1 <= %1 <= g_iMaxPlayers)

new msgID_sayText
new msgID_deathMsg
new msgID_scoreInfo
new msgID_money

new pCVar_amxMode

new pCVar_enabled
new pCVar_minDamage
new pCVar_giveFrags
new pCVar_giveMoney
new pCVar_onlyAlive

new ch_pCVar_enabled
new ch_pCVar_minDamage
new ch_pCVar_giveFrags
new ch_pCVar_giveMoney
new ch_pCVar_onlyAlive

new g_szName[MAXPLAYERS][32]
new g_iTeam[MAXPLAYERS]
new g_iDamage[MAXPLAYERS][MAXPLAYERS]
new bool:g_bAlive[MAXPLAYERS] = {false, ...}
new bool:g_bOnline[MAXPLAYERS] = {false, ...}

new g_iLastAmxMode
new g_iMaxPlayers = 0
new bool:g_bAmxModeExists = false

public plugin_init()
{
register_plugin(PLUGIN_TITLE, PLUGIN_VERSION, PLUGIN_AUTHOR)
register_cvar(PLUGIN_PUBLICVAR, PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY)

pCVar_enabled = register_cvar("amx_killassist_enabled", "2")
pCVar_minDamage = register_cvar("amx_killassist_mindamage", "50")
pCVar_giveFrags = register_cvar("amx_killassist_givefrags", "1")
pCVar_giveMoney = register_cvar("amx_killassist_givemoney", "300")
pCVar_onlyAlive = register_cvar("amx_killassist_onlyalive", "0")

if(cvar_exists("amx_mode"))
{
pCVar_amxMode = get_cvar_pointer("amx_mode")

g_bAmxModeExists = true
}

msgID_money = get_user_msgid("Money")
msgID_sayText = get_user_msgid("SayText")
msgID_deathMsg = get_user_msgid("DeathMsg")
msgID_scoreInfo = get_user_msgid("ScoreInfo")

register_message(msgID_deathMsg, "msg_deathMsg")

register_logevent("event_roundStart", 2, "1=Round_Start")

register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
register_event("DeathMsg", "player_die", "ae")
register_event("TeamInfo", "player_joinTeam", "a")

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

g_iMaxPlayers = get_maxplayers()
}

public plugin_cfg() event_roundStart()

public event_roundStart()
{
ch_pCVar_enabled = clamp(get_pcvar_num(pCVar_enabled), 0, 2)
ch_pCVar_minDamage = clamp(get_pcvar_num(pCVar_minDamage), 0, 9999)
ch_pCVar_giveFrags = clamp(get_pcvar_num(pCVar_giveFrags), 0, 1)
ch_pCVar_giveMoney = clamp(get_pcvar_num(pCVar_giveMoney), 0, 16000)
ch_pCVar_onlyAlive = clamp(get_pcvar_num(pCVar_onlyAlive), 0, 1)
}

public client_putinserver(iPlayer)
{
g_bOnline[iPlayer] = true

get_user_name(iPlayer, g_szName[iPlayer], 31)
}

public client_disconnect(iPlayer)
{
g_iTeam[iPlayer] = TEAM_NONE
g_bAlive[iPlayer] = false
g_bOnline[iPlayer] = false
}

public player_joinTeam()
{
new iPlayer, szTeam[2]

iPlayer = read_data(1)
read_data(2, szTeam, 1)

switch(szTeam[0])
{
case 'T': g_iTeam[iPlayer] = TEAM_TE
case 'C': g_iTeam[iPlayer] = TEAM_CT
default: g_iTeam[iPlayer] = TEAM_SPEC // since you can't transfer yourself to unassigned team...
}

return PLUGIN_CONTINUE
}

public player_spawn(iPlayer)
{
if(!is_user_alive(iPlayer))
return HAM_IGNORED

g_bAlive[iPlayer] = true // he's alive !

new szName[32]

get_user_name(iPlayer, szName, 31)

if(!equali(szName, g_szName[iPlayer])) // make sure he has his name !
{
set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(iPlayer, "name", g_szName[iPlayer])
}

// reset damage meters

for(new p = 1; p <= g_iMaxPlayers; p++)
g_iDamage[iPlayer][p] = 0

return HAM_IGNORED
}

public player_damage(iVictim)
{
if(!ch_pCVar_enabled || !is_player(iVictim))
return PLUGIN_CONTINUE

new iAttacker = get_user_attacker(iVictim)

if(!is_player(iAttacker))
return PLUGIN_CONTINUE

g_iDamage[iAttacker][iVictim] += read_data(2)

return PLUGIN_CONTINUE
}

public player_die()
{
if(!ch_pCVar_enabled)
return PLUGIN_CONTINUE

new iVictim = read_data(2)
new iKiller = read_data(1)
new iHS = read_data(3)
new szWeapon[24]
read_data(4, szWeapon, 23)

if(!is_player(iVictim))
{
do_deathmsg(iKiller, iVictim, iHS, szWeapon)

return PLUGIN_CONTINUE
}

g_bAlive[iVictim] = false

if(!is_player(iKiller))
{
do_deathmsg(iKiller, iVictim, iHS, szWeapon)

return PLUGIN_CONTINUE
}

new iKillerTeam = g_iTeam[iKiller]

if(iKiller != iVictim && g_iTeam[iVictim] != iKillerTeam)
{
new iKiller2 = 0
new iDamage2 = 0

for(new p = 1; p <= g_iMaxPlayers; p++)
{
if(p != iKiller && g_bOnline[p] && (ch_pCVar_onlyAlive && g_bAlive[p] || !ch_pCVar_onlyAlive) && iKillerTeam == g_iTeam[p] && g_iDamage[p][iVictim] >= ch_pCVar_minDamage && g_iDamage[p][iVictim] > iDamage2)
{
iKiller2 = p
iDamage2 = g_iDamage[p][iVictim]
}

g_iDamage[p][iVictim] = 0
}

if(iKiller2 > 0 && iDamage2 > ch_pCVar_minDamage)
{
if(ch_pCVar_giveFrags)
{
new iFrags = get_user_frags(iKiller2)+1

set_user_frags(iKiller2, iFrags)

message_begin(MSG_ALL, msgID_scoreInfo)
write_byte(iKiller2)
write_short(iFrags)
write_short(get_user_deaths(iKiller2))
write_short(0)
write_short(iKillerTeam)
message_end()
}

if(ch_pCVar_giveMoney)
{
new iMoney = cs_get_user_money(iKiller2) + ch_pCVar_giveMoney

if(iMoney > 16000)
iMoney = 16000

cs_set_user_money(iKiller2, iMoney)

if(g_bAlive[iKiller2]) // no reason to send a money message when the player has no hud :}
{
message_begin(MSG_ONE_UNRELIABLE, msgID_money, _, iKiller2)
write_long(iMoney)
write_byte(1)
message_end()
}
}

if(ch_pCVar_enabled == 2)
{

}
else
{
new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]

iName1Len = get_user_name(iKiller, szName1, 31)
iName2Len = get_user_name(iKiller2, szName2, 31)

g_szName[iKiller] = szName1

if(iName1Len < 14)
{
formatex(szName1, iName1Len, "%s", szName1)
formatex(szName2, 28-iName1Len, "%s", szName2)
}
else if(iName2Len < 14)
{
formatex(szName1, 28-iName2Len, "%s", szName1)
formatex(szName2, iName2Len, "%s", szName2)
}
else
{
formatex(szName1, 13, "%s", szName1)
formatex(szName2, 13, "%s", szName2)
}

formatex(szNames, 31, "%s + %s", szName1, szName2)

set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(iKiller, "name", szNames)

if(g_bAmxModeExists)
{
g_iLastAmxMode = get_pcvar_num(pCVar_amxMode)

set_pcvar_num(pCVar_amxMode, 0)
}

if(equali(szWeapon, "grenade"))
szWeaponLong = "weapon_hegrenade"
else
formatex(szWeaponLong, 31, "weapon_%s", szWeapon)

new args[4]

args[0] = iVictim
args[1] = iKiller
args[2] = iHS
args[3] = get_weaponid(szWeaponLong)

set_task(0.1, "player_diePost", 0, args, 4)
}
}
else if(ch_pCVar_enabled == 1)
do_deathmsg(iKiller, iVictim, iHS, szWeapon)
}
else if(ch_pCVar_enabled == 1)
do_deathmsg(iVictim, iVictim, iHS, szWeapon)

return PLUGIN_CONTINUE
}

public player_diePost(arg[])
{
new szWeapon[24]
new iKiller = arg[1]

get_weaponname(arg[3], szWeapon, 23)
replace(szWeapon, 23, "weapon_", "")

do_deathmsg(iKiller, arg[0], arg[2], szWeapon)

set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(iKiller, "name", g_szName[iKiller])

if(g_bAmxModeExists)
set_pcvar_num(pCVar_amxMode, g_iLastAmxMode)

return PLUGIN_CONTINUE
}

public msg_deathMsg()
return ch_pCVar_enabled == 1 ? PLUGIN_HANDLED : PLUGIN_CONTINUE

/* originally from messages_stocks.inc, but simplified */

stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
message_begin(MSG_ALL, msgID_deathMsg)
write_byte(iKiller)
write_byte(iVictim)
write_byte(iHS)
write_string(szWeapon)
message_end()
}

/* --------------------------------------------------------------------------
EOF
-------------------------------------------------------------- */

Только что устанавливал. У меня он вообще не работает, только слетают админки... И блокировка смены ника стоит.

Отредактировал: Altaj, - 20.8.2014, 20:20
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 20.8.2014, 20:22
Сообщение #8


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

Меценат Меценат

amx_reloadadmins каждый раунд отправляй)

Код:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plugin"
#define VERSION "1.0"
#define AUTHOR "author"


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

register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0")
register_clcmd("amxmodmenu", "Event_HLTV_New_Round")
}

public Event_HLTV_New_Round()
{
server_cmd("amx_reloadadmins");
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
marik
сообщение 20.8.2014, 20:28
Сообщение #9
Стаж: 12 лет

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

Altaj,
откажись от этого плагина ! и меньше проблем будет !
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Altaj
сообщение 20.8.2014, 20:34
Сообщение #10


Стаж: 12 лет
Город: Барнаул

Сообщений: 456
Благодарностей: 442
Полезность: 565

Цитата(marik @ 20.8.2014, 20:28) *
Altaj,
откажись от этого плагина ! и меньше проблем будет !

Каких проблем? У меня их нет, а решение проблемы я найду-не переживайте...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 20.8.2014, 20:40
Сообщение #11


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Цитата(Altaj @ 20.8.2014, 22:34) *
Каких проблем? У меня их нет, а решение проблемы я найду-не переживайте...

Цитата(Altaj @ 20.8.2014, 22:05) *
У некоторых админов пропадают админки, по нажатию таб не понять что, асистента показывает через раз.

Вы юморите) У меня проблем нет, но решение проблемы я найду)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Altaj
сообщение 20.8.2014, 20:41
Сообщение #12


Стаж: 12 лет
Город: Барнаул

Сообщений: 456
Благодарностей: 442
Полезность: 565

Цитата(Bloo @ 20.8.2014, 20:40) *
Вы юморите) У меня проблем нет, но решение проблемы я найду)

А вы как всегда тролите... Если вы не поняли моего сообщения очень жаль.

Отредактировал: Altaj, - 20.8.2014, 20:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 20.8.2014, 20:44
Сообщение #13


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Altaj, ну забавно же звучит, разве нет? Тролю? Да что вы бросьте, никогда таким не занимался.
Вон вам grishka444, уже предложил вариант без смены ника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Altaj
сообщение 20.8.2014, 20:45
Сообщение #14


Стаж: 12 лет
Город: Барнаул

Сообщений: 456
Благодарностей: 442
Полезность: 565

Цитата(Bloo @ 20.8.2014, 20:44) *
Altaj, ну забавно же звучит, разве нет?
Вон вам grishka444, уже предложил вариант без смены ника.

Звучит забавно. Я поставил, посмотрим, что получится. Пятая попытка ))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BornToBeFree
сообщение 20.8.2014, 20:52
Сообщение #15


Стаж: 12 лет

Сообщений: 741
Благодарностей: 287
Полезность: 602

Меценат Меценат

Вот этот по-моему рабочий и админки не снимаются
Исходник
Код:
#define HUD_colorR			255	// default: 255
#define HUD_colorG 155 // default: 155
#define HUD_colorB 0 // default: 0
#define HUD_posX 0.6 // default: 0.6
#define HUD_posY 0.2 // default: 0.2
#define HUD_fx 0 // default: 0
#define HUD_fxTime 0.0 // default: 0.0
#define HUD_holdTime 1.0 // default: 1.0
#define HUD_fadeInTime 0.3 // default: 0.3
#define HUD_fadeOutTime 2.0 // default: 2.0
#define HUD_channel -1 // default: -1

/* -------------------------------------------------------------------------
Nothing to edit below this point */

#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>

#define PLUGIN_TITLE "Kill assist (for CS)"
#define PLUGIN_VERSION "1.2b"
#define PLUGIN_AUTHOR "Digi (www.thehunters.ro)"
#define PLUGIN_PUBLICVAR "killassist_version"

#define MAXPLAYERS 32 + 1

#define TEAM_NONE 0
#define TEAM_TE 1
#define TEAM_CT 2
#define TEAM_SPEC 3

#define is_player(%1) (1 <= %1 <= g_iMaxPlayers)

#define gmsg_SayText 76
#define gmsg_DeathMsg 83
#define gmsg_ScoreInfo 85
#define gmsg_Money 102

new pCVar_enabled,pCVar_minDamage,pCVar_giveFrags,pCVar_giveMoney,pCVar_onlyAlive;
new ch_pCVar_enabled,ch_pCVar_minDamage,ch_pCVar_giveFrags,ch_pCVar_giveMoney,ch_pCV
ar_onlyAlive;
new g_szName[MAXPLAYERS][MAXPLAYERS-1],g_iDamage[MAXPLAYERS][MAXPLAYERS],g_iTeam[MAXPLAYERS]
new bool:g_bAlive[MAXPLAYERS] = {false, ...}
new bool:g_bOnline[MAXPLAYERS] = {false, ...}
new bool:g_bblock_name[MAXPLAYERS] = {false, ...}
new g_iMaxPlayers = 0

public plugin_init()
{
register_plugin(PLUGIN_TITLE, PLUGIN_VERSION, PLUGIN_AUTHOR)
register_cvar(PLUGIN_PUBLICVAR, PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY)

pCVar_enabled = register_cvar("amx_killassist_enabled", "1")
pCVar_minDamage = register_cvar("amx_killassist_mindamage", "50")
pCVar_giveFrags = register_cvar("amx_killassist_givefrags", "1")
pCVar_giveMoney = register_cvar("amx_killassist_givemoney", "300")
pCVar_onlyAlive = register_cvar("amx_killassist_onlyalive", "0")

register_message(gmsg_DeathMsg, "msg_deathMsg")

register_logevent("event_roundStart", 2, "1=Round_Start")

register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
register_event("DeathMsg", "player_die", "ae")
register_event("TeamInfo", "player_joinTeam", "a")

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

g_iMaxPlayers = get_maxplayers()
}

public plugin_cfg() event_roundStart()

public event_roundStart()
{
ch_pCVar_enabled = clamp(get_pcvar_num(pCVar_enabled), 0, 2)
ch_pCVar_minDamage = clamp(get_pcvar_num(pCVar_minDamage), 0, 9999)
ch_pCVar_giveFrags = clamp(get_pcvar_num(pCVar_giveFrags), 0, 1)
ch_pCVar_giveMoney = clamp(get_pcvar_num(pCVar_giveMoney), 0, 16000)
ch_pCVar_onlyAlive = clamp(get_pcvar_num(pCVar_onlyAlive), 0, 1)
}

public client_putinserver(iPlayer)
{
g_bOnline[iPlayer] = true
get_user_name(iPlayer, g_szName[iPlayer], 31)
}

public client_disconnect(iPlayer)
{
g_iTeam[iPlayer] = TEAM_NONE
g_bAlive[iPlayer] = false
g_bOnline[iPlayer] = false
}

public player_joinTeam()
{
new iPlayer, szTeam[2]

iPlayer = read_data(1)
read_data(2, szTeam, 1)

switch(szTeam[0])
{
case 'T': g_iTeam[iPlayer] = TEAM_TE
case 'C': g_iTeam[iPlayer] = TEAM_CT
default: g_iTeam[iPlayer] = TEAM_SPEC // since you can't transfer yourself to unassigned team...
}

return PLUGIN_CONTINUE
}

public player_spawn(iPlayer)
{
if(!is_user_alive(iPlayer))
return HAM_IGNORED

g_bAlive[iPlayer] = true // he's alive !

// reset damage meters
for(new p = 1; p <= g_iMaxPlayers; p++)
g_iDamage[iPlayer][p] = 0

return HAM_IGNORED
}

public player_damage(iVictim)
{
if(!ch_pCVar_enabled || !is_player(iVictim))
return PLUGIN_CONTINUE

new iAttacker = get_user_attacker(iVictim)

if(!is_player(iAttacker))
return PLUGIN_CONTINUE

g_iDamage[iAttacker][iVictim] += read_data(2)

return PLUGIN_CONTINUE
}

public player_die()
{
if(!ch_pCVar_enabled)
return PLUGIN_CONTINUE

new iVictim = read_data(2)
new iKiller = read_data(1)
new iHS = read_data(3)
new szWeapon[24]
read_data(4, szWeapon, 23)

if(!is_player(iVictim))
{
do_deathmsg(iKiller, iVictim, iHS, szWeapon)
return PLUGIN_CONTINUE
}

g_bAlive[iVictim] = false

if(!is_player(iKiller))
{
do_deathmsg(iKiller, iVictim, iHS, szWeapon)
return PLUGIN_CONTINUE
}

new iKillerTeam = g_iTeam[iKiller]

if(iKiller != iVictim && g_iTeam[iVictim] != iKillerTeam)
{
new iKiller2 = 0
new iDamage2 = 0

for(new p = 1; p <= g_iMaxPlayers; p++)
{
if(p != iKiller && g_bOnline[p] && (ch_pCVar_onlyAlive && g_bAlive[p] || !ch_pCVar_onlyAlive) && iKillerTeam == g_iTeam[p] && g_iDamage[p][iVictim] >= ch_pCVar_minDamage && g_iDamage[p][iVictim] > iDamage2)
{
iKiller2 = p
iDamage2 = g_iDamage[p][iVictim]
}

g_iDamage[p][iVictim] = 0
}

if(iKiller2 > 0 && iDamage2 > ch_pCVar_minDamage)
{
if(ch_pCVar_giveFrags)
{
new iFrags = get_user_frags(iKiller2)+1
set_user_frags(iKiller2, iFrags)
message_begin(MSG_ALL, gmsg_ScoreInfo)
write_byte(iKiller2)
write_short(iFrags)
write_short(get_user_deaths(iKiller2))
write_short(0)
write_short(iKillerTeam)
message_end()
}

if(ch_pCVar_giveMoney)
{
new iMoney = cs_get_user_money(iKiller2) + ch_pCVar_giveMoney

if(iMoney > 16000)
iMoney = 16000

cs_set_user_money(iKiller2, iMoney)

if(g_bAlive[iKiller2]) // no reason to send a money message when the player has no hud :}
{
message_begin(MSG_ONE_UNRELIABLE, gmsg_Money, _, iKiller2)
write_long(iMoney)
write_byte(1)
message_end()
}
}

if(ch_pCVar_enabled == 2)
{
new szName1[32], szName2[32], szName3[32], szMsg[128]

get_user_name(iKiller, szName1, 31)
get_user_name(iKiller2, szName2, 31)
get_user_name(iVictim, szName3, 31)

formatex(szMsg, 63, "%s killed %s assisted by %s", szName1, szName3, szName2)

set_hudmessage(HUD_colorR, HUD_colorG, HUD_colorB, HUD_posX, HUD_posY, HUD_fx, HUD_fxTime, HUD_holdTime, HUD_fadeInTime, HUD_fadeOutTime, HUD_channel)
show_hudmessage(0, szMsg)
}
else
{
new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]

iName1Len = get_user_name(iKiller, szName1, 31)
iName2Len = get_user_name(iKiller2, szName2, 31)

g_szName[iKiller] = szName1

if(iName1Len < 14)
{
formatex(szName1, iName1Len, "%s", szName1)
formatex(szName2, 28-iName1Len, "%s", szName2)
}
else if(iName2Len < 14)
{
formatex(szName1, 28-iName2Len, "%s", szName1)
formatex(szName2, iName2Len, "%s", szName2)
}
else
{
formatex(szName1, 13, "%s", szName1)
formatex(szName2, 13, "%s", szName2)
}

formatex(szNames, 31, "%s + %s", szName1, szName2)

g_bblock_name[iKiller] = true
set_msg_block(gmsg_SayText, BLOCK_ONCE)
set_user_info(iKiller, "name", szNames)

if(equali(szWeapon, "grenade"))
szWeaponLong = "weapon_hegrenade"
else
formatex(szWeaponLong, 31, "weapon_%s", szWeapon)

new args[4]

args[0] = iVictim
args[1] = iKiller
args[2] = iHS
args[3] = get_weaponid(szWeaponLong)

set_task(0.1, "player_diePost", 0, args, 4)
}
}
else if(ch_pCVar_enabled == 1)
do_deathmsg(iKiller, iVictim, iHS, szWeapon)
}
else if(ch_pCVar_enabled == 1)
do_deathmsg(iVictim, iVictim, iHS, szWeapon)

return PLUGIN_CONTINUE
}

public player_diePost(arg[])
{
new szWeapon[24]
new iKiller = arg[1]

get_weaponname(arg[3], szWeapon, 23)
replace(szWeapon, 23, "weapon_", "")

do_deathmsg(iKiller, arg[0], arg[2], szWeapon)

set_msg_block(gmsg_SayText, BLOCK_ONCE)
set_user_info(iKiller, "name", g_szName[iKiller])
g_bblock_name[iKiller] = false
return PLUGIN_CONTINUE
}

public msg_deathMsg()
return ch_pCVar_enabled == 1 ? PLUGIN_HANDLED : PLUGIN_CONTINUE

public client_infochanged(id) {
if(g_bblock_name[id]) return;
get_user_name(id, g_szName[id], 31)
}

/* originally from messages_stocks.inc, but simplified */
stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
message_begin(MSG_ALL, gmsg_DeathMsg)
write_byte(iKiller)
write_byte(iVictim)
write_byte(iHS)
write_string(szWeapon)
message_end()
}


Скидка 5% при заказе сервера
Чтобы получить 5% скидку при заказе сервера на хостинге Serva4ok.ru
Необходимо ввести это кодовое слово gKUt-FENO-ZonE-aIaa
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
marik
сообщение 20.8.2014, 22:58
Сообщение #16
Стаж: 12 лет

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

ExTPuMaJI,
Cпс ! протестим глянем если ли изъяны
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: