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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

nice_killer.sma

, Помогите подправить!?
Статус пользователя Wind
сообщение 1.10.2013, 1:40
Сообщение #1
Стаж: 12 лет

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

здравствуйте помогите пожалуйста подправить плагин nice_killer.sma чтобы больше времени показывало сообщение лучшего игрока!
Зарание спасибо!

Код:
#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


Отредактировал: iShot, - 16.9.2016, 17:12
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя xoymiii
сообщение 1.10.2013, 6:53
Сообщение #2


Стаж: 13 лет

Сообщений: 769
Благодарностей: 244
Полезность: 567

Код:
set_hudmessage(255, 0, 0, -1.0, 0.17, 0, 5.0)


на

Код:
set_hudmessage(255, 0, 0, -1.0, 0.17, 0, 10.0)


попробуй
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя N3UR0
сообщение 16.9.2016, 14:25
Сообщение #3


Стаж: 9 лет

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

У меня другая проблема с данным плагином...
Билд серва reHLDS , amx1.8.2, плагин допиливался под dhud
Статистика урона в плагине не совпадает со статистикой через /me
Логи
L 08/31/2016 - 07:09:46: [AMXX] Displaying debug trace (plugin "nice_killer.amxx")
L 08/31/2016 - 07:09:46: [AMXX] Run time error 4: index out of bounds
L 08/31/2016 - 07:09:46: [AMXX] [0] 8879a81319921837e9d08d7d65a24d45.sma::hook_TakeDamage (line 63)

Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <dhudmessage>

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

new niceP[33][score]

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");
}

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), "%s убил %d ^nУрон: %d HP", name, tmpf, floatround(tmpd, floatround_round) )

ClearDHUDMessages(0)
set_dhudmessage(40, 25, 0, -1.0, 0.80, 0, 8.0)
show_dhudmessage(0, msg)
}
}

public hook_TakeDamage(Victim, inflictor, Attacker, Float:damage, damagebits)
{
if(is_user_connected(Attacker) || is_user_connected(inflictor))
{
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

stock ClearDHUDMessages(pId, iClear = 8)
{
for (new iDHUD = 0; iDHUD < iClear; iDHUD++)
show_dhudmessage(pId, "");
}

i
Уведомление:
Для оформления кода используйте тег PAWN или CODE + SPOILER


На скриншоте в dhude плагин nice_killer, в чате статистика /me отличие на лицо!


Отредактировал: iShot, - 17.9.2016, 10:50
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: