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

它是如何工作的
一旦被选为事件的操作,弹出对话框会具体指定正在分发的值及其对象。

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