Advertisement
Private200

Target system

May 22nd, 2017
834
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 15.34 KB | None | 0 0
  1. #include <a_samp>
  2. #include <crashdetect>
  3. #include <zcmd>
  4. #include <sscanf2>
  5.  
  6. new targ1[8];
  7. new targ2[8];
  8. new targ3[8];
  9.  
  10. new Float:speed[3];
  11.  
  12. new LoopStatus[3] = 0;
  13.  
  14. public OnFilterScriptInit()
  15. {
  16.     print("\n--------------------------------------");
  17.     print(" Targets system - Private200 ");
  18.     print("--------------------------------------\n");
  19.     return 1;
  20. }
  21.  
  22. CMD:createtarget(playerid, params[])
  23. {
  24.     new id;
  25.     if(sscanf(params, "d", id)) return SendClientMessage(playerid, -1, "{FF0000}{SYNTAX ERROR}: {FFFFFF}/createtarget [id]");
  26.     if(id > 3 && id <= 0) return SendClientMessage(playerid, -1, "{FF0000}{ERROR}: {FFFFFF}ID must be between 1 and 3. MAX TARGETS: three");
  27.     if(id == 1)
  28.     {
  29.         for(new i; i < sizeof targ1; i ++) if(IsValidObject(targ1[i])) return SendClientMessage(playerid, -1, "{FF0000}{ERROR}: {FFFFFF}One of the body parts has not been destroyed for this target. /destoytarget [id] to re-create them after.");
  30.  
  31.         targ1[0] = CreateObject(3024, 292.87509, -138.10300, 1007.14838,   0.00000, 0.00000, 90.00000);
  32.         targ1[1] = CreateObject(3023, 292.87289, -138.12180, 1007.15472,   0.00000, 0.00000, 90.00000);
  33.         targ1[2] = CreateObject(3022, 292.87561, -138.09450, 1007.15472,   0.00000, 0.00000, 90.00000);
  34.         targ1[3] = CreateObject(3021, 292.87598, -138.11237, 1007.14551,   0.00000, 0.00000, 90.00000);
  35.         targ1[4] = CreateObject(3020, 292.87411, -138.12750, 1007.16388,   0.00000, 0.00000, 90.00000);
  36.         targ1[5] = CreateObject(3019, 292.87280, -138.12511, 1007.16541,   0.00000, 0.00000, 90.00000);
  37.         targ1[6] = CreateObject(3018, 292.87280, -138.10190, 1007.16541,   0.00000, 0.00000, 90.00000);
  38.         LoopStatus[0] = 0;
  39.     }
  40.     else if(id == 2)
  41.     {
  42.         for(new i; i < sizeof targ2; i ++) if(IsValidObject(targ2[i])) return SendClientMessage(playerid, -1, "{FF0000}{ERROR}: {FFFFFF}One of the body parts has not been destroyed for this target. /destoytarget [id] to re-create them after.");
  43.         targ2[0] = CreateObject(3019, 285.00000, -130.88310, 1007.16541,   0.00000, 0.00000, 90.00000);
  44.         targ2[1] = CreateObject(3020, 285.00000, -130.88550, 1007.16388,   0.00000, 0.00000, 90.00000);
  45.         targ2[2] = CreateObject(3021, 285.00000, -130.87041, 1007.14551,   0.00000, 0.00000, 89.76000);
  46.         targ2[3] = CreateObject(3018, 285.00000, -130.85989, 1007.16541,   0.00000, 0.00000, 90.00000);
  47.         targ2[4] = CreateObject(3023, 285.10001, -130.87981, 1007.15472,   0.00000, 0.00000, 90.00000);
  48.         targ2[5] = CreateObject(3024, 285.00000, -130.86099, 1007.14838,   0.00000, 0.00000, 90.00000);
  49.         targ2[6] = CreateObject(3022, 285.10001, -130.85249, 1007.15472,   0.00000, 0.00000, 90.00000);
  50.         LoopStatus[1] = 0;
  51.     }
  52.     else if(id == 3)
  53.     {
  54.         for(new i; i < sizeof targ3; i ++) if(IsValidObject(targ3[i])) return SendClientMessage(playerid, -1, "{FF0000}{ERROR}: {FFFFFF}One of the body parts has not been destroyed for this target. /destoytarget [id] to re-create them after.");
  55.         targ3[0] = CreateObject(3024, 288.00000, -138.10300, 1007.14838,   0.00000, 0.00000, 90.00000);
  56.         targ3[1] = CreateObject(3023, 288.00000, -138.12180, 1007.15472,   0.00000, 0.00000, 90.00000);
  57.         targ3[2] = CreateObject(3022, 288.00000, -138.09450, 1007.15472,   0.00000, 0.00000, 90.00000);
  58.         targ3[3] = CreateObject(3021, 288.00000, -138.11240, 1007.14551,   0.00000, 0.00000, 89.76000);
  59.         targ3[4] = CreateObject(3020, 288.00000, -138.12750, 1007.16388,   0.00000, 0.00000, 90.00000);
  60.         targ3[5] = CreateObject(3019, 288.00000, -138.12511, 1007.16541,   0.00000, 0.00000, 90.00000);
  61.         targ3[6] = CreateObject(3018, 288.00000, -138.10190, 1007.16541,   0.00000, 0.00000, 90.00000);
  62.         LoopStatus[2] = 0;
  63.     }
  64.     return 1;
  65. }
  66.  
  67. CMD:destroytarget(playerid, params[])
  68. {
  69.     new id, destroyed;
  70.     if(sscanf(params, "d", id)) return SendClientMessage(playerid, -1, "{FF0000}{SYNTAX ERROR}: {FFFFFF}/destroytarget [id]");
  71.     if(id > 3 && id <= 0) return SendClientMessage(playerid, -1, "{FF0000}{ERROR}: {FFFFFF}ID must be between 1 and 3. MAX TARGETS: three");
  72.     if(id == 1)
  73.     {
  74.         for(new i; i < sizeof targ1; i++)
  75.         {
  76.             destroyed++;
  77.             DestroyObject(targ1[i]);
  78.             LoopStatus[0] = 0;
  79.         }
  80.     }
  81.     else if(id == 2)
  82.     {
  83.         for(new i; i < sizeof targ2; i++)
  84.         {
  85.             destroyed++;
  86.             DestroyObject(targ2[i]);
  87.             LoopStatus[1] = 0;
  88.         }
  89.     }
  90.     else if(id == 3)
  91.     {
  92.         for(new i; i < sizeof targ3; i++)
  93.         {
  94.             destroyed++;
  95.             DestroyObject(targ3[i]);
  96.             LoopStatus[2] = 0;
  97.         }
  98.     }
  99.     new string[128];
  100.     format(string, sizeof string, "%d objects have been deleted from target no#%d;", destroyed, id);
  101.     SendClientMessage(playerid, -1, string);
  102.     return 1;
  103. }
  104.  
  105. CMD:movetarget(playerid, params[])
  106. {
  107.     new id, Float:speedx;
  108.     if(sscanf(params, "df", id, speedx)) return SendClientMessage(playerid, -1, "{FF0000}{SYNTAX ERROR}: {FFFFFF}/movetarget [id] [speed]");
  109.     if(id > 3 && id <= 0) return SendClientMessage(playerid, -1, "{FF0000}{ERROR}: {FFFFFF}ID must be between 1 and 3. MAX TARGETS: three");
  110.     if(id == 1)
  111.     {
  112.         if(LoopStatus[0] == 0)
  113.         {
  114.             MoveObject(targ1[0], 292.87509, -130.86099, 1007.14838, speedx, 0.00000, 0.00000, 90.00000);
  115.             MoveObject(targ1[1], 292.87289, -130.87981, 1007.15472, speedx, 0.00000, 0.00000, 90.00000);
  116.             MoveObject(targ1[2], 292.87561, -130.85249, 1007.15472, speedx, 0.00000, 0.00000, 90.00000);
  117.             MoveObject(targ1[3], 292.87601, -130.87041, 1007.14551, speedx, 0.00000, 0.00000, 90.00000);
  118.             MoveObject(targ1[4], 292.87411, -130.88550, 1007.16388, speedx, 0.00000, 0.00000, 90.00000);
  119.             MoveObject(targ1[5], 292.87280, -130.88310, 1007.16541, speedx, 0.00000, 0.00000, 90.00000);
  120.             MoveObject(targ1[6], 292.87280, -130.85989, 1007.16541, speedx, 0.00000, 0.00000, 90.00000);
  121.             LoopStatus[0] = 1;
  122.             speed[0] = speedx;
  123.         }
  124.         else SendClientMessage(playerid, -1, "{FF0000}{ERROR}: {FFFFFF}The target is already in movement. Destroy them and create them again OR wait for them to stop moving.");
  125.     }
  126.     else if(id == 2)
  127.     {
  128.         if(LoopStatus[1] == 0)
  129.         {
  130.             MoveObject(targ2[0], 285.00000, -138.12511, 1007.16541, speedx, 0.00000, 0.00000, 90.00000);
  131.             MoveObject(targ2[1], 285.00000, -138.12750, 1007.16388, speedx, 0.00000, 0.00000, 90.00000);
  132.             MoveObject(targ2[2], 285.00000, -138.11240, 1007.14551, speedx, 0.00000, 0.00000, 90.00000);
  133.             MoveObject(targ2[3], 285.00000, -138.10190, 1007.16541, speedx, 0.00000, 0.00000, 90.00000);
  134.             MoveObject(targ2[4], 285.00000, -138.12180, 1007.15472, speedx, 0.00000, 0.00000, 90.00000);
  135.             MoveObject(targ2[5], 285.00000, -138.10300, 1007.14838, speedx, 0.00000, 0.00000, 90.00000);
  136.             MoveObject(targ2[6], 285.00000, -138.09450, 1007.15472, speedx, 0.00000, 0.00000, 90.00000);
  137.             LoopStatus[1] = 1;
  138.             speed[1] = speedx;
  139.         }
  140.         else SendClientMessage(playerid, -1, "{FF0000}{ERROR}: {FFFFFF}The target is already in movement. Destroy them and create them again OR wait for them to stop moving.");
  141.     }
  142.     else if(id == 3)
  143.     {
  144.         if(LoopStatus[2] == 0)
  145.         {
  146.             MoveObject(targ3[0], 288.00000, -130.86099, 1007.14838, speedx, 0.00000, 0.00000, 90.00000);
  147.             MoveObject(targ3[1], 288.00000, -130.89430, 1007.15472, speedx, 0.00000, 0.00000, 90.00000);
  148.             MoveObject(targ3[2], 288.00000, -130.85249, 1007.15472, speedx, 0.00000, 0.00000, 90.00000);
  149.             MoveObject(targ3[3], 288.00000, -130.87041, 1007.14551, speedx, 0.00000, 0.00000, 90.00000);
  150.             MoveObject(targ3[4], 288.00000, -130.88550, 1007.16388, speedx, 0.00000, 0.00000, 90.00000);
  151.             MoveObject(targ3[5], 288.00000, -130.88310, 1007.16541, speedx, 0.00000, 0.00000, 90.00000);
  152.             MoveObject(targ3[6], 288.00000, -130.85989, 1007.165412, speedx, 0.00000, 0.00000, 90.00000);
  153.             LoopStatus[2] = 1;
  154.             speed[2] = speedx;
  155.         }
  156.         else SendClientMessage(playerid, -1, "{FF0000}{ERROR}: {FFFFFF}The target is already in movement. Destroy them and create them again OR wait for them to stop moving.");
  157.     }
  158.     return 1;
  159. }
  160.  
  161. public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
  162. {
  163.     if(hittype == 3)
  164.     {
  165.         if(hitid == targ1[0]) DestroyObject(targ1[0]), targ1[0] = 0;
  166.         if(hitid == targ1[1]) DestroyObject(targ1[1]), targ1[1] = 0;
  167.         if(hitid == targ1[2]) DestroyObject(targ1[2]), targ1[2] = 0;
  168.         if(hitid == targ1[3]) DestroyObject(targ1[3]), targ1[3] = 0;
  169.         if(hitid == targ1[4]) DestroyObject(targ1[4]), targ1[4] = 0;
  170.         if(hitid == targ1[5]) DestroyObject(targ1[5]), targ1[5] = 0;
  171.         if(hitid == targ1[6]) DestroyObject(targ1[6]), targ1[6] = 0;
  172.         if(hitid == targ2[0]) DestroyObject(targ2[0]), targ2[0] = 0;
  173.         if(hitid == targ2[1]) DestroyObject(targ2[1]), targ2[1] = 0;
  174.         if(hitid == targ2[2]) DestroyObject(targ2[2]), targ2[2] = 0;
  175.         if(hitid == targ2[3]) DestroyObject(targ2[3]), targ2[3] = 0;
  176.         if(hitid == targ2[4]) DestroyObject(targ2[4]), targ2[4] = 0;
  177.         if(hitid == targ2[5]) DestroyObject(targ2[5]), targ2[5] = 0;
  178.         if(hitid == targ2[6]) DestroyObject(targ2[6]), targ2[6] = 0;
  179.         if(hitid == targ3[0]) DestroyObject(targ3[0]), targ3[0] = 0;
  180.         if(hitid == targ3[1]) DestroyObject(targ3[1]), targ3[1] = 0;
  181.         if(hitid == targ3[2]) DestroyObject(targ3[2]), targ3[2] = 0;
  182.         if(hitid == targ3[3]) DestroyObject(targ3[3]), targ3[3] = 0;
  183.         if(hitid == targ3[4]) DestroyObject(targ3[4]), targ3[4] = 0;
  184.         if(hitid == targ3[5]) DestroyObject(targ3[5]), targ3[5] = 0;
  185.         if(hitid == targ3[6]) DestroyObject(targ3[6]), targ3[6] = 0;
  186.     }
  187.     return 1;
  188. }
  189.  
  190. public OnObjectMoved(objectid)
  191. {
  192.     if(LoopStatus[0] == 1)
  193.     {
  194.         if(objectid == targ1[0] || objectid == targ1[1] || objectid == targ1[2] || objectid == targ1[3] || objectid == targ1[4] || objectid == targ1[5] || objectid == targ1[6])
  195.         {
  196.             MoveObject(targ1[0], 292.87509, -138.10300, 1007.14838,speed[0], 0.00000, 0.00000, 90.00000);
  197.             MoveObject(targ1[1], 292.87289, -138.12180, 1007.15472,speed[0], 0.00000, 0.00000, 90.00000);
  198.             MoveObject(targ1[2], 292.87561, -138.09450, 1007.15472,speed[0], 0.00000, 0.00000, 90.00000);
  199.             MoveObject(targ1[3], 292.87598, -138.11237, 1007.14551,speed[0], 0.00000, 0.00000, 90.00000);
  200.             MoveObject(targ1[4], 292.87411, -138.12750, 1007.16388,speed[0], 0.00000, 0.00000, 90.00000);
  201.             MoveObject(targ1[5], 292.87280, -138.12511, 1007.16541, speed[0], 0.00000, 0.00000, 90.00000);
  202.             MoveObject(targ1[6], 292.87280, -138.10190, 1007.16541, speed[0], 0.00000, 0.00000, 90.00000);
  203.             LoopStatus[0] = -1;
  204.         }
  205.     }
  206.     else if(LoopStatus[0] == -1)
  207.     {
  208.         if(objectid == targ1[0] || objectid == targ1[1] || objectid == targ1[2] || objectid == targ1[3] || objectid == targ1[4] || objectid == targ1[5] || objectid == targ1[6])
  209.         {
  210.             MoveObject(targ1[0], 292.87509, -130.86099, 1007.14838, speed[0], 0.00000, 0.00000, 90.00000);
  211.             MoveObject(targ1[1], 292.87289, -130.87981, 1007.15472, speed[0], 0.00000, 0.00000, 90.00000);
  212.             MoveObject(targ1[2], 292.87561, -130.85249, 1007.15472, speed[0], 0.00000, 0.00000, 90.00000);
  213.             MoveObject(targ1[3], 292.87601, -130.87041, 1007.14551, speed[0], 0.00000, 0.00000, 90.00000);
  214.             MoveObject(targ1[4], 292.87411, -130.88550, 1007.16388, speed[0], 0.00000, 0.00000, 90.00000);
  215.             MoveObject(targ1[5], 292.87280, -130.88310, 1007.16541, speed[0], 0.00000, 0.00000, 90.00000);
  216.             MoveObject(targ1[6], 292.87280, -130.85989, 1007.16541, speed[0], 0.00000, 0.00000, 90.00000);
  217.             LoopStatus[0] = 1;
  218.         }
  219.        
  220.     }
  221.     if(LoopStatus[1] == 1)
  222.     {
  223.         if(objectid == targ2[0] || objectid == targ2[1] || objectid == targ2[2] || objectid == targ2[3] || objectid == targ2[4] || objectid == targ2[5] || objectid == targ2[6])
  224.         {
  225.             MoveObject(targ2[0], 285.00000, -130.88310, 1007.16541, speed[1], 0.00000, 0.00000, 90.00000);
  226.             MoveObject(targ2[1], 285.00000, -130.88550, 1007.16388,speed[1], 0.00000, 0.00000, 90.00000);
  227.             MoveObject(targ2[2], 285.00000, -130.87041, 1007.14551,speed[1], 0.00000, 0.00000, 90.00000);
  228.             MoveObject(targ2[3], 285.00000, -130.85989, 1007.16541,speed[1], 0.00000, 0.00000, 90.00000);
  229.             MoveObject(targ2[4], 285.10001, -130.87981, 1007.15472,speed[1], 0.00000, 0.00000, 90.00000);
  230.             MoveObject(targ2[5], 285.00000, -130.86099, 1007.14838,speed[1], 0.00000, 0.00000, 90.00000);
  231.             MoveObject(targ2[6], 285.10001, -130.85249, 1007.15472,speed[1], 0.00000, 0.00000, 90.00000);
  232.             LoopStatus[1] = -1;
  233.         }
  234.     }
  235.     else if(LoopStatus[1] == -1)
  236.     {
  237.         if(objectid == targ2[0] || objectid == targ2[1] || objectid == targ2[2] || objectid == targ2[3] || objectid == targ2[4] || objectid == targ2[5] || objectid == targ2[6])
  238.         {
  239.             MoveObject(targ2[0], 285.00000, -138.12511, 1007.16541, speed[1], 0.00000, 0.00000, 90.00000);
  240.             MoveObject(targ2[1], 285.00000, -138.12750, 1007.16388, speed[1], 0.00000, 0.00000, 90.00000);
  241.             MoveObject(targ2[2], 285.00000, -138.11240, 1007.14551, speed[1], 0.00000, 0.00000, 90.00000);
  242.             MoveObject(targ2[3], 285.00000, -138.10190, 1007.16541, speed[1], 0.00000, 0.00000, 90.00000);
  243.             MoveObject(targ2[4], 285.00000, -138.12180, 1007.15472, speed[1], 0.00000, 0.00000, 90.00000);
  244.             MoveObject(targ2[5], 285.00000, -138.10300, 1007.14838, speed[1], 0.00000, 0.00000, 90.00000);
  245.             MoveObject(targ2[6], 285.00000, -138.09450, 1007.15472, speed[1], 0.00000, 0.00000, 90.00000);
  246.             LoopStatus[1] = 1;
  247.         }
  248.     }
  249.     if(LoopStatus[2] == 1)
  250.     {
  251.         if(objectid == targ3[0] || objectid == targ3[1] || objectid == targ3[2] || objectid == targ3[3] || objectid == targ3[4] || objectid == targ3[5] || objectid == targ3[6])
  252.         {
  253.             MoveObject(targ3[0], 288.00000, -138.10300, 1007.14838, speed[2], 0.00000, 0.00000, 90.00000);
  254.             MoveObject(targ3[1], 288.00000, -138.12180, 1007.15472,speed[2], 0.00000, 0.00000, 90.00000);
  255.             MoveObject(targ3[2], 288.00000, -138.09450, 1007.15472,speed[2], 0.00000, 0.00000, 90.00000);
  256.             MoveObject(targ3[3], 288.00000, -138.11240, 1007.14551,speed[2], 0.00000, 0.00000, 90.00000);
  257.             MoveObject(targ3[4], 288.00000, -138.12750, 1007.16388,speed[2], 0.00000, 0.00000, 90.00000);
  258.             MoveObject(targ3[5], 288.00000, -138.12511, 1007.16541,speed[2], 0.00000, 0.00000, 90.00000);
  259.             MoveObject(targ3[6], 288.00000, -138.10190, 1007.16541,speed[2], 0.00000, 0.00000, 90.00000);
  260.             LoopStatus[2] = -1;
  261.         }
  262.     }
  263.     else if(LoopStatus[2] == -1)
  264.     {
  265.         if(objectid == targ3[0] || objectid == targ3[1] || objectid == targ3[2] || objectid == targ3[3] || objectid == targ3[4] || objectid == targ3[5] || objectid == targ3[6])
  266.         {
  267.             MoveObject(targ3[0], 288.00000, -130.86099, 1007.14838, speed[2], 0.00000, 0.00000, 90.00000);
  268.             MoveObject(targ3[1], 288.00000, -130.89430, 1007.15472, speed[2], 0.00000, 0.00000, 90.00000);
  269.             MoveObject(targ3[2], 288.00000, -130.85249, 1007.15472, speed[2], 0.00000, 0.00000, 90.00000);
  270.             MoveObject(targ3[3], 288.00000, -130.87041, 1007.14551, speed[2], 0.00000, 0.00000, 90.00000);
  271.             MoveObject(targ3[4], 288.00000, -130.88550, 1007.16388, speed[2], 0.00000, 0.00000, 90.00000);
  272.             MoveObject(targ3[5], 288.00000, -130.88310, 1007.16541, speed[2], 0.00000, 0.00000, 90.00000);
  273.             MoveObject(targ3[6], 288.00000, -130.85989, 1007.165412, speed[2], 0.00000, 0.00000, 90.00000);
  274.             LoopStatus[2] = 1;
  275.         }
  276.     }
  277.     return 1;
  278. }
  279.  
  280. CMD:god(playerid)
  281. {
  282.     SetPlayerHealth(playerid, 10000);
  283.     SetPlayerArmour(playerid, 10000);
  284.     return 1;
  285. }
  286.  
  287. CMD:ready(playerid)
  288. {
  289.     GivePlayerWeapon(playerid, 24, 100);
  290.     GivePlayerWeapon(playerid, 30, 100);
  291.     SetPlayerPos(playerid, 302.292877,-143.139099,1004.062500);
  292.     SetPlayerInterior(playerid, 7);
  293.     return 1;
  294. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement