Advertisement
Guest User

Barrier Movement Effect

a guest
Jan 29th, 2015
602
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.34 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. new Float: posRX[MAX_OBJECTS];
  4. new Float: posRY[MAX_OBJECTS];
  5. new Float: posRZ[MAX_OBJECTS];
  6. new TimerBarr[MAX_OBJECTS];
  7. new bool: TimerAc[MAX_OBJECTS];
  8.  
  9. #define TIME_TO_MOVE 5
  10. #define FLOAT_MOVE 0.25
  11.  
  12. forward MoveBarrier(barriername, Float: px, Float: py, Float: pz, Float: speed, Float: rx, Float: ry, Float: rz);
  13. public MoveBarrier(barriername, Float: px, Float: py, Float: pz, Float: speed, Float: rx, Float: ry, Float: rz)
  14. {
  15.     if(!IsValidObject(barriername)) return printf("Object (%i) dosen't exist!",barriername);
  16.     if(TimerAc[barriername] == false) {
  17.         GetObjectRot(barriername, posRX[barriername], posRY[barriername], posRZ[barriername]);
  18.         TimerBarr[barriername] = SetTimerEx("MoveBarrierT", TIME_TO_MOVE, true,"ifffffff",barriername,px,py,pz,speed,rx,ry,rz);
  19.         printf(" Object (%i) start moving.",barriername);
  20.     }
  21.     TimerAc[barriername] = true;
  22.     return 1;
  23. }
  24.  
  25. forward MoveBarrierT(barriername, Float: px, Float: py, Float: pz, Float: speed, Float: rx, Float: ry, Float: rz);
  26. public MoveBarrierT(barriername, Float: px, Float: py, Float: pz, Float: speed, Float: rx, Float: ry, Float: rz)
  27. {
  28.     if(rx > posRX[barriername])
  29.     {
  30.         posRX[barriername] = posRX[barriername]+FLOAT_MOVE;
  31.         MoveObject(barriername, px, py, pz, speed, posRX[barriername], ry, rz);
  32.     }
  33.     else if(rx < posRX[barriername])
  34.     {
  35.         posRX[barriername] = posRX[barriername]-FLOAT_MOVE;
  36.         MoveObject(barriername, px, py, pz, speed, posRX[barriername], ry, rz);
  37.     }
  38.     if(ry > posRY[barriername])
  39.     {
  40.         posRY[barriername] = posRY[barriername]+FLOAT_MOVE;
  41.         MoveObject(barriername, px, py, pz, speed, rx, posRY[barriername], rz);
  42.     }
  43.     else if(ry < posRY[barriername])
  44.     {
  45.         posRY[barriername] = posRY[barriername]-FLOAT_MOVE;
  46.         MoveObject(barriername, px, py, pz, speed, rx, posRY[barriername], rz);
  47.     }
  48.     if(rz > posRZ[barriername])
  49.     {
  50.         posRZ[barriername] = posRZ[barriername]+FLOAT_MOVE;
  51.         MoveObject(barriername, px, py, pz, speed, rx, ry, posRZ[barriername]);
  52.     }
  53.     else if(rz < posRZ[barriername])
  54.     {
  55.         posRZ[barriername] = posRZ[barriername]-FLOAT_MOVE;
  56.         MoveObject(barriername, px, py, pz, speed, rx, ry, posRZ[barriername]);
  57.     }
  58.     if(rx == posRX[barriername] && ry == posRY[barriername] && rz == posRZ[barriername])
  59.     {
  60.         KillTimer(TimerBarr[barriername]);
  61.         printf(" Object (%i) stop moving.",barriername);
  62.         TimerAc[barriername] = false;
  63.     }
  64.     return 1;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement