-
Posts
2,285 -
Joined
-
Last visited
-
Days Won
72
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Cydh
-
-
On 7/9/2018 at 3:13 PM, crazyarashi said:
There are lots of interesting release lately, thanks for this :))
glad u like it
just update the file for Git Hash: 65df844d (2018-08-06)
- Since aleos added BL to script constants in previous mapflag cleanups, I just removed mine and add back BL_NPC
-
9 hours ago, Hnomkeng said:
1 login , 2 char , 2 map .
You can guide ?
https://rathena.org/board/topic/116483-tutorial-multi-servers/
-
This tutorial will leads you to
- Set multiple char-server as shown as multi services after login in RO Client
- Set multiple map-servers for 1 char-server
-
A Lazy setup
- So called Lazy setup because this guide only "copy" the necessary super minimum config file.
- The Lazy config will runs same server cores, so if server is compiled in renewal, you only can change the rates as example
- to make different server types (mod, renewal vs pre) you have to copy/separate the rathena files, u will understand if you can understand this basic (... that's what I thought)
- How to make it no lazy? Just copy the folders, restructure by using decent directory names... so lazy to write it now, maybe later
I've seen the setup before, years ago, can't recall where, maybe in old wiki? Because in current wiki is just like this: Multiple Servers.
1 Login-server with Multiple Char-Server
1 login-server
- set just like your normal setup
- add 1 more connection account in login (sex = 'S'), the username & password must be different with the first one. Example by default is s1 and p1, this entry be s2 and p2
2 char-servers
-
char-server A
- set just like your normal setup
-
map-server A.1
- set just like normal setup
-
char-server B
- copy conf/char_athena.conf as conf/char_athena2.conf
- change the userid: s2
- change the passwd: p2
- change the server_name: rAthena-2
- change the char_port: 6122
-
map-server B.1
- copy conf/map_athena.conf as conf/map_athena2.conf
- change the userid: s2
- change the passwd: p2
- change the char_port to match char-server B, 6122
- change the map_port: 5122
- in addition maybe you later can copy conf/battle/* to conf/battle2/*, so just do this int this example. So you need to copy conf/battle_athena.conf to conf/battle2/battle_athena.conf
MySQL Databases
-
DB1
- Create database with name (if default is) ragnarok
- Do normal config, import everything just like normal config
-
DB2
- Create database with name ragnarok2
- Do normal config, import everything just like normal config
inter_athena.conf setup
-
Inter-1
- set as normal setup
-
Inter-2
- copy conf/inter_athena.conf as conf/inter_athena2.conf
- set as normal setup
- change the char_server_id to ragnarok2
- change the map_server_id to ragnarok2
- change the log_db_id to ragnarok2
Run the servers
- Run login-server
- Run char-server A and map-server A1 just like running a server
-
For the 2nd server (char-server B and map-server B.1) follow this
- You can run manually by open command line or copy the charserv.bat and mapserv.bat file (that's why I against deleting .bat file in compilation), by following
- char-server.exe--inter-config conf/inter_athena2.conf --char-config conf/char_athena2.conf
- map-server.exe --inter-config conf/inter_athena2.conf --map-config conf/map_athena2.conf --battle-config conf/battle2/battle_athena.conf
1 Char-Server with Multiple Map-servers
- By simple examples you want 2nd map-server have towns only
- And this map-servers are part of Char-Server B
- be careful between map_athena and maps_athena, there's "s" and there is not.
Map-Server B.1
-
From conf/map_athena2.conf
- Change import: conf/maps_athena.conf to import: conf/maps_athenaB1.conf
- Copy conf/maps_athena.conf to conf/maps_athenaB1.conf
- Remove/comment payon, prontera, izlude, morocc, and other cities from this map-server in file conf/maps_athenaB1.conf
- Copy npc/script
Map-server B.2
-
Copy conf/map_athena2.conf to conf/map_athena2a.conf
- Set map_port: 5123 (5121 used for Map-server B.1, while 5122 for B.2)
- Change import: conf/maps_athenaB1.conf to import: conf/maps_athenaB2.conf
- Make a new file conf/maps_athenaB2.conf
-
Add the entries
map: payon map: prontera map: izlude map: morocc // ... -
Now re-run the Map-server B2 then following by B3
- map-server.exe --inter-config conf/inter_athena2.conf --map-config conf/map_athena2.conf --battle-config conf/battle2/battle_athena.conf
- map-server.exe --inter-config conf/inter_athena2.conf --map-config conf/map_athena2a.conf --battle-config conf/battle2/battle_athena.conf
- Your map-servers will be run wil neat error messages because missing NPC LOL. Because map-server will hardcoded-ly reads NPC scripts listing from /npc/[pre-]re/scripts_main.conf, you can redefine the path in config file LOL. That's why I say this setup is lazy, because I lazy to copy 'rathena' dir to another dir > then to give an example to remove unnecesary NPCs
Known Multi Server Issues
Multi Char-server issues
- None yet
Multi Map-server issues
- Some atcommands, such who commands
- Calling player from other map-server, such Emergency Call skill
- Channel System
- Guild storage dupe, yeah, never enable (at)gstorage command if you run this mode
- The rest later, I forgot all topic references
- Map-server reads scripts_main.conf from same root directory, can redefine
Image, video, or any materials to make this tutorial can be fancier, will be added later (so much later....)
-
5
-
1
-
2
-
1
-
*how? imgur taking forever to load, for pic u can simply paste after copy the image to clipboard
it's 1 login-server, 2 char-server, and each char-server contains at least 1 map-server (must be in different port)
-
9 hours ago, xGod said:
I'm having this kind of error when I try resetting pass on my fluxcp.
Password recovery cannot be used for this account.
tried it with the default theme and the custom theme.
cannot find the string

edit: typo,
so change this config in application.php
'NoResetPassGroupLevel' => AccountLevel::LOWGM, // Minimum group level of account to prevent password reset using control panel.
-
1
-
-
12 hours ago, WhiteEagle said:
Cool idea. Can be coupled with quests. Is a little more pleasant than "bring me the item in text format" for the next questpart
Will this buyable?Can be modified for this schema too. For now, this is just "player's buyingstore" but run by NPC. And the buyingstore item list limited only to 5 (blame kRO client)
11 hours ago, crazyarashi said:Looks nice, can it buy specific items like +9 knife with 4 thanatos card stuffs
Can be modified for this schema too. But again the kRO Client only show non-refine item
-
A mod that makes NPC able to open Buyingstore
- First diff for rAthena Git Hash: 584fcac4 (20180726)
- Possible for older rAthena version or emulator
-
2
-
1
-
1
-
and then aleos break it again today as Git Hash: 584fcac4 <<------------ UPDATE FOR THIS CHANGES! Check on first post
Updated diff for Git Hash: 0d773983 (20180918)
-
1
-
-
Updates and folding fixed in https://github.com/Sehrentos/rAthena-syntax-highlight/pull/7
7 hours ago, sikiro said:hey @Cydh ive used this for a while to help me edit scripts would it be possible to make it work with this dark theme https://github.com/Ludomancer/VS2015-Dark-Npp cause white makes my eyes bleed it works however all code is highlited in white.
@sikiro you can try this, just made, didn't add to main repo yet for testing purpose https://github.com/cydh/rAthena-syntax-highlight/blob/cydh-devel/rAthena-VS2015-Dark.xml
NOTE: It's not NPP theme, it's just recolor, if you want to stick this as "rathena user-defined language", you have to remove the 'white'-ver first then import that file.
-
2
-
-
Updated for rAthena Git Hash: 6b3f0717. File attachment in first post
-
1
-
-
just in case some still follow this topic and project, I just pushed new changes and make a new PR https://github.com/Sehrentos/rAthena-syntax-highlight/pull/6
just a random sample from rAthena script

about the NppSnippets plugin, I don't know what state on my last changes back then (3 years ago) so that's why I never make it public. xD
-
1
-
1
-
-
7 hours ago, Keitenai said:
He's trying to say that "getitem3" can only give 1 random option..
He is asking on how to make "getitem3" to give 2 or more random options in one time.
perhaps @Cydh can help coz i am curious too.
this thread almost a year and still there's someone who can't understand the doc/script_commands.txt? humanity will be vanished very soon. Thanks Capuche
-
1
-
-
Updated for rAthena Git Hash: ec1d6d28 (20180713)
-
1
-
-
*getobjects(<type>,<data>{,"<map name>"{,<x1>,<y1>,<x2>,<y2>}}) Get object GIDs on specified location based on specified 'type'. The returned value is number of all objects found. The GIDs is stored in temporary NPC variables. <type> can be combined value as bitwise of BL_PC - Character object BL_MOB - Monster object BL_PET - Pet object BL_HOM - Homunculus object BL_NPC - NPC object BL_MER - Mercenary object BL_ELEM - Elemental object 'data' values are bitmask of 0x1 - GID (default) 0x2 - Name 0x4 - Char ID (only for BL_PC) 0x8 - Class (Job ID for BL_PC, Sprite ID for BL_NPC, and Class for other types) Default 'map name' for look up is invoker location or NPC if no invoker found. Object GID found will be saved in these arrays, while 'type' is value of UNITTYPE_*. Use getd for good practice. [email protected]obj_type_id[] [email protected]obj_type_name$[] [email protected]obj_type_cid[] [email protected]obj_type_class[] Example 1: getobjects(BL_PC,0x1); [email protected]n = getarraysize(getd("[email protected]_"+BL_PC+"_id")); for ([email protected]i = 0; [email protected]i < [email protected]n; [email protected]i++) { getitem 607,1,getd("[email protected]_"+BL_PC+"_id["[email protected]i+"]"); } Example 2: getobjects(BL_PC|BL_NPC,0x1|0x2); // For players [email protected]pc = getarraysize(getd("[email protected]_"+BL_PC+"_id")); for ([email protected]i = 0; [email protected]i < [email protected]pc; [email protected]i++) { getitem 501,1,getd("[email protected]_"+BL_PC+"_id["[email protected]i+"]"); } // For NPCs [email protected]npc = getarraysize(getd("[email protected]_"+BL_NPC+"_id")); for ([email protected]i = 0; [email protected]i < [email protected]npc; [email protected]i++) { npctalk "My number is "+([email protected]i+1)+"",getd("[email protected]_"+BL_NPC+"_name$["[email protected]i+"]"); }
Keywords
how to get players (account id) on a map, how to get player/char name on a map, how to get char id on a map, how to get char's job on a map, how to get npc id on a map, how to get npc name on a map (exname with hidden part), how to get monster gid on a map, how to get monster name on a map, how to get monster id (class) on a map, .... so does with homunculus, elementals, pets, mercenaries
Downloads
-
6
-
-
1 hour ago, iAmGnome said:
@Cydh: I checked line 107 of the patch seems like there's a duplicate definition of if value. See below
thank you, updated
-
Updated for rAthena Git Hash: f2437f4a (20180708)
On 1/31/2018 at 11:21 PM, iAmGnome said:Hi @Cydh, can you update to patch to latest revision?
I updated this last April, but somehow forgot to update here
-
1
-
-
-
Char Deletion Code for #3272
So the example usage for Sub-query part of Pull: 3272 can be tested by using this FluxCP Addon: Char Deletion Code for #3272. No source mod needed (iirc lol). The plot is to not using birthdate, email, nor pincode as deletion code for deleting character (the confirmation part after the char deletion date's turned blue). The code will be sent into the registered e-mail. This is not OTP (one true pair couple... errrr One-time Password) but has expiration time, so make sure your FluxCP has same timezone with your server timezone (don't ask me).
Requirements
- Have this Pull Request merged into your working rAthena Pull: 3272
- For FluxCP from https://github.com/rathena/FluxCP
- Tested only after https://github.com/rathena/FluxCP/commit/e0fa6a8347db17de99b3fe0926dc87c0769262fc
- Make sure your server enable to send e-mail
- You can edit the addons/delcode/module/create.php to disable Captcha check or merge this PR to your FluxCP https://github.com/rathena/FluxCP/pull/196
Installations
- Import table from char_delcode.sql into database that has your login table
- Copy addons/delcode directory to your FluxCP's addons directory
-
Edit the char_deletion_code value to
char_deletion_code: (SELECT `delcode` FROM `char_delcode` WHERE `account_id`=`login`.`account_id` AND `expired` > NOW() ORDER BY `id` DESC LIMIT 1) -
Copy data/templates/delcode.php to data/templates directory on your FluxCP's
That's all
Example Usage
PS: The menu labels were edited
-
Submitter
-
Submitted07/05/2018
-
Category
-
Videohttps://www.youtube.com/watch?v=wJdkRYmcSyY
-
Content AuthorCydh
-
1
-
Awesome! next North Shirahebi Shrine? xD
-
1
-
-
Error 500 is internal, commonly because when people disable debug and the error occurs on script (access unset array, invalid functions, etc) or query (invalid table/fields). The close PHP tag in 'full' PHP file in not the issue
So, you can try enable the DebugMode, see the error, after you got that, you can disable it again
'DebugMode' => false, // Set to false to minimize technical details from being output by Flux. WARNING: DO NOT USE THIS OPTION ON A PUBLICALLY-ACCESSIBLE CP.
-
- restrict the prize item trading
- use getitembound instead getitem to force 'normal' item becomes bound
-
Dullahan is headless, that's why when it opens the helm cover you found nothing -not his head behind it- but just simply darkness
-
damn that's so cool. and somewhat funny xD
-
1
-
-
10 hours ago, melv0 said:
how to make example npc Upper only acept HP stone and SP stone to be ecnhant??
download it, read the file, edit the file by removing unwanted stone group & stones
-
1
-

Implementation of Private AirShip
in Implemented
Posted
Implemented in Git Hash: 8dea04a8b3895398a5c62e06dc8cf920cebd43df