Cannot load test plugin

Asphyxia

Owner
Administrator
Apr 25, 2015
1,844
2
2,197
327
Hi, I was watching the tutorial for creating a plugin using visual c++. However everytime I try to load my plugin my ts3 client either crashes or gives me this error:
7S2eQEA.png
It sounds like you need to be using the latest version of the Plugin SDK when developing.

https://www.teamspeak.com/downloads.html#sdk at present time 3/13/2017 you could download directly from here.

Scroll to the bottom, it says version 22 --- you need the latest (newest) version of the SDK/API/Plugin stuff.

If you continue having problems, uninstall TeamSpeak 3 from your system after backing up your bookmarks/identities.

Remove all data.. make sure to wipe out your TeamSpeak 3 folders. Reinstall TeamSpeak 3 freshly and try the above instructions --- get the latest API version. It is kind of a QT nightmare to have to keep re-deving your plugins for different versions but that is just one of the joys of being a plugin developer, that crazy lifecycle.
 
Last edited:

Kleberstoff

Knowledge Seeker
VIP
Dec 29, 2015
308
214
158
I also want to plug @Asphyxia small Tutorial for making/developing your own TeamSpeak 3 Plugin. Thread
It got me started into making TeamSpeak Plugins. (And maybe we'll get more Video like the 2 in the Thread :p )
 

Stfweri

Member
Jun 23, 2016
25
11
35
I also want to plug @Asphyxia small Tutorial for making/developing your own TeamSpeak 3 Plugin. Thread
It got me started into making TeamSpeak Plugins. (And maybe we'll get more Video like the 2 in the Thread :p )
It sounds like you need to be using the latest version of the Plugin SDK when developing.

https://www.teamspeak.com/downloads.html#sdk at present time 3/13/2017 you could download directly from here.

Scroll to the bottom, it says version 22 --- you need the latest (newest) version of the SDK/API/Plugin stuff.

If you continue having problems, uninstall TeamSpeak 3 from your system after backing up your bookmarks/identities.

Remove all data.. make sure to wipe out your TeamSpeak 3 folders. Reinstall TeamSpeak 3 freshly and try the above instructions --- get the latest API version. It is kind of a QT nightmare to have to keep re-deving your plugins for different versions but that is just one of the joys of being a plugin developer, that crazy lifecycle.


Thanks for the replies. I ended up getting the test_plugin to work. I had one quick question:
I'm new to c++ and was wondering how I would call a sendMessage function to a client that I right click?

How do I convert my .dll file into a .ts3_Plugin file.
 
Last edited:

Asphyxia

Owner
Administrator
Apr 25, 2015
1,844
2
2,197
327
How do I convert my .dll file into a .ts3_Plugin file.
Haha, a .ts3_plugin file is just a zip (archive) with plugin files inside, I explained this on our forum already. We appreciate people wanting to learn, do not be afraid to ask questions here. ;)

You may also read the below quote for more info.

KieranMeow said:
WELP! Easier than I thought.
To create a .ts3_plugin file, all you have to do is create a file named "package.ini" and a folder named "plugins" with the .dll in it.
Then you simply zip those files and replace the .zip with .ts3_plugin

The content of package.ini should be
Name = [Addon Name]
Type = Plugin
Author = [Plugin Creator]
Version = [Version]
Platforms = [Example: win64, win32]
Description = "[Description here]"
Api = [API Version. 21 For example]

 
Last edited:

Stfweri

Member
Jun 23, 2016
25
11
35
Haha, a .ts3_plugin file is just a zip (archive) with plugin files inside, I explained this on our forum already. We appreciate people wanting to learn, do not be afraid to ask questions here. ;)

You may also read the below quote for more info.



Thanks!
I'm trying to create a program that will move a client to each channel in a server and then back to the original channel.

So far I have gotten:
Code:
for (int i = 0; i < 5; i++) {
                        ts3Functions.requestClientMove(serverConnectionHandlerID, selectedItemID, 92 + i, "", NULL);
                        Sleep(1000);
                    }

However, this doesn't seem correct because it freezes my teamspeak for a few seconds and then instantly moves the person into the last channel.
Any suggestions?
 

Asphyxia

Owner
Administrator
Apr 25, 2015
1,844
2
2,197
327
it freezes my teamspeak for a few seconds and then instantly moves the person into the last channel
Can you be more exact (scientific) please?

Are you able to time exactly how many seconds the TeamSpeak 3 client freezes or get an average? If it freezes for ~5 seconds, this makes sense because all you are doing in the example code provided is looping from 0 to 4 including 0... which is 5 iterations (a fancy way of saying how many times a loop is run "for") of the loop. Sleep is likely why your client is locking up.

If ts3Functions.requestClientMove is not doing what you want it to, perhaps you must adjust the function request or use a different function altogether. I will do further investigating tomorrow if someone does not beat me to it. ;)

I doubt this is helpful to you, but someone posted to try
Code:
requestClientMove(*Connection, Id, Chan, "", NULL);

Apparently the password parameter shouldn't be zero. It looks like you covered that already though, so ignore that.

I recommend you check out this wonderful work by @ehthe over at https://r4p3.net/threads/c-antimove.567/ perhaps this project may give you some inspiration.
 
Last edited:

Bluscream

Retired Staff
Contributor
May 8, 2015
967
934
211
Haven't really gotten it to work. I have a decent java background, but this is my first time using c++.
You might want to start off by scripting for Teamspeak before you need to dig through the whole sdk.
I'd suggest starting with LUA and building your way up to python and so on :)
But you could still try to use a C# Wrapper for the plugin sdk.
 

Stfweri

Member
Jun 23, 2016
25
11
35
You might want to start off by scripting for Teamspeak before you need to dig through the whole sdk.
I'd suggest starting with LUA and building your way up to python and so on :)
But you could still try to use a C# Wrapper for the plugin sdk.
I'm beginning to understand how to use the sdk and how c++ works. (I've been looking through the souce code for a couple of different plugins made for teamspeak).

Quick question: how would I make an alert box pop-up when a certain event is triggered by the plugin.
To specify: User right clicks a channel and selects poke all users. -->*Alert pops up asking what the poke message should be.* poke is completed.
 

Kleberstoff

Knowledge Seeker
VIP
Dec 29, 2015
308
214
158
I'm beginning to understand how to use the sdk and how c++ works. (I've been looking through the souce code for a couple of different plugins made for teamspeak).

Quick question: how would I make an alert box pop-up when a certain event is triggered by the plugin.
To specify: User right clicks a channel and selects poke all users. -->*Alert pops up asking what the poke message should be.* poke is completed.
You can check the QTGUI Documents, and try around, There aren't a lot of documentation about that. I wish you all the Luck with it. I failed at it, multiple times for that matter.
 
Top