|
/* *
* COMBO RAPID FIRE SAMPLE
*
* In GPC, a combo is a term that designates a set of actions
* programed to be automatically performed in sequence.
* ********************************************************* */
int onoff;
int onoffc;
define off=0;
define Blue=1;
define Green=2;
define Red=3;
define White=4;
data(
0,0,0,0,// Off
2,0,0,0,// Blue
0,0,2,0,// Green
0,2,0,0,// Red
2,2,2,2 // White
);
main {
if(get_val(PS4_RIGHT)&& event_press(PS4_R3)){ //方向鍵右按著+按下R3啟動/關閉
onoff=!onoff;
if(onoff){
combo_run(rumble_1);
setled(Red);
}
if(!onoff){
combo_run(rumble_2);
setled(Blue);
}
}
if(onoff==1){combo_run(START);}
else combo_stop(START);
set_val(TRACE_1, onoff);
}
combo rumble_1{
wait(200);
set_rumble(RUMBLE_A, 40);
wait(300);
reset_rumble();
wait(500);
}
combo rumble_2{
wait(200);
set_rumble(RUMBLE_B, 40);
wait(300);
set_rumble(RUMBLE_B, 0);
wait(300);
set_rumble(RUMBLE_B, 40);
wait(300);
set_rumble(RUMBLE_B, 0);
wait(500);
reset_rumble();
wait(500);
}
function setled(colour) {
set_led(LED_1, dbyte(colour * 4));
set_led(LED_2, dbyte((colour * 4) + 1));
set_led(LED_3, dbyte((colour * 4) + 2));
set_led(LED_4, dbyte((colour * 4) + 3));
}
combo START {
wait(3000);
set_val(PS4_LX, 0); //起點,進入任務地點
wait(1800);
set_val(PS4_LX, 15);//右前方斜向移動
set_val(PS4_LY, -70);
wait(4000);
set_val(PS4_LX, -50);//左轉移動
wait(750);
set_val(PS4_CIRCLE, 100);//嘗試翻牆進入
wait(30);
set_val(PS4_CIRCLE, 100);
wait(30);
set_val(PS4_CIRCLE, 100);
wait(30);
set_val(PS4_LX, -50);
set_val(PS4_LY, -50);
wait(950);
set_val(PS4_LY, -100);
set_val(PS4_CIRCLE, 100);
wait(130);
set_val(PS4_CIRCLE, 100);
wait(130);
set_val(PS4_CIRCLE, 100);
wait(130);
set_val(PS4_CIRCLE, 0);
wait(2000);
set_val(PS4_LY, -100);//翻過牆後
wait(2000);
set_val(PS4_LX, -50);
wait(1000);
set_val(PS4_LY, 0);
wait(500);
set_val(PS4_LY, -23);
wait(100);
set_val(PS4_LY, -31);
wait(500);
set_val(PS4_LY, -40);
wait(500);
set_val(PS4_LY, -50);
wait(10);
set_val(PS4_LY, -59);
wait(100);
set_val(PS4_LY, -67);
wait(50);
set_val(PS4_LY, -74);
wait(10);
set_val(PS4_LY, -81);
wait(10);
set_val(PS4_LY, -89);
wait(100);
set_val(PS4_LY, -94);
wait(10);
set_val(PS4_LY, -100);
wait(100);
set_val(PS4_LY, -100);
wait(400);
set_val(PS4_LY, -100);
wait(500);
set_val(PS4_CROSS, 100);
wait(130);
set_val(PS4_LY, -100);
set_val(PS4_CROSS, 0); //貼牆完成
wait(100);
set_val(PS4_RX, -50); //視角左移小修正
wait(200);
set_val(PS4_RX, 0);
wait(1000);
set_val(PS4_L1, 100); //L1溜溜球
wait(1000);
set_val(PS4_L1, 0); //投出溜溜球
wait(1500);
//等待溜溜球進入CD
wait(4000);
set_val(PS4_R1, 100); //R1槍塔(投出,固線刷新溜溜球)
wait(1000);
set_val(PS4_R1, 0);
wait(3000);
//set_val(PS4_R1, 10); //槍塔指令攻擊
//wait(100);
//set_val(PS4_R1, 0);
//wait(100);
wait(500);
set_val(PS4_L1, 100); //L1溜溜球
wait(1000);
set_val(PS4_L1, 0); //投出溜溜球
wait(1500);
set_val(PS4_SQUARE, 100); //等待時間同時按方塊(防呆,若死亡時重生)
wait(50);
set_val(PS4_SQUARE, 0);
wait(1000);
set_val(PS4_SQUARE, 100);
wait(50);
set_val(PS4_SQUARE, 0);
wait(1000);
set_val(PS4_SQUARE, 100);
wait(50);
set_val(PS4_SQUARE, 0);
wait(1000);
//重啟
ps4_set_touchpad(89, -9);
set_val(PS4_TOUCH, 100);
wait(200);
ps4_set_touchpad(87, -9);
set_val(PS4_TOUCH, 0);
wait(2000);
set_val(PS4_LY, -20); //移動游標至任務點
wait(50);
set_val(PS4_LY, 0);
wait(40);
set_val(PS4_LY, -38);
wait(50);
set_val(PS4_LY, -34);
wait(10);
set_val(PS4_LY, -29);
wait(10);
set_val(PS4_LY, -20);
wait(10);
set_val(PS4_LY, 0);
wait(590);
set_val(PS4_LY, -21);
wait(90);
set_val(PS4_LY, 0);
wait(950);
set_val(PS4_SQUARE, 100); //方塊快速移動對焦
wait(50);
set_val(PS4_SQUARE, 0);
wait(1000);
set_val(PS4_SQUARE, 100);
wait(50);
set_val(PS4_SQUARE, 0);
wait(1000);
set_val(PS4_SQUARE, 100);
wait(50);
set_val(PS4_SQUARE, 0);
wait(1000);
set_val(PS4_TRIANGLE, 100); //長按三角啟動任務設定
wait(930);
set_val(PS4_TRIANGLE, 0);
wait(590);
set_val(PS4_CIRCLE, 100);
wait(110);
set_val(PS4_CIRCLE, 0);
wait(1330);
set_val(PS4_CIRCLE, 100);
wait(70);
set_val(PS4_CIRCLE, 0);
wait(5000); //進入讀取,若要延長讀取時間可以延長此數字
} |
|