Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 01/05/13 in Posts

  1. 23 points
    Pack v2022: Current Version: 27 December 2021 Update 2023-10-01 - latest versions can be found there: https://discord.gg/p2kvabm https://ragnarokservice.top/ Download Links (~4.5GB): Download from Mirror #1 or Download from Mirror #2 or Download from Mirror #3 Important: Please make someone mirror these files. Or make a donation to me and I will make a mirror by myself. What is that? This is a newbie package that contains 1 click solution for launching Hercules emulator with a single click. This package only for education. Do not use this package anywhere in production. This package good demonstration of how everything should be configured by yourself to make it work. We can find here a good guide on how to configure everything by yourself: http://herc.ws/board/topic/16521-how-to-setup-offline-server-for-personal-development-use/ What inside the package? You have 7 folders: 01_emulator = here emulators (pre-compiled and pre-configured) for RENEWAL or classic PRERE mechanics 02_client_side = here is your client-side what need to copy-paste to your clean kRO client 03_openserver = here is Open Server (MySQL server where stored your game database and which required by the emulator) 04_useful_tools = here are different useful tools that you usually will need when will work with the emulator or databases 05_misc_repos = here are repositories from which it has built the client-side, and exe patched. 06_cmder = this is a tool will be good for you to update the emulator to the latest version (and other files in misc_repos) 07_clean_kRO_client = this is a clean kRO client (2018 somewhere in march updated), need for you to run your own RO copy. How to use all of this? extract files inside 01_emulator, 02_client_side, 03_openserver, 07_clean_kRO_client Now, what emulator version do you need? Latest (current official servers) (renewal mechanic (suras, dorams, etc classes)) or classic PRE-re (champion, high wizard, high priest)? Now if for example, you use PRERE mechanic (where is high wizard class, paladin, lord knights, and no 3rd classes) your steps are next: a.) go to 02_client_side\FOR_PRERE_EMULATOR\ b.) select all files in this folder (FOR_PRERE_EMULATOR) and copy (CTLR+C) c.) now go to 07_clean_kRO_client/clean_kRO_client/ folder and copy files here (overwrite if windows explorer will ask to do that). d.) now you need to run OpenServer (it's a server that stores all your player's data inside the database, required by the emulator) and run it. e.) Click on Red Flag -> Run the server, make sure in your tray you got Green Flag. f.) Now go to 01_emulator\hercules_PRERE\ and run: run-server.bat g.) Now go to your 07_clean_kRO_client/clean_kRO_client/ and run: 2018-04-18bRagexeRE_patched.exe Your emulator, your database, and the client are running. Now you can try to login into the game. About Accounts: How to make a GM account or how to access the database? For that, you need to click on Green Flag -> Advanced -> PHPMYADMIN In the login field of PHPMyAdmin enter: "root", in the password field enter nothing. (no password) Press enter or login, and you will be in the database. Databases well structured, so mostly always you need not edit too much there. How to make a GM account? You opened PHPMYADMIN. Now select your database, and find in this database table called: "login" Open this table, and find your account name, and you will see column "group_id". Edit number in this column (group_id) to 99. 0-99 = your GM level. 99 = super admin with all privilegies, 0 = simple player with no privieleges. Okay, everything working for me, what can I do next? My short answer: http://herc.ws/board/ Read all topics, read different guides, read info about NPCs Read info how to add NPCs, how to enable them, how to disable them Read /doc/ folder files inside your emulator folder Read wiki pages: https://herc.ws/wiki/Main_Page Do experiments and do not afraid to destroy everything or remove them. Just do mistakes and errors, it's how people learning something new, through mistakes. DO not afraid to do a lot of mistakes and ask questions. People will help you if you will try to help yourself first and will make good questions with some research before posting messages. What tools can I use for making everything much easier for me? Tools that you MUST have: - Grf Editor - Server Database Editor - VSCode / Notepad++ / Sublime Text / Atom (any of these editors and select always C syntax highlight for opened files) I want to play with my friends on my server The solution that you will find by the link below is a terrible solution. But usable for a small group of people who for education only want to launch their server ONLINE (for others). This is SUPER bad, and never do that, (it's weird, after the only time you will understand why). But if you still asking here is the link: https://gist.github.com/anacondaq/3eae8e4afb5d3c3880d08b95b2c54b78 =============================================== I want make a donation as a gesture of goodwill: =============================================== Ask administrators here: http://herc.ws/board/ If they accept donations or not, I found no donation link. Optionally you can always support the next guys: 4144 for massive help to the current RO scene at all by his hard work. AnnieRuru for a lot of scripts, helping newbies on the forums http://herc.ws/board/staff/ - all these guys zackdreaver for a lot of efforts on a translation project and to all guys, scripters, mappers, etc players who spend their time, their efforts just for you to make everything free what you see here. Sorry if I didn’t mention someone. I need help with <something> There are a lot of talented developers, software developers, scripters, mappers, spriters, and many other people in this community. Check the link: https://herc.ws/board/forum/49-paid-services/ Also, I accept all questions related to the basic newbie stuff on the topic. Do not hesitate to ask even super stupid questions. But before asking something, try to do a very simple thing: Open google, in the search bar enter: "site:herc.ws" Then write your question or problem Hit enter and check all links that you see, maybe someone already solved your problem earlier. Alternatively: if you will not be annoying, and will be respectful, I can help with some newbie stuff in the discord channel about the package: https://discord.gg/p2kvabm Changelog: - 2021-04-10 - build from scratch new version with everything new (2020 game client, latest translation, fixed bugs, tons of features and improvements) - 20200419 - upgraded emulators, fixed problems with emulators, SQL files, and so on, upgraded full kRO, tools, misc Repos, client-files not touched. Added Discord channel for newbies support. - 20200307 - updated emulator, recompiled, uploaded to google drive. Client or db-server files not changed. - 20200203 - updated emulator, rest files not touched, if you want to upgrade your emulator, just download the 01_emulator.rar folder, and use it instead of your old one. I'm Ukrainian in Ukraine. Russia has begun a war against my country, and doing right now is genocide. Destroying cities, even mine own, killing thousands of people, civil people, burning to the ground cities. If you wish to support me in this challenging time (I will try to re-route part of this money to people I know to help them under these awful conditions). You can donate personally for me for my needs by the link: https://nowpayments.io/donation/anacondaq (crypto). Alternatively, you can send money to help Ukraine citizens to the official fond https://www.comebackalive.in.ua/ or to: https://help.gov.ua/
  2. 21 points
    Asheraf

    kRO unpacked clients releases

    Discontinued. Clients without themida protection can be downloaded at http://nemo.herc.ws/downloads/
  3. 21 points
    RUCR Hello Hercules Community, I was working on RUCR this month and I am happy to announce that it's complete. The Site contains all Ragexe(upto 2016-07) and RagexeRE from 2014, fully unpacked. It would be great if there will be no mirrors, I would be keeping this web up and running, so mirrors won't be needed. Also, if you find any clients missing, you can post it here, and I will check if that can be uploaded. Repo Link: DISABLED Enjoy
  4. 20 points
    Make your (offline) RO server in more than 5 hours - pun intended Hercules Link This Guide is intended for - Windows users windows sux, but 90% of the community still using windows, so I am targeting the majority of the members here - You want to contribute something back to the community if you just want to have fun by yourself, of course it's fine to use that 5 minute instant noodle guide BUT if you want to contribute to the community, you have to use LATEST server and software available ... which makes this guide outdated very fast Prelude: Determine your Windows Operating System type a. Windows Key -> Right Click on My Computer -> Select Properties https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-1.png b. Determine your Operating System type I'm using Windows 7 Ultimate 64-bit system https://github.com/AnnieRuru/customs/blob/master/server setup/prelude-2.png Step 1: Download and Install TortoiseGit 1a. Download TortoiseGit https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1a.png 1b. Installation next... next... next.. next... next.. next.. Install !!! 1c. Create 2 new folders 1 for Hercules, 1 for rAthena Right-click -> TortoiseGit -> Clone https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1c.png 1d. Download git 2.20.1 you'll get this warning message https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1d.png Open Git for Windows Website, Download it next... next... next.. next... next.. next.. Install !!! 1e. Reposition git.exe This time go to TortoiseGit -> Settings https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e.png General tab -> Git.exe path https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1e2.png C:\Program Files\Git\bin 1f. Download Hercules and rAthena Right Click on the folder, TortoiseGit -> Clone https://github.com/AnnieRuru/customs/blob/master/server setup/Step 1f.png https://github.com/HerculesWS/Hercules https://github.com/rathena/rathena Problems might encounter during Step 1c, when it ask for a git.exe, you have to go to that git for windows site, and download that thing Problems might encounter during Step 1e, sometimes even though you have already install git2.20.1.exe, but it still couldn't find the git.exe file to solve it, Right-click -> TortoiseGit -> Settings, you get a warning, Click Ignore, then follow Step 1e Step 2: Download and Install Microsoft Visual Studio 2017 Step 2a. Download Microsoft Visual Studio https://visualstudio.microsoft.com/downloads/ https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2a.png Step 2b. Downloading ... https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2b.png Step 2c. Click Install Visual Studio Community 2017 https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2c.png Step 2d. Load Hercules Project Double click Hercules-15.sln https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2d.png it says missing Windows 10 SDK 10.0.15063 ... Step 2e. Install individual component you can either let Visual Studio do its magic, or ... manually go to visual studio downloader ... click modify https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e.png then select the component to install manually https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2e2.png Step 2f. Load rAthena Project Do the same thing by double clicking rAthena.sln, but this time rAthena project needs Windows 8.1 SDK and Windows Universal CRT SDK Both emulator has been compiled Problems might encounter during Step 2c if using Windows 7/8, after the download is complete, it install a windows update that might crash all the programs in your operating system this Parasite MUST be remove !! To do this, go to Control Panel -> Program and Features https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g.png Click View Install Update tab https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g1.png then find KB2882822 and remove this parasite from your computer immediately before restarting your computer https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2g2.png IF you are the unlucky soul and you can't start any .exe file .... there's still a fix Restart the computer in Safe Mode ... many answer around the Internet tells you to press F8 when Windows Logo shows up, but this doesn't work for me, I have USB keyboard so I found another method ... run System Configuration https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h.png Select the [Boot] tab, then select Safe Mode. https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2h2.png this will make your windows always restart in safe mode until you turn it off then follow the above process, uninstall that windows update, deselect safe mode, restart computer again, now it should be back to normal Problems might encounter during Step 2f During compiling, if you see this in your Visual Studio fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory this means you are missing a component Windows Universal CRT SDK https://github.com/AnnieRuru/customs/blob/master/server setup/Step 2f.png Step 3: Download and Install MySQL 8.0 Step 3a: Download MySQL 8.0 https://dev.mysql.com/downloads/mysql/ https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a.png https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3a2.png actually, you can just click this -> https://dev.mysql.com/downloads/file/?id=480824 I have 64-bit operating system, but this 32-bit installer works fine for me Step 3b. Install MySQL 8.0 Select Custom https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b1.png We only need 2 products, MySQL 8.0 and MySQL Workbench https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b2.png Ready to Install https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b3.png next... next.. Execute !! next.. next.. next.. Account and Roles, type "1234" as password https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3b4.png click [Check]... next... next.. next... DONE !! Step 3c. Run MySQL Workbench Welcome to MySQL Workbench Double click the icon -> Click Connect https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3c.png Step 3d. Create a Schema Right click at the left side of the window https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d.png and create a Database call Hercules. Remember change charset/collation to utf8 https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3d2.png Step 3e. Install SQL Script for Hercules Set Hercules as default Schema https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e.png load hercules/sql-files/main.sql file https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e2.png copy into Query field, then Press Execute button https://github.com/AnnieRuru/customs/blob/master/server setup/Step 3e3.png repeat the same process again for log.sql file Step 3f. Install SQL Script for rAthena Set rAthena as default Schema install rAthena/sql-files/main.sql and the log.sql Problems might encounter during Step 3e. If you got a warning message that `ipbanlist` table creation failed, this has been reported -> hercules & rAthena that's why now we can only use utf8 charset Step 4: Connect MySQL to Hercules and rAthena Step 4a. Connect Hercules to MySQL Copy paste the import-tmpl folder, and rename it into import https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4a.png then open each individual files and modify each one of them conf/import/char_server.conf char_configuration: { // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: "Hercules" // Information related to inter-server behavior inter: { // Server Communication username and password. userid: "qwer" passwd: "asdf" // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: "127.0.0.1" // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: "127.0.0.1" } pincode: { enabled: false } } conf/import/map-server.conf map_configuration: { // Information related to inter-server behavior inter: { // Interserver communication passwords, set in the login server database userid: "qwer" passwd: "asdf" // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: "127.0.0.1" // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: "127.0.0.1" } } conf/global/sql_connections.conf sql_connection: { // [INTER] You can specify the codepage to use in your mySQL tables here. // (Note that this feature requires MySQL 4.1+) //default_codepage: "" // [LOGIN] Is `userid` in account_db case sensitive? //case_sensitive: false // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. // Under windows, you want to use 127.0.0.1. If you see a message like // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" // and you have localhost, switch it to 127.0.0.1 db_hostname: "127.0.0.1" db_port: 3306 db_username: "root" db_password: "1234" db_database: "hercules" //codepage:"" } Step 4b. Change s1/p1 inter server connection password since hercules server hates you for using s1/p1, I change it into qwer/asdf then Here's how to do it ... Open MySQL Workbench, double click your current running MySQL connection Type "SELECT * FROM `login`;" , edit the field s1/p1, then click [Apply] https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b2.png https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4b3.png Step 4c. connect rAthena to MySQL Copy paste the import-tmpl folder, and rename it into import then open each individual files and modify each one of them conf/import/char-conf.txt // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: rAthena // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 127.0.0.1 // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: 127.0.0.1 // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no conf/import/inter-conf.txt // MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: 1234 login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: 1234 ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: 1234 char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: 1234 map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: 1234 log_db_db: rathena log_codepage: log_login_db: loginlog conf/import/login_conf.txt // The login server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 conf/import/map_conf.txt // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 127.0.0.1 // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. bind_ip: 127.0.0.1 // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: 127.0.0.1 Note: you can do the same for rAthena, change s1/p1 into qwer/asdf. rAthena doesn't *BEEP* when you use s1/p1 though simply add this line in both conf/import/char-conf.txt and conf/import/map_conf.txt then change it in MySQL Workbench // Server Communication username and password. userid: s1 passwd: p1 Read Also: What is Import folder, just scroll down to the bottom and read it Before going into next step, I want to stress enough and make sure you can get your server to connect to MySQL so try running run-server.bat to connect your hercules --OR-- rathena server to MySQL https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5.png if you can't do it right, Open a New Topic in General Server Support problem might encounter during this step [SQL]: Client does not support authentication protocol requested by server; consider upgrading MySQL client This happens if you have previous version of MySQL installed on your computer, and upgrade into MySQL 8.0 to fix this issue, run MySQL command line Client from start menu https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5a.png then run these 2 commands seperately ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'; FLUSH PRIVILEGES; https://github.com/AnnieRuru/customs/blob/master/server setup/Step 4.5b.png 5. Download latest KRO Client and client translation files Step 5a. Download latest KRO from http://herc.ws/board/topic/15592-collection-official-full-clients-latest-kro/ https://rathena.org/board/topic/106413-kro-full-client-2018-08-13-includes-bgm-rsu/ <-- I pick this // ========== THIS PART IS CONTROVERSIAL ===== BUT IT WORKS FOR ME ======== Step 5b. Create another 2 folders let's name it Asheraf and zackdreaver ... the author of making client translation https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5b.png then download their translation files by git clone them https://github.com/Asheraf/Translation https://github.com/zackdreaver/ROenglishRE Step 5c. Download GRF Editor http://www.mediafire.com/file/aflylbhblrzpz0h/GRF+Editor+v1.8.2.7.zip <-- author forgot to update in that topic, mediafire link is latest one Step 5d. Compile GRF Editor https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5d.png double click GRFEditor.sln Step 5e. Open GRF Editor file Navigate to the directory \GRF Editor Sources v1.8.2.7\GRF Editor\GRFEditor\bin\Release and open GRF Editor.exe https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5e.png I also wondering why the author makes the execution files hide so deep inside Step 5f. Drag the data folder from Asheraf client translation to new.grf https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f.png then save it as Asheraf.grf https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5f2.png Step 5g. Repeat the process for zackdreaver translation Close Grf. New -> Grf, Drag the data folder from zackdreaver/Ragnarok/data to new.grf, then save it as zackdreaver.grf Now you have learn how to pack your own grf. You should have 2 new grf in client folder Step 5h. open data.ini in your ragnarok client and edit DATA.INI https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5h.png [Data] 1=Asheraf.grf 2=zackdreaver.grf 3=rdata.grf 4=data.grf Step 5i. Replace Asheraf/system folder into client/system folder https://github.com/AnnieRuru/customs/blob/master/server setup/Step 5i.png // ========== CONTROVERSIAL PART ENDS HERE ===== I'm sure many client experts having your doubts why I do like this ======== A lot of problems can appear in this step, these problems also recent and changes with every client 6. Create your own patch client Step 6a. Download latest nemo create another folder name nemo https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6a.png then git clone from this site https://gitlab.com/4144/Nemo Step 6b. Find a suitable client patches http://nemo.herc.ws/downloads/ Since I download KRO 20180813, I chose 2018-06-20eRagexeRe Step 6c. Open nemo.exe Click Browse to select your downloaded client patch, then select Load Client https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6c.png Step 6d. Use Recommend Settings https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d.png 1. forget the "Always call SelectKoreaClientInfo" error https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d1.png 2. DATA.INI 3. system/itemInfo_Sak.lub <--- note: the Capital letter of Info_Sak ... nemo doesn't auto-detect capital letters https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d3.png 4. Always Load Korea ExternalSetting lua files https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d4.png 5. Read Data Folder first https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6d5.png 6. Apply Selected Step 6e. Copy 2018-06-20eRagexeRE_patched.exe to the KRO client folder By this step, you should be able to load your own hexed client without throwing any error https://github.com/AnnieRuru/customs/blob/master/server setup/Step 6.5.png if you having problem in this Step 5 & 6, Open a New Topic in Client Support FINAL STEP - change PACKEVER #define PACKETVER 20180620 Hercules -> src\common\mmo.h https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7a.png rAthena -> src\config\packets.hpp <--- original directory, don't edit here src\custom\defines_pre.hpp https://github.com/AnnieRuru/customs/blob/master/server setup/Step 7b.png Then Compile for a Final time After thought, there are still some minor annoyance and adjustment client/data/msgstringtable.txt (unpack it or just put at client/data/ folder) line 3262 Smooth# line 3458 There was an error when loading the data account settings. (Please restart to retry.)# change them into just a # Frequently Asked Question: Change Renewal into Pre-Renewal Hercules -> src/config/renewal.h rAthena -> src/config/renewal.hpp This guide will be feature and pin only for a few months ... while it last .... I guess
  5. 20 points
    Sephus

    BladeCP - An advanced CMS

    Greetings everyone, Today I'm introducing a project that I've been envisioning and working on for a couple of months, a control panel developed using Laravel (currently v5.8) that has quite a few advanced features that no other panel has offered before. Feature Insight Bootstrap Responsive Design The panel by default will come with one bootstrap-based responsive design that is elegant, light coloured and adjusts to screens of all sizes. The panel is also capable of supporting custom themes. Master Account System Create and manage all your game accounts in any server from one main web-account. Passwords of the master accounts are hashed using bcrypt to ensure safety for all registered users. ROGen Adapted from @KeyWorld's ROChargen, a library in php that extracts images from sprites and uses resources inside data folders (and not grf files). With the help of this library images of headgears, skill icons, illustrations, item images, monsters and mini maps are can be generated and displayed on web pages. Complete Database Libraries Using a library with conversions of information in the client folder, the website incorporates in-game information such as skill and item descriptions, quest information and much more. Character Overview The character overview page is an important part of a user's experience. With the features mentioned above, we're able to display alot of information about one's in-game characters on the fly. User Profiles Additionally, something that's never been seen before in RO CMS or Panels are public user profiles. The ability of a user to view another user's in-game information through the control panel. Customisable Email Templates Administration Section The demo for this site is live and available at - http://bladecp.xyz ID: [email protected] Pass: abcdef How do I gain access to this awesome panel? PM me on discord @Sxyz#0202! To get in touch or check out updates on this project, join my discord channel @ https://discord.gg/pWgZHzx
  6. 17 points
    Changelog: - Updated all Clients - Updated twRO BGMS (3 new ones) NOTE: to disable the Snow effect in Prontera, open your grf and navigate to data/etcinfo.txt Then add (or edit) the following: weather# //prontera.rsw# //snow# Collection of official Full Clients. Those are vanilla, not modified in any way or whatever. They are patched up to date. Let me know if I've missed something. Server Name With BGM Without BGM BGM only South Korea (kRO) 21. Dec. 2018 2,70 GB Mega OneDrive 2,42 GB Mega OneDrive 294 MB Mega OneDrive South Korea (Ragnarok Zero) 21. Dec. 2018 2,22 GB Mega OneDrive Taiwan and Hongkong (twRO) 21. Dec. 2018 2,24 GB Mega OneDrive 1,95 GB Mega OneDrive 310 MB Mega OneDrive Japan (jRO) 21. Dec. 2018 2,23 GB Mega OneDrive 1,93 GB Mega OneDrive 311 MB Mega OneDrive Thailland (tRO) 21. Dec. 2018 1,67 GB Mega OneDrive 1,41 GB Mega OneDrive 272 MB Mega OneDrive International (iRO) 21. Dec. 2018 2,42 GB Mega OneDrive 2,14 GB Mega OneDrive 294 MB Mega OneDrive Philippines (pRO) 21. Dec. 2018 1,5 GB Mega OneDrive 1,25 GB Mega OneDrive 272 MB Mega OneDrive Indonesia (idRO) 21. Dec. 2018 1,88 GB Mega OneDrive 1,61 GB Mega OneDrive 282 MB Mega OneDrive Brazil (bRO) 21. Dec. 2018 1,95 GB Mega OneDrive 1,69 GB Mega OneDrive 273 MB Mega OneDrive France, Europe (fRO, euRO) 21. Dec. 2018 1,85 GB Mega OneDrive 1,59 GB Mega OneDrive 273 MB Mega OneDrive
  7. 17 points
    bWolfie

    [Guide] Mapcache Generation 2018

    As of Release v2018.03.13, the method to generate mapcache for Hercules has changed. A lot of people. myself included, were confused as to how it works. In this thread, I will do my best to explain the new way to generate your cache. This guide is intended to help people using the old system, not to aid new people (i.e. never generated mapcache before), so if you are new, some of it may seem like alien talk. Old (your source predates [is older than] Feb 18, 2018) In the old system, there were two ways to generate mapcache You could run the mapcache executable in Hercules root folder. Or use a program such as WeeMapCache to edit in your required mapcache. These two methods would generate or alter your required mapcache located in db/[pre-re or re]/map_cache.dat. However, they are no longer supported. New (your source is using Release v2018.03.13 or newer) The new system involves the use of the new 'mapcache' plugin to generate files. Some quick points: db/[pre-re or re]/map_cache.dat has been dropped (no longer supported). In its place are individual .mcache files for every map located in maps/[pre-re or re]/ Mapcache executable has been removed. Replaced with the mapcache plugin (src/plugins/mapcache.c). How to generate the mapcache? Same as before, check conf/map/maps.conf and db/map_index.txt have all the maps you want to cache. Your maps need to exist somewhere in your repository! There are two ways for the plugin to find them: a. Place all your maps, including resnametable.txt, inside the data folder of your Hercules repo. I.e. Hercules/data/prontera.gat/gnd/gnd/rsw (note: I forget if all three files are needed). b. OR Configure your conf/grf-files.txt to tell it where to find your GRF(s) which contains your maps. Build the mapcache plugin. On linux, this can be done by running the following command: make plugin.mapcache If using MSVC, compile as you would any other plugin. Execute plugin. This can be done using the following command: ./map-server --load-plugin mapcache [param] In windows, just remove the './' and run the commands in your command prompt. The params: The first thing you should do is run ./map-server --load-plugin mapcache --help A list of usable parameters will appear. Here are the ones you need to know for mapcache: [Info]: --convert-old-mapcache Converts an old db/pre-re/map_cache.dat file to the new format. [Mapcache] [Info]: --rebuild-mapcache Rebuilds the entire mapcache folder (maps/pre-re/), using db/map_index.txt as index. [Mapcache] [Info]: --map <name> Rebuilds an individual map's cache into maps/pre-re/ (usage: --map <map_name_without_extension>). [Mapcache] [Info]: --fix-md5 Updates the checksum for the files in maps/pre-re/, using db/map_index.txt as index (see PR #1981). [Mapcache] ./map-server --load-plugin mapcache --convert-old-mapcache Rebuild all the .mcache files using your old db/[pre-re or re]map_cache.dat file. NOTE: You should only run this command when you have an old map_cache.dat file you need to convert. ./map-server --load-plugin mapcache --rebuild-mapcache Rebuild all the .mcache files using your map files specified in step 2 of generation. NOTE: You should only run this command in special circumstances. This erases ALL the existing mapcache and rebuilds it with whatever files you provide it. If you don't have the required files, the build will fail and you will be left with missing mapcache files, meaning you won't be able to access those particular maps. ./map-server --load-plugin mapcache --map <name> Rebuild the .mcache file for the map name you specify. E.g. if you replace <name> with prontera, the maps/[pre-re or re]/prontera.mcache file will be rebuilt. NOTE: This is the best command to run, as it only caches a single map at a time. ./map-server --load-plugin mapcache --fix-md5 I don't know what checksum is for. The End Feel free to ask for help here. I'll try to answer questions re: mapcache if possible. And if you think anything needs correcting or added, let me know. Hope this helps!
  8. 16 points
    Rytech

    The End of A Era - Goodbye 3CeAM

    Well this is it. This is the day I knew would one day come after spending some time thinking about the project and my priorities. After a number of not so good things happened to me during the first few months of this year (2020) I had to sit down and think about many things including this project. In the end I came to the difficult decision of ending this project. Many many years of work into something that I feel has to end. But not every reason for this is due to my current situation in life but also the changing world of Ragnarok Online. I won't get into the details of whats going on in my personal life but ill talk about the issues with the project itself. RO is changing. A lot. Its changing too much for me to keep up on jobs, skills, and important features on the project and my life future needs to take priority. For most of the time I worked on this project it has distracted me from my priorities in life. I kept up with it for a very long time and I tried to catch up on things for many years. With the complete recode of the elemental system on r900 I felt I finally got all caught up and only had a few bugs here and there related to skills that needed to be fixed and I just needed to finish up whats missing for the Summoner job. But I was so wrong. The thing is I felt the need to keep things up to keep the project alive and not have people wondering if the project is dead or not. Plus after doing so much work it felt like ending it would mean I wasted years of my life doing this for....what??? What exactly did I get out of this? Some fun, a hand full of thanks, and some credits and rep. Kinda felt like someone who played a MMO for many years and can't quit knowing it would make all that past time feel like it was all for nothing. A waste. So whats the issues with the project itself? Well.... 1. The Base Code Is Too Old 3CeAM is running on eAthena r14767 which is around 9 or 10 years old. A base that dated has been found to have some issues with newer compilers like VS 2015 which I have resolved this year. But other issues appeared after running the program made with newer compilers which I fixed some. But I realized that not only is there a lot of hidden issues needing fixing but things like plugin's and other .dll files are dated and need updating along with the code that uses them. I have little knowledge of this stuff and can't do it by myself. Other projects like rAthena and Hercules are much more up-to-date for newer compilers and OS's. 3CeAM's base code is just too old to keep up with. Especially when im the only one working on it. 2. Keeping Things Up-To-Date Is Impossible When it comes to development in this project there's a few key things I focus on most. Jobs, skills, any systems related to the jobs/skills that require them, and client support. I don't bother with things like the banking system or equip swap or other non important things. This pile of stuff I pushed off grew over the years and now while client support is good, many features in them don't work since I never coded them in. Im always busy working on job/skill related stuff most of the time. Its very time consuming. But after spending many years catching up on the official support for skills and these job/skill related systems I finally caught up in r900 with the exception of Summoners and a few skills that could use a quick recode. Looking at whats been going on in official kRO the dev's have been changing things with the 3rd job skills....A LOT!!!! They will increase the max level for some of them, change how some of the skills work, and do these massive skill updates. That would be kinda fine with me if it wasn't for the fact that they keep changing things. How many skill updates Rune Knights got? How many freaken times Sonic Wave got changed? How many times did they change a large number of 3rd job skills for each job? Each job must of gotten at least 3 or 4 massive skill change updates to their skill set. Its enough to drive me crazy trying to keep up with it all. Remember how long it took me to go through every 3rd job a few years back to comb through all of the code to get each of them up-to-date with the 2011 skill updates? Even after that I had to go back and revisit the parts I held off on knowing they would be very complex and time consuming to do. Now it feels like half or most of what ive done was now a time waster since I will have to do this exact procedure ALL OVER AGAIN combing through the code and kRO change logs to update each 3rd job skills 1 by 1 to get them up-to-date again. I did it once, im not doing it again. 3. Newer Client Support. In mid 2018 official kRO increased the value that handles item ID's from short (16-bit 32k item limit or 64k however you look at it) to int (32-bit allowing over 2 billion ID's). But the way they did it made things difficult. Many existing packets relays on item ID's and so they decided to change this value in all already existing packets. To support newer clients over 50 or probely 70 or 80 or maybe more needs updating. But not only updating but many which only have 1 versions of itself requires additional code to keep backward support for older clients. Such a change is a huge workload and would require multiple updates to get it working. Me not having the time for this crap if I did it would just say FUCK IT and remove ALL of those packets and only readd the latest versions of each one to significantly reduce that workload. I would make a copy of the source files that handles the packets and put them to the side in the SVN for those who want 2018-06-20 or older support because that change will make it so only 2018-07-01 and newer clients will work. Won't be the most popular choice but im not up for trying to keep backward compatibility with years of clients. Just going to be a pain in the ass. 4. The 4th Jobs Workload It took many years since the beginning to get the 3rd jobs caught up. Some of that time spent figuring out how to implement them in the system on their own layer and also inherit the features and permissions of the previous jobs. That was a big challenge since noone knew exactly how the job management system worked. Me and a few others made multiple prototype codes to find the best method until I found the right way to do it. Knowing this knowledge I can create a new layer for 4th jobs. But these jobs come with a lot more then just a hand full of skill sets. When 3rd jobs came, so did the introduction of a new game mechanic that split cast times into variable cast and fixed cast and it also introduced cooldowns. It was a nice and much needed change and it didn't take long to code this stuff in. 4th jobs however are adding new game mechanics much bigger then this. When you change to a 4th job, level 201 to 250 will give you a new kind of stat points called T.Stats and you use them on 6 new stats that are added to the 6 that existed since day 1 of RO, making the total number of stats in the game 12 now. This also comes with a hand full of new sub-stats which we can just call T.Sub-Stats. Coding all of this in will be a big work load since no new stats were added since the early days of RO server emulators. Also new to the table is something called AP which will be a new requirement for some if not all of the 4th job skills according to info I found in a updated skillinfo_f.lua file. So now we will soon have to mange HP, SP, and now AP. Info extracted from newer client exe's shows some of the new buff skills increases T.Stats and also increases T.Sub-Stats. Combining that with the new AP requirements and you now have over 100 new skills that will require all of this to be coded in and working to allow those skills to work properly. This is a workload much MUCH greater then what the 3rd jobs were and doing this alone will just stress me out. Especially when this is only a free time hobby that brings no income. 5. A Project Managed By 1 Person Managing the project by myself has been somewhat stressful at times. It used to be developed by a small team but everyone moved on with their lives. And I got used to doing it all by myself. I knew the code inside and out because almost everything was being done by me and I knew what was done and what still needed to be coded in. Well this became a big part of the project's downfall. Doing it all by myself is a lot on me and it prevented things like a updated base code and .dll's, server/client features, and other things to fall behind. Sure 15peaces made patches you can apply to get those other features working but its not something officially in the project's code. I tried working with the team at rAthena before only to quickly find out that some of the dev's there don't do a good job at coding. Some would code something in and commit it to the GIT and those changes would cause problems. So dev's have to go back and fix the bug or the issue which sometimes causes crashes and commit again. And even with that the fix won't even fix the issue as if the dev didn't test it. WTF!!??!! The dev would commit multiple times on that code before its actually working. I can only imagine the number of issues in that project's code. When you code something in your supposed to TEST IT BEFORE RELEASING IT!!!! Test it thoroughly to make sure it works EXACTLY how its supposed to and test some scenario with it to make sure it doesn't cause problems or crashes in case there's any hidden bugs. And even if it works properly, find ways to shrink the code down to make it smaller and optimize it to use a few CPU cycles and little memory as possible. I follow a procedure when I do my own coding. Code it in, do simple tests, shrink and optimize the code if it passes the test, test again for the same expected results, do extra testing (thorough testing through stressing the code and running scenarios that might cause issues), and then release it if all passes. Its because of this 3CeAM has a history of being stable and extremely rarely has any crashes or bugs. If there's one thing dev's should take from this example, do it right the first time and give it your best at all times. If your often having to go back to your previous work or the same piece of code repeatedly to fix it then your doing something wrong. The lack of this procedure in rAthena made me quit in less then a month as I refused to fix/cleanup other people's messes. This is why I worked alone for so long. I was afraid to let or ask others join the team. Final Note 3CeAM was fun to work on and I learned a lot from it. It was very popular before rAthena and Hercules existed since at the time people wanted 3rd jobs in their servers. But those golden years are gone and trying to keep this project alive will just be a waste. Its time to let go and move on to new hobbies. Im very interested in the 4th jobs but im not interested in trying to code them into a old very dated project. If I do such a thing it will be in rAthena (which is in a better standing then when I saw it years ago), or Hercules. Anything with 3CeAM will only happen if its a paid job and thats if I even choose to accept it. Thank you to the community for supporting the project and being with me all these years. It was a fun journey.
  9. 15 points
    Alayne

    Alayne's Scripts Collection

    < Alayne's Script Collection > After several asks, here's a link to my github Feel free to comment or add anything that might be usefull and that I won't think of I've decided to release my scripts here, it'll be easier to me so I can duplicate it on hercules and rathena rather than uploading twice. So sorry for multiple upload between there and download section Don't mind the name Nyliar in the git, that's me too ^^ < Instances > < Quests > < Event > < PvP Content > < Utilities > < Full Systems > < Dungeons > < Raid > < Battleground >
  10. 15 points
    Temtaime

    New life for RO

    Hello everybody ! I'm working about two years on writing a complete new RO client. I hadn't so much time, as I'd wish, but now it's almost ready for a basic gameplay. So what are the advantages of having own RO client ? RO doesn't depend anymore on Koreans. It gives an ability for releasing of any new feature, whatever the players want: new 3D mobs, dynamically generated locations, everything you want. The client is cross-platform and can work on Windows, Linux, Mac OS X and Android natively. Thanks to using of new computer graphics features, the client works faster, consumes fewer resources, providing better graphics. For example, it loads a location instantly(to be more precise, it takes ~15 ms to load a map) - so no waiting anymore ! What are the features we have today ? Dynamic shadows and per-pixel shading(no strange blur on the ground anymore!). Correct rendering of all the sprites and locations including all the animations on the locations. Rendering the best part of effects. The most part of UI. All the network communications with server. But there are some missing features: some part of UI(skill UI for example), and some in-game interactions are missed. But all these will be fixed soon. I would find those who are interested in that project, because it will be the only project, which will be used on the servers providing better game experience. Also, a development of the project requires some means and other help, so if you have a mind and in the position, you can write to me in PM or in these comments. Some screenshots:
  11. 15 points
    w0wZukuBg

    [w0w] Advanced Maps Project

    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 (or Gravity was too lazy busy), 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 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; }
  12. 14 points
    4144

    Nemo patcher

    This topic about Nemo fork https://gitlab.com/4144/Nemo Most changes present in ChangeLog Patches reports service: http://nemo.herc.ws For test Ragnarok zero clients need: this nemo fork and enable at least patches from https://gitlab.com/4144/Nemo/blob/master/profiles/zero_minimal.log this or similar clientinfo.xml https://gitlab.com/4144/Nemo/blob/master/configs/zero/clientinfo.xml From 2018-11-14 in all clients must be enabled patch Remove hard coded address/port For clients newer than 2018-03-09: Need manually copy cdclient.dll from Nemo/input or enable patch "Copy patched Cheat Defender Game Guard" Clients exe downloads: http://nemo.herc.ws/downloads/ Full client downloads: http://nemo.herc.ws/downloads/#downloadable-full-clients Discord: https://discord.com/invite/ByEQHDf
  13. 14 points
    luizragna

    Custom Unit HP Bar System

    Hello guys, i'm making a custom hp bar system for mob units. The command show the HP of the mob for all players in the map. I am using the cutin command, the problem is that I do not think so many files are necessary. In the case 1 image for each percentage of hp I would like your opnion and help to improve this system and make it lighter. Test yourselves :). HP Bar System: payon,147,229,4 script Test#HPbar 1_F_MARIA,{ if (.HP_Bar == 0) { .HP_Bar = 1; .mobGID = monster ("payon",148,226,"[T] HP Test",POPORING,1,strnpcinfo(0)+"::OnDie"); setunitdata .mobGID,UDT_MAXHP,4000; setunitdata .mobGID,UDT_HP,4000; .@count = getunits(BL_PC, .@units, false, "payon"); for (.@i = 0; .@i < .@count; .@i++) addtimer(0,strnpcinfo(0)+"::OnHPBar", .@units[.@i]); } end; OnDie: .HP_Bar = 0; end; OnHPBar: .U_MAXHP = getunitdata (.mobGID,UDT_MAXHP); while (.HP_Bar != 0) { .U_HP = getunitdata (.mobGID,UDT_HP); .P_HP = (.U_HP*100)/.U_MAXHP; cutin(""+.P_HP+"", 1); sleep2 100; } cutin("0", 1); sleep2 5000; //Delay to hide HP Bar cutin("", 255); end; } Donwload of the data folder files: HP Bar System (2018-06-26).rar
  14. 12 points
    Elurair Patching Launcher (RO Patcher Lite+ROCred Merge) About Universal auto-patcher for all your updating needs combined with a launcher, which is fully skinnable, highly customizable and easy on resources. It is free of any cost and works on every 32-bit and 64-bit Microsoft* Windows* platform. How this came to be: Future of ROCred and RO Patcher Lite Known Issues None. FAQ Q: Does the patcher support encrypted GRFs? A: Yes, common GRF encryption schemes are supported. Q: Can I use the Patcher part without the Launcher part? A: Yes, the Launcher mechanics and UI can be disabled in configuration. Q: Can I use the Launcher part without the Patcher part? A: Yes, remove all Patcher sections from the configuration. Download & Website http://ai4rei.net/p/skal License This work is licensed under a Creative Commons Attribution-Noncommercial 4.0 International License.
  15. 12 points
    Hello Hercules Community, Let me explain it first. It is ExtendedBG, which tends to contain all eAmodBG modes and extra modes(as and when coded). Some Previews: http://imgur.com/a/2SSVR Ohh, and the last thing I forgot to tell, Its 100% Plugin and Script, no Source Edits .. Special Thanks To: jaBote co-founded this project(and really thanks to him , that he motivated me at start at provided some functions and idea of how the base should be, and what we should do it to give flavor of Hercules in it). Repository Link: https://github.com/dastgirp/eBG (Please read README.md for installation steps) Leave Comments/Suggestions if you find something. NOTE: There might be some(/many) debug messages left in map-server which will be cleaned up. I will add battle.conf soon (you have to add it yourself for now or edit the plugin) The plugin might be a big mess to read/understand (I did many experiments over the year) There might be some bugs Thanks to @Rebel and @Myriad for testing and providing initial feedback Contact me on Discord: @Dastgir#1460 if there's some urgent issue or else open the issue in github. keep this topic for support. Want to encourage me??
  16. 11 points
    Neo-Mind

    WARP - A successor to NEMO

    Happy Thanksgiving everyone. Since I couldn't get the turkey, I thought I would bring this instead. Without further ado, Let me introduce... WARP (Windows Application Revamp Package) Why this name? Because I like using acronyms and this name sounded apt. Plus it's the function & features that matter more. And no, I am not gonna change the name. Why not just fix up NEMO? The codebase for NEMO is pretty much ancient at this point. So rather than fixing it up, I decided to go the route of creating it fresh from scratch. The end result is a far superior product. OK, but what if you end up AFRO (Away From RO)again? Well, I can't promise that I will be around forever. However, this time around, I am releasing the source code for the tool as well. So, exactly what has changed? Well, quite a few things. Let's start off with how the GUI looks now. As you can see, the GUI is much more modern and aesthetically pleasing thanks to @Haziel & @Hadrias. The package comes with 3 tools - Console version (for simple patching), Main GUI, and Tester GUI (for batch testing). A big salute to @4144 for keeping NEMO alive while I was AFRO 😄. Ok, jokes aside, I discussed with him about the changes he made and I have incorporated almost all of them but with some differences. Language & Styles are now on the bottom as you can see. All the remaining menus have now been shifted to drawers (moving side panels). To reveal them you can either swipe from the respective edge or click the button at the top. The right side drawer houses all the Extensions (Used to be called 'Addons' in NEMO). They are now loaded independently of the client. This avoids unnecessary redefinitions and now you can also use Extensions for activities that don't need a loaded client. All the common functions have been added to the 'Quick Actions' group and all the remaining ones are in the left drawer, which is not many. If you have suggestions for more features let me know. Moving on to the Back end (This is of no use to the regular user. So you can skip this part if you want) It was high time for us to have a proper input file format. Enter YAML. Love it or hate it but it's here to stay. Frankly, I like it more than libconfig and INI. You would be seeing YAML being used for almost every file in WARP. This includes input files for Patches & Extensions, Files defining those two, Session files, etc. Writing patches is far more flexible now. Say goodbye to PTYPE_HEX and \xAB. Now we can do wild card searches with the actual wild cards inside hex codes. Of course, we still need to have some well-defined characters for that. Currently, we have 2 forms of wildcards - Nibble wise - For e.g. => A?, ??, ?3 Bit wise - For e.g. => [1.0...01] If you have any suggestions about it let me know. Speaking of writing hex code, I have provided functions looking almost identical to Assembly instructions for generating their equivalent hex code. This helps in making the hex code more human-readable and adds a little more flexibility. User inputs have a few more types and little more flexibility in specifying constraints now. Scripts have proper segregation now. Please follow them when adding your own. Only the scripts inside the 'Init' folder gets reloaded each time the client is loaded. This avoids unnecessary reloads. exe has now become 'Exe'. But in addition to this, you get 2 more objects - System (for filesystem activities) & Warp (whatever is outside the scope of the other two) Many of the functions used for retrieving some constant information in the 'Exe' have become properties now. For e.g. PEoffset, ImageBase, BuildDate, etc. During patching, the Diff section is only added if you have inserted any code using one of the 'Add' functions. Also, the Diff section now grows dynamically as per requirement (in increments of Section Alignment of course). In addition to the Patched Exe, The tool also generates an (Extra Patch Info) file with the suffix '.epi'. It holds just enough info for the tool to recognize existing patches in an exe from a previous patch session. So how is it useful? Let's say you have a patched client and its EPI file. But you don't have the original anymore. Now you can remove 1 or 2 patches and keep the rest OR even restore the original from the patched exe. Last, but not least, I am providing documentation about everything including the API. But bear with me for a bit, as I am still working on the documentation part. I probably forgot more points to add here, but I think this pretty much covers the important stuff. Anyway, the documentation would be pretty comprehensive. Is it ready to be used now? The tool is definitely ready. I have added most of the patches but not all just yet. But I was not able to test all the patches in-game. So please don't attack me if something failed. I would appreciate a Bug Request in Github instead. Also note, that some patches are still failing for new clients, and some failing for old ones. However, I saw the same behavior in NEMO, so that would be part of the next stage of operations - Updating Patch scripts. So, where do I get it from? https://github.com/Neo-Mind/WARP How to use it? There is a User Guide in the git repo (best viewed from Github itself). Everyone is used to NEMO by now, so it shouldn't be difficult to use this even without the guide. Plus the Github wiki is pretty detailed. Any last words before we close this? Just like in the case of NEMO, my intention with WARP is to create a common tool for patching without being restricted to RO or which OS you use it in. For this reason, you will be seeing multiple branches in the Git repo. If you are planning to use WARP for patching some other application, Create a branch using the 'win32' branch as a starting point. That's about it from me for now.
  17. 11 points
    4144

    Some new hercules features

    Display group (titlte) and icon for mobs, homunculus, npc, mercenaries For set icon in some way need get bl_id of npc, mob etc and call function: Set icon setunitdata(GID, UDT_GROUP, ID) Icon files stored in directory data/texture/유저인터페이스/group/group_ID.bmp Where GID is bl id of being, ID is icon id. Example for npc: setunitdata(getnpcid(), UDT_GROUP, 3); It will use this image: data/texture/유저인터페이스/group/group_3.bmp Set group setunittitle(GID, group_name); Where group_name is any name what you want assign to group Example for npc: setunittitle(getnpcid(), "Hercules"); Sample images Works from versions: ragexe from 20180207, ragexeRE from 20171129, ragexe_zero from 20171130
  18. 11 points
    malufett

    Official VIP System

    Hi everybody.. sorry for being in hiatus mode..I just got busy in real life this past years for me having hard time to insert RO dev thingy on my schedule.. I'm sad since I became busy, Herc RE development(SRC) halted upon my leave...so I guess should come back? however if I come back I will only implement this in partial meaning only basic features (due to this reason "Its sole purpose is to monetize (which certainly isn't what players are looking for).")...
  19. 10 points
    From last release in hercules was added new shop type: expanded barter shop. This shop allow buy item with different amount and pay with other items or with money. For removed items supported refine levels. Also this shop allow infinite or limited numbers in shop. Limited numbers saved into database. For use shop example script uncomment in file npc/scripts_custom.conf this line: //"npc/custom/expandedbartershop.txt", This shop supported from clients: Ragexe: 2019-11-20 and newer RagexeRE: 2019-11-06 and newer Ragexe zero: 2019-11-27 and newer Same sample images:
  20. 10 points
    4144

    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/
  21. 9 points
    Over the last few days I have been playing with Google Cloud services because Google cloud currently offers $300 free credit upon signing up yes, FREE $300 credit and thus my journey trying to host hercules server on a VPS has begun all you need is a valid Debit/Credit card number ... of course you have to be an adult to try the hosting service ... right ? oh and, don't worry, you can always cancel it anytime after playing with it, I found the Windows option is too expensive, and thus trying to learn the Linux option This guide is actually demonstrate by using a trash gmail account that can throw away later I don't mind all the credentials are shown in the screenshot, when I click the Open topic button I have deleted this project on Google Cloud Step 1. Download Putty and WinCP https://www.putty.org/. https://winscp.net/eng/download.php Step 2. Run Google Cloud 2.1 login to your Google cloud project https://github.com/AnnieRuru/customs/blob/master/server hosting/2.png 2.2 first you need to link your credit card to this google cloud https://github.com/AnnieRuru/customs/blob/master/server hosting/3.png. https://github.com/AnnieRuru/customs/blob/master/server hosting/4.png select the billing option to the debit/credit number you input earlier https://github.com/AnnieRuru/customs/blob/master/server hosting/5.png this billing information is very important, you need to check this once in a while to stop unwanted services <-- please scroll to the right 2.3 pin these 3 - billing - compute engine - VPC network https://github.com/AnnieRuru/customs/blob/master/server hosting/6.png 2.4 now time to create a VPS, select Compute Engine https://github.com/AnnieRuru/customs/blob/master/server hosting/7.png 2.4.1 enter all the necessary information 1. the Virtual machine name 2. your nearest location 3. the spec of the machine https://github.com/AnnieRuru/customs/blob/master/server hosting/8.png PS: I tested the cheapest option, N1 series, f1 micro 614MB memory and E2 micro, 1GB memory when compiling hercules later, putty just stop ... I think it run out of memory ... hercules should have mention a recommendation needs at least 2GB memory to run 2.4.2 4. Select Boot Disk as CentOS 8 https://github.com/AnnieRuru/customs/blob/master/server hosting/9.png 5. select allow HTTP and HTTPS https://github.com/AnnieRuru/customs/blob/master/server hosting/10.png 2.4.3 6. Click Security tab https://github.com/AnnieRuru/customs/blob/master/server hosting/11.png needs to 'Enter public SSH key' run Putty Key Generator and click Generate https://github.com/AnnieRuru/customs/blob/master/server hosting/12.png 1. change the 'key comment' as it will become user name 2. save private key to desktop 3. copy the field https://github.com/AnnieRuru/customs/blob/master/server hosting/13.png paste into Google cloud https://github.com/AnnieRuru/customs/blob/master/server hosting/14.png 2.4.4 select Networking tab https://github.com/AnnieRuru/customs/blob/master/server hosting/15.png create a static IP address https://github.com/AnnieRuru/customs/blob/master/server hosting/16.png choose standard tier after everything done click [Confirm] https://github.com/AnnieRuru/customs/blob/master/server hosting/17.png and you get your virtual machine running https://github.com/AnnieRuru/customs/blob/master/server hosting/18.png 2.5 once your server up and running run Putty to connect to this server https://github.com/AnnieRuru/customs/blob/master/server hosting/19.png 1. scroll down, expand 'SSH' to select 'Auth', 2. then load the file you saved earlier by PuttyGen https://github.com/AnnieRuru/customs/blob/master/server hosting/20.png 3. enter the public IP address, 4. then click open https://github.com/AnnieRuru/customs/blob/master/server hosting/21.png it will prompt you with security alert, just click yes 2.6 login with your user name https://github.com/AnnieRuru/customs/blob/master/server hosting/22.png The very first command you should run is change the password sudo passwd root ok Windows Users, don't freak out like me there are no ******** when you input the password, this is Linux not Windows just input normally ... and press Enter key, it works that way https://github.com/AnnieRuru/customs/blob/master/server hosting/23.png then do the same with your username sudo passwd annie 3. update the OS and install all necessary product 3.1 run all these commands sudo yum update sudo yum install gcc make mysql mysql-devel mysql-server pcre-devel git zlib-devel Transaction Summary ================================================================================ Install 89 Packages Total download size: 108 M Installed size: 395 M Is this ok [y/N]: Press 'Y' key 3.2 in the meantime, while this might take awhile, try login WinCP https://github.com/AnnieRuru/customs/blob/master/server hosting/24.png click new session, then click advance https://github.com/AnnieRuru/customs/blob/master/server hosting/25.png select 'Authentication' and load the Putty Gen file again https://github.com/AnnieRuru/customs/blob/master/server hosting/26.png just another warning https://github.com/AnnieRuru/customs/blob/master/server hosting/27.png 3.3 Download Hercules git clone https://github.com/HerculesWS/Hercules.git ~/Hercules 4. SQL 4.1 Start SQL service sudo systemctl start mysqld.service 4.2 login as root mysql -u root -p Enter password, just press enter default centOS 8 preinstalled MySQL, root has no password Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 8.0.21 Source distribution Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> 4.3 create database CREATE DATABASE hercules; 4.4 select hercules database as default USE `hercules`; 4.5 create another user, not recommend to connect as root CREATE USER 'annie'@'localhost' IDENTIFIED BY '1234'; 4.6 grant this user privilege GRANT SELECT,INSERT,UPDATE,DELETE ON * TO 'annie'@'localhost'; 4.7 then quit quit it should show like this mysql> quit Bye [annie@centos ~]$ 4.8 goto sql-files directory cd /home/annie/Hercules/sql-files/ and run all these mysql -u root -p hercules < main.sql mysql -u root -p hercules < logs.sql mysql -u root -p hercules < item_db_re.sql mysql -u root -p hercules < mob_db_re.sql mysql -u root -p hercules < mob_skill_db_re.sql it should show like this [annie@centos ~]$ cd /home/annie/Hercules/sql-files/ [annie@centos sql-files]$ mysql -u root -p hercules < main.sql Enter password: [annie@centos sql-files]$ mysql -u root -p hercules < logs.sql Enter password: [annie@centos sql-files]$ mysql -u root -p hercules < item_db_re.sql Enter password: [annie@centos sql-files]$ mysql -u root -p hercules < mob_db_re.sql Enter password: [annie@centos sql-files]$ mysql -u root -p hercules < mob_skill_db_re.sql Enter password: [annie@centos sql-files]$ 4.9 go back login mysql and change inter-server connection password from s1/p1 into qwer/asdf mysql -u root -p and UPDATE `hercules`.`login` SET `userid` = 'qwer', `user_pass` = 'asdf' WHERE `account_id` = 1; 5. Compile Hercules go back to annie/hercules folder cd /home/annie/Hercules/ 5.1 type ./configure ./configure OK STOP, many things can go wrong here, I stuck here for a few days and searching on both rathena and hercules forum for answers the correct output from putty should be this checking mysql.h presence... yes checking for mysql.h... yes checking whether my_bool is supported (MySQL)... no (converting my_bool to bool) checking MySQL library (required)... yes (8.0.21) checking PCRE library... checking pcre.h usability... yes checking pcre.h presence... yes checking for pcre.h... yes checking for library containing pcre_study... -lpcre checking for doxygen... no checking for perl... yes configure: creating ./config.status config.status: creating Makefile config.status: creating src/common/Makefile config.status: creating 3rdparty/mt19937ar/Makefile config.status: creating 3rdparty/libconfig/Makefile config.status: creating 3rdparty/libbacktrace/Makefile config.status: creating 3rdparty/libbacktrace/backtrace-supported.h config.status: creating src/char/Makefile config.status: creating src/login/Makefile config.status: creating src/map/Makefile config.status: creating src/plugins/Makefile config.status: creating src/test/Makefile config.status: creating tools/HPMHookGen/Makefile config.status: creating tools/doxygen/Makefile [annie@centos Hercules]$ if it doesn't show config.status: at the end, open a new topic in Linux support if it's the same as mine, then can proceed with 5.2 compile hercules make sql finally compile should show like this CC party.c CC path.c CC pc.c CC pc_groups.c CC pet.c CC quest.c CC refine.c CC rodex.c CC script.c CC searchstore.c CC skill.c CC status.c CC storage.c CC stylist.c CC trade.c CC unit.c CC vending.c LD map-server make[1]: Leaving directory '/home/annie/Hercules/src/map' building conf/import folder... [annie@centos Hercules]$ 6. configure Hercules 6.1 start hercules by ./athena-start start https://github.com/AnnieRuru/customs/blob/master/server hosting/28.png of course the reason why connect to SQL failed is because haven't configure Hercules so .... stop it from running for a moment ./athena-start stop 6.2 login to WinCP https://github.com/AnnieRuru/customs/blob/master/server hosting/29.png ... I will assume you know how to change your public IP address on hercules the file you should change are map-server.conf - userid: "qwer" - passwd: "asdf" - map_ip: "35.213.138.42" - char_ip: "35.213.138.42" char-server.conf - userid: "qwer" - passwd: "asdf" - login_ip: "35.213.138.42" - char_ip: "35.213.138.42" conf\global\sql_connections.conf -db_hostname: "localhost" - db_port: 3306 - db_username: "annie" - db_password: "1234" - db_database: "hercules" conf\network.conf .....<let me test this thing again> .... <--- I will assume everyone reading this guide already know how to host an offline server, if not click here --> now run ./athena-start start again, and this time map-server couldn't connect to char-server 7. Configure firewall 7.1 run these 3 commands sudo firewall-cmd --permanent --add-port 6900/tcp sudo firewall-cmd --permanent --add-port 6121/tcp sudo firewall-cmd --permanent --add-port 5121/tcp 7.2 reload the firewall settings sudo firewall-cmd --reload 7.3 go back to Google Cloud, https://github.com/AnnieRuru/customs/blob/master/server hosting/30.png to create firewall https://github.com/AnnieRuru/customs/blob/master/server hosting/31.png configure the firewall https://github.com/AnnieRuru/customs/blob/master/server hosting/32.png 2. & 3. configure firewall only to this project https://github.com/AnnieRuru/customs/blob/master/server hosting/33.png 4. at 'tcp:' tab, only allow these 3 ports https://github.com/AnnieRuru/customs/blob/master/server hosting/34.png 7.4 run ./athena-start start again. then goto https://portchecker.co/ and check your port is open https://github.com/AnnieRuru/customs/blob/master/server hosting/35.png And Finally go to your client edit data/sclientinfo.xml to the WAN IP and VIOLA !! DONE !! I can connect my client to google cloud PS: the port checker website only shows Port 6900 is OPEN. only if fulfill these 3 conditions 1. enable firewall setting on CentOS 2. enable firewall setting on Google Cloud 3. run the emulator by ./athena-start Ok now you can start worry about security issue like adding additional user in CentOS https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-a-centos-7-server google cloud doesn't seem to allow login that way -> https://stackoverflow.com/questions/52503453/how-to-login-gcp-console-without-ssh and mysql root account password change ... ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234'; etc...etc... need more research Connect to MySQL in CentOS 8 using Window's MySQL Workbench 1. add another connection https://github.com/AnnieRuru/customs/blob/master/server hosting/mysql1.png 2. under 'Connection Method', select 'Standard TCP/IP over SSH' https://github.com/AnnieRuru/customs/blob/master/server hosting/mysql2.png 3. configure these fields 3.1 SSH hostname is the server IP address 3.2 SSH username is the name you created with PuttyGen 3.3 SSH keyfile needs a conversion with PuttyGen 3.4 and Click [Test Connection] https://github.com/AnnieRuru/customs/blob/master/server hosting/mysql3.png 4. the SSH keyfile needs to be convert from PuttyGen 4.1 load existing private key, in this case was 'annie.ppk' 4.2 click conversion and save as 'annie' without file extension https://github.com/AnnieRuru/customs/blob/master/server hosting/mysql4.png 5. if successful it will show like this https://github.com/AnnieRuru/customs/blob/master/server hosting/mysql5.png then you can login into MySQL in CentOS did I forgot to mention needs to open the port 3306 in CentOS and Google Cloud ? refer back to step 7 Reference: https://stackoverflow.com/questions/21527743/mysql-workbench-version-6-0-8-ssh-authentication-issue After thought : Overall I'm very satisfy with Google Cloud service, 1. free $300 credit to spend 2. can always register trash gmail account to make the credit infinite - of course the IP will always change if you do so 3. very low latency from Malaysia connect to Singapore - just 30~40ms ping I haven't try OVH which everybody is recommending, but they doesn't offer immediate free credit for me to test so meh ..... and I notice Hercules's wiki CentOS guide is broken, maybe I'll fix it https://github.com/HerculesWS/Hercules/wiki/Installation-(CentOS) - offtopic - over last few days playing with google cloud, when I visit Youtube, all my advertisement become Monday.com etc etc group project stuffs google really knows how to collect my data
  22. 9 points
    AnnieRuru

    Promotional Code

    I got 2 rep up for making that grumbling post, that just shows how many members really like this idea and of course I knew many topics talking about this script again and again and again and again and again and again and again and again and again and again and again and again !!! so I make one myself and hopefully don't want see people talking about that bug script again !! What this script does ? GM generate some sort of gibberish word and promotes it on social media then players input that gibberish word and able claim the items honestly I don't really see the point of gibberish word, I made this script in a drop down menu, players can just select it from the menu and claim it <_< Download: 1.3 script here's an example by Philippine RO, from this post TODO : 1. add coloring to the text 2. HULD compatible ? 3. maybe someday can rewrite this whole damn thing with .npc_var sync with SQL variables so don't have to call query_sql too frequently
  23. 9 points
    Hello! ~ * Introduction RO Hooks is a paid project, which will allow a set of custom abilities to your client, such as player name coloring, server side GM sprite and such; It is is meant to be a way to edit this old dead game client to add things either improving player's experience or giving the ability to have new of content or to give your players something special. * What do we have currently GM Clothes and Robot Clothes controller server side (Robot Clothes is a Special Event Sprite) Player Name coloring (Server-side) Item Name Coloring (Client-Side) Messages Timestamp "inspired by Project Chaos RO (nachtwolke.ai4rei.com)" More to come * Pictures - GM and Robot Clothes - Name Coloring - Colorizing Item Names (Configure client side, could be applied to any kind of items) - Messages Timestamp * Which Clients are supported? Pretty much anything 2012-04 and onward, older clients are also supported upon request. * Is there anything more? when is this supposed to be release? And can we suggest something? There's still other futures which will be announced soon, I'm pretty much working everyday to find something newer. It will be released as soon as we have enough set of custom futures, also any suggestions for features is more than welcome, as soon as anything new finished i will announce it here. Also as soon as it's ready for sell I will get a Paid Service topic.
  24. 9 points
    Daifuku

    Discord/Forum Ragnarok Emotes

    View File Discord/Forum Ragnarok Emotes I used these emotes for my previous ragnarok server. It's closed now, so feel free to use them - I might release some other small things if people want c: Submitter Daifuku Submitted 06/07/17 Category Other Graphics  
  25. 8 points
    For long time i worked on incomplete yet project for add http support into hercules. And this is funding page for this project. What parts this project contains already: new server with http support (named api-server). missing packets for guild emblems. http guild emblems (bmp, gif). hotkeys. emotes. adventurer agency (without search). basic plugins support for all this. basic plugins support for custom urls. extend plugins support for inter server packets. add support for api to login, char, map packets. protection against different attacks on servers. sample http plugin. Add support for emblems bigger than 64k bytes. Add shared configs support between login/char/map/api. Add configuration with default emotes for new chars. What need to add adventurer agency search. extend service urls support. add support for browsers and web panels api for control servers. twitter like messages support for old clients. support for vending shops load/save. other different small things. Now this project merged to hercules. Merged pull request: https://github.com/HerculesWS/Hercules/pull/3198
  26. 8 points
    vykimo

    XPRO : cross platform client

    I'm not sure if I'm right to post here, I hesitated a lot by fear of being reprimanded. But I'm convinced the project worths to be known and don't be lost in oblivion... So that's why I venture to post, so please forgive me if crowdfunding is not allowed. I try to be fair as much in this demarche. So, now let's explain the project : XPRO https://intro.vykimo.com/ I. PRINCIPLE Based on the project RoBrowser by KeyWorld (a RO client on web browser). XPRO is the project to update RoBrowser and to bring it into Mobile devices. XPRO goal is to fully support this following exe version (latest version supported by rAthena): 2018-06-20aRagexe. This project is very huge and it's currently the most advanced custom RO client ever made. And it has the main advantage to be cross platform (Windows, Linux, MacOS, Android supported) and very lightweight (ressources can be downloaded only when needed by the game engine). II. MORE INFOS You can find more infos on progress on my personnal website : https://vykimo.com/ (menu : zerobrowser) Screen Example : Watch it live - Playthrough in Orc Dungeon : UPDATE 10/12/2019 BETA TEST : I made 3 days of "real condition" tests with a team of 3 advanced players. It was successfull, feedbacks were great and they only reported a few bugs in order to play "normally" on a RO server. What a good step ! In parallel, I talked with @Functor about possible Gepard Shield support in XPRO. But as you probably know, including Gepard Shield into Robrowser/AndRO opens a door in your server for bots. And we don't want to break his shield, so I'll work on my own encryption method. It'll be available later on... UPDATE 03/01/2020 iOS version is out ! For the first time ever, you'll be able to play Ragnarok on iPhone and iPad ! Infos will come asap, stay tuned
  27. 8 points
    AnnieRuru

    @packetfilter

    No more Work in Progress, Please report if there are any bug Download: 1.0a [Complete] plugin What is `@packetfilter` ? `@packetfilter` is a custom mod originate from eamod https://github.com/zephyrus-cr/eamod/blob/master/Servers/rAthena/conf/groups.conf#L418-L422 it can actually reduce lag on your live server during woe depends on how many players activate it it totally depends on the player's side, community effort that every player should together turn on the `@packetfilter` to reduce massive lag during woe this modification is actually very famous and there are members willingly to pay for it https://rathena.org/board/topic/121200-packetfilter-battleinfo/ https://rathena.org/board/topic/123203-battleinfo-packetfilter/ https://rathena.org/board/topic/111797-packetfilter-zepyhrus-ramod/ https://rathena.org/board/topic/79995-buy-noactnodelay-partybuff-src-as-it-was-on-pro-ro-or-packetfilter/ this `@packetfilter` is unlike the one you are having, or that is circulating on rathena forum this one has been written entirely from scratch and added some other flags that the original don't for example, `@packetfilter COHM EOHM` allow block normal chat and emotion from non-related players, pets, homunculus and monsters but this doesn't block normal chat from party/guild members a full list of flags are C = ignore normal Chat, including Dancer's scream, Bard's frost joke, and pet's talk (pet start to talk when intimacy > 900) E = ignore emotion, including monster and pet emotion (but NOT pet performance) I = ignore Item use effect A = ignore normal Attack animation (based on receiving side), your own attack animation are always shown B = Buffing skill animations (based on receiving side), your own casting animation are always shown S = Status effect T = offensive single Target skill/spell animations (based on receiving side), your own casting animation are always shown G = Ground based skills (eg:storm gust), your own casting animation are always shown M = Music dance/songs from Bard/Dancer D = Direction. Recommend filter on Party/Guild type and not enemies. Highly Recommend for supportive type Class. after the Main type, also support additional flags S = Self P = Party G = Guild B = Battleground C = Clan O = Other players, none of the above H = Homunculus/pets/elementals/mercenary and player's @summon M = Monsters Why This plugin doesn't block Kaite or Energy Coat ? 2 reasons No.1 - currently there is a bug with plugin, struct packet_spawn_unit *p = (struct packet_spawn_unit*)RBUFP(buf, 0); this line will throw error on Linux so no choice, maybe I'll make a bug report this bug also has been reported on Dastgir's `@noview` No.2 - just set p->virtue = 0; isn't really blocking the packet this goes against the very principle of this plugin, which is NOT send certain packet to the client OPT3 (including OPT3_KAITE | OPT3_ENERGYCOAT | OPT3_SOULLINK) is part of the idle_unitType, unit_walkingType and spawn_unitType function and blocking those 3 packet entirely is stupid in case you don't understand, look under clif_set_unit_walking and clif_set_unit_idle function inside src\map\clif.c file p.GUID = g_id; p.GEmblemVer = status->get_emblem_id(bl); p.honor = (sd) ? sd->status.manner : 0; // p.virtue = (sc) ? sc->opt3 : 0; <-- change this line p.virtue = 0; p.isPKModeON = (sd && sd->status.karma) ? 1 : 0; p.sex = vd->sex; Note: about [D]irection type packet try add a ShowDebug inside clif->send src/map/clif.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/map/clif.c b/src/map/clif.c index ab3c4422a..9e245f335 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -450,6 +450,7 @@ static bool clif_send(const void *buf, int len, struct block_list *bl, enum send return true; } +ShowDebug("source:%s buf:0x%x send_target:%d\n", (sd != NULL)? sd->status.name : "NULL", RBUFW(buf, 0), type); switch(type) { case ALL_CLIENT: //All player clients. iter = mapit_getallusers(); you will find 0x9c is being send repeatedly on every attack and every skill cast , getting attack etc this direction update packet isn't just send by Shift-click, but also including all the actions above this packet is very spam-able and I think can be safely block on party/guild/clan/bg flags for supportive class, I also think can block all of them since supportive class doesn't need information from enemies
  28. 8 points
    Macro Detection Interface Four new client interfaces are getting implemented in Hercules: - Macro Register UI - Macro Detector UI - Macro Reporter UI - Captcha Preview UI Usable though the chat commands: /macro_register, /macro_detector, macro_preview for all clients starting 2016-06-30. Available for testing now at: https://github.com/HerculesWS/Hercules/pull/3051 Some sample images
  29. 8 points
    raPalooza~

    [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 %...
  30. 8 points
    Probably not xD. Anyways, I am working on development of a new patcher as a successor to the original aka NEMO. Initially, I was planning to just release the source for NEMO but is quite outdated. So I decided to just start off fresh utilizing concepts from the original along with new ideas (Already have some implemented, which I will explain later) Also this time, I will be keeping it open source. I will publish to Github once there is a solid foundation. I am building it using the latest version of Qt (5.15) and utilizing QML for creating the GUI. I want to give it a more modern appearance, however, I am a "novice" on this front. So I am inviting suggestions for the UI from the talented individuals here.
  31. 8 points
    Ridley

    Behold, 2021 is coming

    The New Year is the perfect occasion to appreciate all the good things that the past year has given you and all the good things that are yet to come. In the past 365 days you have experienced beautiful moments in spite of any hard times in 2020, and they wouldn’t have been quite the same without all of the special people in your life. Convey your warmest New Year wishes and show your friends and family you put some extra thought into wishing them the happiest of New Years with the perfect sentiment. Cheers to successes. Cheers to failures. And cheers to those who helped you make your year what it was. We always overestimate the change that will occur in the next two years and underestimate the change that will occur in the next ten. -Bill Gates
  32. 8 points
    Sephus

    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.
  33. 8 points
    Functor

    Old Character Creation

    I'm happy for you if you have so high skills and it isn't just in words. But what is the sense to inform about it if you aren't going to help Khonsu? As I see you even created account to tell about it. It was very useful info for the community. Please, keep us informed. P.S. I can go into space in a couple hours easily, but I will not do it.
  34. 8 points
    Yommy

    I miss Ind :'(

    If you read this, please email or message me. I miss you lots <3
  35. 8 points
    AnnieRuru

    How to apply a diff file

    getting tired of people keep sending me personal message -> how do I apply your koe patch after about 6 PMs or so I getting really fed up, only then I realize there is no guide to properly teach members how to apply a diff file, so here I make one for you guys First step A lot of people download hercules in .zip format. This is WRONG. instead, follow the proper guide and use tortoisegit (if you are using windows) to download your server This is the proper guide on how to install hercules Question: but I am using rathena, not hercules Answer: just change the link into rathena ones https://github.com/rathena/rathena/wiki/Install-on-Windows Second step after you get your proper server, the first thing you have to do is get rid of your current one this is the painful process, because you did not follow the guide but on the up side, you can always update your server every week just by Git pull which already mentioned in that installation topic guide Question: but every time I Git pull, it always ask to resolve conflicts Answer: that's the reason hercules community stop providing patch file and transition towards plugin system you should always keep your server up to date with the latest revision as we always add new features and bug fix nobody on the board like to give support on old emulator Question: but rathena doesn't have plugin system Answer: yes rathena doesn't support right now, but will be soon in the near future. rathena already slowly transition towards C++ format Third Step now you have a .diff file, download the file somewhere, right click on it then point the link towards your hercules installation folder Apply Patch Serial... Review/apply single patch... if either option doesn't work, try the other Disclaimer: I am windows user, so I never use Linux or Centos whatever, so this guide is purely meant for those keep bombard my PM box over and over
  36. 8 points
    Mystery

    Apoligies for lack of Activity

    Hey everyone! Some of you have left me many messages (here on the forum and on Discord) regarding my activity. Sadly, I've been quite busy working at Summer Camp (hence why I haven't been active much through the summer....). I try to check in whenever I have some time to myself, but it is quite difficult to do so with lack of internet and lack of connection. Good news is... it's almost done and I'm about ready to get back to my normal routine. Please, if you have any more questions/concerns/ or just want to say hi, don't hesitate to talk to me via PM or Discord! I check Discord more often since I am on my phone more often. Mystery out!
  37. 8 points
    Sephus

    Official Refine Rate Correction

    As of e171deb58c7 we have the official refine rates from kRO. Normal Ores  Refine Shadow equipment Armor Weapon (1st level) Weapon (2nd level) Weapon (3rd level) Weapon (4th level) 1 100% 100% 100% 100% 100% 100% 2 100% 100% 100% 100% 100% 100% 3 100% 100% 100% 100% 100% 100% 4 100% 100% 100% 100% 100% 100% 5 60% 60% 100% 100% 100% 60% 6 40% 40% 100% 100% 60% 40% 7 40% 40% 100% 60% 50% 40% 8 20% 20% 60% 40% 20% 20% 9 20% 20% 40% 20% 20% 20% 10 9% 9% 19% 19% 19% 9% 11 - 8% 18% 18% 18% 8% 12 - 8% 18% 18% 18% 8% 13 - 8% 18% 18% 18% 8% 14 - 8% 18% 18% 18% 8% 15 - 7% 18% 18% 18% 7% 16 - 7% 17% 17% 17% 7% 17 - 7% 17% 17% 17% 7% 18 - 7% 17% 17% 17% 7% 19 - 5% 15% 15% 15% 5% 20 - 5% 15% 15% 15% 5% Enriched Ores Refine   Shadow equipment Armor Weapon (1st level) Weapon (2nd level) Weapon (3rd level) Weapon (4th level) 1 100% 100% 100% 100% 100% 100% 2 100% 100% 100% 100% 100% 100% 3 100% 100% 100% 100% 100% 100% 4 100% 100% 100% 100% 100% 100% 5 90% 90% 100% 100% 100% 90% 6 70% 70% 100% 100% 90% 70% 7 70% 70% 100% 90% 80% 70% 8 40% 40% 90% 70% 40% 40% 9 40% 40% 70% 40% 40% 40% 10 20% 20% 30% 30% 30% 20% 11 -  8% 18% 18% 18% 8% 12 -  8% 18% 18% 18% 8% 13 -  8% 18% 18% 18% 8% 14 -  8% 18% 18% 18% 8% 15 -  7% 18% 18% 18% 7% 16 -  7% 17% 17% 17% 7% 17 -  7% 17% 17% 17% 7% 18 -  7% 17% 17% 17% 7% 19 -  5% 15% 15% 15% 5% 20 -  5% 15% 15% 15% 5% Normal Ores - Smelting Event Refine Shadow equipment Armor Weapon (1st level) Weapon (2nd level) Weapon (3rd level) Weapon (4th level) 1 100% 100% 100% 100% 100% 100% 2 100% 100% 100% 100% 100% 100% 3 100% 100% 100% 100% 100% 100% 4 100% 100% 100% 100% 100% 100% 5 60% 60% 100% 100% 100% 60% 6 40% 40% 100% 100% 60% 40% 7 40% 40% 100% 60% 50% 40% 8 20% 20% 60% 40% 20% 20% 9 20% 20% 40% 20% 20% 20% 10 9% 9% 19% 19% 19% 9% 11 - 20% 40% 40% 40% 20% 12 - 20% 40% 40% 40% 20% 13 - 16% 35% 35% 35% 16% 14 - 16% 35% 35% 35% 16% 15 - 15% 30% 30% 30% 15% 16 - 15% 30% 30% 30% 15% 17 - 14% 20% 20% 20% 14% 18 - 14% 20% 20% 20% 14% 19 - 10% 15% 15% 15% 10% 20 - 10% 15% 15% 15% 10% Enriched Ores - Smelting Event Refine  Shadow equipment Armor Weapon (1st level) Weapon (2nd level) Weapon (3rd level) Weapon (4th level) 1 100% 100% 100% 100% 100% 100% 2 100% 100% 100% 100% 100% 100% 3 100% 100% 100% 100% 100% 100% 4 100% 100% 100% 100% 100% 100% 5 95% 95% 100% 100% 100% 95% 6 80% 80% 100% 100% 95% 80% 7 80% 80% 100% 95% 90% 80% 8 60% 60% 95% 85% 70% 60% 9 50% 50% 85% 60% 60% 50% 10 35% 35% 55% 45% 45% 35% 11 - 20% 40% 40% 40% 20% 12 -  20% 40% 40% 40% 20% 13 -  16% 35% 35% 35% 16% 14 -  16% 35% 35% 35% 16% 15 -  15% 30% 30% 30% 15% 16 -  15% 30% 30% 30% 15% 17 -  14% 20% 20% 20% 14% 18 -  14% 20% 20% 20% 14% 19 -  10% 15% 15% 15% 10% 20 -  10% 15% 15% 15% 10% This corrects the previous behaviour of enriched ores which would simple double roll the item refinement. Script Command Changes getequippercentrefinery(<equipment slot>{, <type>}) Example: if (getequippercentrefinery(EQI_HAND_L, REFINE_CHANCE_TYPE_NORMAL) <= rand(100)) mes("Aww"); Constants exported to constants.conf are - REFINE_CHANCE_TYPE_NORMAL: 1 Retrieves Normal ore refine rate REFINE_CHANCE_TYPE_ENRICHED: 2 Retrieves Enriched ore refine rate REFINE_CHANCE_TYPE_E_NORMAL: 3 Retrieves Normal Event ore refine rate REFINE_CHANCE_TYPE_E_ENRICHED: 4 Retrieves Enriched Event ore refine rate
  38. 7 points
    AnnieRuru

    Dota PVP Ladder

    yeah I bet everyone still using version 2.9, that outdated version from eathena honestly there isn't much change with previous version, version 2.9 still works fine if you know how to fix it Download: 3.6 hercules - script rathena - script soundeffect if your server has custom animation sprite, remember to set .fix_custom_sprite to true Questions: when people ask to make modification to this script, it always comes down to these 2 1. monthly/weekly reset ladder will reset monthly or weekly ... self explain 2. "@dotaannounce" off hmm ... after talked to some people, they want the announcement set to global, but then some players want to see who are dead, and some players doesn't bother and I also saw this is a custom modification ... can be made into this script but ... nah ... I'll do it when I feel like it
  39. 7 points
    contact me on facebook! join discord for freebies! welcome to my paid services. below you can find a variety of things I can do to make your server stand out! if you need anything else, just ask. Logo 25$* Patcher 20$* Animated Banner 10$* Advertising Banner 10$* Loading Screen 2$* Login Screen 5$* Facebook Banner + Profile 10$* Forum Skin 30$* Wiki Skin 20$* Interface Skin 20$* Website 30$* Icons 2$* *Please note that prices listed are for re-sellers and come without PSD. *For exclusive graphics with or without PSD please ask for a quote. Advertising 10$/week* Wiki Editor 20$/week* Support GM 20$/week* Event GM 20$/week* Fast Refresh Client 50$* Normal Client 10$* FluxCP Setup 10$* Scripts 5$* Singature 5$* well, that was pretty much all I could think of. for a preview of my works please check the second post below! if you need anything else, just ask.
  40. 7 points
    Habilis

    [Event] Wheel of fortune

    I've recently got a brilliant idea. Why not make my own version of a paid script, sold on rAthena and release it to Hercules for free!? (Not because I'm banned on rAthena ) I need a peer review before releasing the whole package. @Myriad Did a nice Peer review of my terribel kode... If anyone else would like to contribute, feel free. Otherwise, it is soon to be released UPD : I reDrew the cutins, they don't look like stolen from rAthena 1) configuration there are 2 arrays setarray .prize_id[1],-1,31024,31026,31008,31020,31017,31010,31016,0,31009; setarray .prize_qty[1],2,1,1,1,3,3,1,3,0,3; in prize_id if id is > 0, the prize is an item if id = 0 , the prize is NOTHING! if id = -1, the prizer is free spin (number of free spins set in qty array) in array .prize_qty you setup the quantity won //===== Hercules Script ====================================== //= Wheel of Fortune //===== By =================================================== //= Habilis //= Edited by Myriad //===== Description ========================================== //= Wheel of fortune something. //============================================================ - script Wheel_of_Fortune FAKE_NPC ,{ OnInit: disablenpc("Wheel of Fortune#Main"); disablenpc("Hussein#WOF"); .EventName$ = "[Wheel Of Fortune]"; end; OnMinute39: OnStart: query_sql("DELETE FROM `acc_reg_num_db` WHERE `key`='#freewheelfortunespin';"); announce(sprintf("%s : The event will begin in 1 minute, near the center of Prontera.", .EventName$), bc_blue | bc_all); initnpctimer(); end; OnTimer60000: // 1 min enablenpc("Wheel of Fortune#Main"); enablenpc("Hussein#WOF"); announce(sprintf("%s : Come to Prontera and test your luck, everyone got some free spins!", .EventName$), bc_blue | bc_all); end; OnTimer1800000: // 30 mins announce(sprintf("%s : One more minute, do your last spin!", .EventName$), bc_blue | bc_all); end; OnTimer1860000: // 31 mins OnStop: disablenpc("Wheel of Fortune#Main"); disablenpc("Hussein#WOF"); end; } prontera,159,178,3 script Hussein#WOF 1_M_MERCHANT,{ doevent("Wheel of Fortune#Main::OnTalk"); end; } prontera,155,176,3 script Wheel of Fortune#Main 2_SLOT_MACHINE,{ OnTalk: if (#freewheelfortunespin == 0) #freewheelfortunespin = .Free_Spins; if (getd(.Event_Points_Variable$) < .Points_Cost && #freewheelfortunespin < 0) { mesf("[^0055FF ::: %s ::: ^000000]", .EventName$); mes("You are out of points"); mes("and have no more free"); mes("spins! Come back next"); mes("time for more."); close(); } .@mes$ = (#freewheelfortunespin > 0) ? sprintf(", but you, my friend, have %d free spin%s!", #freewheelfortunespin, (#freewheelfortunespin == 1) ? "" : "s") : "."; cutin("aca_salim02", 2); addtimer(1, sprintf("%s::OnEnd", strnpcinfo(NPC_NAME))); mesf("[^0055FF ::: %s ::: ^000000]", .EventName$); mes("Do you want to spin the wheel?"); mesf("It costs ^FF0000%d Event points^000000 to play%s", .Points_Cost, .@mes$); next(); callsub(S_Loop); S_Loop: .@val = getd(.Event_Points_Variable$); if (.@val < .Points_Cost && #freewheelfortunespin < 0) callsub(S_End); switch (select( (#freewheelfortunespin > 0) ? sprintf("Yes! Use free spin! (%d left)", #freewheelfortunespin) : "", (.@val > 0) ? sprintf("Yes! Use Event Points. (%d remaining)", .@val) : "", "No (Leave)" )) { case 1: callsub(S_Pay, 0); case 2: callsub(S_Pay, 1); default: callsub(S_End); } S_Pay: switch (getarg(0)) { // pay with free spin case 0: if (#freewheelfortunespin > 0) { if ((#freewheelfortunespin -= 1) < 1) #freewheelfortunespin = -1; callsub(S_Gamble); } else callsub(S_End); // Pay with points case 1: default: if ((.@val = getd(.Event_Points_Variable$)) >= .Points_Cost) { setd(.Event_Points_Variable$, (.@val -= .Points_Cost)); dispbottom(sprintf("%s : You now have %d event points.", .ServerName$, .@val)); callsub(S_Gamble); } else { cutin("aca_salim02", 2); mesf("[^0055FF ::: %s ::: ^000000]", .EventName$); mes("Awww, you don't have enough to gamble..."); mes(" "); mes("Have you ever heard?"); mes("'Money isn't all that matters' Got it?"); mes("Byeeeeeeeeeeeeee ;)"); callsub(S_End); } } S_Gamble: // Actual Gambling .@sector = rand(.Sector[0], .Sector[1]); .@displayCutin = (.@sector * 2) - 1; .@Speed = .Spin_Speed; for (.@i = 0; .@i < .nbTurns; .@i++) { .@b = .Cutin[0]; while (.@b <= .Cutin[1]) { cutin(sprintf("%s%d", .cutin$, .@b), 4); sleep2(.@Speed); .@b++; .@Speed++; } } .@b = .Cutin[0]; while (.@b < .@displayCutin) { cutin(sprintf("%s%d", .cutin$, .@b), 4); sleep2(.@Speed); .@b++; } cutin(sprintf("%s%d", .cutin$, .@b), 4); if (.prize_id[.@sector] == -1) { // Free spin if (.Sound_Effects) soundeffect("wheel_jackpot.wav", 0); announce(sprintf("[%s] : Wow, %d more Free spins!!!", .EventName$, .prize_qty[.@sector]), bc_blue | bc_self); #freewheelfortunespin = #freewheelfortunespin == -1 ? .prize_qty[.@sector] : #freewheelfortunespin + .prize_qty[.@sector]; } else if (.prize_id[.@sector] == 0) { // nothing if (.Sound_Effects) soundeffect("wheel_lost.wav", 0); announce(sprintf("[%s] : Awwww, No luck in gamble, more luck in love...", .EventName$), bc_blue | bc_self); } else { // item if (.Sound_Effects) soundeffect("wheel_won.wav", 0); announce(sprintf("[%s] : Enjoy your prize!!!", .EventName$), bc_blue | bc_self); getitem(.prize_id[.@sector], .prize_qty[.@sector]); } sleep2(1000); callsub(S_Loop); end; S_End: close2(); OnEnd: cutin("", 255); end; OnInit: .ServerName$ = "[Your boring server]"; .EventName$ = "Wheel Of Fortune"; .cutin$ = "WheelOfFortune_"; .Event_Points_Variable$ = "#LROEVENTPOINTS"; // The name of your event points variable setarray(.Sector, 1, 10); // Sector range setarray(.Cutin, 0, 19); // Cutin range .Spin_Speed = 50; // What is the base spin speed? (ms) .nbTurns = 2; .Points_Cost = 100; // How many 'points' does it cost for a spin? .Free_Spins = 1; // How many free spins does a player get? .Sound_Effects = true; // Enable sound effects? (true/false) setarray(.prize_id[1], -1, 31024, 31026, 31008, 31020, 31017, 31010, 31016, 0, 31009); setarray(.prize_qty[1], 2, 1, 1, 1, 3, 3, 1, 3, 0, 3); end; }
  41. 7 points
    Dastgir

    Dastgir's Services

    Hello Hercules Community, I am offering my Services to you @ some expense of money. Works for Emulator: Hercules/rAthena/Others(if any) Services: Scripting. (Min Price:5$ ) Source Modification(/Addition).(Min Price: 5$) Converting to/Creating a Plugin[Hercules Specific].(Min Price: 5$) Migrating Your Server. (Min Price: 10$) Adding Custom Items/Maps/Mobs. (Min Price: 5$) Creating/Adding New Skills. (Min Price: 10$) Changing of Emulator (Min Price: 10$) ClientSide Things. (Min Price: 5$) Fixing Errors. (Min Price: 5$) Script Review. Consulting And Anything else, that you want, just drop me a PM Maximum Price: Depends on Complexity of the Work What Else: Free Support for Service bought from me. Contact Info: Post Here Via PM Payment Methods: PayPal OnlyPM me if you want any other payment method, and I might check If I can have it. Status: AVAILABLE
  42. 7 points
    4144

    Upcoming hercules feature

    Already merged into hercules New feature: Items preview in cash shop Can be enabled by: 1. defining ENABLE_CASHSHOP_PREVIEW_PATCH in core.h or by configure flag --enable-cashshop-preview-patch 2. Then need apply this nemo patch http://nemo.herc.ws/patches/ExtendCashShopPreview/ Feature can works only if option in server side enabled and enabled patch in client side. In other case cash shop will be corrupted
  43. 7 points
    Dastgir

    Plugin Collections

    Hello Community, I am feeling like, there's many plugin on forum, but not been actively used, due to out-of-date plugin I have updated Shikazu's Plugin first(as it was requested on the thread from 25th April), maybe Shikazu busy on his rl. Also I have included My Plugins there. I would like to add more plugins there(which are not updated on hercules forum <- please suggest if you find some outdated plugin and want me to update it ) List of Plugins and Owners: https://github.com/dastgir/HPM-Plugins/blob/master/README.md Repository: https://github.com/dastgir/HPM-Plugins Thanks.
  44. 7 points
    Hello everyone, I present to you a modified tip box which has been completely translated to English. Tested on: 2018-04-04c RagexeRE and worked like a charm. In your System folder in Client side, replace your tipbox.lub with my translated tipbox i have attached below: tipbox.lub Then, Patch your client with whatever settings you want and then open the patched client in hexeditor ( I used XV132 for this) IMPORTANT NOTE : Make sure you hex a "patched" client. DO NOT do it on an unpatched client or else NEMO will show errors for random "recommended patches" that you select while patching it. Find the following and replace with hex for english translation : for checkbox: BD C3 C0 DB C7 D2 20 B6 A7 20 BF AD B1 E2 English translation: 53 61 76 65 20 54 69 70 3F 20 20 20 20 20 for close button : B4 DD B1 E2 English translation : 44 6F 6E 65 (korean translation of close has only 4 strings so I had to replace it with "Done" to match the string size -_-) OR go to your NEMO folder/patches/TranslateClient.txt and add this at the end of it then patch your clients: (Thanks to @Asheraf for telling me about this xD) M: Translate Tip box ------------------------------ F: BD C3 C0 DB C7 D2 20 B6 A7 20 BF AD B1 E2 R: 'Save Tip?' F: B4 DD B1 E2 R: 'Done' if you did everything as said, this will be your result : Old tip box: New translated tipbox: -- On a funny Note, I had no clue what the korean translation for the Check box was LOL so I just randomly translated it to "Save tip?" instead cuz it was a logical solution LMAO
  45. 7 points
    Hyvraine

    Stellar - FluxCP (Herc FluxCP)

    View File Stellar - FluxCP (Herc FluxCP) Stellar by HTML5 UP | @ajlkn | html5up.net Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) Integrated to FluxCP (Hercules) by Hyvraine of Hyvraine Designs | facebook.com/HyvraineDesigns ================================ Ported this to FluxCP (Herc) as I was fiddling with responsive templates. It's semi-responsive, I think. FEATURES: WoE Countdown Top Guild Top Player (based on FluxCP's Character Ranking module) HOW TO INSTALL: This follows the default theme of FluxCP, it acts similar like Emphaino where it inherits the default FluxCP pages. Extract the RAR file in the themes folder. In application.php: make sure 'stellar' comes first and then 'default' next 'ThemeName' => array('stellar','default'), // Names of the themes you would like to use. Themes are in FLUX_ROOT/themes. First theme listed will be default theme. And you should be good to go. HOW TO EDIT: Site title is still dependent on the variable SiteTitle inside application.php. Edit index.php in stellar/main/ for the front page stuff. For the Favicon, Logo, Description, WoE Hours, Site Navigation, please visit settings.php for more instructions. Submitter Hyvraine Submitted 01/09/18 Category Web Resources  
  46. 7 points
    Rytech

    2018-06-20/21RagexeRE Char Select Fix

    I recently learned that some of the textures for the character select screen were changed at some point between 2018-06-20 and today (2018-10-24) which will cause the 2018-06-20/21 RagexeRE to crash when reaching the character select screen. A few of them look different and are of a different size but I don't know why its causing this issue. So im releasing this here. The download contains the old and new textures for compare. To use the fix, place the select_character_v3 folder from the old textures folder in your "data/texture/À¯ÀúÀÎÅÍÆäÀ̽º/" directory. Char Select Textures.zip
  47. 7 points
    Hi, I'm TioAkima. Small tutorial to help add the new fucking SIGNBOARDs that are available to new clients. If I'm not mistaken, it's for client's 2016+ For those who do not know, I'm talking about these new chat/shop on the NPC: They are cool and leave the server with a nice face. <3 it is quite simple. Go in your data folder, and in your LUA files (luafiles514) search for file signboardlist.lub data\luafiles514\lua files\signboardlist.lub Now let's understand how this file works to add a SIGNBOARD (cute little window with icon) like this: The structure of the file is as follows: {" prontera", 150, 193, 5, IT_BMP, "유저인터페이스\\information\\over_kafra.bmp", " KAFRA Tools ","#0x00FFFFFF"} { "prontera", = map name 150, = x 193, = y 5, = height you want the window (can be zero if you want) IT_SIGNBOARD, = window type "유저인터페이스\\information\\over_kafra.bmp", = here is the directory where your icon is "KAFRA Tools", = chat name "#0x00FFFFFF" = letter color }, Just add another line following this format. Remembering that the last window does not have the comma in the end ... It is good to pay attention to this. Now to add icons in this other way> The format is very similar, but it has some minimal difference ... And it's also in the same file. It's pretty much the same thing, but one or the other function argument changes. The structure is this: {"prontera", 150, 193, 1, IT_BMP, "유저인터페이스\\information\\over_kafra.bmp"}, { "prontera", = map name 150, = x 193, = y 1, = height you want the icon (can be zero if you want) IT_BMP, = Only place the icon (without the window) "유저인터페이스\\information\\over_kafra.bmp" = here is the directory where your icon is }, READY! Note that for this, you do not put the name of the chat nor the color of the letter! (you do not have these two arguments, okay?) .. That's it .. I hope it helps anyone who wants to put these windows. att, Tio akima
  48. 7 points
    Mystery

    Digests Galore 2017-2018

    January Digest 2018 The following digest covers the month of January 1st - January 31st 2018 Team Changes None Development Highlights Added support for the AllowReproduce flag in the skill DB. This supersedes the skill_reproduce_db. (#1943) Added support for the ZC_PROGRESS_ACTOR packet. The packet is exposed to the script engine through the progressbar_unit() command (available on PACKETVER 20130821 and newer). (#1929) Added support for the new item drop packet for the Zero clients. The packet is controlled by the ShowDropEffect and DropEffectMode item DB flags and ignored by non-Zero clients. (#1939) Added support for the new Map Server Change packet 0x0ac7. (part of #1948) Developmental Changes Removed the skill_reproduce_db, now superseded by the AllowReproduce skill flag. (part of #1943) Always enabled assertions and null pointer checks. In order to disable them (very discouraged, as it may lead to security issues), it is now necessary to edit nullpo.h. (#1937) Disabled the address sanitizer's memory leak detector in the travis builds, since it produced failures in third libraries. (#1949, #1952) Applied script standardization to the Nydhogg's Nest instance script. (#1871) Split packet_keys.h into separate files for main clients and zero clients. (part of #1948) Split packets_shuffle.h into separate files for main clients and zero clients. (part of #1948) Replaced the custom bank unavailable error message with the actual bank check error packet. (part of #1948) Updated and corrected the party member and party info packets. (part of #1948) Updated README.md with more relevant badges and links (added Discord, removed Waffle, added more GitHub information). (#1951) Bug Splat Fixes Updated Xcode project to include the RODEX related files. (#1942) Fixed RODEX loading mails when it requires multiple packets. (#1945, issue #1933) December Digest 2017 The following digest covers the month of December 1st - December 31st 2017 Team Changes None Development Highlights Implemented Homunculus Autofeeding, available on the 2017 clients. The feature can be disabled by flipping features.enable_homun_autofeed in feature.conf. (#1898) Added support for the newly released Ragnarok Zero clients. The client type is controlled with the --enable-packetver-zero configure-time flag (disabled by default). (#1923) Developmental Changes Applied script standardization to the Old Glast Heim instance script. (#1883) Split packets.h into two files: packets.h and packets_shuffle.h. (part of #1923) Bug Splat Fixes Corrected a wrong path displayed in an error message pointing to the map-server configuration. (#1913) Fixed the natural expiration of the Poison status when under the effect of Slow Poison. (#1925) November Digest 2017 The following digest covers the month of November 1st - November 30th 2017 Team Changes None Development Highlights Added several missing members to the login interface. (Part of #1891) Added support for colored character server population counter in the service selection list. Configurable through users_count in login-server.conf. (#1891) Added top-level command miniboss_monster to label monsters as minibosses, and to send them as such to the client. (part of #1889) Added support for 2017-10-25 - 2017-11-01 clients. (#1889) Added support to display NPCs with player classes, including equipment and styles (best with clients starting from 20170726). This extends getunitdata() and setunitdata() with support for UDT_SEX, UDT_HAIRSTYLE, UDT_HAIRCOLOR, UDT_HEADBOTTOM, UDT_HEADMIDDLE, UDT_HEADTOP, UDT_CLOTHCOLOR, UDT_SHIELD, UDT_WEAPON, UDT_ROBE, UDT_BODY2. (#1893) Added type constants for the getiteminfo() and setiteminfo() script commands. Existing third party code must be updated to use the new constants (see the pull request description and the command documentation for details). (#1902) Added global function F_GetAmmoType(), counterpart to F_GetWeaponType() for ammunitions. Both functions have now been updated to only check the subtype if the item type is correct (IT_AMMO and IT_WEAPON respectively). (part of #1902) Added support for the Skill Scale packet, available in client versions 20151223 and newer. (#1903) Developmental Changes The use of numeric type constants with getiteminfo() and setiteminfo() is deprecated. For technical reasons, no deprecation notice is displayed. (part of #1902) The MAX_SKILL constant has been removed, in favor of the more clear MAX_SKILL_DB, to be used in all places that use the compacted Skill DB array. For use with the non-compacted clientside Skill IDs, the MAX_SKILL_ID constant is still available. (part of #1896) Applied script standardization to the Octopus Cave instance script. (#1882) Applied script standardization to the Ghost Palace instance script. (#1879) Applied script standardization to the Sara's Memory instance script. (#1884) Extended the script command setequipoption() with the possibility to remove item options from an equipment piece. (#1865) Updated the QTYPE_* constants (questinfo(), showevent()) to support the new 2017 client icons. (#1894) Applied script standardization to the Orc's Memory instance script. (#1872) Applied script standardization to the Sealed Shrine instance script. (#1873) Extended the global function F_GetArmorType() to support costumes and shadow equipment. (#1836) Extended the script commands has_instance() and has_instance2() with suport to search instances of type IOT_NONE. (#1397) Applied script standardization and improvements to the Endless Tower instance script. (#1862) Cleared some confusion between skill IDs and indexes through the codebase. Rewritten Skill DB accessors in a safer, more readable way. (part of #1896) Bug Splat Fixes Fixed compilation warnings when compiling with gcc-7. (#1887) Fixed the display flag for monsters labeled as boss_monster to be that of MVP monsters instead of miniboss monsters. (part of #1889) Fixed a subtle error in case skill->unit_group_newid overflows, causing certain skill unit entries to get stuck and never get deleted correctly. This can manifest itself with some monster spawns becoming immune to certain AoE spells having the UF_NOOVERLAP flag (Storm Gust, Lord of Vermillion, etc). (#1896) Implemented MATK support in the getiteminfo() and setiteminfo(). This functionality was previously advertised as availble in the command documentation, but was not implemented. (part of #1902) Restored View Sprite support in the getiteminfo() and setiteminfo(). This functionality was lost with #1828. (part of #1902, issue #1895) Reimplemented the global function F_GetArmorType() to reflect the fact that ITEMINFO_LOC returns a bitmask. The function now handles multi-slot headgears and other uncommon cases better. (part of #1902) Corrected some incorrect data types passed to the SQL StmtBind functions, causing query errors and data loss. Said functions will now have a runtime assertion to ensure the right data type is passed. Third party code needs to be updated to reflect this stricter requirement. (#1901, issue #1531) Corrected some RODEX related queries in case MAX_SLOTS or MAX_ITEM_OPTIONS are set to custom values. (part of #1901) Suppressed assertions in the Skill DB accessors when called with skill_id = 0 (normal attacks). (#1910, issue #1909) Fixed an item loading failure in RODEX. (#1917, issue #1912) Fixed invisible NPCs (such as FAKE_NPC) being displayed as novices. (#1918, issue #1916) October Digest 2017 The following digest covers the month of October 1st - October 31st 2017 Team Changes None Development Highlights Added the script command getmapinfo(), which allows to obtain misc information about a map. (#1852) Added an option to restrict party leader changes to characters on the same map. Controlled by the setting party_change_leader_same_map (defaults to true). (#1812) Added initial support (shuffle packets, obfuscation keys) for clients 2017-09-27, 2017-10-02, 2017-10-11, 2017-10-18. (#1859) Added the noautoloot mapflag, allowing to disable the @autoloot functionality on a map by map basis. (#1833) Developmental Changes Extended the script command logmes() with an option to log to the atcommandlog table. (#1843) Updated RoDEX, with support for packetver 20170419 and newer. (#1859) Updated Exp-related packets and handling functions to support values larger than 2 billions (as seen in packetver 20170830 and newer). (#1859) Changed the diagnostic message in skill_init_unit_layout() to report the skill ID instead of its index. (#1854) Bug Splat Fixes Corrected the Kafra dialog in case a Doram without the Summoner's Basic Skill attempts to open the Storage. (#1864) Changed the cell stack counting algorithm to ignore invisible NPCs, improving the Dancer Quest experience as well as other cases of hidden NPCs blocking off certain cells. (#1827) Improved the handling of the cardfix value to make it more resistant to overflows, especially in renewal mode. Simplified the related renewal/pre-renewal conditional code. (#1825) Fixed some compilation warnings occurring in VS2017. (#1870) Fixed a wrong null pointer check in logmes(), which caused the command to never log and instead print debug information.
  49. 7 points
    Temtaime

    New life for RO

    Hello guys ! I'm sorry for such a delay, but i have some troubles IRL, and while i'm the only one who develops this client, there was no news. Æsir made a big step, many basic features are now accessible. It's not so much comparing with korean client, but it's a good start. With time, features will multiply. You can download and try it right here.
  50. 7 points
    Mystery

    Hercules, welcome to IPB4

    Hey everyone, It has been long overdue to bridge over to IPB4... but we are finally here. We ran into a few issues with the transition but we got the forum running within an hour. The forum is now accessible for everyone (maintenance is over), but keep in mind that there are still batches being processed in the backend which may make your experiences in browsing / posting sluggish. Over the next few hours/days, I will be working on the forum; reorganizing a few things, fine tuning, etc. If you run into any issues, don't hesitate to bring them to my attention!
×
×
  • Create New...

Important Information

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