как паравельно прописать цвета покажите пример

Тема в разделе "Newbie questions / Вопросы новичков", создана пользователем vasilachyk, 22 ноя 2017.

  1. vasilachyk

    vasilachyk Капля-Доверия
    Админы не рекомендуют.

    Регистрация:
    17 ноя 2017
    Сообщения:
    156
    Симпатии:
    11
    Skype:
    l2meganet.org.ua
    #######################
    # Custom Color Manager
    #######################

    # Включение
    CmAllow=true

    # Цвета титулов в формате BGR через запятую
    CmTitle=0

    # Цвета ников в формате BGR через запятую
    CmNick=0
    вот скрипт в ядре
    package net.sf.l2j.gameserver.model.actor.instance;

    import java.util.StringTokenizer;
    import net.sf.l2j.Config;
    import net.sf.l2j.gameserver.network.SystemMessageId;
    import net.sf.l2j.gameserver.templates.L2NpcTemplate;
    import net.sf.l2j.gameserver.serverpackets.SystemMessage;

    public class L2CustomColorManagerInstance extends L2NpcInstance
    {

    public L2CustomColorManagerInstance(int objectId, L2NpcTemplate template)
    {
    super(objectId, template);
    }

    public void onBypassFeedback(L2PcInstance player, String command)
    {
    if (!Config.CM_ALLOW) return;
    StringTokenizer st = new StringTokenizer(command, " ");
    String actualCommand = st.nextToken();
    if (actualCommand.equalsIgnoreCase("change_color_title"))
    {
    String colorId = st.nextToken();
    if (Config.LIST_COLOR_TITLE.contains(colorId))
    {
    if (!player.destroyItemByItemId("ChangeColorTitle", Config.CHANGE_COLOR_TITLE_ITEMID, Config.CHANGE_COLOR_TITLE_CONSUME, this, false))
    {
    player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
    return;
    }
    player.getAppearance().setTitleColor(Integer.decode("0x" + colorId));
    player.broadcastUserInfo();
    player.store();
    player.sendMessage("Enjoy your new colour.");
    return;
    }
    }
    else if (actualCommand.equalsIgnoreCase("change_color_nick"))
    {
    String colorId = st.nextToken();
    if (Config.LIST_COLOR_NICK.contains(colorId))
    {
    if (!player.destroyItemByItemId("ChangeColorNick", Config.CHANGE_COLOR_NICK_ITEMID, Config.CHANGE_COLOR_NICK_CONSUME, this, false))
    {
    player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
    return;
    }
    player.getAppearance().setNameColor(Integer.decode("0x" + colorId));
    player.broadcastUserInfo();
    player.store();
    player.sendMessage("Enjoy your new colour.");
    return;
    }
    }
    return;
    }

    @Override
    public boolean isMovementDisabled()
    {
    return true;
    }
    }
     
    #1 vasilachyk, 22 ноя 2017
    Последнее редактирование: 22 ноя 2017
  2. Absent

    Absent Участник

    Регистрация:
    12 ноя 2017
    Сообщения:
    22
    Симпатии:
    10
    Коды цветов можно посмотреть тут .


    # Цвета титулов в формате BGR через запятую
    CmTitle=FF0000,000000,0000FF
    Ну а прописывать в таком формате
     
    vasilachyk и Maiden7 нравится это.
  3. vasilachyk

    vasilachyk Капля-Доверия
    Админы не рекомендуют.

    Регистрация:
    17 ноя 2017
    Сообщения:
    156
    Симпатии:
    11
    Skype:
    l2meganet.org.ua
    спс но так не работает
     
  4. NickColorChangeList = 00FF00;00DD00;7FFF00;8A2BE2;A52A2A;DEB887;5F9EA0;DC143C;9932CC;696969;4B0082;E6E6FA;
    TitleColorChangeList = 00FF00;00DD00;7FFF00;8A2BE2;A52A2A;DEB887;5F9EA0;DC143C;9932CC;696969;4B0082;E6E6FA;
     
  5. vasilachyk

    vasilachyk Капля-Доверия
    Админы не рекомендуют.

    Регистрация:
    17 ноя 2017
    Сообщения:
    156
    Симпатии:
    11
    Skype:
    l2meganet.org.ua
    есть идей
     
    #5 vasilachyk, 22 ноя 2017
    Последнее редактирование: 22 ноя 2017
  6. Absent

    Absent Участник

    Регистрация:
    12 ноя 2017
    Сообщения:
    22
    Симпатии:
    10
    Делайте вариации, если есть исходник смотрите код.
    Ибо других вариантов быть не может, пробуйте
    00255 - это красный цвет в формате BGR
    255255255 - это черный цвет BGR
    25500 - это синий
     
    vasilachyk нравится это.
  7. vasilachyk

    vasilachyk Капля-Доверия
    Админы не рекомендуют.

    Регистрация:
    17 ноя 2017
    Сообщения:
    156
    Симпатии:
    11
    Skype:
    l2meganet.org.ua
    вон виши глянь исход код
     
  8. Absent

    Absent Участник

    Регистрация:
    12 ноя 2017
    Сообщения:
    22
    Симпатии:
    10
    А теперь для начала скиньте полный конфиг относящийся к смене цвета
     
    vasilachyk нравится это.
  9. vasilachyk

    vasilachyk Капля-Доверия
    Админы не рекомендуют.

    Регистрация:
    17 ноя 2017
    Сообщения:
    156
    Симпатии:
    11
    Skype:
    l2meganet.org.ua
    #######################
    # Four Sepulchers
    #######################

    TimeOfAttack = 50
    TimeOfCoolDown = 5
    TimeOfEntry = 3
    TimeOfWarmUp = 2
    NumberOfNecessaryPartyMembers = 4



    #######################
    # 7 печатей
    #######################

    # Правила 7 печатей.
    # Для вступление в воина Рассвета требуется что бы игрок находится в замке союзного клана.
    AltRequireCastleForDawn = False

    # Определение получения в собственность замка кланом или альянсом.
    AltRequireClanCastle = False



    #######################
    # Оффлайн трейд и крафт
    #######################

    # Включить или выключить оффлайн трейд\крафт
    # Включить -> true, Выключить -> false
    OfflineTradeEnable = true

    # Разрешить оффлайн крафт?
    # Включить -> true, Выключить -> false
    OfflineCraftEnable = true



    #######################
    # Custom Color Manager
    #######################

    # Включение
    CmAllow=true

    # Цвета титулов в формате BGR через запятую
    CmTitle=0x009900,0xff7f00

    # Цвета ников в формате BGR через запятую
    CmNick=0x009900,0xff7f00

    # ItemId вещи требуемая для покраски титула
    ChangeColorTitleItemId=57

    # ItemId вещи требуемая для покраски имени
    ChangeColorNickItemId=57

    # Количнство вещей требуемых для покраски титула
    ChangeColorTitleConsume=1000

    # Количнство вещей требуемых для покраски имени
    ChangeColorNickConsume=1000



    #######################
    # Правила фестиваля
    #######################

    # Минимальное количество игроков для участия в фестивале Семи Печатей.
    AltFestivalMinPlayer = 5

    # Максимальный вклад в игрока в течение фестиваля
    AltMaxPlayerContrib = 1000000

    # Время старта фестиваля.
    # По умолчанию : 2 минуты
    AltFestivalManagerStart = 120000

    # Длительность фестиваля.
    # По умолчанию : 18 минут
    AltFestivalLength = 1080000

    # Длина цикла Фестиваля.
    # По умолчанию : 38 минут (20 минут ожидания, + время фестиваля)
    AltFestivalCycleLength = 2280000

    # Начальный спаун фестиваля.
    # По умолчанию : 2 минуты
    AltFestivalFirstSpawn = 120000

    # Начальная подготовка Фестиваля.
    # По умолчанию : 5 минут
    AltFestivalFirstSwarm = 300000

    # Следующиий спаун Фестиваля.
    # По умолчанию : 9 минут
    AltFestivalSecondSpawn = 540000

    # Следующая подготовка Фестиваля.
    # По умолчанию : 12 минут
    AltFestivalSecondSwarm = 720000

    # Спаун сундуков.
    # По умолчанию : 15 минут
    AltFestivalChestspawn = 900000



    #######################
    # Дименшен рифт
    #######################

    # Минимальный размер группы для входа в Dimension Rift. Min = 2, Max = 9.
    # Если во время участия в Dimension Rift, группа станет меньше минимума, то
    # все члены группы будут телепортированы в зал ожидания.
    RiftMinPartySize = 5

    # Максимально разрешенное количество "прыжков" между комнатами.
    # В конце группа будет телепортирована в зал ожидания.
    MaxRiftJumps = 4

    # Время ожидания в микросекундах после входа группы в комнату до тех пор пока начнут спавниться мобы. В C4 было: 10s
    RiftSpawnDelay = 10000

    # Время, между автоматическими прыжками (в секундах)
    AutoJumpsDelayMin = 480
    AutoJumpsDelayMax = 600

    # Время для пребывания в комнате босса
    BossRoomTimeMultiply = 1.5

    # Стоимость (исчисляется в fragment-dimension), для того, чтобы войти в ущелье, каждый член группы должен иметь это количество
    RecruitCost = 18
    SoldierCost = 21
    OfficerCost = 24
    CaptainCost = 27
    CommanderCost = 30
    HeroCost = 33



    ##############################################
    # PC Bang Points система
    ##############################################

    # Включить или выключить эвент
    PcCafeEvent=True

    # Минимальный уровень с которого начинают начисляться очки
    PcCafeMinLevel=0

    # Минимальное добавляемое кол-во очков игроку
    PcCafeScoreMin=45

    # Максимальное добавляемое кол-во очков игроку
    PcCafeScoreMax=150

    # Шанс получить двойное количество очков
    PcCafeScoreDouble=15

    # Интервал перед тем как добавить. Каждые 5 минут
    PcCafeInterval=300



    #######################
    # Олимпиада
    #######################

    # Время начала олимпиады. По умолчанию в 18 часов
    AltOlyStartTime = 18

    # Время окончания олимпиады, По умолчанию в 00 часов.
    AltOlyMin = 00

    # Период Соревнований, По умолчанию 6 часов.
    # Если уставновлено другое время то прибавляем еще 10 минут.
    AltOlyCPeriod = 21600000

    # Время боя, по умолчанию 6 минут.
    AltOlyBattle = 360000

    # Время оэидания боя, по умолчанию 10 минут.
    AltOlyBWait = 600000

    # Время первого ожидания, по умолчанию 5 минут.
    AltOlyIWait = 300000

    # Неделя олимпиады, по умолчанию 1 неделя.
    AltOlyWPeriod = 604800000

    # Ратификация олимпиады, по умолчанию 24 часа.
    AltOlyVPeriod = 86400000

    # Минимум участников для начала матчей для классовых и бесклассовых соревнований. По умолчанию 5 и 9.
    AltOlyClassedParticipants = 5
    AltOlyNonClassedParticipants = 9

    # Награда за выигранный бой для классовых и бесклассовых матчей.
    # По умолчанию 6651(Gate Pass)
    AltOlyBattleRewItem = 6651
    # По умолчанию 50 штук выигравшему
    AltOlyClassedRewItemCount = 50
    # По умолчанию 30 штук выигравшему
    AltOlyNonClassedRewItemCount = 30

    # Награда по окончанию олимпиады
    # Минимум очков для обмена nobless gate pass, По умолчанию 50
    AltOlyMinPointForExchange = 50
    # ItemId награды, По умолчанию 6651(Gate Pass)
    AltOlyCompRewItem = 6651
    # Рейт для обмена очков на награду, По умолчанию 1 очко * 1000
    AltOlyGPPerPoint = 1000

    # Очки дворянства, которые будут выданы героям. По умолчанию 300
    AltOlyHeroPoints = 300

    # Список запрещенных вещей на олимпиаде (например. 1,200,350)
    AltOlyRestrictedItems = 0



    #######################
    # Манор
    #######################

    # Включить манор
    AllowManor = True

    # Время обновления манора во время осады, по умолчанию 8 часов вечера (20)
    AltManorRefreshTime = 20

    # Время обновления манора, по умолчанию каждый час.
    AltManorRefreshMin = 00

    # Время подтверждения манора во время осады, по умолчанию в 6 часов утра.
    AltManorApproveTime = 6

    # Время подтверждения манора, по умолчанию каждый час.
    AltManorApproveMin = 00

    # Перерыв, по умолчанию 6 минут.
    AltManorMaintenancePeriod = 360000

    # Способ сохранения. True - сохранять в базу после каждого действия; по умолчанию False
    AltManorSaveAllActions = True

    # Сохранение статуса манора(если только AltManorSaveAllActions=false), по умолчанию каждые 2 часа
    AltManorSavePeriodRate = 2



    #######################
    # Свадьбы
    #######################

    #True разрешает свадьбы
    AllowWedding=True

    #Стоимость свадьбы в Adenaх
    WeddingPrice=250000000

    #Наказывать игроков за измену к их супругам? Да = True, Нет = False
    WeddingPunishInfidelity=True

    #Женатые могут телепортироваться друг к другу? да - True, нет - False
    WeddingTeleport=True

    #Цена телепортации в Adenaх
    WeddingTeleportPrice=50000

    #Время телепортации (в секундах)
    WeddingTeleportDuration=60

    #Разрешается ли гомосятина и лесби на сервере Да = True, Нет = False
    WeddingAllowSameSex=True

    #Требуется ли свадебная одежда при бракосочетаниях Да = True, Нет = False
    WeddingFormalWear=True

    #Цена развода в % от стоимости свадьбы
    WeddingDivorceCosts=20

    # Включить цвет ников у женатых
    ColorWeddingName = False

    # Установка цвета ников женатых разного пола
    WeddingNameColor = 62FFFF

    # цвет ников однополых супругов мужского пола
    # внимание !!! ник однополого супруга смениться на этот
    # только при в ходе в игру его супруга
    WeddingNameGeyColor = FA0000

    # цвет ников однополых супругов женского пола
    # внимание !!! ник однополого супруга смениться на этот
    # только при в ходе в игру его супруга
    WeddingNameLizColor = FA70FA


    #######################
    # Team vs. Team Event
    #######################

    # Включение
    TvTEventEnabled = true

    # Время между эвентами (в минутах, 300 = 5 часов)
    TvTEventInterval = 300

    # Время на регистрацию (в минутах) до старта эвента.
    TvTEventParticipationTime = 60

    # продолжительность эвента
    TvTEventRunningTime = 20

    # Эвентовый нпц (создаем любого нпц с типом L2TvTEventNpc по умолчанию создан 70010)
    TvTEventParticipationNpcId = 70010
    # Координаты появления эвентового нпц
    TvTEventParticipationNpcCoordinates = 83425,148585,-3406

    # Минимальное и максимальное количество персонажей в команде
    TvTEventMinPlayersInTeams = 1
    TvTEventMaxPlayersInTeams = 20

    # Минимальные и максимальные уровни игроков для участия
    TvTEventMinPlayerLevel = 1
    TvTEventMaxPlayerLevel = 80

    # Время для телепорта игроков на эвент (в секундах)
    TvTEventRespawnTeleportDelay = 10
    TvTEventStartLeaveTeleportDelay = 10

    # Первая команда (название, стартовые координаты x,y,z)
    TvTEventTeam1Name = Team1
    TvTEventTeam1Coordinates = 148695,46725,-3414

    # Вторая команда (название, стартовые координаты x,y,z)
    TvTEventTeam2Name = Team2
    TvTEventTeam2Coordinates = 149999,46728,-3414

    # Награда для выигравшей команды
    # itemId,amount;itemId,amount;itemId,amount;...
    TvTEventReward = 57,100000;6673,1000

    # Правила эвента
    TvTEventTargetTeamMembersAllowed = true
    TvTEventScrollsAllowed = false
    TvTEventPotionsAllowed = false
    TvTEventSummonByItemAllowed = false

    # id's дверей который будут открываться/закрываться при старте/окончании
    # пример.: 1;2;3;4;5;6
    TvTDoorsToOpen =
    TvTDoorsToClose =

    # Давать призы обоим командам при ничьей
    TvTRewardTeamTie = false

    # Настройки случайного спауна игроков на ТвТ эвенте
    # Значения задаются относительно координат прописанных в TvTEventTeam1Coordinates и TvTEventTeam2Coordinates
    # минимум по оси X
    TvTRndSpawnXMin=-0
    # максимум по оси X
    TvTRndSpawnXMax=0
    # минимум по оси Y
    TvTRndSpawnYMin=-0
    # максимум по оси Y
    TvTRndSpawnYMax=0
    # насколько выше спаунить игроков по оси Z
    TvTSpawnZ=0



    #######################
    # CTF Event
    #######################

    # CTFEvenTeams=NO|BALANCE|SHUFFLE
    # NO: без команд.
    # BALANCE: Игрок присоединяется при регистрации к той команде где меньше людей.
    # SHUFFLE: Распределение игроков по командам производится при телепортировании.
    CTFEvenTeams=SHUFFLE

    # Смогут ли обычные игроки выделять участников эвента?
    CTFAllowInterference=true

    # Рарешить суммон итемы на эвенте?
    CTFAllowSummon=False

    # Удалять все баффы при старте эвента?
    CTFOnStartRemoveAllEffects=True

    # Убирать суммонов при старте эвента?
    CTFOnStartUnsummonPet=True

    # Полностью восстанавливать hp/mp/cp при респауне?
    CTFReviveRecovery=true

    # Настройки случайного спауна игроков на CTF эвенте
    # Значения задаются относительно координат прописанных в ctf_teams.sql
    # минимум по оси X
    CTFRndSpawnXMin=-0
    # максимум по оси X
    CTFRndSpawnXMax=0
    # минимум по оси Y
    CTFRndSpawnYMin=-0
    # максимум по оси Y
    CTFRndSpawnYMax=0
    # насколько выше спаунить игроков по оси Z
    CTFSpawnZ=0
     
  10. Absent

    Absent Участник

    Регистрация:
    12 ноя 2017
    Сообщения:
    22
    Симпатии:
    10
    Сразу бы так.
    # Цвета титулов в формате BGR через запятую
    CmTitle=0xff0000,0x000000,0x0000ff

    перед каждым цветом добавляйте 0x - это означает, что далее идет число в формате HEX (шестнадцетиричное)
     
  11. vasilachyk

    vasilachyk Капля-Доверия
    Админы не рекомендуют.

    Регистрация:
    17 ноя 2017
    Сообщения:
    156
    Симпатии:
    11
    Skype:
    l2meganet.org.ua
    ето пробувал там вобше просто 0 стоял
     
  12. vasilachyk

    vasilachyk Капля-Доверия
    Админы не рекомендуют.

    Регистрация:
    17 ноя 2017
    Сообщения:
    156
    Симпатии:
    11
    Skype:
    l2meganet.org.ua
    или как етот переделать под титул
    import sys
    from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
    from net.sf.l2j.gameserver.model.actor.appearance import PcAppearance
    from net.sf.l2j.gameserver.model.quest import State
    from net.sf.l2j.gameserver.model.quest import QuestState
    from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest

    qn = "7800_Namecolor"

    NPC=[50000]
    QuestId = 7800
    QuestName = "Namecolor"
    QuestDesc = "custom"
    InitialHtml = "1.htm"

    print "Loaded Custom: 7001 Namecolor"

    class Quest (JQuest) :
    def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

    def onEvent(self,event,st) :
    htmltext = event

    if event == "1":
    if st.getQuestItemsCount(57) > 250000:
    st.takeItems(57,250000)
    st.getPlayer().getAppearance().setNameColor(0x009900)
    st.getPlayer().broadcastUserInfo();
    return "1.htm"
    if st.getQuestItemsCount(57) <= 250000:
    return "Announcements: No Enought Adena To Select Color!"
    st.exitQuest(0)

    if event == "2":
    if st.getQuestItemsCount(57) > 250000:
    st.takeItems(57,250000)
    st.getPlayer().getAppearance().setNameColor(0xff7f00)
    st.getPlayer().broadcastUserInfo();
    return "1.htm"
    if st.getQuestItemsCount(57) <= 250000:
    return "Announcements: No Enought Adena To Select Color!"

    if event == "3":
    if st.getQuestItemsCount(57) > 250000:
    st.takeItems(57,250000)
    st.getPlayer().getAppearance().setNameColor(0xff00ff)
    st.getPlayer().broadcastUserInfo();
    return "1.htm"
    if st.getQuestItemsCount(57) <= 250000:
    return "Announcements: No Enought Adena To Select Color!"

    if event == "4":
    if st.getQuestItemsCount(57) > 250000:
    st.takeItems(57,250000)
    st.getPlayer().getAppearance().setNameColor(0x00ffff)
    st.getPlayer().broadcastUserInfo();
    return "1.htm"
    if st.getQuestItemsCount(57) <= 250000:
    return "Announcements: No Enought Adena To Select Color!"

    if event == "5":
    if st.getQuestItemsCount(57) > 250000:
    st.takeItems(57,250000)
    st.getPlayer().getAppearance().setNameColor(0x0000ff)
    st.getPlayer().broadcastUserInfo();
    return "1.htm"
    if st.getQuestItemsCount(57) <= 250000:
    return "Announcements: No Enought Adena To Select Color!"

    if event == "6":
    if st.getQuestItemsCount(57) > 250000:
    st.takeItems(57,250000)
    st.getPlayer().getAppearance().setNameColor(0x0099ff)
    st.getPlayer().broadcastUserInfo();
    return "1.htm"
    if st.getQuestItemsCount(57) <= 250000:
    return "Announcements: No Enought Adena To Select Color!"

    if event == "7":
    if st.getQuestItemsCount(57) > 250000:
    st.takeItems(57,250000)
    st.getPlayer().getAppearance().setNameColor(0x70db93)
    st.getPlayer().broadcastUserInfo();
    return "1.htm"
    if st.getQuestItemsCount(57) <= 250000:
    return "Announcements: No Enought Adena To Select Color!"

    if event == "8":
    if st.getQuestItemsCount(57) > 250000:
    st.takeItems(57,250000)
    st.getPlayer().getAppearance().setNameColor(0x9f9f9f)
    st.getPlayer().broadcastUserInfo();
    return "1.htm"
    if st.getQuestItemsCount(57) <= 250000:
    return "Announcements: No Enought Adena To Select Color!"

    if event == "9":
    if st.getQuestItemsCount(57) > 250000:
    st.takeItems(57,250000)
    st.getPlayer().getAppearance().setNameColor(0xffff00)
    st.getPlayer().broadcastUserInfo();
    return "1.htm"
    if st.getQuestItemsCount(57) <= 250000:
    return "Announcements: No Enought Adena To Select Color!"



    def onTalk (self,npc,player):
    st = player.getQuestState(qn)
    htmltext = "<html><head><body><center>Nao tenho nada para dizer agora.</center></body></html>"
    st.setState(State.STARTED)
    return InitialHtml

    QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)

    for npcId in NPC:
    QUEST.addStartNpc(npcId)
    QUEST.addTalkId(npcId)
     
  13. Absent

    Absent Участник

    Регистрация:
    12 ноя 2017
    Сообщения:
    22
    Симпатии:
    10
    setNameColor
    на
    setTitleColor
    и имя поменять квеста и т.п.
     
    4ydo и vasilachyk нравится это.
  14. vasilachyk

    vasilachyk Капля-Доверия
    Админы не рекомендуют.

    Регистрация:
    17 ноя 2017
    Сообщения:
    156
    Симпатии:
    11
    Skype:
    l2meganet.org.ua
    upload_2017-11-22_17-13-25.png

    все ти норм пацан все работает спс
     
  15. vasilachyk

    vasilachyk Капля-Доверия
    Админы не рекомендуют.

    Регистрация:
    17 ноя 2017
    Сообщения:
    156
    Симпатии:
    11
    Skype:
    l2meganet.org.ua
    силка donat-vasilachyk
     

Партнеры