• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

My own learning / development thread.

Skadarn

Member
Joined
Feb 6, 2012
Messages
48
Reaction score
19
Hi everyone!

In a few days I will get my answer if I get accepted into a 2-year program to change my professional life. During these 2 years, I am going to learn how to code and as a side project to practice I will be making an OT. This thread is mostly just for me to keep as a diary, to try and hold myself accountable and after 2 years hopefully have a development thread that shows my journey from a clean start with zero knowledge to a finished product and knowledge to go with it! I will update as I go, might be several updates in a day and then nothing for a week so don't expect too much!

I have zero previous experience in this area and I have legit no idea what I'm doing right now haha even if I am not admitted I will apply again and keep learning through this project in the meantime.

With some help from some seniors here on the forum I managed to learn how to compile for the first time two weeks ago, and then I learned a little bit about GIT and GitHub. I also did some manual mapping to have a base to work from. So far, thank you to everyone who has already answered my PMs and accepted friend requests on Discord. I really appreciate all the help and patience it must have taken to answer some of my questions. 🫣

So as a first post, I think I will just write down what my plans are, where I am at right now, and what I think my next step is. I will do a lot of trial and error; things will not be optimized, but I will learn as I go!


My plans:

  • To learn as I go in a trial-and-error style and not stress it, use this project to practice what I'm learning.
  • To create a Tibia server based on my vision of how a server should be, which I will go into more detail about further down the line.
  • Hopefully, as I learn and develop more skills, I can cross over to Codina's BlackTek since I find that project interesting.

Where I'm at:

  • I just compiled TFS 1.4.2 and Mehah's version of OT Client, set up a server database and created a base map of Thais to start from. I'm going to work from the 10.98 protocol.
  • I'm trying to learn how to distinguish the code in OTClient by reading it line by line, making small adjustments, booting the client to see what happens, and then repeating it.
  • Setting up a GitHub profile to work from to more safely make adjustments to the client and server through branches and be able to track what I'm doing and backtrack if something goes wrong.
  • Keep grinding away at online courses and libraries about C++ and Lua.

My next step:

  • Get GitHub up and running so I can work without having to make manual back ups every time I do something (I'm paranoid to fuck everything up).
  • I'm then going to slowly start to strip the client of what I do not need, going line by line to not break anything. Booting after every change.
  • Once the client is in a state that I feel comfortable with, I will start looking at the server files and start tweaking the server to my liking.

So that's about it for my first post, if anyone read everything, thank you for taking your time and see you in a bit! :)
 
So I got GitHub up and running, made my first commit, a change to the UI of the client.

1719105596277.png
(sorry to Mehah's main getting all my commits before I realised that I had to change to my fork. 🫣)

Had to google a bunch on how to revert commits, accidently pulled like 300?+ changes into my repository.. I don't know why they showed up in the VSC source control or how I even commited all of them when I tried to only commit the UI changes, but they are gone now at least and I think my repository is fine! haha
Post automatically merged:

feels pretty normal to me

View attachment 85645
I actually like using discord for these type of things as well ^^ easy-to-use and keep track of everything.
 
Last edited:
I'm going through this: Introduction | Lua Guide (https://docs.otland.net/lua-guide/fundamentals-1/fundamentals-introduction) just to grasp the lua lanuage a little bit better.
I was confused about the "nil" value until I read this so +1 to my knowledge skill I guess! Nice and easy to follow :)


I'm continuing trying to remove things (right now the purse) I do not want from the UI.
I can remove the purse from the UI without complications by just removing the line here:

1719160846521.png
But this will leave a bunch of code regarding the purse in other files though. I think that's a bad idea so I will try and get everything!

However when I do remove the code in the other files, my inventory breaks.. 🤷‍♂️ Well I guess I'm going down this rabbit hole then to try and fix the inventory, wish me luck!
 
Managed to eventually solve the error codes which I got from removing all the Purse related code with the help from this thread: OTClient - Lua Error (https://otland.net/threads/lua-error.260263/post-2517458)

What I don't know is why the fix works.. I can see which lines are edited but I can't really understand why the changes works.

On the bright side - I keep stripping the client slowly but surely and getting faster at it as well.

So far:
Purse is gone. ✅
Spell Cooldown window is gone. ✅
Music / Sound is gone. ✅

Next:
Gonna try my best to remove the cooldown bars above chat.
Get Cap back to the inventory window.
Get rid of the circles.
Lock/anchor the panels to the columns.

Thought maybe it would be good to have a before picture somewhere in this thead to see how far I've come:
1719358804419.png

The map is just hastily put together, small part of Thais center exists.. figuring out mapping, sprites and such will be a journey for another time. Once the client is all set I can start looking into that.
 
Back
Top