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

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

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

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

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

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

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

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

Spec list rus

, Исправлене
Статус пользователя МУЖЫК
сообщение 4.12.2012, 15:01
Сообщение #1


Стаж: 18 лет

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

Доброго всем дня. Имеетсы плагин - Speclist

Код
#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;
}



Но есть косяки:

1. список мерцает, а иногда пропадает. как сделать так, чтобы он постоянно одним цветом отображался?

2. когда у человека длинный ник, например "я супер игрок в кс", то ник встает о одну строку со словом "наблюдающие". хотя пробел там стоит.

выходит так "наблюдающие за игроком: я супер игрок в кс" в одну строку, соответственно полностью эту строку не видно, видно только первые буквы игрока,который наблюдает..

не помню где нашел исходник этого плагина, но не на этом форуме, тут все перелопатил, чтобы если что не дублировать тему. видимо гдето на просторах интернета..

просьба помочь, тем кто откликнулся - заранее спасибо!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
underwoker
сообщение 4.12.2012, 16:44
Сообщение #2
Стаж: 56 лет


Благодарностей:

Есть такая строчка.
Скрытый текст
Код
format(szHud, 45, "Наблюдающие за %s: ^n", szName);

Я не понимаю просто, что тебе нужно сделать.
Сделать чтобы ники наблюдающих переносились на другую строку.
Или чтобы ник того за кем наблюдают, переносился на другую строку?

А вообще, тут помог бы скрин этого действия.
Перейти в начало страницы     
   +
Статус пользователя МУЖЫК
сообщение 5.12.2012, 18:51
Сообщение #3


Стаж: 18 лет

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

чтобы ники наблюдающих ВСЕГДА переносились на другую строчку. но пока давай отложим это, я скрин сделаю, и выложу, чтобы проблема была яснее.

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