The problem with your setup is the second pick condition.
The first pick condition
Pick Sprite where Sprite.ID = loopindex("a2")[/code:2eygwdiz] works fine and selects the corresponding Sprite.
The thing is that the second pick condition [code:2eygwdiz]Pick SpriteFM (family) where SpriteFM.ID = loopindex("a2")+1[/code:2eygwdiz] from the previously picked objects picks.
This means that the first pick reduces the picked objects to one Sprite that has the right ID.
The second pick condition picks the Sprite that has a different ID.
Since there is no Sprite which has two different IDs at the same time, there isn't any Sprite picked and that's why the text doesn't change.
Now to fix this, you could either just disable the second pick condition
or
you could add a second text object, then move the second pick condition to be checked after the first one (as sub-event to the loop) but not as a sub-event of the first pick. You would then change the second text to the second Sprite.ID.
Hope I could help.
Thank you for your reply. I think all the Sprite are created in the first for loop(10 Sprite with instance variables ID: 1 to 10, I see them in the debug mode). So, I think I can pick them in the second for loop. But nothing happened.
What is wrong with my thinking?