Jump to content

jaBote

Community Contributors
  • Content Count

    2037
  • Joined

  • Last visited

  • Days Won

    43

Reputation Activity

  1. Upvote
    jaBote reacted to Waken in Data, cliente, exe...   
    Hey, quizás llego tarde... aún así ten lo dejo por aquí.

    Todos los clientes: http://nemo.herc.ws/clients/
    Data Actualizada tanto para Pre como Renewal: https://github.com/llchrisll/ROenglishRE
     
  2. Like
    jaBote got a reaction from simplexjay2 in double drop on random mobs   
    I'm done with it, but I haven't tested.
     
    Would like to release it, that's the reason of doing the script in a more general and configurable way than what you just asked.
     
    Upaste mirror: http://upaste.me/fb7712684462cbaf3
     
    //===== Hercules Script =======================================================//= Multiple droprate on mob elements from a set (default set: elements).//===== By: ===================================================================//= jaBote//===== Current Version: ======================================================//= 0.9.0 alpha//===== Changelog =============================================================//= 0.9.0 Initial version [jaBote]//===== Description: ==========================================================//= Implements multiple drop rates on mob sets that change each week.//===== Warning: ==============================================================//= -> addmonsterdrop/delmonsterdrop script commands don't work well with mobs//= that drop the same item more than once.//= -> Doesn't work well with @reloadscript and/or server restarts (it will//= reassign a new set).//===== Additional information: ===============================================//= Configurations are located from line 22 (OnInit label).//=============================================================================- script element_drops -1,{OnInit: // Configurations START. // Add in mob IDs on the place of the numbers setarray .set_0[0], 1001, 1002, 1004, 1005, 1007; // Neutral setarray .set_1[0], 1001, 1002, 1004, 1005, 1007; // Water setarray .set_2[0], 1001, 1002, 1004, 1005, 1007; // Earth setarray .set_3[0], 1001, 1002, 1004, 1005, 1007; // Fire setarray .set_4[0], 1001, 1002, 1004, 1005, 1007; // Wind setarray .set_5[0], 1001, 1002, 1004, 1005, 1007; // Poison setarray .set_6[0], 1001, 1002, 1004, 1005, 1007; // Holy setarray .set_7[0], 1001, 1002, 1004, 1005, 1007; // Shadow setarray .set_8[0], 1001, 1002, 1004, 1005, 1007; // Ghost setarray .set_9[0], 1001, 1002, 1004, 1005, 1007; // Undead // Set to the name of the type of each set of $@set_X // BEWARE! Number of set of this array MUST be the same than the total // amount of sets (which is quite obvious). This is VERY IMPORTANT. setarray .names$[0], "Neutral", "Water", "Earth", "Fire", "Wind", "Poison", "Holy", "Shadow", "Ghost", "Undead"; // Set to the multiplication rate of drops (should be >= 1) // Examples: 100 = x1 (useless); 200 = x2; 50 = x0.5 // Based on final drop rates after battle conf calculations. .multiplicator = 200; // Force change of element each week? (1 = Yes; 0 = No) .force_change = 1; // Text message. You can change or translate it if you want, but be careful // not to touch the %s since you'll screw the dynamic formatting .announce_format$ = "The element %s has been doubled for this week."; // Atcommand name you want to use for keeping your users informed .atcommand$ = "ddw"; // Configurations END. Don't touch unless you know what you're doing. // Bind an atcommand bindatcmd .atcommand$,strnpcinfo(3)+"::OnCommand"; // Get the amount of sets and use an impossible set .amount = getarraysize(.names$); .set = -1; // Let it fall through the OnMon0000: label to assign first set on server // startup (or reloadscript)OnMon0000: .@old_set = .set; // Force the change of set if required if (.force_change) { do { .set = rand(.amount); } while (.set == .@old_set); } else { .set = rand(.amount); } // Restore old drops and assign new ones... if set hasn't changed if (.@old_set != .set) { freeloop(1); // We could be needing it // Restoring old sets, just if there was an old set if (.@old_set >= 0) { .@old_set_size = getarraysize(getd( ".set_" + .@old_set)); for (.@i = 0; .@i < .@old_set_size; .@i++) { // This is pretty ugly, but there's no other mean to do this. .@mobid = getd( ".set_" + .@old_set + "[" + .@i + "]" ); .@drop_count = getd(".mobdrop_count_[" + .@i + "]"); for (.@j = 0; .@j <= .@drop_count; .@j++) { // We only have to restore previously saved originals .@drop_item = getd(".mobdrop_item_" + .@i + "[" + .@j + "]"); .@drop_rate = getd(".mobdrop_rate_" + .@i + "[" + .@j + "]"); // This updates monster drop back to original state addmonsterdrop(.@mobid, .@drop_item, .@drop_rate); } } } // Applying multiplicator to new set for (.@i = 0; .@i < getarraysize( getd( ".set_" + .set ) ); .@i++) { // Get original mob drops .@mobid = getd( ".set_" + .set + "[" + .@i + "]" ); getmobdrops(.@mobid); setd ".mobdrop_count_[" + .@i + "]", $@MobDrop_count; // We'll need it for (.@j = 0; .@j <= $@MobDrop_count; .@j++) { // We only have to save originals setd ".mobdrop_item_" + .@i + "[" + .@j + "]", $@MobDrop_item[.@i]; setd ".mobdrop_rate_" + .@i + "[" + .@j + "]", $@MobDrop_rate[.@i]; // Calculate new rate. If it gives a value out of bounds, // addmonsterdrop will then take care of capping it inbounds // along with a warning we can safely ignore. .@new_rate = ($@MobDrop_rate[.@i] * .multiplicator) / 100; // This updates monster drop item if the mob already drops it addmonsterdrop(.@mobid, $@MobDrop_item[.@i], .@new_rate); } } freeloop(0); } // Announce new set for everyone and finish. .@announce_text$ = sprintf(.announce_format$, .names$[.set]); announce .@announce_text$, bc_all|bc_blue; end;OnCommand: // Announce set just for yourself and finish. .@announce_text$ = sprintf(.announce_format$, .names$[.set]); announce .@announce_text$, bc_self|bc_blue; end;} Please test it and point any bugs or errors you can find on it.
     
    P.S.: I've made an effort to make it extra readable so that anybody could modify it if they wanted.
  3. Upvote
    jaBote got a reaction from Zopokx in Hercules vs rAthena   
    It depends on what you want. Keep in mind that if you ask this here and in rAthena, you'll get here replies that say "Hercules is better" and in rAthena forums you'll be told that "rAthena is better". Correct reply is "Hercules is better in some ways, rAthena is better in some other ways".
     
    We don't get any commission or whatever based on users, (unlike rAthena we don't even place adverts on our pages), but it's an administrator preference.
     
    Here in Hercules we have the fastest and most optimized Ragnarok Online emulator to the moment and there's no possible argument to this: you can run the map server on 70 MB RAM, while rAthena consumes around 200 MB on an idle state. Anyways, this varies on the amount of maps and NPCs you load on your server, and in the amount of users you have. It's also a fact that Hercules consumes much less processing time than rAthena, but I'm not aware of how much. This also means Hercules boots faster than rAthena and has some caching system for even faster boot at the cost of some disk space. Note that these measures also vary depending on the OS you're using
     
    Hercules has some features that rAthena doesn't, and vice versa. For example we have an anti WPE security system (depends on client version) and some unique features (some of them were also merged in rAthena). The same happens on rAthena side, but I'm not well informed on that.
     
    Emulator stability is comparable, but since in Hercules we introduce and make more features it's quite obvious we are a bit riskier on that and may crash a bit more. Anyways, our bug fixing is way faster than rAthena. We're also comparable in emulator support, too, but I believe we've more answered topics in relation to our total amount that rAthena.
     
    The biggest flaw I can see out there is on the scripting and db development side, since rAthena is more active than us on that side (in fact, we seriously lack on them). Anyways, you can generally import all of them here with very little to no effort, most cases it's just a copy and paste issue and they'll work. We're also lifting some IMPORTANT scripting limitations at the moment and have no information of rAthena doing that at the moment.
     
    We've also support for the last 3rd job skills while rAthena doesn't (with good formulas but still not perfect), but neither of us have Rebellion yet.
     
    And we've also have a plugin system that allow you to make new features without the need of creating conflicts in the source code when updating. Anyways I still don't know why third party devs like eAmod still don't want to support us because it's pretty damn easy to do that with the plugin system which was specifically designed for them. I prefer to think they're lazy bums and only want to sell, because in eAmod case they tell you they support Hercules but then when you buy it they tell you it's still in merging process (it's been like 3 months merging, seriously?). Anyways, it's not that I personally like that much people getting rich at the cost of our free emulator.
     
    In short, if you want my opinion:
     
    Performance: Hercules
    Stability: If you mind it over all other things, use rAthena because it's slightly more stable but not much. Else it doesn't quite matter.
    Support: Hercules for bug fixing, doesn't matter for forum support.
    Development of new features: Hercules
    Development of scripts: rAthena (but you can just copy them over here most of the cases).
    Third party support: Still rAthena.
  4. Upvote
    jaBote got a reaction from fourxhackd in Dastgir's Services   
    Topic approved. Best of luck!
     
    P.S.: I can assure you he's one of the best guaranteed paid services to date: you just have to check his previous career, and the reputation, dedication and past contributions he's had here at Hercules.
  5. Upvote
    jaBote got a reaction from Echoes in Is there another way to reload scripts?   
    you could make a script for that
     
    - script reloadnpcfile -1,{OnInit: bindatcmd "reloadnpcfile",strnpcinfo(3)+"::OnAtcommand"; end;OnAtcommand: if (getgmlevel() < 99) end; atcommand "@unloadnpcfile " + .@atcmd_parameters$[0]; atcommand "@loadnpc " + .@atcmd_parameters$[0]; message strcharinfo(0), "NPC file " + .@atcmd_parameters$[0] + " reloaded if you didn't get any problem with the other commands. AVOID RELOADING ANY MOBS OR MAPFLAGS WITH THIS COMMAND."; end;}
  6. Upvote
    jaBote got a reaction from grimmm in npc_event: player's event queue is full   
    1st answer: combine these events in just an NPC since you've got too many OnNPCKilEvent events.
     
    Or either:
     
    2nd answer: go to src/map/map.h, line 34
    #define MAX_EVENTQUEUE 2  
    Change to any number not to big (you need at least 5 ATM, I'd set it to like 10) and recompile.
  7. 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?
  8. Upvote
    jaBote got a reaction from Like it~* in Oktoberfest ACT and SPR files   
    File Name: Oktoberfest ACT and SPR files
    File Submitter: jaBote
    File Submitted: 31 Dec 2013
    File Category: Sprites & Palettes
     
    These are the Oktoberfest ACT and SPR files available at fRO server GRF, just for these who don't have them, along with their correct location inside the GRF.
     
    I will provide no support for these since I didn't make them and the fact that I'm not quite good on client-side.
     
    You only have to download one of two files offered here:
     
    File 1 (data.zip) provides the content extracted from the GRF, while file 2 (oktoberfest.zip) contains an oktoberfest.grf file with the same contents, for easy management and merging with existing GRFs. It's not necessary to download both of them.
     
    Click here to download this file
  9. Upvote
    jaBote got a reaction from monkey77 in Custom Enchantment System   
    Here you go: http://upaste.me/8bfd59863044c49a
     
    This leaves me with a feeling of having broken something but I can't find nothing, so please tell me if I really did. I have no console for testing right now. Tell me if it works properly
     
    Please, edit yourself all references to the rest of armors this NPC supposedly enchanted. I've left it up to you since I have other things to do and time is tight on me.
     
    Edit: if this is correct, which post do I mark as solved? This one or the other NPC modification?
  10. Upvote
    jaBote reacted to Haru in Three suggestions to Huld   
    This is something I started working on a while ago (but I had to suspend it in order to take care of some other urgent issues). 
    The reason why I wanted to split it is another: the current .po file is very large, and it crashes (or is rejected by) various .po editors (both online and offline). My idea was to generate, instead, one .po for each .txt file in the scripts folder (and load them when loading each .txt). This would also have a positive side-effect of only loading the strings that are actually needed (and potentially warn you if a .po is missing).
    Preliminary work to support this was started in the split-huld branch in my fork of the repository (commit 908d531f. So far only the generation is handled, the loading part is not yet implemented.
    If there's interest for that, I'll resume working on it.
  11. Upvote
    jaBote reacted to Ragno in hercules   
    El archivo que estás abriendo es un archivo para importar configuraciones custom, es decir, un archivo en donde puedes poner cosas custom sin la necesidad de tener que editar el archivo base.
     
    Para efectos prácticos, creo que saldría mejor editar el archivo base y para ello ve a la carpeta "conf\common\" y ahí busca el archivo "inter-server.conf", donde se muestran todas las configuraciones disponibles:
     
     
     
     
    Por cierto, te recomiendo poner un título más preciso al tema, ya que un título tan general como este generará mucha confusión en la comunidad.
  12. Upvote
    jaBote reacted to Ragno in Mapa de Granja   
    Los únicos mapas que recuerdo tienen un aspecto similar a una granja, podrían ser los de las carreras de hugel:
     

     
    Esos mapas son p_track01 y p_track02. Con tan pocos datos no sé si sea el que hayas visto.
  13. Upvote
    jaBote reacted to Edgar in iz_ac02 no puedo moverme de hay   
    No soy experto, pero en casos similares he actualizado el mapcache con ayuda del WeeMapCache.

    No puedo proporcionarte una guía, por que la verdad lo realice empíricamente.

    Espero al menos te sirva para darte un norte, saludos.
  14. Upvote
    jaBote reacted to DarkGuerra in comando matar un Mob ?   
    @killmonster
    @killmonster2
  15. Upvote
    jaBote got a reaction from Darkzide in can some one make this compatible to herc   
    I've codeboxed your code. Please codebox it prior to posting since it easens our work.
     
    I've changed 4 'Case' to 'case since that's the only script error found there (in addition to missing tabs to separate appropriate parts of the NPC declarations. I won't fix again this kind of errors for you since you've already been explained how to solve them (and console tells you how to fix them yourself anyways).
     
    Here's your script:
     
    // Settings :// - Only required to edit the ShopSetting() Function// Notes : You may also add / remove Menu ( If any ) // - Shop Currency can be either ItemID or Variable Name, but must write within Quotation Marks ( "" )// Ex. of Variable. -> Zeny , #CASHPOINTS , #KAFRAPOINTS , CustomVariable , #CustomVariable// - ERROR Message are used to show Invalid Settings in your NPC. // Leave this alone...- shop Emistry_Shop -1,512:100 quiz_02,300,237,5 script Sample 757,{function ShopSettings;function ValidateCost;function CurrencyInfo;function ClearData;function ValueConvert;function ErrorNotice; mes "Each Shop from the Menu may purchase using ^FF0000Different Currency^000000.";mes "^00FF00____________________________^000000";mes "So,Which shop you would like to look at it";next;// Menu Selectionselect("Shop 1","Shop 2","Shop 3"); ClearData();ShopSettings( @menu );npcshopitem "Emistry_Shop",512,100;npcshopdelitem "Emistry_Shop",512;for(set .@i,0; .@i < getarraysize( @ItemLists ); set .@i,.@i+1) npcshopadditem "Emistry_Shop",@ItemLists[.@i],@ItemCost[.@i];mes "Okay...wait awhile";mes "^00FF00____________________________^000000";CurrencyInfo( @Currency$ );mes "^00FF00____________________________^000000";callshop "Emistry_Shop",1;npcshopattach "Emistry_Shop";end; function ShopSettings { switch( getarg(0) ){ case 1: // Currency [ Item ID / Variable Name ] set @Currency$,"7179"; // Item ID Lists setarray @ItemLists[0],6153,7227; // Item Price setarray @ItemCost[0],100,1; break; case 2: // Currency [ Item ID / Variable Name ] set @Currency$,"7227"; // Item ID Lists setarray @ItemLists[0],2306,2302,2303,2304,2305,2301; // Item Price setarray @ItemCost[0],2,2,3,4,5,6; break; case 3: // Currency [ Item ID / Variable Name ] set @Currency$,"#CASHPOINTS"; // Item ID Lists setarray @ItemLists[0],2306,2302,2303,2304,2305,2301; // Item Price setarray @ItemCost[0],20,22,34,445,52,641; break; // case 4,5,6.....etc... default: ErrorNotice( "Invalid Menu Selection for Menu "+@menu+"." ); close; } if( @Currency$ == "" ) ErrorNotice( "Invalid Currency Setting in Menu "+@menu+" ." );if( getarraysize( @ItemCost ) != getarraysize( @ItemLists ) || getarraysize( @ItemLists ) != getarraysize( @ItemCost ) ) ErrorNotice( "Missing or Extra Value of Item or Cost Settings in Menu "+@menu+" ." );return;} function ErrorNotice { mes "^FF0000ERROR^000000 - "+getarg(0); mes "^00FF00____________________________^000000"; mes "Inform this Message to ^0000FFGame Staffs^000000 immediately !"; close;} function CurrencyInfo { if( getitemname( atoi( getarg(0) ) ) != "null" ){ mes "Item Currency : ^FF0000"+getitemname( atoi( getarg(0) ) )+"^000000"; mes "Available Amount : ^0000FF"+ValueConvert( countitem( atoi( getarg(0) ) ) )+"^000000"; }else if( getitemname( atoi( getarg(0) ) ) == "null" ){ mes "Variable Currency : ^FF0000"+getarg(0)+"^000000"; mes "Available Amount : ^0000FF"+ValueConvert( getd( getarg(0) ) )+"^000000"; }return;} function ValidateCost { if( getitemname( atoi( getarg(0) ) ) != "null" ){ if( countitem( atoi( getarg(0) ) ) < getarg(1) ) return 1; }else{ if( getd( getarg(0) ) < getarg(1) ) return 1; }return 0;} function ClearData { set @Currency$,""; set @TotalCost,0; deletearray @bought_nameid[0],getarraysize( @bought_nameid ); deletearray @bought_quantity[0],getarraysize( @bought_quantity ); deletearray @ItemLists[0],getarraysize( @ItemLists ); deletearray @ItemCost[0],getarraysize( @ItemCost );return;} function ValueConvert { set .@num, atoi(""+getarg(0)); if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0); set .@l, getstrlen(""+.@num); for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) { set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$; if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$; } return .@num$;} OnBuyItem: ShopSettings( @menu ); for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) for(set @j,0; @j < getarraysize( @ItemLists ); set @j,@j+1) if( @ItemLists[@j] == @bought_nameid[@i] ) set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] ); mes "^FF0000 BILLING LIST^000000"; mes "^00FF00____________________________^000000"; for( set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1 ) mes "^FF0000"+@bought_quantity[@i]+" x ^0000FF"+getitemname( @bought_nameid[@i] )+"^000000"; mes "^00FF00____________________________^000000"; if( getitemname( atoi( @Currency$ ) ) != "null" ) mes "Total Cost : ^0000FF"+ValueConvert( @TotalCost )+" x "+getitemname( atoi( @Currency$ ) )+"^000000"; else if( getitemname( atoi( @Currency$ ) ) == "null" ){ mes "Total Cost : ^0000FF"+ValueConvert( @TotalCost )+" "+@Currency$+"^000000"; } mes "^00FF00____________________________^000000"; if( ValidateCost( @Currency$,@TotalCost ) ){ if( getitemname( atoi( @Currency$ ) ) != "null" ) mes "[ ^FF0000X^000000 ] Insufficient ^0000FF"+getitemname( atoi( @Currency$ ) )+"^000000"; else{ mes "[ ^FF0000X^000000 ] Insufficient ^0000FF"+@Currency$+"^000000"; } }else{ if( select( "^0000FFPurchase^000000:Cancel" ) == 1 ){ if( getitemname( atoi( @Currency$ ) ) != "null" ) delitem atoi( @Currency$ ),@TotalCost; else{ set getd( @Currency$ ),getd( @Currency$ ) - @TotalCost; } for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) getitem @bought_nameid[@i],@bought_quantity[@i]; message strcharinfo(0),"Purchased "+getarraysize( @bought_nameid )+" Items."; mes "Thank you for shopping."; } }ClearData();close; }
  16. Upvote
    jaBote got a reaction from nakatto in [RESOLVIDO]Vip Grátis   
    Tente usã-lo nesta estrutura:
    - script VipGratis -1,{OnPCLoginEvent: if (#vipUsado) end; $nivelVip = 1; $diasVip = 7; query_sql("UPDATE `login` SET `group_id` = "+$nivelVip+", `data_vip` = DATE_ADD(CURDATE(),INTERVAL "+$diasVip+" DAY) WHERE `account_id` = "+getcharid(3)); #vipUsado = 1; end;}
  17. Upvote
    jaBote reacted to Waken in [Ayuda] Ideas para Quest   
    Puedes hacer multitud de cosas ...
     
    - Quest de historia : Hablar con múltiples npcs eligiendo tal vez las opciones correctas hasta llegar a resolver la trama.
    - Quest de busqueda : Encontrar a alguien escondido o localizaciones.

    No estoy muy inspirado ahora mismo, pero tienes multitud de comandos, te recomiendo que te fijes en los comandos en script_commands seguramente se te ocurran quest e ideas cuando veas las posibilidades que tienes.
  18. Upvote
    jaBote reacted to Darknessfmy in Problema con Prontera.   
    Mi aporte corregido:
    https://github.com/rathena/rathena/issues/1222#issuecomment-217650154
     
    Abre el data.grf extrae nueva prontera, abre weemapcache con tu mapcache.dat busca prontera y eliminala, luego agrega la nueva prontera y guarda, compilas el emulador y ya funcionaran los gats.
    luego usa mi corrección en el link y te andaran bien los warps en prt.
  19. Upvote
    jaBote reacted to Relzz in [Ayuda] Custom peinados   
    En la ruta /ro/conf/battle/player.conf
    // Valid range of dyes and styles on the client. min_hair_style: 0 max_hair_style: 43 min_hair_color: 0 max_hair_color: 251 min_cloth_color: 0 max_cloth_color: 553 min_body_style: 0 max_body_style: 1 Encuentras esos valores, en mi caso ya los tenia customizados.. solo es que pongas tus minimos y maximos.
     
    Suerte !
  20. Upvote
    jaBote got a reaction from tupe1387 in Reset NPC   
    Maybe this untested NPC edit could help you do that? I took a different approach than Happy's because I think it's a bit cleaner this way:
     
    //===== Hercules Script ======================================//= Reset NPC//===== By: ==================================================//= Hercules Dev Team//===== Current Version: =====================================//= 1.3//===== Description: =========================================//= Resets skills, stats, or both.//===== Additional Comments: =================================//= 1.0 First Version//= 1.1 Optimized for the greater good. [Kisuka]//= 1.2 Cleaning [Euphy]//= 1.3 All statuses removed upon skill reset. [Euphy]//===== Custom Additions: ====================================//= 1.3a Custom reset limits. Modernized syntax [jaBote]//============================================================prontera,150,193,4 script Reset Girl 4_F_TELEPORTER,{ .@ResetStat = 5000; // Zeny for stat reset .@ResetSkill = 5000; // Zeny for skill reset .@ResetBoth = 9000; // Zeny for resetting both together .@MaxReset = 3; // Max amount of resets. Must be positive. mes "[Reset Girl]"; mes "I am the Reset Girl."; if (.@MaxReset) { mes "You can reset your character up to " + .@MaxReset + " times."; if (ResetCount >= .@MaxReset) { mes "Sorry, you've already used all of your available resets."; close; } mes "You've already used this service for " + ResetCount + " time(s)."; } mes "Reset Stats: "+ .@ResetStat +"z"; mes "Reset Skills: "+ .@ResetSkill +"z"; mes "Reset Both: "+ .@ResetBoth +"z"; mes "Please select the service you want:"; next; switch(select("^FF3355Reset Skills:Reset Stats:Reset Both^000000:Cancel")) { case 1: mes "[Reset Girl]"; if (Zeny < .@ResetSkill) { mes "Sorry, you don't have enough Zeny."; close; } if (.@MaxReset) ResetCount++; Zeny -= .@ResetSkill; sc_end SC_ALL; resetskill; mes "There you go!"; close; case 2: mes "[Reset Girl]"; if (Zeny < .@ResetStat) { mes "Sorry, you don't have enough Zeny."; close; } if (.@MaxReset) ResetCount++; Zeny -= .@ResetStat; resetstatus; mes "There you go!"; close; case 3: mes "[Reset Girl]"; if (Zeny < .@ResetBoth) { mes "Sorry, you don't have enough Zeny."; close; } if (.@MaxReset) ResetCount++; Zeny -= .@ResetBoth; sc_end SC_ALL; resetskill; resetstatus; mes "There you go!"; close; case 4: close; }}
  21. Upvote
    jaBote got a reaction from MrDracula in Hercules vs rAthena   
    It depends on what you want. Keep in mind that if you ask this here and in rAthena, you'll get here replies that say "Hercules is better" and in rAthena forums you'll be told that "rAthena is better". Correct reply is "Hercules is better in some ways, rAthena is better in some other ways".
     
    We don't get any commission or whatever based on users, (unlike rAthena we don't even place adverts on our pages), but it's an administrator preference.
     
    Here in Hercules we have the fastest and most optimized Ragnarok Online emulator to the moment and there's no possible argument to this: you can run the map server on 70 MB RAM, while rAthena consumes around 200 MB on an idle state. Anyways, this varies on the amount of maps and NPCs you load on your server, and in the amount of users you have. It's also a fact that Hercules consumes much less processing time than rAthena, but I'm not aware of how much. This also means Hercules boots faster than rAthena and has some caching system for even faster boot at the cost of some disk space. Note that these measures also vary depending on the OS you're using
     
    Hercules has some features that rAthena doesn't, and vice versa. For example we have an anti WPE security system (depends on client version) and some unique features (some of them were also merged in rAthena). The same happens on rAthena side, but I'm not well informed on that.
     
    Emulator stability is comparable, but since in Hercules we introduce and make more features it's quite obvious we are a bit riskier on that and may crash a bit more. Anyways, our bug fixing is way faster than rAthena. We're also comparable in emulator support, too, but I believe we've more answered topics in relation to our total amount that rAthena.
     
    The biggest flaw I can see out there is on the scripting and db development side, since rAthena is more active than us on that side (in fact, we seriously lack on them). Anyways, you can generally import all of them here with very little to no effort, most cases it's just a copy and paste issue and they'll work. We're also lifting some IMPORTANT scripting limitations at the moment and have no information of rAthena doing that at the moment.
     
    We've also support for the last 3rd job skills while rAthena doesn't (with good formulas but still not perfect), but neither of us have Rebellion yet.
     
    And we've also have a plugin system that allow you to make new features without the need of creating conflicts in the source code when updating. Anyways I still don't know why third party devs like eAmod still don't want to support us because it's pretty damn easy to do that with the plugin system which was specifically designed for them. I prefer to think they're lazy bums and only want to sell, because in eAmod case they tell you they support Hercules but then when you buy it they tell you it's still in merging process (it's been like 3 months merging, seriously?). Anyways, it's not that I personally like that much people getting rich at the cost of our free emulator.
     
    In short, if you want my opinion:
     
    Performance: Hercules
    Stability: If you mind it over all other things, use rAthena because it's slightly more stable but not much. Else it doesn't quite matter.
    Support: Hercules for bug fixing, doesn't matter for forum support.
    Development of new features: Hercules
    Development of scripts: rAthena (but you can just copy them over here most of the cases).
    Third party support: Still rAthena.
  22. Upvote
    jaBote reacted to evilpuncker in Problema con Prontera.   
    usted tiene que hacer de nuevo el MapCache
  23. 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.
  24. Upvote
    jaBote got a reaction from KaL EL ™ in Hercules vs rAthena   
    It depends on what you want. Keep in mind that if you ask this here and in rAthena, you'll get here replies that say "Hercules is better" and in rAthena forums you'll be told that "rAthena is better". Correct reply is "Hercules is better in some ways, rAthena is better in some other ways".
     
    We don't get any commission or whatever based on users, (unlike rAthena we don't even place adverts on our pages), but it's an administrator preference.
     
    Here in Hercules we have the fastest and most optimized Ragnarok Online emulator to the moment and there's no possible argument to this: you can run the map server on 70 MB RAM, while rAthena consumes around 200 MB on an idle state. Anyways, this varies on the amount of maps and NPCs you load on your server, and in the amount of users you have. It's also a fact that Hercules consumes much less processing time than rAthena, but I'm not aware of how much. This also means Hercules boots faster than rAthena and has some caching system for even faster boot at the cost of some disk space. Note that these measures also vary depending on the OS you're using
     
    Hercules has some features that rAthena doesn't, and vice versa. For example we have an anti WPE security system (depends on client version) and some unique features (some of them were also merged in rAthena). The same happens on rAthena side, but I'm not well informed on that.
     
    Emulator stability is comparable, but since in Hercules we introduce and make more features it's quite obvious we are a bit riskier on that and may crash a bit more. Anyways, our bug fixing is way faster than rAthena. We're also comparable in emulator support, too, but I believe we've more answered topics in relation to our total amount that rAthena.
     
    The biggest flaw I can see out there is on the scripting and db development side, since rAthena is more active than us on that side (in fact, we seriously lack on them). Anyways, you can generally import all of them here with very little to no effort, most cases it's just a copy and paste issue and they'll work. We're also lifting some IMPORTANT scripting limitations at the moment and have no information of rAthena doing that at the moment.
     
    We've also support for the last 3rd job skills while rAthena doesn't (with good formulas but still not perfect), but neither of us have Rebellion yet.
     
    And we've also have a plugin system that allow you to make new features without the need of creating conflicts in the source code when updating. Anyways I still don't know why third party devs like eAmod still don't want to support us because it's pretty damn easy to do that with the plugin system which was specifically designed for them. I prefer to think they're lazy bums and only want to sell, because in eAmod case they tell you they support Hercules but then when you buy it they tell you it's still in merging process (it's been like 3 months merging, seriously?). Anyways, it's not that I personally like that much people getting rich at the cost of our free emulator.
     
    In short, if you want my opinion:
     
    Performance: Hercules
    Stability: If you mind it over all other things, use rAthena because it's slightly more stable but not much. Else it doesn't quite matter.
    Support: Hercules for bug fixing, doesn't matter for forum support.
    Development of new features: Hercules
    Development of scripts: rAthena (but you can just copy them over here most of the cases).
    Third party support: Still rAthena.
  25. Upvote
    jaBote got a reaction from Hadou Kaen in @whodrops full list?   
    No configs can change that AFAIK. @whodrops is limited by MAX_SEARCH constant in source, which is set in src/map/itemdb.h if I recall correctly. Either change that value from that file (which could also change any other feature in which it's used) or go to src/map/atcommand.c and go change MAX_SEARCH parameter to whatever number you want.
×
×
  • Create New...

Important Information

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