Developer's Den: Progressive Development Learning

The place for World of Warcraft discussions that don’t fit into any other forum.
User avatar
Nyeriah
Developer
Posts: 11072
Contact:

Developer's Den: Progressive Development Learning

Post#1 » 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.
For every complex problem there is an answer that is clear, simple, and wrong.
H. L. Mencken

User avatar
Eronox
Senior Game Master
Posts: 1474
Contact:

Re: Developer's Den: Progressive Development Learning

Post#2 » 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?
.
“See yourself. You are the steps you take. You and you, and that's the only way.
Shake, shake yourself. You're every move you make, and so the story goes.”
- Owner of a Lonely Heart

Image

User avatar
Nyeriah
Developer
Posts: 11072
Contact:

Re: Developer's Den: Progressive Development Learning

Post#3 » 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
For every complex problem there is an answer that is clear, simple, and wrong.
H. L. Mencken

User avatar
Eronox
Senior Game Master
Posts: 1474
Contact:

Re: Developer's Den: Progressive Development Learning

Post#4 » 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
.
“See yourself. You are the steps you take. You and you, and that's the only way.
Shake, shake yourself. You're every move you make, and so the story goes.”
- Owner of a Lonely Heart

Image

User avatar
Nyeriah
Developer
Posts: 11072
Contact:

Re: Developer's Den: Progressive Development Learning

Post#5 » 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
For every complex problem there is an answer that is clear, simple, and wrong.
H. L. Mencken

User avatar
Eronox
Senior Game Master
Posts: 1474
Contact:

Re: Developer's Den: Progressive Development Learning

Post#6 » 06 Oct 2016 12:54

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!
.
“See yourself. You are the steps you take. You and you, and that's the only way.
Shake, shake yourself. You're every move you make, and so the story goes.”
- Owner of a Lonely Heart

Image

User avatar
Nyeriah
Developer
Posts: 11072
Contact:

Re: Developer's Den: Progressive Development Learning

Post#7 » 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
For every complex problem there is an answer that is clear, simple, and wrong.
H. L. Mencken

User avatar
fantikainen
Posts: 10

Re: Developer's Den: Progressive Development Learning

Post#8 » 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: 3959

Re: Developer's Den: Progressive Development Learning

Post#9 » 09 Oct 2016 19:57

At least someone from guild going to end up useful.
I have a suggestion.
In Alterac Valley, corpses should drop the [Autographed Picture of Fastor] instead of the [Autographed Picture of Foror & Tigule]. I know it's not Blizzlike, but I'm sure we all agree that there's a huge demand for it. Vote +1 to make GMs implement this change.
All classes and specs guides
ICC Handbook

"A Quest Test" addon l made to automatically check is your quest bugged.

If you want to contact me, send me PM here.

User avatar
Nyeriah
Developer
Posts: 11072
Contact:

Re: Developer's Den: Progressive Development Learning

Post#10 » 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.
For every complex problem there is an answer that is clear, simple, and wrong.
H. L. Mencken

User avatar
Kniteknite
Posts: 1141

Re: Developer's Den: Progressive Development Learning

Post#11 » 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

Re: Developer's Den: Progressive Development Learning

Post#12 » 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

Re: Developer's Den: Progressive Development Learning

Post#13 » 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
Developer
Posts: 11072
Contact:

Re: Developer's Den: Progressive Development Learning

Post#14 » 20 Oct 2016 20:35

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.
For every complex problem there is an answer that is clear, simple, and wrong.
H. L. Mencken

User avatar
Djape
Posts: 4

Re: Developer's Den: Progressive Development Learning

Post#15 » 21 Oct 2016 02:19

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.

Return to “General Discussion”

Who is online

Users browsing this forum: No registered users and 6 guests

cron