Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
CreatureState
#1
Во всех сборках что я видел копипаст таких констант состояний персонажа:

CreatureState.java
Цитата: ACTIVE(1), // basic 1
FLYING(1 << 1), // 2
RESTING(1 << 2), // 4
DEAD(3 << 1), // 6
FLOATING_CORPSE(1<<3), // 8
PRIVATE_SHOP(5 << 1), // 10
FLYING_RIDE(6 << 1), //12
//UNKNOWN16(1<<4), // 16
WEAPON_EQUIPPED(1 << 5), // 32
WALKING(1 << 6), // 64
POWERSHARD(1 << 7), // 128
TREATMENT(1 << 8), // 256
GLIDING(1 << 9); // 512

Но например:
PRIVATE_SHOP(5 << 1), // 10

5 << 1 = в десятеричной 10 = 0000 1010
Но позвольте почему 2 флага?
Это пересекается с флагами FLYING (0000 0010) и FLOATING_CORPSE(0000 1000).

Может быть должно быть 1 << 5?

И повторюсь этот код скопипащен во все увиденные мной исходники самых разных хроник.

После л2 в исходниках сборок Aion меня поразило с одной стороны количество уровней абстракции и использование модных сторонних библиотек. А с другой
наиглупейшие ошибки в ключевых местах.

Так какие константы там должны быть на самом деле?
Ответ
#2
Код:
ACTIVE(1), // basic 1
    FLYING(1 << 1), // 2
    FLIGHT_TELEPORT(1 << 1), // 2
    RESTING(1 << 2), // 4
    DEAD(3 << 1), // 6
    CHAIR(3 << 1), // 6
    FLOATING_CORPSE(1 << 3), // 8
    PRIVATE_SHOP(5 << 1), // 10
    LOOTING(3 << 2), // 12
    WEAPON_EQUIPPED(1 << 5), // 32
    WALKING(1 << 6), // 64
    NPC_IDLE(1 << 6), // 64 (for npc)
    POWERSHARD(1 << 7), // 128
    TREATMENT(1 << 8), // 256
    GLIDING(1 << 9); // 512
Код:
/**
     * Player just entered Wind Stream
     */
    ENTERED_WINDS(1 << 10),

    DUELING(1 << 11),

    /**
     * Universal state, e.g. can be used for event/instance registation
     */
    EVENT(1 << 20)
    //
    ;

Добавься в скайп, возможно будем полезны друг другу Smile
Мы всё сделаем металлом! Чернее чернейшей черноты бесконечности! © Nathan Explotion
Работаю с Aion Java-emu, любой версии. skype: alexsiuss1
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)