Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to Xbox Chaos: Modding Evolved

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Guest

General
Megalo Discussion

848 posts in this topic

So I´m working on a gametype from scratch, basically what I want to do is once a player spawns:

-Create a fusion coil

-Hide said fusion coil

-Attach said fusion coil to the player's biped

-Set the fusion coil to PlayerObject1 so I can destroy it later on a per player basis.

 

I'm getting this error: "PlayerObject1 is not a valid member name in ObjectType"

 

This is how I´m doing it:

<E type="Action" name="Branch">            <Param type="VirtualTrigger">              <VT type="VirtualTrigger">                <E type="Condition" name="Incident" unionGroupID="-2">                  <Param type="IncidentIdRef">player_spawn</Param>                </E>                <E type="Action" name="IncidentGetCausePlayer">                  <Param type="PlayerReference" varRefType="ExplicitPlayerType" dataType="PlayerScratch0" />                </E>                <E type="Action" name="TimerTick">                  <Param type="VarReference" varRefKind="Timer" varRefType="Player.TimerVar" dataType="PlayerScratch0">PlayerTimer1</Param>                  <Param type="UInt5">5</Param>                </E>                <E type="Action" name="CreateObject">                  <Param type="ObjectTypeIndex">fusion_coil</Param>                  <Param type="ObjectReference" varRefType="ExplicitObjectType" dataType="PlayerObject1" />                  <Param type="ObjectReference" varRefType="ExplicitObjectType" dataType="PlayerScratch0" />                  <Param type="ObjectFilterIndex">NONE</Param>                  <Param type="CreateObjectFlags">0</Param>                  <Param type="UInt24">0</Param>                  <Param type="NameIndex">NONE</Param>                </E>                <E type="Action" DBID="133" name="ObjectHide">                    <Param type="ObjectReference" varRefType="ExplicitObjectType" dataType="ObjectScratch0" />                    <Param type="Bool">True</Param>                </E>                <E type="Action" name="AttachObject">                  <Param type="ObjectReference" varRefType="Player.SlaveObject" dataType="PlayerScratch0" />                  <Param type="ObjectReference" varRefType="Player.ObjectVar" dataType="PlayerScratch0">ObjectScratch0</Param>                  <Param type="UInt24">0</Param>                  <Param type="Bool">False</Param>                </E>                <E type="Action" name="VariableOperation">                 <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="ObjectScratch0" />                 <Param type="VarReference" varRefKind="Object" varRefType="Player.SlaveObject" dataType="PlayerObject1" />                 <Param type="OperationType">Set</Param>               </E>              </VT>            </Param>          </E>

This is how I destroy the fusion coil and basically kill the player with it.

<Trigger execMode="OnEachPlayer" name="Trigger90">        <Elements>          <E type="Condition" name="TimerIsZero" unionGroupID="-2">              <Param type="TimerReference" varRefType="Player.TimerVar" dataType="Iterator.Player">PlayerTimer1</Param>          </E>          <E type="Action" DBID="36" name="ObjectKillInstantly">            <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="PlayerObject1" />            <Param name="Bool" type="Bool">False</Param>          </E>        </Elements>      </Trigger>
Edited by Gabotron ES

Share this post


Link to post
Share on other sites

@Gabotron

There's code in Haloball for it used in the "Vehicle-Friendly Settings" option.

It basically sets each grenade type to zero.

Share this post


Link to post
Share on other sites

Also, how do you make it so that players don't drop weapons/nades when they die?

This is what I cooked up;

<E type="Action" name="ActivateTrigger">  <Param type="TriggerReference">    <T type="Trigger" trigType="Subroutine" execMode="OnEachPlayer">      <Elements>        <E type="Action" name="PlayerGetWeapon">          <Param type="PlayerReference" varRefType="ExplicitPlayerType" dataType="Iterator.Player" />          <Param type="Bool">True</Param>          <Param type="ObjectReference" varRefType="ExplicitObjectType" dataType="ObjectScratch1" />        </E>        <E type="Action" name="PlayerGetWeapon">          <Param type="PlayerReference" varRefType="ExplicitPlayerType" dataType="Iterator.Player" />          <Param type="Bool">False</Param>          <Param type="ObjectReference" varRefType="ExplicitObjectType" dataType="ObjectScratch2" />        </E>        <E type="Action" name="VariableOperation">          <Param type="VarReference" varRefKind="Object" varRefType="Player.ObjectVar" dataType="Iterator.Player">PlayerObject1</Param>          <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="ObjectScratch1" />          <Param type="OperationType">Set</Param>        </E>        <E type="Action" name="VariableOperation">          <Param type="VarReference" varRefKind="Object" varRefType="Player.ObjectVar" dataType="Iterator.Player">PlayerObject2</Param>          <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="ObjectScratch2" />          <Param type="OperationType">Set</Param>        </E>      </Elements>    </T>  </Param></E>  <E type="Action" name="Branch">  <Param type="VirtualTrigger">    <VT type="VirtualTrigger">      <E type="Condition" name="Incident" unionGroupID="-2">        <Param type="IncidentIdRef">death</Param>      </E>      <E type="Action" name="VariableOperation">        <Param type="VarReference" varRefKind="Player" varRefType="ExplicitPlayerType" dataType="PlayerScratch0" />        <Param type="VarReference" varRefKind="Player" varRefType="ExplicitPlayerType" dataType="NONE" />        <Param type="OperationType">Set</Param>      </E>      <E type="Action" name="IncidentGetCausePlayer">        <Param type="PlayerReference" varRefType="ExplicitPlayerType" dataType="PlayerScratch0" />      </E>      <E type="Action" name="DeleteObject">        <Param type="ObjectReference" varRefType="Player.ObjectVar" dataType="PlayerScratch0">PlayerObject1</Param>      </E>      <E type="Action" name="DeleteObject">        <Param type="ObjectReference" varRefType="Player.ObjectVar" dataType="PlayerScratch0">PlayerObject2</Param>      </E>      <E type="Action" name="PlayerAdjustGrenades">        <Param name="PlayerVar" type="PlayerReference" varRefType="ExplicitPlayerType" dataType="PlayerScratch0" />        <Param name="Grenade" type="GrenadeType">Frag</Param>        <Param name="Operation" type="OperationType">Set</Param>        <Param name="OperationVar" type="CustomReference" varRefType="Int16">0</Param>      </E>      <E type="Action" name="PlayerAdjustGrenades">        <Param name="PlayerVar" type="PlayerReference" varRefType="ExplicitPlayerType" dataType="PlayerScratch0" />        <Param name="Grenade" type="GrenadeType">Plasma</Param>        <Param name="Operation" type="OperationType">Set</Param>        <Param name="OperationVar" type="CustomReference" varRefType="Int16">0</Param>      </E>      <E type="Action" name="PlayerAdjustGrenades">        <Param name="PlayerVar" type="PlayerReference" varRefType="ExplicitPlayerType" dataType="PlayerScratch0" />        <Param name="Grenade" type="GrenadeType">Pulse</Param>        <Param name="Operation" type="OperationType">Set</Param>        <Param name="OperationVar" type="CustomReference" varRefType="Int16">0</Param>      </E>    </VT>  </Param></E>
Doesn't cover nades but I don't have the Haloball 1.1 xml nvm found it

Edit: fixed a couple typos in there lol

Edited by Gordon

Share this post


Link to post
Share on other sites

going to bed now, will try it tomorrow's morning ;)

anyone has any idea why the fusion coil thing doesn't work?

Share this post


Link to post
Share on other sites

going to bed now, will try it tomorrow's morning ;)

anyone has any idea why the fusion coil thing doesn't work?

What does your variable declaration section look like?

Edit: oh, I think you might need to use varRefType="Player.ObjectVar" when you're creating it.

Edited by Gordon

Share this post


Link to post
Share on other sites

Anyone know where I could find a list of all navpoints and their respective icon index #'s?

Edited by AbandonedCashew

Share this post


Link to post
Share on other sites

Anyone know where I could find a list of all navpoints and their respective icon index #'s?

 

I don't think you need to know the index if you're using ksoft. Speaking of navpoints, Teancum compiled a helpful list of navpoints and their appearance.

 

http://pastebin.com/8XR978FY

Share this post


Link to post
Share on other sites

Is anybody working on porting Invasion? Teancum?

 

I was but I'm currently busy with another project at the moment. Here's the core Invasion engine I developed a while ago. You can build on top of it or make your own engine.

 

Attached is the C# code (using Nitrogen), WumboScript output, and the KSoft.Tool XML output. I made use of bitfields and bitwise operators to reduce the amount of member variables and conditions allowing for a more complex gameplay experience, and it should optimize the network too... well, in theory at least.

 

The engine should support up to 4 different objectives for the first 3 phases and an optional final phase objective. There's also support for a cinematic phase but is disabled by default. I don't think you can easily add more due to how the engine is designed.

 

The VIP objective is mostly finished.

 

 Feel free to ask any questions.

Invasion Engine.zip

Share this post


Link to post
Share on other sites

Awesome! I'll see if I can wrap my head around it when I have time. 

 

On another topic, any idea if it's possible to have a trigger or subroutine loop a set number of times instead of onEachPlayer or Object? For instance if I wanted to spawn an object several times with the same properties at the same location, is there a way to do that other than setting up a decrementing variable to restrict the script and having it iterate each tick?

Share this post


Link to post
Share on other sites

If anyone's interested, I made a program in CodeSkulptor (a Python coding website) that converts an object's offset into a UInt24 value (as described here). It's pretty helpful if you need to attach a lot of objects in different points in space; all you have to do is input the parent object's coordinates and the desired coordinates of the child object, then click the play button at the top. The UInt24 value and the child object's offset are displayed in the console on the right.

 

Link to the program

 Does this mean we can attach child objects anywhere we want? :o

Share this post


Link to post
Share on other sites

Awesome! I'll see if I can wrap my head around it when I have time. 

 

On another topic, any idea if it's possible to have a trigger or subroutine loop a set number of times instead of onEachPlayer or Object? For instance if I wanted to spawn an object several times with the same properties at the same location, is there a way to do that other than setting up a decrementing variable to restrict the script and having it iterate each tick?

 

Not exactly. There's nothing wrong with using an iterator variable.

 

 

 Does this mean we can attach child objects anywhere we want? :ohmy:

 

Relative to the parent object within a reasonable distance, yes.

Share this post


Link to post
Share on other sites

 Does this mean we can attach child objects anywhere we want? :ohmy:

Sort of. You can only offset an item from -12.8 to 12.7 units along each axis, since it's limited by the amount of bits. If you need to attach something further out, you'd have to attach it to another child object.

Share this post


Link to post
Share on other sites

I'm having a problem with an update for Halomods CTF that I'm working on. I've added some options, but this one's is a major hurdle :(

 

Basically, I'm trying to add a "Carry Style" option to it where you can pick between the Flagnum, Speedflag, and the droppable extractor (carry_bomb).

 

Surprisingly, getting the first two styles to work was really easy, and the carry_bombs do spawn instead of flags when the option is changed, but no one in the game can pick them up. Any ideas?

 

This is some code that I tried to use and is probably wrong since I don't know how to solve this issue.

                  <E type="Action" name="ActivateTrigger">                    <Param type="TriggerReference">                      <T type="Trigger" trigType="Subroutine" execMode="OnObjectFilter" name="Trigger39_Subroutine40_Subroutine43" objectFilter="ObjectFilter_carry_bomb">                        <Elements>                          <E type="Condition" name="Comparison" unionGroupID="-2">                            <Param type="VarReference" varRefKind="Custom" varRefType="UserDefinedOption">Carry Style</Param>                            <Param type="VarReference" varRefKind="Custom" varRefType="Int16">1</Param>                            <Param type="ComparisonType">Equal</Param>                          </E>                           <E type="Action" name="WeaponPickupPriority">                            <Param type="ObjectReference" varRefType="ExplicitObjectType" dataType="Iterator.Object" />                            <Param type="PickupPriority">HoldAction</Param>                          </E>                        </Elements>                      </T>                    </Param>                  </E>

It seems to have no effect though :(

Share this post


Link to post
Share on other sites

Not exactly. There's nothing wrong with using an iterator variable.

Well there is in my case - I want to use a player's AA as a location reference and I want it to trigger on a player dying, so my reference is getting deleted. I suppose I can just copy/paste the code multiple times. Just seems wasteful when I have loops available in some form. Other than that I would have to create a bunch of variables and an extra trigger. I'm just trying to keep things tidy :)

Share this post


Link to post
Share on other sites

I'm having a problem with an update for Halomods CTF that I'm working on. I've added some options, but this one's is a major hurdle :(

 

Basically, I'm trying to add a "Carry Style" option to it where you can pick between the Flagnum, Speedflag, and the droppable extractor (carry_bomb).

 

Surprisingly, getting the first two styles to work was really easy, and the carry_bombs do spawn instead of flags when the option is changed, but no one in the game can pick them up. Any ideas?

 

This is some code that I tried to use and is probably wrong since I don't know how to solve this issue.

                  <E type="Action" name="ActivateTrigger">                    <Param type="TriggerReference">                      <T type="Trigger" trigType="Subroutine" execMode="OnObjectFilter" name="Trigger39_Subroutine40_Subroutine43" objectFilter="ObjectFilter_carry_bomb">                        <Elements>                          <E type="Condition" name="Comparison" unionGroupID="-2">                            <Param type="VarReference" varRefKind="Custom" varRefType="UserDefinedOption">Carry Style</Param>                            <Param type="VarReference" varRefKind="Custom" varRefType="Int16">1</Param>                            <Param type="ComparisonType">Equal</Param>                          </E>                           <E type="Action" name="WeaponPickupPriority">                            <Param type="ObjectReference" varRefType="ExplicitObjectType" dataType="Iterator.Object" />                            <Param type="PickupPriority">HoldAction</Param>                          </E>                        </Elements>                      </T>                    </Param>                  </E>

It seems to have no effect though :(

 

That's odd because carry_bomb can be picked up by default. It may be due to the original CTF code setting the pick up modifier elsewhere.

Share this post


Link to post
Share on other sites

Off topic Q: What is the WeaponTuning Value# for speed/amount of shots fired when holding the trigger? For example- The SAW's value would be faster than the Needlers.

Share this post


Link to post
Share on other sites

Off topic Q: What is the WeaponTuning Value# for speed/amount of shots fired when holding the trigger? For example- The SAW's value would be faster than the Needlers.

value0 = rounds per sec lower
value1 = rounds per second upper
value4 = shots per fire lower
value5 = shots per fire upper
value6 = fire recovery time
value7 = soft recovery time
 
0 and 1 act as a sort of RoF modifier for some weapons, 4 and 5 modify burst fire for some weapons (you can set them to 1 to make a single-shot BR), and 6 and 7 modify the delay between shots for most weapons. I've found that the weapons seem to pick and choose what values they utilize, so you'll need to experiment a little. Values 4 and 5 don't seem to do anything on the SAW, and 0 and 1 don't seem to affect non-automatics. I could be wrong, but that's what I've found to be the case. 

Share this post


Link to post
Share on other sites

Anyone having problems with ObjectKillINstantly?

 

I'm using this trigger to kill vehicle boarders on Rocket Race, which compiles.

<Trigger execMode="OnEachPlayer" name="Trigger12">        <Elements>          <E type="Action" DBID="19" name="VariableOperation">            <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="GlobalObject2" />            <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="NONE" />            <Param type="OperationType">Set</Param>          </E>          <E type="Action" DBID="19" name="VariableOperation">            <Param type="VarReference" varRefKind="Team" varRefType="ExplicitTeamType" dataType="GlobalTeam0" />            <Param type="VarReference" varRefKind="Team" varRefType="Player.OwnerTeam" dataType="Iterator.Player" />            <Param type="OperationType">Set</Param>          </E>          <E type="Action" DBID="58" name="PlayerGetVehicle">            <Param type="PlayerReference" varRefType="ExplicitPlayerType" dataType="Iterator.Player" />            <Param type="ObjectReference" varRefType="ExplicitObjectType" dataType="GlobalObject2" />          </E>          <E type="Action" DBID="31" name="ActivateTrigger">            <Param type="TriggerReference">              <T type="Trigger" trigType="Subroutine" name="Trigger12_Subroutine13">                <Elements>                  <E type="Condition" DBID="1" name="Comparison" unionGroupID="-2">                    <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="GlobalObject2" />                    <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="NONE" />                    <Param type="ComparisonType">NotEqual</Param>                  </E>                  <E type="Condition" DBID="1" name="Comparison" unionGroupID="-2">                    <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="GlobalObject2" />                    <Param type="VarReference" varRefKind="Object" varRefType="Team.ObjectVar" dataType="GlobalTeam0">TeamObject0</Param>                    <Param type="ComparisonType">NotEqual</Param>                  </E>                  <E type="Condition" DBID="1" name="Comparison" unionGroupID="-2">                   <Param type="VarReference" varRefKind="Custom" varRefType="UserDefinedOption">Kill Morons</Param>                   <Param type="VarReference" varRefKind="Custom" varRefType="Int16">1</Param>                   <Param type="ComparisonType">Equal</Param>                  </E>                  <E type="Action" DBID="36" name="ObjectKillInstantly">                   <Param type="PlayerReference" varRefType="ExplicitPlayerType" dataType="Iterator.Player" />                   <Param name="Bool" type="Bool">False</Param>                  </E>                </Elements>              </T>            </Param>          </E>

The game will say I'm playing a damaged version of the gametype BUT if I delete only the ObjectKillInstantly action it'll say it's all good. 

 

Also, are fusion coils just like mongooses for Race/Warthog? younneed to spawn one first on Forge to create one via Megalo?

Edited by Gabotron ES

Share this post


Link to post
Share on other sites

You're trying to kill the player -- in other words, the person controlling the character -- by using ExplicitPlayerType. You need to kill the player's slave object (the character, or "biped"), Player.SlaveObject

                  <E type="Action" name="ObjectKillInstantly">                    <Param name="ObjectVar" type="ObjectReference" varRefType="Player.SlaveObject" dataType="Iterator.Player" />                    <Param name="Bool" type="Bool">False</Param>                  </E>
Edited by Teancum
Gabotron ES likes this

Share this post


Link to post
Share on other sites

 

You're trying to kill the player -- in other words, the person controlling the character -- by using ExplicitPlayerType. You need to kill the player's slave object (the character, or "biped"), Player.SlaveObject

                  <E type="Action" name="ObjectKillInstantly">                    <Param name="ObjectVar" type="ObjectReference" varRefType="Player.SlaveObject" dataType="Iterator.Player" />                    <Param name="Bool" type="Bool">False</Param>                  </E>

wow thanks man! 

Share this post


Link to post
Share on other sites

So I'm trying to crate an object on a player's corpse - is anyone aware of anything in a player's inventory that survives long enough to still be there when the death incident triggers? Or am I going to have to have some invisible dummy object attach and detach over and over every tick for every player? (I'm assuming anything attached to the player or any of their equipment will be deleted along with their equipment - is that correct?)

 

Edit: any idea how I can track a player's weapons once they're dropped? Is it deleting their weapons and spawning new ones with the same amount of ammo or something? 

Edited by Gordon

Share this post


Link to post
Share on other sites

So I'm trying to attach a blam_device to a player when their PlayerTimer is at 3 or less BUT instead of one it'll attach LOTS of them, anyone know how I can fix this?

<Trigger execMode="OnEachPlayer" name="Trigger51">        <Elements>          <E type="Condition" DBID="1" name="Comparison" unionGroupID="-2">            <Param type="VarReference" varRefKind="Timer" varRefType="Player.TimerVar" dataType="Iterator.Player">PlayerTimerBombTimer</Param>            <Param type="VarReference" varRefKind="Custom" varRefType="Int16">4</Param>            <Param type="ComparisonType">LessThan</Param>          </E>          <E type="Condition" DBID="1" name="Comparison" unionGroupID="-2">            <Param type="VarReference" varRefKind="Timer" varRefType="Player.TimerVar" dataType="Iterator.Player">PlayerTimerBombTimer</Param>            <Param type="VarReference" varRefKind="Custom" varRefType="Int16">2</Param>            <Param type="ComparisonType">GreaterThan</Param>          </E>          <E type="Action" name="CreateObject">              <Param type="ObjectTypeIndex">blam_device</Param>              <Param type="ObjectReference" varRefType="Player.ObjectVar" dataType="Iterator.Player">PlayerObject1</Param>              <Param type="ObjectReference" varRefType="Player.SlaveObject" dataType="Iterator.Player" />              <Param type="ObjectFilterIndex">NONE</Param>              <Param type="CreateObjectFlags">0</Param>              <Param type="UInt24">0</Param>              <Param type="NameIndex">NONE</Param>          </E>          <E type="Action" name="AttachObject">              <Param type="ObjectReference" varRefType="Player.ObjectVar" dataType="Iterator.Player">PlayerObject1</Param>              <Param type="ObjectReference" varRefType="Player.SlaveObject" dataType="Iterator.Player" />              <Param type="UInt24">5</Param>              <Param type="Bool">False</Param>          </E>          <E type="Condition" DBID="1" name="Comparison" unionGroupID="-2">            <Param type="VarReference" varRefKind="Timer" varRefType="Player.TimerVar" dataType="Iterator.Player">PlayerTimerBombTimer</Param>            <Param type="VarReference" varRefKind="Custom" varRefType="Int16">1</Param>            <Param type="ComparisonType">Equal</Param>          </E>          <E type="Action" DBID="36" name="ObjectKillInstantly">            <Param type="ObjectReference" varRefType="Player.ObjectVar" dataType="Iterator.Player">PlayerObject1</Param>            <Param name="Bool" type="Bool">False</Param>          </E>        </Elements>      </Trigger>

I also tried to instead play a sound but it played once and once again very quickly instead of just once.

<Trigger execMode="OnEachPlayer" name="Trigger51">        <Elements>          <E type="Condition" DBID="1" name="Comparison" unionGroupID="-2">            <Param type="VarReference" varRefKind="Timer" varRefType="Player.TimerVar" dataType="Iterator.Player">PlayerTimerBombTimer</Param>            <Param type="VarReference" varRefKind="Custom" varRefType="Int16">4</Param>            <Param type="ComparisonType">LessThan</Param>          </E>          <E type="Condition" DBID="1" name="Comparison" unionGroupID="-2">            <Param type="VarReference" varRefKind="Timer" varRefType="Player.TimerVar" dataType="Iterator.Player">PlayerTimerBombTimer</Param>            <Param type="VarReference" varRefKind="Custom" varRefType="Int16">0</Param>            <Param type="ComparisonType">GreaterThan</Param>          </E>          <E type="Action" name="PlaySoundOnObjectMessage">            <Param type="ObjectReference" varRefType="Player.SlaveObject" dataType="Iterator.Player" />            <Param type="SoundIndex">sound\ca\ca_mp_goal_obj_skullball_beep</Param>          </E>        </Elements>      </Trigger>

How can I do it so that I can play the sound each second for 3 seconds?

Share this post


Link to post
Share on other sites

@Gordon and Gabotron

Use player member variables. Gordon needs to store the player's weapon to a player object member variable in an On Tick trigger, and Gabotron needs to assign a blam_device object to the player's object member and check if it's null before creating the object.

To make an action execute just once in an On Tick trigger, you will need to use a integer variable as a switch.

Share this post


Link to post
Share on other sites

@Gordon and Gabotron

Use player member variables. Gordon needs to store the player's weapon to a player object member variable in an On Tick trigger, and Gabotron needs to assign a blam_device object to the player's object member and check if it's null before creating the object.

To make an action execute just once in an On Tick trigger, you will need to use a integer variable as a switch.

Variables is one thing I'm not 100% clear on - I mean I have a rough idea of how they work, but I'm never 100% sure of how to use the various parameters like varRefType and stuff like that. This is what I have in place atm, and I don't think it's working. Could be the rest of my code not working though, 

<Trigger name="Trigger20">  <Elements>    <E type="Action" name="ActivateTrigger">      <Param type="TriggerReference">        <T type="Trigger" trigType="Subroutine" execMode="OnEachPlayer">          <Elements>            <E type="Action" name="PlayerGetWeapon">              <Param type="PlayerReference" varRefType="ExplicitPlayerType" dataType="Iterator.Player" />              <Param type="Bool">True</Param>              <Param type="ObjectReference" varRefType="ExplicitObjectType" dataType="ObjectScratch1" />            </E>            <E type="Action" name="PlayerGetWeapon">              <Param type="PlayerReference" varRefType="ExplicitPlayerType" dataType="Iterator.Player" />              <Param type="Bool">False</Param>              <Param type="ObjectReference" varRefType="ExplicitObjectType" dataType="ObjectScratch2" />            </E>            <E type="Action" name="VariableOperation">              <Param type="VarReference" varRefKind="Object" varRefType="Player.ObjectVar" dataType="Iterator.Player">PlayerObject1</Param>              <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="ObjectScratch1" />              <Param type="OperationType">Set</Param>            </E>            <E type="Action" name="VariableOperation">              <Param type="VarReference" varRefKind="Object" varRefType="Player.ObjectVar" dataType="Iterator.Player">PlayerObject2</Param>              <Param type="VarReference" varRefKind="Object" varRefType="ExplicitObjectType" dataType="ObjectScratch2" />              <Param type="OperationType">Set</Param>            </E>          </Elements>        </T>      </Param>    </E>  </Elements></Trigger>

Did I do it right? lol

Edited by Gordon

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.