PALETTE REFERENCE – 36 – THROWER – PART 32 – Bible Reference

Posted by:

|

On:

|

 

Incomplete as of 3/29/2021

#1 – AutoReturn – Triggered by throw1, throw2, or throw3
Only applies if:
greater than zero
IS Throwable:
NOT FollowSpotable
and NOT Attachable
Changes to NON-PHYS
happens in Receiver script

#2 – Boomerang – Triggered by throw1, throw2, or throw3
Ricochet must be OFF
1st Target is always ThrowerObjectTargetName1
2nd Target is always ThrowerObjectTargetName2
Collision Post Actions are Ignored
Reverses any Spin
Stops Angular Vel.
Attaches IF AttachOnRange and Attachable

#3 – BoomHoverDelay – How long a Boomerang hovers in place after reaching target1

#4 – CollisionPostActions – Cause the “Posts Collision” parameters to be examined and performed upon collision.

#5 – CollisionPostActions2 – Same as CollisionPostActions but uses ApplyImpulse2 and AngularVelocity2 instead

#6 – CollisionPostActions3 – Same as CollisionPostActions but uses ApplyImpulse3 and AngularVelocity3 instead

#7 – IgnoreFirstCollision – bypasses “Posts Collision” parameters.
Rezzing a Palette in same position as
rezzer can cause a premature collision which we want to ignore
NEW for 2021! Automatically ignores collisions within 1 meter of rezzer so no need for Ingnore unless there
IS a collision down the way that you want to ignore.

#8 – RangePostActions,off – this must be on in order to process “Posts Range” parameters when thrower is “in range” of target

#9 – Receiver – When NOT ZERO, the thrower will attach to a secondary person. This allows someone other than the thrower to “catch” a thrown Palette. The secondary person must touch Palette and grant ATTACH permission. The body part is the number following Receiver

#10 – RemoveFolder – If not BLANK then the script will sleep for RemoveFolderDelay seconds then remove the full contents of the RLV RemoveFolder. This name must be fully qualified and be located
under #RLV and RLV must be enabled. The folder must be WORN prior in order to activate it.

#11 – RemoveFolderDelay – Number of seconds after throw before contents of RemoveFolder are removed. Ignored if RemoveFolder is BLANK.

#12 – RezMe – Use this when you want to rez the inner Palette PERMANENTLY when RezObjectName has a value and (Thrower0123OnRez must be 1,2, or 3 OR Boomerang is on). A rezzable Palette must have either RezMe or TempRezMe on, otherwise the inner rezzable Palette will not rez.

#13 – Ricochet – Used to control a target1 AND a target2. Works same as Boomerang but there is no auto-attach at end.
1st Target is always ThrowerObjectTargetName1
2nd Target is always ThrowerObjectTargetName2
It only responds to 2 targets maximum.
RangePost Actions must be enabled since Ricochet expects to use targeting.
Attaching is disabled.

#14 – ShowInMidFlightAfter – if this is not zero then maximum visibility is delayed the amount of seconds entered on the nc. Of course the success of this assumes that it is thrown with visibility off (at MinAlpha).
It shows just before Matrix and RemoveFolder

#15 – ThrowOnCollide – this will cause this Palette to execute a throw upon colliding with another object…An example is the 3-hat-carom demo video. The value must be 1, 2, or 3 to tell the thrower which throw (ApplyImpulse and AngularVelocity) to execute

/*Rezzer section
These are the important parameters you will need in order to make a rezzer. Its why they are grouped together. Rezzers are used to simulate an attached-throw. as in someone holding a Palette and throwing or dropping it.

#16 – Rezzer,on – This must be ON and when on causes the RezObjectName to automatically become a candidate for a rezzed throw. This makes this Palette the “rezzer Palette”.

#17 – RezObjectName,HatTemp – this is the name of a Palette that must be inside the ‘rezzers’ inventory and will be propelled using its own parameters of how it is to be thrown.

#18 – RezSource,HatSource – the name of an object that will be used to tell the rezzed object where to rez and what rotation it should have. The Rez Velocity matches the ApplyImpulse value.

#19 – Thrower0123OnRez,1 – This tells the rezzer what value to pass to the rezzed Palette so it knows which ApplyImpulse/AngularVelocity pair to use. It will automatically throw upon rezzing if this parameter has a value.

/*Targets Section – this is where you specify target names. They are used to
1) either to guide a throw using SetMoveToTarget,on AND/OR
2) used for controlling the Post Target disposition.

#20 – DirectionalVector,Local – I have only used “Local” but the other value is “World“. World might be easier to work with if your practice site is the same location as your show-time site. When specifying rotational vectors, its important that you go in to EDIT on the Palette and make sure the reference matches. Local if Local and World if World

#21 – ThrowerTarget,(off/Both/Avatar/Object) – If this is off then the next 3 fields are ignored.
if Both, then ThrowerObjectTargetName1 and ThrowerObjectTargetName2
must exist and are used for 2-phase throwing.
If Object then only ThrowerObjectTargetName1 is required If Avatar then only ThrowerAvatarTargetName is required
Ricochet and Boomerang require Both

#22 – ThrowerObjectTargetName1,HatTarget1 – name of the target1. Required when ThrowerTarget is Both or Object
#23 – ThrowerObjectTargetName2,HatTarget2 – name of the target2. Only required when .ThrowerTarget is Both
#24 – ThrowerAvatarTargetName,Lat Lovenkraft – name of an avatar that is to be target when ThrowerTarget is Avatar

/*Motions Section – only one usually
This section has choices for the motion and propulsion method of the throw. Usually you will choose either

#25 – ApplyImpulse or MoveToTarget

#26 – SetApplyImpulse,off – if this is off then the 3 ApplyImpulses are ignored. If on then all may be in play depending on the throw (i.e. throw1, throw2, and throw3)

#27 – ApplyImpulse,<x,y,z> – If SetApplyImpulse is on and a throw1 is executed then this becomes the instantaneous impulse. This will decay over time assuming there is some gravity and the Palette will fall to the ground. This is the motion-method I use most often. It reacts to mass(density) and applies 1 newton of force of acceleration equal to 1kg thrust one meter and lasting 1 second, per unit of xyz, velocity in the direction xyz and for a magnitude of (xyz) (effective inertial velocity) . Using it will force the Palette to go physical. It is center-of-mass based so be careful with link-sets. The velocity caps are dependent on the energy, a topic for another discussion but keep in mind 202 meters/sec as a yardstick for very fast impulses.

#28 – ApplyImpulse2,<x,y,z> – same as ApplyImpulse only it is used in place of ApplyImpulse when a throw2 action is taken

#29 – ApplyImpulse3,<x,y,z> – same as ApplyImpulse only it is used in place of ApplyImpulse when a throw3 action is taken

#30 – SetMoveToTarget,off – when off, then MoveToTargetTau and AtTargetRange, are ignored
when on , this Palette behaves like a heat-seeking-missile IF a thrower-target has been specified(not off). Depending on other conditions, the Palette will move towards the target upon a throw and stop when it gets at or near the target. The flightpath will curve upward or downward to meet the target AGAINST the normal gravitational forces that are most likely in play.

#31 – SetVelocity,off – when on will apply an instantaneous impulse the same as ApplyImpulse only “mass” is not taken into consideration. The direction and magnitude is dependent upon the velocity vector as specified by Velocity

#32 – SetAngularVelocity,off – when on the appropriate AngularVelocity (rotation) is applied dependent on whether the throw is a throw1, throw2, or throw3

#33 – AngularVelocity,<x,y,z> – used if a throw1 and SetAngularVelocity is on. Applies a rotational force ( 1 radian – about 1/6th of a full-rotation) per second that causes the Palette to rotate in the xyz direction and with a force-magnitude of xyz and usually applied in combination with ApplyImpulse to create a tumble or Frisbee type throw. It will slow down over time but acts as if there is no mass. The Palette will turn physical and angular-velocity stops if and when the Palette turns non-physical

#34 – AngularVelocity2,<x,y,z> – same as AngularVelocity only this applies only for a throw2

#35 – AngularVelocity3,<x,y,z> – same as AngularVelocity only this applies only for a throw3

#36 – SetTargetOmega,off – when on then TargetOmega will execute a spin on the client using the 1st parameter as a axis-spin direction. This never decays over time so use post-actions to stop spins.

#37 – TargetOmega,<1.0,0.0,0.0>,6.283185,2.0> – this example spins around the x-axis at 2 x 2PI-radians) per second. Thats  2 rotations per second (using 2.0 as gain…and it says the spin-rate is 2-pi (6.283185) radians which is 1 full rotation)

/*Posts Collision – This section dictates the disposition of a Palette upon collision. For these to be effective, there must be CollisionPostActions1, CollisionPostActions2, or CollisionPostActions3. Either one or multiple ones will always cause all the post-actions to occur if on.

#38 – DamageFinishOnCollide,off,-55,Blood On,1.0,Animate,ArtistePalette_04_B,Spin Fall,10,Crawl,5,KILL_MESH
This newly added feature in 2021 is a combination of events. Shoot, affect, animation1, animation2, kill/die.
It has delays that apply to the previous parameter.  It has no effect if off.  This choice happens when there is a collision.

#39 – DamageFinishOnRange,off,-55,Blood On,1.0,Animate,ArtistePalette_04_B,Spin Fall,10,Crawl,5,KILL_MESH
This newly added feature in 2021 is a combination of events. Shoot, affect, animation1, animation2, kill/die.
It has delays that apply to the previous parameter.  It has no effect if off.  This choice happens when thrower is in range of target.

#40-AttachOnCollide,off,5

/*ControlOnCollide,on,SoccerBall4,Hide,ALL,3.0
ChatOnCollide,off
ChatOffCollide,off
ControlOnCollide,off,SoccerBall4,detach
ControlOnCollideDelay
DieOnCollide,off,1.5
MakePhysAfterPost,0
MaterialsOnCollide,off,0.2,10,10,0.1
SetMatchPosOnCollide,off
SetMatchRotOnCollide,off
SetStopSpinOnCollide,off
SetNonPhysOnCollide,off

/*Posts Target
AttachOnRange,on,5
SetMatchPosAtTarget,off
SetMatchRotAtTarget,off
SetStopSpinAtTarget,off
SetNonPhysAtTarget,off

Posted by

in