Jump to content

fiction

Members
  • Content Count

    153
  • Joined

  • Last visited

  • Days Won

    4

Reputation Activity

  1. Like
    fiction reacted to raPalooza~ in [Showcase] Custom mob HP bar   
    With the usage of HatEffects(.str files) and source editing I was able to create a new mob HP bar with a more modern look to it. ;] Even add different color and effects to MVP and Minibosses...
    Since it uses hateffect lua files i found some limitations regarding the ID(dunno if client locked)... wich is bad ;/ it also uses a huge amount of str effects since you need 1 for each hp stage... I did mine with 20 different bar %...
     
     
  2. Like
    fiction reacted to Ridley in March - April Digest 2019   
    March - April Digest 2019
    The following digest covers the month of March 1st - April 30th 2019

    Team Changes
    @Mystery is stepping back from his role as Community Administrator.  @Ridley is taking the role as Community Administrator  
    Development Highlights
    Added configuration to enable/disable achievement system (#2170) Updated packets, shuffle packets, keys and messages up to 2019-04-03 and added packet CZ_STYLE_CLOSE (#2406) Server is now sending Ping packets or clients 20190320 RE+ Add chat command /resetcooltime Add allow call option Open macro ui in client by request  
    Developmental Changes
    getinventorylist now creates extra variable named @inventorylist_idx, which returns items corresponding
    inventory index. (#2401) *gettimestr is now updated by *getcalendartim (#2388) change *rand() into *rnd() to prevent certain compiler issues (#2403) Deprecate *petstat and add CONSTANTS to *getpetinfo (#2398) Rename clif_charnameack into clif_blname_ack Add new server define constant MAX_ITEM_ID  (#2367) Add optional parameter for *showscript to send target to SELF only (#2415) Improvents on RoDex (#2437) Add account id and char id into inter server rodex update packet Improve get zeny and items from rodex Automatically migrate pets to the new system that keeps hatched eggs in the inventory (#2428)  
    Bug Fixes
    Fix UDT_LEVEL when show_mob_info level display is on (#2408) Fix pet autofeed feature (#2417) Fiix a bug when loading mob_skill_db.sql (#2416) Add missing enum value for clif_feel_req Fix possible null pointers in battle.c and clif.c Fix @bodystyle crash client (#2402) Special thanks to
    @Haru @4144 @hemagx @AnnieRuru @louisplag @KirieZ
  3. Upvote
    fiction reacted to 4144 in Max Atk   
    I created this pr https://github.com/HerculesWS/Hercules/pull/2419 for allow change some limits
  4. Upvote
    fiction reacted to Hyvraine in Avatar and Signature Generator FluxCP Addon   
    File Name: Avatar and Signature Generator FluxCP Addon
    File Submitter: Hyvraine
    File Submitted: 17 Apr 2016
    File Category: Web Resources
     
     
    This is based on KeyWorld's [Vincent Thibault] ROChargenPHP. I just made some little tweaks to work some things out. The only difference is that it's made into a FluxCP addon instead of having it on a different folder, so you don't have to write down your server's credentials again.

    I have only tested this yet on the latest Herc FluxCP so, uhm, you know, try not to ask for installation help on rA Flux just yet.  (Although it should work just fine on rA Flux, haven't tried it yet but it should.)
    I'm going to upload the sprite.grf soon so look out for edit/s on this post for the link.http://www.mediafire.com/download/1nta77tc0obolhf/sprite.grf

    Installation
    1. After extracting the ZIP file inside the addons folder, put your own GRFs inside 'addons\chargen\modules\chargen\client'. And also, edit the DATA.ini to list your GRFs.
    2. You're good to go!
    3. There are some settings inside the addon.php (addons\chargen\config\addon.php):
    This line changes the cache time for your avatar's status.
    'ChargenCacheTime' => 0.1, ////In minutes These are the default backgrounds/border for your avatar/signature in case you didn't click on any of them in the creation menu.
    'default_avaBG' => "background00.jpg", //Default Avatar Background BG'default_avaBD' => "border.png", //Default Avatar Border'default_sigBG' => "background01.jpg", You can have your custom INI, just make sure you edit the name here.
    'Data_INI' => "DATA.INI", Like on KeyWorld's thread, setting this to true would have an improvement on speed as it's not looking inside the GRFs again and again.
    'AutoExtract' => true, These are the file types that the addon will read inside the backgrounds/borders folder.
    'supported_filetypes' => array('gif','jpg','jpeg','png'), //List of supported filetypes for background and border. You can also edit the default values but it's very unlikely that it will ever be needed at some point.

    Fetching images
    By default you can only fetch images when the data file has been created by the owner of that character. Sorry, but there's no turn off switch for that.
     
    This is how you can fetch an avatar image of a character
     
    <fluxcp>/?module=chargen&action=avatar&request=<charnamehere>   
    This is for the signature
     
    <fluxcp>/?module=chargen&action=signature&request=<charnamehere> -------------

    To add more backgrounds for the avatar creation just simply add them inside the dedicated folder for it: 'addons\chargen\modules\chargen\data\avatar\background'
    To add more borders for the avatar creation simply add them inside the borders folder: 'addons\chargen\modules\chargen\data\avatar\border'
    The same is also for the signatures (it's on addons\chargen\modules\chargen\data\signature). I'll add support for borders soon but I think you could just edit the background for the meantime. /no1

    And I think that's all you need to know! Everything should be working now, and if it isn't don't hesitate to ask. Please report bugs too, I know it's not written that well. :/

    License is the same as the original: http://creativecommons.org/licenses/by-nc-sa/3.0/

    Notes:
    This does not generate head-only, nor monsters, nor character-only images. Click here to download this file
  5. Upvote
    fiction reacted to AnnieRuru in H> unlock menu with certain requeriments   
    why not?
    prontera,155,185,5 script quest 1_F_MARIA,{ mes "quest giver"; next; for ( .@i = 0; .@i < 3; ++.@i ) .@menu$[.@i] = sprintf( _$( "%sQuest %d" ), F_MesColor((quest > .@i *2)? C_GRAY : C_BLACK), .@i +1 ); .@s = select( implode( .@menu$, ":" ) ) -1; .@state = .@s *2; if ( quest > .@state ) { mes "you have completed this quest"; close; } else if ( quest < .@state ) { mes "you can't take this quest yet."; close; } mesf "Go talk to npc %d", .@s +1; quest = .@state +1; close; } function script F_quest_state { .@npcid = getarg(0); .@state = (.@npcid -1) *2 +1; if ( quest == .@state ) { dispbottom sprintf( _$( "complete %d" ), .@npcid ); quest = .@state +1; } end; } prontera,150,180,5 script npc 1 1_F_MARIA,{ F_quest_state(1); } prontera,155,180,5 script npc 2 1_F_MARIA,{ F_quest_state(2); } prontera,160,180,5 script npc 3 1_F_MARIA,{ F_quest_state(3); } prontera,160,185,5 script reset 1_F_MARIA,{ quest = 0; }  
    and this is quest log with achievement system
    { Id: 49920 Name: "Quest 1" }, { Id: 49921 Name: "Quest 2" }, { Id: 49922 Name: "Quest 3" }, [49920] = { Title = "Quest 1", IconName = "ico_nq.bmp", Description = { "Talk to <NAVI>NPC 1<INFO>prontera,150,180,</INFO></NAVI>" }, Summary = "Talk to NPC 1", NpcSpr = "1_F_MARIA", NpcNavi = "prontera", NpcPosX = 150, NpcPosY = 180, }, [49921] = { Title = "Quest 2", IconName = "ico_nq.bmp", Description = { "Talk to <NAVI>NPC 2<INFO>prontera,155,180,</INFO></NAVI>" }, Summary = "Talk to NPC 2", NpcSpr = "1_F_MARIA", NpcNavi = "prontera", NpcPosX = 155, NpcPosY = 180, }, [49922] = { Title = "Quest 3", IconName = "ico_nq.bmp", Description = { "Talk to <NAVI>NPC 3<INFO>prontera,160,180,</INFO></NAVI>" }, Summary = "Talk to NPC 3", NpcSpr = "1_F_MARIA", NpcNavi = "prontera", NpcPosX = 160, NpcPosY = 180, } { Id: 109993 Name: "Custom Quest" Type: "ACH_QUEST" Objectives: { *1: { Description: "Complete Quest 1" } *2: { Description: "Complete Quest 2" } *3: { Description: "Complete Quest 3" } } Points: 0 }, [109993] = { UI_Type = 0, group = "CHATTING", major = 4, minor = 0, title = "Custom Quest", content = { summary = "Visit the Quest Giver", details = "Visit the Quest Giver." }, resource = { [1] = { text = "Complete Quest 1" }, [2] = { text = "Complete Quest 2" }, [3] = { text = "Complete Quest 3" } }, score = 0 }, prontera,155,185,5 script quest 1_F_MARIA,{ mes "quest giver"; next; for ( .@i = 0; .@i < 3; ++.@i ) .@menu$[.@i] = sprintf( _$( "%sQuest %d" ), F_MesColor((questprogress( 49920+ .@i ) == 2)? C_GRAY : C_BLACK), .@i +1 ); .@s = select( implode( .@menu$, ":" ) ) -1; .@qid = 49920+ .@s; if ( questprogress(.@qid) == 2 ) { mes "you have completed this quest"; close; } else if ( .@qid == 49920 ); // break; else if ( questprogress(.@qid -1) != 2 ) { mes "you can't take this quest yet."; close; } mesf "Go talk to npc %d", .@s +1; if ( questprogress(.@qid) == 0 ) setquest .@qid; close; } function script F_quest_state { .@npcid = getarg(0); .@qid = .@npcid -1 + 49920; if ( questprogress(.@qid) == 1 ) { completequest .@qid; dispbottom sprintf( _$( "complete %d" ), .@npcid ); achievement_progress 109993, .@npcid, 1, 1; } end; } prontera,150,180,5 script npc 1 1_F_MARIA,{ F_quest_state(1); } prontera,155,180,5 script npc 2 1_F_MARIA,{ F_quest_state(2); } prontera,160,180,5 script npc 3 1_F_MARIA,{ F_quest_state(3); } prontera,160,185,5 script reset 1_F_MARIA,{ for ( .@i = 49920; .@i <= 49922; ++.@i ) if ( questprogress(.@i) ) erasequest(.@i); end; }  
    have fun playing with it
    actually this is very simple script, just wanna play around a little bit
  6. Upvote
    fiction got a reaction from Sephus in BladeCP - An advanced CMS   
    Good!, i'm become your patreon now!.
  7. Upvote
    fiction reacted to AnnieRuru in ITEML function   
    Credits goes to Cydh and members at opencore
    Download : 1.1
    script
     
    item link system, shift-click on the item to display the item description
    thanks to Cydh posting the topic, I also get a crack on the formula,
    although this is a script function ... well not a script command like cydh did ... but I guess it also gets the job done
     
    F_ITEML( <ItemID>{, <refine>{, <card1>, <card2>, <card3>, <card4>{, <item option ID>, <item option value>, <item option param> }}} );
    prontera,155,180,5 script final test 1_F_MARIA,{ // getnameditem 501, getcharid(0); npctalk F_ITEML(501); npctalk F_ITEML(1201); npctalk F_ITEML(5083); npctalk F_ITEML(19543); npctalk F_ITEML(501, 0, 254, 0, getcharid(CHAR_ID_CHAR) & 65535, getcharid(CHAR_ID_CHAR) >> 16); consolemes CONSOLEMES_INFO, F_ITEML(501, 0, 254, 0, getcharid(CHAR_ID_CHAR) & 65535, getcharid(CHAR_ID_CHAR) >> 16); npctalk F_ITEML(1501, 13); npctalk F_ITEML(1501, 13, 4001, 4002, 4003, 4004); npctalk F_ITEML(5083, 0, 4001,4001,4001,4001, 1,2000,0); npctalk F_ITEML(5083, 0, 4001,4001,4001,4001, VAR_ATTPOWER,2000,0); setarray .@opt_id, VAR_MAXHPAMOUNT, VAR_MAXSPAMOUNT; setarray .@opt_value, 2000, 2000; // setarray .@opt_param, 0, 0; npctalk F_ITEML(5083, 0, 4001,4001,4001,4001, .@opt_id, .@opt_value, .@opt_param); // consolemes CONSOLEMES_INFO, F_ITEML(5083, 0, 4001,4001,4001,4001, .@opt_id, .@opt_value, .@opt_param); end; }  
  8. Upvote
    fiction reacted to Sephus in BladeCP - An advanced CMS   
    This project is now alive again, since I've received many requests for it. I've decided to make it really cheap. If you're interested, check out my patreon page and subscribe to tier Blade CP Access or above to get access to it. PM me on discord @Sxyz#0202 
    The cpanel includes master account system, password changes, account management and character management. Awesome tooltips for items/monsters/quests all via Laravel (the supreme php framework). However, it's still missing a donation system, online shop and monster/quest database.
  9. Upvote
    fiction reacted to AnnieRuru in Q> about setunitdata   
    that's why I keep saying hercules mob controller is utterly broken
    there are 2 problems here
    1. the hp and max hp is very strange thing
    when you want to increase the monster hp, setunitdata UDT_MAXHP 1st, then UDT_HP later
    when you want to decrease the monster hp, setunitdata UDT_HP 1st, then UDT_MAXHP later
    I'm not even sure need to fix this or not, because rathena also doing this way
    2. yes, our recalculate monster status are broken
    https://github.com/HerculesWS/Hercules/pull/2408
    prontera,155,185,5 script askdaksd 1_F_MARIA,{ .@mobgid = monster( "this", -1,-1, "--ja--", PORING, 1 ); setunitdata .@mobgid, UDT_MAXHP, 1000000; setunitdata .@mobgid, UDT_HP, 1000000; setunitdata .@mobgid, UDT_LEVEL, 99; end; }  
  10. Upvote
    fiction reacted to AnnieRuru in Card Seller A-Z   
    this is probably one of my famous script, just realize it recently
    Download : 1.2
    script
     
     
    History :
    originally this was only made for fun
    https://rathena.org/board/topic/73478-requesting-card-seller-script/?do=findComment&comment=154507
    but then Euphy loves it, so it was added in SVN later,
    https://rathena.org/board/topic/89071-development-news/?do=findComment&comment=242965
    but then rAthena changed their monster mode
    https://github.com/rathena/rathena/commit/55e4df14c2141f291a985c391408a045ec1b25c4#diff-9120180df02487486d9abaddf38f9c49
    after this script was reported broken, couldn't use in Hercules anymore
    https://github.com/rathena/rathena/issues/2844
    so I have to fix this script for use in Hercules
    my KRO still not update enough to use Barter system, but this format shouldn't be very far from it
     
  11. Upvote
    fiction reacted to 4144 in Some upcoming hercules features   
    Futures already added to hercules:
    Inventory expanding
     http://imgc1.gnjoy.com/ufile/ro/2018/11/21/QK3O60RA1MGOMU301NUO.gif
    Supported from clients: 2018-10-31 ragexe/ragexeRE, 2018-11-14 zero.
    For expand inventory need to have in inventory item Inventory_Extension_Coupon (25793)
     
    Barter shop
     
    Supported from  clients: 2019-01-16 ragexe/ragexeRE, 2018-12-26 zero.
    For shop barter shop need uncomment line
    "npc/custom/bartershop.txt", in npc/scripts_custom.conf. Barter shop demo npc will be added in prontera at (159, 284).
     
    Most client exes can be downloaded here: http://nemo.herc.ws/downloads/
  12. Upvote
    fiction reacted to Mystery in April 2017 Digest   
    April Digest 2017
    The following digest covers the month of April 1st - April 30th 2017
     
     
    Development Highlights
    Implementation of unit controlling script commands  Implementation of Item Options System Add missing non shuffle packets for 2014 - 2015 years. Unequip arrows when a bow is unequipped. (RE only) add getunits() buildin Fix a null pointer in guild->isallied()  Fix wrong parameters in a call to mapif->party_broken()  Monster Vulture's Eye and Snake's Eye removed Update Status ID Update NPC ID Implemented Official Summer 2 Costume Added oktoberfest_ignorepalette configuration Made prevent_logout effect on log-in optional  Removed hard coded values on @cashmount and setcashmount. Added AB_HIGHNESSHEAL in skill_add_heal_rate configuration Removal of cashfood_use_interval setting. Status effects from Cash Food items cannot be removed by death. expose bank vault to the script engine Removal of rare_drop_announce config. Added job checks for @bodystyle command  Tons of Packets Changes and Information  Remove wrong and duplicate packets for 20150226 Fix non shuffle unused packets in 20140305. Fix shuffle packets for 2014-01-15eRagexe. Move packets ZC_SELECTCART and CZ_SELECTCART into past into correct date Fix shuffle packets for 2015-10-01aRagexe. Added the correct PACKETVER Date for MSG_NPC_WORK_IN_PROGRESS message. Add encryption packets for 2016 RE clients. New Packet Additions: 2015-01-07aRagexeRE | 2015-01-14aRagexe | 2015-01-28aRagexe | 2015-02-04aRagexe | 2015-02-25aRagexeRE | 2015-02-26aRagexeRE | 2015-03-11aRagexeRE | 2015-03-25aRagexe | 2015-04-01aRagexe | 2015-04-22aRagexeRE | 2015-04-29aRagexe | 2015-05-07bRagexe | 2015-05-27aRagexe | 2015-06-17aRagexeRE | 2015-06-18aRagexeRE | 2015-08-19aRagexeRE | 2015-08-26aRagexeRE | 2015-10-07aRagexeRE | 2015-10-14bRagexeRE | 2015-10-28cRagexeRE | 2015-11-18aRagexeRE | 2015-12-02bRagexeRE | 2015-12-23bRagexeRE Additional Shuffle Packets 2016-01-27bRagexeRE | 2016-02-03aRagexeRE | 2016-02-17cRagexeRE | 2016-03-02bRagexeRE | 2016-03-09aRagexeRE | 2016-03-30aRagexeRE | 2016-05-11aRagexeRE | 2016-05-25aRagexeRE | 2016-06-08aRagexeRE | 2016-06-15aRagexeRE | 2016-06-30aRagexeRE | 2016-07-06cRagexeRE | 2016-07-13bRagexeRE | 2016-07-20aRagexeRE | 2016-07-27bRagexeRE | 2016-08-31bRagexeRE | 2016-09-07aRagexeRE | 2016-09-21bRagexeRE | 2016-10-12aRagexeRE | 2016-10-26bRagexeRE | 2016-11-09bRagexeRE | 2016-12-07eRagexeRE | 2016-12-14bRagexeRE | 2016-12-21aRagexeRE  
    Database Highlights
    Novice SP Table correction Fix wrong level check for MC_CHANGECART skill Implemented official Giant Fly Wing Effect Update GX Poison items Update Rune Knight Runes & Ores  
     

     
    New script commands: chr ord gettimer getunits getvariableofpc can_use_command has_permission addchannelhandler removechannelhandler setunitdata getunitdata getunitname setunitname getequipisenableopt getequippedoptioninfo getequipoptioninfo setequipoption navigateto   Modified script commands (extra parameters): strcharinfo strnpcinfo addtimer deltimer addtimercount checkoption checkoption1 checkoption2 setoption warpparty warpguild classchange   New params: BankVault  
    Big projects currently in development:
    Implementation of the official Clan system Implementation of the official RoDEX system Implementation of the official Achievements system Complete rewrite of the map cache system  
     Thanks to Meko for posting this information and helping out! 
     

     
    April Statistics
    During the period there were 147 Commits. 31 Commits from Pull Requests with 8 Bugs* fixed from merged issues.  
    *Please note: Bug fixes are counted as references to issues; it does not include bugs that have been fixed without issue reference. The number of commits includes those that were merged.
  13. Upvote
    fiction reacted to Sephus in Introducing the Item Options System   
    Introducing the Item Options System!
     

     
    Commit
    https://github.com/HerculesWS/Hercules/commit/974222a8d3f189083205bf5d330de04a43226ad3
     
    Feature Information
    The Item Option System is a feature that was implemented in 2015-02-26 clients, allowing equipments to have up to 5 additional effects similar to cards or enchants. Each equipment is capable of having 5 information bars above the card slot/enchant bar that describes the effect of the option it is infused with.
     
    New Script Commands (The following snippet is available in doc/script_commands.txt.)
    *getequipisenableopt(<equipment slot>) This function checks if the equipped item allows the use of bonus options. Returns 1 if allowed, 0 if not. --------------------------------------- *getequippedoptioninfo(<info_type>); This function is to be used with the scripts of contents listed in db/item_options.conf only. Returns the value of the current equipment being parsed. If the equip was not found or the type is invalid, -1 is returned. --------------------------------------- *getequipoptioninfo(<equip_index>,<slot>,<type>); Gets the option information of an equipment. <equipment_index> For a list of equipment indexes see getequipid(). <option_slot> can range from 1 to MAX_ITEM_OPTIONS <type> can be IT_OPT_INDEX (the ID of the option bonus, @see "Id" or "Name" in db/item_options.conf) or IT_OPT_VALUE (the value of the bonus script of the equipment, @see "Script" in db_item_options.conf). returns the value of the slot if exists or -1 for invalid slot, type or slots. --------------------------------------- *setequipoption(<equip_index>,<slot>,<opt_index>,<value>); Set an equipment's option index or value for the specified option slot. <equipment_index> For a list of equipment indexes see getequipid(). <option_slot> can range from 1 to MAX_ITEM_OPTIONS <type> can be IT_OPT_INDEX (the ID of the option bonus, @see "Id" or "Name" in db/item_options.conf) <value> The value of the type to be set. returns 0 if value couldn't be set, 1 on success.  
     
    Release Notes
    This system allows the infusing of equipments with bonus item options. This feature is constrained to clients of packet versions greater than or equal to 20150226. Item Options and their effects are defined server-side in db/item_options.conf and client side in data/luafiles514/lua files/datainfo/addrandomoptionnametable.lub The ID of the option must tally with the correct index of the description provided in the client side file. IT_OPT_* keys and MAX_ITEM_OPTIONS macro are also exported from the source as constants. If you wish to disable item options for certain (equipment) items, an additional flag `disable_options` has been added to the item sql tables, and as `DisableOptions: true/false (boolean, defaults to false !!for equipments only!!)` to the item_db.conf files. Documentation is provided for script commands. If upgrading, don't forget to run the sql upgrade files!
    Credits
    A big thanks to all the reviewers that helped make the code closer to perfection. -
    Emistry, dastgir, MishimaHaruna, Jedzkie, Ridley8819, Asheraf, 4144.
     
    Style and Script Fixes by Asheraf (https://github.com/Asheraf)
    Initial design Idea in rAthena commit.
  14. Upvote
    fiction reacted to Haru in About Code Review and Why You'd Want Your Code to Be Reviewed   
    About Code Review and Why You'd Want Your Code to Be Reviewed
     
    Hello, fellow developers and code contributors!
    As you certainly know, years ago, Hercules adopted a workflow based on pull requests, that includes code review as one of the necessary steps before any new piece of code makes it into the master branch of the repository.
    While being an uncommon and somewhat controversial change in Hercules (and in the RO emulator scene in general), code review is part of the workflow of most software projects, both open source and closed source, and has many benefits.
     
    Why Code Review
     
    The benefits of code review are several:
    "Given enough eyeballs, all bugs are shallow" [Linus's Law by Eric S. Raymond -- The Cathedral and the Bazaar, 1999]. While the law is not strictly true, it's certainly true that the more developers read and analyze a piece of code, the more likely it is that bugs that might be hidden in it are discovered early. Testing is not enough. It's very hard (or in the case of our codebase just plain impossible) to cover all the possible edge cases when testing a new feature or a fix. An additional pair of eyes reading the code may help discovering those more easily. This includes cases where the client would normally prevent a certain thing from happening, but it's not ensured anywhere on the server side. Better quality of code. By having other developers read a piece of code, they'll end up wondering why a certain approach was taken, rather than another, and discuss it with the submitter, leading to better, more efficient algorithms, or better engineered code. Better documentation. Since the code needs to be read by other people, it'll require proper comments (or they'll ask for explanations about the parts they can't easily explain). This increases the chance that the author, or anyone else that will need to read the same code again months or years after it's been submitted, will be able to understand it again, by finding appropriate comments in the appropriate parts of the code. Better insight into the code across the team. By reading code from different parts of the emulator as part of the review process, every team member increases their own general knowledge of the software, bit by bit. This is a very efficient way of learning how different parts of the emulator work, and why they were implemented that way. Future-proofing. By having public reviews, we keep a permanent trace of what were the hot topics and why certain decisions were taken, when a certain part of the emulator was implemented. If a bug arises, or something needs to be redesigned in future, we can look up the associated pull request and related discussion, and learn more about the discussion that went on in the past, and what's hiding behind code design decisions. Reviewing code from other people, as well as having one's own code reviewed by others might not be easy for everyone, especially at the beginning, but please try your best. Here are some suggestions on how to approach code review from either side. 
    How to approach code review (for code authors)
     
    As a code author, the worst thing you can do is to be afraid or shy about other people judging your code. This is the wrong approach! Don't be shy, have your code looked at by others, have them praise you for your genial approach to tackle a problem, listen to their suggestions on how to improve it. But be ready to defend your implementation, if you believe it's better than the suggestions you receive, or if the critics that are moved against it are wrong or meaningless.
     
    Always keep in mind that:
    Having your code reviewed and commented on isn't humiliating. Other people are spending their time looking at your code, asking you why you did something in a certain way rather than another, suggesting improvements. Both sides have a lot to learn from each others. (On the other hand, if no one reviews your code, that's somewhat humiliating!) If someone spots an issue in your code, it doesn't mean that you're a bad developer. We all make mistakes, and we should be happy to learn from them (and it's definitely better if someone spots them and points them out to us before it's too late and they were able to do some harm). Never, ever, take code review personally. No one will laugh about you, fire you, kill you, shame you, etc. if your code is commented on. If you believe you're right and the comments you received are pointless or wrong, chance is that you really are right. Be ready to defend your reasons, it's possible that the reviewer didn't think of them. It is your duty to explain them your reasons. How to approach code review (for code reviewers) 
    Reviewing code is several orders of magnitude harder than having your own code reviewed. You have to check the code for several classes of problems, point out your findings, suggest improvements. And you still have to deal with the worry about hurting the code author's feelings when pointing out a mistake.
     
    Here are some things you should keep in mind when reading and reviewing code from other people:
    You're not judging a person. You're judging code. Don't make your review sound personal. Always think of uncommon and edge cases, and never assume they can't happen, unless there's an explicit check that makes them impossible to happen. Even if the code was tested by the author, it doesn't mean that it can't cause problems to other existing features, or have some issues the author couldn't think of. If the same person writes and tests a piece of code, the chance that they don't test the cases they forgot to handle while coding, is very close to 100%. If the code is not following the project's style guidelines (and this isn't just about indentation, but also about names, conventions about function calls, proper modularization, etc), it is your duty to point it out now, before it's merged. This will make the life of your fellow developers easier later on. Think defensively. Consider the code you have in front of you as buggy until you can prove its correctness. If you see that a sanity check is missing, ask the author to add it. If you believe that a function returns the wrong value in certain cases, even if very unlikely to occur, prepare an example of input for which that happens and point it out. Remember that threats such as overflows, underflows, buffer overruns, null pointers, invalid pointers, numeric (floating point) approximation, etc. are always behind the corner, check for them as often as possible and prove that they can't occur. And remember that, while the code author isn't your enemy (and code review shouldn't generate negative feelings), it's often a good idea to think of them as your "professional enemies". There's a chance that something nasty is hiding in their code, even if they didn't write it with ill intent, and as such, you shouldn't blindly trust the code, regardless of who the author is. Don't be afraid when you comment on other people's code. Your goal isn't to hurt their feelings, you're asking them for explanations and/or suggesting the way you would have done something. Likewise, don't be afraid of making a pointless comment. If the author has a good reason for their implementation, be ready to take back your comment and learn from them. Don't accept compromises. If you're firmly convinced that the author's defense of their code is wrong, your duty is to prove them wrong. But if they manage to convince you, don't be ashamed of admitting you were wrong. Happy reviewing!
  15. Upvote
    fiction reacted to Happy in Happy Devs: Bring out the best Ragnarok in you.   
    Status: 3/3 Slots Full. But feel free to msg to reserve a slot.
    Happy Devs Website: devhappy.info
    Skype: mark.mogudev
    Discord: _hpy
     

    Starting Prices(show spoiler)
     
     
     
     
    Payment Schedules
    At least 50% of the cost must be paid before development starts. The rest of the payment must be paid before the finish work is delivered. You can pay via WESTERN UNION, PAYPAL, Crypto, or Binance USD (BUSD)  
     
    Please read our Terms of Service before proceeding with any transaction and inquiry with us.
     
    Website: https://happydevs.online
    Skype: mark.mogudev
    Discord: hpy#0001
     
    Service Reviews(from this topic itself)







  16. Upvote
    fiction reacted to Sephus in Hercules Battlegrounds   
    Hercules Battlegrounds
    A full conversion and enhancement of eAmod's Battlegrounds system into a easy-to-install Hercules plugin library.
    Version: 1.0a (alpha)
     

     
    Repository @ https://github.com/Smokexyz/HerculesBG

    Installation
    1) Place plugin files in plugin directory. (If you wish to re-compile the code, please do so the standard way.)
    2) Place all script files in the default directory provided in the repository (or your own).
    3) Place all database and config parts in their respective files.
    4) in conf/plugins.conf add "hBG".
     
    Instructions on installing Plugins - http://herc.ws/wiki/HPM#Building_a_plugin
     
    Battleground Modes
    Capture the Flag Eye of Storm Triple Inferno Team DeathMatch Bossnia Conquest Stone Control Domination Rush Free For All Why use it?
    1) Prevents conflicts when updating Hercules.
    2) Easy to install.
    3) Can be easily modified for more functions/features in the future.

    For contributors
    If you wish to add a free BG script to the list of available battleground modes, please contact me.
     
    Bug Reporting
    Please feel free to open an issue on the repository and I'll get to it as soon as I can.

    Donate to support the project and motivate updates.


  17. Upvote
    fiction reacted to Mystery in February 2017 Digest   
    February Digest 2017
    The following digest covers the month of February 1st - February 28th 2017
     
     
    Team Changes
    hemagx has been moved to Former Core Developer from Core Developer Ragno has been moved to Community Contributor Frost has been moved to Script Developer from Former Script Developer (welcome back!)  
     
    Development Highlights
    Update gitlab-ci configuration to match current debian packages Fixes named items having their names changed when near other players Adds GvG2 zone on WoE:SE maps, disabling use of Leap/High Jump Fixes disguise position de-synchronization add chr() and ord() buildins Added option to show classchange only to one player Fix a CI build failure (gcc-5)  
     
    Scripting Highlights
    Add quest log for moscovia quests remove useless check for questprogress Fixes getbattleflag on npc/other/auction.txt  
     
    February Statistics
    During the period there were 19 Commits. 10 Commits from Pull Requests with 3 Bugs* fixed from merged issues.  
    *Please note: Bug fixes are counted as references to issues; it does not include bugs that have been fixed without issue reference. The number of commits includes those that were merged.
  18. Upvote
    fiction reacted to Mystery in October Digest 2016   
    October Digest 2016
    The following digest covers the month of October 1st - October 31st 2016
     
     
    Team Changes
    None  
    Development Highlights
     
    Update Intro (Renewal) (#1427) Updated MapCache Added Doxygen configuration (use 'make docs' to generate) Initial dimensional gap commit (#1431) CRI should only be calculated if flag have SCB_CRI Fix packet id for clif_heal for packet version >= 20150513 Change *getcharid to use constants [Fixed] Dont send packets for known unsupported client versions Added Packets for Several Clients (2015-10-01, 2015-10-29, 2015-11-04, 2015-12-16) Added new Character Creation Packet JOB_SUMMONER Placeholder Added Summoner Class & Added Summoner Skills(in DB) Implemented SU_BASIC_SKILL Skill of Summoner Implemented SU_BITE Skill, SU_HIDE, SU_SCRATCH, SU_STOOP, SU_LOPE Skill SU_SPRITEMABLE, SU_FRESHSHRIMP, SU_POWEROFLAND, SU_SV_STEMSPEAR SU_CN_POWDERING, SU_CN_METEOR, SU_POWEROFLIFE, SU_SV_ROOTTWIST, SU_SCAROFTAROU, SU_PICKYPECK, SU_ARCLOUSEDASH, SU_LUNATICCARROTBEAT, SU_POWEROFSEA, SU_TUNABELLY, SU_TUNAPARTY Skill SU_BUNCHOFSHRIMP, SC_BITESCAR, SC_SHRIMP, UNT_CATNIPPOWDER Increases SkillID Range on skill_get_index Summoner should be Small Size and Brute Race Added max_summoner_parameter Increases MAX_SKILL to occupy Summoner Skills Removed the too small max key length limit on the npc_removed_list DBMap  
    Database Highlights
    [Fixed] bSkillAtk not increasing damage for some skills use mediumint for equip_locations Added support to Para_Team_Mark_ item in Eden Group Fix wrong items bonus Added Summoner Items Fix wrong skill name used to increase damage  
    Scripting Highlights
    Add official quest condition for Guillotine Cross job change quest Fixes wrong warp of izlude Re-added the taekwon jobchange quest to the pre-renewal scripts  
    September Statistics
    During the period there were 100 Commits. 17 Commits from Pull Requests with  3 Bugs* fixed from merged issues.  
    *Please note: Bug fixes are counted as references to issues; it does not include bugs that have been fixed without issue reference.
  19. Upvote
    fiction reacted to Haru in Official VIP System   
    The reason why no one works on this "feature" is that, while being an official feature, it has nothing to do with the game. Its sole purpose is to monetize (which certainly isn't what players are looking for). If a private server owner wants to monetize (from a game they don't even own the rights for), they can invest some time, and develop a VIP system (and why not, make a pull request, we'd likely merge it, as long as it wouldn't impair the Hercules performance for those who want a vanilla Ragnarok experience).
     
    Hercules development is progressing (see the number of branches that are being worked on -- it's not only the feature that make it into master), but no one, including Ind, would want to spend their free time on something whose sole purpose is to make leechers earn money more easily. And I believe Ind was especially bitter about that aspect of the community, when he left.
  20. Upvote
    fiction got a reaction from Legend in Where is Herc Devs   
    Come back @ind
  21. Upvote
    fiction reacted to Haru in [2016-04-24] Visual Studio 2015 fully supported (and Visual Studio 2010 dropped)   
    Rationale:
    This is according to our Supported Platforms policy.
     
    For an overview of supported OSes and compilers, please see the wiki page https://github.com/HerculesWS/Hercules/wiki/Supported-Platforms
     
    Contents:
    VS2015 is our primary target compiler on Windows, and this merge removes all the warnings that were present when compiling with that version of Visual Studio.
    VS2010 isn't one of our supported platforms (and hasn't been for a while), so maintaining its solution inside the repository adds unnecessary work to the dev team.
     
    Impact:
    While it's currently still possible to build on VS2010 (download the files `Hercules-10.sln` and `vcproj-10/*` from an older snapshot of the repository such as https://github.com/HerculesWS/Hercules/tree/bbcb040 and put them in your Hercules directory), we offer no support for any build issues causd by future commits, nor we'll update the project/solution files.
     
    Merge Date:
    Sun, 24 Apr 2016 13:13:19 +0200
     
    Related Pull Requests:
    - #1264 - https://github.com/HerculesWS/Hercules/pull/1264 - V2015 improved compatibility and dropped VS2010 solution [Haru]
     
    Related Commits:
     
    - a92fa36 - https://github.com/HerculesWS/Hercules/commit/a92fa36 - Sun, 17 Apr 2016 13:37:08 +0200 Updated README file [Haru]
    - e69e8c5 - https://github.com/HerculesWS/Hercules/commit/e69e8c5 - Sun, 17 Apr 2016 13:43:30 +0200 Removed VS2010 project [Haru]
    - 3af03d2 - https://github.com/HerculesWS/Hercules/commit/3af03d2 - Tue, 19 Apr 2016 11:32:04 +0200 Improved parsing of the server name/port in the irc bot configuration [Haru]
    - 2b1dce1 - https://github.com/HerculesWS/Hercules/commit/2b1dce1 - Tue, 19 Apr 2016 15:26:36 +0200 Changed map_session_data::chatID to int (and renamed to chat_id) [Haru]
    - dc23fd3 - https://github.com/HerculesWS/Hercules/commit/dc23fd3 - Tue, 19 Apr 2016 16:31:57 +0200 Corrected the type for several variables through the code [Haru]
    - e4feddf - https://github.com/HerculesWS/Hercules/commit/e4feddf - Wed, 20 Apr 2016 15:40:19 +0200 Corrected the type of the 'length' argument of various broadcast-related functions [Haru]
    - d7ffa6a - https://github.com/HerculesWS/Hercules/commit/d7ffa6a - Wed, 20 Apr 2016 17:06:18 +0200 Removed the 'len' argument from clif_disp_onlyself() and clif->disp_message() [Haru]
    - 4788c81 - https://github.com/HerculesWS/Hercules/commit/4788c81 - Thu, 21 Apr 2016 20:38:18 +0200 Removed the 'len' argument from various message-related functions [Haru]
    - f5b88f9 - https://github.com/HerculesWS/Hercules/commit/f5b88f9 - Wed, 20 Apr 2016 17:23:03 +0200 Corrected the type of the 'length' argument of other message-related functions [Haru]
    - 9e58db4 - https://github.com/HerculesWS/Hercules/commit/9e58db4 - Wed, 20 Apr 2016 17:24:37 +0200 Added some files specific to VS2015 (Update 2) to gitignore [Haru]
    - 9fdb456 - https://github.com/HerculesWS/Hercules/commit/9fdb456 - Thu, 21 Apr 2016 20:57:56 +0200 HPM Hooks Update [Haru]
    - 31e27a1 - https://github.com/HerculesWS/Hercules/commit/31e27a1 - Sun, 24 Apr 2016 13:13:19 +0200 Merge pull request #1264 from HerculesWS/vs2015 [ibrahem Hossam]
  22. Upvote
    fiction reacted to ossi0110 in New Race   
    More Progress
     


  23. Upvote
    fiction reacted to kisuka in Ragnarok Episode Timeline   
    This is a work in progress. Parts will be added as they are organized.
     
    This topic will list out the major episode releases of kRO and the updates under them. This is to keep track of what episodes had which updates. This will assist us in making sure we aren't missing anything in Hercules. The dates below are for Main server release, not RE/Sakray testing period.
     
    * Note: Official Hercules Developers and High Council members have permission to add or modify this list.
    2002.08.03: Episode 1.0 : Start of the Adventure
    2002.12.17: Episode 2.0 : Lutie
    2003.02.04: Episode 3.0 : Comodo
    2003.05.02: Episode 4.0 : War of Emperium
    2003.07.15: Episode 5.0 : Yuno
    2003.10.07: Episode 6.0 : Global Project
    2003.10.11 : Amatsu 2003.10.11 : Kunlun / Gonryun 2003.11.25 : Weddings/Marriage 2004.01.13 : Super Novice 2004.01.30: Episode 7.0 : Umbala ~ Village of the Utan Tribe
    2004.02.02 : 2-1 and 2-2 class in Sakray 2004.02.24: Episode 8.1.1 : Niflheim ~ City of the Dead
    2004.12.23: Episode 8.1.2 : Louyang & Jawaii
    2004.12.23: Episode 8.2 : Ayothaya
    2005.01.18: Episode 8.3 : Payon Remodelling
    2005.05.12: Episode 9.0 : Rebirth
    2005.09.21: Episode 10.1.1 : The Sign & Geffenia Dungeon
    2005.09.22: Episode 10.1.2 : Einbroch
    2006.02.24: Episode 10.2 : Lighthalzen
    2005.08.16: Episode 10.3 : Noghalt
    2006.12.28: Episode 10.4 : Hugel
    2007.04.20: Episode 11.1 : Rachel
    2007.09.10: Episode 11.2 : Veins
    2007.04.10: Episode 11.3 : Nameless Island
    2007.04.10 : Mercenary System 2007.10.17: Episode 12 : Satan Morroc
    2007.10.17 : Moscovia 2007.11.21 : WoE: SE (Schwaltzvald) 2007.11.21 : WoE: SE (Arunafeltz) 2007.12.05 : World Map System 2007.12.10 : Battlegrounds 2007.12.12 : Endless Tower & Sealed Shrine 2008.06.25 : Episode 13.1 : Ash Vacuum
    2008.08.25 : Poring Wars 2008.11.19 : Improved Pet System 2008.12.17 : Episode 13.2 : Encounter
    2008.12.23 : New Pets 2009.02.25 : Hidden Slot Enchantment 2009.03.11 : Endless Tower Fixes 2009.04.08 : New Hairstyles 2009.06.17 : Renewal Release (3-1 Jobs) 2009.08.19 : Brasilis 2009.10.14 : 3-2 Jobs 2009.12.23 : Episode 13.3 : El Dicastes
    2010.03.17 : Party Recruiting System 2010.03.31 : Baby 3rd Jobs 2010.05.12 : Purchasing Shops. Sorcerer Spirit System 2010.06.30 : Episode 14.1 : Bifrost
    Memorial Dungeon, Misty Labyrinth Forest. 2010.07.28 : Equipment Synthesis, Costume System. 2010.08.18 : Search Vending Shops 2010.09.29 : Indonesia Localized Map, Dewata 2010.11.24 : Cat Hand HQ / Malangdo Island Item Mall Icon Level 86~99 Eden Group Quests on 2nd Floor Floor 6 added to Izlude Dungeon (Only available to Gold Netcafe Users) Grave Markers (MVP or major monster dies, it leaves a grave marker that shows the time of death and who killed it. The gravestone will remain until the monster respawns.) New Mounts
      2010.12.29 : Super Novice Expansion 2011.03.09 : Replay System 2011.03.30 : Biolabs 4th Floor 2011.05.25 : Thanatos Tower Changes. 2011.06.29 : (WoE1 Renewal) Number of forts reduced from 5 to 4 in WoE1 castles. Guild Investment System (Hall of Abyss). New Guild Dungeon
      2011.08.17 : 7x7 Padding around NPCs. 2011.08.31 : (Class Balance + Homunculus S) Large number of class balancing improvements. Homunculus S
      2011.09.28 : Philippines localized map, Port Malaya. [1] [2] 2011.11.02 : Kagero and Oboro Job Classes [1] [2] 2011.11.16 : New Alberta. 2011.11.30 : Eden Quests for levels 100~110. 2011.12.07 : Nightmare mode for Pyramid Dungeon. 2011.12.14 : Party System improvements. 2011.12.21 : Episode 14.2 : Eclage
    2011.12.27 : Battlegrounds Queue System 2012.02.08 : New Carts for Mechanics & Genetics. 2012.02.08 : Guild Creation system to no longer allow blank space(s) in the name. 2012.03.21 : Eden Quests for Level 111 ~ 120. 2012.03.21 : Falcon Flute 2012.03.28 : Navigation System. 2012.03.28 : New Izlude + Novice Training Academy + New Character Creation Method (5 copies of Izlude) 2012.04.04 : HP Bars added to Monsters. 2012.04.18 : Changes to Enchanting on Malangdo 2012.04.25 : WoE: Training Edition 2012.04.25 : Transcendent quest to waive the cost of transcending. 2012.05.30 : Old Glastheim memorial dungeon 2012.06.13 : Monster Shadow Size 2012.07.11 : Headgear Synthesis Quests 2012.07.25 : WoE:TE Mini God Item quest + guild and daily quests in siege areas. 2012.08.14 : Job EXP increased from Monsters with lvl 100+. 2012.08.22 : Heroes' Trails (Part 1) Faceworm Nest, Memorial Dungeon. Sarah's Memory, Memorial Dungeon.
      2012.08.22 : Memorial Dungeon, Wave. Added new Eden quests for level 121 ~ 130 range Max base level changed from 150 to 160/50. Skill Timers
      2012.09.19 : Champion Mobs. 2012.10.10 : Ranger Falcon changed to Owl. 2012.10.17 : Heroes' Trails (Part 2) Devil's Tower Memorial Dungeon Cursed Knight Memorial Dungeon Geffen Magic Tournament Memorial Dungeon
      2012.10.31 : Eden Quests for levels 131~140. 2012.12.18 : Horror Toy Factory Memorial Dungeon 2012.12.18 : Shadow System 2012.12.28 : Episode 14.3 : Decisive Battle (Part 1)
    2013.02.20 : Equipment Comparison System 2013.03.13 : 'Clock Tower Dungeon' Nightmare Mode. 2013.03.20 : Episode 14.3 : Decisive Battle (Part 2)
    2013.03.20 : Level Increased to 175 / 60. 2013.03.20 : New Third Class Skills 2013.05.22 : Max Zeny Vending Price = 1 Billion Zeny. 2013.06.12 : Bank System 2013.06.26 : Clan System (Golden mace Guild, Sword Guild, Crossbow Guild and Rod Guild) 2013.07.03 : Episode 15.1 : Fantasmagorica
    Lots of NPC placement changes. 5 New Quests Memorial Dungeon, Charleston Factory New Items 2013.07.31 : Rebellion Class 2013.08.02 : Rebellion Weapons 2013.08.14 : New Clothing Dyes for Kagerou & Oboro classes. 2013.08.21 : Max HP Limits (lvl 99 = 330k, 150 = 660k, 175 = 1.1m) 2013.09.25 : Heroes' Trail Part (Part 3) Fenrir and Airship Assault Memorial Dungeons.
      2013.12.17 : Nightmare Biolabs 2013.12.23 : Episode 15.2 : Memory Record
    2014.01.08 : New World Map. 2014.01.22 : Shop History (Buy/Sell Log) 2014.03.12 : Eden Group Market Hall 2014.04.16 : Summons & Homunculus S Update 2014.08.06 : Monster EXP Increased (Base 75% & Job 100%) 2014.08.06 : Monster HP/ATK Adjustment 2014.09.16 : WoE TE Items 2014.10.07 : Lucky Roulette 2014.10.07 : Pet Evolution 2014.10.28 : Infinite Space 2014.11.05 : Clan System 2014.11.11 : RoDex (Revamped Mail System) 2015.02.25 : Episode 16.1 : Banquet of Heroes
    2015.02.25 : Achievement and Title System Added 2015.02.25 : Banquet Preparation 2015.02.25 : New Dungeon 2015.02.25 : Honor Tokens and New Enchant Item 2015.07.01 : Infinite Space Dungeon Improvements 2015.10.07 : Item Link System (show your items via PM) 2015.10.07 : Eden Group Revamp (missions changed) 2015.10.14 : Reputation System 2016.01.26 : Styling Shop Interface 2016.03.09 : Episode 16.2 : Terra Gloria
    2016.05.10 : Rebellion Class Changes 2016.08.30 : Card Removal System Update 2016.09.06 : Eden Group Changes (100-140) 2016.12.07 : Rock Ridge 2016.12.13 : Marriage System Update (Doram x Human) 2016.12.27 : New Dungeon : Illusion of Moonlight 2017.01.03 : Glastheim Changes 2017.01.25 : New Dungeon : Illusion of Vampire 2017.02.21 : New Dungeon : Illusion of Frozen 2017.04.18 : New Dungeon : Illusion of Abyss 2017.05.23 : Party System UI Update 2017.06.07 : Autotrading / Vending Overhaul 2017.06.21 : Equipment Replace System 2017.06.21 : Orc Memory Changes 2017.06.27 : Monster Racing Revamp 2017.09.26 : Moscovia Card Updates 2018.03.09 : New Dungeon : Illusion of Teddy Bear 2018.05.04 : New Dungeon : Illusion of Luanda 2018.06.27 : World Map Improvements 2018.07.18 : Episode 17.1 : Illusion
    2018.08.09 : Max Level Increased to 185
  24. Upvote
    fiction reacted to Yommy in Ragnarok Episode Timeline   
    likes
  25. Upvote
    fiction reacted to GmOcean in Scripting Tutorials & Guides   
    Scripting Tutorials and Guides
    I'm going to attempt to help everyone here with their scripts while not being directly involved in helping you with them xD.
    This will also help future/current scripters get some fresh info and maybe inspire innovative ideas towards scripting.
    So that we can prove that us " Scripters " are the superior ragnarok emulation race! Take that Source Code writers!! Jk lol, we need you too .

    What I'm going to do, is write detailed tutorials on how to write a few scripts. Starting from the basics to more advanced scripts.
    This way everyone can follow along. And hopefully this will help everyone understand how to write a few scripts and even troubleshoot their own scripts.
     
    Also please read: Scripting Standards.
    It will help you understand how to read some of the syntax and way people script things.
    // A list of <sprite id>s can be found here: Sprite_IDs Credits: Ai4rei
    Scripting Tutorials & Guides
    In this section you will learn how to write scripts ranging from Complete Begginer Level Scripts ( Me and Some of you ) -> Expert Level Scripts ( Think, Developer Status O.o; )
    - Beginner Scripts -
    Scripts for complete beginners and novice scripters.
     
     
    - Intermediate Scripts -
    Scripts for intermediate level scripters. If you completed my beginner script series, then you are ready for this section.
     
     
    - Advanced Scripts -
    Scripts for advanced level scripters. If you completed my intermediate script series and have made a few of your own intermediate scripts, then you are ready for this section.
     
     
    The idea behind this topic, is for new users, and current ones, to have a (second)place they can go to for reference when trying to write a script if they can't figure it out with script_commands.txt file. It will also help people learn how to write scripts. While hopefully, keeping script writing techniques to a ' very ' similar structure!
     
    *Read Me* - I have updated the links on this post to link to the oldboard so these guides can be viewed. However, do note that the script_commands.txt links within those guides are no longer accurate. Enjoy your scripting.
×
×
  • Create New...

Important Information

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