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

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

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

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

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

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

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

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

Помогите настроить плагин

Статус пользователя Orty_Hart
сообщение 19.12.2011, 20:04
Сообщение #1
Стаж: 14 лет

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

Вот качнул плагин, - он помогает видеть всем игрокам чят
помогите его настроить так:

1. через say - видно всем и живым и мёртвым и в спекторах.
2. через say_team - только своя комманда (даже спектам не видно)
3. Спекты видят весь чат (кроме say_team), но написав туда, игрокам не видно что написал спект + возле сообщения чтоб была строчка (не видно игрокам) а видели только все кто в спектах.
4. Админ под флагом A видит весь чят.

Если нужно, скрипт:

Скрипт плагина
Код
#include <amxmodx>
#include <cstrike>

#define ADMIN_LEVEL ADMIN_LEVEL_B

new g_msgid_SayText;
new g_maxPlayers;
new pcvar_adminmode;
new pcvar_playermode;

new const textchannels[][] = {
    "#Cstrike_Chat_T",
    "#Cstrike_Chat_CT",
    "#Cstrike_Chat_Spec",
    "#Cstrike_Chat_All",
    "#Cstrike_Chat_AllSpec",
    "#Cstrike_Chat_AllDead",
    "#Cstrike_Chat_T_Dead",
    "#Cstrike_Chat_CT_Dead"
};


public plugin_init() {
    register_plugin("Ultimate Chat", "1.5", "Sutar");
    pcvar_adminmode = register_cvar("uc_adminmode", "abcdefghij");
    pcvar_playermode = register_cvar("uc_playermode", "abcdefghij");
    
    g_msgid_SayText = get_user_msgid("SayText");
    g_maxPlayers = get_maxplayers();
    
    register_concmd("say", "HandleSay");
    register_concmd("say_team", "HandleSay");
}

public HandleSay(id) {
    
    if ( ! is_user_connected(id) )
        return PLUGIN_HANDLED;
    
    new message[192], is_alive = is_user_alive(id), is_admin;
    
    read_argv(0, message, 5);
    new is_team_msg = message[3] == '_';
    
    get_pcvar_string(pcvar_playermode, message, 31);
    new playermode = read_flags(message);
    
    get_pcvar_string(pcvar_adminmode, message, 31);
    new adminmode = read_flags(message);
    
    new CsTeams:userTeam = cs_get_user_team(id);
    
    read_args(message, 191);
    remove_quotes(message);
    trim(message);
    
    for ( new i = 0; i <= g_maxPlayers; i++ ) {
        
        if ( ! is_user_connected(i) )
            continue;
        
        is_admin = get_user_flags(i) & ADMIN_LEVEL;
        
        if (
        ( ( ( adminmode &   1 && is_admin ) || playermode &   1 ) && ! is_team_msg &&   is_alive && ! is_user_alive(i) && userTeam == cs_get_user_team(i) ) ||
        ( ( ( adminmode &   2 && is_admin ) || playermode &   2 ) && ! is_team_msg &&   is_alive && ! is_user_alive(i) && userTeam != cs_get_user_team(i) ) ||
        ( ( ( adminmode &   4 && is_admin ) || playermode &   4 ) && ! is_team_msg && ! is_alive &&   is_user_alive(i) && userTeam == cs_get_user_team(i) ) ||
        ( ( ( adminmode &   8 && is_admin ) || playermode &   8 ) && ! is_team_msg && ! is_alive &&   is_user_alive(i) && userTeam != cs_get_user_team(i) ) ||
        ( ( ( adminmode &  16 && is_admin ) || playermode &  16 ) && is_team_msg && userTeam == cs_get_user_team(i) &&   is_alive && ! is_user_alive(i) ) ||
        ( ( ( adminmode &  32 && is_admin ) || playermode &  32 ) && is_team_msg && userTeam == cs_get_user_team(i) && ! is_alive &&   is_user_alive(i) ) ||
        ( ( ( adminmode &  64 && is_admin ) || playermode &  64 ) && is_team_msg && userTeam != cs_get_user_team(i) && ! is_alive && ! is_user_alive(i) ) ||
        ( ( ( adminmode & 128 && is_admin ) || playermode & 128 ) && is_team_msg && userTeam != cs_get_user_team(i) &&   is_alive &&   is_user_alive(i) ) ||
        ( ( ( adminmode & 256 && is_admin ) || playermode & 256 ) && is_team_msg && userTeam != cs_get_user_team(i) &&   is_alive && ! is_user_alive(i) ) ||
        ( ( ( adminmode & 512 && is_admin ) || playermode & 512 ) && is_team_msg && userTeam != cs_get_user_team(i) && ! is_alive &&   is_user_alive(i) )
        ) {
            message_begin(MSG_ONE_UNRELIABLE, g_msgid_SayText, {0,0,0}, i);
            write_byte(id);
            write_string(textchannels[get_user_text_channel(id, userTeam, is_team_msg)]);
            write_string("");
            write_string(message);
            message_end();
        }
    }
    return PLUGIN_CONTINUE;
}

stock get_user_text_channel(id, CsTeams:userTeam, is_team_msg) {
    if ( is_team_msg ) {
        switch ( userTeam ) {
            case CS_TEAM_T : {
                if ( is_user_alive(id) )
                    return 0;
                else
                    return 6;
            }
            case CS_TEAM_CT : {
                if ( is_user_alive(id) )
                    return 1;
                else
                    return 7;
            }
            case CS_TEAM_SPECTATOR, CS_TEAM_UNASSIGNED :
                return 2;
        }
    }
    
    else {
        if ( is_user_alive(id) )
            return 3;
        else if ( userTeam == CsTeams:3 )
            return 4;
    }
    return 5;
}


ВНИМАНИЕ! В знак благодарности, я могу написать или помочь с любой проблемой в PHP/CSS/HTML/JS для сайтов.

Отредактировал: Orty_Hart, - 19.12.2011, 20:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 20.12.2011, 20:02
Сообщение #2
Стаж: 14 лет

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

Что, никто не поможет?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя scurra
сообщение 22.12.2011, 8:05
Сообщение #3


Стаж: 17 лет

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

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

Цитата(Orty_Hart @ 19.12.2011, 20:04) *
помогите его настроить так

вобщето его не настраивать нужно , а заново переписывать...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 22.12.2011, 14:13
Сообщение #4
Стаж: 14 лет

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

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