Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Новичкам

Важная информация

Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.06.2011, 18:55   #1
Taumer
Новичок
 
Регистрация: 07.03.2010
Сообщений: 17
Сказал(а) спасибо: 28
Поблагодарили 9 раз(а) в 2 сообщениях
Taumer На верном пути
По умолчанию Как добавить еще 1 gmlevel?

Доброго времени суток!

Чтобы добавить еще 1 gmlevel (например Developer) нужно:
1)В Common.h добавить строчку SEC_DEV = 4
PHP код:
enum AccountTypes
{
    
SEC_PLAYER         0,
    
SEC_MODERATOR      1,
    
SEC_GAMEMASTER     2,
    
SEC_ADMINISTRATOR  3,
    
SEC_DEV            4,
    
SEC_CONSOLE        5
}; 
2)В файле WorldSocket.cpp заменить
PHP код:
    if(security SEC_ADMINISTRATOR)                        // prevent invalid security settings in DB
        
security SEC_ADMINISTRATOR
на
PHP код:
    if(security >= SEC_CONSOLE)                        // prevent invalid security settings in DB
        
security SEC_DEV
3)(необязательно)В Level3.cpp заменить
PHP код:
    if ( gm SEC_PLAYER || gm SEC_ADMINISTRATOR )
    {
        
SendSysMessage(LANG_BAD_VALUE);
        
SetSentErrorMessage(true);
        return 
false;
    } 
на
PHP код:
    if ( gm SEC_PLAYER || gm >= SEC_CONSOLE )
    {
        
SendSysMessage(LANG_BAD_VALUE);
        
SetSentErrorMessage(true);
        return 
false;
    } 
Если вы выполните пункт 3, то вы сможете менять gmlevel командой
Цитата:
acc set gmlevel [#accountID|$accountName] 4
в консоли.

Последний раз редактировалось Taumer; 17.06.2011 в 08:42.
Taumer вне форума   Ответить с цитированием
Старый 16.06.2011, 19:22   #2
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

А зачем? Что от этого изменится???
ГМлвл нужен для доступа к коммандам, т.к кол-во доступных комманд зависит от ГМ лвла. А т.к гм комманд для гмлвл 4 нету, то и сам лвл не нужен
Lordronn вне форума   Ответить с цитированием
Старый 16.06.2011, 19:35   #3
Taumer
Новичок
 
Регистрация: 07.03.2010
Сообщений: 17
Сказал(а) спасибо: 28
Поблагодарили 9 раз(а) в 2 сообщениях
Taumer На верном пути
По умолчанию

Цитата:
Сообщение от Lordronn Посмотреть сообщение
А зачем? Что от этого изменится???
ГМлвл нужен для доступа к коммандам, т.к кол-во доступных комманд зависит от ГМ лвла. А т.к гм комманд для гмлвл 4 нету, то и сам лвл не нужен
Я просто хочу научиться, а мозгов понять где и что не всегда хватает.
Taumer вне форума   Ответить с цитированием
Старый 16.06.2011, 20:15   #4
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

Найди код команды .acc, если уж разобрался с добавлением уровня, здесь тоже разберешься

Намек : ChatHandler.cpp, Level0.cpp
MaS0n вне форума   Ответить с цитированием
Старый 17.06.2011, 00:24   #5
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

Цитата:
if ( gm < SEC_PLAYER || gm > SEC_ADMINISTRATOR )
Конечно в коде лучше было бы >= SEC_CONSOLE наверное...
__________________
Так как устал объяснять знайте ICQ не пользуюсь
Vladimir вне форума   Ответить с цитированием
Старый 17.06.2011, 08:20   #6
Taumer
Новичок
 
Регистрация: 07.03.2010
Сообщений: 17
Сказал(а) спасибо: 28
Поблагодарили 9 раз(а) в 2 сообщениях
Taumer На верном пути
По умолчанию

Цитата:
Сообщение от MaS0n Посмотреть сообщение
Найди код команды .acc, если уж разобрался с добавлением уровня, здесь тоже разберешься

Намек : ChatHandler.cpp, Level0.cpp
Нашел, но он мне не помог.

Просматривая WorldSocket.cpp, я нашел такие строчки:
Цитата:
if(security > SEC_ADMINISTRATOR) // prevent invalid security settings in DB
security = SEC_ADMINISTRATOR;
и заменил на
PHP код:
    if(security >= SEC_CONSOLE)                        // prevent invalid security settings in DB
        
security SEC_DEV
Всем спасибо!

P.S. Первый пост обновил.

Последний раз редактировалось Taumer; 17.06.2011 в 08:43.
Taumer вне форума   Ответить с цитированием
Ответ

Метки
gmlevel, доступ, уровень


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уровнями админства в MaNGOS (gmlevel-ы) MOZGIII Корзина 7 07.06.2011 23:06


Текущее время: 22:18. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot