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

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

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

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

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

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

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

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

Amx Killer

Статус пользователя panicaskill
сообщение 17.6.2014, 13:12
Сообщение #1
Стаж: 12 лет
Город: Каменск-Уральский


Сообщений: 270
Благодарностей: 256
Полезность: 976

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

Ребята, помогите сделать две вещи. А именно:
1. Убрать Damager вообще у всех, т.е у простых игроков и игроков, с флагом t.
2. Добавить режим-vampire. Желательно чтобы результат выводил слева и "жирно".

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

#define PLUGIN "amx_killer"
#define VERSION "1.1"
#define AUTHOR "author"
#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

if(get_user_flags(attacker) & ADMIN_LEVEL_H)
{
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))
}
else
{
set_dhudmessage(30, 144, 255, -0.49, -0.48, 0, 0.01, 0.01)
show_dhudmessage(attacker, "")
show_hudmessage(attacker, "")
show_dhudmessage(attacker, " * ")
}
}
}
}


Отредактировал: Bloo, - 17.6.2014, 13:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя Basaev
сообщение 17.6.2014, 13:19
Сообщение #2


Стаж: 12 лет

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

В спойлер вставь товарищ Bloo Ругаться будет)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя 9art
сообщение 17.6.2014, 13:20
Сообщение #3


Стаж: 12 лет

Сообщений: 991
Благодарностей: 534
Полезность: 843

Удали
Код:
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

if(get_user_flags(attacker) & ADMIN_LEVEL_H)
{
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))
}
else
{
set_dhudmessage(30, 144, 255, -0.49, -0.48, 0, 0.01, 0.01)
show_dhudmessage(attacker, "")
show_hudmessage(attacker, "")
show_dhudmessage(attacker, " * ")
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя panicaskill
сообщение 17.6.2014, 13:21
Сообщение #4
Стаж: 12 лет
Город: Каменск-Уральский


Сообщений: 270
Благодарностей: 256
Полезность: 976

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

9art,
а по поводу:
Цитата
2. Добавить режим-vampire. Желательно чтобы результат выводил слева и "жирно".
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя 9art
сообщение 17.6.2014, 13:28
Сообщение #5


Стаж: 12 лет

Сообщений: 991
Благодарностей: 534
Полезность: 843

panicaskill, можно отдельным плагином
Код:
#include <amxmodx>
#include <fun>

#define amountHP_HS 5 // Добавить за убийство в ЩИ :D (голова)
#define amountHP 2 // Добавить за убийство в тело
#define maxHP 200 // Всего HP
#define ADMIN_CHECK ADMIN_BAN

new killerID, killer_HP, addHP

public plugin_init()
{
register_plugin("Give HP", "1.0", "neygomon | 9art")
register_event("DeathMsg","eventDeathMsg","a","1>0")
}

public eventDeathMsg()
{
killerID = read_data(1)
if (!is_user_alive(killerID) || !(get_user_flags(killerID) & ADMIN_CHECK))
return;

killer_HP = get_user_health(killerID)
addHP = ((read_data(3) == 1))?amountHP_HS:amountHP
set_user_health(killerID,((killer_HP += addHP) > maxHP)?maxHP:killer_HP)
set_hudmessage(0,255,0,-1.0,0.15,0,1.0,1.0,0.1,0.1,-1)
show_hudmessage(killerID,"Добавлено +%d HP",addHP)
}

Только для админов, без ScreenFade.
Координаты меняются тут Код:
set_hudmessage(0,255,0,-1.0,0.15,0,1.0,1.0,0.1,0.1,-1)
0,255,0 цвет
-1.0,0.15 координаты.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя panicaskill
сообщение 17.6.2014, 14:55
Сообщение #6
Стаж: 12 лет
Город: Каменск-Уральский


Сообщений: 270
Благодарностей: 256
Полезность: 976

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

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