Helping out - beginner-intermediate c++ programmer

Post Reply
Zkenpachi11
Posts: 16
Joined: Fri Apr 05, 2013 6:05 pm

Helping out - beginner-intermediate c++ programmer

Post by Zkenpachi11 » Mon Apr 07, 2014 3:22 pm

Hey guys,

I have roamed around these forums on and off, and I must say all this REALLY intrigues me. I would love to be able to contribute to this project, but I don't know where I can start.
I am really in love with the FFXI game, it is most definitely my favorite game.

Does anyone have any small steps I can do to get the ball rolling?

Is anyone willing to maybe mentor me a little bit?

Thank you,
Sorry if this is the wrong spot, I didn't know where else to put it.

Zkenpachi11 (Firesofiso)

Zkenpachi11
Posts: 16
Joined: Fri Apr 05, 2013 6:05 pm

Re: Helping out - beginner-intermediate c++ programmer

Post by Zkenpachi11 » Mon Apr 07, 2014 3:32 pm

I'm sorry this is the wrong spot ><

User avatar
atom0s
Developer
Posts: 537
Joined: Thu Oct 25, 2012 9:52 am

Re: Helping out - beginner-intermediate c++ programmer

Post by atom0s » Mon Apr 07, 2014 4:21 pm

Some spots to learn C++ basics:
http://www.cplusplus.com/doc/tutorial/
http://www.learncpp.com/
http://www.cprogramming.com/tutorial.html
http://www.tutorialspoint.com/cplusplus/

As for an IDE/compiler, we use Visual Studio. The current version is 2013 which you can get here:
http://www.visualstudio.com/en-us/downloads

Zkenpachi11
Posts: 16
Joined: Fri Apr 05, 2013 6:05 pm

Re: Helping out - beginner-intermediate c++ programmer

Post by Zkenpachi11 » Mon Apr 07, 2014 5:47 pm

Sorry maybe I gave off the impression that im completely new to c++ but i'm not, I would like to say im fairly familiar with it and quite comfortable with it as a language.

Is there any small thing I could start on? maybe a project that has already been completed but would be a good place for me to solve the original problem?

User avatar
atom0s
Developer
Posts: 537
Joined: Thu Oct 25, 2012 9:52 am

Re: Helping out - beginner-intermediate c++ programmer

Post by atom0s » Mon Apr 07, 2014 6:14 pm

Oh alright. Uh.. projects wise, if you are bored some major things that need overhauls:
- Treasure pool system to better handle drops and priorities, as well as crashes for event zones like Dynamis.
- Fishing, needs to basically be fully implemented.
- Instances, altogether the instance handling needs to be redone fully since its very faulty and prone to tons of issues.

Other things that are not implemented at all that you could work on:
- Fishing (is like 95% not implemented.)
- ENMs / CNMs / etc.
- Various BCNMs
- The lobby server needs some major love.

User avatar
kjLotus
Lead Developer
Posts: 1813
Joined: Sun Jul 22, 2012 2:16 pm

Re: Helping out - beginner-intermediate c++ programmer

Post by kjLotus » Mon Apr 07, 2014 8:10 pm

atom0s wrote: - Instances, altogether the instance handling needs to be redone fully since its very faulty and prone to tons of issues.
already dibsed that one

Zkenpachi11
Posts: 16
Joined: Fri Apr 05, 2013 6:05 pm

Re: Helping out - beginner-intermediate c++ programmer

Post by Zkenpachi11 » Mon Apr 07, 2014 11:56 pm

Whats like... one of the easiest projects that has been done before already? I have a private server set up already but like... what was the first thing someone implemented? something super simple >< just to get the ball rolling on how the project is setup. The whole code is kind of daunting, would you suggest i just explore it?

Edit: took a quick look at the treasure_pool.cpp, interesting stuff, I need to take a better look at it sometime else, too late ;_;

bluekirby0
Developer
Posts: 707
Joined: Sun Jul 22, 2012 12:11 am

Re: Helping out - beginner-intermediate c++ programmer

Post by bluekirby0 » Thu Jun 19, 2014 5:51 am

The code *is* daunting. Unless you want to try adding a config option to the server (which would be one of the simplest tasks to get started) you might want to just take some time to study parts that interest you until you understand it well enough to hack away.

masterurat
Posts: 81
Joined: Sat May 03, 2014 7:05 pm

Re: Helping out - beginner-intermediate c++ programmer

Post by masterurat » Thu Jul 03, 2014 7:39 am

Now that we have code for augments, you can start implementing some of the augment mod effects that arent present on armor (and thus dont have a mod)

All of the JSE augments that were used for relic v2 stuff havent been implimented yet, and a fair number of augments dont have effects present either.

To find an unimplimented augment:

First check out the augment table under the mysql stuff
AugmentID: ID of the augment
modID: ID of the mod effect for doing math on the server
Value: a +/- value applied at the start of the aug
Multiplier: how much 1 point of augment is worth, general this is 1.

https://wiki.dspt.info/index.php/Augments
Thats the list of augments that appear on gear and exist on the client.

So once you find an augment that hasnt been implimented, you go to the modID list (the enum MODIFIER found in modifier.h)

Then you see if a relevant MOD_whatever exists for that augment, if so, fill in the vals on the mysql table to match the Mod_Id and etc you just found.

If it doesn't exist, add a new MOD_whatever (Id recommend keeping a big space between the augment mods and normal gear mods. Id use 1024-1445 for the augments 1024-1445 for example)

Follow the same naming conventions, make sure its aligned the same way, and then fill in the spots of the mysql table.

This wont IMPLIMENT the mod, as nothing will happen in game any different. But now the augments will tic up their respective mod values.

Which means later on we can go in and implement checks for stuff like (if MOD_Aug_BackhandBlow) then (WSDMG+5 * Aug's value)

So on and so forth.

Id start by tackling augments 1024+, which are all the ws dmg+ and job specific augments. So I'd add something like:

Code: Select all

MOD_WS_BACKHAND_BLOW = 0x400,
MOD_WS_SPINNING_ATTACK = 0x401,
MOD_WS_HOWLING_FIST = 0x402,
MOD_WS_DRAGON_KICK = 0x403,
MOD_WS_VIPER_BITE = 0x404,
MOD_WS_SHADOWSTITCH = 0x405,
MOD_WS_CYCLONE = 0x406,
MOD_WS_EVISCERATION = 0x407
Add that to enum MODIFIER at the end, and keep going after that.

Then update over on the mysql table:

Code: Select all

1024    |  5   |  1024  |   5   | 
1025    |  5   |  1025  |   5   | 
1026    |  5   |  1026  |   5   | 
1027    |  5   |  1027  |   5   | 
1028    |  5   |  1028  |   5   | 
1029    |  5   |  1029  |   5   | 
1030    |  5   |  1030  |   5   | 
1031    |  5   |  1031  |   5   | 
1032    |  5   |  1032  |   5   | 
1033    |  5   |  1033  |   5   | 
1034    |  5   |  1034  |   5   | 
And so on and so forth :)

User avatar
ssj4puar
Posts: 21
Joined: Tue May 26, 2015 12:02 am

Re: Helping out - beginner-intermediate c++ programmer

Post by ssj4puar » Sun May 31, 2015 3:27 am

this post caught my eye as i graduated from college for game programming but there is little business where i live at the moment. I was checking the BCNM list out in the scripting section and just wanted to confirm that it was up to date.

Is there a list of projects currently being worked? I was gonna try my hand at scripting a few BCNM fights and seeing how that went. then move on to working on either Fishing, Gardening or Chocobo Digging.

I guess the coolest thing about playing on a private server and having code knowledge is if something doesnt work then you can build it, make it work, and then use it after its implemented.

PS. Does dynamis work at all? Is it working as it does currently on retail or as it did before the Dynamis overhaul (with stats popping mobs)?

Post Reply