質問させてください

ピクチャにマウスカーソルが乗ったら、そのピクチャに紐づけられた文章が表示される処理をしたいんだけどうまくいかんです

取得したいのは、マウスカーソルが乗っているピクチャ番号と、ピクチャにマウスカーソルが重なっているか?(重なっていないなら値を0で取得したい)
と、ピクチャ番号に紐づけられた番号です
以下の処理だとうまくいかないです。ピクチャ番号はDBの中に飛び飛びで入っています(表示した時に格納)
例えば変数格納(マルチ)の40の0には500が入っていて、41の0には529が入っていて、42の0には610が入ってるような感じです
回数付きループの中で回すのがいけないのだと思うけど、いい方法があれば教えてください

▼ 監視したいピクチャ番号はここに入れる。
■変数操作: CSelf20[技能アイコンピクチャ番号用] = 40 + 0
■回数付きループ [ 5 ]回
|■DB読込(可変): CSelf21 = 可変DB[ 変数格納(マルチ) : CSelf20[技能アイコンピクチャ番号用] : 変数1 ] (15 : - : 0)
|■変数操作+: CSelf10 = ピクチャ:CSelf21 の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf10 が 1 と同じ 【2】 CSelf10 が 0 と同じ
|-◇分岐: 【1】 [ CSelf10 が 1 と同じ ]の場合↓
| |■DB読込(可変): CSelf11 = 可変DB[ 変数格納(マルチ) : CSelf20[技能アイコンピクチャ番号用] : 変数2 ] (15 : - : 2)
| |■ピクチャ表示:2000 [左上]文字列[技能番号:\cself[1] X:720 Y:400 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
| |■
|-◇分岐: 【2】 [ CSelf10 が 0 と同じ ]の場合↓
| |■変数操作: CSelf11 = -1 + 0
| |■ピクチャ消去:2000 / 0(0)フレーム
| |■
|◇分岐終了◇
|■変数操作: CSelf20[技能アイコンピクチャ番号用] += 1 + 0
|■
◇ループここまで◇◇