Путь к пакету

Тема в разделе "Кодинг", создана пользователем idpro2, 13 дек 2017.

  1. idpro2

    idpro2 Соучастник

    Доброго времени!
    В последнее время копаюсь в исходниках серверперкс и назрел вопрос. Как можно избежать бесконечного добавления названия пакета перед названием класса, если оба класса лежат в одном пакете?
    Вот наглядный пример:
    [​IMG]

    Классы FragFireCustom и FragCustom лежат в пакете ServerPerkxxx. Как избежать обьявления пакета но чтобы класс был виден при компиляции?
     
  2. Essence

    Essence Moderator Команда форума

    Так не объявляй пакет. Компилятор всё равно увидит класс при компиляции.
    Код:
        InventoryType=Class'FragCustom'
    Однако стоит учитывать нюансы, иногда объявление пакета необходимо.
     
    Flame и shark_1900 нравится это.
  3. shark_1900

    shark_1900 Бандит

    все верно иначе потом впоследстии будут проблемы на сервере.....и чаще всего это когда сервер падает)))
     
  4. Flame

    Flame -Заслуженый кодер форума-

    А когда нужен полный путь к пакету? (не учитывая ситуации, когда совпадают названия классов в разных пакетах)

    Тут вроде самое главное при переименовании с помощью автозамены переименовывать аккуратно и не переименовать ненароком переменные типа string
    Например, в KFPCServ
    PawnClass=Class'SRHumanPawn'
    но
    LobbyMenuClassString="ServerPerks.SRLobbyMenu"
     
    shark_1900 нравится это.
  5. Essence

    Essence Moderator Команда форума

    Когда используется string, как ты и написал выше.
    Однако недавно столкнулся с проблемой, что несмотря на то, что оружие лежало в одном пакете вместе с СП, пришлось прописывать имя пакета в путях и/или получать его динамически. Иначе оружие некорректно работало.
    С чем связано, так и не выяснил.
     
  6. Flame

    Flame -Заслуженый кодер форума-

    Ну если получится повторить эту ошибку - кидай подробности. Люблю загадки)
     
  7. Essence

    Essence Moderator Команда форума

    Получится, но не скоро. Отпишу здесь позже по этому поводу.
     
  8. idpro2

    idpro2 Соучастник

    А как быть в таких случаях?

    Код:
    KFHP.RequiredEquipment[2]="ServerPerks.FragFix";
    Код:
    Level.ServerTravel("?game=ServerPerks.SRGameType", true);
    тут в одном пакете всё
    Код:
    Perks(0)="ServerPerks.SRVetSupportSpec"
    П.С. Спасибо всем за ответы!!!
     
  9. Essence

    Essence Moderator Команда форума

    Указывать полный путь к пакету.