質問を見る限り、HSP初めたばかりでしょうか。
hspエディタでF1を押すとHSP Document Library(HDL)が表示されるのはご存知ですか?
ソースコードの中によくわからない命令が出てきたらこれで調べることをおすすめします。
まず、その動作を実現させるにはいくつか方法があります。
①単純にwaitで止める方法。
メリット:簡単、手軽
デメリット:wait中はほぼ何もできない。(oncmd等のみ。)精度はいまいち
mes "ようこそ"
wait 500;5秒待機。単位は10ミリ秒。つまり100で1秒
mes "別の画面のなんやかんや"
②短いwait(またはawait)をrepeat loopで何度も実行
メリット:wait中も色々な処理をできる
デメリット:処理が複雑。waitよりawaitのほうが精度は上だがそれでも誤差が出る。
mes "ようこそ"
repeat 5000
title "ループ回数はcntというシステム変数に代入される。"+cnt+""
await 1;waitの高性能版。詳しくはHDL参照。単位は1ミリ秒。つまり1000で1秒
loop
mes "別の画面のなんやかんや"
③PCの起動時間を取得して、その差分から経過時間を測定
メリット:最も高精度。
デメリット:面倒、複雑
#include "winmm.as"
mes "ようこそ"
timeGetTime:開始時間=stat;取得できる値の単位は1ミリ秒
repeat
title "ループ回数はcntというシステム変数に代入される。"+cnt+""
timegettime:現在時間=stat
if (現在時間-開始時間)>5000:break;5000ミリ秒経過してたらループを抜ける
await 1
loop
mes "別の画面のなんやかんや\n"+(現在時間-開始時間)+"ミリ秒経過"
pcが起動している時間を取得する方法について、
以下のページに詳しく載っています。
http://lhsp.s206.xrea.com/hsp_system.html
ちなみにMillkeyStarsさんの方法だと、
59秒あたりに起動すると、秒の位が0に戻るので何かと処理が面倒になります。