-
Content Count
1677 -
Joined
-
Last visited
-
Days Won
246
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by AnnieRuru
-
Assertion on skill teleportation error printed on map server
AnnieRuru replied to utofaery's question in General Server Support
same, reproduce [Error]: Reserved too small packet buffer for packet 0x0ABE with size 6, but must be size 38 [Error]: --- failed assertion -------------------------------------------- [Error]: d:\ragnarok\hercules\src\common\socket.c:2138: '0' in function `unknown' [Error]: --- end failed assertion ---------------------------------------- above happens whenever using teleportation skill lv2, acolyte class [Error]: Reserved too small packet buffer for packet 0x0ABE with size 6, but must be size 22 [Error]: --- failed assertion -------------------------------------------- [Error]: d:\ragnarok\hercules\src\common\socket.c:2138: '0' in function `unknown' [Error]: --- end failed assertion ---------------------------------------- this happens whenever someone using teleportation lv1, creamy card (4040) -
- 2 replies
-
- sql
- authentication
-
(and 1 more)
Tagged with:
-
Crash rebellion random mapserver scriptcommand Class
AnnieRuru replied to utofaery's question in General Server Support
crash dump ? couldn't reproduce your error if you have random crash, 1st thing you should do is try to reproduce the error by taking out your source edits and plugins 1 by 1 -
latest revision, patch plugin the reason for the patch is because this was requested from rAthena forum https://rathena.org/board/topic/118143-bonus-expansion-pack/?do=findComment&comment=357155
-
Help 1 read Maxlevel from exp_group_db.conf and 2 getstorageinventorylist
AnnieRuru replied to utofaery's question in Script Support
yes, in hercules we despise source edits because patch outdated very very fast plugins can last longer ... well, at least it last longer than patches for ( k = 0; k < MAX_SLOTS; k++ ) { sprintf( card_var, "@storagelist_card%d", k +1 ); pc->setreg( sd, reference_uid( script->add_variable(card_var), j ), VECTOR_INDEX(sd->storage.item, i).card[k]); } -
Help 1 read Maxlevel from exp_group_db.conf and 2 getstorageinventorylist
AnnieRuru replied to utofaery's question in Script Support
maybe because its too simpuru ? -
well theoretically, yes but I read the script, then no, because IF this custom script command is only specially made for this purpose, then it never get -1 but ... might as well just fix it #include "common/hercules.h" #include "map/pc.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "getequippedon", SERVER_TYPE_MAP, "x_O", HPM_VERSION, }; BUILDIN(getequippedon) { int i = status->current_equip_item_index; struct map_session_data *sd = script->rid2sd(st); if ( sd == NULL ) return true; if ( i < 0 || sd->inventory_data[i] == NULL ) script_pushint( st, 0 ); else if ( i == EQI_HAND_L ) script_pushint( st, sd->inventory_data[i]->type == IT_ARMOR ? EQP_SHIELD : EQP_WEAPON ); else script_pushint( st, sd->status.inventory[i].equip ); return true; } HPExport void plugin_init (void) { addScriptCommand( "getequippedon", "", getequippedon ); }
-
plugin #include "common/hercules.h" #include "map/pc.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "getequippedon", SERVER_TYPE_MAP, "x_O", HPM_VERSION, }; BUILDIN(getequippedon) { int i = status->current_equip_item_index; struct map_session_data *sd = script->rid2sd(st); if ( sd == NULL ) return true; if ( i == EQI_HAND_L ) script_pushint( st, sd->inventory_data[i]->type == IT_ARMOR ? EQP_SHIELD : EQP_WEAPON ); else script_pushint( st, sd->status.inventory[i].equip ); return true; } HPExport void plugin_init (void) { addScriptCommand( "getequippedon", "", getequippedon ); } seems to be working, although in the example given, the jellopy supposed only give bonus to armor, headgear and shoes but I can enchant my jellopy to shields, it doesn't give any bonus and waste my item perhaps the scripting part should add another check and add 3rd argument EQP_ check to only allow those area
-
Functions getitemname2
AnnieRuru replied to AnnieRuru's topic in Quest, Shops, Functions & Algorithms Releases
2.5 - script --- hercules has update item ID smallint(6) field into int(11), and signed item need to rewrite --- finally update unidentified items, simply using regular expression replace --- card counting no longer count with strings although I doubt Hercules item ID upgrade, has broke some server's pet ID, https://github.com/HerculesWS/Hercules/pull/2359 -
Help 1 read Maxlevel from exp_group_db.conf and 2 getstorageinventorylist
AnnieRuru replied to utofaery's question in Script Support
1. apparently MAX_LEVEL always return 175 I think have to do this in the script, just BaseLevel == 99 blah blah 2. I search in both forum and nobody actually write getstoragelist ... https://rathena.org/board/topic/73566-storage-list/#comment-153023 and I am the one who made that script version hijacking SQL .... but now our script engine no longer limit to 128, I think I can write a plugin for it hmm ... or make a pull request ... hmm ... why do you need it for anyway ? nobody actually requesting this ... -
nope, if it is alone, by itself, it just increase the value normally ++.@i; and .@i++; is the same, notice the semi-colon it only different when you have a command in it, like when using array .@array[.@i++] and .@array[++.@i] is different .@array[.@i] = 1; .@i++; // is equal to .@array[.@i] = 1; ++.@i; .@array[.@i++] = 1; // is NOT equal to .@array[++.@i] = 1;
-
I need help converting this line from old eathena format to Hercules format
AnnieRuru replied to utofaery's question in Database Support
if me, want to add another custom dead branch, I would just write it in very simple term getitem F_Rand(1201,1101,501,502,503), 1; those monster box ... dead branch has some kind official rate ... if ignore the rate part, a simple script function will do https://rathena.org/board/topic/78263-scripting-faqtipstricks/ PS: still haven't include this in my blog ... -
https://annieruru.blogspot.com/2019/01/what-is-difference-between-i-and-i.html EDIT: rAthena developers added F_IsCharm function into this script, I felt it is redundant though who in the right mind would add a Rune or Charm in the monster `dropcardid` field ? I would add it in Drop1ID~Drop9ID doesn't look good in Hercules, our mob_db.conf uses libconfig format, and doesn't differentiate between card/runes and normal drop
-
I need help converting this line from old eathena format to Hercules format
AnnieRuru replied to utofaery's question in Database Support
Q1 GM_SANDMAN exactly what it says, just a skill only accessible by GMs to cast player to sleep this skill is granted by angra manyu (Item ID 1599) Q2 add announcement { Id: 604 AegisName: "Branch_Of_Dead_Tree" Name: "Dead Branch" Type: "IT_USABLE" Buy: 50 Weight: 50 BuyingStore: true Script: <" monster "this",-1,-1,"--ja--",-1,1,""; "> }, add announce script command in the Script: field b. randomize monster https://github.com/HerculesWS/Hercules/blob/stable/db/re/mob_branch.txt Q3. no idea what's the meaning of this question if you want to summon a large size monster, *monster("<map name>", <x>, <y>, "<name to show>", <mob id>, <amount>{, "<event label>"{, <size>{, <ai>}}}) -
I need help converting this line from old eathena format to Hercules format
AnnieRuru replied to utofaery's question in Database Support
nope, read db/re/skill_db.conf https://github.com/HerculesWS/Hercules/blob/stable/db/re/skill_db.conf#L221 the header of that file already tell you what each line means and rathena skill keeping that format https://github.com/rathena/rathena/blob/master/db/re/skill_unit_db.txt#L50 -
H>how to I keep this active pet from getting listed??
AnnieRuru replied to utofaery's question in Script Support
https://rathena.org/board/topic/91000-make-this-query-check-on-1000-pet-intimacy/?do=findComment&comment=237899 my last pet evolution script, ask the player to return their pet into egg state to continue or you can use getpetinfo(1) and remove the one you are currently owning Q2, yes -
https://rathena.org/board/topic/67014-endless-tower-2-the-endless-cellar-a-custom-sequel-to-endless-tower-by-chilly/ https://rathena.org/board/topic/113688-quests-games-endless-cellar/?tab=comments#comment-337839 let's see, there's no one write this for hercules yet
-
hahaha ~ took me so long to find out, yes, ONLY baphomet card is missing from my query because there is a non-MVP boss monster can drop MVP card The Baphomet, MVP is monster BAPHOMET(1039) and there is another boss monster call BAPHOMET_I(1929) that can also drop baphomet card
-
H>How to make it report actual sold item count?
AnnieRuru replied to utofaery's question in Script Support
prontera,155,185,4 script Mass Junk Seller 1_M_MERCHANT,{ disable_items; getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { if ( getiteminfo( @inventorylist_id[.@i], ITEMINFO_TYPE ) == IT_ETC ) { .@id[.@c] = @inventorylist_id[.@i]; .@amount[.@c] = @inventorylist_amount[.@i]; .@zeny_total += getiteminfo( .@id[.@c], ITEMINFO_SELLPRICE ) * .@amount[.@c] *(100 + .Overcharge[ getskilllv(MC_OVERCHARGE)] )/100; ++.@c; } } if ( !.@c ) { mes "you don't have any items to sell"; close; } mes "Are you sure selling :"; for ( .@i = 0; .@i < .@c; ++.@i ) mes .@amount[.@i] +"x "+ getitemname(.@id[.@i]); mes "for "+ F_InsertComma(.@zeny_total) +" Zeny ?"; next; if ( select( "Yes", "No" ) == 2 ) close; if ( Zeny + .@zeny_total > MAX_ZENY ) { mes "You can't carry that much Zeny."; close; } for ( .@i = 0; .@i < .@c; ++.@i ) delitem .@id[.@i], .@amount[.@i]; mes "All item sold for "+ F_InsertComma(.@zeny_total) +" Zeny"; Zeny += .@zeny_total; close; OnInit: setarray .Overcharge[0], 0, 7,9,11,13,15,17,19,21,23,24; end; } -
Help Removing duplicates value from array
AnnieRuru replied to utofaery's question in Script Support
Let me show you 3 different methods 1. loop the value back in another array, almost similar to meko did prontera,155,185,5 script kjdshfsk 1_F_MARIA,{ getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { .@j = 0; while ( .@j < .@itemtotal && .@itemid[.@j] != @inventorylist_id[.@i] ) ++.@j; if ( .@j == .@itemtotal ) .@itemid[.@itemtotal++] = @inventorylist_id[.@i]; } for ( .@i = 0; .@i < .@itemtotal; ++.@i ) dispbottom getitemname( .@itemid[.@i] ) +" -> "+ countitem( .@itemid[.@i] ) +"x"; end; } most people will show you this method, and this method is usable in almost all programming language BUT ... in my opinion this method use lots of loops ... 2. store the value in a string, then compare them later prontera,158,185,5 script dskjfhsdfk 1_F_MARIA,{ getinventorylist; .@compare$ = "#"; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { if ( !compare( .@compare$, "#"+ @inventorylist_id[.@i] +"#" ) ) { .@compare$ += @inventorylist_id[.@i] +"#"; .@itemid[.@itemtotal++] = @inventorylist_id[.@i]; } } for ( .@i = 0; .@i < .@itemtotal; ++.@i ) dispbottom getitemname( .@itemid[.@i] ) +" -> "+ countitem( .@itemid[.@i] ) +"x"; end; } I have used this method in https://rathena.org/board/topic/91826-special-party-warper/#comment-241434 https://rathena.org/board/topic/91723-please-help-this-script-about-mac_address/?do=findComment&comment=240887 I used this method a lot before Ind upgrade our scripting engine, but search using strings is quite slow in C language, hercules script language included and comes the recommended method below 3. abuse hercules script engine, array is store in a pointer. prontera,161,185,5 script zcxvsfer 1_F_MARIA,{ getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { if ( !.@compare[ @inventorylist_id[.@i] ] ) { .@compare[ @inventorylist_id[.@i] ] = true; .@itemid[.@itemtotal++] = @inventorylist_id[.@i]; } } for ( .@i = 0; .@i < .@itemtotal; ++.@i ) dispbottom getitemname( .@itemid[.@i] ) +" -> "+ countitem( .@itemid[.@i] ) +"x"; end; } ever since Ind upgrade our scripting engine, this is my latest method, and I think this is the fastest way -> compare to all 3 methods I have used in getitemname2 function soul linker spirit As you can see, I used Method 2 while still on rAthena forum, and switch to Method 3 after switch to Hercules And for your 2nd question, you can solve it yourself after you learn any of these techniques -
not sure if @kyemestill around, but I actually completed it XD https://drive.google.com/file/d/10rdB2Pp5ACMdufHV4NTl9SXTExCVbycc/view this time doesn't use blacklist range, but use allow range in CSV format. .list$[LOOK_HAIR] = "0-5,11-18,20-23"; .list$[Job_Summoner + LOOK_CLOTHES_COLOR] = "0-1"; This means, the ID range for hair style is 0,1,2,3,4,5,11,12,13,14,15,16,17,18,20,21,22,23 2nd line means Summoner job can only use clothing range 0 and 1, this prevent crash client
-
How to setup OFFLINE server for personal development use
AnnieRuru posted a question in General Server Support
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 -
my original script over there still working fine in hercules https://rathena.org/board/topic/73478-requesting-card-seller-script/?do=findComment&comment=154617 yes, rathena changed their monster's mode, so my script wont compatible in rathena anymore https://github.com/rathena/rathena/issues/2844
-
Q> Error Compiling server warning C4018: '<=': signed/unsigned mismatch
AnnieRuru replied to utofaery's question in General Server Support
forget about that, nobody seems to have a perfect solution on how to fix it https://github.com/HerculesWS/Hercules/issues/1725 https://github.com/HerculesWS/Hercules/issues/1434