Cannot load test plugin

Stfweri

Member
Joined
Jun 23, 2016
Messages
25
Reaction score
11
Points
35
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:
 
Last edited by a moderator:

Asphyxia

Owner
Administrator
Joined
Apr 25, 2015
Messages
1,847
Solutions
2
Reaction score
2,202
Points
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
Joined
Dec 29, 2015
Messages
308
Reaction score
214
Points
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
Joined
Jun 23, 2016
Messages
25
Reaction score
11
Points
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
Joined
Apr 25, 2015
Messages
1,847
Solutions
2
Reaction score
2,202
Points
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
Joined
Jun 23, 2016
Messages
25
Reaction score
11
Points
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
Joined
Apr 25, 2015
Messages
1,847
Solutions
2
Reaction score
2,202
Points
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:

Stfweri

Member
Joined
Jun 23, 2016
Messages
25
Reaction score
11
Points
35
Have you found anything to help you or are you still having problems getting it to work?
Haven't really gotten it to work. I have a decent java background, but this is my first time using c++.
 

Bluscream

Retired Staff
Contributor
Joined
May 8, 2015
Messages
967
Reaction score
934
Points
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
Joined
Jun 23, 2016
Messages
25
Reaction score
11
Points
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
Joined
Dec 29, 2015
Messages
308
Reaction score
214
Points
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.
 

Bluscream

Retired Staff
Contributor
Joined
May 8, 2015
Messages
967
Reaction score
934
Points
211
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.
Or he can use a simple Windows messagebox but then it would be windows only.
 

Stfweri

Member
Joined
Jun 23, 2016
Messages
25
Reaction score
11
Points
35
Or he can use a simple Windows messagebox but then it would be windows only.
could you show me what that would look like because what I've tried using does not work at all.
 
Top