ГМ права проблема - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 23.04.2010, 18:56   #1
Пользователь

Автор темы (Топик Стартер) ГМ права проблема

Столкнулся с такой проблемой на не которых сборках если в SQL не поставить isGM="1" нельзя использовать гм-команды, как сделать что бы без isGM а только с AccesLevel>0 можно было использовать гм-команды
я предполагал что надо убрать в коде(ниже написан) isGM то можно будет, но не получилось.. помогите решить этот вопрос
PHP код:
/*
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <http://www.gnu.org/licenses/>.
 */
package com.l2open.gameserver.datatables;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;

import javolution.util.FastMap;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.l2open.L2DatabaseFactory;
import com.l2open.gameserver.model.L2AccessLevel;
import com.l2open.gameserver.model.L2AdminCommandAccessRight;

/**
 * @author FBIagent<br>
 */
public class AdminCommandAccessRights
{
    
/** The logger<br> */
    
private final static Log _log LogFactory.getLog(AdminCommandAccessRights.class);
    private 
Map<StringL2AdminCommandAccessRight_adminCommandAccessRights;

    
/**
     * Returns the one and only instance of this class<br>
     * <br>
     * 
     * @return AdminCommandAccessRights: the one and only instance of this class<br>
     */
    
public static AdminCommandAccessRights getInstance()
    {
        return 
SingletonHolder._instance;
    }

    
/** The access rights<br> */
    
private AdminCommandAccessRights()
    {
        
loadAdminCommandAccessRights();
    }

    
/**
     * Loads admin command access rights from database<br>
     */
    
private void loadAdminCommandAccessRights()
    {
        
_adminCommandAccessRights = new FastMap<StringL2AdminCommandAccessRight>();
        
Connection con null;
        try
        {
            
con L2DatabaseFactory.getInstance().getConnection();
            
PreparedStatement stmt con.prepareStatement("SELECT * FROM admin_command_access_rights");
            
ResultSet rset stmt.executeQuery();
            
String adminCommand null;
            
String accessLevels null;
            while (
rset.next())
            {
                
adminCommand rset.getString("adminCommand");
                
accessLevels rset.getString("accessLevels");
                
_adminCommandAccessRights.put(adminCommand, new L2AdminCommandAccessRight(adminCommandaccessLevels));
            }
            
rset.close();
            
stmt.close();
        }
        catch (
SQLException e)
        {
            
_log.error("AdminCommandAccessRights: Error loading from database: " e);
        }
        
finally
        
{
            
L2DatabaseFactory.close(con);
        }
        
_log.info("AdminCommandAccessRights: Loaded: " _adminCommandAccessRights.size() + " from database.");
    }

    public 
boolean hasAccess(String adminCommandL2AccessLevel accessLevel)
    {
        if (
accessLevel.isGm())
            return 
true;
        if (
accessLevel.getLevel() == AccessLevels._builderAccessLevelNum)
            return 
false;
        
L2AdminCommandAccessRight acar _adminCommandAccessRights.get(adminCommand);
        if (
acar == null)
        {
            
_log.info("AdminCommandAccessRights: No rights defined for admin command " adminCommand ".");
            return 
false;
        }
        return 
acar.hasAccess(accessLevel);
    }

    public 
void reloadAdminCommandAccessRights()
    {
        
loadAdminCommandAccessRights();
    }

    @
SuppressWarnings("synthetic-access")
    private static class 
SingletonHolder
    
{
        protected static final 
AdminCommandAccessRights _instance = new AdminCommandAccessRights();
    }

Добавлено через 20 часов 30 минут
раз никто не знает пока что, скиньте сборку где можно давать ГМ права без isGM или вообще что бы его там не было этого isGM

Последний раз редактировалось lxShaDoWxl; 24.04.2010 в 15:27. Причина: Добавлено сообщение
lxShaDoWxl вне форума Ответить с цитированием
Непрочитано 25.04.2010, 06:56   #2
Аватар для Bonabo
Герой

По умолчанию Re: ГМ права проблема

А можно по-конкретнее про конечную цель? Вопрос довольно абстрактно звучит, т.е. на него нет однозначного ответа (Вернее есть, но цель не ясна. Скорее всего можно сделать проще.). Может быть, к конечной цели может привести ещё один путь?
Bonabo вне форума Ответить с цитированием
Непрочитано 25.04.2010, 07:06   #3
Пользователь

Автор темы (Топик Стартер) Re: ГМ права проблема

Цитата:
Сообщение от Bonabo Посмотреть сообщение
А можно по-конкретнее про конечную цель? Вопрос довольно абстрактно звучит, т.е. на него нет однозначного ответа (Вернее есть, но цель не ясна. Скорее всего можно сделать проще.). Может быть, к конечной цели может привести ещё один путь?
Приведу пример
Ну собственно на сборках которые мне попадались везде если давать isGM то можно использовать гм команды, а если просто дать AccessLevel=1 и у него убрать isGM=0 чар с AccessLevel=1 при написание гм команды сервер их не принимаются... мне надо сделать игровых модером и что бы у них были только команды на баны, а если AccessLevel=1 с isGM=1 то автоматически появляются такие привилегии как видеть невидимых, в пвп зоне их только через Контрл можно бить, и само важно Шифт+Клик чара любого и просмотр его IP, логина и всех стат
lxShaDoWxl вне форума Ответить с цитированием
Непрочитано 17.05.2010, 04:02   #4
Пользователь

По умолчанию Re: ГМ права проблема

Цитата:
Сообщение от lxShaDoWxl Посмотреть сообщение
Приведу пример
Ну собственно на сборках которые мне попадались везде если давать isGM то можно использовать гм команды, а если просто дать AccessLevel=1 и у него убрать isGM=0 чар с AccessLevel=1 при написание гм команды сервер их не принимаются... мне надо сделать игровых модером и что бы у них были только команды на баны, а если AccessLevel=1 с isGM=1 то автоматически появляются такие привилегии как видеть невидимых, в пвп зоне их только через Контрл можно бить, и само важно Шифт+Клик чара любого и просмотр его IP, логина и всех стат
В общем я сейчас использую сборку l2open free 854 stable то там тоже есть isGM но там ищё есть столбцы такие как:
allowPeaceAttack
allowFixedRes
allowTranscation
allowAltg
giveDamage
takeAggro
gainExp

и вот в них выставляй 1 или 0 для Admina везде стоит 1!
там еще есть столбец childAccess для Admina стоит 2;3;4;5;6;7 а для GMoв уже 5;6;7 это тоже что то значит попробуй в общем)

Во нашел в общем лазил по файлам и нашел(с тебя +)
Вот 2 файла uicats_en.csv uikeys_en.csv находяца они тут C:\L2Open\gameserver\data\ в них ты прописуеш категорию и ID команды... а уже потом в access_levels выставляешь 1 или 0 и все)
Вот ток ID команд узнай)
что то оно не то( хатя ХЗ попробуй сам

Последний раз редактировалось AngelOfDeth; 17.05.2010 в 06:47.
AngelOfDeth вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощ...права саппорта HellCry Lineage II 1 20.12.2009 13:42
Админ права в линейке blackmanos Lineage II 10 13.11.2009 01:03
пропадают Админ права Ziky Lineage II 6 24.06.2009 15:21
Права на базу даных, l2db Tonchi Движки сайтов (CMS) 2 17.04.2009 00:10
права в L2F v11 BlickBoy Lineage II 13 09.12.2008 17:56


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 21:06. Часовой пояс GMT +3.

Вверх