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

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

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

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

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

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

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

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

SpecList только для мёртвых игроков

Статус пользователя BeasTa
сообщение 10.6.2014, 16:57
Сообщение #1


Стаж: 11 лет

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

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

Код:
#include <amxmodx>
#include <fakemeta>
 
#pragma semicolon 1
 
#define RED 64
#define GREEN 64
#define BLUE 64
#define UPDATEINTERVAL 1.0
 
// Comment below if you do not want /speclist showing up on chat
#define ECHOCMD
 
// Admin flag used for immunity
#define FLAG ADMIN_IMMUNITY
 
new const PLUGIN[] = "SpecList";
new const VERSION[] = "1.2a";
new const AUTHOR[] = "FatalisDK";
 
new gMaxPlayers;
new gCvarOn;
new gCvarImmunity;
new bool:gOnOff[33] = { true, ... };
 
public plugin_init()
{
        register_plugin(PLUGIN, VERSION, AUTHOR);
       
        register_cvar(PLUGIN, VERSION, FCVAR_SERVER, 0.0);
        gCvarOn = register_cvar("amx_speclist", "1", 0, 0.0);
        gCvarImmunity = register_cvar("amx_speclist_immunity", "1", 0, 0.0);
       
        register_clcmd("say /speclist", "cmdSpecList", -1, "");
       
        gMaxPlayers = get_maxplayers();
       
        set_task(UPDATEINTERVAL, "tskShowSpec", 123094, "", 0, "b", 0);
}
 
public cmdSpecList(id)
{
        if( gOnOff[id] )
        {
                client_print(id, print_chat, "[AMXX] You will no longer see who's spectating you.");
                gOnOff[id] = false;
        }
        else
        {
                client_print(id, print_chat, "[AMXX] You will now see who's spectating you.");
                gOnOff[id] = true;
        }
       
        #if defined ECHOCMD
        return PLUGIN_CONTINUE;
        #else
        return PLUGIN_HANDLED;
        #endif
}
 
public tskShowSpec()
{
        if( !get_pcvar_num(gCvarOn) )
        {
                return PLUGIN_CONTINUE;
        }
       
        static szHud[1102];//32*33+45
        static szName[34];
        static bool:send;
       
        // FRUITLOOOOOOOOOOOOPS!
        for( new alive = 1; alive <= gMaxPlayers; alive++ )
        {
                new bool:sendTo[33];
                send = false;
               
                if( !is_user_alive(alive) )
                {
                        continue;
                }
               
                sendTo[alive] = true;
               
                get_user_name(alive, szName, 32);
                format(szHud, 45, "Наблюдающие за %s:^n", szName);
               
                for( new dead = 1; dead <= gMaxPlayers; dead++ )
                {
                        if( is_user_connected(dead) )
                        {
                                if( is_user_alive(dead)
                                || is_user_bot(dead) )
                                {
                                        continue;
                                }
                               
                                if( pev(dead, pev_iuser2) == alive )
                                {
                                        if( !(get_pcvar_num(gCvarImmunity)&&get_user_flags(dead, 0)&FLAG) )
                                        {
                                                get_user_name(dead, szName, 32);
                                                add(szName, 33, "^n", 0);
                                                add(szHud, 1101, szName, 0);
                                                send = true;
                                        }
 
                                        sendTo[dead] = true;
                                       
                                }
                        }
                }
               
                if( send == true )
                {
                        for( new i = 1; i <= gMaxPlayers; i++ )
                        {
                                if( sendTo[i] == true
                                && gOnOff[i] == true )
                                {
                                        set_hudmessage(RED, GREEN, BLUE,
                                                0.75, 0.15, 0, 0.0, UPDATEINTERVAL + 0.1, 0.0, 0.0, -1);
                                       
                                        show_hudmessage(i, szHud);
                                }
                        }
                }
        }
       
        return PLUGIN_CONTINUE;
}
 
public client_connect(id)
{
        gOnOff[id] = true;
}
 
public client_disconnect(id)
{
        gOnOff[id] = true;
}
 


www.ppzone.tk
http://www.DjBeasT.ML
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя unnamed7777
сообщение 10.6.2014, 17:01
Сообщение #2


Стаж: 12 лет

Сообщений: 54
Благодарностей: 7
Полезность: 17

Цитата(BeasTa @ 10.6.2014, 16:57) *
Добрый вечер.
Помогите пожалуйсто переделать плагин так, чтобы он показывал только мертвым игрокам, кто смотрит за тем или иным игроком

Код:
#include <amxmodx>
#include <fakemeta>
 
#pragma semicolon 1
 
#define RED 64
#define GREEN 64
#define BLUE 64
#define UPDATEINTERVAL 1.0
 
// Comment below if you do not want /speclist showing up on chat
#define ECHOCMD
 
// Admin flag used for immunity
#define FLAG ADMIN_IMMUNITY
 
new const PLUGIN[] = "SpecList";
new const VERSION[] = "1.2a";
new const AUTHOR[] = "FatalisDK";
 
new gMaxPlayers;
new gCvarOn;
new gCvarImmunity;
new bool:gOnOff[33] = { true, ... };
 
public plugin_init()
{
        register_plugin(PLUGIN, VERSION, AUTHOR);
       
        register_cvar(PLUGIN, VERSION, FCVAR_SERVER, 0.0);
        gCvarOn = register_cvar("amx_speclist", "1", 0, 0.0);
        gCvarImmunity = register_cvar("amx_speclist_immunity", "1", 0, 0.0);
       
        register_clcmd("say /speclist", "cmdSpecList", -1, "");
       
        gMaxPlayers = get_maxplayers();
       
        set_task(UPDATEINTERVAL, "tskShowSpec", 123094, "", 0, "b", 0);
}
 
public cmdSpecList(id)
{
        if( gOnOff[id] )
        {
                client_print(id, print_chat, "[AMXX] You will no longer see who's spectating you.");
                gOnOff[id] = false;
        }
        else
        {
                client_print(id, print_chat, "[AMXX] You will now see who's spectating you.");
                gOnOff[id] = true;
        }
       
        #if defined ECHOCMD
        return PLUGIN_CONTINUE;
        #else
        return PLUGIN_HANDLED;
        #endif
}
 
public tskShowSpec()
{
        if( !get_pcvar_num(gCvarOn) )
        {
                return PLUGIN_CONTINUE;
        }
       
        static szHud[1102];//32*33+45
        static szName[34];
        static bool:send;
       
        // FRUITLOOOOOOOOOOOOPS!
        for( new alive = 1; alive <= gMaxPlayers; alive++ )
        {
                new bool:sendTo[33];
                send = false;
               
                if( !is_user_alive(alive) )
                {
                        continue;
                }
               
                sendTo[alive] = true;
               
                get_user_name(alive, szName, 32);
                format(szHud, 45, "Наблюдающие за %s:^n", szName);
               
                for( new dead = 1; dead <= gMaxPlayers; dead++ )
                {
                        if( is_user_connected(dead) )
                        {
                                if( is_user_alive(dead)
                                || is_user_bot(dead) )
                                {
                                        continue;
                                }
                               
                                if( pev(dead, pev_iuser2) == alive )
                                {
                                        if( !(get_pcvar_num(gCvarImmunity)&&get_user_flags(dead, 0)&FLAG) )
                                        {
                                                get_user_name(dead, szName, 32);
                                                add(szName, 33, "^n", 0);
                                                add(szHud, 1101, szName, 0);
                                                send = true;
                                        }
 
                                        sendTo[dead] = true;
                                       
                                }
                        }
                }
               
                if( send == true )
                {
                        for( new i = 1; i <= gMaxPlayers; i++ )
                        {
                                if( sendTo[i] == true
                                && gOnOff[i] == true )
                                {
                                        set_hudmessage(RED, GREEN, BLUE,
                                                0.75, 0.15, 0, 0.0, UPDATEINTERVAL + 0.1, 0.0, 0.0, -1);
                                       
                                        show_hudmessage(i, szHud);
                                }
                        }
                }
        }
       
        return PLUGIN_CONTINUE;
}
 
public client_connect(id)
{
        gOnOff[id] = true;
}
 
public client_disconnect(id)
{
        gOnOff[id] = true;
}
 

на amx-x уже тебе я дал ответ
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BeasTa
сообщение 10.6.2014, 17:03
Сообщение #3


Стаж: 11 лет

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

Цитата(tom94ok @ 10.6.2014, 20:01) *
на amx-x уже тебе я дал ответ

видил clapping.gif


www.ppzone.tk
http://www.DjBeasT.ML
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя strelok93
сообщение 10.6.2014, 17:08
Сообщение #4


Стаж: 12 лет

Сообщений: 905
Благодарностей: 392
Полезность: 576

Так может кому то здесь понадобиться ! сюда ответ то забросьте
не хорошо так делать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BeasTa
сообщение 10.6.2014, 17:09
Сообщение #5


Стаж: 11 лет

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

пока еще не успел проверить, но вот
Цитата("tom94ok")
if(is_user_alive(id))

Добавлено спустя 2 минуты 12 секунд:
Код:
        #include <amxmodx>
        #include <fakemeta>
         
        #pragma semicolon 1
         
        #define RED 64
        #define GREEN 64
        #define BLUE 64
        #define UPDATEINTERVAL 1.0
         
        // Comment below if you do not want /speclist showing up on chat
        #define ECHOCMD
         
        // Admin flag used for immunity
        #define FLAG ADMIN_IMMUNITY
         
        new const PLUGIN[] = "SpecList";
        new const VERSION[] = "1.2a";
        new const AUTHOR[] = "FatalisDK";
         
        new gMaxPlayers;
        new gCvarOn;
        new gCvarImmunity;
        new bool:gOnOff[33] = { true, ... };
         
        public plugin_init()
        {
                register_plugin(PLUGIN, VERSION, AUTHOR);
               
                register_cvar(PLUGIN, VERSION, FCVAR_SERVER, 0.0);
                gCvarOn = register_cvar("amx_speclist", "1", 0, 0.0);
                gCvarImmunity = register_cvar("amx_speclist_immunity", "1", 0, 0.0);
               
                register_clcmd("say /speclist", "cmdSpecList", -1, "");
               
                gMaxPlayers = get_maxplayers();
               
                set_task(UPDATEINTERVAL, "tskShowSpec", 123094, "", 0, "b", 0);
        }
         
        public cmdSpecList(id)
        {
                if( gOnOff[id] )
                {
                        client_print(id, print_chat, "[AMXX] You will no longer see who's spectating you.");
                        gOnOff[id] = false;
                }
                else
                {
                        client_print(id, print_chat, "[AMXX] You will now see who's spectating you.");
                        gOnOff[id] = true;
                }
               
                #if defined ECHOCMD
                return PLUGIN_CONTINUE;
                #else
                return PLUGIN_HANDLED;
                #endif
        }
         
        public tskShowSpec()
        {
                if( !get_pcvar_num(gCvarOn) )
                {
                        return PLUGIN_CONTINUE;
                }
               
                static szHud[1102];//32*33+45
                static szName[34];
                static bool:send;
               
                // FRUITLOOOOOOOOOOOOPS!
                for( new alive = 1; alive <= gMaxPlayers; alive++ )
                {
                        new bool:sendTo[33];
                        send = false;
                       
                        if( !is_user_alive(alive) )
                        {
                                continue;
                        }
                       
                        sendTo[alive] = true;
                       
                        get_user_name(alive, szName, 32);
                        format(szHud, 45, "Наблюдающие за %s:^n", szName);
                       
                        for( new dead = 1; dead <= gMaxPlayers; dead++ )
                        {
                                if( is_user_connected(dead) )
                                {
                                        if( is_user_alive(dead)
                                        || is_user_bot(dead) )
                                        {
                                                continue;
                                        }
                                       
                                        if( pev(dead, pev_iuser2) == alive )
                                        {
                                                if( !(get_pcvar_num(gCvarImmunity)&&get_user_flags(dead, 0)&FLAG) )
                                                {
                                                        get_user_name(dead, szName, 32);
                                                        add(szName, 33, "^n", 0);
                                                        add(szHud, 1101, szName, 0);
                                                        send = true;
                                                }
         
                                                sendTo[dead] = true;
                                               
                                        }
                                }
                        }
                       
                        if( send == true )
                        {
                                for( new i = 1; i <= gMaxPlayers; i++ )
                                {
                                        if( sendTo[i] == true
                                        && gOnOff[i] == true )
                                        {
                                                                                    if(is_user_alive(i))
                                                                                        {
                                                set_hudmessage(RED, GREEN, BLUE,
                                                        0.75, 0.15, 0, 0.0, UPDATEINTERVAL + 0.1, 0.0, 0.0, -1);
                                             
                                                show_hudmessage(i, szHud);
                                                                                        }
                                        }
                                }
                        }
                }
               
                return PLUGIN_CONTINUE;
        }
         
        public client_connect(id)
        {
                gOnOff[id] = true;
        }
         
        public client_disconnect(id)
        {
                gOnOff[id] = true;
        }
         


Такой код попробуй :-)



www.ppzone.tk
http://www.DjBeasT.ML
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: