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

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

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

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

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

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

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

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

Помогите до делать плагин speclist

Статус пользователя MrFoza
сообщение 23.9.2013, 19:30
Сообщение #1


Стаж: 16 лет

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

Помогите до делать плагин speclist.amxx
есть исходник
Скрытый текст
Код
#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, "Spectating %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;
}


хочу сделать чтоб hudmessage меняло цвета разные
Если не сложно подскажите как такое можно сделать!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Keniski
сообщение 23.9.2013, 19:41
Сообщение #2
Стаж: 15 лет

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

Цитата(MrFoza @ 23.9.2013, 20:30) *
Помогите до делать плагин speclist.amxx
есть исходник
Скрытый текст
Код
#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, "Spectating %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;
}


хочу сделать чтоб hudmessage меняло цвета разные
Если не сложно подскажите как такое можно сделать!

Код
                    set_hudmessage(RED, GREEN, BLUE,
                        0.75, 0.15, 0, 0.0, UPDATEINTERVAL + 0.1, 0.0, 0.0, -1);


>>>

Код
                    set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255),
                        0.75, 0.15, 0, 0.0, UPDATEINTERVAL + 0.1, 0.0, 0.0, -1);


Так хочешь?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя MrFoza
сообщение 23.9.2013, 20:38
Сообщение #3


Стаж: 16 лет

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

Цитата(Keniski @ 23.9.2013, 20:41) *
Код
                    set_hudmessage(RED, GREEN, BLUE,
                        0.75, 0.15, 0, 0.0, UPDATEINTERVAL + 0.1, 0.0, 0.0, -1);


>>>

Код
                    set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255),
                        0.75, 0.15, 0, 0.0, UPDATEINTERVAL + 0.1, 0.0, 0.0, -1);


Так хочешь?



не заработало!=((
Прикрепленное изображение
серая просто =(
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Keniski
сообщение 23.9.2013, 20:43
Сообщение #4
Стаж: 15 лет

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

Цитата(MrFoza @ 23.9.2013, 21:38) *
не заработало!=((
Прикрепленное изображение
серая просто =(

Ты плагин скомпилировал то?
У меня все работает.
Прикрепленные файлы:
Прикрепленный файл  speclist.rar ( 5,2 килобайт ) Кол-во скачиваний: 23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя MrFoza
сообщение 23.9.2013, 21:00
Сообщение #5


Стаж: 16 лет

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

Цитата(Keniski @ 23.9.2013, 21:43) *
Ты плагин скомпилировал то?
У меня все работает.


ой спасибо! большое=)

а есть русификатор
на этот плагин?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Keniski
сообщение 23.9.2013, 21:11
Сообщение #6
Стаж: 15 лет

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

Цитата(MrFoza @ 23.9.2013, 21:00) *
ой спасибо! большое=)

а есть русификатор
на этот плагин?

Поставил перевод как у себя:
Код
Игрок MrFoza[cl]-:-
Игрок 1
Игрок 2
и т.д.


Отредактировал: Keniski, - 23.9.2013, 21:13
Прикрепленные файлы:
Прикрепленный файл  speclist.rar ( 5,25 килобайт ) Кол-во скачиваний: 35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя MrFoza
сообщение 23.9.2013, 21:17
Сообщение #7


Стаж: 16 лет

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

Все я понял!

Код
    format(szHud, 45, "Наблюдающие за %s:^n", szName);


только у меня чё то не Компилирует=((

Спасибо!! все =) окй работает =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Keniski
сообщение 23.9.2013, 21:23
Сообщение #8
Стаж: 15 лет

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

Цитата(MrFoza @ 23.9.2013, 22:17) *
Все я понял!

Код
    format(szHud, 45, "Наблюдающие за %s:^n", szName);


только у меня чё то не Компилирует=((

Спасибо!! все =) окй работает =)

Если хочешь свой текст "Наблюдающие за", то замени
Код
static szHud[1102];//32*33+45

на
Код
static szHud[1118];//32*33+62


ну и строку
Код
format(szHud, 62, "Наблюдающие за %s:^n", szName);
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: