Jump to content

Ind

Retired Staff
  • Content Count

    1655
  • Joined

  • Last visited

  • Days Won

    131

Reputation Activity

  1. Upvote
    Ind got a reaction from Ragno in Hercules 1st 2014 MegaPatch   
    Hercules: 1st 2014 MEGAPATCH
    Helloooo! Starting 2014 with a boom, yet another outstanding patch from Hercules! Patch Item #1: Scripting Level UP
    Char and account variables overhaul They're no longer limited to #define ACCOUNT/GLOBAL_REG_NUM, they're now limitless Their storage capabilities have received a colossal improvement, each numeric variable now uses at least 1/10 the memory it did previously, and we achieved it while increasing speed, simply outstanding as expected from us. Thanks to their quantity no longer being limited, char and account variables now support arrays, i.e. setarray #accreg[y],...; Saving and loading procedures have been improved outstandingly! for instance, previously, if you had 100 char regs but only one had been modified or deleted, map server would need to send all of them and char server would have to re-insert all of them; now only modified or deleted ones are saving, increasing saving speed of both map and char server procedures and decreasing inter-server bandwidth by dinosaur steps. Magnificent Array Improvement (to all variable types) Size limit modified from 127 to ...2 billion! Speed of countless array operations have been improved thanks to new array handling, e.g. whereas previously upon deleting any array it'd set its 127 possible values to 0 (regardless of how many values it actually had) now it only deletes as many members as it possesses getarraysize (the-oh-misleading-function since it returns the arrays' highest index) has been sped up as well thanks to this, and it no longer wastes script stack room on every interaction And the futureThis improvement has open way for many other amazing features, for example, Haruna has designed a foreach implementation for scripting among some other useful enhancements Global account variable handling redesign To clarify, this is that ancient type used on multiple-char-server setups, ##varname, which are present in all servers an accounts logs into, as opposed to #varname which, while account-wide, are considered 'local' to a char server. Saving and loading have been modified to match char/local-acc variable new design, on its own it already is a major speed boost and bandwidth saver, however, it has also improved login servers overall processing speed, thanks to its processing no longer being attached to ordinary account handling, this means that all operations that required login server to use an accounts data (i.e. login/pincode change/ban/block/etca) have been sped up, and use less memory. '.', '.@' and ''' variables write operation speed up trying to write ''' variables outside instances will now print warnings instead of silently doing nothing runtime read/write operations of global/temporary(@) char variables, as well as account variables, have been considerably sped up, whereas previously it'd run a str lookup to find a match for read/write it now uses the variable id, furthermore it now relies on DBMaps to handle the lookup (whereas previously it was a normal loop). Database tables overhaulWe've analysed global reg data storage and we've decided that it not only is a memory waste, it is a processing one as well due to how int and str variables share the same storage, we've analysed global reg data for a number of large servers and have identified most variables are numbers, by a outstanding majority, with that in mind, this patch introduces 6 tables that will improve this drastically. You'll notice this patch's SQL upgrade file will take care of this, and thus migrate the data properly into the new tables. Special Thanks To:
    Haruna ! <3 wouldn't have gotten half of it done if it weren't for Haru, thank you so much sensei! jaBote, for proposing it! Emistry Yommy Streusel Patch Item #2: @autotrade Persistency
    Also known as: @at merchants survive server crashes/restart, as soon as the server starts again they're re-spawned. May be disabled on src/config/core.h by commenting out AUTOTRADE_PERSISTENCY Special Thanks To:
    Haruna! Michieru, this feature wouldn't be out now if it weren't for him, lets all thank him! Dekamaster/Nightroad for helping me on this features original design, 3-4 years ago. Thank you master <3! Link'u!
    Commit Upgrade files #1 (Autotrade) #2 (Scripting Level UP)
  2. Upvote
    Ind reacted to jTynne in [Guide] How to Recolor Sprites - by Eiphes   
    I forgot how to English. :'(
  3. Upvote
    Ind reacted to Mystery in [Guide] How to Recolor Sprites - by Eiphes   
    Nicely done! I like how it really is in-depth. Thanks for taking the time! But I am with Strudel... in-game screenshot plox <3 ;3
  4. Upvote
    Ind reacted to Nameless2you in [Guide] How to Recolor Sprites - by Eiphes   
    I demand an in-game picture of the recoloured Racoon Hat.
     
    Good guide btw.
  5. Upvote
    Ind reacted to jTynne in [Guide] How to Recolor Sprites - by Eiphes   
    Tools/Things You Will Need

      Photoshop CS4 or above (I use CS6 in this tutorial) SprConview GRF Tool WeeThumbnail Viewer (instructions on how to install below) 800mb-1.5gb Available HDD space

    Optional:

      Jasc Paint Shop Pro 7 or GIMP (not included in toolpack.zip below; not necessary)

    Preface/Getting Started
    First and foremost, download my tool package here: http://www.jtynne.co...es/toolpack.zip

      This tool pack contains SprConview, GRF Tool, and other essential programs I use when working on the server (Browedit, various patchers for different official RO servers, etc) Extract the entire tool pack to a location on your computer that you can easily find/return to.

    Guide
    1. Navigate to your GRF Tool program from the tool pack contents. Open it, click "Open", and find your data.grf (located in your CasualRO install folder):
    http--,,--//justintfields.com/guides/recolors/1.png [/url]]
     
    2. Let's make sure we have our GRF Tool configured properly. Click on "Settings" and make sure the first option is selected.
    http--,,--//justintfields.com/guides/recolors/2.png[/url]]
     
    3. Now, we're going to extract ALL of the .spr files from the GRF. Search for .spr and hit enter, or click the button on the right to search. (GO TO STEP 5 TO LEARN HOW TO EXTRACT)
    http--,,--//justintfields.com/guides/recolors/3.png[/url]]
     
    4. (You will return to do the same as step 3, but after you do the extraction process in step 5)
    http--,,--//justintfields.com/guides/recolors/4.png[/url]]
     
     
     
    5. When you've found all the .spr or .act files, click "Extract", make a new folder, and name it something you'll remember in a location you can easily return to. Then click OK to begin the extraction process.
     http--,,--//justintfields.com/guides/recolors/5.png[/url]]
     
    6. After you've extracted both .spr and .act files, navigate to where you extracted them. Once you get to the /data/sprite/ folder, you'll see a ton of folders and other files. Refer to the image below to find the drop sprite folder and the headgear folder. These are the only two we will use for this tutorial. I've made note of where monsters and robes are located in case you want to take a gander in them.
    http--,,--//justintfields.com/guides/recolors/6.png[/url]]
     
    7. Let's dive into the headgears folder.
    http--,,--//justintfields.com/guides/recolors/7.png[/url]]
     
    8. As you can see above, I can see previews of sprites in my folders. This is important because NOTHING is named in English besides a few of the newer class sprites, so you will also want to be able to visibly see a preview of what each sprite file is of. That said, navigate to you extracted the toolpack.zip, and go into the WeeThumbnail folder, and then into the folder noted in the screencapture below. Double click "Install". Head back into your sprites folder. If you can't see previews still, reboot your computer. Then return to the headgears folder in step 7.
    http--,,--//justintfields.com/guides/recolors/8.png[/url]]
     
    9. I always work with the female headgear sprites as my bases for recolors because a lot of the female sprites have an extra frame in their .spr file, that the male sprites for whatever reason lack. If you work with male headgear sprites as bases, you'll encounter crashes in-game due to the missing frame, so let's go into the female headgear sprite folder as noted in step 7.
    http--,,--//justintfields.com/guides/recolors/9.png[/url]]
     
    10. For this tutorial, I've opted to make a recolor of the Racoon Doll Hat. You will want to copy both the .act and .spr file with the same filename.
    http--,,--//justintfields.com/guides/recolors/10.png[/url]]
     
    11. Now, let's move these into a safe location and set up our folder hierarchy.

      Create a folder on your desktop named "data" Inside of this folder, create two folders, "sprite" and "texture" Go into the "sprite" folder Once inside the sprite folder, create a folder with the following name: ¾ÆÀÌÅÛ While still inside the sprite folder, create another folder with this name: ¾Ç¼¼»ç¸® Go inside of the folder named ¾Ç¼¼»ç¸® and create two folders; one named ¿© and the other named ³² Navigate backwards into the "data" folder again, and enter the "texture" folder Inside the texture folder, create a folder called À¯ÀúÀÎÅÍÆäÀ̽º Go into the folder called À¯ÀúÀÎÅÍÆäÀ̽º and create two folders named "item" and "collection"

    At the end of this hierarchy creation, you should have the following hierarchy created:
     
    data
    ------- sprite
    ------- ------- ¾ÆÀÌÅÛ
    ------- ------- ¾Ç¼¼»ç¸®
    ------- ------- ------- ¿©
    ------- ------- ------- ³²
    ------- texture
    ------- ------- À¯ÀúÀÎÅÍÆäÀ̽º
    ------- ------- ------- item
    ------- ------- ------- collection
     
    Remember when I told you to copy the .act and .spr in step 10? Locate where you copied those files to, and I recommend placing them within data/sprite/¾Ç¼¼»ç¸®/ for the time being as seen below.
    http--,,--//justintfields.com/guides/recolors/11.png[/url]]
     
    12. Now, when you double-click .spr files, by default, Windows usually has NO idea what to do with them. So let's assign the default program to open .spr files to be SprConview from the toolpack.zip archive. Right-click the .spr file, go to "Open With", and "Choose default program..."
    http--,,--//justintfields.com/guides/recolors/12.png[/url]]
     
    13. Chances are high that SprConview won't be in your Recommended Programs list, so if it's not, click "Browse", locate where you extracted the toolpack.zip contents, and locate SprConview inside of that folder. Once you've found it, make sure you check the box on the left so .spr files always open with Sprconview. Then click OK.
    http--,,--//justintfields.com/guides/recolors/13.png[/url]]
     
    14. Once you've assigned SprConview to open the .spr files, double click the sprite to open it!
    http--,,--//justintfields.com/guides/recolors/14.png[/url]]
     
    15. Now, let's extract the frames from the sprite file by converting each frame into a .bmp image. Click "Convert" and select "Spr to Bmp"
    http--,,--//justintfields.com/guides/recolors/15.png[/url]]
     
    16. A new box will appear. Under "Sprite" click the Browse button to the right of the blank field. Select the sprite (use the preview window to confirm it's the file you want) and click "Open".
    http--,,--//justintfields.com/guides/recolors/16.png[/url]]
     
    17. Next, enter a name in the BMP directory field (no need to click browse; just write a name for a new folder to be created where you're currently located). Click "Convert" to extract the frames.
    http--,,--//justintfields.com/guides/recolors/17.png[/url]]
     
    18. Navigate into the folder the frames were extracted into.
    http--,,--//justintfields.com/guides/recolors/18.png[/url]]
     
    19. It's time to open CS4 or above!
    http--,,--//justintfields.com/guides/recolors/19.png[/url]]
     
    20. Open just the very first file (far left side, usually numbered 001 at the end of the file name) in Photoshop. Once open, go to "Image" -> "Adjustments" -> "Replace Color"
    http--,,--//justintfields.com/guides/recolors/20.png[/url]]
     
    21. Replace the colors until you achieve a coloration you like! I've opted to make this head all gray (like a real racoon!), but you can easily make it any color(s) you want by playing with the Hue/Saturation/Lightness sliders.
    http--,,--//justintfields.com/guides/recolors/21.png[/url]]
     
    22. Once you're satisfied with your coloration, save the file.
    http--,,--//justintfields.com/guides/recolors/22.png[/url]]
     
    23. This is just an aside really, but you only have to edit the first frame of each sprite in order to achieve the recolor effect throughout the entire sprite. This is because later when we convert the bmp back into a .spr, SprConview uses only the first frame to create the palette for the sprite file. Super handy and saves time! I used to edit every single frame, but it's not necessary to do.
     
    24. Once you've saved the file, you should see the preview image update with your changes in the folder.
    http--,,--//justintfields.com/guides/recolors/24.png[/url]]
     
    25. It's time to repack these .bmp images into a sprite file! Back in SprConview, click "Convert", and this time select the second option "Bmp to Spr".
    http--,,--//justintfields.com/guides/recolors/25.png[/url]]
     
    26. A new window will appear. Click "Add" and another box will open. Left click the first image (the one you recolored) then hold down shift and left-click the very last image at the bottom. This will select all of the frames in the correct order. Then click "Open".
    http--,,--//justintfields.com/guides/recolors/26.png[/url]]
     
    27. Now enter the filename you wish to assign to your recolored sprite. Make sure you include the .spr file extension at the end of the name. I've chosen "racoon_head_recolor.spr" for this demonstration. Uncheck the "Encode" box. We no longer use this option in the clients and leaving it checked will cause your sprite to display incorrectly once in-game. Once you've done the preceeding instructions, click "Convert".
    http--,,--//justintfields.com/guides/recolors/27.png[/url]]
     
    28. Your newly created sprite will appear in the same folder the .bmp frames are found, so jump back in there if you were elsewhere.
    http--,,--//justintfields.com/guides/recolors/28.png[/url]]
     
    29. Admire your work! No, actually, make sure all of the frames are there, and that you can't see the background color from the .bmp files. It should include all of the frames you originally extracted from the original sprite. Below, I've opened the sprite in five different windows to see all angles. It's not necessary to do, but helps to see an overview of your work.
    http--,,--//justintfields.com/guides/recolors/29.png[/url]]
     
    30. Copy and paste your newly recolored sprite up one directory where you pasted the original .spr and .act files. Now, let's tidy things up a bit.. If you have any extra files besides the original .spr and .act, delete those. Keep the female and male folders, AND the default .act as we still need that.
    http--,,--//justintfields.com/guides/recolors/30.png[/url]]
     
    31. Make a copy of the .act file.
    http--,,--//justintfields.com/guides/recolors/31.png[/url]]
     
    32. Rename it, and keep the female prefix.
    http--,,--//justintfields.com/guides/recolors/32.png[/url]]
     
    33. Select the male folder as if to rename it, but just copy the filename into your clipboard (Ctrl+C)
    http--,,--//justintfields.com/guides/recolors/33.png[/url]]
     
    34. Rename the other .act file, this time with a male prefix.
    http--,,--//justintfields.com/guides/recolors/34.png[/url]]
     
    35. Make a copy of your recolored .spr file.
    http--,,--//justintfields.com/guides/recolors/35.png[/url]]
     
    36. Rename the original and the copy to have the same names as the .act files (one male, one female)
    http--,,--//justintfields.com/guides/recolors/36.png[/url]]
     
    37. Move the male sprites to the male folder..
    http--,,--//justintfields.com/guides/recolors/37.png[/url]]
     
    38. And move the female sprites to the female folder..
    http--,,--//justintfields.com/guides/recolors/38.png[/url]]
     
    39. Go into the female folder and copy the .spr file to your clip board. Next, go up two directories so you can get into the drop sprite folder.
    http--,,--//justintfields.com/guides/recolors/39.png[/url]]
     
    40. Paste the .spr from your clip board inside of the drop sprite folder. It still needs a .act, so let's go grab it!
    http--,,--//justintfields.com/guides/recolors/40.png[/url]]
     
    41. Navigate to where you extracted files from the GRF in steps 4 and 5.
    http--,,--//justintfields.com/guides/recolors/41.png[/url]]
     
    42. Find the .act file associated with the headgear you chose to recolor. (Technically any .act in this folder will work fine, but for the sake of consistency in this tutorial, just humor me and do it.)
    http--,,--//justintfields.com/guides/recolors/42.png[/url]]
     
     
    43. Paste the .act file into where you have YOUR recolored sprite in your drop sprite folder.
    http--,,--//justintfields.com/guides/recolors/43.png[/url]]
     
    44. And rename it. Note: Take off any prefix (female or male) your files may have.
    http--,,--//justintfields.com/guides/recolors/44.png[/url]]
     
    45. Next, go up two directories into the "data" folder. If you've already made a texture folder, ignore this step.
    http--,,--//justintfields.com/guides/recolors/45.png[/url]]
     
    46. And inside this folder named texture, create the "collection" and "item" folders if you haven't already. (If you've followed this tutorial step by step, then disregard this step as you should have already created them.) We will, however, need to get back into the GRF and pull out the collection and item images belonging to the original sprite.
    http--,,--//justintfields.com/guides/recolors/46.png[/url]]
     
    47. So, let's re-open GRF Tool and open data.grf back up if you've closed it already.
    http--,,--//justintfields.com/guides/recolors/47.png[/url]]
     
    48. Search for "item" and then click "Extract", and extract the files to whatever folder you extracted the .spr and .act files to.
    http--,,--//justintfields.com/guides/recolors/48.png[/url]]
     
    49. Search for "collection" and then click "Extract", and extract the files to whatever folder you extracted the .spr and .act files to.
    http--,,--//justintfields.com/guides/recolors/49.png[/url]]
     
    50. Navigate to the folder you just extracted all of the item/collection images to (data/texture/À¯ÀúÀÎÅÍÆäÀ̽º/). Inside you will see two folders; collection and image
    http--,,--//justintfields.com/guides/recolors/50.png[/url]]
     
    51. Inside of the collection folder, find the image associated with your headgear you recolored, copy/paste it into your own collection image folder, and load the copied version into Photoshop.
    http--,,--//justintfields.com/guides/recolors/51.png[/url]]
     
    52. Inside of the item folder, find the image associated with your headgear you recolored, copy/paste it into your own item image folder, and load the copied version into Photoshop.
    http--,,--//justintfields.com/guides/recolors/52.png[/url]]
     
    53. Just to clarify,
    http--,,--//justintfields.com/guides/recolors/53.png[/url]]
     
    54. Now, rename the files to what you named your recolored sprite,
    http--,,--//justintfields.com/guides/recolors/54.png[/url]]
     
    55. Now, in Photoshop, let's play with Replace color once again!
    http--,,--//justintfields.com/guides/recolors/55.png[/url]]
     
    56. Replace the colors you need to, and save the image.
    http--,,--//justintfields.com/guides/recolors/56.png[/url]]
     
    57. Repeat with the second image,
    http--,,--//justintfields.com/guides/recolors/57.png[/url]]
     
    58. Go to /data/texture/ and if your "item" and "collection" folders aren't already inside of the long filename folder, À¯ÀúÀÎÅÍÆäÀ̽º/, then move them into it.
    http--,,--//justintfields.com/guides/recolors/58.png[/url]]
     
    59. At the end, you should have the following (assuming you did the same recolor as shown above, with the same filenames) files / file heirarchy:
     
    data
    ------- sprite
    ------- ------- ¾ÆÀÌÅÛ
    ------- ------- ------- racoon_head_recolor.spr
    ------- ------- ------- racoon_head_recolor.act
    ------- ------- ¾Ç¼¼»ç¸®
    ------- ------- ------- ¿©
    ------- ------- ------- ------- ¿©_racoon_head_recolor.spr
    ------- ------- ------- ------- ¿©_racoon_head_recolor.act
    ------- ------- ------- ³²
    ------- ------- ------- ------- ³²_racoon_head_recolor.spr
    ------- ------- ------- ------- ³²_racoon_head_recolor.act
    ------- texture------- ------- À¯ÀúÀÎÅÍÆäÀ̽º
    ------- ------- ------- item
    ------- ------- ------- ------- racoon_head_recolor.bmp
    ------- ------- ------- collection
    ------- ------- ------- ------- racoon_head_recolor.bmp
     
    Additional Notes
     
    This tutorial only covers creating the sprites. There are still additional steps to get them in-game: Creating the sprites is the most time-consuming part of the entire process, however.
     
    You may NOT copy/reproduce this guide without providing a link back to a location I've posted this guide to, and you must give me full credit. Thank you!
     
    A copy of this tutorial's contents can be found at the following address: http--,,--//justintfields.com/gu...or Tutorial.zip It includes the toolpack.zip, and all of the .png images, as well, the files and folders used in the tutorial for recoloring the Racoon hat.
     
    Addendum:
    Please do not bother asking me for support in this thread, as I will not be very active for the next several months due to university. I tried to "dummy proof" this guide as much as possible so that even the most novice of people could understand what's going on here.
     
    If you found this tutorial useful, PLEASE +1 this thread, rate me five stars, and consider sending me enough money to buy some Starbucks via Paypal: [email protected] -- Thank you and good luck!






  6. Upvote
    Ind reacted to Olrox in [Showcase] Sword Art Online - Start City   
    1. Concept
     
     
    These days I've been working on a plenty amount of maps. Mind you, I don't show all the requests I have everytime, I kinda try to only show the ones I consider have something new to offer.
     
    Here comes a request I had, that is about a recreation of the starting city of Sword Art Online (SAO)
     

    Some screens of the reference. The screen #1 shows the idea of a circular map, with a square shaped water area on center.
     
    The screen #2 the main plaza and one structure made of gold or bronze I guess, that has a clock on it. The #3 shows the main idea of the houses, main roads, colors, nature eviroment. Last, the screen #4 shows the black mansion, a more detailed view of the arcs aswell.
     
     
    2. Features
    [*]this ended up by becoming a big map, x225 size. [*]A lot of work around modeling from scratch (the arcs, the black structure, the clock structure, those houses, fountains, etc) however, this is the first time I tried to improve more in the texturizing to fit a more RO style.

     
    3. Video *watch in HD 1080p*
     


     4. Screenshots
     
    Some screenshots. There isn't a particular order or purpose on the screens here, just some overview screenshots and maybe some others that has to do with close ups.
     
     

     

     

     

     

     

     

  7. Upvote
    Ind got a reaction from 安赫尔 in Official Oktoberfest Costume Job   
    I don't have euRO and I got it to work o-o~
  8. Upvote
    Ind got a reaction from AnnieRuru in Someone know why rAthena is offline since 14 day   
    drama and hate speech are not welcome here on hercules.
    To rAthena staff: you're more than welcome to join us or remain as a community member if you wish to, however if you're here to crap around, get lost. I'll not allow hate speech and/or drama to take place in Hercules, our staff has been advised to delete such posts on sight.
  9. Upvote
    Ind got a reaction from Milchdealer in Hercules Renewal   
    Starting today we'll be going throughout all of our source code to modify how functions are called. so what?
    Benefit
    With this new implementation chances to have custom source modifications conflict when you update hercules will be drastically reduced. How? Instead of modifying existing functions users will be able to create a new version of them elsewhere, e.g. in a custom file, and have it replace the original one. How? very simple.
    battle->check_target = my_new_check_target_function; PluginsThis change opens the possibility for a new plugin implementation in the future.
    Project Vision
    We understand this move will conflict with some points in our project vision, we'll be modifying it soon.
    More
    We want Hercules to stand out, with that in mind we've been planning features exclusive to Hercules, features other projects won't be able to merge. And how is that even possible? features that will integrate with our forum is one example of them. For example a feature capable of automatically looking for new updates in scripts/modifications downloaded from our upcoming downloads section.
  10. Upvote
    Ind reacted to Ai4rei in Simple DLL Loader for RO Clients, last updated 2014/01/05   
    Simple DLL Loader for RO Clients


    About
    If you expect some super simple application, let me disappoint you, there is none; everything is already part of the RO client. Consider this post as a proof-of-concept. There are also certain catches that you should be aware of, before you start jumping for joy.

    All you need to do, is to give your library a .asi, .m3d or .flt extension instead of .dll and it will miraculously get loaded by the client when it starts up and is unloaded once it shuts down.

    While you can load pretty much any dynamic library this way, there is a major catch: when your DLL gets loaded, most of the initialization is already complete and the window is already visible, DirectX is not initialized at that point. So while this might be ideal for a client plug-in, that messes with the window or the client runtime, it's probably less usable for hot-patching of the initialization code. Another catch is, that the client will load fine when your DLL is deleted.

    Summary: While the process of loading a DLL with the extensions .asi, .m3d and .flt is simple, the point at which it gets loaded might be unsuitable for certain uses. Since it's not intrusive, it might be of use for client plug-ins.

    Demo: The linked demo consists of a pre-build DLL with source, that displays a message when loaded and unloaded for convenience of testing this PoC.

    Edit:
    Another issue noticed by Cataclysm: If "Sound Mode" in RO setup is set to "No Sound", DLLs will not be loaded.

    Download
    demo

    QA
    How does this work?
    Your DLL is loaded as a driver for the Miles Sound System (mss32.dll), but since it does not register with it, it does not interfere with it in any way.  
    License

    This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  11. Upvote
    Ind got a reaction from AnnieRuru in Implement The Shadows System   
    There we go https://github.com/HerculesWS/Hercules/commit/baef78f7954fa4e6fa2449f2c7de92a901c7f5f3 this is the base of the feature, which allows for shadow gear to be created (the item db entries)
  12. Upvote
    Ind got a reaction from Yuka in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  13. Upvote
    Ind got a reaction from Dastgir in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  14. Upvote
    Ind got a reaction from EriNa_KillerSoul in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  15. Upvote
    Ind got a reaction from KaitoKid in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  16. Upvote
    Ind got a reaction from Ehwaz in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  17. Upvote
    Ind got a reaction from pan in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  18. Upvote
    Ind got a reaction from Envolvents in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  19. Upvote
    Ind got a reaction from Michi in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  20. Upvote
    Ind got a reaction from JulioCF in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  21. Upvote
    Ind got a reaction from Jedzkie in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  22. Upvote
    Ind got a reaction from hemagx in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  23. Upvote
    Ind got a reaction from Mhalicot in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  24. Upvote
    Ind got a reaction from Samuel in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
  25. Upvote
    Ind got a reaction from Yuki in Christmas Patch! Gift'o   
    Gift'o! From Hercules, to your server!
    We wish you happy holidays, and thank you for your support.
    May the New Year bring you happiness and peace.
     
    2013-12-23c Client Support
    Thanks to Yommy and Rytech! NPC Market Support A new type of NPC Shop where item availability is limited, for example you can have a vender start with 50x Red Potions and set mechanics for the red potions to be refurbished (for example could be as simple as a OnClock, where Red Potions are refurbished every y hour, or elaborate e.g. be connected with a game quest where players need to help a merchant npc get to the shop in order for it to be resupplied) Available as a NPC Trader subset (details will follow) @costume Oktoberfest NPC Trader
    A whole different way to set up shops, they're easier to read and flexible to customize. Previous format still supported (in the scenario we drop the previous we'll provide a conversion tool) To begin with, 'trader' is a phony name, its only purpose is to sign the parser that 'this npc will open the shop when clicked'. the trader npc is in fact a 'script' type (and thus script types can create/manipulate trader shops, and open them with the help of openshop()). Normal Zeny Shop moc_ruins,93,53,2    trader    Item Collector#moc1    4_M_03,{ OnInit:     sellitem Scell;     sellitem Monster's_Feed;     sellitem Animal's_Skin;     sellitem Bill_Of_Birds; } Custom Shop Script has full control over currency, which allows for scripts to use anything, from quests, to items, variables, etca. For Example: prontera,153,152,1    trader    TestCustom2    952,{ OnInit:     tradertype(NST_CUSTOM);     sellitem Red_Potion;     end;   /* allows currency to be Red_Potion */ OnCountFunds:     setcurrency(countitem(Red_Potion));     end;   /* receives @price (total cost) */ OnPayFunds:     if( countitem(Red_Potion) < @price )         end;     delitem Red_Potion,@price;     purchaseok();     end; } NPC Market ShopThis is the type I mentioned earlier, where item availability is limited prontera,150,160,6    trader    HaiMarket    952,{ OnInit:     tradertype(NST_MARKET);     sellitem Red_Potion,-1,50;     end;   OnClock0000://resupplies red potions on midnight OnMyResupply://instead of midnight, a event could trigger HaiMarket::OnMyResupply     if( shopcount(Red_Potion) < 50 )         sellitem Red_Potion,-1,50;     end; }The quantity data is disaster-safe, I mean it is persistent to @reloadscript and server restarts (If there were 39 Red Potions on sale upon restart/reloadscript, it continues to be 39 instead of resetting back to 50). 7 script commands to help control (documentation for all of them is present in script_commands.txt): openshop,sellitem,stopselling,setcurrency,tradertype,purchaseok,shopcount Trader Design by
    Yommy Haru jaBote mkbu95 Gepard Emistry Ind Special Thanks To
    Haru Yommy JaBote Muad_Dib Link'u~!
    Commit: https://github.com/HerculesWS/Hercules/commit/cf19b26d50ac96111e44c33a80afd1f1ea935cec NPC Trader Samples: https://raw.github.com/herculesWS/Hercules/master/doc/sample/npc_trader_sample.txt (Upcoming) GM Interface for Cash Shop Control

    Found that on the new client, support is being worked on (Data thanks to Yommy <3).
×
×
  • Create New...

Important Information

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