Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let home_enemyArray = [];
- let home_closestObj = 0;
- @MainLoop{
- home_enemyArray = GetIntersectionRegistedEnemyID;
- if(length(home_enemyArray) > 0)
- {
- if(home_closestObj == 0 || Obj_IsDeleted(home_closestObj) || GetVirtualKeyState(VK_SHOT) == KEY_PUSH)
- {
- home_closestObj = home_enemyArray[0];
- }
- yield;
- }
- //---------------------------------------------------------------------------------------------------------------------------------
- let obj = CreatePlayerShotA1(ObjRender_GetX(orb1), ObjRender_GetY(orb1), 7, 270, 2, 1, 3);
- HB(obj);
- task HB(obj){
- let angleA = ObjMove_GetAngle(obj);
- let angHome = 0;
- let r = 0;
- let r1 = 5;
- let homeOn = false;
- let home_obj = 0;
- let angleT = 270;
- let X;
- let Y;
- let Angle;
- if(length(home_enemyArray) != 0)
- {
- if(ObjEnemy_GetInfo(home_closestObj, INFO_LIFE) > 0)
- {
- homeOn = true;
- home_obj = home_closestObj;
- }
- }
- while(!Obj_IsDeleted(obj)){
- X = ObjMove_GetX(obj);
- Y = ObjMove_GetY(obj);
- Angle = ObjMove_GetAngle(obj);
- if(homeOn && !Obj_IsDeleted(home_obj)){
- angleT = atan2(ObjMove_GetY(home_obj) - Y, ObjMove_GetX(home_obj) - X);
- angHome = angleT - angleA;
- while(angHome >= 180){
- angHome -= 360;
- }
- while(-180 > angHome){
- angHome += 360;
- }
- r = (|angHome|);
- r1 = r/10;
- if(2 >= r){
- angleA = angleT;
- }else if(r > 2){
- angleA += r1 * angHome / (r/2);
- }
- }
- ObjMove_SetAngle(obj, angleA);
- yield;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement