[Release] TokoVOIP: a TeamSpeak based voip system

@Asbonia @WilcoChico > It’s not commands, its API functions, you have to implement your own commands and conditions that use those functions
@NortheastRolePlay > That’s it indeed, i did not want to pre-handle because usually, you have to make conditions and checks about whether a player is allowed to join police radio, etc, so you will have to make your own commands that call upon the addPlayerToRadio function

@Sentinel556 @UrBigHomiesDad Well I’m not sure what’s wrong, are you guys sure you’re joining the right channels once you’re in-game ? You can contact me on discord @Itokoyamato#9140 if you keep having issues, so we can see what’s wrong more in details

Nice release, but maybe it’s time to stop trying to use ARMA-way with external soft when there’s CEF and WebRTC?

2 Likes

Epic release! So glad you made it public! Thank you dude! :heart:

I do have a question though, is it possible to link the FamilyRP style voice markers to recognise the different voice input? (I know it’s not strictly a ■■■■■■■■ question but I’ve played on Revo and they’ve managed it so thought you might have an idea :wink:)

1 Like

@Disquse I completely agree, i made this 2 years ago when i didnt know about webrtc, its also the reason i havent improved it much more afterwards, i just never got to do webrtc myself. This is just one alternative :stuck_out_tongue: I’ve been wanting to do a webrtc version for over a year, but i’ve been lazy about it. Maybe this year? lol

@PapaHedge Glad you like it.
Yes you can get the current voip mode using the exported function getPlayerData with the data key voip:mode.
I believe it goes something like that, it returns 1 or 0:

getPlayerData(GetPlayerName(playerId), "voip:talking")

You can find more data keys in the src/c_main.lua, there’s also a debug mode in there which shows how to access most of those

1 Like

I’ll give it a go, thanks buddy :slight_smile:

@Itokoyamato I’ve hit a brick wall :laughing: Am I ok to ping you a message on Discord so you can maybe point me in the right direction?

What do I must to implement ?

@UrBigHomiesDad I’ve never used gcphone so i can’t help you much more unfortunately.

Which phone do you use?

So I’ve tried to get the radio working and like the others it just goes bling and opens the mic it doesn’t transmit to anybody else in the same channel.
I made a little script to swap channels please let me know if im missing something simple.

1 Like

@Joe_Beauchamp Try using numbered channel IDs rather than text based ones see if that works better
Also right now, addPlayerToRadio will create the radio channel if it doesn’t exist and use the ID as it’s name, with a prefix “Call with”. For our usage, radio channels were static and created manually, and we’d only create channels dynamically for phone calls. There is no way to specify channel names other than creating them in s_config.lua, I’ll try to add a way to do that later.

I hate to sound stupid. but im not good at building scripts from scratch. how do you mean prefix.
TriggerEvent(‘Call with:addPlayerToRadio’,‘EMS Radio’) like this. ive had no luck.

so is there an actual difference between call and radio. or is it that one is a name and the other is just numbers.?

Been waiting a while for this! Thanks! I am wondering if there is a good way to manage playernames that you know of . Currently, the addon clumps names together for example RyanLane
Specifically, I want to enforce Roleplay Names

@Joe_Beauchamp Most of your questions are answered in the simple script doc tbh (here)
Your event name was alright, but for ease of use i’d advise using the exported functions rather than event. And following the script doc, addPlayerToRadio takes an argument of type number, not a string.
Think of it as radio frequencies if you prefer:
exports.tokovoip_script:addPlayerToRadio(< channelNumberId > )
Any channel ID below 100 will have radio effects, above that, its supposed to be for phone calls, so there won’t be any radio effects. For radio channels, I advise you pre-make them in s_config.lua too, otherwise, it’ll generate a name like so: Call with < channelNumber >
I’ll add a way to specify channel names via script soon tho.

@rryanlane2 You can edit the c_main.lua to your liking, there are two instances to edit the player names (one to set the local name, one to get the remote player’s name), both of which use the function escape to remove special characters from the strings, as those could break the voip entirely.
Should be located lines 174 and 218 in c_main.lua.

Any chance you could release some sort of snippet that would do the whole “radio” rather than having to addPlayerToRadio, similiar to revo?
Unless revo uses the same function, still getting used to this as it’s something new.

@Stroudy Revo uses the exact same resource and functions.
I’ll see if I can get some examples and snippets done later this week.

1 Like

Thanks for the response. I’ll check that out - trying to figure out how to sync the server name with a /changename or with this plugin.

Also, I heard from another community in development who tested ■■■■■■■■ with 60 players speaking all at once (simulated) and the plugin had a hard time keeping up and put a lot of strain on the server. Not sure if that’s true, but just wanted to let you know. I plan to use this plugin and am looking forward to doing so.

I love this plugin though, its pretty awesome.

Is it for esx ?