Popular Content

Showing content with the highest reputation since 04/24/2019 in Posts

  1. 8 points
    Marketplace link: https://marketplace.visualstudio.com/items?itemName=secretdataz.athena-language-support This extension provides rAthena-flavored Athena language syntax highlighting and code snippets and automatically highlights files with .rascript extension. The following is the non-exhaustive list of code snippets provided by Athena Language Support. * `defnpc`, `defnpcfloat`, `defwarp`, and `defshop` (In-game objects definition) * `deffunction` (Function definition) * `On:` event handler snippet * `for`, `while`, `do` flow control snippet report issues: https://github.com/secretdataz/athena-language-support/issues show me I suck at making extensions: https://github.com/secretdataz/athena-language-support/pulls Special thanks to @JoWei for the base extension for Atom.
  2. 8 points
    March Digest 2019 The following digest covers the month of March 2019. Staff Changes: @crazyarashi and @Normynator are now a Developers. Development Highlights: CORE: Updated the YAML parsing method (78eed022) Fixed possible null pointer dereference in Taekwon Mission skill logic (f5e8af0d) Fixed an issue with AG_BATTLE and AG_TAMING (54ac2ae1) Fixed LGTM formatting alert (bf27041e) Fixed flag's overwritten for bonus3 bSubEle and bonus3 bAddEle (bce4e0b6) Corrected unit calculation with setunitdata (9500c06d) Added pcblock and checkpcblock script commands (3e0d3d2f, e4b41ef7) Add some missing Warning (ed37a533) Implementing atcommand_disable_npc config (c2abd6d1) Capped rate value for status_get_sc_def (15969139) setpcblock script command (7dde174c) DATABASE: Enabled a few achievement targets (56349cb5) Fixed renewal item database bugs (2f6a2c02) Fix item and NPC names (658d4207, 658d4207) Fixed missing item script of Castle_Treasure_Box (bc99c24a) Splitted guild_skill_tree.txt into re and pre-re (cbe0d6b2) Corrected Summoner's base ASPD (d1b35db7) Update Geffen Magic Tournament Quest DB & Clean up (42810ad4) Corrected Vellum and Vanish item bonuses (ed83999d) Corrected Rebellion cast times (972a14e4) Implemented Magma Eruption Dot Damage (9f4a569e) Updated item script of Test_Reagent (0cfc3216) Initial implementation of pet evolution system + Pet DB conversion to yaml (ac558d7c) Added some missing monsters' drops of monsters around rockridge (b245e0f6) Fixed vanish bonuses (eb88f0ce) SCRIPT: Updated tr0n's Quest Board (ed0e068c) Corrected several npc name in quests_ein.txt (e74e1e11) Corrected KVM Logistic Officer item ID (cc11869a) Update guides_comodo.txt (264932c3) Adding NPC Lighthalzen (1bbde624) Fixed wrong NPC coordinate (f0f94f0c) Fix wrong next function call (b1e1dbfb) eden_iro.txt update (339e6c67) NPC coordinate changes (a334b026) OTHERS: Added the skeleton for the yaml converter (c2899d75) Added missing gitignores for csv2yaml (a4bbb932) Add SnakeDrak as author (46d04269) Fixed csv2yaml for guild skill tree (232b3885) Clean-up doc script commands (7cc8c964) List of Contributors: @aleos, @Atemo, @Balferian, @BrOgBr, @CairoLee, @cydh, @Daegaladh, @exneval, @Indigo000, @JohnnyPlayy, @keitenai, @Lemongrass3110, @Litro, @sader1992, @secretdataz, @SeravySensei, @Sigtus, @Siriousb, @SnakeDrak, @teededung, @trickyloki3, @zackdreaver April Digest 2019 The following digest covers the month of April 2019 Staff Changes: None Development Highlights: CORE: Corrected block_action behaviour (66b82732) Adjusted OnTouch overlap behavior (c977558c) Updated Firewall cast check (7c313a77) Fixed Defending Aura (a8185e62) Added caps to item bonus rates (a0bcb92b) Corrected guild level increases (c7722624) Added several warning messages (9aa5f7d8) Adjusted pet walk speed (06020502) Cleaned up countitem-type script commands (f047a6a5) Corrected a compile error (3057af75) Corrected countitem_sub return value (8975682f) Fixed AG_BATTLE and AG_TAMING achievements (8df036c4) Reduced MAX_MAP_SERVERS and MAX_SERVERS size (7e7a2831) Ensure the mysql server host support full length domain (94324bc2) Corrected script command logmes (c264d3e9) Cleaned up instance script commands (21a5854c) Corrected Enchant Arms status icon (ce1508a0) Corrected checks for weapon attack calculation (d05c6035) Corrected Cross Slash (53cedb72) unitwarp npc (3d8c20f6) DATABASE: Fixed pre-renewal pet fullness values (1504507e) Corrected Sword Stick equip requirements (b6e383b8) Added Hanbok Bag item script (4a6a545a) Added an item group for Token of Siegfried (53f50131) Renewal hateffect update (79ba5aa9) Fixed a SQL item database error (884043b7) SCRIPT: Little update in aldebaran.txt (85802872) Added setpcblock to some official scripts (e172c436) Corrected Gunslinger shops (7c0d9bf3) Implemented (the old) Nightmarish Jitterbug instance (04c6303e) Fixed Aigu's cutin (4d05e09e) Updating official Kafra information from Rock Ridge (a3bd4c39) Fix loop issue on Ice Cream Maker NPC (67e1583f) OTHERS: Fixed the upgrade script for pet evolution (ee2f4950) List of Contributors: @aleos89, @Akkarinage, @Atemo, @attackjom, @cahya1992, @CairoLee, @daisyanne1380, @datleeroy, @ElinhoPP. @JohnnyPlayy, @kisuka, @Lemongrass3110, @Litro, @mazvi, @mrjnumber1, @Normynator, @RagnarokNova, @Rayvis, @sader1992, @teededung, @TokeiBuru, @userid0, @vykimo, @yashimwong Show your support to rAthena by submitting your Issue or Pull Requests!
  3. 6 points
    This seems to be a more appropriate place so continuing here from @autopilot is a server side AI implementation that can control player characters. The primary goal is to replace human players for any reason : perhaps you installed a server on your own computer and have no other players, or your server has too low population or a critical class for the party isn't available. Either way, this allows you to add characters to your party without having a human player available. Note that this isn't a bot : it might get stuck in a corner if left alone with no human to lead the party. Also note this is server side : you have to be the server owner and capable of modifying your source to add it. Obviously an AI isn't a human player, which means better reaction time, and no "I have to go 5 minutes afk sorry" during boss fights but at the price of not being able to judge more advanced situations correctly. Overall I'd say the AI will play better than a typical player but will fail at anything more complex than "use this skill when <condition>". All the current progress is available here : https://github.com/SeravySensei/rathena/commits/Autopilot To install, make a branch for the feature in your local repository, pull from the linked branch, then use or merge it as you prefer. I strongly recommend reading through the comments in the code : every skill has hardcoded AI and there are a few cases where my server uses nonstandard parameters for skills. These are mentioned in the comments, usually explaining how it is different from normal and what's recommended to change in the code if you are using default skills. Finally, enable all the added commands in your groups.conf file. Currently implemented : All 1st classes, 2nd/rebirth classes except those listed below. Regular Homunculus. Archbishop. Awaiting implementation : -Adjusting AI to the kro 1st/2nd/rebirth skill rebalance as necessary - this is on hold until that feature actually is merged to rathena. -Homunculus S -3rd jobs -Hunter/Sniper -Rogue/Stalker -Summoner How to use : @autopilot Tank enables tanking mode, the AI will try to engage enemies in melee and use melee skills. @autopilot Skill enables the AI to use ranged attacks or ranged skills, in general this is the DPS mode @autopilot Support restricts the AI to using support skills only. @autopilothom with same parameters : same modes for the Homunculus. There are a few other commands for enabling "extras" such as telling the AI to use a song or dance or other special skill or use sp potions. You should see them in the atcommands file(s). It's old but here is a recording that shows the AI in action :
  4. 5 points
    Hello there, Some of you might know this already and maybe have read the original guide for it. But for those who doesn't know it yet, see below. Note: I’m sharing the steps on how to do it using CentOS7 for the proxy server/VM while the main server/VM will be anything you like as long as rAthena supports it. Before everything else, I would like you to know that this guide will only work on CentOS7 and this doesn’t guarantee that it will provide low latency to your players since its main function is to HIDE the IP of your MAIN VPS to avoid being bombarded with unwanted traffic. In the event, you received lots of traffic on your proxy, you can just reject it on your main VPS via firewall rules/iptables. Requirements Spare VPS to configure the proxy Patch your client using updated "Enable Proxy Support" patch provided by 4144's NEMO & Functor DO NOT patch "Skip Service Select" since you need it to choose from the multiple connections. Add multiple connection on your clientinfo.xml/sclientinfo.xml Configure subnet_athena.conf to prevent sending real IP in network packets from login and char servers. (Functor) (Optional) Enable "Cancel to Select Service" Patch VPS Configuration (IMPORTANT) Note: Again, make sure that your VPS is using CentOS7 since this was tested under the said OS and working 100% Follow the commands provided below. /* Port Forwarding CentOS 7 FirewallD */ // ======================================================================== // Please read the comments per line it is self-explanatory. // Important Parameters: // INSERT_ZONE = output of the get default zone // INSERT_IP = is the public IP of your main VPS or server // If you like the guide give it a thumbs up! // ======================================================================== // This command is to get the default zone being used by your VM. firewall-cmd --get-default-zone // This command is to check all rules applied to your VM by the current active zone. firewall-cmd --zone=INSERT_ZONE --list-all // Enabling Masquerade Status (IP Forwarding). // This is the important configuration else below won't work firewall-cmd --zone=INSERT_ZONE --add-masquerade --permanent // IP/Traffic forwarding // Make sure you have configured masquerade firewall-cmd --zone="INSERT_ZONE" --add-forward-port=port=6900:proto=tcp:toport=6900:toaddr=INSERT_IP --permanent firewall-cmd --zone="INSERT_ZONE" --add-forward-port=port=6121:proto=tcp:toport=6121:toaddr=INSERT_IP --permanent firewall-cmd --zone="INSERT_ZONE" --add-forward-port=port=5121:proto=tcp:toport=5121:toaddr=INSERT_IP --permanent // Add rules for ro-ports (assuming that you didn't change the port) firewall-cmd --zone=INSERT_ZONE --add-port=6900/tcp --permanent firewall-cmd --zone=INSERT_ZONE --add-port=6121/tcp --permanent firewall-cmd --zone=INSERT_ZONE --add-port=5121/tcp --permanent // Reload rules to take effect firewall-cmd --reload clientinfo.xml/sclientinfo.xml Configuration (IMPORTANT) The example below shows how to configure multiple connections/tunnel to your VPS. (P.S. I'm not quite sure how many connection is the limit that can be defined on the xml) <?xml version="1.0" encoding="euc-kr" ?> <clientinfo> <desc>Ragnarok Online Client Information</desc> <servicetype>america</servicetype> <servertype>primary</servertype> <connection> <display>^FF0000[ SE Asia ]^000000 - Connection Tunnel</display> <balloon>This server is dedicated to SEA Region to possibly reduce latency.</balloon> <address>INSERT_IP_HERE</address> <port>6900</port> <version>46</version> <langtype>1</langtype> <registrationweb>https://rathena.org/board</registrationweb> <loading> <image>loading00.jpg</image> <image>loading01.jpg</image> </loading> <yellow> <admin>2000000</admin> </yellow> </connection> <connection> <display>^FF0000[ US Central ]^000000 - Connection Tunnel</display> <balloon>This server is dedicated to US Central Region to possibly reduce latency.</balloon> <address>INSERT_IP_HERE</address> <port>6900</port> <version>46</version> <langtype>1</langtype> <registrationweb>https://rathena.org/board</registrationweb> <loading> <image>loading00.jpg</image> <image>loading01.jpg</image> </loading> <yellow> <admin>2000000</admin> </yellow> </connection> <connection> <display>^FF0000[ US West ]^000000 - Connection Tunnel</display> <balloon>This server is dedicated to US West Region to possibly reduce latency.</balloon> <address>INSERT_IP_HERE</address> <port>6900</port> <version>46</version> <langtype>1</langtype> <registrationweb>https://rathena.org/board</registrationweb> <loading> <image>loading00.jpg</image> <image>loading01.jpg</image> </loading> <yellow> <admin>2000000</admin> </yellow> </connection> </clientinfo> subnet_athena.conf (IMPORTANT) Change the default value (shown below) subnet: TO subnet: As per Functor, "If you will just apply the patch of EXE - game client will not use these IPs from network packets. But players will be able to find real IP by using any network sniffer.". That's it. If you have question, drop by a comment. ROK On! Original Links: Ragnarok Proxy Setup (Hide your VPS IP) Other: rAthena via GCP (In a nutshell)
  5. 5 points
    I am sorry that I am unable to come up with a new release today. Next release will probably be within next week. What will be in the next release? Clientdates: - 20180919 - 20151104 A reworked logo (by @Daifuku ) Teaser: I looked a bit into Discord's Rich Presence and will maybe include it in a future release. (Not the next release) The 'big picture' represents the current job. The 'small picture' (the red maker) shows the current map on hover OR it will be used to indicate if the user is AFK ingame. The final layout is not yet decided, so if you have clever ideas let me know. If you want to help me: I need someone who creates all the job pictures for discord. If you are interessted drop me a PM in forum or discord. Greetings, norm
  6. 4 points
    Dear rAthena folk, I was looking for a way to replace the Artwork of the Satan Morocc (or Morroc - whatsoever) card. Gravity never officially released this card. After couple hours on GIMP I decided to share the blank card and my rework with the community. File is in .XFC format, but it should be compatible with Photoshop as well. Compatibility: Export the file as 24bit BMP & "write color space information" unchecked, otherwise the Client won't recognize the .bmp file. Left: Old Artwork | Right: Reworked Artwork Artwork Credits: Gravity | aBsolitude You can change anything in the provided .XFC file thanks to layering.
  7. 4 points
    Version v19.5.06 is now available. Can be found here: https://github.com/Normynator/PaintItBlack/releases It includes some fixes, better error tracking, new splashscreen and support for 20180919. Note: This is just a small release and does not include support for 20151104. 20151104 will be supported in a later release.
  8. 3 points
    It would be perfect to have a OpenSetup.exe with this client's features. A quick mockup of what I mean:
  9. 3 points
    Probably my most ambitious and personal project. I often met on my way interesting places in the world of RO, to which it was impossible to get. Then I began to find such places with the help of the BrowEdit program and make them available for visiting. As the project expanded, I decided to allow shooting and use skills from the hills on the maps, where this feature was disabled, add plants and trees, create comfortable climbs and so on. I suggest you watch a promo video that clearly explains my idea. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. At the moment, almost ready the locations of the Schwartzwald and Arunafeltz for the release, there is a reserve for many other locations. Since the appearance of the video, there have been some changes, so the final result may be different. Below I attach screenshots from BrowEdit "before" and "after" and gif files with changes of territories on the finished mini-maps. Some screenshots of my work: From the important places are opened: the airport in Veins, the left exit from Einbroch, the northern Einbroch railway station on Ein_Field04, the industrial zone on Ein_Field02, the border post between Ein_Field04 and Ein_Field05, the fortress on the map of Yuno_Field12, the alternative entrance to the tower of Thanatos on Hu_Field01, the arch with a fountain on Ein_Fild09, the bridge in Lhz_Field02, the road from Ra_Fild06 to Ein_Field03 and more. Mini-maps changes (if any map is missing, it means everything is fine with it): .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. P>S> Since the map of Ein_Field05 won in the nomination of the most extended territory - a small comic video showing progress in its honor: .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. CODE: Warps lines below: //===== eAthena Script ======================================= //= New Warps for AMP //===== By: ================================================== //= w0wZukuBg //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= //= New Warps for AMP //===== Additional Comments: ================================= //= The NPC's were born. [w0wZukuBg] //============================================================ //======================================================= // ein_fild //======================================================= ein_fild02,134,123,0 warp newein01 1,1,ein_fild02,118,134 ein_fild02,121,131,0 warp newein02 1,1,ein_fild02,137,123 ein_fild02,223,137,0 warp newein03 1,1,ein_fild02,223,148 ein_fild02,223,145,0 warp newein04 1,1,ein_fild02,220,137 ein_fild02,186,226,0 warp newein05 1,1,ein_fild02,204,224 ein_fild02,201,224,0 warp newein06 1,1,ein_fild02,183,229 ein_fild04,385,181,0 warp newein07 1,1,ein_fild05,36,185 ein_fild05,33,185,0 warp newein08 1,1,ein_fild04,382,181 ein_fild05,35,167,0 warp newein09 1,1,ein_fild04,382,181 ein_fild05,120,292,0 warp newein10 1,1,ein_fild05,120,300 ein_fild05,120,297,0 warp newein11 1,1,ein_fild05,120,289 ein_fild06,231,81,0 warp newein12 1,1,ein_fild06,231,67 ein_fild06,231,70,0 warp newein13 1,1,ein_fild06,231,84 ein_fild03,245,55,0 script Lift-E02 139,2,2,{ OnTouch: mes "Lift up?"; next; if(select("Yes","Stay")==1) warp "ein_fild03",201,41; close; } ein_fild03,204,43,0 script Lift-E01 139,2,2,{ OnTouch: mes "Lift down?"; next; if(select("Yes","Stay")==1) warp "ein_fild03",248,53; close; } //======================================================= // ra_fild //======================================================= ra_fild09,362,76,0 warp newra01 1,1,lhz_fild01,15,79 lhz_fild01,12,79,0 warp newra02 1,1,ra_fild09,359,76 //======================================================= // ra_fild -> ein_fild //======================================================= ein_fild03,19,181,0 warp newraein01 1,1,ra_fild06,374,223; ra_fild06,377,223,0 warp newraein02 1,1,ein_fild03,22,181; //======================================================= // hu_fild //======================================================= hu_fild02,378,244,0 warp newhu01 1,1,hu_fild03,22,253 hu_fild03,19,253,0 warp newhu02 1,1,hu_fild02,375,244 hu_fild02,378,194,0 warp newhu03 1,1,hu_fild03,22,205 hu_fild03,19,205,0 warp newhu04 1,1,hu_fild02,375,194 hu_fild02,375,303,0 warp newhu05 1,1,hu_fild03,22,308 hu_fild03,19,308,0 warp newhu06 1,1,hu_fild02,372,303 hu_fild02,378,125,0 warp newhu07 1,1,hu_fild03,22,129 hu_fild03,19,129,0 warp newhu08 1,1,hu_fild02,375,125 //======================================================= // ve_fild //======================================================= ve_fild03,327,294,0 warp newve01 1,1,ve_fild04,34,322 ve_fild04,31,322,0 warp newve02 1,1,ve_fild03,324,294 ve_fild03,316,251,0 warp newve03 1,1,ve_fild04,42,295 ve_fild04,39,295,0 warp newve04 1,1,ve_fild03,312,251 //======================================================= // einbroch //======================================================= einbech,50,223,0 warp neweinb01 1,1,einbech,50,230 einbech,50,227,0 warp neweinb02 1,1,einbech,50,220 einbech,37,223,0 warp neweinb03 1,1,einbech,37,230 einbech,37,227,0 warp neweinb04 1,1,einbech,37,220 //======================================================= // veins //======================================================= veins,296,335,0 warp newve05 1,1,veins,290,342 veins,293,342,0 warp newve06 1,1,veins,275,352 veins,278,352,0 warp newve07 1,1,veins,296,332 //======================================================= // lighthalzen //======================================================= lighthalzen,241,163,0 warp newlhzs01 1,1,lighthalzen,265,163 lighthalzen,262,163,0 warp newlhzs02 1,1,lighthalzen,238,163 lighthalzen,282,327,0 warp newlhzs03 1,1,lhz_fild01,278,19 lhz_fild01,278,16,0 warp newlhzs04 1,1,lighthalzen,282,324 //======================================================= // juperos_ //======================================================= juperos_01,96,220,0 warp newjup01 1,1,juperos_01,152,183 juperos_01,149,185,0 warp newjup01-1 1,1,juperos_01,93,217 //======================================================= // jawaii //======================================================= jawaii,138,182,4 script Stairs#ja1 111,{ mes "[Stairs]"; mes "Want to go up or go down?"; next; switch(select("Up","Down")) { case 1: warp "jawaii",136,183; close; case 2: warp "jawaii",140,180; close; } close; }
  10. 3 points
    We've found a race-condition exploit involving cart which could allow duplication of items. The rAthena team has released an update that fixes the exploit. rAthena users are advised to update as soon as possible. Commit link: https://github.com/rathena/rathena/commit/7f772c32d3be201861946bb64720c231828465ac
  11. 3 points
    There is no point of keeping such things secret. Do never rely on security by obscurity. Update your server and you are fine.
  12. 3 points
    View File Custom Flag GR2 Hello once again... ;] Here to bring you guys this GR2 edit of the old guild flag that i've made years ago. This release features a more high resolution mesh with a 2 sided flag, showing the emblem in both sides. It means that you can overlap 2 flags with 2 oposite directions to generate a cool effect. You can do what you want. The instalation: - at jobname.lua/lub: -- [jobtbl.JT_GUILD_FLAG] = "rapa_flag.gr2", note that you cannot have the _1 at the end of de .gr2 filename since it brings the 3dmob_bones into action and we dont want that. some cons: - since it is a high res model it takes longer to load ( affects map loading time ) - the positioning of a 3D gr2 mob is always very glichy, for example the final position after movement is diferent from deafault 8 directional.. so you can come up with some ideas to position it right. For example, doing a OnInit: walknpc... to make it walk to the direction you want it to face... Video: ( Was recording other stuff but the model appear on screen, don't mind what i'm doing... ) Submitter rapalooza Submitted 05/02/2019 Category Models Video Content Author raPalooza
  13. 3 points
    @iAmGnome You forgot about the important additional step. If you want to hide the IP of main VPS - you need to prevent sending real IP in network packets from login and char servers. Because if you will just apply the patch of EXE - game client will not use these IPs from network packets. But players will be able to find real IP by using any network sniffer. Open "../conf/subnet_athena.conf" and change: subnet: to: subnet:
  14. 3 points
    I will add a statement to the main post when I am back home. (Monday) But basicly: I talked to @Functor and discussed some options, but it‘s a hell lot of work for him and me to get this to work (the amount of work would exceed our time). Also please keep in mind that gepard already has !ping !vsync. Functor also offers options like LGP (RCX/colored tiles) and colored nicknames in combination with gepard.
  15. 3 points
    GRF Editor: Encryption The Movie Hello again, rAthena, I'm Haziel. I'm a Pixel Artist and also a Scripter. (Also, you can check my work here and here, and if you ever need any Sprite/Script Service, check here! You can also add me on skype (it's on my signature)) Most of the people who know me or hired me for any kind of service know that I don't charge more than it's fair. What upsets me is the people who use my work without authorization, most of the cases, paid material that took hours, days or, sometimes, weeks to be concluded. So, hoping to protect my work, and the custom content of your servers' owners, I've decided to write a guide explaning in detail how to use @Tokei's awesome tool. 1. List of Materials • GRF Editor, if you're not familiar with this software, it is the best GRF Management Tool ever coded. • The files you want to protect, the encryption is made by file so, there's no need to encrypt the whole GRF. • Your Hexed must be 2012-04-10 or above, it won't work on 2010 Clients. • Decide your Hexed filename, it's essential for the encryption to work. 2. Generating Encryption Key GRF Editor uses a Key Encryption Method, what means that your protection is based on a password. Choose a password you'll remember or note it somewhere, you won't be able to decrypt your files without it and always save a Backup of the files you'll encrypt. Password chosen, you'll need to generate the DLL, the one that will allow your Client to read encrypted files. Open the GRF Editor and navigates on the top menu to Tools > GRF Encryption, you'll see the window below. First, Input your Key on the Encryption Password field. Next, select your Client on the Client Path field, it is needed for the DLL to be coded to its filename or be modified if needed. IMPORTANT: The Client being asked here is for the Hexed, IT IS NOT the Patcher, Launcher or Loader. The name of the DLL can also be changed, it will output a modified Hexed of ready to read it. With everything set, click in Generate File(s), and it will pop up a folder where your DLL has been generated, add/replace the one in your Client folder. 3. Encrypting Files Files can now be encrypted. Open your GRF, GPF or THOR, select the files you want to protect. Right-click it and select EncryptIon > Encrypt. Enter the Password you previously defined, confirm and the file will be highlighted in Orange. The colour might not show up when you're working on a THOR file or opens a GRF/THOR previously encrypted, that's normal behavior. Once the GRF or THOR is saved, you won't be able to read the file. Normally an error will pop, but you can test it ingame, if you've done it correctly, it will be displayed properly. As far as I've tested, the Encrypted Files works in the DATA folder if extracted. If you want to Encrypt or Decrypt a whole GRF, you can select Tools > GRF Encryption with the GRF open by the software and choose the options Encrypt GRF or Decrypt GRF. You will be asked for the Key, and then It'll run the process through the entire GRF and export it to a new folder. The same process can be made with THOR files, even if it displays any reading error, patched Encrypted files will work. I hope that's clear enough and that it may help you. Post any question you may have in the comments below and I'll try to help. My best regards, Haziel
  16. 2 points
    nodecp nodecp is a Control Panel built for rAthena and Hercules that is made in node.js and pug as the template engine nodeCP Version History rAthena 0.02 - Official Release 0.1 - View Account, Discord Webhook, Simple Download Page, Footer 0.1.1 - Fixed Item name Repeat 0.1.1-1 - Fixed SQL Injection Vulnerability 0.1.1-2 - Case Sensitive Usernames fix 0.1.2 - Added PHP Parser 0.2.0 - Code Refactor, Re-design. 0.2.1 - Fixes 0.2.2 - Dark and Light Theme, View Account, Custom Databases 0.3 - Dynamic Express Static, Theme Changer 0.3.1 - Pincode System, Code Clean 0.4 - Code Refactor, Better System, Faster. (on Beta) 1.0 - Stable Release! Added *Hidden...* (Soon) Hercules 1.0 - Project Release (Once 0.4 for rAthena is released, this would be released.) FAQ Q: Hello! I would like to contribute to the project A: Just fork the github repo and do your changes there! Once you've done a few pull requests, we would add you as a Collaborator on the Github Repo. Q: How do i become an Organization Member for nodecp? A: You need to be a Collaborator and must Contribute to nodecp and other projects it has. Once you've done a few contributions, we would inform you that you are added from our Organization. Q: Why is there another rewrite for rAthena? A: I felt like the new system won't work out with the old one. So i had to do this. Q: I found an Error! Where do i report it? A: You have multiple options. PM me on Discord (**Universe#7440**), Reply on my rAthena Topic or Open an Issue on Github Q: I am a NodeJS Developer! I want to add my own Features. A: That will be documented soon. Q: So you guys support Hercules now? A: Yeah! It's bad to not support Hercules. I mean, who doesn't like it? Q: Why are some versions missing inside the rAthena/Hercules folder? A: Because some versions are gone from my pc and couldn't be found or the code is simply outdated and won't receive fixes. Q: From what versions are available for Download A: For rAthena, you could download from `0.3.1` to the Present Version. While for Hercules, you could download `1.0` to the Present Version. Requirements nodejs v11 or greater. windows/mac/linux/etc... Basically any Operating System that has nodejs. Support Join our Discord to get support and notified about releases and updates Demo and Github Demo: https://nodecontrolpanel.com/ Github Source: https://github.com/nodecp/nodecp Downloads: https://github.com/nodecp/nodecp-releases
  17. 2 points
    Current Version: 27 April 2019 To make an RO offline server usually you need: setup and configure MySQL database git clone emulator source code get from somewhere client files create a database for the emulator set correct permissions for database users what will used via emulator for working with DB download and install Visual Studio Community 2017 with all packages (size ~10GB) configure mechanic, turn off some SRC functionality and so on Take from somewhere exe file, apply correct patches to your exe Build a GRF with all required for exe resources and files Compile the server (from sources to a binary file (what you can run on your OS)) Configure server-side (emulator), set proper settings, and so on to make it work copy-paste your game-client files and exe to kRO game client start MySQL database, run the emulator, launch game client This is hard for newbies. Because you will do a lot of mistakes because you can't know the different details. The package solve almost all steps above and leave to you only 2 last steps (copy paste, launch, and play) How to make everything work (2-minute guide) Download Extract Watch the video or read readme.txt Launch OpenServer and start server (Green Flag) Copy-paste 1 time only game client files to kRO folder Launch emulator Launch game exe from kRO client folder Login and play This is super easy, is not it? I have prepared for you almost everything, to make sure that you will skip the painful newbie entry point with making it just work. You can use this package as a template for building your own server (if you really wish to and will be stuck somewhere). All emulators, client, repository folders are connected to remote repos, so you can always easy update emulator or client by yourself without waiting for any updates from my side. I made almost everything what you need to keep always up-to-date emulator. But for making it up to date, please read the section below later, this requires some steps and understanding from your side (I did not make 1 click solution to update it, because of problems inside emulator) Download Links Google Drive | Mega Alternative Link: Part 1 (1.3GB) (just pack (emulator)) Part 2 Client (2.7GB) (game client) Please download the whole folder what you see if you are a newbie. Current Full Pack Size: 4 GB (include kRO client and everything else) 1.3GB = emulators, packed grfs, tools, openserver, and so on (this is a raw package) 2.7GB = kRO clean game client required for the files above (07_clean_kRO_client) If you let your friend connect to the server (online) you can read the guide: https://gist.github.com/anacondaq/3eae8e4afb5d3c3880d08b95b2c54b78 Old topic (first version from 2017, 2018 years): 2019 March update: http://web.archive.org/web/20190427160411/https://rathena.org/board/topic/109823-ragnarok-online-complete-offline-server-client-pack-2019-make-your-ro-server-in-less-than-5-minutes/ 2018: http://web.archive.org/web/20190212101235/https://rathena.org/board/topic/109823-ragnarok-online-complete-offline-server-client-pack-2018-make-your-ro-server-in-less-then-5-minutes/ 2017: https://web.archive.org/web/20180420124127/https://rathena.org/board/topic/109823-ragnarok-online-complete-local-server-client-pack-2018-make-your-ro-server-in-less-then-5-minutes Please read readme.txt before asking any question. Changelog: 27 April 2019 - updated emulator, client files, almost everything fixed manually several founded issues, tested homunculus AI's, etc stuff done. Edited links, done a lot of work. But all files packed into rar archive instead of sfx one for several reasons. 01 March 2019 - fixed many issues related to the game client, turned off custom NPCs, updated emulators, recompiled everything, fixed earlier reported issues, re-uploaded and repacked everything to different hostings. If you want to update your package, search for my post on page 30. 12 February 2019 - many many many fixes to emulator, client, everything updated, and all known issues fixed. Everything is up to date and works great. 07 July 2018 - updated all content inside the package to their actual versions. Also, changed exe to 20180530 one from 20170614, and also repacked game clients as well too. Fixed small minor reported issues. Download links updated (please use the client) 01 June 2018 - updated and repacked kRO client (merged rdata.grf into data.grf for reducing total size of full kRO client), updated rAthena codebase up to 01 June 2018, recompiled all servers, fixed reported bugs related to the VIP system, fixed crash issue with Gentleman Pipe, all download links updated, if you want to take the update, re-download the whole package. 02 May 2018 - added VIP system options April 2018 - second unbounded version from the anacondaqq (you can update manually the whole package) March 2017 - initial release
  18. 2 points
    Hello rAthena Community I'm Earnestinence, and i'll be guiding you to setup rAthena and run Ragnarok Programs you need to install before we start Downloads: Github : https://desktop.github.com/ MySQL (When installing: make sure to check 'Use Legacy Authentication Method; Retain MySQL 5.x compatibility' ) : http://www.mysql.com/downloads/mysql/ MySQL Workbench : http://www.mysql.com/downloads/workbench/ Note: remember the username and password you set when installing ! Latest Clean kRO Full Client : by: @Akkarin Microsoft Visual Studio ( MVS ) : https://www.visualstudio.com/downloads/ Visual Studio is a code editor supporting and C andC++ compiler. more info Click here by @Aleos Notepad ++ : https://notepad-plus-plus.org/download/ Note: Notepad++ source code editor and Notepad replacement ( or just use notepad ) 2015-11-04a unpacked client: https://mega.nz/#!w84jRRjZ!iWjU1Qfsez_3nbTtqQuFWHsbda2IglPi7TBnzZWmJtI by: @Napster rAthena support all the clients listed in the packet files : read more Required Files: After you download and install GitHub download these files using GitHub File > Clone Repository rAthena ( server ) : https://github.com/rathena/rathena.git English Translated System & Data Folders RE/PRE: by @zackdreaver For Renewal: https://github.com/zackdreaver/ROenglishRE For Pre-Renewal : https://github.com/zackdreaver/ROenglishPRE NEMO Client Patcher : https://github.com/MStr3am/NEMO.git For more info see this topic by @NeoMind Client Setup : http://nn.ai4rei.net/dev/opensetup/ Client setup for Ragnarok Online by @Ai4rei ========================================== Setting up rAthena Server-Side: See video time-line: 00:02 Step 1: Download/Clone rAthena Source Open GitHub. Click Clone repository. Click URL tap. Copy and paste this URL: https://github.com/rathena/rathena.git Choose the downloading path. Click Clone and wait for it do finish downloading. Step 2: Configuring rAthena See video time-line: 00:35 open rathena/conf/import-tmpl/char_conf.txt Add these lines : userid: username passwd: password login_ip: char_ip: [Optional] To change server name add this line : server_name: YourDesiredServerName Note: If you want to change anything in char_athena.conf, use the import-tmpl directory to avoid future issues when updating. ( just add the respective value you want ). rathena/conf/import-tmpl/map_conf.txt Add these lines: userid: username passwd: password char_ip: map_ip: Note: If you want to change anything in map_athena.conf, use the import-tmpl directory to avoid future issues when updating. ( just add the respective value you want ). rathena/conf/import-tmpl/inter_conf.txt Add these lines login_server_db: rathena ipban_db_db: rathena char_server_db: rathena map_server_db: rathena log_db_db: rathena_logs Note: If you want to change anything in map_athena.conf, use the import-tmpl directory to avoid future issues when updating. ( just add the respective value you want ). Note: I use rathena as my main database which contain all main tables (like: chars, login, guilds, etc... ). However, I like to separate my logs to rAthena_logs . Step 3: Compiling rAthena See video time-line: 02:16 Locate rathena/rAthena.sln Locate and right click rAthena.sln open with > Microsoft Visual Studio 2017 ( or 2013 / 2015 ) Wait for the MVS to load the project, when it's ready select Solution 'rAthena' (8 projects) and then right click and Click 'Clean Solution' First when clean finish successfully click on 'build Solution' Wait for it to finish, make sure the log below finish successfully Step 4: Setting SQL Database ( make sure MySQL installed and running ) See video time-line: 03:13 open MySQL Workbench log in : Using the username 'root 'and the password you set when you first install MySQL ( If you don't remember the password, you can reconfigure MySQL using MySQL installer ) once you logged in create new user account and grant Administrator Privileges: - See video time-line: 04:17 In The Left Side click on Users and Privileges At The Bottom click on Add account Set Login Name : ragnarok Set Password : ragnarok Set Confirm Password : ragnarok At The Top Menu Click Administrative Roles: and then check DBA Click Apply logout by clicking on X at the top of the current tap and then login using the new user account ragnarok with password ragnarok See video time-line: 05:00 Creating databases/schema : See video time-line: 05:26 Click on create new database/schema Set the Name: rathena ( this will be our main database/schema ) Set Charset: utf8 ( Now this's is important you need to check this ) Click apply, apply and then finish Now Click on create new database/schema Set the Name: rathena_logs ( this will be our logs database/schema ) Set Charset: utf8 ( Now this's is important you need to check this ) Click apply, apply and then finish import rathena SQL files to rathena & rathena_logs databases: See video time-line: 06:16 Double click on rathena database/schema we've just created Click on locate rathena folder and go to rathena/sql-files and click on main.sql Click on the light icon * wait for the tablet to be executed * Double click on rathena_logs database/schema we've just created Click on locate rathena folder and go to rathena/sql-files and click on logs.sql Click on the light icon * wait for the tablet to be executed * change the username and password of the server: See video time-line: 07:03 Now next/around rathena database right click on a blank area and click refresh all ( in order to view the tables we've just created or just relog ) Click on rathena database/schema > tables > locate login table.. now click on tables and locate login table then right click and click on select Rows - Limit 1000 Double click on s1 and change it to username then hit enter ( we put the userid: username in rathena/conf/import-tmpl/char_conf.txt and map_conf.txt make sure you use the same one you put in these files ) Double click on p1 and change it to password then hit enter ( we put the passwd: password in rathena/conf/import-tmpl/char_conf.txt and map_conf.txt make sure you use the same one you put in these files ) Click apply, apply and then finish Step 5 ( running the server ) Running rAthena server See video time-line: 07:35 locate rathena folder rathena/ click on runserver ( less than 8 mins without any errors ) ================================================== Client Side Running & patch ragnarok online client open Official kRO Client/ Updating kRO Files: Locate and run rsu-kro-rag-lite.exe and wait for it to finish and then rsu-kro-renewal-lite.exe and wait for it to finish updating .. Adding translated system/data files Locate ROenglishRE or ROenglishPRE and copy Data & System folders , GuildTip & Tipoftheday and paste these files into the official kro client folder ( Replace the files when asked ) Setting up clientinfo.xml : locate official kRO client folder open folder data/ and edit file clientinfo.xml change the version to 55 <version>55</version> set the langtype you want i use 19 to be able to write in english and arabic <langtype>19</langtype> * use the forums search to find other langtype for other language * set admin sprite for any account you want, just put the account id <aid> <admin>2000000</admin> </aid> Copy and paste the setup file into the the official kRO client folder Patching the Client 2015-11-04 load the client and select recommended and click enter for data.ini and then CHANGE/EDIT system/iteminfo.lub to system/iteminfo.lua and check read data folder first, ignore missing palettes, ignore resource errors and then customize the client as you want Here's my additional patches: >>> Custom Window Title ( name you server ) Disable Swear Filter Disconnect to Login Window Enable Title Bar Menu Read Data Folder First Show Cancel To Service Select Ignore Missing Palette Error Ignore Resource Errors Use Ragnarok Icon ( ragnarok icon for the client ) <<< copy the new 2015-11-04aRagexe_patched and paste it your official kRO client folder now the client is ready, just run the game using 2015-11-04aRagexe_patched and Enjoy to create a male account just type ex: admin_f for female - admin_m for male and don't forget to set the account group id 99 to get full GM permissions Issue #1: Closed connection from ''. Solve: go to your rathena/src/custom/defines_pre.hpp and open it with notepad++ ( or any notepad ) add this line #define PACKETVER 20151104 ======================================================== As of 28-7-2018: the topic is fully updated and support MySQL 8.x ======================================================== For further questions or concerns regarding the tutorial, Do NOT hesitate to contact me in this topic, or discord: Earnestinence#5337, which is the best way to reach me. - Earnestinence
  19. 2 points
    Let me explain. Not all content available in the emulator. Simply because someone HAVE TO add it. That means that developers or contributors of rAthena add items manually to the database, and what you see in item_db.txt it's a year of work of gathering items. Item object divided into two parts: client-side, an emulator. Client-side related to officials, emulator to rAthena contributors. Officials release some item at some day and release patches for their grfs to include these files into a client. Some contributor may or may not try to catch these items and add them to emulator, or another contributor could or could not translate the item or add or not add the item (description part) to their translated files. Also, officials can or can not (depends on nobody knows) remove at any time any sprite from the game too (client side). So, if summarize the wall of text above -> everything very agile and grounded on many factors and many people and many decisions and many works. If you do not see some content in the game in the emulator part probably nobody added it yet and nobody knows when the items will add to the emulator. The same was related to the client part. All that you can to do is manually add the required items to your client (translation part, description, where item located, what preview image will be displayed, what the item description, who can wear, and so on) add to your ItemInfo.lua, or / and to your import/item_db.txt by using tools like SDE or by using examples. All that you need to have a sprite file. If you can get somewhere sprite files (for example with GRF Editor from GRF (advice: check the first accessoryid.lub, and accname.lub files at the end of the list for headgears)). So, nothing "simple". There is "click 1 button to update and automatically add items to your game client/emulator". This is very critical to understand because you're at development community of the emulator which the main goal - development for education purposes, skills, fun, whatever, and this is NOT about "releasing a complete and ready product". Again, I wish underline it one more time, because a lot of people do not understand this statement. If you missing something - try to find the missing part by yourself, or write it by yourself. Yes, it will be hard, also you can hire someone who will do it for you for money, but there is no "easy path or 1 click to "make me happy".
  20. 2 points
    My custom Launcher created 100% by me Login Launcher + Update + Account Manager + Vote 4 Points + Donate No need to go to the server site What do you think? Suggestions? OLD
  21. 2 points
    nope, my script not use < "+strcharinfo(0)+" > and it's working identification.txt But this only for identification, to get free identification must doing quest.
  22. 2 points
    This is my first map, so be honest. ^o^
  23. 2 points
    - You can use all of my artwork for free. (Google Drive) - If you like please donate, Thank you a lot! - If you want me to draw for you contact me on Discord Start#1356 ========================== This is my all Ragnarok Online 1 artwork. I draw it for my players. (Private server) Whole time at Prontera - pixiv Gullutine Cross (Female)(jRO) - pixiv Gullutine Cross (Male)(kRO) - pixiv Ranger (Male)(kRO) - pixiv Ranger (Female)(jRO) - pixiv Guillotine Cross (Male)(kRO) - pixiv
  24. 2 points
    Hi, I'm a new spriter. These are some of my works :3
  25. 2 points
    Sounds like there isn't really a reason for renewal going by your list. Unless you enjoy a 100% linear experience and NPCs telling you where to go. But if you like that, might as well play any other MMORPG. I really gave up on RO after the renewal update because it turned RO from something unique into being just like any other MMORPG just with worse graphics and controls. The problem with pre-renewal really was only that its stat, class and equipment system really hit a cap. It got easier and easier to reach instant cast, status change immunity or defensive and resistance values so high you hardly took damage anymore. Gravity had to add better and better gear to keep players playing, but it also slowly but steadily ruined game's balance. Best of both worlds? Honestly not familiar enough with renewal to say what I'd take from it. But what definitely should be taken from pre-renewal was the old pre-trans monster difficulty / exp balance. Basically back then a monsters 2 times harder gave 3 times more exp. There was no exp or drop penalty at all because it wasn't needed. The reason you aimed for fighting stronger monsters was simply because it was more rewarding. You could really just go and play in any location you want. That's why partying up was also so much worth it. Due to the free choice of location, there was no "This region doesn't match my level" or "I'm currently in a different part of the quest so there's not much sense for me to join", you could just randomly make up "Today I'm doing a Glastheim party, who wants to join?" and you could easily find people joining from a wide level range. If they could have just managed to keep that feeling and just improve the game's balance rather than turning the whole game into another WoW clone...
  26. 2 points
    Hi everyone, Since I haven't seen anyone create a package for atom yet, I figured this might be something interesting to make for everyone. So, here it is, a package for Atom to support the scripting language. You can find the package in the package manager of Atom. Enjoy! If there is any questions, feel free to ask here. If any issues is found, report them here https://github.com/JoWei/language-athena/issues
  27. 2 points
    Hello! After posting in Herc and rAthena to ask about the effect tool files in the various official GRFs, it seemed no one knew how to edit them for usage in custom maps, so I gave up until a few days ago when i started tinkering again and finally figured it out. Turns out I was just being a nub and it wasn't as annoying as it seemed, so I decided to write a guide in hopes that others can use these in their maps to make them even more fabulous, and so that hopefully, someone can figure out and post the proper usage for the other "effect tools" like Magic Floor, for the good of humankind! Also, If this is in the wrong section, etc., please let me know. I should note that I'm only going by what worked for me, this is just the base minimum needed to get them working on your map. Feel free to tinker around to discover different and better uses, methods, etc., and please let me know if any information provided here is incorrect or if there's anything I missed, etc, so that I may fix it. Useful/Needed: Browedit 586, 620 Notepad++ Browedit 2 Lua Dec (optional) What's an effect tool? They're used to add additional effects to maps. For every map that will use one, there is a .lub file in the GRF, under "data\luafiles514\lua files\effecttool" (Or may just be "LuaFiles" without the 514 depending on which one your game reads). The most commonly used effect tool function, which is the one I'll be talking about in this guide, uses the "EF_EMITTER" effect, #974. It is assumed you know how to work Browedit, at least enough to add a special effect and not crash yourself. The file will look like this below. Click below to see what some of these lines means. To make whatever you want visible on your map: 1. Add effect #974, EF_EMITTER to it. If you don't see it on your effects list, edit your effects.txt file on browedit's data folder to add it. When placing the effect, loop time seems to not matter, though to be sure, you may set it to 9999999 (9,999,999) which is what official maps commonly use. 2. Once you added EF_EMITTER wherever you want, save it, generate quadtree and whatnot so you can properly see your map ingame. 3. Create a .lub file as seen above. You can also just copy it from what GRF editor shows as preview and edit from there, or use Lua Dec to decrypt from an official one. 4. Just change the numbers as you wish, pick effects, and add the file to your effecttool folder and check it out ingame. Notes: - It is unknown how it picks which emitter effect is affected, but I assume it corresponds with the order of the effect list in browedit. - Missing a comma, etc will cause you to receive an error message ingame and the effects won't show. - As mentioned previously, this guide only details how to work with EF_EMITTER. "EffectToolUtil.lub" and "effectfunc.lub" indicates other effects can be worked with, such as 1025 (EF_MAGIC_FLOOR) and 1039 (EF_EVILS_PAW), and regular effects, but I couldn't get these to work. - Z axis in this file works the same way as Browedit (and water heights), where negative numbers raises the height while negative numbers decreases them. - Images are flipped vertically. It's not possible to flip them back via effecttool, so effects like "heart_1.bmp" must be flipped manually and saved to GRF that way (with a different name so as not to mess up other effects). Screenshot isn't as compelling as a GIF, but here's an example of what you can do with the example in the hidden spoiler above. Let me know if any information provided here is incorrect or if there's anything I missed, etc, so that I may fix it. And, if someone figures out how to use the other effects, a general guide to using them would be appreciated so that others may use them too!
  28. 2 points
  29. 2 points
    you are asking a lot of questions i couldn't understand most of it i think you want to know how to add Custom NPC? this a short guide < do it and everything would work: SERVER_FILES: >src >>map >>npc.hpp EXAMPLE: JT_NPC_CUSTOM = 30000, >>script_constants.hpp EXAMPLE: export_constant_npc(JT_NPC_CUSTOM); CLIENT_FILES: >data >>sprite >>>npc >>>> //your npc spr/act here EXAMPLE: >>>>npc_test.act >>>>npc_test.spr >>luafiles514 >>>lua files >>>>datainfo >>>>>npcidentity.lub EXAMPLE: JT_NPC_CUSTOM = 30000, (THE ID MOST NOT BE ALREADY USED IN jobidentity.lub AND npcidentity.lub / THE ID MUST BE THE SAME AS THE SERVER npc.hpp) >>>>>jobname.lub EXAMPLE: [jobtbl.JT_NPC_CUSTOM] = "npc_test", recompile your server do not use already used IDS/NAMES "JT_" is important make sure the client read the files you edited first!!!! <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< READ THIS run your server now you can add the script in your server prontera,150,150,0 script my_costum_npc 30000,{} OR prontera,150,150,0 script my_costum_npc JT_NPC_CUSTOM,{} reloadscript and you will see your npc
  30. 2 points
    When I saw this map, I had a melody of this song in my mind... [youtube]
  31. 2 points
    Updated on 14.06.2018: Mjolnir & Stormbreaker new ones: wonder woman's tiara amazon's sword spiderman --------------------------------------------------------------------------------------------------------------------------------- old ones: (old posts' pictures all ruined, thanks photobucket) Captain America's shield Iron man & War machine s' masks Hawkeye's bow Black Widow doll Scarlet witch's chaos magic Falcon's Wingpack Deadpool
  32. 1 point
    just before you delete the zeny set Zeny, Zeny-.s_zeny; add if(!countitem(7716)){ mes "you need 1 " + getitemname(7716) + " to complete the enchantment."; end; } delitem 7716,1;
  33. 1 point
  34. 1 point
    Hi this is my Ragnarok adaptation of the Ouryuken Blade from Digimon, this blade was used by Alphamon Ouryuken. Do we have any digimon fans here? More Digimon weapons i guess in the future.
  35. 1 point
    I hope this helps. disable_items; set [email protected], 3000; mes "[Equip Assistant]"; mes "Hello, do you need your help with your equipment?"; switch(select("Repair Equipment","Identify Equipment")){ case 1: if (Zeny < [email protected]) { dispbottom "It costs "[email protected]+" Zeny to repair your items."; end; }else { if( getbrokenid(1) ){ repairall; set Zeny, Zeny- [email protected]; dispbottom "Your items have been repaired."; } else { message strcharinfo(0),"No broken items detected."; end; } } break; case 2: getinventorylist; for(set [email protected],0; [email protected]<@inventorylist_count; set [email protected],[email protected]+1) { if (@inventorylist_identify[[email protected]]) continue; if (Zeny < [email protected]) { dispbottom "It costs "[email protected]+" zeny to identify an item."; }else { setarray [email protected][0], [email protected][0]+1, [email protected][1][email protected]; } } if ([email protected][0]) { message strcharinfo(0),"No items where identified."; end; } else { set Zeny, [email protected]; specialeffect2 154; atcommand "@identifyall"; message strcharinfo(0),"Identified "[email protected][0]+" items"+(([email protected][1])?" for "[email protected][1]+" Zeny":"")+"."; end; } break; }
  36. 1 point
    i would agree that it would be good to leave it secret , but for me i am always here , checking everything most of the server owners wont really know about it , and they will have the bug for long time without known about it at all , it would be too late to fix it in their server so i see the point of the announcement, even if it's not good for me personally till i fix it in the servers that i work for it's still good for the overall community
  37. 1 point
    try item script: {},{ char_variable++; },{ char_variable--; } and npc script: - script something -1,{ OnPCStatCalcEvent: if(isequipped(<itemid>)){ skill <"skill name">,char_variable; } end; } this might work without npc { skill <"skill name">,char_variable; },{ char_variable++; },{ char_variable--; }
  38. 1 point
    use: disablenpc "npc"; enablenpc "npc";
  39. 1 point
    I think that map is flagged "similar" as woe maps. Try to use Ice Wall in a norma field, try lou_fild01 180 180 and see if it works well there o:
  40. 1 point
  41. 1 point
  42. 1 point
  43. 1 point
    I have so many people asking how in my Discord PMs, so I'm writing this so I could copy-paste the link... This will be a step-by-step guide. But please use the Forum's search bar or Google search in case you are not familiar with some terms or programs. Client Part [2015-10-01aRagexeRE to 2017-06-14aRagexeRE] 1. There's a patch in NEMO that can disable Summoner, use it. Client Part [2017-06-21RagexeRE or later] 1. Use GRF Editor to open your GRF, search for ExternalSettings. One or more files will appear. If nothing shows up, grab one from data.grf. 2. If your use a Sakray(RagexeRE) client, click externalsettings_XX_sak.lub. Otherwise click externalsettings_XX.lub. XX will be the shorthand of the country name which is associated to your langtype. After that, click the Save As button to save the decompiled Lua file. 3. Open the file with any text editor that does not have Notepad in its name. 4. You'll see a lot of things you can customize. Let's ignore those. Find the line with this code MakeableRace = { Doram = true } 5. What's next? Let's change the value to false. 6. Save the file and put the edited Lua file back into your GRF. Make sure the file extension is lub not lua. 7. Now we're done with the client editing. Let's also configure the server just in case a smartass use WPE or edit the Lua file back. Server Part 1. Open conf/char_athena.conf in your server files. 2. Find this part // Restrict certain class from being created. (Only functional on 20151001aRagexe or later) // 0: No character creation is allowed // 1: Only novice is allowed to be created (pre-renewal default) // 2: Only summoner is allowed to be created // 3: Both novice and summoner can be created (renewal default) // Uncomment to customize the restriction //allowed_job_flag: 3 3. Uncomment the last line. (Yes, remove the slashes) 4. Change the value to 1. 5. Save the file. We're done now. 6. Oh, and don't forget to restart your server if it was running. PS. Don't PM me to get support, those PMs will be ignored.
  44. 1 point
    Discord Rich Presence Hello rA, today I'm here to show you a client-plugin for RO that I made recently. This plugin is Discord-RPC or better known as Discord Rich Presence. What is Discord Rich Presence? "Rich Presence allows you to leverage the totally overhauled "Now Playing" section in a Discord user's profile to help people play your game together. Rich game data—including duration, score, current boss or map, and so much more—lives inside Discord." Source: Discord Documentation So, basically, this plugin allows players to display basic information about their game in Discord, some examples: Main Menu In-game information The plugin is very configurable and It's possible show even your Guild Name. Currently this plugin only works in 2018-06-20 RagExe. Hope you liked this showcase. Regards~
  45. 1 point
    conf/battle/misc.conf // Set this to the amount of minutes afk chars will be kicked from the server. afk_timeout: 0 src/custom/atcommand.inc /*========================================== * @afk *------------------------------------------*/ ACMD_FUNC(afk) { nullpo_retr(-1, sd); if(sd->bl.m == map_mapname2mapid("prontera")) { clif_displaymessage(fd, "@afk is not allowed on this map."); return 0; } if( pc_isdead(sd) ) { clif_displaymessage(fd, "Cannot @afk if you are dead."); return -1; } if( map_getmapflag(sd->bl.m, MF_AUTOTRADE) == battle_config.autotrade_mapflag ) { if( map_getmapflag(sd->bl.m, MF_PVP) || map_getmapflag(sd->bl.m, MF_GVG_CASTLE) ) { clif_displaymessage(fd, "You may not use the @afk maps PVP or GVG."); return -1; } sd->state.autotrade = 1; sd->state.monster_ignore = 1; pc_setsit(sd); skill_sit(sd,1); clif_sitting(&sd->bl); clif_changelook(&sd->bl,LOOK_HEAD_TOP,471); clif_specialeffect(&sd->bl, 234,AREA); if( battle_config.afk_timeout ) { int timeout = atoi(message); status_change_start(NULL, &sd->bl, SC_AUTOTRADE, 10000,0,0,0,0, ((timeout > 0) ? min(timeout,battle_config.afk_timeout) : battle_config.afk_timeout)*60000,0); } clif_authfail_fd(fd, 15); } else clif_displaymessage(fd, "@afk is not allowed on this map."); return 0; } src/custom/atcommand_def.inc ACMD_DEF(afk), src/custom/battle_config_init.inc { "afk_timeout", &battle_config.afk_timeout, 0, 0, INT_MAX, }, src/custom/battle_config_struct.inc int afk_timeout;
  46. 1 point
    yes but you can overwrite it in the next line too - script NO_WATER -1,{ OnInit: //setcell "<map_name>",0,0,<max x>,<max y>,CELL_WATER,0; //Example: //Removeing the water from the map setcell "prt_fild05",0,0,400,400,CELL_WATER,0; //Adding water cells to the map //120,120 is water setcell "prt_fild05",120,120,120,120,CELL_WATER,1; //from 150,140 to 150,190 is water setcell "prt_fild05",150,140,150,190,CELL_WATER,1; //etc } just general information xD and i think editing the map it self better for you , so if you counter this problem again you would know the fix
  47. 1 point
    Greetings Nuckelavee, Have you set up as a static IP address for your computer on your router? This is necessary for the Port Fowarding to work, since you are redirecting incoming requests on your router to a local IP address. Your char_athena.conf should have your LAN IP on login_ip and your WAN IP/NO-IP domain on char_ip. Your map_athena.conf should have your LAN IP on char_ip and your WAN IP/NO-IP domain on map_ip. If your ISP uses NAT, it might be that your router in fact has an external IP address that is not your real (WAN) IP address. In this case, you might want to try this suggestion regarding your NO-IP configuration. You said that Port Check Tool wouldn't yield a definitive result regarding the state of your router's 5121, 6121, 6900, 3306 and 80 ports. This is indicative that either your ISP or your Router's Firewall is not redirecting incoming connections to your machine. Your router's port forwarding configuration is correct, though. Your ISP might have changed its contractual clauses between 2015 and 2018 to block any connections on non-trivial (i.e. other than 80, 443, 21, 22, etc) ports. Summarizing Your issue seems to come down to allowing connections on your Windows Firewall, on your Router Firewall and, perhaps, on your ISP's Firewall. It might be that other running applications are competing for the same ports used by VertrigoServ. Please provide the contents of login_athena.conf, char_athena.conf, map_athena.conf as well as subnet_athena.conf for further support. Sincerely, Tyrfing
  48. 1 point
  49. 1 point
    I did a mix with previous changes. It's not a good code, but it works. http://pastebin.com/raw/7MTcs3c2
  50. 1 point
    Read: Basic_Scripting#Message if (isnight()) mes "Good evening!"; else mes "Good morning!"; close;
  • Newsletter

    Want to keep up to date with all our latest news and information?

    Sign Up