1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Туториал [урок] система скинов (модификация клиента).

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем z0z1ch, 30 июн 2011.

  1. Автор темы
    z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    В этом уроке я расскажу как модифицировать клиент, а точнее как заменить пути на ресурсы где хранятся скины и плащи пользователей.

    Что нам потребуется:
    1. Скачать и установить JDK .
    2. Программа для декомпиляции клиента MCP (скачивайте подходящую для вашей версии клиента) .
    3. Клиент Minecraft (чистый, без модов).

    Приступим:
    1. В любом удобном для вас месте создайте папку minecraft_skins.
    2. Распакуем в папку minecraft _skins программу декомпиляции клиента MCP (которую вы скачали ранее).
    3. Из чистого клиента minecraft необходимо скопировать папку bin ( из папки /.minecraft) в папку minecraft_skins/jars
    4. Запускаем декомпиляцию клиента, для этого запускаем файл minecraft_skins/decompile.bat
    5. По завершении декомпиляции идем в папку minecraft_skins/src/minecraft/net/minecraft/src и открываем блокнотом (я использую Notepad++) файлы EntityOtherPlaye/.mrMP.java, EntityPlayer.java и EntityPlayerSP.java
    6. В открытых файлах находим адрес s3.amazonaws.com и меняем его на свой, сохраняем файлы.
    7. Запускаем файл minecraft _skins/recompile.bat
    8. По завершении компиляции запускаем файл minecraft_skins/reobfuscate.bat
    9. Заходим в папку minecraft_skins/reobf/minecraft и копируем три созданных файла в файл клиента .minecraft/bin/minecraft.jar (minecraft.jar можно открыть архиватором 7zip), и удаляем папку META-INF.
    Вот и все!

    Примечание:
    Теперь патченый клиент будет искать скин соответствующий имени пользователя не по адресу s3.amazonaws.com/MinecraftSkins/, а по <ваш адрес>/MinecraftSkins/

    Удачи!
     
    MrXamster, good(), Sheogorath и 55 другим нравится это.
  2. UfaRock

    UfaRock Участник

    Баллы:
    28
    Skype:
    RockUfa
    z0z1ch, как мне и обещал написал-таки статью.
    Надеюсь вопрос многих решен.
    Остается найти\написать форму для сайта и
    своя система скинов готова. =)
     
    good(), Sheogorath и slavik123123123 нравится это.
  3. SensoR

    SensoR Старожил Пользователь

    Баллы:
    153
    Skype:
    d.r.i.v.t
    Имя в Minecraft:
    SensoR2x
    Всё готовое на блюдечке!
    5+
     
    good() и Sheogorath нравится это.
  4. masb8ly

    masb8ly Активный участник Пользователь

    Баллы:
    63
    Спасибо! Помогло. Благодаря этой функции завлекли еще 23 человека на сервер))
     
    good() и Sheogorath нравится это.
  5. ensirius

    ensirius Старожил Пользователь

    Баллы:
    123
    Автор конечно молодец,но на самом деле обидно в какой то степени) все сделал и тут же гайд) нььяя)
     
    good(), Sheogorath, Joomplix и 2 другим нравится это.
  6. Автор темы
    z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    Есть желающие поделиться скриптом для загрузки скинов пользователями?
    P.S. несколько человек утверждало что шарят в php...
     
    good() и Sheogorath нравится это.
  7. UfaRock

    UfaRock Участник

    Баллы:
    28
    Skype:
    RockUfa
    Все отлично работает. Скины, плащи. Спасибо.
    Так же сменил копирайт (Приписал своего сервера)
    И удалил надпись в 3 строки. (Unlicensed copy :()


    +1 Скриптик не помешает


    Не будь таким жадным))
    А то уже некоторые продавали систему скинов за 3к :D

     
    Pokemowka, good(), Sheogorath и ещё 1-му нравится это.
  8. ensirius

    ensirius Старожил Пользователь

    Баллы:
    123
    Я не жадный,просто завлекаю публику системой скинов)
    Поищите в гугле скрипты для загрузки.Я использую сначало автиризацию.Потом даю доступ к заливке.Потому вполне легко интегрировал.Полностью сделал систему скинов за сутки.
     
    good() и Sheogorath нравится это.
  9. masb8ly

    masb8ly Активный участник Пользователь

    Баллы:
    63
    ---И удалил надпись в 3 строки. (Unlicensed copy :()
    Не подскажешь как это сделать?
     
    good() и Sheogorath нравится это.
  10. UfaRock

    UfaRock Участник

    Баллы:
    28
    Skype:
    RockUfa
    GuiAchievement.java - Там смотри

    70 \ 71 \ 72 строки. То что между "" удаляй.
     
  11. masb8ly

    masb8ly Активный участник Пользователь

    Баллы:
    63
    Спасибо!!!
     
    good(), ВремяПриключений и Sheogorath нравится это.
  12. solid

    solid Активный участник

    Баллы:
    78
    блин, а в 1.7 нету этих файлов:) и вообще текст "amazonaws" только в одном файле (GameUpdater.java)
    как быть?
     
    good() и Sheogorath нравится это.
  13. UnderTheCross

    UnderTheCross Активный участник Пользователь

    Баллы:
    88
    В 1.7 файлы другие: BlockNetherrack.java, GuiTexturePackSlot.java, J_JsonNode.java
     
    good() и Sheogorath нравится это.
  14. ensirius

    ensirius Старожил Пользователь

    Баллы:
    123
    лучшее скажите как компилировать теперь
     
    good() и Sheogorath нравится это.
  15. solid

    solid Активный участник

    Баллы:
    78
    первого и третьего у меня вообще нету, а второй в двух вариантах (.orig|.rej)
    и еще скрипт такой лог выдает
    Код:
    == MCP v4.1 ==
    > Creating Retroguard config files
    == Decompiling Client ==
    !! Modified jar detected. Unpredictable results !!
    > Creating SRGS for client
    > Applying Retroguard to client
    > Applying Exceptor to client
    > Unzipping the client jar
    > Applying jadretro
    > Decompiling...
    > Applying patches
    patch --binary -p1 -u -i ../../temp/temp.patch -d src/minecraft failed.
    Return code : 1
    
    == ERRORS FOUND ==
    
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/client/Minecraft.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/client/MinecraftApplet.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/CanvasMinecraftApplet.java.rej
    2 out of 2 hunks FAILED -- saving rejects to file net/minecraft/src/CodecMus.java.rej
    4 out of 4 hunks FAILED -- saving rejects to file net/minecraft/src/EnumArt.java.rej
    4 out of 4 hunks FAILED -- saving rejects to file net/minecraft/src/EnumCreatureType.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/EnumJsonNodeType.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/EnumMobType.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/EnumMovingObjectType.java.rej
    6 out of 6 hunks FAILED -- saving rejects to file net/minecraft/src/EnumOptions.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/EnumOS1.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/EnumOS2.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/EnumSkyBlock.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/EnumStatus.java.rej
    4 out of 4 hunks FAILED -- saving rejects to file net/minecraft/src/EnumToolMaterial.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/GameWindowListener.java.rej
    2 out of 2 hunks FAILED -- saving rejects to file net/minecraft/src/GuiChat.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/GuiEditSign.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/GuiSlotStats.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/GuiSlotStatsBlock.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/GuiSlotStatsGeneral.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/GuiSlotStatsItem.java.rej
    2 out of 2 hunks FAILED -- saving rejects to file net/minecraft/src/GuiTextField.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/GuiTexturePackSlot.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/GuiWorldSlot.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/J_ArrayNodeContainer.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/J_FieldNodeContainer.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/J_JsonElementNodeSelector.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/J_JsonFieldNodeSelector.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/J_JsonNodeList.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/J_JsonObjectNodeList.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/J_ObjectNodeContainer.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/MapCoord.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/MapGenCaves.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/MapGenCavesHell.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/MapInfo.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/MinecraftAppletImpl.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/MinecraftImpl.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/MusInputStream.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/NetClientHandler.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/NetworkMasterThread.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/NetworkReaderThread.java.rej
    3 out of 3 hunks FAILED -- saving rejects to file net/minecraft/src/NetworkWriterThread.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/RailLogic.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/RecipeSorter.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/RegionFileChunkBuffer.java.rej
    2 out of 2 hunks FAILED -- saving rejects to file net/minecraft/src/RenderBlocks.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/RenderGlobal.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/SlotArmor.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/SorterStatsBlock.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/SorterStatsItem.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/SpawnerAnimals.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/StatStringFormatKeyInv.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/ThreadCheckHasPaid.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/ThreadCloseConnection.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/ThreadConnectToServer.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/ThreadDownloadImage.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/ThreadRunIsoClient.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/ThreadSleepForever.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/ThreadStatSyncherReceive.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/ThreadStatSyncherSend.java.rej
    1 out of 1 hunk FAILED -- saving rejects to file net/minecraft/src/WorldBlockPositionType.java.rej
    2 out of 2 hunks FAILED -- saving rejects to file net/minecraft/src/Block.java.rej
    ==================
    
    > Renaming sources
    > Creating reobfuscation tables
    > Done in 12.38 seconds
    
    Если не сложно, может кто выложит папочку src скачать? а то не декомпилится и все тут :(
     
    good() и Sheogorath нравится это.
  16. UnderTheCross

    UnderTheCross Активный участник Пользователь

    Баллы:
    88
    У меня есть, но декомпилирует с ошибкой и компилировать отказывается
     
    good() и Sheogorath нравится это.
  17. ensirius

    ensirius Старожил Пользователь

    Баллы:
    123
    Декомпилировал без проблем,а вот компильнуть трабл)
     
    good() и Sheogorath нравится это.
  18. Автор темы
    z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    Курим, пока MCP не обновят.
     
    good(), Sheogorath и ВремяПриключений нравится это.
  19. UfaRock

    UfaRock Участник

    Баллы:
    28
    Skype:
    RockUfa
    Нужную строчку то в файлах найти не проблема (Notepad++ помогает искать и в сразу 666 файлах) проблема с компиляцией. :( Хотя на Master-MC уже обновили клиент
     
    good() и Sheogorath нравится это.
  20. solid

    solid Активный участник

    Баллы:
    78
    ну они его ручками, наверное :) так я и думал, что декомпиляция не дается :)
     
    good() и Sheogorath нравится это.

Поделиться этой страницей