====================================================================================== The following attributes should be placed on object #12 (Resource Object) ====================================================================================== &F_FSOVALID_DIST #12=[round(fmul(switch(sdb(function,u(%q0/SDB),range,xget(u(f_socheck_valid),SDB)),\[*\],[after(before(sdb(function,u(%q0/SDB),range,xget(u(f_socheck_valid),SDB)),%]),%[)],0),u(f_msgdelay)),0)] &F_FSO_CONS #12=squish(iter([xget([u(f_socheck_valid)],CONSOLES)],if(match([u(parent_communications)] [u(parent_fighter)] [u(parent_helm)] [u(parent_monitor)],[parent(##)],%b),##),%b,%b)) &F_FSO_DESTCONS #12=squish(iter(u(%q0/CONSOLES),if(match([u(parent_communications)] [u(parent_fighter)] [u(parent_helm)] [u(parent_monitor)],[parent(##)],%b),##),%b,%b)) &F_FSO_DESTMANN #12=iter(u(f_fso_destcons),u(##/USER),%b,%b) &F_FSO_MANN #12=iter(u(f_fso_cons),u(##/USER),%b,%b) &F_FSO_MSGREC #12=[ifelse(match(%q3,1),[ansi(b,\[)][ansi(c,Message relay from)] [ansi(hy,[name(%q0)])][ansi(c,: [switch(%q2,relay: *,[after(%q2,:%b)],[after(%q2,:)])])][ansi(b,\])],%r[ansi(b,\[)][ansi(c,Transmission from)] [ansi(hy,[name(%q0)])] [ansi(c,bearing:)] [ansi(hy,[round([before([sdb(function,[u(%q0/SDB)],bearing,[xget(u(f_socheck_valid),SDB)])],%b)],3)] [round([after([sdb(function,[u(%q0/SDB)],bearing,[xget(u(f_socheck_valid),SDB)])],%b)],3)])] [switch([sdb(function,[u(%q0/SDB)],range,[xget(u(f_socheck_valid),SDB)])],\[*\],[ansi(c,range \[)][ansi(hy,[after([before([sdb(function,[u(%q0/SDB)],range,[xget(u(f_socheck_valid),SDB)])],\])],\[)])][ansi(c,\])],[ansi(c,@)] [ansi(hy,[name(u(f_socheck_valid))])])][ansi(b,\])]%r[ansi(b,<)][ansi(hy,[name(%q0)])][ansi(b,>--<)][ansi(c,%q2)][ansi(b,>)]%r)] &F_MSGDELAY #12=0.0105 &F_MSGSND #12=[switch(isnum(%q1),1,[ansi(b,\[)][ansi(hy,name(%#))][ansi(b,\]--\[)][ansi(c,S2S to Contact %(%q1%): %q2)][ansi(b,\])],0,[ansi(b,\[)][ansi(hy,name(%#))][ansi(b,\]--\[)][ansi(c,S2S to %q1: %q2)][ansi(b,\])])] &F_SNVALID_CONS #12=[squish(iter([u(index(u(f_sonum_valid),|,3,1)/CONSOLES)],[if(strmatch([u(parent_communications)] [u(parent_fighter)] [u(parent_helm)] [u(parent_monitor)],*[parent(##)]*),##)],%b,%b))] &F_SNVALID_DESTCONS #12=squish(iter(u(%q0/CONSOLES),if(match([u(parent_communications)] [u(parent_fighter)] [u(parent_helm)] [u(parent_monitor)],[parent(##)],%b),##),%b,%b)) &F_SNVALID_DESTMANN #12=[iter(u(f_snvalid_destcons),u(##/USER),%b,%b)] &F_SNVALID_DIST #12=[round(fmul(switch(sdb(function,u(%q0/SDB),range,xget(index(u(f_sonum_valid),|,3,1),SDB)),\[*\],[after(before(sdb(function,u(%q0/SDB),range,xget(index(u(f_sonum_valid),|,3,1),SDB)),%]),%[)],0),u(f_msgdelay)),0)] &F_SNVALID_MANN #12=iter(u(f_snvalid_cons),u(##/USER),%b,%b) &F_SNVALID_MSGREC #12=[ifelse(match(%q3,1),[ansi(b,\[)][ansi(c,Message relay from)] [ansi(hy,[name(%q0)])][ansi(c,: [switch(%q2,relay: *,[after(%q2,:%b)],[after(%q2,:)])])][ansi(b,\])],%r[ansi(b,\[)][ansi(c,Transmission from)] [ansi(hy,[name(%q0)])] [ansi(c,bearing:)] [ansi(hy,[round([before([sdb(function,[u(%q0/SDB)],bearing,[u([index(u(f_sonum_valid),|,3,1)]/SDB)])],%b)],0)] [round([after([sdb(function,[u(%q0/SDB)],bearing,[u([index(u(f_sonum_valid),|,3,1)]/SDB)])],%b)],0)])] [switch([sdb(function,[u(%q0/SDB)],range,[u([index(u(f_sonum_valid),|,3,1)]/SDB)])],\[*\],[ansi(c,range \[)][ansi(hy,[after([before([sdb(function,[u(%q0/SDB)],range,[u([index(u(f_sonum_valid),|,3,1)]/SDB)])],\])],\[)])][ansi(c,\])],[ansi(c,@)] [ansi(hy,[name(index(u(f_sonum_valid),|,3,1))])][ansi(c,\])])][ansi(b,\])]%r[ansi(b,<)][ansi(hy,[name(%q0)])][ansi(b,>--<)][ansi(c,%q2)][ansi(b,>)]%r)] &F_SOCHECK_VALID #12=[after(graball(iter(u(#100/f_sobjects),[name(##)]~##,%b,|),*%q1*,|),~)] &F_SONUM_VALID #12=graball(iter(sdb(status,u(%q0/SDB),18),CONTACT:[before(##,|)]|[after(##,|)],~,~),*CONTACT:%q1*,~) ====================================================================================== The following command should be put on any parent console command that you want people to be able to use s2s in. IE: monitor, navigation, communication. ====================================================================================== &S2S =$s2s *=*:[setq(0,zone(loc(%#)))][setq(1,%0)][setq(2,%1)][setq(3,[switch(%1,relay*,1,0)])];@select [match(u(f_sonum_valid),)][match(u(f_socheck_valid),)]=0?,{[pemit([u(f_snvalid_destmann)],[u(f_msgsnd)])];@wait [u(f_snvalid_dist)]=[pemit([u(f_snvalid_mann)],[u(f_snvalid_msgrec)])]},?0,{[pemit([u(f_fso_destmann)],[u(f_msgsnd)])];@wait [u(f_fsovalid_dist)]=[pemit([u(f_fso_mann)],[u(f_fso_msgrec)])]}