# Get values from another parameter based on value

**URL:** <https://rossvideo.community/t/get-values-from-another-parameter-based-on-value/8267>\
**Category:** Automation & Control\
**Created:** [February 19, 2019, 6:06pm UTC](https://rossvideo.community/t/get-values-from-another-parameter-based-on-value/8267 "2019-02-19T18:06:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![hermangudesen](https://rossvideo.community/letter_avatar_proxy/v4/letter/h/f475e1/32.png) [@hermangudesen](https://rossvideo.community/u/hermangudesen)\
**Post date:** [February 19, 2019, 6:06pm UTC](https://rossvideo.community/t/get-values-from-another-parameter-based-on-value/8267/1 "2019-02-19T18:06:00Z")

</div>

Hi!

I’m trying to make a sports panel for Xpression graphics. Currently you manually have to copy paste player numbers from the lineup parameter into the substitution parameter. So my question is, how do you get the name and surname values from the lineup parameter into the substitution paramter based on only changing the players number? Attached is the code to my panel and a screenshot explaining the feature I need.

 ![](https://discourse-rossvideo-uploads-east2.s3.dualstack.us-east-2.amazonaws.com/original/1X/abc8e09d5df189906ab3df1999da9a15084467f0.jpeg)

 name\_H1 name\_H2 name\_H3 name\_H4 name\_H5 name\_H6 name\_H7 name\_H8 name\_H9 name\_H10 name\_H11 name\_H12 name\_H13 name\_H14 name\_H15 name\_H16 name\_H17 name\_H18 name\_H19 name\_H20 surnname\_H1 surnname\_H2 surnname\_H3 surnname\_H4 surnname\_H5 surnname\_H6 surnname\_H7 surnname\_H8 surnname\_H9 surnname\_H10 surnname\_H11 surnname\_H12 surnname\_H13 surnname\_H14 surnname\_H15 surnname\_H16 surnname\_H17 surnname\_H18 surnname\_H19 surnname\_H20 number name surname surnname\_A1 surnname\_A2 surnname\_A3 surnname\_A4 surnname\_A5 surnname\_A6 surnname\_A7 surnname\_A8 surnname\_A9 surnname\_A10 surnname\_A11 surnname\_A12 surnname\_A13 surnname\_A14 surnname\_A15 surnname\_A16 surnname\_A17 surnname\_A18 surnname\_A19 surnname\_A20 name\_a1 name\_a2 name\_a3 name\_a4 name\_a5 name\_a6 name\_a7 name\_a8 name\_a9 name\_a10 name\_a11 name\_a12 name\_a13 name\_a14 name\_a15 name\_a16 name\_a17 name\_a18 name\_a19 name\_a20 number name surname name\_H8 name\_H16 surnname\_H8 surnname\_H16 minute name surname minute name surname number name surname number name surname number name surname number name surname 1 2 3 4 5 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 1 2 3 4 5 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 number name surname 

```
     <timertask tasktype="ogscript">params.setValue('main_timer', 0, event.getDisplay());</timertask>
     </timer>
     <timer autostart="false" id="add_timer" pattern="mm:ss" rate="500" start="00:00" stop="00:00">
        <timertask tasktype="ogscript">params.setValue('add_timer', 0, event.getDisplay());</timertask>
     </timer>
     <param expand="true" height="60" left="840" oid="main_timer" style="style:timerLabel" top="100" width="120"/>
     <param expand="true" height="60" left="840" oid="main_timer_set" style="size:Big;" top="180" widget="time-picker" width="120"/>
     <button buttontype="push" height="60" left="980" name="Start / Pause" top="100" width="120">
        <task tasktype="ogscript">var timer = ogscript.getTimerManager().getTimer("main_timer");

```

if (!timer.isRunning())  
{  
timer.startTimer(false);  
}  
else  
{  
timer.stopTimer(false);  
}  
  
  
var startValue = params.getValue(‘main\_timer\_set’, 0);  
var timer = ogscript.getTimerManager().getTimer(‘main\_timer’);  
var parsedStartValue = timer.getFormat().parseObject(startValue);  
timer.setTime(parsedStartValue);  
  
  
  
  
  
  
  
var timer = ogscript.getTimerManager().getTimer(“add\_timer”);  
if (!timer.isRunning())  
{  
timer.startTimer(false);  
}  
else  
{  
timer.stopTimer(false);  
}  
rosstalk.sendMessage(‘localhost’, 7789, ‘TAKE 5:0:0’);  
  
  
var startValue = params.getValue(‘add\_timer\_set’, 0);  
var timer = ogscript.getTimerManager().getTimer(‘add\_timer’);  
var parsedStartValue = timer.getFormat().parseObject(startValue);  
timer.setTime(parsedStartValue);

```
  <label height="40" left="880" name="ADD CLOCK" style="txt-align:center;size:Big;" top="280" width="160"/>
  <param expand="true" height="40" left="980" oid="add_tim" showlabel="false" top="360" width="100"/>
     <param height="40" left="1000" oid="add_time" showlabel="false" style="size:Big;" top="480" width="60"/>
     <label height="40" left="820" name="SETT ADD TIME" style="txt-align:center;size:Big;" top="480" width="160"/>
  <button buttontype="push" height="60" id="timebar_in" left="1120" name="IN" top="100" width="100">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 5:0:3');</task>
     </button>
     
  <button buttontype="push" height="60" id="timebar_out" left="1120" name="OUT" top="180" width="100">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'SEQO 5');</task>
     </button>
  
  <button buttontype="push" height="60" id="scoreident_in" left="1420" name="IN" top="660" width="100">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 50:0:0');</task>
     </button>
     <button buttontype="push" height="60" id="timebar_out" left="1520" name="OUT" top="660" width="100">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'SEQO 50');</task>
     </button>
  <button buttontype="push" height="40" id="sub_h1_in" left="800" name="IN" top="620" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 71:0:0');</task>
     </button>
     <button buttontype="push" height="40" id="sub_h2_in" left="800" name="IN" top="660" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 72:0:0');</task>
     </button>
  <button buttontype="push" height="40" id="sub_a1_in" left="800" name="IN" top="780" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 74:0:0');</task>
     </button>
     <button buttontype="push" height="40" id="sub_h1_out" left="860" name="OUT" top="620" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'SEQO 71');</task>
     </button>
     <button buttontype="push" height="40" id="sub_h2_out" left="860" name="OUT" top="660" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'SEQO 72');</task>
     </button>
     <button buttontype="push" height="40" id="sub_h3_out" left="860" name="OUT" top="700" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'SEQO 73');</task>
     </button>
     <button buttontype="push" height="40" id="sub_a1_out" left="860" name="OUT" top="780" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'SEQO 74');</task>
     </button>
     <button buttontype="push" height="40" id="sub_h3_in" left="800" name="IN" top="700" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 73:0:0');</task>
     </button>
     <button buttontype="push" height="40" id="sub_a2_in" left="800" name="IN" top="820" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 75:0:0');</task>
     </button>
     <button buttontype="push" height="40" id="sub_a2_out" left="860" name="OUT" top="820" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 75:0:0');</task>
     </button>
     <button buttontype="push" height="40" id="sub_a3_out" left="860" name="OUT" top="860" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'SEQO 76');</task>
     </button>
     <button buttontype="push" height="40" id="sub_a3_in" left="800" name="IN" top="860" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 76:0:0');</task>
     </button>
     <label height="40" left="20" name="IN" style="txt-align:center;size:Big;" top="580" width="240"/>
     <label height="40" left="20" name="IN" style="txt-align:center;size:Big;" top="740" width="240"/>
     <label height="40" left="480" name="OUT" style="txt-align:center;size:Big;" top="580" width="240"/>
  <label height="40" left="480" name="OUT" style="txt-align:center;size:Big;" top="740" width="240"/>
     <button buttontype="push" height="40" id="lineup_a_in" left="480" name="IN" top="500" width="100">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 4:0:0');</task>
     </button>
  <button buttontype="push" height="40" id="lineup_a_out" left="580" name="OUT" top="500" width="100">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'SEQO 4');</task>
     </button>
     <button buttontype="push" height="40" id="lineup_h_in" left="80" name="IN" top="500" width="100">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 3:0:0');</task>
     </button>
     <button buttontype="push" height="40" id="lineup_h_out" left="180" name="OUT" top="500" width="100">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'SEQO 3');</task>
     </button>
  <param expand="true" height="40" left="1160" oid="0x8F" showlabel="false" style="size:Big;" top="720" width="240"/>
  <label height="40" left="980" name="HOME" style="txt-align:center;size:Big;" top="720" width="160"/>
     <button buttontype="push" height="60" id="timebar_out_w_add_time" left="1120" name="OUT" top="320" width="100">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 5:0:3');</task>
     </button>
  <label height="40" left="560" name="AWAY" style="txt-align:center;size:Big;" top="0" width="160"/>
  </abs>
  <abs name="Penalties">
     <param expand="true" height="60" left="0" oid="0x5f" precision="0" showlabel="false" style="size:Big;" top="20" widget="table" width="740"/>
     <param expand="true" height="60" left="0" oid="0x6f" showlabel="false" style="size:Big;" top="100" widget="table" width="740"/>
     <label height="20" left="0" name="HOME" style="txt-align:center;size:Big;" top="0" width="260"/>
     <button buttontype="push" gpi="1" height="80" id="reset_pen_button" left="740" name="Reset" style="size:Big;" top="20" width="120">
        <task tasktype="ogscript">params.setAllValues('0x10a', ['Not taken 0']);</task>
        <task tasktype="ogscript">params.setAllValues('0x11a', ['Not taken 0']);</task>
        <task tasktype="ogscript">params.setAllValues('0x12a', ['Not taken 0']);</task>
        <task tasktype="ogscript">params.setAllValues('0x13a', ['Not taken 0']);</task>
        <task tasktype="ogscript">params.setAllValues('0x14a', ['Not taken 0']);</task>
        <task tasktype="ogscript">params.setAllValues('0x10b', ['Not taken 0']);</task>
        <task tasktype="ogscript"/>
        <task tasktype="ogscript">params.setAllValues('0x11b', ['Not taken 0']);</task>
        <task tasktype="ogscript">params.setAllValues('0x12b', ['Not taken 0']);</task>
        <task tasktype="ogscript">params.setAllValues('0x13b', ['Not taken 0']);</task>
        <task tasktype="ogscript">params.setAllValues('0x14b', ['Not taken 0']);</task>
     </button>
     <label height="20" left="0" name="AWAY" style="txt-align:center;size:Big;" top="80" width="260"/>
     <button buttontype="push" height="60" id="Penalties_in" left="740" name="IN" style="size:Big;" top="100" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'TAKE 60:0:0');</task>
     </button>
     <button buttontype="push" height="60" id="Penalties_in" left="800" name="OUT" style="size:Big;" top="100" width="60">
        <task tasktype="rosstalk">rosstalk.sendMessage('localhost', 7789, 'SEQO 60');</task>
     </button>
  </abs>

```

---

<div class="post-metadata">

**Author:** ![jamespeltzer](https://rossvideo.community/user_avatar/rossvideo.community/jamespeltzer/32/50_2.png) [@jamespeltzer](https://rossvideo.community/u/jamespeltzer)\
**Post date:** [February 20, 2019, 2:16am UTC](https://rossvideo.community/t/get-values-from-another-parameter-based-on-value/8267/2 "2019-02-20T02:16:00Z")

</div>

Hi Hermangud  
One mechanism to copy the values for you would be to add an onchange handler to the numeric field of your substitution tables. Inside of the script, you can look-up the appropriate player information and copy it to the substitution parameters.

Here is how it would look with the “out” side of your “home” table:

var index = this.getIndex();  
var numericValue = this.getValue();  
for (var i = 0; i \< params.getElementCount(‘0x2A’); i++)  
{  
if (numericValue == params.getValue(0x2A, i))  
{  
var name = params.getValue(‘0x3A’, i);  
var surname = params.getValue(‘0x4A’, i);  
params.setValue(‘0x8E’, index, name);  
params.setValue(‘0x9E’, index, surname);  
}  
}  
As another tip: you may want to start using string-based OIDs instead of numeric ones. It can make it a lot easier to find your parameters.

This is your overall code with that single handler added:

 name\_H1 name\_H2 name\_H3 name\_H4 name\_H5 name\_H6 name\_H7 name\_H8 name\_H9 name\_H10 name\_H11 name\_H12 name\_H13 name\_H14 name\_H15 name\_H16 name\_H17 name\_H18 name\_H19 name\_H20 surnname\_H1 surnname\_H2 surnname\_H3 surnname\_H4 surnname\_H5 surnname\_H6 surnname\_H7 surnname\_H8 surnname\_H9 surnname\_H10 surnname\_H11 surnname\_H12 surnname\_H13 surnname\_H14 surnname\_H15 surnname\_H16 surnname\_H17 surnname\_H18 surnname\_H19 surnname\_H20 number name surname surnname\_A1 surnname\_A2 surnname\_A3 surnname\_A4 surnname\_A5 surnname\_A6 surnname\_A7 surnname\_A8 surnname\_A9 surnname\_A10 surnname\_A11 surnname\_A12 surnname\_A13 surnname\_A14 surnname\_A15 surnname\_A16 surnname\_A17 surnname\_A18 surnname\_A19 surnname\_A20 name\_a1 name\_a2 name\_a3 name\_a4 name\_a5 name\_a6 name\_a7 name\_a8 name\_a9 name\_a10 name\_a11 name\_a12 name\_a13 name\_a14 name\_a15 name\_a16 name\_a17 name\_a18 name\_a19 name\_a20 number name surname name\_H8 name\_H16 surnname\_H8 surnname\_H16 minute name surname minute name surname number name surname number name surname number name surname number name surname name\_H11 surnname\_H11 1 2 3 4 5 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 1 2 3 4 5 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 Not taken 0 Not taken 0 Goal 1 Miss 2 number name surname var index = this.getIndex(); var numericValue = this.getValue(); for (var i = 0; i \< params.getElementCount('0x2A'); i++) { if (numericValue == params.getValue(0x2A, i)) { var name = params.getValue('0x3A', i); var surname = params.getValue('0x4A', i); params.setValue('0x8E', index, name); params.setValue('0x9E', index, surname); } } params.setValue('main\_timer', 0, event.getDisplay()); params.setValue('add\_timer', 0, event.getDisplay()); var timer = ogscript.getTimerManager().getTimer("main\_timer"); if (!timer.isRunning()) { timer.startTimer(false); } else { timer.stopTimer(false); } var startValue = params.getValue('main\_timer\_set', 0); var timer = ogscript.getTimerManager().getTimer('main\_timer'); var parsedStartValue = timer.getFormat().parseObject(startValue); timer.setTime(parsedStartValue); var timer = ogscript.getTimerManager().getTimer("add\_timer"); if (!timer.isRunning()) { timer.startTimer(false); } else { timer.stopTimer(false); } rosstalk.sendMessage('localhost', 7789, 'TAKE 5:0:0'); var startValue = params.getValue('add\_timer\_set', 0); var timer = ogscript.getTimerManager().getTimer('add\_timer'); var parsedStartValue = timer.getFormat().parseObject(startValue); timer.setTime(parsedStartValue); rosstalk.sendMessage('localhost', 7789, 'TAKE 5:0:3'); rosstalk.sendMessage('localhost', 7789, 'SEQO 5'); rosstalk.sendMessage('localhost', 7789, 'TAKE 50:0:0'); rosstalk.sendMessage('localhost', 7789, 'SEQO 50'); rosstalk.sendMessage('localhost', 7789, 'TAKE 71:0:0'); rosstalk.sendMessage('localhost', 7789, 'TAKE 72:0:0'); rosstalk.sendMessage('localhost', 7789, 'TAKE 74:0:0'); rosstalk.sendMessage('localhost', 7789, 'SEQO 71'); rosstalk.sendMessage('localhost', 7789, 'SEQO 72'); rosstalk.sendMessage('localhost', 7789, 'SEQO 73'); rosstalk.sendMessage('localhost', 7789, 'SEQO 74'); rosstalk.sendMessage('localhost', 7789, 'TAKE 73:0:0'); rosstalk.sendMessage('localhost', 7789, 'TAKE 75:0:0'); rosstalk.sendMessage('localhost', 7789, 'TAKE 75:0:0'); rosstalk.sendMessage('localhost', 7789, 'SEQO 76'); rosstalk.sendMessage('localhost', 7789, 'TAKE 76:0:0'); rosstalk.sendMessage('localhost', 7789, 'TAKE 4:0:0'); rosstalk.sendMessage('localhost', 7789, 'SEQO 4'); rosstalk.sendMessage('localhost', 7789, 'TAKE 3:0:0'); rosstalk.sendMessage('localhost', 7789, 'SEQO 3'); rosstalk.sendMessage('localhost', 7789, 'TAKE 5:0:3'); params.setAllValues('0x10a', ['Not taken 0']); params.setAllValues('0x11a', ['Not taken 0']); params.setAllValues('0x12a', ['Not taken 0']); params.setAllValues('0x13a', ['Not taken 0']); params.setAllValues('0x14a', ['Not taken 0']); params.setAllValues('0x10b', ['Not taken 0']); params.setAllValues('0x11b', ['Not taken 0']); params.setAllValues('0x12b', ['Not taken 0']); params.setAllValues('0x13b', ['Not taken 0']); params.setAllValues('0x14b', ['Not taken 0']); rosstalk.sendMessage('localhost', 7789, 'TAKE 60:0:0'); rosstalk.sendMessage('localhost', 7789, 'SEQO 60'); [#DashBoard](https://livinglive.community/search?s=tags%3A%22DashBoard%22&executesearch=true)

---

<div class="post-metadata">

**Author:** ![hermangudesen](https://rossvideo.community/letter_avatar_proxy/v4/letter/h/f475e1/32.png) [@hermangudesen](https://rossvideo.community/u/hermangudesen)\
**Post date:** [February 20, 2019, 2:23pm UTC](https://rossvideo.community/t/get-values-from-another-parameter-based-on-value/8267/3 "2019-02-20T14:23:00Z")

</div>

Thank you so much! Exactly what I was after! 🙂  
[#DashBoard](https://livinglive.community/search?s=tags%3A%22DashBoard%22&executesearch=true)
