Game_team_master For A Game_text?
blackjackel
Join Date: 2002-11-01 Member: 2151Members, Constellation
<div class="IPBDescription">trying t get a game_text for ALIENS ONLY</div> I want to send a game_text for the alien team only, so far i have been told the only way to do that is through a game_team_master, i have tried with trial and error for the past several days with not success, what i am doing is activating a game_text through a multimanager ( and many other game_texts as well) and i have a game_team_master that is supposed to be controlling which team sees the game_text
keys for game_team_master:
targetname alien
delay 0
teamindex 1
triggerstate 1
keys for game_text (the one i want to send to aliens)
name resnodes1
message testing
master alien
[many others but none important]
so far ive gone through 2 days of trial and error, with not luck, could someone help point out what i am doing wrong? do these entities even work for NS?
thanks
keys for game_team_master:
targetname alien
delay 0
teamindex 1
triggerstate 1
keys for game_text (the one i want to send to aliens)
name resnodes1
message testing
master alien
[many others but none important]
so far ive gone through 2 days of trial and error, with not luck, could someone help point out what i am doing wrong? do these entities even work for NS?
thanks
Comments
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
I have heard other people complain that the regular Half-Life team entities aren't functional in NS--but I haven't confirmed that myself. If you're willing to spend some more time confirming the absense of the entities, here's a few things to try:
<ul><li>Troubleshoot by checking if the game_text is working independantly -- hook it directly to a button and see if it prints when the button is pressed; that way you'll know if the game_text is the entity that isn't working properly.
<li>Using a game_team_master's teamindex restricts the team that can activate the game_team_master -- using the current properties, only aliens can activate it, so it will ignore marine targets. The game text will only display for a single alien that is responsible for the activation of the entity and won't be used for marines, assuming that the teamplay entities are operational.
If you couple the game_team_master with a game_zone_player's OUT target (and the game_zone_player was out of the way, say covering the ready room), you'd have your desired effect -- every player would trigger the game_team_master independantly, but only the aliens would actually be able to use it, getting the desired text -- use the game_zone_player to activate the game_team_master for everybody and the game_team_master's teamindex as a filter so that only alien players get the effects.</ul>
but if marines push the same button they dont see the game_text
my problem is i want the game_text to be activated without a button, i want one team to get the game_text at a specific time without doing anything special...
is that possible?
For example if someone pushed the switch for the game text he would see it, but if he went into the trigger_presence you can still hear the switch being triggered but you dont see the game_text...
I am trying to avoid a switch type thing, i want aliens to recieve the game text even without a switch...
I have tried what you said below:
If you couple the game_team_master with a game_zone_player's OUT target (and the game_zone_player was out of the way, say covering the ready room), you'd have your desired effect -- every player would trigger the game_team_master independantly, but only the aliens would actually be able to use it, getting the desired text -- use the game_zone_player to activate the game_team_master for everybody and the game_team_master's teamindex as a filter so that only alien players get the effects.
this dosent work, perhaps i didnt "couple" the game_team_master with teh game_zone_player correctly?
For example if someone pushed the switch for the game text he would see it, but if he went into the trigger_presence you can still hear the switch being triggered but you dont see the game_text...
I am trying to avoid a switch type thing, i want aliens to recieve the game text even without a switch...
I have tried what you said below:
If you couple the game_team_master with a game_zone_player's OUT target (and the game_zone_player was out of the way, say covering the ready room), you'd have your desired effect -- every player would trigger the game_team_master independantly, but only the aliens would actually be able to use it, getting the desired text -- use the game_zone_player to activate the game_team_master for everybody and the game_team_master's teamindex as a filter so that only alien players get the effects.
this dosent work, perhaps i didnt "couple" the game_team_master with teh game_zone_player correctly? <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Did you use the "outtarget" field for the game_zone_player? Were you out of the volume covered by the game_zone_player when you tested it? The game_zone_player "outtarget" should match the game_team_master's "targetname" if you want players outside the zone to see the text.
Unlike trigger_presense, game_zone_player simulates every player either in its area (intarget) or out of its area (outtarget) independantly triggering the targeted object. This allows the teamplay code to fire the event on every player with a check on the player's team.
EDIT: you also need to trigger the game_zone_player using another entity -- it doesn't automatically trigger when a player is present, like a trigger_presense does; it's meant to be an intermediate step rather than the initial trigger. If you want it to fire when a player enters an area, try using the sequence trigger_presense->game_zone->player->game_team_master->game_text
One last question to you however, is it possible to activate two game_texts in this fashion? Or must i make another game_team_master and game_zone_player?
I realize the answer to this may be quite simple, i am a n00b mapper who has the goal of making the most bazarre maps possible...
again i am most greatfull for your help, you truly are the king! of mapping that is!
Where did you obtain your wisdom? how could you ever have figured the question that i asked you out?
thanks one more time...
There are a few ways you could do this -- if you want only one game_text to show at a time, you could use trigger_presense->game_zone_player->game_team_master->trigger_relay->game_text, and then use a trigger_changetarget to point the trigger_relay at a different game_text depending on what you want displayed.
If you want to have one or more game_text objects to show at once, you should set each game_text's channel to a different setting (1-4), and then use trigger_presense->game_zone_player->game_team_master->(2+ multisources)->(1 game_text per multisource), using a trigger_relay to turn on/off the ability for each multisource to fire.
That's a lot of text -- if you need clarification, let me know. The VERC entity section should help with the <a href='http://collective.valve-erc.com/index.php?ent=trigger_changetarget' target='_blank'>trigger_changetarget</a> and <a href='http://collective.valve-erc.com/index.php?ent=multisource' target='_blank'>multisource</a> information--there are sample maps available there that show the entities in operation.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Where did you obtain your wisdom? how could you ever have figured the question that i asked you out?<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
As a programmer, I can look at the SDK source whenever I need to know exactly how an entity is supposed to work--and I've had to learn some of this the hard way myself. I haven't published any Half-Life maps, but I did some experiments with the teamplay entities when they came out in 1999.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->thanks one more time...<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
No problem <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
Since my last post i have come up with two problems....
1- I need to trigger these game_texts a certain time AFTER the match starts ( match, not map, meaning when two teams join and you hear the dings then the match starts, just wanted to be clear )
obviously i need to add an entity at the beginning of that long chain of entities, but i dont know which one =/
2- I have this func_door that opens after a certain time in the map, i have my Hammer set up so that i hit F9, it compiles, then runs the map on a local NS server, then i play it....
Problem is (and this is very weird) that when i hit f9 and it compiles everything just peachy and the door opens, but if i create an hlds server myself, and join it, the door dosent ever open...
I tried running it on an independant server (not my own comp, dedicated ns server) and same thing, the door wont open at all, an admin even tried deleting the entity and it wouldnt let him....
now this is perplexing =/
Since my last post i have come up with two problems....
1- I need to trigger these game_texts a certain time AFTER the match starts ( match, not map, meaning when two teams join and you hear the dings then the match starts, just wanted to be clear )
obviously i need to add an entity at the beginning of that long chain of entities, but i dont know which one =/
2- I have this func_door that opens after a certain time in the map, i have my Hammer set up so that i hit F9, it compiles, then runs the map on a local NS server, then i play it....
Problem is (and this is very weird) that when i hit f9 and it compiles everything just peachy and the door opens, but if i create an hlds server myself, and join it, the door dosent ever open...
I tried running it on an independant server (not my own comp, dedicated ns server) and same thing, the door wont open at all, an admin even tried deleting the entity and it wouldnt let him....
now this is perplexing =/ <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
In your PM you noted that you're using two trigger_randoms with identical times, but they aren't always synchronized -- to get synchronous behavior every time, replace the two trigger_randoms with a single trigger_random targeting a multimanager, and use the multimanager to trigger both effects. The timer on entity think functions wasn't really designed for precise coordination, and one effect might fall on a different server timeslice than the other by coincidence--using the same trigger entity can minimize this problem.
The func_door problem *could* be due to the hlds servers being in tournament mode -- when this is the case, <a href='http://natural-selection.org/Mapping_Guidelines.html#trigger_random' target='_blank'>trigger_random</a>s no longer behave like randomized multimanagers, but always fire the same target -- this is meant to make maps fair during competition. My understanding has been that the tournament target is chosen only if present and trigger_random behaves normally if it's not present, but this might not be the case. Try setting the "balancedtarget" field to the door and see if that fixes the problem.
obviously i need to add an entity at the beginning of that long chain of entities, but i dont know which one =/
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Actually, I found out tonight (via email from an observant mapper) that if you name something "gamestartedstatus" it will be executed at the start and end of every round. What you want at the start of the entity chain is an entity named "gamestartedstatus" that effectively only passes on information every other time it is called... one way to achive this is given below (hand written, may have typos):
<!--c1--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->
{
"classname"="multi_manager"
"targetname"="gamestartedstatus" //automatically called before/after every round by NS
"globaltoggle"="0"
"startroundmulti"="1"
//put any items you want to execute at the start and end of every round here
}
{
"classname"="env_global"
"targetname"="globaltoggle"
"globalstate"="round_started" //name of global var
"initialstate"="0" //start off (round not started)
"triggermode"="3" //toggle round_started on/off each time I'm called
}
{
"classname"="multimanager"
"targetname"="startroundmulti"
"globalstate"="round_started" //only fire when global var is on
//put any items you want to execute at the start of every round here --
//delay would be as entered plus one second due to delay between the two multis
}
<!--c2--></td></tr></table><span class='postcolor'><!--ec2-->
Hope that made sense.
obviously i need to add an entity at the beginning of that long chain of entities, but i dont know which one =/
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Actually, I found out tonight (via email from an observant mapper) that if you name something "gamestartedstatus" it will be executed at the start and end of every round. What you want at the start of the entity chain is an entity named "gamestartedstatus" that effectively only passes on information every other time it is called... one way to achive this is given below (hand written, may have typos):
<!--c1--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->
{
"classname"="multi_manager"
"targetname"="gamestartedstatus" //automatically called before/after every round by NS
"globaltoggle"="0"
"startroundmulti"="1"
//put any items you want to execute at the start and end of every round here
}
{
"classname"="env_global"
"targetname"="globaltoggle"
"globalstate"="round_started" //name of global var
"initialstate"="0" //start off (round not started)
"triggermode"="3" //toggle round_started on/off each time I'm called
}
{
"classname"="multimanager"
"targetname"="startroundmulti"
"globalstate"="round_started" //only fire when global var is on
//put any items you want to execute at the start of every round here --
//delay would be as entered plus one second due to delay between the two multis
}
<!--c2--></td></tr></table><span class='postcolor'><!--ec2-->
Hope that made sense. <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
Is it possible Cagey to have something different be triggered at the beginning and end of the round? Is there something I can name an entity for just the begin of a round and likewise just the end of one?
~ DarkATi
I'm not aware of any event targetnames for just start or end, but you could have item group A fire at the round's start and item group B fire at the round's end with the following setup at the cost of 5 entities:
<!--c1--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->
{
"classname"="multi_manager"
"targetname"="gamestartedstatus" //automatically called before/after every round by NS
"globaltoggle"="0"
"startroundmulti"="1"
"endroundmulti"="1" // ADDED FROM CODE ABOVE
//put any items you want to execute at the start and end of every round here
}
{
"classname"="env_global"
"targetname"="globaltoggle"
"globalstate"="round_started" //name of global var
"initialstate"="0" //start off (round not started)
"triggermode"="3" //toggle round_started on/off each time I'm called
}
{
"classname"="multimanager"
"targetname"="startroundmulti"
"globalstate"="round_started" //only fire when global var is on
//put any items you want to execute at the START of every round here --
//delay would be as entered plus one second due to delay between the two multis
}
//THESE ENTITIES ADDED FROM CODE ABOVE
{
"classname"="env_global"
"targetname"="globaltoggle"
"globalstate"="round_ended" //name of global var
"initialstate"="1" //start on (round not active)
"triggermode"="3" //toggle round_started on/off each time I'm called
}
{
"classname"="multimanager"
"targetname"="endroundmulti"
"globalstate"="round_ended" //only fire when global var is on
//put any items you want to execute at the END of every round here --
//delay would be as entered plus one second due to delay between the two multis
}
<!--c2--></td></tr></table><span class='postcolor'><!--ec2-->
i can't think what they are <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo-->
um
gameplayerkill
gameplayerjoin
i think that are some of them
amckern
i can't think what they are <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo-->
um
gameplayerkill
gameplayerjoin
i think that are some of them
amckern <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
They are all tied to specific player actions and he wants a round related trigger, so they don't apply.
when i told sythe that it worked he then e-mailed you about it...
But really cool, it helped me alot in my map!
Now if i could just figure out how to make my map more evolve freindly... people are gettign stuck in the ground after evolving =/
Did you use the NS hullfile with HLCSG?