Page 1 of 1

Helping out - beginner-intermediate c++ programmer

Posted: Mon Apr 07, 2014 3:22 pm
by Zkenpachi11
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)

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

Posted: Mon Apr 07, 2014 3:32 pm
by Zkenpachi11
I'm sorry this is the wrong spot ><

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

Posted: Mon Apr 07, 2014 4:21 pm
by atom0s
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

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

Posted: Mon Apr 07, 2014 5:47 pm
by Zkenpachi11
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?

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

Posted: Mon Apr 07, 2014 6:14 pm
by atom0s
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.

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

Posted: Mon Apr 07, 2014 8:10 pm
by kjLotus
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

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

Posted: Mon Apr 07, 2014 11:56 pm
by Zkenpachi11
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 ;_;

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

Posted: Thu Jun 19, 2014 5:51 am
by bluekirby0
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.

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

Posted: Thu Jul 03, 2014 7:39 am
by masterurat
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 :)

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

Posted: Sun May 31, 2015 3:27 am
by ssj4puar
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)?