Squad Radio - fully customizable! Teamgame support too.

Maps, modifications, add-ons, projects, and other releases for Zandronum. Also includes announcers.
User avatar
Ænima
Topic author
Addicted to Zandronum
Offline
Posts: 3008
Joined: Tue Jun 05, 2012 6:12 pm

Squad Radio - fully customizable! Teamgame support too.

Post#1 by Ænima » Mon Jun 29, 2015 11:44 pm

Image



Spoiler: screenshots (Open)
(ArkDoom sold seperately)
Image
Image



SUPER EARLY ALPHA footage:

phpBB [video]
The [video] tag is deprecated, please use the [media] tag





Convenient!

Imagine a way to quickly play a sound that all your teammates would hear. Imagine them being able to quickly pinpoint you with a HUD icon. Like in such games as CounterStrike or Wolfenstein: Enemy Territory.



Easy to use!

All it takes is binding one button to open/close the menu! Navigating the menu is done with WASD (for now, until I create alternate layouts), and Use selects a choice.



Compatible!

... with almost any other mod you want to run.



Customizable!

Use any existing Squad Radio sound pack or CREATE YOUR OWN in just minutes using the provided template!

[spoiler=Tutorial video:][video=youtube]https://youtu.be/rDzEb49kZmc[/video][/spoiler]




Downloads!
Core PK3 v0.2 (required)

Custom soundpack template


Available sound packs:
- Wolfenstein: Enemy Territory (Allies)



To load the mod, load the core PK3 first and then your preferred soundpack after it. Only one sound pack at a time.


To do list:
  • better looking GUI, maybe a radio scanner themed menu
  • maybe more choices or an additional menu level (which would increase the max choices from 16 to 64, but i'm debating if this is worth it or necessary), or a center option on the "compass" creating the possibility for 5 categories and 25 total choices
  • macros to play a particular radio clip with just one button. might lead to spam but we'll see.
  • possible customizable layout, if you don't like the compass-point setup then maybe you'd prefer the option of a numbered list or maybe mouse input if i figure out a way to un-invert it for Y-invert players like me


changelog:
    v0.1:
    ===================================================
  • Menu sounds are less ear-rape.
  • Added team compatibility! Now only members of your team will hear and see you when you use the radio.
  • Better-interpolated movement of the speaker HUD icon.
  • Replaced all ACS instances of PlayerCount() with more specific code.

    v0.2:
    ===================================================
  • Fixed that pesky runaway script error.


Feedback appreciated.
Last edited by Ænima on Tue Jan 12, 2016 10:34 pm, edited 1 time in total.

User avatar
TheMightyHeracross
Forum Regular
Offline
Posts: 126
Joined: Mon Aug 26, 2013 3:50 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#2 by TheMightyHeracross » Tue Jun 30, 2015 1:46 am

Always wanted one of those voice command systems for Doom. Nice!
Are the radio commands restricted within teams in teamgames?
Last edited by TheMightyHeracross on Tue Jun 30, 2015 1:48 am, edited 1 time in total.
THE MIGHTY HERACROSS

User avatar
Ænima
Topic author
Addicted to Zandronum
Offline
Posts: 3008
Joined: Tue Jun 05, 2012 6:12 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#3 by Ænima » Tue Jun 30, 2015 2:17 am

TheMightyHeracross wrote:Always wanted one of those voice command systems for Doom. Nice!

Thanks. I did a system like this a long time ago for the old '09-era Mercenaries versions but it was laggy, required 10 seperate buttons to be bound to the keyboard, and was generally disorganized and had retarded soundbytes. I played around with the idea of a WASD-controlled four-way menu in that SyringeMod Complex thing, and now I'm finalizing it and making it standalone.

TheMightyHeracross wrote:Are the radio commands restricted within teams in teamgames?

Eek. The elephant in the room. I'm afraid that's going to take more work, I have to figure out a system of selectively applying LocalAmbientSound to every player that's "supposed" to hear a sound. Right now they just use AmbientSound() to play the sound for all players in the server.
Last edited by Ænima on Tue Jun 30, 2015 2:18 am, edited 1 time in total.
Image ­ ­
­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­
Doom64: Unabsolved: Doom64 and Diablo2 had a baby


ZandroSkins
: a pack made by our community
Squad Radio: a WASD-powered chat menu, add your own sounds
AeniPuffs: neat blood and puff effects

User avatar
Slim
Frequent Poster Miles card holder
Offline
Posts: 854
Joined: Sat Mar 16, 2013 7:11 am
Contact:

RE: Squad Radio - fully customizable! Screw exosounds!

Post#4 by Slim » Tue Jun 30, 2015 2:46 am

[quote=Ænima]Screw exosounds![/quote]

Ohhh. Shots fired. (even though that kinda stings me very slightly since I was the main contributor :( )

EDIT: Oh wait, never mind. This is still limited by the 16 sounds you can define, whereas the current version of exosounds (I dunno if it's even really completed yet, I've just seen & heard in teamviewer), any sound can be dropped in and defined, and it works. Never mind. So it's not necessarily 'screw exosounds', though I can see why you say that.
Last edited by Slim on Tue Jun 30, 2015 2:55 am, edited 1 time in total.
Image

"Your childish antics grow tiring. If you dare to fight me, then I accept your challenge: Anytime, anywhere." - Zero, Megaman X5
Spoiler: "Quotes" (Open)
5:54 PM - Slim: you're complaining about something so small that
5:54 PM - Lance: so? we do that all the time
5:55 PM - Lance: we're a bunch of losers complaining at a bar minus the bar
Spoiler: "Galactus tried evading" (Open)
Image

User avatar
DoomReaper
New User
Offline
Posts: 5
Joined: Wed Aug 29, 2012 7:36 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#5 by DoomReaper » Tue Jun 30, 2015 3:42 am

[quote=Ænima]Screw exosounds![/quote]
Image
I couldn't think of anything clever to put here.
my name is LJShiver now not doomreaper

User avatar
Catastrophe
ZanStuff Reviewer
Online
Posts: 2114
Joined: Sat Jun 02, 2012 2:44 am

RE: Squad Radio - fully customizable! Screw exosounds!

Post#6 by Catastrophe » Tue Jun 30, 2015 6:29 am

So basically VGS from smite?

User avatar
fr blood
Frequent Poster Miles card holder
Offline
Posts: 849
Joined: Wed Mar 06, 2013 4:04 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#7 by fr blood » Tue Jun 30, 2015 8:02 am

This thing is sure useful, but knowing how is a part of our community it could end on a server by spamming useless orders and then people wouldn't use it anymore.

I guess that it will work fine only with serious players.
Last edited by fr blood on Tue Jun 30, 2015 8:07 am, edited 1 time in total.
ImageImage

User avatar
DevilHunter
Zandronum Tester
Offline
Posts: 613
Joined: Sun Jun 17, 2012 12:58 am
Contact:

RE: Squad Radio - fully customizable! Screw exosounds!

Post#8 by DevilHunter » Tue Jun 30, 2015 8:21 am

I like this.. However...

Is this only selectable via WASD keys? if so, then for those who bound movement to those keys, its a pain in the ass. Since you know, you move as you select a chat thing.

The menu won't reopen unless you move one step.

I think Striker has a better menu system in his HQ mod but... He is banned on the forums.. However, next time I see him on IRC, I will ask about it and see if he would share the code.

I already made my own template but sure is limited to how many chats you have unless you do the random thing.

User avatar
Ænima
Topic author
Addicted to Zandronum
Offline
Posts: 3008
Joined: Tue Jun 05, 2012 6:12 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#9 by Ænima » Tue Jun 30, 2015 10:30 am

DoomReaper wrote:[quote=Ænima]Screw exosounds!

Image
[/quote]

Upset because I'm a better coder than FSR? Funny you posted only minutes after Slim.

Nobody wants to remember individual CCMD's and bind them just to spam Robot Chicken soundbytes. Congratulations, you learned how to use a string array.

But enough about that. I'm amused you took that little jab so seriously. It wasn't personal at all but you took offense to exosounds being claimed inferior as if it were your own brainchild. By "screw exosounds" I'm merely advertising this as an alternative for players who want something more user-friendly and open-ended. Take your butthurt out of here.
Last edited by Ænima on Tue Jun 30, 2015 3:17 pm, edited 1 time in total.
Image ­ ­
­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­
Doom64: Unabsolved: Doom64 and Diablo2 had a baby


ZandroSkins
: a pack made by our community
Squad Radio: a WASD-powered chat menu, add your own sounds
AeniPuffs: neat blood and puff effects

User avatar
Slim
Frequent Poster Miles card holder
Offline
Posts: 854
Joined: Sat Mar 16, 2013 7:11 am
Contact:

RE: Squad Radio - fully customizable! Screw exosounds!

Post#10 by Slim » Tue Jun 30, 2015 4:13 pm

I wouldn't mind the interface being like Killing Floor, I just like it better than the 'tree' approach. Although that isn't mandatory.
Image

"Your childish antics grow tiring. If you dare to fight me, then I accept your challenge: Anytime, anywhere." - Zero, Megaman X5
Spoiler: "Quotes" (Open)
5:54 PM - Slim: you're complaining about something so small that
5:54 PM - Lance: so? we do that all the time
5:55 PM - Lance: we're a bunch of losers complaining at a bar minus the bar
Spoiler: "Galactus tried evading" (Open)
Image

User avatar
Ænima
Topic author
Addicted to Zandronum
Offline
Posts: 3008
Joined: Tue Jun 05, 2012 6:12 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#11 by Ænima » Tue Jun 30, 2015 6:32 pm

DevilHunter wrote:I like this.. However...

Is this only selectable via WASD keys? if so, then for those who bound movement to those keys, its a pain in the ass. Since you know, you move as you select a chat thing.

Well, originally when I made it in that SyringeMod addon, i made it so that players are totally frozen in place while the menu is open. Buuuut i felt like that left players too vulnerable. So what if you do a little DDR dance when you're selecting a radio command? As long as you're not standing on a Doom2 MAP24-esque ledge you'll be fine. And you can even jump and fire at monsters while you have the menu open. So what if it makes the choices go nuts, just wait until you're in a safe place and pick your choice. But as I said, I'm considering additional input options.

DevilHunter wrote:I think Striker has a better menu system in his HQ mod but... He is banned on the forums.. However, next time I see him on IRC, I will ask about it and see if he would share the code.

Yes I've looked at his code. That's basically exactly the same as the one I made for Mercs 1 all those years ago, which is a CounterStrike-style layout using a numbered list. I will make this a possible layout option that players can use a CCMD to toggle between ingame. I was also considering a two-column "tree" that lists all categories on the left and every possible choice on the right.

If I go with the numbered list then I'm gonna have to add additional keybinds unless players want to scroll through each menu choice one by one like the old SMMP. Which I doubt.

DevilHunter wrote:I already made my own template but sure is limited to how many chats you have unless you do the random thing.

If anything, the first thing I'll do is add a center choice to the "compass", creating 25 possible choices instead of sixteen. Then once all the choices are coded I'll figure out some alternate layouts. OMG ONLY 16 CHOICES THIS SUCKS. Gimme a break, I just started this thing. :v:

Look in the first post, all of that stuff's been in the to-do list since yesterday. :p
Last edited by Ænima on Tue Jun 30, 2015 6:36 pm, edited 1 time in total.
Image ­ ­
­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­
Doom64: Unabsolved: Doom64 and Diablo2 had a baby


ZandroSkins
: a pack made by our community
Squad Radio: a WASD-powered chat menu, add your own sounds
AeniPuffs: neat blood and puff effects

User avatar
Dr.Robotnik
Forum Regular
Offline
Posts: 131
Joined: Sun Apr 14, 2013 7:17 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#12 by Dr.Robotnik » Tue Jun 30, 2015 7:24 pm

If you were to use a numbered list, you could bind each of the number keys (0-9) to play individual sounds as long as the radio menu is displayed. Otherwise, the player can switch between their weapons as usual.

So...

* Players open the radio menu using separate keys (example: X, C, V). This could be used to organize messages by theme (requests, affirmation, team related).
* Players select different radio messages using the number keys (example: 1 - "Cover me!").
* If the radio menu is disabled and the player presses the any of the number keys, it simply selects whatever weapon they have in that slot.

It may seem complicated, but it provides users with more commands to choose from while being able to control movement and other functions with ease. It would be similar to how games like Counter-Strike use this feature.
Last edited by Dr.Robotnik on Tue Jun 30, 2015 7:24 pm, edited 1 time in total.

User avatar
Ænima
Topic author
Addicted to Zandronum
Offline
Posts: 3008
Joined: Tue Jun 05, 2012 6:12 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#13 by Ænima » Tue Jun 30, 2015 7:45 pm

Dr.Robotnik wrote:If you were to use a numbered list, you could bind each of the number keys (0-9) to play individual sounds as long as the radio menu is displayed. Otherwise, the player can switch between their weapons as usual.

So...

* Players open the radio menu using separate keys (example: X, C, V). This could be used to organize messages by theme (requests, affirmation, team related).
* Players select different radio messages using the number keys (example: 1 - "Cover me!").
* If the radio menu is disabled and the player presses the any of the number keys, it simply selects whatever weapon they have in that slot.



Yes except weapon slot keys (or anything that's not a movement command, essentially) are not recognized by GetPlayerInput(). You can't just read the raw keyboard input from a client, it has to be input that the engine understands (move forward, strafe right, jump, use, etc). This means that the player will have to bind 10 keys by hand to their keyboard (which will puke 10 different arguments of an ACS script), keys which are hopefully not being used for anything else.
Last edited by Ænima on Tue Jun 30, 2015 7:57 pm, edited 1 time in total.
Image ­ ­
­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­
Doom64: Unabsolved: Doom64 and Diablo2 had a baby


ZandroSkins
: a pack made by our community
Squad Radio: a WASD-powered chat menu, add your own sounds
AeniPuffs: neat blood and puff effects

User avatar
Dr.Robotnik
Forum Regular
Offline
Posts: 131
Joined: Sun Apr 14, 2013 7:17 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#14 by Dr.Robotnik » Tue Jun 30, 2015 8:19 pm

Ænima wrote:
Dr.Robotnik wrote:If you were to use a numbered list, you could bind each of the number keys (0-9) to play individual sounds as long as the radio menu is displayed. Otherwise, the player can switch between their weapons as usual.

So...

* Players open the radio menu using separate keys (example: X, C, V). This could be used to organize messages by theme (requests, affirmation, team related).
* Players select different radio messages using the number keys (example: 1 - "Cover me!").
* If the radio menu is disabled and the player presses the any of the number keys, it simply selects whatever weapon they have in that slot.



Yes except weapon slot keys (or anything that's not a movement command, essentially) are not recognized by GetPlayerInput(). You can't just read the raw keyboard input from a client, it has to be input that the engine understands (move forward, strafe right, jump, use, etc). This means that the player will have to bind 10 keys by hand to their keyboard (which will puke 10 different arguments of an ACS script), keys which are hopefully not being used for anything else.


What I meant was to bind each of the number keys to different scripts. In KEYCONF, you could have: defaultbind 1 "puke 200".

Then, in your ACS file(s):

Code: Select all

Script 200 (void) NET {
 if(usingRadioMenu()) //Play radio sound if radio commands menu is opened.

 else
 ConsoleCommand("slot 1"); //Open slot 1.


usingRadioMenu() would be a Boolean function that determines whether the player is using the radio commands menu. You can't read raw input using GetPlayerInput(), but you could bind the keys automatically and the game should be able to make the desired action based on the conditions.
Last edited by Dr.Robotnik on Tue Jun 30, 2015 8:26 pm, edited 1 time in total.

User avatar
Arctangent
 
Offline
Posts: 75
Joined: Mon Nov 24, 2014 8:19 am

RE: Squad Radio - fully customizable! Screw exosounds!

Post#15 by Arctangent » Tue Jun 30, 2015 8:37 pm

You seemed to have missed the second part of what he posted - the fact that that means 10 more binds nobody's going to want to use, especially since Zandronum has no real way to bind multiple things to a single key without creating aliases.

User avatar
Ænima
Topic author
Addicted to Zandronum
Offline
Posts: 3008
Joined: Tue Jun 05, 2012 6:12 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#16 by Ænima » Tue Jun 30, 2015 8:38 pm

Not sure if using defaultbind to overwrite the default key would even work or if it would just do nothing since 1-0 are already bound for most players, but thanks for the hacky idea, I'll definitely play with it when I get home. :D

EDIT:
I dunno just thinking about it, I don't want to have to wait on a jump command from the server just to switch to my slot 4 weapon. That could be several tics on the client's end, with lag possibly more. It's just too hacky. I'm pretty much prepared to create more puke binds, but they'd be optional and only for the players who want the list layout.
Last edited by Ænima on Wed Jul 01, 2015 12:41 am, edited 1 time in total.
Image ­ ­
­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­
Doom64: Unabsolved: Doom64 and Diablo2 had a baby


ZandroSkins
: a pack made by our community
Squad Radio: a WASD-powered chat menu, add your own sounds
AeniPuffs: neat blood and puff effects

User avatar
arkore
Forum Regular
Offline
Posts: 129
Joined: Mon Dec 17, 2012 8:01 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#17 by arkore » Wed Jul 01, 2015 10:42 pm

Ænima wrote:I'm afraid that's going to take more work, I have to figure out a system of selectively applying LocalAmbientSound to every player that's "supposed" to hear a sound.


I did this in my Jailbreak mod.

Here is some roughly copy/pasted code that should help:

Code: Select all

#define PLAYER_TID_START 1000

int player_team[64];
int player_wasteam[64];

script 20 ENTER
{
    // Change Player's TID
    Thing_ChangeTID(0, PLAYER_TID_START+PlayerNumber());

    // Increase count.
    if (player_alive[PlayerNumber()] == false) {
        int player_team_num = GetPlayerInfo(PlayerNumber(), PLAYERINFO_TEAM) + 1;
        player_team[PlayerNumber()] = player_team_num;
        player_wasteam[PlayerNumber()] = player_team_num;
    }
}

script 40 RESPAWN
{
    if (debug) print(s:"SCR RESPAWN-");

    // Make sure our old dead body doesn't still have our tid
    Thing_ChangeTID(PLAYER_TID_START+PlayerNumber(),0);
    Thing_ChangeTID(0,PLAYER_TID_START+PlayerNumber());

        // Update teams, to allow for "team" console command usage.
    // int player_team_num = player_team[PlayerNumber()];
    int player_team_num = GetPlayerInfo(PlayerNumber(), PLAYERINFO_TEAM) + 1;
    int player_wasteam_num = player_wasteam[PlayerNumber()];

    if (player_team_num != player_wasteam_num) {
        player_team[PlayerNumber()] = player_team_num;
        player_wasteam[PlayerNumber()] = player_team_num;
    }
}


// ....

script ?? {
    // Announce it to players of same team.
    int p_team_num;
    for (int p = 0; p < 64; p++) {
        if (PlayerInGame(p) && !player_injail[p]) {
            p_team_num = GetPlayerInfo(p, PLAYERINFO_TEAM) + 1;
            if (p_team_num == player_team_num) {
                PlayerLocalAmbientSound(p, "anvict", 127);
            }
        }
    }
}


function void PlayerLocalAmbientSound(int player, str sound, int volume) {
    SetActivator(GetPlayerTIDByPlayerNumber(player));
    LocalAmbientSound(sound, volume);
}

User avatar
Ænima
Topic author
Addicted to Zandronum
Offline
Posts: 3008
Joined: Tue Jun 05, 2012 6:12 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#18 by Ænima » Thu Jul 02, 2015 1:19 am

Ah! A for loop. I thought of that originally since I'm using something similar elsewhere in the script but didn't think to apply it to LocalAmbientSound. Now I just have to figure out a way to get a player-chosen string to open your script on all other players.
Image ­ ­
­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­
Doom64: Unabsolved: Doom64 and Diablo2 had a baby


ZandroSkins
: a pack made by our community
Squad Radio: a WASD-powered chat menu, add your own sounds
AeniPuffs: neat blood and puff effects

User avatar
arkore
Forum Regular
Offline
Posts: 129
Joined: Mon Dec 17, 2012 8:01 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#19 by arkore » Fri Jul 03, 2015 2:14 pm

Ænima wrote:Now I just have to figure out a way to get a player-chosen string to open your script on all other players.


Well, could use http://zdoom.org/wiki/ActivatorTID to know who is activated the sound, so that when you loop through all players (of your team), you can ignore the player with the TID of the Activator (YOU).

If I understand correctly.

User avatar
Ænima
Topic author
Addicted to Zandronum
Offline
Posts: 3008
Joined: Tue Jun 05, 2012 6:12 pm

RE: Squad Radio - fully customizable! Screw exosounds!

Post#20 by Ænima » Tue Jul 07, 2015 2:46 am

So with Arkore's help I managed to make the radio code work for teams! Now only members of your team can hear your chats and see your speaker icon. Works with any number of teams, not just red and blue.


I will hopefully have this new version up by tomorrow or the next day. :D
Last edited by Ænima on Tue Jul 07, 2015 2:47 am, edited 1 time in total.
Image ­ ­
­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­
Doom64: Unabsolved: Doom64 and Diablo2 had a baby


ZandroSkins
: a pack made by our community
Squad Radio: a WASD-powered chat menu, add your own sounds
AeniPuffs: neat blood and puff effects


Return to “Projects, Maps & Mods”



Who is online

Users browsing this forum: No registered users and 0 guests