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

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

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

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

Лучший игрок раунда по урону (ZP)

Статус пользователя strahh
сообщение 27.4.2013, 17:35
Сообщение #1


Стаж: 13 лет

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

Ребя у кого есть плагин лучший игрок раунда по нанесенному урону думаю функцию обяснять не нужно
В конце раунда в чате люди видят такое сообщение

Player оказался лучшим игроком раунда по урону [%s dmg]

Если кто сможет написать за бесплатно буду рад =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя xoomie
сообщение 27.4.2013, 18:51
Сообщение #2


Стаж: 13 лет

Сообщений: 136
Благодарностей: 15
Полезность: 93

Учись пользоваться поисковиком
Скрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>

enum _:score
{
frags,
Float:dmg,
hs
}

new niceP[33][score]

new hudsync

public plugin_init()
{
register_plugin( "aga", "1.0", "Got Milk?")

RegisterHam(Ham_TakeDamage, "player", "hook_TakeDamage")
register_event("DeathMsg", "Event_DeathMessage", "a")
register_logevent("event_round_end", 2, "1=Round_End")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0");

hudsync = CreateHudSyncObj()
}

public event_round_end ()
{
new Players[32], num, tmpf, Float:tmpd, tmpid
get_players( Players, num )

for( new i; i < 32; i++)
{
if ( niceP[i][frags] > tmpf )
{
tmpid = i
tmpf = niceP[i][frags]
tmpd = niceP[i][dmg]
}
else if ( niceP[i][frags] == tmpf && niceP[i][dmg] > tmpd)
{
tmpid = i
tmpf = niceP[i][frags]
tmpd = niceP[i][dmg]
}
}

if ( tmpf > 0 )
{
new name[32], msg[1024];
get_user_name(tmpid, name, 31);

format( msg, charsmax(msg), "Лучшим стрелком этого раунда оказался^n!!! %s !!!^nСделав %d фрага(ов) и %d урона", name, tmpf, floatround(tmpd, floatround_round) )

set_hudmessage(255, 0, 0, -1.0, 0.17, 0, 5.0)
ShowSyncHudMsg(0, hudsync, msg)
}
}

public hook_TakeDamage(Victim, inflictor, Attacker, Float:damage, damagebits)
{
if( inflictor == Attacker )
niceP[Attacker][dmg] += damage
else
{
static classname[32]
pev (inflictor, pev_classname, classname, 31)
if( equal (classname, "grenade") )
niceP[Attacker][dmg] += damage
}

if ( get_pdata_int(Victim, 75, 5) == HIT_HEAD )
niceP[Attacker][hs]++

return HAM_IGNORED
}

public Event_DeathMessage()
niceP[read_data(1)][frags]++

public event_round_start ( )
for (new i; i < 32; i++)
for ( new j; j < 3; j++)
niceP[i][j] = 0

public client_disconnect(id)
for ( new j; j < 3; j++)
niceP[id][j] = 0

HUD красный,менять дело техники.

Отредактировал: xoomie, - 27.4.2013, 18:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя offtop2012
сообщение 27.4.2013, 19:47
Сообщение #3


Стаж: 13 лет

Сообщений: 878
Благодарностей: 126
Полезность: 356

Цитата(xoomie @ 27.4.2013, 20:51) *
Учись пользоваться поисковиком
Скрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>

enum _:score
{
frags,
Float:dmg,
hs
}

new niceP[33][score]

new hudsync

public plugin_init()
{
register_plugin( "aga", "1.0", "Got Milk?")

RegisterHam(Ham_TakeDamage, "player", "hook_TakeDamage")
register_event("DeathMsg", "Event_DeathMessage", "a")
register_logevent("event_round_end", 2, "1=Round_End")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0");

hudsync = CreateHudSyncObj()
}

public event_round_end ()
{
new Players[32], num, tmpf, Float:tmpd, tmpid
get_players( Players, num )

for( new i; i < 32; i++)
{
if ( niceP[i][frags] > tmpf )
{
tmpid = i
tmpf = niceP[i][frags]
tmpd = niceP[i][dmg]
}
else if ( niceP[i][frags] == tmpf && niceP[i][dmg] > tmpd)
{
tmpid = i
tmpf = niceP[i][frags]
tmpd = niceP[i][dmg]
}
}

if ( tmpf > 0 )
{
new name[32], msg[1024];
get_user_name(tmpid, name, 31);

format( msg, charsmax(msg), "Лучшим стрелком этого раунда оказался^n!!! %s !!!^nСделав %d фрага(ов) и %d урона", name, tmpf, floatround(tmpd, floatround_round) )

set_hudmessage(255, 0, 0, -1.0, 0.17, 0, 5.0)
ShowSyncHudMsg(0, hudsync, msg)
}
}

public hook_TakeDamage(Victim, inflictor, Attacker, Float:damage, damagebits)
{
if( inflictor == Attacker )
niceP[Attacker][dmg] += damage
else
{
static classname[32]
pev (inflictor, pev_classname, classname, 31)
if( equal (classname, "grenade") )
niceP[Attacker][dmg] += damage
}

if ( get_pdata_int(Victim, 75, 5) == HIT_HEAD )
niceP[Attacker][hs]++

return HAM_IGNORED
}

public Event_DeathMessage()
niceP[read_data(1)][frags]++

public event_round_start ( )
for (new i; i < 32; i++)
for ( new j; j < 3; j++)
niceP[i][j] = 0

public client_disconnect(id)
for ( new j; j < 3; j++)
niceP[id][j] = 0

HUD красный,менять дело техники.


Он же написал чат сообщение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя xoomie
сообщение 27.4.2013, 20:03
Сообщение #4


Стаж: 13 лет

Сообщений: 136
Благодарностей: 15
Полезность: 93

Цитата(offtop2012 @ 27.4.2013, 21:47) *
Он же написал чат сообщение

PS: Увидел исправил.

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

enum _:score
{
frags,
Float:dmg,
hs
}

new niceP[33][score]

new hudsync

public plugin_init()
{
register_plugin( "aga", "1.0", "Got Milk?")

RegisterHam(Ham_TakeDamage, "player", "hook_TakeDamage")
register_event("DeathMsg", "Event_DeathMessage", "a")
register_logevent("event_round_end", 2, "1=Round_End")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0");

hudsync = CreateHudSyncObj()
}

public event_round_end ()
{
new Players[32], num, tmpf, Float:tmpd, tmpid
get_players( Players, num )

for( new i; i < 32; i++)
{
if ( niceP[i][frags] > tmpf )
{
tmpid = i
tmpf = niceP[i][frags]
tmpd = niceP[i][dmg]
}
else if ( niceP[i][frags] == tmpf && niceP[i][dmg] > tmpd)
{
tmpid = i
tmpf = niceP[i][frags]
tmpd = niceP[i][dmg]
}
}

if ( tmpf > 0 )
{
new name[32]
get_user_name(tmpid, name, 31);
client_print(0, print_chat, "Лучшим стрелком этого раунда оказался^n!!! %s !!!^nСделав %d фрага(ов) и %d урона", name, tmpf, floatround(tmpd, floatround_round) )
}
}

public hook_TakeDamage(Victim, inflictor, Attacker, Float:damage, damagebits)
{
if( inflictor == Attacker )
niceP[Attacker][dmg] += damage
else
{
static classname[32]
pev (inflictor, pev_classname, classname, 31)
if( equal (classname, "grenade") )
niceP[Attacker][dmg] += damage
}

if ( get_pdata_int(Victim, 75, 5) == HIT_HEAD )
niceP[Attacker][hs]++

return HAM_IGNORED
}

public Event_DeathMessage()
niceP[read_data(1)][frags]++

public event_round_start ( )
for (new i; i < 32; i++)
for ( new j; j < 3; j++)
niceP[i][j] = 0

public client_disconnect(id)
for ( new j; j < 3; j++)
niceP[id][j] = 0
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя strahh
сообщение 27.4.2013, 20:55
Сообщение #5


Стаж: 13 лет

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

Спасибо всем, но код грязный видно новичку зачем там просто так делает дхуд , и если не сложно добавьте колор

Отредактировал: strahh, - 27.4.2013, 20:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: