[Tutorial] Plugin development guide
#21

Creating C++ projects and adding libraries is pretty simple, but when you've got a set of libraries already included like SA-MP - you're limited to what you can add and how, this could probably be explained a bit.

Also, explaining a bit about a pre-existing plugin and how it works would be pretty cool, not sure which one you could talk about though.

Sorry if I sounded rude, I am thankful as I can compare what I already know to this guide, but I still have some massive gaps in C++ and my understanding of the SDK, I'm not entirely confident enough to create a complex plugin alternative for something I could perhaps already make in Pawn.
Reply
#22

Amazing effort it worth it. Thanks
Reply
#23

Quote:
Originally Posted by Calgon
View Post
Creating C++ projects and adding libraries is pretty simple, but when you've got a set of libraries already included like SA-MP - you're limited to what you can add and how, this could probably be explained a bit.

Also, explaining a bit about a pre-existing plugin and how it works would be pretty cool, not sure which one you could talk about though.

Sorry if I sounded rude, I am thankful as I can compare what I already know to this guide, but I still have some massive gaps in C++ and my understanding of the SDK, I'm not entirely confident enough to create a complex plugin alternative for something I could perhaps already make in Pawn.
I agree with the creating projects/including libraries bit. Part of me didnt want to add the "Getting started" section as it was very simple stuff that i believed would bring up basic C/++ questions and problems, and also because RyDeR` already covered it. I decided to add it for completeness and so i could expand on what RyDeR` had already covered though (it acted as a nice spring board into the examining of the .def/source files, so thats good).

Im not sure how i feel about breaking down a plugin bit by bit ... the thing that worries me is that i'd have to cover a lot of C/++ code in doing so. I have nothing against explaining C/++ related content, but i wanted to keep this focused on the actual SDK (The mods have made it clear that this forum isnt for C/++ help or questions- which is kind of a shame). If there is a lot of interest in plugin development (and as such an interest in this topic) i might include a tutorial on the language itself (everything from data types, to polymorphism).

Until then though, you're welcome to put something together. If it fits well in the article (structure, speech, and consistency wise) i'll definitely add it. The original point was to have this as a group thing as i dont have all that much time due to other projects.

Also dont worry about sounding rude, thats the great thing about this forum, your allowed to express yourself and opinions .
Reply
#24

Great tutorial Kyosaur, very informative, will come in very handy. Thanks.
Reply
#25

Update: I added a few things to the guide.
  • ProcessTick example. I wasnt sure where to fit it in so i just added it to the completed plugin source file in the "Closing" section.
  • An Include file for the plugin. I somehow forgot this when writing the guide. I added the file to the closing section as well. Not sure if i should add a section on includes themselves.
  • A callback hook example.
Reply
#26

Nice tutorial this helped me a lot. What you think about Client-Side plugin? Please make tutorial for that
Reply
#27

Quote:
Originally Posted by MicroD
View Post
Nice tutorial this helped me a lot. What you think about Client-Side plugin? Please make tutorial for that
You want me to add a section explaining the WIN32 API and networking? There are TONS of places that already has this information, and explain it really well (better than i ever could). If there was a client sided plugin architecture like ****** has suggested, i'd gladly add information about it to this article, as that's something relating to plugins rather then standard C/++.
Reply
#28

Can you give us a program to "decompile" .dll files?
Reply
#29

Quote:
Originally Posted by GangsTa_
View Post
Can you give us a program to "decompile" .dll files?
You won't be able to decompile working source files, dll files can be ANY language, c++ , D C# VB, pascal, etc...
Reply
#30

Quote:
Originally Posted by GangsTa_
View Post
Can you give us a program to "decompile" .dll files?
No, and im not even sure it is possible to even do so. Even if it was possible to decompile a DLL file, you'd be FAR better looking at a legitimate source file, which every plugin is required to come with.
Reply
#31

Quote:
Originally Posted by Kyosaur
View Post
No, and im not even sure it is possible to even do so. Even if it was possible to decompile a DLL file, you'd be FAR better looking at a legitimate source file, which every plugin is required to come with.
I'm agreed with you. I was asking if you got one. I tried lots of programs but they don't give the exact code.
Reply
#32

Thanks a lot for this tutorial.
Reply
#33

Quote:
Originally Posted by GangsTa_
View Post
I'm agreed with you. I was asking if you got one. I tried lots of programs but they don't give the exact code.
They never will because compiling is one way!
decompiling is just rebuilding the thing from what the decompiled thing does, trying to make source from it, so it will never be the same as the original source. comments are not included in (most) compiled build and all companies that make those compilers never reveal or discuss any inside compiler architecture, so it's like recreating a black hole, you don't know what you will get.
Reply
#34

Thanks! Thanks! Invoke plugin link?
Reply
#35

Quote:
Originally Posted by Rudo2
View Post
Thanks! Thanks! Invoke plugin link?
Its in the "Invoke" section. It should be in the second sentence :P.
Reply
#36

Quote:
Originally Posted by Kyosaur
View Post
Its in the "Invoke" section. It should be in the second sentence :P.
No problem. Ryder super
Reply
#37

Quote:
Originally Posted by Rudo2
View Post
No problem. Ryder super
I'm so confused from this lol...


Does that mean you found the link i was talking about? It's inside of MY guide in the invoke section. I'll make it a bit more visible later on (perhaps make it bold).
Reply
#38

Needs to be stickied.
Reply
#39

Thanks again.!!
Reply
#40

Wow, Impressive.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)