Перейти к содержанию
Авторизация  
P1ckw1ck

Запрет на телепорт с определеным шмотом/лвл/заточка.

Рекомендуемые сообщения

Добрый день, есть код который дает запрет на телепорт если уровень выше 76. грейд больше B, заточка больше 6.

на старых исходах aCis он работает корректно.

 

Ставлю его на 345 реву тоже aCis он запрещает телепорт даже с Д грейд хотя в коде указан запрет на грейд выше B.

 

мб подскажете что не так в коде. кровь из носа нужен рабочий код. поблагодарю.

 

вот собственно сам код 

            } else if (where.equals("avanevil1")) 
            {
                if (player.isTeleportAllowed(0x03, 76, 6)) 
                {
                    player.teleToLocation(86813, 22461, -5283, 0);
                } else
                    player.sendMessage("Не подходящие условия для данной локации!");
            }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Добрый день, есть код который дает запрет на телепорт если уровень выше 76. грейд больше B, заточка больше 6.

на старых исходах aCis он работает корректно.

 

Ставлю его на 345 реву тоже aCis он запрещает телепорт даже с Д грейд хотя в коде указан запрет на грейд выше B.

 

мб подскажете что не так в коде. кровь из носа нужен рабочий код. поблагодарю.

 

вот собственно сам код 

            } else if (where.equals("avanevil1")) 
            {
                if (player.isTeleportAllowed(0x03, 76, 6)) 
                {
                    player.teleToLocation(86813, 22461, -5283, 0);
                } else
                    player.sendMessage("Не подходящие условия для данной локации!");
            }

ищите проблему здесь player.isTeleportAllowed(0x03, 76, 6)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
if (player.isTeleportAllowed(3, 76, 6))

или

if (player.isTeleportAllowed(B, 76, 6)) 

Ну или смотреть Changeset ниже 350 и искать, что повлияло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
if (player.isTeleportAllowed(3, 76, 6))

или

if (player.isTeleportAllowed(B, 76, 6)) 

Ну или смотреть Changeset ниже 350 и искать, что повлияло.

 

так еклипс ругается, ладно у меня дифки есть до 357 по ищу до 350 ревы мб что и выйдет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
if (player.isTeleportAllowed(3, 76, 6))

или

if (player.isTeleportAllowed(B, 76, 6)) 

Ну или смотреть Changeset ниже 350 и искать, что повлияло.

 

Блин этот код с ациса 2012 года:D долго придется искать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так еклипс ругается, ладно у меня дифки есть до 357 по ищу до 350 ревы мб что и выйдет.

isTeleportAllowed

Как выглядит сам метод.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
isTeleportAllowed

Как выглядит сам метод.

 

	public boolean isTeleportAllowed(int maxGrade, int maxLevel, int maxEnchant) 
	 {
        if (this.getLevel() > maxLevel)
            return false;
        for (ItemInstance item : this.getInventory().getItems()) {
            if (item.isArmor() || item.isWeapon()) {
                if (item.getItem().getCrystalCount() > maxGrade
                        || item.getEnchantLevel() > maxEnchant)
                    return false;
            }
        }
        return true;
	 }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

	public boolean isTeleportAllowed(int maxGrade, int maxLevel, int maxEnchant) 
	 {
        if (this.getLevel() > maxLevel)
            return false;
        for (ItemInstance item : this.getInventory().getItems()) {
            if (item.isArmor() || item.isWeapon()) {
                if (item.getItem().getCrystalCount() > maxGrade
                        || item.getEnchantLevel() > maxEnchant)
                    return false;
            }
        }
        return true;
	 }

 

грейд надо указывать в int,а не буквой. Б грейд вроде бы 3.

isTeleportAllowed(3, 76, 6)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

	public boolean isTeleportAllowed(int maxGrade, int maxLevel, int maxEnchant) 
	 {
        if (this.getLevel() > maxLevel)
            return false;
        for (ItemInstance item : this.getInventory().getItems()) {
            if (item.isArmor() || item.isWeapon()) {
                if (item.getItem().getCrystalCount() > maxGrade
                        || item.getEnchantLevel() > maxEnchant)
                    return false;
            }
        }
        return true;
	 }

 

if (item.getItem().getCrystalType() > maxGrade

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

грейд надо указывать в int,а не буквой. Б грейд вроде бы 3.

isTeleportAllowed(3, 76, 6)

Так же не работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
if (item.getItem().getCrystalType() > maxGrade

Можно по подробней?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 if (item.getItem().getCrystalCount() > maxGrade 

меняем на

if (item.getItem().getCrystalType().getId() > maxGrade

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Добрый день, есть код который дает запрет на телепорт если уровень выше 76. грейд больше B, заточка больше 6.

на старых исходах aCis он работает корректно.

 

Ставлю его на 345 реву тоже aCis он запрещает телепорт даже с Д грейд хотя в коде указан запрет на грейд выше B.

 

мб подскажете что не так в коде. кровь из носа нужен рабочий код. поблагодарю.

 

вот собственно сам код 

            } else if (where.equals("avanevil1")) 
            {
                if (player.isTeleportAllowed(0x03, 76, 6)) 
                {
                    player.teleToLocation(86813, 22461, -5283, 0);
                } else
                    player.sendMessage("Не подходящие условия для данной локации!");
            }

Простите за "оффтоп"

Мне интересно, вы исправили проблему с качем петов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите за "оффтоп"

Мне интересно, вы исправили проблему с качем петов?

Я что-то не припомню проблему с качем петов у меня.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...