Jump to content

Mumbles

Retired Staff
  • Content Count

    618
  • Joined

  • Last visited

  • Days Won

    15

Posts posted by Mumbles


  1.  

     

    After a bit of research in the source, you can modify the field it reads inside of Hercules's /src/login/account_sql.c at line 525:

    "SELECT `account_id`,`userid`,`user_pass`,`sex`,`email`,`group_id`,`state`,`unban_time`,`expiration_time`,`logincount`,`lastlogin`,`last_ip`,`birthdate` FROM `%s` WHERE `account_id` = %d" 

     

    just change `group_id` to `level`.

     

    It should be around the same place in eAthena (and other) source if you want to change the other emulator query instead.

     

     

    >> 

    if your planning to use Hercules SQL files i think you'll just add the level column in the login in order for your eAthena Based Server to run.

     

    This actually seems like a better solution than other posted ones. Add the columb to your login database that reads level in addition to the group_id.

     

    @Jman:

    So you're saying that if I add group_id as a column, let's say, after level, in my eAthena's login database, Hercules and eAthena would be able to read from it without conflicting? From what it looks like on my end, I think it'd work; I just wanna confirm this before I make changes to a live server's database.

     

     

    There can be extra columns in a database without conflicting with each other. The Hercules/rAthena source code is looking for a group_id field. If there is none, it will error. If there is a 'level' field in addition Hercules simply won't read it (it won't even know its there nor will it care).

     

     

    Thanks for the confirmation. Now to just get it running...lol.


  2. Not really sure what's going on in there, but I got this error while compiling in Linux.

     

    make[1]: Leaving directory `/root/Desktop/Hercules/src/char'make[1]: Entering directory `/root/Desktop/Hercules/src/map'	    MKDIR   obj_sql	    CC	  map.c	    CC	  chrif.c	    CC	  clif.c	    CC	  pc.c	    CC	  status.c	    CC	  npc.c	    CC	  npc_chat.c	    CC	  chat.c	    CC	  path.c	    CC	  itemdb.c	    CC	  mob.c	    CC	  script.c	    CC	  storage.c	    CC	  skill.cskill.c:1: error: stray â357â in programskill.c:1: error: stray â273â in programskill.c:1: error: stray â277â in programmake[1]: *** [obj_sql/skill.o] Error 1make[1]: Leaving directory `/root/Desktop/Hercules/src/map'make: *** [map_sql] Error 2

  3. After a bit of research in the source, you can modify the field it reads inside of Hercules's /src/login/account_sql.c at line 525:

    "SELECT `account_id`,`userid`,`user_pass`,`sex`,`email`,`group_id`,`state`,`unban_time`,`expiration_time`,`logincount`,`lastlogin`,`last_ip`,`birthdate` FROM `%s` WHERE `account_id` = %d" 

     

    just change `group_id` to `level`.

     

    It should be around the same place in eAthena (and other) source if you want to change the other emulator query instead.

     

     

     

    if your planning to use Hercules SQL files i think you'll just add the level column in the login in order for your eAthena Based Server to run.

     

    This actually seems like a better solution than other posted ones. Add the columb to your login database that reads level in addition to the group_id.

     

    @Jman:

    So you're saying that if I add group_id as a column, let's say, after level, in my eAthena's login database, Hercules and eAthena would be able to read from it without conflicting? From what it looks like on my end, I think it'd work; I just wanna confirm this before I make changes to a live server's database.


  4. After a bit of research in the source, you can modify the field it reads inside of Hercules's /src/login/account_sql.c at line 525:

    "SELECT `account_id`,`userid`,`user_pass`,`sex`,`email`,`group_id`,`state`,`unban_time`,`expiration_time`,`logincount`,`lastlogin`,`last_ip`,`birthdate` FROM `%s` WHERE `account_id` = %d" 

     

    just change `group_id` to `level`.

     

    It should be around the same place in eAthena (and other) source if you want to change the other emulator query instead.

     

    Thanks for looking into it; this is just what I needed.


  5.  

     

    What conflicts will I face with Hercules reading from my other login database?

    actually nothing if you uses the upgrade sqls...Hercules just add new  tables so that your database can support new features..only attribute that will be changed is level to group_id..

     

    :meow:

     

    ...but wouldn't changing the field name break the other server's queries? I don't feel like I got much out of this response, though I may just be misreading it; from what I understand, you're claiming that upgrading my SQL table's fields will magically make Hercules work? If anything, I feel like that would break both servers. As with JoWei's response, I think it would work out fine if I were able to edit the source so that it reads from level instead of group_id in the database; essentially, it would function normally - it would just be reading from a differently named column. If someone could direct me as to where I'd make this change, it'd help me move things along. I don't wanna break this before I even get it running. .-.

     

    And, with all cautions heeded, I still would like to make a second channel available, if at all possible. Thanks for your input so far guys.


  6.  

    Does the Hercules emulator use pre-renewal or renewal mechanics?

    Do you provide support for both, or is it entirely pre-renewal or renewal?

    Hercules supports both (You can switch between them with a single edit on /src/config/renewal.h)

     

    This made me so happy T__T

     

    Looks like I'll be using Hercules, then. :D


  7. I'm considering using Hercules for my next project, but it would be complimentary to my existing server; I plan on using a second channel hosted on a different machine, so that the game client, login server, and login database are shared. I have a number of questions, but I guess I'll start with my biggest concerns:

    • Does the Hercules emulator use pre-renewal or renewal mechanics?
    • Do you provide support for both, or is it entirely pre-renewal or renewal?

    I'm using an older version of eAthena with some of my own modifications, and I'd like to try out the Hercules emulator without having to make a separate client for it. Sorry if this was already answered elsewhere; I didn't look very hard lol.

×
×
  • Create New...

Important Information

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