Jump to content

Ragno

Retired Staff
  • Content Count

    133
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by Ragno

  1. The first warning about ".m$pacporing4" is originated in line 312: OnInit: getmapxy(getd(".m$"+strnpcinfo(3)),getd(".x"+strnpcinfo(3)),getd(".y"+strnpcinfo(3)),1); end; As far as I could see, that var is there only to fill the args needed by getmapxy command. It has no use in the script, as .x and .y has with the proper npcs. To fix it, just change the getd for the nex one: getd(".m"+strnpcinfo(3)+"$") I fix the indentation of the script, remove the menu commands and some gotos and change the set commands for direct assignation. I think it's a little bit more readeable now, here you have it: I didn't check about the infinite loop warning.
  2. To change skin color of a character you need to edit the palettes for every character, like this: If you check, there is one gradient that sets skin color. You need to change every pallet from body and head to set the skin color you may want. In fact, it is not as hard as it sounds, but only a very huge load of work for anybody who may want to try it. The hard thing is to get the exact color for skin, since can exist multiple skin colours.
  3. Ragno

    Limit Array

    It has almost no limit: For more info about arrays on Hercules, please check: http://herc.ws/board/topic/3886-hercules-1st-2014-megapatch/
  4. You are totally right, and also there are the constants for item types, but not for Loc and View fields. I also try to put the upper field separated as job, but it wasn't successful.
  5. Most values are semi intuitive to understand, but can ask for specific support for skills. Also, there is a converter from old txt to new .conf format: https://github.com/HerculesWS/Hercules/blob/master/tools/skilldbconverter.php But I don't know how to setup php scripts, so I can't give you support on that.
  6. Yesterday I submit a new issue with new template and it felt like were too much fields to fill for what I was reporting. "Description" and "Current Behaviour" it's like almost the same. Branch could be assumed to be "master" since other branches are more specific and those may be exceptions to it. Also an issue related to databases or npcs maybe could not require git hash/revision and leave it as optional, since it is more needed in src issues. I like new templates, but maybe could be a little more flexible when posting issues. If you let me suggest, please bring a field to propose the "kind" of issue (if its related to core, to npcs, to documentation, to database, etc), I think it would help to categorize the issue.
  7. Yes, and I forgot to mention, Haru provides support for convert item_db.txt and mob_db.txt to conf files: http://haru.ws/hercules/ You can use that for conversion, but, if you have all your items in sql, then you need first to convert them previously to .txt (.csv format).
  8. There are some numeric values that are constant to all items and doesn't change, it could be changed to constants and improve the understanding of item_db. Those values are: Type, Upper, Gender, Loc, View (can be seen constant name on lub files), Stack and Sprite. Example: { Id: 1626 AegisName: "Piercing_Staff" Name: "Piercing Staff" Type: TYPE_WEAPON Buy: 20 Weight: 500 Atk: 80 Matk: 145 Range: 1 Job: { Magician: true Acolyte: true Priest: true Wizard: true Monk: true Sage: true } Upper: { Upper: true Third Job: true Upper Third Job: true Baby Third Job: true } Loc: LOC_WEAPON WeaponLv: 3 EquipLv: 70 View: WEAPONTYPE_ROD Script: <" bonus bInt,4; bonus bIgnoreMdefRate,10+getrefine(); "> }, In this example is changed values from Type, Upper, Loc and View to constants.
  9. As @4144 said, Hercules uses .conf files with a structure more human readable. This is an example for item_db.conf: { Id: 1625 AegisName: "Healing_Staff" Name: "Healing Staff" Type: 4 Buy: 20 Weight: 400 Atk: 10 Matk: 105 Range: 1 Job: { Acolyte: true Priest: true Monk: true } Loc: 2 WeaponLv: 3 EquipLv: 55 View: 10 Script: <" bonus bAtkEle,Ele_Holy; bonus bHealPower,(getrefine()*3/2); "> }, However, if you still need to have updated item_db in sql format, you can convert the .conf file to .sql with this plugin: https://github.com/HerculesWS/Hercules/wiki/Db2sql
  10. Hercules uses sql as default (and only uses sql, doesn't use txt databases). You may want to setup a new Hercules default server to explore and watch how Hercules works. In this topic you can find a very good guide about how to install sql databases: http://herc.ws/board/topic/1574-tutorial-preparing-database-ragnarok-for-pre-compiled-hercules/ Here you can download a precompiled server: http://herc.ws/board/files/file/25-hercules-win32-for-ragexe-20130703/ And here you can find the newest version of hercules: https://github.com/HerculesWS/Hercules/ After having tested and experienced hercules, you may want to convert your sql databases from eAthena to Hercules with the tools provided on "sql-files\upgrades" folder: eAthena-logs-upgrade.sql eAthena-main-upgrade.sql
  11. Hercules doesn't use txt database, instead uses also sql db and provide two sql files for conversion: Hercules\sql-files\upgrades\eAthena-logs-upgrade.sql Hercules\sql-files\upgrades\eAthena-main-upgrade.sql Both of them can be found on GitHub: https://github.com/HerculesWS/Hercules If you want to export query sql into a txt file, I'm not used on it.
  12. Maybe they just have the template for it or it may be hard to search for specific values. I'm actually working on this, mostly because the sign quest, we always have players who doesn't receive some quest items because inventory is full.
  13. I didn't know that configuration. Thank you very much!
  14. I want to ask if is possible to make a configuration to enable/disable recording of any kind of warning in console (maybe anything show with printf command) to save it on a txt log inside emulator folder, so admins can easily check any history log of warnings.
  15. Thank you a lot, I finally did it. I tried it over 3 months ago and finally did it. Thank you all guys for help with this.
  16. Thanks a lot Smoke! I didn't know about :wq. You are my hero! I follow steps and ended with this: But now, I try to push it and gives me this error: What am I doing wrong?
  17. If somebody shares Aegis scripts, I would gladly convert it to Hercules script.
  18. After so many tries I still can't do it Please help me, this is what I'm doing. I'm using SourceTree Terminal for this: 1. Clic on Terminal button. Opens a new console window with this: Ragno@Samsung MINGW64 ~/Desktop/Repositorios/Fork/Hercules (barricade_woe_se_fix|REBASE-i) $ 2. Then, as Ridley said, I put this and hit Enter. Ragno@Samsung MINGW64 ~/Desktop/Repositorios/Fork/Hercules (barricade_woe_se_fix|REBASE-i) $ git rebase --interactive HEAD~2 3. Changes screen to a text editor with this: pick 285e1fc Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously. pick 9450be2 Arrays improvement. Thanks Emistry! # Rebase 9fba7e8..9450be2 onto 9fba7e8 (2 command(s)) # # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # x, exec = run command (the rest of the line) using shell # d, drop = remove commit # # These lines can be re-ordered; they are executed from top to bottom. # # If you remove a line here THAT COMMIT WILL BE LOST. # # However, if you remove everything, the rebase will be aborted. # # Note that empty commits are commented out 4. I changed first line to this: fixup 285e1fc Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously. pick 9450be2 Arrays improvement. Thanks Emistry! # Rebase 9fba7e8..9450be2 onto 9fba7e8 (2 command(s)) # # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # x, exec = run command (the rest of the line) using shell # d, drop = remove commit # # These lines can be re-ordered; they are executed from top to bottom. # # If you remove a line here THAT COMMIT WILL BE LOST. # # However, if you remove everything, the rebase will be aborted. # # Note that empty commits are commented out 5. Then, since I don't know how to close that screen and return to terminal, I hit Ctrl+Z and it returns to terminal. Now terminal looks like this: Ragno@Samsung MINGW64 ~/Desktop/Repositorios/Fork/Hercules (barricade_wo e_se_fix) $ git rebase --interactive HEAD~2 Stopped Ragno@Samsung MINGW64 ~/Desktop/Repositorios/Fork/Hercules (barricade_woe_se_fix|REBASE-i) $ 6. Then I add new command: Ragno@Samsung MINGW64 ~/Desktop/Repositorios/Fork/Hercules (barricade_wo e_se_fix) $ git rebase --interactive HEAD~2 Stopped Ragno@Samsung MINGW64 ~/Desktop/Repositorios/Fork/Hercules (barricade_woe_se_fix|REBASE-i) $ git rebase --continue 7. After hiting Enter it starts to process the command and then happens this: Ragno@Samsung MINGW64 ~/Desktop/Repositorios/Fork/Hercules (barricade_wo e_se_fix) $ git rebase --interactive HEAD~2 Stopped Ragno@Samsung MINGW64 ~/Desktop/Repositorios/Fork/Hercules (barricade_woe_se_fix|REBASE-i) $ git rebase --continue error: could not apply 285e1fc... Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously. When you have resolved this problem, run "git rebase --continue". If you prefer to skip this patch, run "git rebase --skip" instead. To check out the original branch and stop rebasing, run "git rebase --abort". Could not apply 285e1fc... Adds a protection to 1st Barricade line on WoE SE maps to avoid splash damage without destroying Guardian Stones previously. Ragno@Samsung MINGW64 ~/Desktop/Repositorios/Fork/Hercules (barricade_woe_se_fix|REBASE-i 1/2) $ 8. To finish all the process I put git rebase --abort Sorry to keep bothering but I have tried this really hard a lot of times (I even discovered Ctrl+Z by accident while pressing a lot of key shortcuts). I need help and would be trully grateful with this.
  19. Today I have received a warm welcoming to Community Contributors and I'm very grateful for it. I'm very proud to be part of Hercules Community and happy to be accepted in. Whatever I can offer I will give it to Hercules Community.

  20. Ragno

    SetQuest2

    Yes, iRO is using that, actually I got the idea of making this plugin after writting the iRO xmas quest, where they reset the quest at 4am. About HUNTING I think it's not possible as the entry of player's quest contains only the count, unless you add extra columns to quest table and some other changes, and PLAYTIME is just what my plugin currently does, right? You are right. It would be nice to have a plugin to do that, would help to a lot of people when doing events, to avoid usage of OnNPCKillEvent and have a simple check mechanism.
  21. Ragno

    SetQuest2

    This is a very cool command, it gives a lot of new chances and also I remember have seen on iRO that quest delay wasn't fixed on some new quest, instead delay was from until specific hour (changes if quest was seted in different hour). I have a suggestion, would be possible to add an option to change PLAYTIME or HUNTING? I mean, have an option to set hunting quest to specific monsters without needing to add new quest entryes to each monster/quantity of monsters.
  22. Almost all the npcs makes checkweight checks prior to give items to players, but there are still some others that misses this checkquest and produces error in player's quest. As an example, not too long it was added a custom checkweight to quest_13_2.txt script to avoid issues in player's quest when inventory is full. So, what about introducing a global function to bring a generical checkweight to add to npcs with this problems? Generical message is this: if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 1000) { mes "- Currently you're carrying -"; mes "- too many items with you. -"; mes "- Please try again after you -"; mes "- lose some weight. -"; close; } And it also can be added an aditional argument to set specific weight values to check. This way it could bring easily those checks and also have a quick reference to know that check is custom.
  23. 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. Sorry for the late answer, as an user of Huld I tell you I wouldn't give use to it (but only to keep custom scripts separated from main translation file), it's easier to maintain just a single file, than maintain lots of them, and it isn't really that hard, just need to split the file with other editors (like Notepad++) to avoid the crashes. About original suggestion introduced in this topic, that is, the gender troubles, I want to share an example about this with Rune Knight job change quest: I follow the way of changing the sentence to make a different translation to male and female players, but it gives around 70 differences related to gender translation changes just in this script (the other changes are from using mesf and _( ) macros). This is one of the scripts that I have seen with most words that when translated has a difference word on female from male players. Sincerely, I would preffer a configuration that doesn't require to edit default script, because it isn't needed on all langauges, that is why I suggest to add an option to bring second translation (one for male and one for female) on the .po file. System doesn't need to do it automatically (because it isn't needed in all languages), but the translation team can add it manually when needed after finished the translation process with po editors. I know that would add some extra work to translation teams, but that would be needed to be done only once and will bring benefits forever...
  24. How can I merge or squash pull requested commits on GitHub?
  25. Ragno

    Dynamic Shop

    I guess you are looking for Hercules trader npc. Trader npc its a kind of npc that can sell stuff, but, you can make it to accept zeny or items as payment. This is an example for a trader shop with items: prontera,55,50,0 trader HeroismExchanger PORING,{ // You need to declare it as "trader" instead of "script" openshop(); // command to open the shop end; OnInit: tradertype(NST_CUSTOM); // allows you to set items as currency sellitem Krieger_Twohand_Sword1, 200; // adds Krieger_Twohand_Sword1 to the shop at 200 valor badges end; OnCountFunds: setcurrency countitem(BF_Badge2); // sets BF_Badge2 (Valor Badge) as currency end; OnPayFunds: if (countitem(BF_Badge2) < @price) end; delitem BF_Badge2, @price; // discount valor badges purchaseok(); // closes shop end; } Also, you may want to read the following sections at script_commands.txt (control + f) : ** Define a shop/cashshop NPC. 12 - NPC Trader-Related Commands Also can see /doc/sample/npc_trader_sample.txt for samples.
×
×
  • Create New...

Important Information

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