Page 1 of 2

Developer's Den: Progressive Development Learning

Posted: 06 Oct 2016 11:29
by Nyeriah
Hello folks,

I've decided to start some small project to see how it goes: the Developer's Den. Basically, it's aimed at teaching and passing ahead some knowledge to those who're willing to contribute with development, either of our server or of the TrinityCore project itself.

It'll start off slow, going through step by step, so even if you're completely new to TrinityCore or emulation you should be able to keep up, given you have the very basic prerequisites (some programming logic knowledge and basic SQL skills).

So far I've only published theory, but I should go on deeper into the more "relevant" content as soon as I find time to finish the next articles, but either way I'll be keeping you updated.

Once I'm done with everything I'll also consolidate them in PDFs to share with TrueWoW people who might be interest in learning how to do things. These PDFs will probably be way more detailed anyway.

I'll also be giving assistance and tutoring entirely for free at the best of my capabilities, so leave messages here or at the blog if you find any trouble regarding any of the subjects presented.

Regards.

Re: Developer's Den: Progressive Development Learning

Posted: 06 Oct 2016 11:53
by Eronox
I have a question right away;
Does SMART_AI slightly decrease the performance since it is DB content?

And why does the operator [ !== ] equal less bytes in programming than [ == ] ?

I know the operators meanings, but have not really understood its desired usage within if statements. Loops I can understand, but why in ifs?

Re: Developer's Den: Progressive Development Learning

Posted: 06 Oct 2016 12:07
by Nyeriah
1) No, the performance of either db or core scripts is about the same, the only loss with SAI is of slower start up times, but it's too insignificant to be considered. It was never explicit but for a long while it felt to me that the order of things was that we would be converting everything that could be converted into SAI scripts (with exception of bosses and things that really couldn't be handled that way).

2) I have never seen that [ !== ] operator, could you give me an example of code where it's used? What language is it used in? It doesn't seem to be native to the C languages C#/C++ etc

Re: Developer's Den: Progressive Development Learning

Posted: 06 Oct 2016 12:18
by Eronox
1) i see. I thought cuz, well.. a HDD with alot of content in it has less performance than a fresh HDD.

2) Its C++, also exists in PHP

If (x !== Y)
Return;

Used in PHP for declared variable usage.
Example in Psuedo:

If user has not searched
Show all members

Else
Show Variable search query

Re: Developer's Den: Progressive Development Learning

Posted: 06 Oct 2016 12:36
by Nyeriah
Ah, well, okay, it's the "strictly not equal" operator. In php, and javascript, it checks for the variable type in addition to just the values they hold. So for example

Code: Select all

$x = 100;  // int
$y = '100'; // string

if ($x !== $y) // Will return true because they aren't equal
Normally != would return false, in that case. I tried searching and couldn't find any reference of it in C++ tho, even tried asking others :P

Re: Developer's Den: Progressive Development Learning

Posted: 06 Oct 2016 12:54
by Eronox
Nyeriah wrote:Ah, well, okay, it's the "strictly not equal" operator. In php, and javascript, it checks for the variable type in addition to just the values they hold. So for example

Code: Select all

$x = 100; 
$y = '100';

if ($x !== $y) // Will return true because they aren't equal
Normally != would return false, in that case. I tried searching and couldn't find any reference of it in C++ tho, even tried asking others :P
Ahhhhhh a whole new world opened to me! ^_^
Thanks alooot :)

The C++ operator [ != ] Is called inequality

https://msdn.microsoft.com/en-us/library/c35t2ffz.aspx
http://www.cplusplus.com/doc/tutorial/operators/

Thanks again :)
Cant wait for more!

Re: Developer's Den: Progressive Development Learning

Posted: 08 Oct 2016 08:30
by Nyeriah
New post is up!

Core Scripting: Event Hooks, Functions and Properties

Trying to get things ready so we can get to the "real scripting" :P

Re: Developer's Den: Progressive Development Learning

Posted: 09 Oct 2016 19:35
by fantikainen
Awesome! This is something I have been waiting for. Once I get my bachelor's study done, I'll get on this and start trying to really do something. Earlier tried once but had no idea of where to start. Nice work Nye :D

Re: Developer's Den: Progressive Development Learning

Posted: 09 Oct 2016 19:57
by Fastor
At least someone from guild going to end up useful.

Re: Developer's Den: Progressive Development Learning

Posted: 17 Oct 2016 05:26
by Nyeriah
It took a while but another chapter is out!

Core Scripting: Code Structure and Coding Conventions

Topics covered:
  • Basic script structure (I've posted a "skeleton" of a creature script with several comments)
    Variable naming conventions
    Safely accessing world object pointers (creatures, players, items)
    Class member initialization convention
Make sure you check the images! A lot of important comments are tagged and exemplified in them too.

Re: Developer's Den: Progressive Development Learning

Posted: 17 Oct 2016 06:16
by Kniteknite
such a cool topic, just like to say ~ :)

Re: Developer's Den: Progressive Development Learning

Posted: 18 Oct 2016 09:20
by SyntaxError
I'll see if I can make time for this. Some Dev work with actual other devs will do me good >_>.

Re: Developer's Den: Progressive Development Learning

Posted: 20 Oct 2016 02:50
by Djape
Hello, I'm interested in helping out and I've always wanted to get into this but never had the time for it. Could you suggest where I can pick up the very basics that were mentioned in the first post?

Thanks in advance!

Re: Developer's Den: Progressive Development Learning

Posted: 20 Oct 2016 20:35
by Nyeriah
Djape wrote:Hello, I'm interested in helping out and I've always wanted to get into this but never had the time for it. Could you suggest where I can pick up the very basics that were mentioned in the first post?

Thanks in advance!
Hey, can you be more specific? The basics about programming, or the basics for working with TrinityCore? I'm providing the basics for working at TrinityCore at my blog, check the previous posts here to see how's the progression going.

Re: Developer's Den: Progressive Development Learning

Posted: 21 Oct 2016 02:19
by Djape
Nyeriah wrote:
Djape wrote:Hello, I'm interested in helping out and I've always wanted to get into this but never had the time for it. Could you suggest where I can pick up the very basics that were mentioned in the first post?

Thanks in advance!
Hey, can you be more specific? The basics about programming, or the basics for working with TrinityCore? I'm providing the basics for working at TrinityCore at my blog, check the previous posts here to see how's the progression going.
Thank you for answering. What I meant was the basics of programming in general, how the SQL works etc, so that I could start getting into TrinityCore.