Jump to content

jaBote

Community Contributors
  • Content Count

    2037
  • Joined

  • Last visited

  • Days Won

    43

Reputation Activity

  1. Upvote
    jaBote reacted to Susu in Introducing Hercules Plugin Manager   
    I just find a critical error with the HPM.
     
    The HPM->event(HPET_INIT) occurs BEFORE every other inits(atcommand, clif etc...) and because of that it's impossible to add new commands or even override functions.
    When your plugin init is over and you atcommand are added, the do_init_atcommand() occurs, wich set the atcommand->db to NULL, wich erase the commands you previously add with your plugin.
    The same goes for function ovveriding, because the *defaut() functions are called after your plugin init, wich erase (again) all your modifications.
     
    I know it's not finished and you probalbly already found this bug, but I want to try to contribute because the HPM system really as a huge potentiel and a little help can't harm.
  2. Upvote
    jaBote got a reaction from JulioCF in Obtener Hercules   
    Hola a todos. En esta ocasión os traigo una guía sobre cómo obtener el emulador Hercules. Dado que en Hercules el repositorio del código fuente (es decir, el Sistema de Control de Versiones) no es Subversion como ha sido "normal" en emuladores de Ragnarok Online hasta ahora sino que es Git, por lo que la forma de obtenerlo varía sensiblemente.
     
    No obstante, varias de las virtudes de tener un repositorio en Git es que admite soporte básico de Subversion, entre otros la descarga y actualización del código fuente desde clientes de Subversion como TortoiseSVN (no mucho más) o que facilita mucho la colaboración de gente externa ya que permite a gente externa al Staff de la aplicación hacer Pull Requests (enviar código y solicitar su inclusión en el proyecto sin tener que hacer ningún trámite extra, pero este procedimiento no está previsto en la guía). También una gran desventaja (en comodidad más que nada) es que las revisiones dejan de ser identificadas por un número para ser identificadas por el hash SHA-1 de la propia revisión al completo.
     
    Bueno, acabemos ya con esta introducción y vayamos al grano, que es lo que nos interesa al fin y al cabo: ¿cómo obtener Hercules? Pero no cómo obtenerlo a través de otra persona, sino cómo obtenerlo de primera mano. Pues es muy fácil: podemos obtenerlo de cualquiera de las siguientes formas:
    [*]En un archivo comprimido en zip a través del repositorio del proyecto en Github; [*]A través de algún cliente de subversion, tanto desde Windows (por ejemplo TortoiseSVN) como desde Linux; [*]A través de algún cliente Git, tanto desde Windows (como por ejemplo TortoiseGit) como desde Linux; [*]Otras formas que no se detallarán en esta guía como SSH.

    Obtener Hercules en un archivo zip desde la web
     


     
    Obtener Hercules a través de un cliente Subversion
     


     
    Obtener Hercules a través de un cliente Git
     

     
     
    ¡Y ya está! Ya tienes tu copia de Hercules en tu máquina local. ¿Qué se te apetece hacer ahora? ¿Compilarlo y ponerlo en servicio? ¿Hacer algún Pull Request y contribuir a la comunidad? En esto, ¡tú tienes ahora el poder!
  3. Upvote
    jaBote got a reaction from Hideki in Emperium Breaker Room   
    As I said before you can make a map clone to host this system or use another pre-existing maps. If I remember well (I'm on cellphone right now) ordeal_1-1 could be a nice choice.
     
    Just remember to move all the NPCs and change the coordinates they all work on, especially the emperium spawn map and coordinates!
  4. Upvote
    jaBote reacted to Jguy in Someone know why rAthena is offline since 14 day   
    Tips of the day:
     
    * Have regular backups.
    * If you know your site is going to be offline, redirect it to a temporary webhost where you can let people know what's going on
    * If it's your hoster's fault and its something they need to fix, breathe down their necks.
  5. Upvote
    jaBote reacted to Judas in KRO 2013 Client Release   
    This topic is mainly for organizing 2013 client releases and helpful tools that are needed (Let me know if you run into any problems):
     
    2013 Undiffed/Unpacked Client - provided by k3dt
     
    Weediff Patcher - You will be using the plain diff option (Not the auto generated one)
     
    Latest Clientside - provided by michieru & dastgirpojee
     
    RoCred - provided by Ai4rei (A launcher used to start the client, since some people have trouble with restore login window)
     
    Plain diff to be used on Weediff Patcher - provided by MStream (Ignore crc check errors)
  6. Upvote
    jaBote reacted to Enko in Duda Pedido Data Hercules   
    cualquier data te sirve para Hercules.
  7. Upvote
    jaBote got a reaction from nyxfatalis in Holy Light Edit   
    Hi.
     
    For the element, this is rather a /db/{re or pre-re}/skill_db.txt issue (just change the one your server uses). Check the heading of the file:
    //id,range,hit,inf,element,nk,splash,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count,name,description// 01 ID// 02 range (combo skills do not check for range when used,// if range is < 5, the skill is considered melee-range)// 03 hit (8- repeated hitting, 6- single-hit)// 04 inf (0- passive, 1- enemy, 2- place, 4- self, 16- friend, 32- trap)// 05 element (0 - neutral, 1 - water, 2 - earth, 3 - fire, 4 - wind, 5 - poison,// 6 - holy, 7 - dark, 8 - ghost, 9 - undead, -1 - use weapon element// -2 - use endowed element, -3 - use random element.)// 06 nk (skill damage properties):// [...]  
    As you can see, you can just use -3 for the Holy Light skill element. Go to line 202 and change this:
    156,9,6,1,6,0,0,1,1,yes,0,0x1,0,magic,0, AL_HOLYLIGHT,Holy Light for this:
    156,9,6,1,-3,0,0,1,1,yes,0,0x1,0,magic,0, AL_HOLYLIGHT,Holy Light  
    For the MATK change it's a bit trickier for me since I'm not good at source, but I've taken the time to investigate and I'm almost sure you'll have to go to /src/map/battle.c and find line 3779 (some tabulation spaces removed to improve readability):
    case AL_HOLYLIGHT: skillratio += 25; if (sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_PRIEST) skillratio *= 5; //Does 5x damage include bonuses from other skills? break; That skillratio += 25 makes the damage to be 125% MATK (default 100% + 25%), so you'll have to change that line. You can either choose to substract 75% (so 25% remains) or to divide it by 4 (100 / 4 = 25). I've decided to divide it by 4. That line should remain like this:
    skillratio /= 4; // LINE MODIFIED, Holy Light does now 25% MATK damage  
    And there you go. Hope I helped though I'm not sure on the source code part.
  8. Upvote
    jaBote got a reaction from Hideki in Holy Light Edit   
    Hi.
     
    For the element, this is rather a /db/{re or pre-re}/skill_db.txt issue (just change the one your server uses). Check the heading of the file:
    //id,range,hit,inf,element,nk,splash,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count,name,description// 01 ID// 02 range (combo skills do not check for range when used,// if range is < 5, the skill is considered melee-range)// 03 hit (8- repeated hitting, 6- single-hit)// 04 inf (0- passive, 1- enemy, 2- place, 4- self, 16- friend, 32- trap)// 05 element (0 - neutral, 1 - water, 2 - earth, 3 - fire, 4 - wind, 5 - poison,// 6 - holy, 7 - dark, 8 - ghost, 9 - undead, -1 - use weapon element// -2 - use endowed element, -3 - use random element.)// 06 nk (skill damage properties):// [...]  
    As you can see, you can just use -3 for the Holy Light skill element. Go to line 202 and change this:
    156,9,6,1,6,0,0,1,1,yes,0,0x1,0,magic,0, AL_HOLYLIGHT,Holy Light for this:
    156,9,6,1,-3,0,0,1,1,yes,0,0x1,0,magic,0, AL_HOLYLIGHT,Holy Light  
    For the MATK change it's a bit trickier for me since I'm not good at source, but I've taken the time to investigate and I'm almost sure you'll have to go to /src/map/battle.c and find line 3779 (some tabulation spaces removed to improve readability):
    case AL_HOLYLIGHT: skillratio += 25; if (sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_PRIEST) skillratio *= 5; //Does 5x damage include bonuses from other skills? break; That skillratio += 25 makes the damage to be 125% MATK (default 100% + 25%), so you'll have to change that line. You can either choose to substract 75% (so 25% remains) or to divide it by 4 (100 / 4 = 25). I've decided to divide it by 4. That line should remain like this:
    skillratio /= 4; // LINE MODIFIED, Holy Light does now 25% MATK damage  
    And there you go. Hope I helped though I'm not sure on the source code part.
  9. Upvote
    jaBote reacted to nana in Petición sobre guia como agregar item custom   
    Si es sobre la carpeta System te puede servir ésto:
     
    ve a tu iteminfo.lub dentro de la carpeta system
     
    y encontrarás algo asi
     
     [ID del item] = {
    unidentifiedDisplayName = "Nombre del item NO identificado",
    unidentifiedResourceName = "Nombre de el Sprite usado No identificado(tambien reconoce los archivos act y texture)",
    unidentifiedDescriptionName = {
     "Agregamos una descripción para el objeto NO identificado",
    }
    identifiedDisplayName = "Nombre del item IDENTIFICADO",
    identifiedResourceName = "Nombre del Sprite usado IDENTIFICADO(también reconoce los archivos act y texture)",
    identifiedDescriptionName = {
     "Agregaremos una descripcion",
    }
    slotCount =  Nos indica el numero de Slot siendo estos de 0 a 4,
    ClassNum = Aquí agregaremos la IDVIEW
     
     }
     
    Solo llena los campos con lo que necesitas:
     

     [1134] = {
    unidentifiedDisplayName = "Kiut_Hat",
    unidentifiedResourceName = "Òµså",
    unidentifiedDescriptionName = {
     "Item desconocido, puede ser identificado con [Magnifier].",
    },
    identifiedDisplayName = "Kiut Hat",
    identifiedResourceName = "ÆúeÃÅ",
    identifiedDescriptionName = {
     "Es un hat misterioso que te puede hacer llegar a las nubes.",
     "Clase :^777777 Headgear^000000",
     "Ataque :^777777 3^000000",
     "Peso :^777777 60^000000",
     "Nivel Requerido :^777777 2^000000",
     "Apropiado para :^777777 Novice, Swordman Class, Merchant Class, Thief Class^000000",
    },
    slotCount = 0,
    ClassNum = 2
     },
     
    Saludos!
  10. Upvote
    jaBote reacted to Hideki in [Material] Cliente Renewall de M45T3R v1.3 +543 paletas universales   
    [Material] Cliente Renewall de M45T3R v1.3
    Realizado por: M45T3R y su gata.
    Edición: M45T3R y Nya Hetfield.
    Publicado y Adaptado: Hideki

    Contiene:
    99 Hairstyles que pronto serán re-alineados y aumentados a 102 u mas.. sugerencias de ellos son aceptadas. Contiene alrededor de 43 customs (alas) con descripciones interesantes xP  Msgstringtable traducido hasta el sistema de Navegación (no 100% correcto) Custom Mob exclusivo "Ryko" (MVP) Sprite por mi, diseño de la carta por Victor(Ryko) 100% compatible con Kagerou/Oboro. Bio Lab F5 (lhz_dun5) Nueva Interfaz de Quests contiene traducciones hechas por mi, después continuare con el sistema de navegación. Skin COMPLETAMENTE EN ESPAÑOL! hecha por mi, tomando idea de un skin que vi en Akay RO. Reparaciones Hexadecimales  Party Chat es azul enves de naranja Paletas universales (543)



    Hace un rato hice un cliente para un server que iba a abrir.. pero es tan estable.. almenos es de los mas estables.. que decidí compartirlo xP esta desencriptado.. lee el data folder y el EXE esta configurado para leer DATA.INI

    Version 2 (reparada)

    pueden modificar el titulo con PSPad o algun otro programa hexadecimal.. buscando la palabra Ragnarok Network es la mas cercana, notaran el titulo.. los customs enves de ir en los archivos de texto basicos van ahora en el folder System/ItemInfo.lub .. todo lo necesario va incluido ahí para que funcione, lo único necesario es extraer el archivo clientinfo.xml y modificar la IP a tu IP Local.. 127.0.0.1

    Teniendo Hercules actualizad0 de su repositorio
    https://github.com/HerculesWS/Hercules
    lo configuramos para el cliente 2012 06 18

    "src/common/mmo.h" configuren así:
     
    #ifndef PACKETVER   #define PACKETVER 20120618 "ocupar este Packet en el caso de que salga algun tipo de error con el predeterminado"
    después editar en "src/map/packets.h" buscamos esta linea //2012-06-18aRagexeRE
    /*2012-06-18aRagexeRE*/#if PACKETVER >= 20120618 packet(0x01FD,15,clif->pRepairitem,2); packet(0x023B,26,clif->pFriendslistadd,2); packet(0x0361,5,clif->pHommenu,2:4); packet(0x0819,36,clif->pStoragepassword,0); packet(0x0288,-1,clif->pCashshopbuy,4:8); packet(0x0802,26,clif->pPartyinvite2,2); packet(0x022D,19,clif->pWanttoconnection,2:6:10:14:18); packet(0x0369,7,clif->pActionrequest,2:6); packet(0x083C,10,clif->pUseskilltoid,2:4:6); packet(0x0439,8,clif->pUseitem,2:4); packet(0x0281,-1,clif->pItemlistwindowselected,2:4:8); packet(0x0815,-1,clif->pReqopenbuyingstore,2:4:8:9:89); packet(0x0817,2,clif->pReqclosebuyingstore,0); packet(0x0360,6,clif->pReqclickbuyingstore,2); packet(0x0940,-1,clif->pReqtradebuyingstore,2:4:8:12); packet(0x0811,-1,clif->pSearchstoreinfo,2:4:5:9:13:14:15); packet(0x0835,2,clif->pSearchstoreinfonextpage,0); packet(0x0838,12,clif->pSearchstoreinfolistitemclick,2:6:10); packet(0x0437,5,clif->pWalktoxy,2); packet(0x035F,6,clif->pTicksend,2); packet(0x0202,5,clif->pChangedir,2:4); packet(0x07E4,6,clif->pTakeitem,2); packet(0x0362,6,clif->pDropitem,2:4); packet(0x07EC,8,clif->pMovetokafra,2:4); packet(0x0364,8,clif->pMovefromkafra,2:4); packet(0x0438,10,clif->pUseskilltopos,2:4:6:8); packet(0x0366,90,clif->pUseskilltoposinfo,2:4:6:8:10); packet(0x096A,6,clif->pGetcharnamerequest,2); packet(0x0368,6,clif->pSolvecharname,2); packet(0x08E5,41,clif->pBookingregreq,2:4);/*Added to prevent disconnections*/ packet(0x08E6,4); packet(0x08E7,10,clif->pBookingsearchreq,2); packet(0x08E8,-1); packet(0x08E9,2,clif->pBookingdelreq,2); packet(0x08EA,4); packet(0x08EB,39,clif->pBookingupdatereq,2); packet(0x08EC,73); packet(0x08ED,43); packet(0x08EE,6); packet(0x08EF,6,clif->pBookingignorereq,2); packet(0x08F0,6); packet(0x08F1,6,clif->pBookingjoinpartyreq,2); packet(0x08F2,36); packet(0x08F3,-1); packet(0x08F4,6); packet(0x08F5,-1,clif->pBookingsummonmember,2:4); packet(0x08F6,22); packet(0x08F7,3); packet(0x08F8,7); packet(0x08F9,6); packet(0x08FA,6); packet(0x08FB,6,clif->pBookingcanceljoinparty,2); packet(0x0907,5,clif->pMoveitem,2:4); packet(0x0908,5); packet(0x08D7,28,clif->pDull,2:4); /*Added to prevent disconnections*/#endif  
    Después mejorare el Post y haré un cliente mas sencillo de utilizar yo tengo el derecho completo sobre ese instalador debido a que yo lo diseñe.
     
    Favor notificar si sale algún error al compilar ya que aun esta en desarrollo este material.

    SI TIENEN WINDOWS 7, Vista u Otro con problemas de permisos administrativos asegurense de unas cosas:
    1;Ejecutar como administrador
    2;No instalar en "Archivos de Programa"

     
    ::: [Mini FAQ] :::

    - ¿Que son las paletas universales?
    Como las paletas de la mayoría de los sprites son idénticas hay una edición hexadecimal en el cliente que permite compartir una sola paleta de color para todas las clases, reduciendo asi drasticamente el peso y tiempo de descompresión ademas de la fragmentacion de la data

    - ¿Como añado customs?
    En el archivo llamado ItemInfo.lub dentro del folder System, aun asi tienes que configurar los ViewID's

    - ¿Porque el cliente y el post es tan feo?
    Mi gato lo programo, díselo a el.

  11. Upvote
    jaBote reacted to Ind in 3rd Class Effects : Update   
    3rd Class Effects : Update

    Hello~! What?!
    This is to let you know about a very prominent bug that Hercules just squashed. The prominent bug
    As brought up by Beret here, when a character possessing warlock spheres comes into another character's sight, the spheres are not displayed -- unless you were in the character's range when he created them. This bug was not exclusive to warlock spheres' effect: Camouflage Duplelight Oratio Freezing Venom Impress Hallucination Walk Rolling Cutter Banding Crystalize Deep Sleep Cursed Circle Blood Sucker Shadow Form Manhole This bug has now been fixed, as of today the visual effects of all the skills above should be working as they should.
    Special Thanks to
    Beret, for bringing this issue to light Yommy, for making it possible for me to understand how officials do this Rytech, for the list of statuses that use this came from his 3CeAM Link~u!
    Commit
  12. Upvote
    jaBote got a reaction from Enko in ¿Qué os parecen mis guías?   
    ¡Hola de nuevo! Tras tras las pocas guías que llevo hechas (3 estos instantes, 4 si contamos la traducción al inglés de mi guía sobre pull requests) es hora de fijar la mirada en el público que leerá mis guías (vosotros) y preguntaros qué os parecen. Me gustaría obtener algo de realimentación para esto.
     
    No voy a publicar una encuesta para esto, porque realmente me parece una forma muy poco personal, parca en razones y en ocasiones poco fiel a la realidad: prefiero que se comente qué es lo que se ve bien o no en mis guías. No es necesario que escribáis una biblia, sino que comentéis lo que veáis apropiado.
     
    Por ejemplo, ahora mismo se me ocurren: ¿qué os parecen en general? ¿Están bien documentadas (imágenes, texto, ...)? ¿Las explicaciones son claras o difíciles de seguir? ¿Debo centrarme más en su concisión, en la abundancia de información o así está bien? ¿Qué detalles veis que faltan o sobran? Etcétera.
     
    Muchas gracias por vuestra opinión: mi intención es ser lo más útil posible en cuanto a mi papel en este proyecto respecta.
     
    Un saludo.
  13. Upvote
    jaBote got a reaction from NiklPar in Making Pull Requests on Hercules   
    Frequently Asked Questions (FAQs):



    I thought splitting this section from the main post would be beneficial because it's easier to write it and to look in it in case you need an answer and I have it down there.



    I hope there are almost no questions because I think my guide is clear enough, though it's normal there will be some questions out here since my explanations aren't perfect. That's why this dedicated section exists.



    Questions will be marked with a big Q and answers will be marked with a A. Both will be big enough to easily tell them apart.



    Question list:
    Questions & Answers:



    Q: I get a warning message while trying to make a Pull Request on GitHub. What happens?

    A: You can't make a pull request if you get a warning message from GitHub. Those messages usually provide enough information to tell you what to do. Here are all warnings I've received from GitHub to date and its possible solutions – just remember to change HerculesUser to your GitHub username–:
    Oops! HerculesWS:master is already up-to-date with HerculesUser:master Try a different branch?You haven't pushed any changes to your remote repository or the changes you've pushed make it identical to the original Hercules repository. You can only make a pull request if your repository is not exactly the same as the original Hercules'. Oops! There's already a pull request for HerculesUser:master Try a different branch or view the pull request?You already have an active pull request on Hercules and you have to wait until it's approved or rejected. If you want to add changes to your pull request, you can push more changes to your repository if you want: they'll automatically be added to your active pull request. Q: How do I update my fork to Hercules' last version?

    A: This is quite simple but not as easy as updating an official Hercules repository as you can't just pull as you did when updating the original Hercules repository – if you try to pull on your fork you're pulling from your fork's repository, not Hercules' –. Doing this task also depends on your OS:
    On Windows: (I don't deem necessary to add a how-to picture for this)Right-click your Hercules fork folder and select Fetch... option from the TortoiseGit submenu. A new window will pop up. Select Arbitrary URL option and place original Hercules repository URL there (I mean this one: https://github.com/HerculesWS/Hercules.git). Then click OK (unless you want to change any of the available options, which is unfrequent) for making the fetch update to start. Another window will be opened and your fork will be updated to Hercules last revision. Close it once you're done. On Unix: You just have to run this command (it's actually two commands joint on a single shell statement): git fetch upstream && git merge upstream/master Just remember that if you want these changes to also be on your GitHub repository, you'll have to push them. Otherwise they'll just be available on your local repository, as always.



    Q: I always get an error message whenever I try to push my changes even though I make sure I put correct access credentials. What happens?

    A: I've just experienced this error when I tried to push to the wrong repository (i.e. the original Hercules repository, to which I don't have access and you surely don't). Make sure you're trying to push to a repository on which you have permission for this. Ah! Also make sure you have an active Internet connection since you'll be using it!



    Q: I can't commit anything to my local repository. What happens?

    A: Chances are you're trying to make a commit without changing any file, and that's not possible for Git. Maybe you actually changed some files but forgot to save them?
  14. Upvote
    jaBote got a reaction from AnnieRuru in Making Pull Requests on Hercules   
    Do you remember the many advantages Git has against Subversion (SVN)? One of those many advantages is the fact that in Git, you can send pull requests in order to directly collaborate with the community, without even the need of being an official Hercules dev, and if you contribute enough you can surely become a dev if you want. Well then, this is an – as detailed as possible – guide on how to make them.
     
    First of all: What is a pull request? It's a way of telling the original devs of a (commonly open-sourced) project what changes you've made yourself on their project supposedly for the better, and kindly ask them (request) to merge it (pull). In short, it's a way of collaborating to a project without the need of being related at all to it. Obviously, your pull request may be rejected if it doesn't meet some requirements, but this is another story.
     
    Git does also offer its own tools for pull requests (more info), but they're incompatible with the ones GitHub has. Moreover, GitHub pull request tools are easier to use than Git's.
     
    What steps are required in order to do a pull request? In abstract, you'll have to:
    Sign up for a GitHub account, if you don't have it already. Fork Hercules project in GitHub, if you haven't done this already. Clone your previous fork to a local repository in your computer, if you haven't done this already. Work on your fork. Commit your changes to your local repository. Push the changes you've previously committed to your remote repository on GitHub. Make the aforementioned pull request to the Hercules official repository. Steps 3 and 5 have already been shown on the Obtaining Hercules guide by @Ind (Obtaining Hercules through Git on *insert OS here* and Troubleshooting sections). These two steps will be slightly reviewed, but expect a fully detailed how-to in the others.
     
    By the way, GitHub also has its own (generic) guides on how to fork a repo and then make a pull request, which also explain the toughest parts of this guide (though they're not so tough) and cover steps 2-6 (supposing you have a Git console). You're encouraged to go and read them if you want.
     
    Well, here we go with the guide!
     
    Step 1: Sign up for a GitHub account



    Step 2: Fork Hercules project in GitHub



    Steps 3 to 6: Local computer work



    Step 7: (Finally) submitting the pull request


     
    Congratulations! You have successfully made your first pull request on Hercules! This is a reason to be proud of yourself, isnt it?
  15. Upvote
    jaBote got a reaction from Senos in How to kill running sql?   
    from my cellphone:
    supposing you're running debian or similar:
     
    run: top
    look for the processes ID you want to kill. Press Q to exit top.
    run: kill -9 <process_id>
     
    Hope I helped
  16. Upvote
    jaBote got a reaction from Senos in GPL violation?   
    Well, Inkfish originally worked in Athena projects but this is the same as what happened to eAmod about a year ago.
     
    You can freely modify the emulator and charge whatever you want for it, but you can't re-release the software under more restrictive license the original software has. So as long as the GPL license is intact and he doesn't threat people without a "legal" copy of his software as eAmod owner did (under GPL licenses it's legally impossible to pirate a software) it's completely legal.
     
    But if any customer pays for the modification then decides to redistribute it for free, he's in the absolute right to do so.
  17. Upvote
    jaBote got a reaction from Easycore in Hacer Pull Requests en Hercules   
    ¡Vaya! Parece que hay gente deseosa de colaborar directamente con Hercules pero que no sabe cómo. Me parece estupendo. Además, a petición de los administradores, esta guía también tendrá una versión en inglés porque nuestros compañeros anglosajones así lo necesitan.

    ¿Recuerdan cuando en mi guía de cómo obtener Hercules les comenté que una gran ventaja de usar Git frente a usar Subversion (SVN) es que existe la posibilidad de participar de forma activa en la comunidad enviando pull requests? Pues aquí les traigo una guía detallada para que puedan hacer cuantos pull request quieran sin problema.

    Ante todo, ¿qué es un pull request? Se trata de un envío de un cambio o mejora de un determinado proyecto a los desarrolladores del mismo, junto a la petición (request) de tal forma que ellos mismos puedan determinar y valorar si es conveniente para el proyecto y "tirar" (pull) de dicho cambio para que aparezca en el repositorio, o simplemente declinar la petición.

    Git ofrece sus propias herramientas para hacer pull requests (más información), pero no serán estas herramientas las que usaremos (porque tampoco son compatibles), sino las que nos ofrece GitHub, que sirven para algo parecido pero es más visual y puede hacerse también desde cualquier plataforma.

    ¿Qué pasos hay que realizar para hacer un pull request a Hercules? Pues, a grandes rasgos, son los siguientes:
    [*]Registrar un usuario en GitHub, si aún no tienes. [*]Hacer un fork (una "bifurcación" en la línea de desarrollo: generalmente se hacen para contribuir al proyecto original o decidir tomarlo como base para un futuro proyecto) de Hercules en GitHub, si aún no la hiciste. [*]Clonar el nuevo repositorio en nuestra máquina, si aún no lo tienes (no sirve trabajar en el repositorio original de HerculesWS). [*]Trabajar en el nuevo repositorio local. [*]"Enviar" (Commit) los cambios a nuestro repositorio local en el fork. [*]"Empujar" (Push) los cambios recién enviados a nuestro repositorio remoto en GitHub. [*]Hacer el propio pull request al repositorio original de Hercules, desde la web de GitHub.

    Los pasos 3 y 5 se han visto en mi anterior guía sobre la obtención de Hercules (el paso 5 en la sección Preguntas Frecuentes), y el resto de pasos son suficientemente sencillos aunque se detallará exhaustivamente su realización. Se juntarán algunos apartados de la guía bajo un mismo epígrafe (3, 4, 5 y 6) para trabajar más cómodamente.

    GitHub también provee sus propias guías paso a paso (en inglés) para casos generales sobre cómo hacer un fork y posteriormente hacer un pull request, aunque en la presente guía nos centraremos en hacer todo paso a paso para poder hacer pull requests a Hercules.

    Para esta guía se usará la interfaz de TortoiseGit en inglés. Ya comenté en mi anterior guía lo poco adecuada que era la traducción de la interfaz al español, y además podré reutilizar las imágenes para la traducción de la presente guía al idioma anglosajón.

    Bueno, comencemos ya con la propia guía. He decidido cubrir con spoilers cada paso de la guía, dado que además de su explicación vienen con sus buenas imágenes informativas.

    Paso 1: Registrar un usuario en GitHub



    Paso 2: Hacer un fork de Hercules



    Pasos 3 a 6: Trabajo en la máquina local



    Paso 7: Hacer (por fin) el pull request


     
     
    Y ya está. No es tan complicado todo, ¿verdad? Esta pregunta parece irónica, pero es un proceso realmente simple. Una vez hayas hecho un par de pull requests verás que es un proceso increíblemente simple.
  18. Upvote
    jaBote got a reaction from Senos in Hacer Pull Requests en Hercules   
    Preguntas frecuentes:

    He colocado la sección en otro post para facilitar su redacción y búsqueda.

    Aunque espero que no haya prácticamente ninguna pregunta en esta sección porque me gustaría creer que he sido suficientemente claro, es obvio que las cosas no son así y es normal "atascarse" en alguna parte de la guía, inauguro esta sección. Como es usual en estas secciones de Preguntas y Respuestas, las preguntas las marcaré con una P y las respuestas las marcaré con una R, ambas bien grandes para que se vean en condiciones.

    Lista de preguntas:
     
    Preguntas y respuestas:

    P: No puedo hacer Pull Request en Github y me sale un mensaje de advertencia. ¿Qué ocurre?
    R: Vaya. Estos mensajes de advertencia siempre salen por algún motivo. No puedes hacer pull request mientras alguna advertencia esté activa. No soy un maestro en estos problemas, aunque generalmente los mensajes dan suficiente información en inglés. Estos son los mensajes de advertencia que me han llegado a salir a mí y las posibles soluciones de que dispongo. Recordad que en cualquier caso deberéis cambiar HerculesUser por vuestro nombre de usuario:
    [*] Oops! HerculesWS:master  is already up-to-date with HerculesUser:master  Try a different branch? [*]Has intentado hacer pull request sin haber hecho algún cambio frente al repositorio original en tu fork. Asegúrate de haber hecho push (con al menos algo de contenido) correctamente a tu repositorio en GitHub.
    [*]Oops! There's already a pull request for HerculesUser:master Try a different branch or view the pull request?
    [*]Ya tienes un pull request activo en el proyecto al que intentas contribuir. Espera a que sea aceptado o rechazado, o si quieres añadir más cosas mientras dicho pull request está activo siempre puedes cancelar la petición, añadir tu nuevo trabajo y volver a hacer pull request.



    P: ¿Cómo actualizo mi fork a la última versión de Hercules?
    R: Es bastante sencillo, aunque menos directo que actualizar una versión de Hercules directamente obtenida del repositorio original. Como siempre, para esto es necesario hacer distinción de cómo se haría en cada sistema operativo:
    Para Windows: (No veo necesaria una imagen a menos que mucha gente se atasque aquí)Haz click derecho en la carpeta de tu fork de Hercules y selecciona la opción Fetch... (Recuperar... en la interfaz española) dentro del menú desplegable que aparece al mantener el puntero del ratón unos instantes sobre la opción TortoiseGit. Se abrirá una nueva ventana. En esa ventana debemos escoger la opción que nos permite indicar una URL arbitraria (Arbitrary URL) y en el campo de texto asociado, colocar la URL del repositorio original de Hercules, o sea, esta: https://github.com/HerculesWS/Hercules.git. Posteriormente hacemos click en OK (a menos que quieras cambiar alguna de las opciones disponibles, que no es frecuente) para que empiece la actualización. Se abrirá una ventana en la que empezará la actualización de tu fork. Ciérrala una vez hayas acabado.
    [*]Para sistemas Unix: Como siempre, se trata simplemente de ejecutar un único comando (aunque esta vez son dos comandos unidos en una misma orden de shell):
    git fetch upstream && git merge upstream/master  


    Simplemente recuerda que para que esta actualización también se refleje en tu repositorio hospedado en GitHub has de hacer push. En caso contrario solo se reflejará en el repositorio local.
     
    P: Al intentar hacer push me sale un error aunque ponga las credenciales correctas. ¿Qué ocurre?
    R: A mí hasta ahora solo me ha ocurrido este error cuando por accidente intenté hacer push en la carpeta que tenía del repositorio original de Hercules, sobre el que no tengo permisos de escritura. Asegúrate de que estás haciendo push al repositorio de tu fork de Hercules y no al original: si no jamás lograrás hacerlo con éxito.
     
    ¡Ah, por cierto! Aunque esto es de sentido común, para hacer push y actualizar tu repositorio hospedado en GitHub es obligatorio disponer de conexión a Internet en el momento en que se intente efectuar.
     
    P: No puedo hacer commit a mi repositorio local. ¿Qué ocurre?
    R: Lo más seguro es que intentes hacer un commit a tu repositorio local sin haber modificado ningún archivo. No es posible hacer commits vacíos, así que el fallo estará por alguna otra parte. ¿Quizá modificaste los archivos a los que fueras a hacer commit pero se te olvidó guardarlos?
     
  19. Upvote
    jaBote got a reaction from quesoph in Making Pull Requests on Hercules   
    Do you remember the many advantages Git has against Subversion (SVN)? One of those many advantages is the fact that in Git, you can send pull requests in order to directly collaborate with the community, without even the need of being an official Hercules dev, and if you contribute enough you can surely become a dev if you want. Well then, this is an – as detailed as possible – guide on how to make them.
     
    First of all: What is a pull request? It's a way of telling the original devs of a (commonly open-sourced) project what changes you've made yourself on their project supposedly for the better, and kindly ask them (request) to merge it (pull). In short, it's a way of collaborating to a project without the need of being related at all to it. Obviously, your pull request may be rejected if it doesn't meet some requirements, but this is another story.
     
    Git does also offer its own tools for pull requests (more info), but they're incompatible with the ones GitHub has. Moreover, GitHub pull request tools are easier to use than Git's.
     
    What steps are required in order to do a pull request? In abstract, you'll have to:
    Sign up for a GitHub account, if you don't have it already. Fork Hercules project in GitHub, if you haven't done this already. Clone your previous fork to a local repository in your computer, if you haven't done this already. Work on your fork. Commit your changes to your local repository. Push the changes you've previously committed to your remote repository on GitHub. Make the aforementioned pull request to the Hercules official repository. Steps 3 and 5 have already been shown on the Obtaining Hercules guide by @Ind (Obtaining Hercules through Git on *insert OS here* and Troubleshooting sections). These two steps will be slightly reviewed, but expect a fully detailed how-to in the others.
     
    By the way, GitHub also has its own (generic) guides on how to fork a repo and then make a pull request, which also explain the toughest parts of this guide (though they're not so tough) and cover steps 2-6 (supposing you have a Git console). You're encouraged to go and read them if you want.
     
    Well, here we go with the guide!
     
    Step 1: Sign up for a GitHub account



    Step 2: Fork Hercules project in GitHub



    Steps 3 to 6: Local computer work



    Step 7: (Finally) submitting the pull request


     
    Congratulations! You have successfully made your first pull request on Hercules! This is a reason to be proud of yourself, isnt it?
  20. Upvote
    jaBote got a reaction from Yommy in Making Pull Requests on Hercules   
    Frequently Asked Questions (FAQs):



    I thought splitting this section from the main post would be beneficial because it's easier to write it and to look in it in case you need an answer and I have it down there.



    I hope there are almost no questions because I think my guide is clear enough, though it's normal there will be some questions out here since my explanations aren't perfect. That's why this dedicated section exists.



    Questions will be marked with a big Q and answers will be marked with a A. Both will be big enough to easily tell them apart.



    Question list:
    Questions & Answers:



    Q: I get a warning message while trying to make a Pull Request on GitHub. What happens?

    A: You can't make a pull request if you get a warning message from GitHub. Those messages usually provide enough information to tell you what to do. Here are all warnings I've received from GitHub to date and its possible solutions – just remember to change HerculesUser to your GitHub username–:
    Oops! HerculesWS:master is already up-to-date with HerculesUser:master Try a different branch?You haven't pushed any changes to your remote repository or the changes you've pushed make it identical to the original Hercules repository. You can only make a pull request if your repository is not exactly the same as the original Hercules'. Oops! There's already a pull request for HerculesUser:master Try a different branch or view the pull request?You already have an active pull request on Hercules and you have to wait until it's approved or rejected. If you want to add changes to your pull request, you can push more changes to your repository if you want: they'll automatically be added to your active pull request. Q: How do I update my fork to Hercules' last version?

    A: This is quite simple but not as easy as updating an official Hercules repository as you can't just pull as you did when updating the original Hercules repository – if you try to pull on your fork you're pulling from your fork's repository, not Hercules' –. Doing this task also depends on your OS:
    On Windows: (I don't deem necessary to add a how-to picture for this)Right-click your Hercules fork folder and select Fetch... option from the TortoiseGit submenu. A new window will pop up. Select Arbitrary URL option and place original Hercules repository URL there (I mean this one: https://github.com/HerculesWS/Hercules.git). Then click OK (unless you want to change any of the available options, which is unfrequent) for making the fetch update to start. Another window will be opened and your fork will be updated to Hercules last revision. Close it once you're done. On Unix: You just have to run this command (it's actually two commands joint on a single shell statement): git fetch upstream && git merge upstream/master Just remember that if you want these changes to also be on your GitHub repository, you'll have to push them. Otherwise they'll just be available on your local repository, as always.



    Q: I always get an error message whenever I try to push my changes even though I make sure I put correct access credentials. What happens?

    A: I've just experienced this error when I tried to push to the wrong repository (i.e. the original Hercules repository, to which I don't have access and you surely don't). Make sure you're trying to push to a repository on which you have permission for this. Ah! Also make sure you have an active Internet connection since you'll be using it!



    Q: I can't commit anything to my local repository. What happens?

    A: Chances are you're trying to make a commit without changing any file, and that's not possible for Git. Maybe you actually changed some files but forgot to save them?
  21. Upvote
    jaBote got a reaction from Yommy in Making Pull Requests on Hercules   
    Do you remember the many advantages Git has against Subversion (SVN)? One of those many advantages is the fact that in Git, you can send pull requests in order to directly collaborate with the community, without even the need of being an official Hercules dev, and if you contribute enough you can surely become a dev if you want. Well then, this is an – as detailed as possible – guide on how to make them.
     
    First of all: What is a pull request? It's a way of telling the original devs of a (commonly open-sourced) project what changes you've made yourself on their project supposedly for the better, and kindly ask them (request) to merge it (pull). In short, it's a way of collaborating to a project without the need of being related at all to it. Obviously, your pull request may be rejected if it doesn't meet some requirements, but this is another story.
     
    Git does also offer its own tools for pull requests (more info), but they're incompatible with the ones GitHub has. Moreover, GitHub pull request tools are easier to use than Git's.
     
    What steps are required in order to do a pull request? In abstract, you'll have to:
    Sign up for a GitHub account, if you don't have it already. Fork Hercules project in GitHub, if you haven't done this already. Clone your previous fork to a local repository in your computer, if you haven't done this already. Work on your fork. Commit your changes to your local repository. Push the changes you've previously committed to your remote repository on GitHub. Make the aforementioned pull request to the Hercules official repository. Steps 3 and 5 have already been shown on the Obtaining Hercules guide by @Ind (Obtaining Hercules through Git on *insert OS here* and Troubleshooting sections). These two steps will be slightly reviewed, but expect a fully detailed how-to in the others.
     
    By the way, GitHub also has its own (generic) guides on how to fork a repo and then make a pull request, which also explain the toughest parts of this guide (though they're not so tough) and cover steps 2-6 (supposing you have a Git console). You're encouraged to go and read them if you want.
     
    Well, here we go with the guide!
     
    Step 1: Sign up for a GitHub account



    Step 2: Fork Hercules project in GitHub



    Steps 3 to 6: Local computer work



    Step 7: (Finally) submitting the pull request


     
    Congratulations! You have successfully made your first pull request on Hercules! This is a reason to be proud of yourself, isnt it?
  22. Upvote
    jaBote got a reaction from Senos in Making Pull Requests on Hercules   
    Frequently Asked Questions (FAQs):



    I thought splitting this section from the main post would be beneficial because it's easier to write it and to look in it in case you need an answer and I have it down there.



    I hope there are almost no questions because I think my guide is clear enough, though it's normal there will be some questions out here since my explanations aren't perfect. That's why this dedicated section exists.



    Questions will be marked with a big Q and answers will be marked with a A. Both will be big enough to easily tell them apart.



    Question list:
    Questions & Answers:



    Q: I get a warning message while trying to make a Pull Request on GitHub. What happens?

    A: You can't make a pull request if you get a warning message from GitHub. Those messages usually provide enough information to tell you what to do. Here are all warnings I've received from GitHub to date and its possible solutions – just remember to change HerculesUser to your GitHub username–:
    Oops! HerculesWS:master is already up-to-date with HerculesUser:master Try a different branch?You haven't pushed any changes to your remote repository or the changes you've pushed make it identical to the original Hercules repository. You can only make a pull request if your repository is not exactly the same as the original Hercules'. Oops! There's already a pull request for HerculesUser:master Try a different branch or view the pull request?You already have an active pull request on Hercules and you have to wait until it's approved or rejected. If you want to add changes to your pull request, you can push more changes to your repository if you want: they'll automatically be added to your active pull request. Q: How do I update my fork to Hercules' last version?

    A: This is quite simple but not as easy as updating an official Hercules repository as you can't just pull as you did when updating the original Hercules repository – if you try to pull on your fork you're pulling from your fork's repository, not Hercules' –. Doing this task also depends on your OS:
    On Windows: (I don't deem necessary to add a how-to picture for this)Right-click your Hercules fork folder and select Fetch... option from the TortoiseGit submenu. A new window will pop up. Select Arbitrary URL option and place original Hercules repository URL there (I mean this one: https://github.com/HerculesWS/Hercules.git). Then click OK (unless you want to change any of the available options, which is unfrequent) for making the fetch update to start. Another window will be opened and your fork will be updated to Hercules last revision. Close it once you're done. On Unix: You just have to run this command (it's actually two commands joint on a single shell statement): git fetch upstream && git merge upstream/master Just remember that if you want these changes to also be on your GitHub repository, you'll have to push them. Otherwise they'll just be available on your local repository, as always.



    Q: I always get an error message whenever I try to push my changes even though I make sure I put correct access credentials. What happens?

    A: I've just experienced this error when I tried to push to the wrong repository (i.e. the original Hercules repository, to which I don't have access and you surely don't). Make sure you're trying to push to a repository on which you have permission for this. Ah! Also make sure you have an active Internet connection since you'll be using it!



    Q: I can't commit anything to my local repository. What happens?

    A: Chances are you're trying to make a commit without changing any file, and that's not possible for Git. Maybe you actually changed some files but forgot to save them?
  23. Upvote
    jaBote got a reaction from Senos in Making Pull Requests on Hercules   
    Do you remember the many advantages Git has against Subversion (SVN)? One of those many advantages is the fact that in Git, you can send pull requests in order to directly collaborate with the community, without even the need of being an official Hercules dev, and if you contribute enough you can surely become a dev if you want. Well then, this is an – as detailed as possible – guide on how to make them.
     
    First of all: What is a pull request? It's a way of telling the original devs of a (commonly open-sourced) project what changes you've made yourself on their project supposedly for the better, and kindly ask them (request) to merge it (pull). In short, it's a way of collaborating to a project without the need of being related at all to it. Obviously, your pull request may be rejected if it doesn't meet some requirements, but this is another story.
     
    Git does also offer its own tools for pull requests (more info), but they're incompatible with the ones GitHub has. Moreover, GitHub pull request tools are easier to use than Git's.
     
    What steps are required in order to do a pull request? In abstract, you'll have to:
    Sign up for a GitHub account, if you don't have it already. Fork Hercules project in GitHub, if you haven't done this already. Clone your previous fork to a local repository in your computer, if you haven't done this already. Work on your fork. Commit your changes to your local repository. Push the changes you've previously committed to your remote repository on GitHub. Make the aforementioned pull request to the Hercules official repository. Steps 3 and 5 have already been shown on the Obtaining Hercules guide by @Ind (Obtaining Hercules through Git on *insert OS here* and Troubleshooting sections). These two steps will be slightly reviewed, but expect a fully detailed how-to in the others.
     
    By the way, GitHub also has its own (generic) guides on how to fork a repo and then make a pull request, which also explain the toughest parts of this guide (though they're not so tough) and cover steps 2-6 (supposing you have a Git console). You're encouraged to go and read them if you want.
     
    Well, here we go with the guide!
     
    Step 1: Sign up for a GitHub account



    Step 2: Fork Hercules project in GitHub



    Steps 3 to 6: Local computer work



    Step 7: (Finally) submitting the pull request


     
    Congratulations! You have successfully made your first pull request on Hercules! This is a reason to be proud of yourself, isnt it?
  24. Upvote
    jaBote got a reaction from Ind in Making Pull Requests on Hercules   
    Frequently Asked Questions (FAQs):



    I thought splitting this section from the main post would be beneficial because it's easier to write it and to look in it in case you need an answer and I have it down there.



    I hope there are almost no questions because I think my guide is clear enough, though it's normal there will be some questions out here since my explanations aren't perfect. That's why this dedicated section exists.



    Questions will be marked with a big Q and answers will be marked with a A. Both will be big enough to easily tell them apart.



    Question list:
    Questions & Answers:



    Q: I get a warning message while trying to make a Pull Request on GitHub. What happens?

    A: You can't make a pull request if you get a warning message from GitHub. Those messages usually provide enough information to tell you what to do. Here are all warnings I've received from GitHub to date and its possible solutions – just remember to change HerculesUser to your GitHub username–:
    Oops! HerculesWS:master is already up-to-date with HerculesUser:master Try a different branch?You haven't pushed any changes to your remote repository or the changes you've pushed make it identical to the original Hercules repository. You can only make a pull request if your repository is not exactly the same as the original Hercules'. Oops! There's already a pull request for HerculesUser:master Try a different branch or view the pull request?You already have an active pull request on Hercules and you have to wait until it's approved or rejected. If you want to add changes to your pull request, you can push more changes to your repository if you want: they'll automatically be added to your active pull request. Q: How do I update my fork to Hercules' last version?

    A: This is quite simple but not as easy as updating an official Hercules repository as you can't just pull as you did when updating the original Hercules repository – if you try to pull on your fork you're pulling from your fork's repository, not Hercules' –. Doing this task also depends on your OS:
    On Windows: (I don't deem necessary to add a how-to picture for this)Right-click your Hercules fork folder and select Fetch... option from the TortoiseGit submenu. A new window will pop up. Select Arbitrary URL option and place original Hercules repository URL there (I mean this one: https://github.com/HerculesWS/Hercules.git). Then click OK (unless you want to change any of the available options, which is unfrequent) for making the fetch update to start. Another window will be opened and your fork will be updated to Hercules last revision. Close it once you're done. On Unix: You just have to run this command (it's actually two commands joint on a single shell statement): git fetch upstream && git merge upstream/master Just remember that if you want these changes to also be on your GitHub repository, you'll have to push them. Otherwise they'll just be available on your local repository, as always.



    Q: I always get an error message whenever I try to push my changes even though I make sure I put correct access credentials. What happens?

    A: I've just experienced this error when I tried to push to the wrong repository (i.e. the original Hercules repository, to which I don't have access and you surely don't). Make sure you're trying to push to a repository on which you have permission for this. Ah! Also make sure you have an active Internet connection since you'll be using it!



    Q: I can't commit anything to my local repository. What happens?

    A: Chances are you're trying to make a commit without changing any file, and that's not possible for Git. Maybe you actually changed some files but forgot to save them?
  25. Upvote
    jaBote got a reaction from Jezu in Making Pull Requests on Hercules   
    Do you remember the many advantages Git has against Subversion (SVN)? One of those many advantages is the fact that in Git, you can send pull requests in order to directly collaborate with the community, without even the need of being an official Hercules dev, and if you contribute enough you can surely become a dev if you want. Well then, this is an – as detailed as possible – guide on how to make them.
     
    First of all: What is a pull request? It's a way of telling the original devs of a (commonly open-sourced) project what changes you've made yourself on their project supposedly for the better, and kindly ask them (request) to merge it (pull). In short, it's a way of collaborating to a project without the need of being related at all to it. Obviously, your pull request may be rejected if it doesn't meet some requirements, but this is another story.
     
    Git does also offer its own tools for pull requests (more info), but they're incompatible with the ones GitHub has. Moreover, GitHub pull request tools are easier to use than Git's.
     
    What steps are required in order to do a pull request? In abstract, you'll have to:
    Sign up for a GitHub account, if you don't have it already. Fork Hercules project in GitHub, if you haven't done this already. Clone your previous fork to a local repository in your computer, if you haven't done this already. Work on your fork. Commit your changes to your local repository. Push the changes you've previously committed to your remote repository on GitHub. Make the aforementioned pull request to the Hercules official repository. Steps 3 and 5 have already been shown on the Obtaining Hercules guide by @Ind (Obtaining Hercules through Git on *insert OS here* and Troubleshooting sections). These two steps will be slightly reviewed, but expect a fully detailed how-to in the others.
     
    By the way, GitHub also has its own (generic) guides on how to fork a repo and then make a pull request, which also explain the toughest parts of this guide (though they're not so tough) and cover steps 2-6 (supposing you have a Git console). You're encouraged to go and read them if you want.
     
    Well, here we go with the guide!
     
    Step 1: Sign up for a GitHub account



    Step 2: Fork Hercules project in GitHub



    Steps 3 to 6: Local computer work



    Step 7: (Finally) submitting the pull request


     
    Congratulations! You have successfully made your first pull request on Hercules! This is a reason to be proud of yourself, isnt it?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.