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

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

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

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

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

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

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

Маленький баг плагина Amx Killer

Статус пользователя olegazaz
сообщение 27.6.2014, 20:49
Сообщение #1
Стаж: 11 лет

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

Обнаружил баг в этом плагине. Бан в том, что колличество убийств после 9 пропадает. Значит, счётчик только на 1 цифру. Надо переделать на 2 цифры.

CODE
////////////////////////////////////
// Amx_Killer //
// by Xhonor for stefkone //
// Skype: xhonor_39 //
////////////////////////////////////

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <dhudmessage>
#include <fakemeta>
#include <cstrike>

#define PLUGIN "Amx_Killer"
#define VERSION "1.1"
#define AUTHOR "Xhonor/asd edit"
#pragma tabsize 0

#define ICON_SHOW 1
#define ICON_HIDE 0

new kill_num[33]
new gMsgID

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

register_event( "DeathMsg", "hook_death", "a", "1>0" )
RegisterHam( Ham_TakeDamage,"player","damager",0 )

RegisterHam(Ham_Killed, "player", "ham_PlayerKilled")
RegisterHam(Ham_Spawn, "player", "ham_PlayerSpawned_Post", 1);

gMsgID = get_user_msgid("StatusIcon")
}

public ham_PlayerSpawned_Post(id)
{
if (is_user_alive(id))
{
ammo_hud(id, 0)
kill_num[id] = 0
ammo_hud(id, 1)
}
}

public ham_PlayerKilled(victim, attacker)
{
static selfkill;

selfkill = (victim == attacker || !is_user_connected(attacker)) ? true : false;

if(!selfkill)
{
ammo_hud(attacker, 0)
kill_num[attacker] += 1
ammo_hud(attacker, 1)
}
}

ammo_hud(id, sw)
{
if(is_user_bot(id) || !is_user_alive(id))
return

new s_sprite[33]
format(s_sprite, 32, "number_%d", kill_num[id])
if(sw && is_user_alive(id))
{
message_begin( MSG_ONE, gMsgID, {0,0,0}, id )
write_byte( ICON_SHOW )
write_string( s_sprite )
write_byte( 30 )
write_byte( 144 )
write_byte( 255 )
message_end()
} else {
message_begin( MSG_ONE, gMsgID, {0,0,0}, id )
write_byte( ICON_HIDE )
write_string( s_sprite )
write_byte( 30 )
write_byte( 144 )
write_byte( 255 )
message_end()
}

if(kill_num[id] <= 0 && is_user_alive(id))
{
message_begin( MSG_ONE, gMsgID, {0,0,0}, id )
write_byte( ICON_HIDE )
write_string( s_sprite )
write_byte( 30 )
write_byte( 144 )
write_byte( 255 )
message_end()
}
}

public hook_death()
{
new iKiller = read_data(1)
new iVictim = read_data(2)

if(is_user_alive(iKiller))
{
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, iKiller)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte( 30 )
write_byte( 144 )
write_byte( 255 )
write_byte(75)
message_end()
}
new s_sprite[33]
format(s_sprite, 32, "number_%d", kill_num[iVictim])

message_begin( MSG_ONE, gMsgID, {0,0,0}, iVictim )
write_byte( ICON_HIDE )
write_string( s_sprite )
write_byte( 30 )
write_byte( 144 )
write_byte( 255 )
message_end()
}

public damager(victim, inflictor, attacker, Float:damage)
{
if(!is_user_connected(attacker))
return

if(victim == attacker || !victim)
return

if(is_user_alive(attacker))
{
if(damage > 0)
{
if(cs_get_user_team(attacker) == cs_get_user_team(victim))
return

set_hudmessage(30, 144, 255, -0.49, -0.56, 0, 0.01, 0.01)
show_dhudmessage(attacker, "")
show_hudmessage(attacker, "")
show_hudmessage(attacker, "%d", floatround(damage))
}
}
}


Отредактировал: olegazaz, - 28.6.2014, 1:08
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя cstriker
сообщение 27.6.2014, 21:19
Сообщение #2


Иконка группы

Стаж: 13 лет

Сообщений: 1233
Благодарностей: 586
Полезность: 869

Цитата(olegazaz @ 27.6.2014, 20:49) *
Обнаружил бан в этом плагине. Бан в том, что колличество убийств после 9 пропадает. Значит, счётчик только на 1 цифру. Надо переделать на 2 цифры.

CODE
////////////////////////////////////
// Amx_Killer //
// by Xhonor for stefkone //
// Skype: xhonor_39 //
////////////////////////////////////

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <dhudmessage>
#include <fakemeta>
#include <cstrike>

#define PLUGIN "Amx_Killer"
#define VERSION "1.1"
#define AUTHOR "Xhonor/asd edit"
#pragma tabsize 0

#define ICON_SHOW 1
#define ICON_HIDE 0

new kill_num[33]
new gMsgID

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

register_event( "DeathMsg", "hook_death", "a", "1>0" )
RegisterHam( Ham_TakeDamage,"player","damager",0 )

RegisterHam(Ham_Killed, "player", "ham_PlayerKilled")
RegisterHam(Ham_Spawn, "player", "ham_PlayerSpawned_Post", 1);

gMsgID = get_user_msgid("StatusIcon")
}

public ham_PlayerSpawned_Post(id)
{
if (is_user_alive(id))
{
ammo_hud(id, 0)
kill_num[id] = 0
ammo_hud(id, 1)
}
}

public ham_PlayerKilled(victim, attacker)
{
static selfkill;

selfkill = (victim == attacker || !is_user_connected(attacker)) ? true : false;

if(!selfkill)
{
ammo_hud(attacker, 0)
kill_num[attacker] += 1
ammo_hud(attacker, 1)
}
}

ammo_hud(id, sw)
{
if(is_user_bot(id) || !is_user_alive(id))
return

new s_sprite[33]
format(s_sprite, 32, "number_%d", kill_num[id])
if(sw && is_user_alive(id))
{
message_begin( MSG_ONE, gMsgID, {0,0,0}, id )
write_byte( ICON_SHOW )
write_string( s_sprite )
write_byte( 30 )
write_byte( 144 )
write_byte( 255 )
message_end()
} else {
message_begin( MSG_ONE, gMsgID, {0,0,0}, id )
write_byte( ICON_HIDE )
write_string( s_sprite )
write_byte( 30 )
write_byte( 144 )
write_byte( 255 )
message_end()
}

if(kill_num[id] <= 0 && is_user_alive(id))
{
message_begin( MSG_ONE, gMsgID, {0,0,0}, id )
write_byte( ICON_HIDE )
write_string( s_sprite )
write_byte( 30 )
write_byte( 144 )
write_byte( 255 )
message_end()
}
}

public hook_death()
{
new iKiller = read_data(1)
new iVictim = read_data(2)

if(is_user_alive(iKiller))
{
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, iKiller)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte( 30 )
write_byte( 144 )
write_byte( 255 )
write_byte(75)
message_end()
}
new s_sprite[33]
format(s_sprite, 32, "number_%d", kill_num[iVictim])

message_begin( MSG_ONE, gMsgID, {0,0,0}, iVictim )
write_byte( ICON_HIDE )
write_string( s_sprite )
write_byte( 30 )
write_byte( 144 )
write_byte( 255 )
message_end()
}

public damager(victim, inflictor, attacker, Float:damage)
{
if(!is_user_connected(attacker))
return

if(victim == attacker || !victim)
return

if(is_user_alive(attacker))
{
if(damage > 0)
{
if(cs_get_user_team(attacker) == cs_get_user_team(victim))
return

set_hudmessage(30, 144, 255, -0.49, -0.56, 0, 0.01, 0.01)
show_dhudmessage(attacker, "")
show_hudmessage(attacker, "")
show_hudmessage(attacker, "%d", floatround(damage))
}
}
}

Это не баг. Уже было сказано, что для DM не годится.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 27.6.2014, 21:54
Сообщение #3


Стаж: 12 лет

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

Wellon, не для чего не годится, таким методом нельзя выводить в строку значения. Т.е. можно вывести только одно число от 0-9.
Ну в плане того что на паблике больше -9 за раунд как правило не бывает, то да утверждение верное.

olegazaz, когда вы научитесь нормально составлять информативные названия тем?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя olegazaz
сообщение 28.6.2014, 1:09
Сообщение #4
Стаж: 11 лет

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

olegazaz, когда вы научитесь нормально составлять информативные названия тем?
[/quote]

О, Боже. Ваш пример инофрмативного названия темы.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 28.6.2014, 1:18
Сообщение #5


Стаж: 12 лет

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

olegazaz, "Отображение больше 9 убийств в счетчике Amx Killer"
Хотя бы вот так на вскидку.....

"Маленький баг в *" Каждый создаст такую тему с интересующим их плагином, и как потом люди будут искать ответ на свой вопрос? Создавать тему с названием "Не очень большой баг в *"?
Вы о других тоже думайте, это не тех поддержка, это портал взаимопомощи. Тут никто никому ни чем не обязан, помогают только исходя из своих желаний.

Ваше "о боже" тут не к чему. Тут не он должен писать, а вы, и думать должны вы, а не он...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: