分发变量操作
Distribute Variable 是在多用户研究中将一个参与者的实验值转移到另一个参与者的操作。没有它,每个参与者的实验在同一会话内完全隔离运行;这是唯一一个实际上推动信息跨越该边界的操作,允许刺激位置、聊天文本、得分或任何其他值在另一个参与者的屏幕上反映。

它是如何工作的
一旦被选为事件的操作,弹出对话框将具体说明要分发的值以及接收者。

| 设置 | 控制内容 |
|---|---|
Distribute value to | 接收该值的参与者:所有参与者,或选定参与者列表。 |
Choose target variable and value | 接收参与者屏幕上的变量,以及它应设置为的值(常量、当前变量值或计算表达式)。 |
Block | 如果启用,则目标变量在当前分配完成之前无法再次更改,防止两个接近同时的分配发生冲突。 |
Rate Limit Strategy | 防止在操作触发速度超过服务器处理速度时对服务器造成过载的保护措施(每100 毫秒超过一次)。选择防抖(只有在安静间隔后发送最近的消息)、节流(在每个100 毫秒窗口内仅发送最近的消息)、丢弃(窗口内的额外消息被丢弃)或排队(额外消息排队,最多10个)。 |
何时使用阻止
每当多个参与者可能在几乎相同的时间写入同一个目标变量时,打开 Block,例如两个玩家同时提交一个动作。在 Block 打开时,第一条到达的分发被处理,而后续尝试将等待它完成。在 Block 关闭时,分发一到达就被应用,这可能导致目标变量保留最后到达的值。