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

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

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

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

Редактирование плагина. Вкл/выкл, для игрока.

, Написал плагин, но не знаю как привязать его к чат команде.
Статус пользователя explosiondj
сообщение 20.7.2014, 9:46
Сообщение #1
Стаж: 14 лет

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

Всем добрый день. Есть плагин. Редактировал, писал сам, дополнял. Сделал действие выводит худ и чат меседж по умолчанию. Я хочу вас попросить дополнить его. Мне нужно что бы по умолчанию(игрок зашел и начал играть) ничего этого не выводилось, а если он напишет в чат /on, то плагин начинает для НЕГО свою работу и выводить худ и мэсседж в чат. Помогите пожалуйста.

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

new bool: ncd_msg_2, KillCounter[33]

public plugin_init()
{
    register_plugin("Nice Colored Damage", "1.0", "sector")
    
    register_event("Damage", "ncd_damage", "b", "2!0", "3=0", "4!0")
    
    RegisterHam(Ham_Spawn, "player", "ham_PlayerSpawned_Post", 1);
    
    RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_Post", true);
    
    ncd_msg_2 = CreateHudSyncObj()
}


public ncd_damage(i)
{
    static attack; attack = get_user_attacker(i)
    static damage; damage = read_data(2)
    if(is_user_connected(attack))
    {
        if(fm_is_ent_visible(attack, i))
        {
            set_hudmessage(150, 150, 150, 0.52, 0.47, 0, 0.1, 0.7, 0.1, 0.1, 1)
            ShowSyncHudMsg(attack, ncd_msg_2, " %i ^n", damage)
        }
    }
}

stock PrintMsg(const iReceiver, const iSender, const szMessage[], any:...)
{
    new szMsg[191]
    vformat(szMsg, charsmax(szMsg), szMessage, 4)
    message_begin(MSG_ONE_UNRELIABLE, 76, _, iReceiver)
    write_byte(iSender ? iSender : iReceiver)
    write_string(szMsg)
    message_end()
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
        if(!is_user_connected(killer)) return
      
        KillCounter[killer]++
        if(KillCounter[killer] == 2){
        set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
        show_hudmessage(killer, "Double kill")
        }else if(KillCounter[killer] == 3){
        set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
        show_hudmessage(killer, "Triple kill")
        }else if(KillCounter[killer] == 5){
        set_hudmessage(200,50,50, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
        show_hudmessage(killer, "Multi kill")
        new name[32]
        get_user_name(killer, name, charsmax(name))
        ColorChat(0,RED, "^x03%s ^x01Wow! He makes ^x03Multi kill!!", name)
        }else if(KillCounter[killer] == 7){
        set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
        show_hudmessage(killer, "Ultra kill")
        new name[32]
        get_user_name(killer, name, charsmax(name))
        ColorChat(0,RED, "^x03%s ^x01Damn! Its ^x03Ultra kill!!", name)
        }else if(KillCounter[killer] == 9){
        set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
        show_hudmessage(killer, "Rampage!")
        new name[32]
        get_user_name(killer, name, charsmax(name))
        ColorChat(0,RED, "^x03%s ^x01OH MY GOD! ITS ^x03RAMPAGE!!", name)
        }
}

public ham_PlayerSpawned_Post(id)
{
    if (is_user_connected(id) && is_user_alive(id))
    {
        KillCounter[id] = 0
    }
    else
    {
        KillCounter[id] = 0
    }
}

public fw_PlayerKilled_Post(id, attacker)
{
        if (is_user_connected(attacker) && id != attacker)
        {
                set_hudmessage( 150, 150, 150, 0.48, 0.47, 0, 0.1, 0.7, 0.1, 0.1, 4);
                show_hudmessage(attacker, "X");
        }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1049{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/


Выложу в паблик, как только вы мне поможете.

Отредактировал: explosiondj, - 20.7.2014, 9:47
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
magis1337
сообщение 20.7.2014, 10:30
Сообщение #2
Стаж: 11 лет
Город: Odessa

Сообщений: 2782
Благодарностей: 1535
Полезность: 918

host5.ru
Меценат Меценат

explosiondj,
я так понял ты хочешь, когда в чате пишет /on HUD сообщение появилось?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 20.7.2014, 10:44
Сообщение #3


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

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

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

код ужасен конечно, как и алгоритм


Код:
new bool:g_bFuncUse [33] = false

register_clcmd("say /on","funcUse_on")
register_clcmd("say /off","client_connect")

public client_connect(id)
{
g_bFuncUse[id] = false
}

public funcUse_on(id)
{
g_bFuncUse[id] = true
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
if(!is_user_connected(killer))
return

if(!g_bFuncUse[id])
return

new name[32]
get_user_name(killer, name, charsmax(name))
KillCounter[killer]++

switch (KillCounter[killer])
{
case 2: {
set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Double kill")
}
case 3: {
set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Triple kill")
}
case 5: {
set_hudmessage(200,50,50, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Multi kill")

ColorChat(0,RED, "^x03%s ^x01Wow! He makes ^x03Multi kill!!", name)
}
case 7: {
set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Ultra kill")

ColorChat(0,RED, "^x03%s ^x01Damn! Its ^x03Ultra kill!!", name)
}
case 9: {
set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Rampage!")

ColorChat(0,RED, "^x03%s ^x01OH MY GOD! ITS ^x03RAMPAGE!!", name)
}
default: return
}
}




Код:
if (is_user_connected(id) && is_user_alive(id))

знатный бред
is_user_alive(id) уже включает в себя is_user_connected(id)


Код:

public ham_PlayerSpawned_Post(id)
{
if (is_user_connected(id) && is_user_alive(id))
{
KillCounter[id] = 0
}
else
{
KillCounter[id] = 0
}
}


это еще более знатный бред
масло масленое
в вызове ham_PlayerSpawned_Post
в любом случаи будет выполнятся KillCounter[id] = 0
вопрос: нахрена ставить тогда какие-либо проверки? можно обойтись
Код:
public ham_PlayerSpawned_Post(id)
{
KillCounter[id] = 0
}



и зачем использовать #include <fakemeta_util ?

ps что-то отступы не правильно показывает на форуме
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя explosiondj
сообщение 20.7.2014, 10:52
Сообщение #4
Стаж: 14 лет

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

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

new bool:g_bFuncUse [33] = false

register_clcmd("say /on","funcUse_on")
register_clcmd("say /off","client_connect")

public client_connect(id)
{
    g_bFuncUse[id] = false
}

public funcUse_on(id)
{
    g_bFuncUse[id] = true
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
   if(!is_user_connected(killer))
      return

   if(!g_bFuncUse[id])
      return

   new name[32]
   get_user_name(killer, name, charsmax(name))
   KillCounter[killer]++

   switch (KillCounter[killer])
   {
      case 2: {
            set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
            show_hudmessage(killer, "Double kill")  
         }
      case 3: {
            set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
            show_hudmessage(killer, "Triple kill")  
         }
      case 5: {
            set_hudmessage(200,50,50, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
            show_hudmessage(killer, "Multi kill")

            ColorChat(0,RED, "^x03%s ^x01Wow! He makes ^x03Multi kill!!", name)
         }
      case 7: {
            set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
            show_hudmessage(killer, "Ultra kill")

            ColorChat(0,RED, "^x03%s ^x01Damn! Its ^x03Ultra kill!!", name)
         }
      case 9: {
            set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
            show_hudmessage(killer, "Rampage!")

            ColorChat(0,RED, "^x03%s ^x01OH MY GOD! ITS ^x03RAMPAGE!!", name)
         }
      default: return
   }
}


Отредактировал: explosiondj, - 20.7.2014, 11:00
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя proff_q
сообщение 20.7.2014, 10:54
Сообщение #5
Стаж: 14 лет

Сообщений: 357
Благодарностей: 263
Полезность: 804

Создаешь глобальную булевую переменную
Код:
new bool:g_message[33]

При коннекте игрока выставляешь значение равное нулю
Код:
public client_putinserver(id)
g_message[id] = false

Перед показом сообщения делаешь проверку
Код:
if(g_message[id]) {
показывать рекламу
}


Ну и команду соответственно зарегать
Код:
register_clcmd("say", "hook_say")

public hook_say(id) {
new arg[128]
read_args(arg, 127)
remove_quotes(arg)

if(equal(arg, "/on", 3))
g_message[id] = true

if(equal(arg, "/off", 4))
g_message[id] = false

return PLUGIN_CONTINUE
}


Отредактировал: proff_q, - 20.7.2014, 11:01
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя explosiondj
сообщение 20.7.2014, 11:06
Сообщение #6
Стаж: 14 лет

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

Скрытый текст
Цитата(proff_q @ 20.7.2014, 11:54) *
Создаешь глобальную булевую переменную
Код:
new bool:g_message[33]

При коннекте игрока выставляешь значение равное нулю
Код:
public client_putinserver(id)
g_message[id] = false

Перед показом сообщения делаешь проверку
Код:
if(g_message[id]) {
показывать рекламу
}


Ну и команду соответственно зарегать
Код:
register_clcmd("say", "hook_say")

public hook_say(id) {
new arg[128]
read_args(arg, 127)
remove_quotes(arg)

if(equal(arg, "/on", 3))
g_message[id] = true

if(equal(arg, "/off", 4))
g_message[id] = false

return PLUGIN_CONTINUE
}



у меня опять щас все через жопу пойдет, как всегда че нить не скомпилится, где нить будет ругаться, провожусь дня два psych.gif
Мой уровень редактирования плагинов на уровне "копи-паст, буковки шоль какие нить поменять..."

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

Прикрепленные файлы:
Прикрепленный файл  johndmg.sma ( 3,12 килобайт ) Кол-во скачиваний: 1
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя proff_q
сообщение 20.7.2014, 11:11
Сообщение #7
Стаж: 14 лет

Сообщений: 357
Благодарностей: 263
Полезность: 804

Цитата(explosiondj @ 20.7.2014, 11:06) *
Получится хороший плагин, я так думаю.

Особенно, когда ты его сделаешь сам smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 20.7.2014, 11:12
Сообщение #8


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

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

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

таких плагинов десяток уже есть и гораздо лучше написанных
для примера
https://c-s.net.ua/forum/topic16992.html

https://forums.alliedmods.net/showthread.php?p=416080

и к тому же это все есть в стандартном плагине miscstats
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя explosiondj
сообщение 20.7.2014, 11:15
Сообщение #9
Стаж: 14 лет

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

Цитата(proff_q @ 20.7.2014, 12:11) *
Особенно, когда ты его сделаешь сам smile.gif


Все правильно. Но я других дел мастер

Скрытый текст
http://promodj.com/NoSpNm


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

Legenda. Капитан, не устраивают они, их снова переделывать нужно под мой вкус, а тут по вашим словам делов 5ть минут, дополнить код и уаля. Награжу денежкой (в течении 3ех дней)

Отредактировал: explosiondj, - 20.7.2014, 11:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя explosiondj
сообщение 20.7.2014, 17:01
Сообщение #10
Стаж: 14 лет

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

Сделал, как написано было, но в строке 70
Скрытый текст
(if(!is_user_connected(killer), g_message[id]) return)
underfined simbol id

Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#include <hamsandwich>
#include <colorchat>

new bool: ncd_msg_2, KillCounter[33], g_message[33]

public plugin_init()
{
register_plugin("Nice Colored Damage", "1.0", "sector")

register_event("Damage", "ncd_damage", "b", "2!0", "3=0", "4!0")

register_clcmd("say", "hook_say")

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

RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_Post", true);

ncd_msg_2 = CreateHudSyncObj()
}

public client_putinserver(id)
{
g_message[id] = false
}

public hook_say(id)
{
new arg[128]
read_args(arg, 127)
remove_quotes(arg)

if(equal(arg, "/on", 3))
g_message[id] = true

if(equal(arg, "/off", 4))
g_message[id] = false

return PLUGIN_CONTINUE
}

public ncd_damage(i)
{
static attack; attack = get_user_attacker(i)
static damage; damage = read_data(2)
if(is_user_connected(attack))
{
if(fm_is_ent_visible(attack, i))
{
set_hudmessage(150, 150, 150, 0.52, 0.47, 0, 0.1, 0.7, 0.1, 0.1, 1)
ShowSyncHudMsg(attack, ncd_msg_2, " %i ^n", damage)
}
}
}

stock PrintMsg(const iReceiver, const iSender, const szMessage[], any:...)
{
new szMsg[191]
vformat(szMsg, charsmax(szMsg), szMessage, 4)
message_begin(MSG_ONE_UNRELIABLE, 76, _, iReceiver)
write_byte(iSender ? iSender : iReceiver)
write_string(szMsg)
message_end()
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
if(!is_user_connected(killer), g_message[id]) return

KillCounter[killer]++
if(KillCounter[killer] == 2){
set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Double kill")
}else if(KillCounter[killer] == 3){
set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Triple kill")
}else if(KillCounter[killer] == 5){
set_hudmessage(200,50,50, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Multi kill")
new name[32]
get_user_name(killer, name, charsmax(name))
ColorChat(0,RED, "^x03%s ^x01Wow! He makes ^x03Multi kill!!", name)
}else if(KillCounter[killer] == 7){
set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Ultra kill")
new name[32]
get_user_name(killer, name, charsmax(name))
ColorChat(0,RED, "^x03%s ^x01Damn! Its ^x03Ultra kill!!", name)
}else if(KillCounter[killer] == 9){
set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Rampage!")
new name[32]
get_user_name(killer, name, charsmax(name))
ColorChat(0,RED, "^x03%s ^x01OH MY GOD! ITS ^x03RAMPAGE!!", name)
}
}

public ham_PlayerSpawned_Post(id)
{
if (is_user_connected(id) && is_user_alive(id))
{
KillCounter[id] = 0
}
else
{
KillCounter[id] = 0
}
}

public fw_PlayerKilled_Post(id, attacker)
{
if (is_user_connected(attacker) && id != attacker)
{
set_hudmessage( 150, 150, 150, 0.48, 0.47, 0, 0.1, 0.7, 0.1, 0.1, 4);
show_hudmessage(attacker, "X");
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1049{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/


Какой же id у него должен быть? Вставлял "killer", то он все равно пропускает худ сообщения

Отредактировал: Bloo, - 20.7.2014, 18:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя proff_q
сообщение 21.7.2014, 8:57
Сообщение #11
Стаж: 14 лет

Сообщений: 357
Благодарностей: 263
Полезность: 804

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

new ncd_msg_2, KillCounter[33]
new bool:g_message[33]

public plugin_init() {
register_plugin("Nice Colored Damage", "1.0", "sector")

register_event("Damage", "ncd_damage", "b", "2!0", "3=0", "4!0")

register_clcmd("say", "hook_say")

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

RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_Post", true)

ncd_msg_2 = CreateHudSyncObj()
}

public client_putinserver(id) {
g_message[id] = false
}

public hook_say(id) {
new arg[128]
read_args(arg, 127)
remove_quotes(arg)

if(equal(arg, "/on", 3))
g_message[id] = true

if(equal(arg, "/off", 4))
g_message[id] = false

return PLUGIN_CONTINUE
}

public ncd_damage(i) {
static attack; attack = get_user_attacker(i)
static damage; damage = read_data(2)
if(is_user_connected(attack)) {
if(fm_is_ent_visible(attack, i)) {
set_hudmessage(150, 150, 150, 0.52, 0.47, 0, 0.1, 0.7, 0.1, 0.1, 1)
ShowSyncHudMsg(attack, ncd_msg_2, " %i ^n", damage)
}
}
}

public client_death(killer, victim, wpnindex, hitplace, TK) {
if(!is_user_connected(killer) && !g_message[killer])
return

KillCounter[killer]++
if(KillCounter[killer] == 2) {
set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Double kill")
} else
if(KillCounter[killer] == 3) {
set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Triple kill")
} else
if(KillCounter[killer] == 5) {
set_hudmessage(200,50,50, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Multi kill")
new name[32]
get_user_name(killer, name, charsmax(name))
ColorChat(0,RED, "^x03%s ^x01Wow! He makes ^x03Multi kill!!", name)
} else
if(KillCounter[killer] == 7) {
set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Ultra kill")
new name[32]
get_user_name(killer, name, charsmax(name))
ColorChat(0,RED, "^x03%s ^x01Damn! Its ^x03Ultra kill!!", name)
} else
if(KillCounter[killer] == 9) {
set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Rampage!")
new name[32]
get_user_name(killer, name, charsmax(name))
ColorChat(0,RED, "^x03%s ^x01OH MY GOD! ITS ^x03RAMPAGE!!", name)
}
}

public ham_PlayerSpawned_Post(id) {
if(is_user_connected(id) && is_user_alive(id))
KillCounter[id] = 0
else
KillCounter[id] = 0
}

public fw_PlayerKilled_Post(id, attacker) {
if(is_user_connected(attacker) && id != attacker) {
set_hudmessage(150, 150, 150, 0.48, 0.47, 0, 0.1, 0.7, 0.1, 0.1, 4)
show_hudmessage(attacker, "X")
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя explosiondj
сообщение 21.7.2014, 9:39
Сообщение #12
Стаж: 14 лет

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

Цитата(proff_q @ 21.7.2014, 9:57) *
Скрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#include <hamsandwich>
#include <colorchat>

new ncd_msg_2, KillCounter[33]
new bool:g_message[33]

public plugin_init() {
register_plugin("Nice Colored Damage", "1.0", "sector")

register_event("Damage", "ncd_damage", "b", "2!0", "3=0", "4!0")

register_clcmd("say", "hook_say")

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

RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_Post", true)

ncd_msg_2 = CreateHudSyncObj()
}

public client_putinserver(id) {
g_message[id] = false
}

public hook_say(id) {
new arg[128]
read_args(arg, 127)
remove_quotes(arg)

if(equal(arg, "/on", 3))
g_message[id] = true

if(equal(arg, "/off", 4))
g_message[id] = false

return PLUGIN_CONTINUE
}

public ncd_damage(i) {
static attack; attack = get_user_attacker(i)
static damage; damage = read_data(2)
if(is_user_connected(attack)) {
if(fm_is_ent_visible(attack, i)) {
set_hudmessage(150, 150, 150, 0.52, 0.47, 0, 0.1, 0.7, 0.1, 0.1, 1)
ShowSyncHudMsg(attack, ncd_msg_2, " %i ^n", damage)
}
}
}

public client_death(killer, victim, wpnindex, hitplace, TK) {
if(!is_user_connected(killer) && !g_message[killer])
return

KillCounter[killer]++
if(KillCounter[killer] == 2) {
set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Double kill")
} else
if(KillCounter[killer] == 3) {
set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Triple kill")
} else
if(KillCounter[killer] == 5) {
set_hudmessage(200,50,50, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Multi kill")
new name[32]
get_user_name(killer, name, charsmax(name))
ColorChat(0,RED, "^x03%s ^x01Wow! He makes ^x03Multi kill!!", name)
} else
if(KillCounter[killer] == 7) {
set_hudmessage(200,0,0, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Ultra kill")
new name[32]
get_user_name(killer, name, charsmax(name))
ColorChat(0,RED, "^x03%s ^x01Damn! Its ^x03Ultra kill!!", name)
} else
if(KillCounter[killer] == 9) {
set_hudmessage(100,100,100, 0.41, 0.51, 0, 0.1, 0.7, 0.1, 0.1, .channel=3)
show_hudmessage(killer, "Rampage!")
new name[32]
get_user_name(killer, name, charsmax(name))
ColorChat(0,RED, "^x03%s ^x01OH MY GOD! ITS ^x03RAMPAGE!!", name)
}
}

public ham_PlayerSpawned_Post(id) {
if(is_user_connected(id) && is_user_alive(id))
KillCounter[id] = 0
else
KillCounter[id] = 0
}

public fw_PlayerKilled_Post(id, attacker) {
if(is_user_connected(attacker) && id != attacker) {
set_hudmessage(150, 150, 150, 0.48, 0.47, 0, 0.1, 0.7, 0.1, 0.1, 4)
show_hudmessage(attacker, "X")
}
}


Компилится, но не работает на практике((
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 21.7.2014, 9:46
Сообщение #13
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

if(!is_user_connected(killer) && !g_message[killer])

>>>

if(!is_user_connected(killer) || !g_message[killer])


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

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

Цитата(iLLuSioN @ 21.7.2014, 10:46) *
if(!is_user_connected(killer) && !g_message[killer])

>>>

if(!is_user_connected(killer) || !g_message[killer])


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