Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Серверная часть (https://forum.zone-game.info/forumdisplay.php?f=148)
-   -   //addskill (https://forum.zone-game.info/showthread.php?t=10015)

Wolfas 06.09.2010 00:02

//addskill
 
Подскажите плиз каким образом можно сделать что-бы это команда не прописывала скилы выше 5 уровня


+ как удалить тему созданую мной, а то 2 одинаковые создал, боюсь гнева модеров

IIIeik 06.09.2010 00:57

Re: //addskill
 
вроде никак если только саму команду изменить или редактировать ядро, одно из двух, или то и то )

Perfecto 06.09.2010 01:26

Re: //addskill
 
Цитата:

Сообщение от Wolfas
+ как удалить тему созданую мной, а то 2 одинаковые создал, боюсь гнева модеров

Самому никак, если создали случайно и хотите удалить, то напишите пометку в ненужной теме или в ЛС супермодератору или модератору раздела.

Wolfas 06.09.2010 01:39

Re: //addskill
 
Я про ядро и говорю

PROGRAMMATOR 06.09.2010 01:41

Re: //addskill
 
Легко, открыть Game/data/scripts/system/handlers/admincommands/AddSkill.java

И перед строкой:

PHP код:

        if (target instanceof Player

Добавить, что-то типа этого:

PHP код:

        if (skillLevel 5) {
            
PacketSendUtility.sendMessage(admin"Максимально доступный уровень умения - 5");
            return;
        } 

Или вообще без сообщений, просто заменить:

PHP код:

try
{
    
skillId Integer.parseInt(params[0]);
    
skillLevel Integer.parseInt(params[1]);


На:

PHP код:

try
{
    
skillId Integer.parseInt(params[0]);
    
skillLevel Integer.parseInt(params[1]) < Integer.parseInt(params[1]) : 5;



Wolfas 06.09.2010 02:26

Re: //addskill
 
Офигеть. Да за такое можно влюбиться в zone-game.info

Спс Биг!

Днём завтра отредактирую и протестирую, сообщу о результатах!

Добавлено через 46 минут
До завтра не стал ждать, всё работает!

Думаю менять сообщение не нужно, у меня итак выдаёт сообщение о невозможности прописания =)

Wolfas 09.10.2010 17:14

Re: //addskill
 
Код:

        try
        {
            skillId = Integer.parseInt(params[0]) < 2401 ? Integer.parseInt(params[0]) : 2400;
            skillLevel = Integer.parseInt(params[1]) < 11 ? Integer.parseInt(params[1]) : 10;
        }

Вопрос, как можно запретить прописывать определённый диапазон значений


Код:

skillId = Integer.parseInt(params[0]) > 1000 && < 2401 ? Integer.parseInt(params[0]) : 1000;
Вот так допустим, не работает(

Код:

skillId = Integer.parseInt(params[0]) = 998 || = 999 ? Integer.parseInt(params[0]) : 1000;
Так допустим, тоже не работает

PROGRAMMATOR 09.10.2010 17:23

Re: //addskill
 
Не правильно указываете условия:

PHP код:

if (val 10 && < 20) {



Должно быть так:

PHP код:

if (val 10 && val 20) {




Wolfas 10.10.2010 00:01

Re: //addskill
 
Написал вот так:

PHP код:

        try
        {
        
itemId Integer.parseInt(params[0]) > 166000070 &&  Integer.parseInt(params[0]) < 166000190 ?  Integer.parseInt(params[0]) : 166000070;

            if( 
params.length == )
            {
                
itemCount Long.parseLong(params[1]);
            }
            
receiver admin;
        } 

Так по идеи: если параметр Integer.parseInt(params[0]) имеет значение больше 166000070 и меньше 166000190 то значение изменяется на 166000070

Но заменяется все значения меньше 166000190, на 166000070 почему?



Также пробовал вот так:

PHP код:

        try
        {
        if (
Integer.parseInt(params[0]) < 166000070 && Integer.parseInt(params[0]) > 166000190)
            {
                
itemId Integer.parseInt(params[0]);
            }

            if( 
params.length == )
            {
                
itemCount Long.parseLong(params[1]);
            }
            
receiver admin;
        } 

По идеи ТАК допускаются все значения меньше 166000070 и больше 166000190, но у меня не пропускает вообще никаких значений, то есть //add не работает

Добавлено через 18 часов 37 минут
Ну где наш гуру) Не могу работу продолжить не доделав это(

Wolfas 11.10.2010 15:20

Re: //addskill
 
Ну, что тут не правленьно

itemId = Integer.parseInt(params[0]) > 166000070 && Integer.parseInt(params[0]) < 166000190 ? Integer.parseInt(params[0]) : 166000070;

Или в этой записи:

if (Integer.parseInt(params[0]) < 166000070 && Integer.parseInt(params[0]) > 166000190)
{
itemId = Integer.parseInt(params[0]);
}

PROGRAMMATOR 11.10.2010 18:44

Re: //addskill
 
PHP код:

if ($val <= 1550 && $val >= 1450) {
    echo 
'В диапазоне 1450-1550';


Пример на пыхе, но суть одна и та же.

Wolfas 12.10.2010 02:08

Re: //addskill
 
Написал вот так, но снова ошибка в синтаксисе

try
{
if (val ? Integer.parseInt(params[0]) <= 166000070 && val ? nteger.parseInt(params[0]) >= 166000190)
{
itemId = Integer.parseInt(params[0]);
}

if( params.length == 2 )
{
itemCount = Long.parseLong(params[1]);
}
receiver = admin;
}

Wolfas 14.11.2010 17:23

Re: //addskill
 
Вот сделал:

if (Integer.parseInt(params[0]) != 166000070 && Integer.parseInt(params[0]) != 166000071 && так далее все запрещённые значения)
{
itemId = Integer.parseInt(params[0]);
}


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

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot