|
這裡提供一個計時的程式給大家參考, 是利用克麥內建計時指令來做, 範例是FFXV彈珠台掛機刷AP(1HR版), 內有秒-分-時的計時程式, 有興趣的可以COPY需要的程式段落來運用 歡迎大家一起討論!
int minutes;
int seconds;
int onoff;
int milliseconds;
main {
if(event_press(PS4_L3)) onoff=!onoff; //按PS4 L3,設定onoff=1
if(!onoff){milliseconds=0; seconds=0; minutes=0;} //如果!onoff=1(也就是onoff=0),則所有計數時間歸零
if(onoff){ //如果onoff=1, 執行下列指令
combo_run(Glitch); //執行Glitch combo巨集
milliseconds = milliseconds + get_rtime(); //克麥內建計時器(毫秒計數)累加至milliseconds裏
if(milliseconds >= 1000) { //如果milliseonds累積 >= 1000毫秒(1秒),則做下列指令
milliseconds = milliseconds - 1000; //milliseconds減1000,表示每1000毫秒(1秒)重新計數,這是產生秒的計算
seconds = seconds + 1; //second(秒數)計數累加,每1000毫秒,seconds秒數加一,也就是秒數的計時
if(seconds == 60) { //如果秒數累積到60秒時, 做下列指令
seconds = 0; //每60秒,秒數計數歸零,重新計數
set_val(PS4_TRIANGLE,100); //按下PS4三角鍵一次
minutes = minutes + 1; //每60秒,minutes(分)數值累加1,這是分鐘的計時
if(minutes == 60) { //如果分鐘計數累積到60分鐘時,做下列指令(此版本為掛機1HR(60分鐘)版,如要掛機2HR,只需修改minutes==120).
minutes = 0; //分鐘計數歸零
onoff=!onoff; //設定onoff=0
combo_stop(Glitch); //停止執行Glitch巨集Combo
combo_run(recycle); //執行recycle巨集Combo
}
}
}
}
set_val(TRACE_3, minutes); //debug監控minutes計數
set_val(TRACE_4, seconds); //debug監控seconds計數
set_val(TRACE_5, milliseconds / 10); //debug監控millseconds計數
}
combo Glitch { //Glitch巨集Combo (自動打彈珠檯)
set_val(PS4_R1,100); //PS4 R1按下
set_val(PS4_CIRCLE,100); //PS4圈鍵按下
set_val(PS4_SQUARE,100); //PS4方塊鍵按下
wait(40); //等待0.04秒
set_val(PS4_R1,0); //PS4 R1放開
set_val(PS4_CIRCLE,0); //PS4圈鍵放開
set_val(PS4_SQUARE,0); //PS4方塊鍵放開
wait(40); //等待0.04秒
}
combo recycle{ //recycle巨集Combo(退出彈珠檯後兌換獎品在自動進彈珠檯)
set_val(PS4_CROSS, 100); //PS4叉鍵按下
wait(200); //等待0.2秒
set_val(PS4_CROSS, 0); //PS4叉鍵放開
wait(200); //等待0.2秒
set_val(PS4_UP,100); //PS4方向鍵上鍵按下
wait(200); //等待0.2秒
set_val(PS4_UP,0); //PS4方向鍵上鍵放開
wait(200); //等待0.2秒
set_val(PS4_CIRCLE,100); //PS4圈鍵按下
wait(500); //等待0.5秒
set_val(PS4_CIRCLE,0); //PS4圈鍵放開
wait(7500); //等待7.5秒
set_val(PS4_CIRCLE,100); //PS4圈鍵按下
wait(500); //等待0.5秒
set_val(PS4_CIRCLE,0); //PS4圈鍵放開
wait(500); //等待0.5秒
set_val(PS4_CIRCLE,100); //PS4圈鍵按下
wait(500); //等待0.5秒
set_val(PS4_CIRCLE,0); //PS4圈鍵放開
wait(5500); //等待5.5秒
set_val(PS4_CIRCLE,100); //PS4圈鍵按下
wait(250); //等待0.25秒
set_val(PS4_CIRCLE,0); //PS4圈鍵放開
wait(250); //等待0.25秒
set_val(PS4_CIRCLE,100); //PS4圈鍵按下
wait(500); //等待0.5秒
set_val(PS4_CIRCLE,0); //PS4圈鍵放開
wait(4500); //等待4.5秒
onoff=!onoff; //設定onoff=1
} |
|