Developer's Den: Progressive Development Learning

Archive of discussions that have went stale. Lots o' dust over here!
User avatar
Nyeriah

Developer's Den: Progressive Development Learning

#1 » Post by Nyeriah » 06 Oct 2016 11:29

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.

User avatar
Eronox
MVP
Posts: 2331
Joined: 24 Apr 2016 11:03
Location: in ICC & Healing

Re: Developer's Den: Progressive Development Learning

#2 » Post by Eronox » 06 Oct 2016 11:53

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?
.

There's things that never will be right I know, and things need changin' everywhere you go.
But 'til we start to make a move to make a few things right,
You'll never see me wear a suit of white.

- J.R Cash


User avatar
Nyeriah

Re: Developer's Den: Progressive Development Learning

#3 » Post by Nyeriah » 06 Oct 2016 12:07

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

User avatar
Eronox
MVP
Posts: 2331
Joined: 24 Apr 2016 11:03
Location: in ICC & Healing

Re: Developer's Den: Progressive Development Learning

#4 » Post by Eronox » 06 Oct 2016 12:18

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
.

There's things that never will be right I know, and things need changin' everywhere you go.
But 'til we start to make a move to make a few things right,
You'll never see me wear a suit of white.

- J.R Cash


User avatar
Nyeriah

Re: Developer's Den: Progressive Development Learning

#5 » Post by Nyeriah » 06 Oct 2016 12:36

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

User avatar
Eronox
MVP
Posts: 2331
Joined: 24 Apr 2016 11:03
Location: in ICC & Healing

Re: Developer's Den: Progressive Development Learning

#6 » Post by Eronox » 06 Oct 2016 12:54

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!
.

There's things that never will be right I know, and things need changin' everywhere you go.
But 'til we start to make a move to make a few things right,
You'll never see me wear a suit of white.

- J.R Cash


User avatar
Nyeriah

Re: Developer's Den: Progressive Development Learning

#7 » Post by Nyeriah » 08 Oct 2016 08:30

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

User avatar
fantikainen
Posts: 10
Joined: 22 Dec 2012 17:44

Re: Developer's Den: Progressive Development Learning

#8 » Post by fantikainen » 09 Oct 2016 19:35

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

User avatar
Fastor
Posts: 4031
Joined: 16 Dec 2012 17:38

Re: Developer's Den: Progressive Development Learning

#9 » Post by Fastor » 09 Oct 2016 19:57

At least someone from guild going to end up useful.

User avatar
Nyeriah

Re: Developer's Den: Progressive Development Learning

#10 » Post by Nyeriah » 17 Oct 2016 05:26

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.

User avatar
Kniteknite
Posts: 2087
Joined: 09 Feb 2013 16:40
Location: Great Lakes

Re: Developer's Den: Progressive Development Learning

#11 » Post by Kniteknite » 17 Oct 2016 06:16

such a cool topic, just like to say ~ :)
" French fries are like steaks, where the potato is the cow and gets cut up, like meat does, only on a smaller scale. "

User avatar
SyntaxError
Former Staff
Posts: 217
Joined: 19 Mar 2014 13:31
Location: Dalaran Rooftops

Re: Developer's Den: Progressive Development Learning

#12 » Post by SyntaxError » 18 Oct 2016 09:20

I'll see if I can make time for this. Some Dev work with actual other devs will do me good >_>.
Eisenlicht - Eisenfaust - Shai - Eisenblitz - SyntaxError - Revan - Nugget - Eisen - Necriss - Heka
I SHALL RIDE ETERNAL, SHINY AND CHROME!

User avatar
Djape
Posts: 4
Joined: 28 Jul 2014 17:44

Re: Developer's Den: Progressive Development Learning

#13 » Post by Djape » 20 Oct 2016 02:50

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!

User avatar
Nyeriah

Re: Developer's Den: Progressive Development Learning

#14 » Post by Nyeriah » 20 Oct 2016 20:35

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.

User avatar
Djape
Posts: 4
Joined: 28 Jul 2014 17:44

Re: Developer's Den: Progressive Development Learning

#15 » Post by Djape » 21 Oct 2016 02:19

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.

Locked

Who is online

Users browsing this forum: No registered users and 0 guests