Advertisement
Guest User

sbJail System

a guest
Jul 13th, 2015
1,111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 25.92 KB | None | 0 0
  1. /*
  2.  
  3.  
  4.             sbJail System
  5.             SecretBoss's Jail System
  6.            
  7.                 - V 1.0 -
  8.             • /jail command for RCON
  9.             • /unjail command for RCON
  10.             • /jailed display all jailed players
  11.             • Custom jail interior
  12.             • Player will get unjail after the time passes
  13.             • Use ! to speak on other jailed players
  14.             • Checkpoints to leave prison
  15.            
  16.                 - NOTES -
  17.             This system is using streamer
  18.             plugin to load the objects,
  19.             to make objects loading you
  20.             must include it in your
  21.             server.cfg file
  22.            
  23. */
  24.  
  25. //================================== Includes ==========================================//
  26.  
  27. #include        <a_samp>
  28. #include        <foreach>
  29. #include        <sscanf2>
  30. #include        <streamer>
  31. #include        <zcmd>
  32.  
  33. //================================== Defines =========================================//
  34.  
  35. #define                 white                               "{FFFFFF}"
  36. #define                 grey                                "{AFAFAF}"
  37. #define                 orange                              "{FF8000}"
  38. #define                 red                                 "{FF0000}"
  39. #define                 yellow                              "{FFFF00}"
  40. #define                 green                               "{33CC33}"
  41. #define                 blue                                "{0080FF}"
  42.  
  43. #define                 SCM                                 SendClientMessage   // Saves time
  44. #define                 DIALOG_JAILED                       1                   // Change this if you already have a slot on 1
  45.  
  46. //================================== Variables =======================================//
  47.  
  48. new JailCP[MAX_PLAYERS];
  49.  
  50. //================================== Enum ============================================//
  51.  
  52. enum sbJail
  53. {
  54.     pJailed,
  55.     pJailedSec,
  56. }
  57. new JailData[MAX_PLAYERS][sbJail];
  58.  
  59. //================================== Callbacks =======================================//
  60.  
  61. public OnFilterScriptInit()
  62. {
  63.     // Jail Map
  64.     CreateDynamicObject(7191,1759.3388672,-1602.4755859,1734.9488525,0.0000000,359.2474365,179.9945068); //
  65.     CreateDynamicObject(14856,1757.1634521,-1588.1893311,1735.8120117,0.0000000,0.0000000,182.0000000); //
  66.     CreateDynamicObject(8661,1775.4768066,-1555.7030029,1733.9429932,0.0000000,0.0000000,0.0000000); //
  67.     CreateDynamicObject(8661,1775.5107422,-1575.5996094,1733.9429932,0.0000000,0.0000000,0.0000000); //
  68.     CreateDynamicObject(8661,1773.9160156,-1585.5395508,1743.4429932,271.9995117,179.9945068,179.9945068); //
  69.     CreateDynamicObject(8661,1769.3701172,-1560.2636719,1743.8931885,90.0000000,179.9945068,179.9945068); //
  70.     CreateDynamicObject(8661,1755.5429688,-1565.8349609,1743.8681641,90.0000000,164.4987183,285.4902954); //
  71.     CreateDynamicObject(8661,1780.4873047,-1566.7968750,1743.9184570,271.9940186,179.9945068,270.7415771); //
  72.     CreateDynamicObject(7191,1763.6158447,-1602.3254395,1734.9488525,0.0000000,359.2474365,179.9945068); //
  73.     CreateDynamicObject(7191,1767.8378906,-1602.2255859,1734.9488525,0.0000000,359.2474365,179.9945068); //
  74.     CreateDynamicObject(14856,1779.0579834,-1587.5596924,1735.8120117,0.0000000,0.0000000,1.2495117); //
  75.     CreateDynamicObject(7191,1772.0864258,-1602.0699463,1734.9488525,0.0000000,359.2474365,179.9945068); //
  76.     CreateDynamicObject(7191,1776.3354492,-1601.9881592,1734.9488525,0.0000000,359.2474365,179.9945068); //
  77.     CreateDynamicObject(7191,1780.6092529,-1601.9577637,1734.9488525,0.0000000,359.2474365,179.9945068); //
  78.     CreateDynamicObject(7191,1780.6083984,-1601.9570312,1738.8985596,0.0000000,359.2474365,179.9945068); //
  79.     CreateDynamicObject(7191,1776.3553467,-1601.9653320,1738.8985596,0.0000000,359.2474365,179.9945068); //
  80.     CreateDynamicObject(7191,1772.1040039,-1602.0228271,1738.8985596,0.0000000,359.2474365,179.9945068); //
  81.     CreateDynamicObject(7191,1767.8559570,-1602.2055664,1738.8985596,0.0000000,359.2474365,179.9945068); //
  82.     CreateDynamicObject(7191,1763.6304932,-1602.2875977,1738.8985596,0.0000000,359.2474365,179.9945068); //
  83.     CreateDynamicObject(7191,1759.3823242,-1602.4952393,1738.8985596,0.0000000,359.2474365,179.9945068); //
  84.     CreateDynamicObject(8661,1774.9119873,-1585.8381348,1737.7172852,0.0000000,0.0000000,0.0000000); //
  85.     CreateDynamicObject(8661,1774.9062500,-1586.2128906,1737.7172852,0.0000000,179.9999390,0.0000000); //
  86.     CreateDynamicObject(14856,1757.1630859,-1588.1884766,1739.5620117,0.0000000,0.0000000,181.9995117); //
  87.     CreateDynamicObject(14856,1779.0576172,-1587.5595703,1739.5625000,0.0000000,0.0000000,1.2469482); //
  88.     CreateDynamicObject(14856,1756.6878662,-1558.7972412,1735.8120117,0.0000000,0.0000000,181.4970093); //
  89.     CreateDynamicObject(7191,1759.4707031,-1544.4438477,1734.9488525,0.0000000,359.2474365,359.9945068); //
  90.     CreateDynamicObject(7191,1763.7202148,-1544.3764648,1734.9488525,0.0000000,359.2419434,359.9890137); //
  91.     CreateDynamicObject(7191,1767.9682617,-1544.2838135,1734.9488525,0.0000000,359.2419434,359.9890137); //
  92.     CreateDynamicObject(14856,1778.7756348,-1558.3518066,1735.8120117,0.0000000,0.0000000,1.2469482); //
  93.     CreateDynamicObject(7191,1772.2685547,-1544.3099365,1734.9488525,0.0000000,359.2419434,359.9890137); //
  94.     CreateDynamicObject(7191,1776.5231934,-1544.2121582,1734.9488525,0.0000000,359.2419434,359.9890137); //
  95.     CreateDynamicObject(7191,1780.5192871,-1544.1015625,1734.9488525,0.0000000,359.2419434,0.4890137); //
  96.     CreateDynamicObject(8661,1775.4921875,-1559.5787354,1737.6934814,0.0000000,0.0000000,0.0000000); //
  97.     CreateDynamicObject(7191,1780.4685059,-1544.1010742,1738.8750000,0.0000000,359.2419434,0.4888916); //
  98.     CreateDynamicObject(7191,1776.2663574,-1544.2237549,1738.8750000,0.0000000,359.2419434,0.4888916); //
  99.     CreateDynamicObject(7191,1772.0139160,-1544.3225098,1738.8750000,0.0000000,359.2419434,0.4888916); //
  100.     CreateDynamicObject(7191,1767.7136230,-1544.3187256,1738.8750000,0.0000000,359.2419434,0.4888916); //
  101.     CreateDynamicObject(7191,1763.4619141,-1544.3909912,1738.8750000,0.0000000,359.2419434,0.4888916); //
  102.     CreateDynamicObject(7191,1759.2349854,-1544.4659424,1738.8750000,0.0000000,359.2419434,0.4888916); //
  103.     CreateDynamicObject(14856,1756.6875000,-1558.7968750,1739.5617676,0.0000000,0.0000000,181.4941406); //
  104.     CreateDynamicObject(14856,1778.7753906,-1558.3515625,1739.5620117,0.0000000,0.0000000,1.2469482); //
  105.     CreateDynamicObject(8661,1775.4921875,-1559.5781250,1737.6934814,0.0000000,179.9945068,0.0000000); //
  106.     CreateDynamicObject(8661,1758.6054688,-1576.8515625,1741.3966064,0.0000000,180.2471924,0.0000000); //
  107.     CreateDynamicObject(8661,1796.8046875,-1573.7988281,1737.6929932,0.0000000,0.0000000,0.0000000); //
  108.     CreateDynamicObject(8661,1796.8046875,-1573.7988281,1737.6929932,0.0000000,180.0000000,0.0000000); //
  109.     CreateDynamicObject(8614,1759.4495850,-1570.4389648,1736.4675293,0.0000000,0.0000000,0.0000000); //
  110.     CreateDynamicObject(970,1774.7596436,-1569.5825195,1738.2449951,0.0000000,0.0000000,0.0000000); //
  111.     CreateDynamicObject(970,1770.6550293,-1569.5819092,1738.2449951,0.0000000,0.0000000,0.0000000); //
  112.     CreateDynamicObject(970,1766.5239258,-1569.5954590,1738.2449951,0.0000000,0.0000000,0.0000000); //
  113.     CreateDynamicObject(970,1764.4404297,-1569.5966797,1738.2449951,0.0000000,0.0000000,0.0000000); //
  114.     CreateDynamicObject(970,1760.3516846,-1569.6000977,1738.2449951,0.0000000,0.0000000,0.0000000); //
  115.     CreateDynamicObject(970,1776.8194580,-1571.7288818,1738.2695312,0.0000000,0.0000000,90.5000000); //
  116.     CreateDynamicObject(970,1776.8634033,-1573.7910156,1738.2449951,0.0000000,0.0000000,90.4998779); //
  117.     CreateDynamicObject(970,1774.8477783,-1575.8577881,1738.2449951,0.0000000,0.0000000,180.4998779); //
  118.     CreateDynamicObject(970,1770.7470703,-1575.8815918,1738.2449951,0.0000000,0.0000000,180.4998779); //
  119.     CreateDynamicObject(970,1766.6242676,-1575.9301758,1738.2449951,0.0000000,0.0000000,180.4998779); //
  120.     CreateDynamicObject(970,1762.4991455,-1575.9755859,1738.2449951,0.0000000,0.0000000,180.4998779); //
  121.     CreateDynamicObject(970,1758.3935547,-1576.0017090,1738.2449951,0.0000000,0.0000000,180.4998779); //
  122.     CreateDynamicObject(970,1754.2669678,-1576.0084229,1738.2449951,0.0000000,0.0000000,180.4998779); //
  123.     CreateDynamicObject(970,1753.4927979,-1576.0433350,1738.2449951,0.0000000,0.0000000,180.4998779); //
  124.     CreateDynamicObject(8661,1757.4633789,-1557.0551758,1741.3966064,0.0000000,180.2471924,0.0000000); //
  125.     CreateDynamicObject(8661,1761.1757812,-1557.2333984,1741.4466553,0.0000000,359.7418213,0.0000000); //
  126.     CreateDynamicObject(8661,1760.8068848,-1557.2219238,1741.3715820,0.0000000,180.2416992,0.0000000); //
  127.     CreateDynamicObject(8661,1758.5277100,-1574.4494629,1741.5217285,0.0000000,0.2471924,0.0000000); //
  128.     CreateDynamicObject(8661,1763.0654297,-1589.0302734,1741.5217285,0.0000000,0.2471924,0.0000000); //
  129.     CreateDynamicObject(8661,1761.8243408,-1589.0578613,1741.3966064,0.0000000,180.2471924,0.0000000); //
  130.     CreateDynamicObject(14387,1780.9128418,-1577.6300049,1740.5070801,0.0000000,0.0000000,92.0000000); //
  131.     CreateDynamicObject(14387,1780.7963867,-1574.7548828,1738.7320557,0.0000000,0.0000000,91.9995117); //
  132.     CreateDynamicObject(14387,1780.6972656,-1574.7872314,1738.7320557,0.0000000,113.9999695,269.9996338); //
  133.     CreateDynamicObject(14387,1780.6909180,-1577.2197266,1740.2563477,0.0000000,113.9996338,269.9945068); //
  134.     CreateDynamicObject(970,1778.5164795,-1577.0081787,1742.0205078,0.0000000,0.0000000,90.4943848); //
  135.     CreateDynamicObject(8661,1775.0488281,-1576.2343750,1744.9672852,0.0000000,179.9945068,0.0000000); //
  136.     CreateDynamicObject(8661,1775.4042969,-1562.4902344,1746.9672852,0.0000000,179.9945068,0.0000000); //
  137.     CreateDynamicObject(8614,1754.3951416,-1570.4387207,1732.7175293,0.0000000,179.2500000,0.0000000); //
  138.     CreateDynamicObject(2205,1778.9362793,-1571.5363770,1733.9429932,0.0000000,0.0000000,0.0000000); //
  139.     CreateDynamicObject(2205,1778.0222168,-1572.8785400,1733.9429932,0.0000000,0.0000000,89.5000000); //
  140.     CreateDynamicObject(2205,1779.3442383,-1573.8327637,1733.9429932,0.0000000,0.0000000,178.9946289); //
  141.     CreateDynamicObject(2190,1779.5219727,-1571.4400635,1734.8795166,0.0000000,0.0000000,0.0000000); //
  142.     CreateDynamicObject(2190,1777.9218750,-1572.6606445,1734.8795166,0.0000000,0.0000000,89.2500000); //
  143.     CreateDynamicObject(2776,1779.9310303,-1572.2644043,1734.4404297,0.0000000,0.0000000,232.0000000); //
  144.     CreateDynamicObject(14819,1780.7757568,-1575.8271484,1735.0928955,358.2500305,0.2501221,91.2576599); //
  145.     CreateDynamicObject(14401,1767.8037109,-1573.5908203,1734.2686768,0.0000000,0.0000000,91.9940186); //
  146.     CreateDynamicObject(3858,1760.9343262,-1571.0079346,1744.4094238,0.0000000,0.0000000,260.0000000); //
  147.     CreateDynamicObject(8661,1778.7847900,-1553.5157471,1751.2926025,90.0000000,180.0054932,269.2335205); //
  148.     CreateDynamicObject(8661,1778.3208008,-1567.1134033,1751.2425537,89.2498169,269.9998169,89.2366333); //
  149.     CreateDynamicObject(970,1778.4766846,-1572.8826904,1742.0205078,0.0000000,0.0000000,90.9943848); //
  150.     CreateDynamicObject(3858,1760.9335938,-1571.0078125,1744.4094238,0.0000000,0.0000000,79.9969482); //
  151.     CreateDynamicObject(3089,1764.1071777,-1568.7672119,1742.8266602,0.0000000,0.0000000,34.0000000); //
  152.     CreateDynamicObject(2173,1758.0897217,-1572.2486572,1741.5235596,0.0000000,0.0000000,216.0000000); //
  153.     CreateDynamicObject(2173,1760.3353271,-1570.6602783,1741.5235596,0.0000000,0.0000000,215.9967041); //
  154.     CreateDynamicObject(2173,1762.6174316,-1569.1575928,1741.5235596,0.0000000,0.0000000,215.2467041); //
  155.     CreateDynamicObject(2173,1762.4538574,-1570.6696777,1741.5235596,0.0000000,0.0000000,35.4941406); //
  156.     CreateDynamicObject(2173,1760.2321777,-1572.2497559,1741.5235596,0.0000000,0.0000000,35.4913330); //
  157.     CreateDynamicObject(2173,1757.9882812,-1573.8432617,1741.5235596,0.0000000,0.0000000,35.4913330); //
  158.     CreateDynamicObject(1671,1763.5197754,-1571.3277588,1741.9614258,0.0000000,0.0000000,218.0000000); //
  159.     CreateDynamicObject(1671,1761.2962646,-1572.9020996,1741.9614258,0.0000000,0.0000000,215.4962311); //
  160.     CreateDynamicObject(1671,1759.0114746,-1574.5195312,1741.9614258,0.0000000,0.0000000,215.4913330); //
  161.     CreateDynamicObject(1671,1757.0166016,-1571.6016846,1741.9614258,0.0000000,0.0000000,31.4913330); //
  162.     CreateDynamicObject(1671,1759.2440186,-1569.9787598,1741.9614258,0.0000000,0.0000000,35.4868164); //
  163.     CreateDynamicObject(1671,1761.5261230,-1568.5364990,1741.9614258,0.0000000,0.0000000,35.4858398); //
  164.     CreateDynamicObject(2187,1760.5855713,-1570.3542480,1741.5122070,0.0000000,0.0000000,214.0000000); //
  165.     CreateDynamicObject(2187,1760.5849609,-1570.3535156,1742.2379150,0.0000000,0.0000000,213.9971924); //
  166.     CreateDynamicObject(2187,1760.8128662,-1569.0754395,1742.2379150,0.0000000,0.0000000,36.4971619); //
  167.     CreateDynamicObject(2187,1760.8125000,-1569.0751953,1741.4381104,0.0000000,0.0000000,36.4965820); //
  168.     CreateDynamicObject(2187,1758.2767334,-1571.8021240,1742.2379150,0.0000000,0.0000000,213.9971924); //
  169.     CreateDynamicObject(2187,1758.2763672,-1571.8017578,1741.4121094,0.0000000,0.0000000,213.9971924); //
  170.     CreateDynamicObject(2187,1758.5090332,-1570.4970703,1741.4121094,0.0000000,0.0000000,34.2471619); //
  171.     CreateDynamicObject(2187,1758.5087891,-1570.4970703,1742.2366943,0.0000000,0.0000000,34.2443848); //
  172.     CreateDynamicObject(2187,1762.1694336,-1571.0229492,1741.5061035,0.0000000,0.0000000,34.0000000); //
  173.     CreateDynamicObject(2187,1762.1689453,-1571.0224609,1742.2318115,0.0000000,0.0000000,33.9971924); //
  174.     CreateDynamicObject(2187,1759.9272461,-1572.5755615,1742.2318115,0.0000000,0.0000000,33.9971924); //
  175.     CreateDynamicObject(2187,1759.9267578,-1572.5751953,1741.4060059,0.0000000,0.0000000,33.9971924); //
  176.     CreateDynamicObject(2187,1759.6702881,-1573.8476562,1742.2379150,0.0000000,0.0000000,213.9971924); //
  177.     CreateDynamicObject(2187,1759.6699219,-1573.8476562,1741.4621582,0.0000000,0.0000000,213.9971924); //
  178.     CreateDynamicObject(2187,1761.9296875,-1572.3258057,1742.2379150,0.0000000,0.0000000,213.9971924); //
  179.     CreateDynamicObject(2187,1761.9296875,-1572.3251953,1741.4121094,0.0000000,0.0000000,213.9971924); //
  180.     CreateDynamicObject(8661,1766.4588623,-1559.2015381,1751.2675781,271.2688599,168.6280518,259.3778076); //
  181.     CreateDynamicObject(8661,1766.9233398,-1559.1123047,1751.2675781,271.2634583,168.6236572,78.8761292); //
  182.     CreateDynamicObject(2136,1767.3325195,-1569.9263916,1741.4822998,0.0000000,0.0000000,90.0000000); //
  183.     CreateDynamicObject(2135,1767.3481445,-1570.8608398,1741.4837646,0.0000000,0.0000000,90.0000000); //
  184.     CreateDynamicObject(2828,1778.9792480,-1573.7318115,1734.8795166,0.0000000,0.0000000,326.0000000); //
  185.     CreateDynamicObject(2139,1767.3896484,-1571.8475342,1741.4835205,0.0000000,0.0000000,90.0000000); //
  186.     CreateDynamicObject(2139,1767.3603516,-1567.9683838,1741.4835205,0.0000000,0.0000000,90.0000000); //
  187.     CreateDynamicObject(2140,1767.4088135,-1572.8157959,1741.4838867,0.0000000,0.0000000,87.0000000); //
  188.     CreateDynamicObject(2164,1776.0461426,-1567.0831299,1741.4696045,0.0000000,0.0000000,359.2500000); //
  189.     CreateDynamicObject(2163,1774.2558594,-1567.1708984,1741.5002441,0.0000000,0.0000000,0.0000000); //
  190.     CreateDynamicObject(2208,1767.0778809,-1585.1064453,1741.5029297,0.0000000,0.0000000,91.5000000); //
  191.     CreateDynamicObject(2208,1767.0032959,-1582.4022217,1741.5029297,0.0000000,0.0000000,153.4996338); //
  192.     CreateDynamicObject(2208,1764.4655762,-1581.1422119,1741.5029297,0.0000000,0.0000000,153.4954834); //
  193.     CreateDynamicObject(2208,1762.1202393,-1579.9860840,1741.5029297,0.0000000,0.0000000,183.4954834); //
  194.     CreateDynamicObject(2208,1759.5886230,-1580.1437988,1741.5029297,0.0000000,0.0000000,183.4936523); //
  195.     CreateDynamicObject(2637,1770.8051758,-1570.4884033,1741.8735352,0.0000000,0.0000000,90.0000000); //
  196.     CreateDynamicObject(2637,1770.8111572,-1572.3884277,1741.8735352,0.0000000,0.0000000,90.0000000); //
  197.     CreateDynamicObject(2776,1771.9637451,-1572.6562500,1741.9592285,0.0000000,0.0000000,272.0000000); //
  198.     CreateDynamicObject(2776,1771.9259033,-1571.4854736,1741.9592285,0.0000000,0.0000000,271.9995117); //
  199.     CreateDynamicObject(2776,1771.9973145,-1570.2535400,1741.9592285,0.0000000,0.0000000,271.9995117); //
  200.     CreateDynamicObject(2776,1770.2476807,-1572.9060059,1741.9592285,0.0000000,0.0000000,91.9995117); //
  201.     CreateDynamicObject(2776,1769.6883545,-1571.5091553,1741.9592285,0.0000000,0.0000000,91.9940186); //
  202.     CreateDynamicObject(2776,1769.7230225,-1570.2498779,1741.9592285,0.0000000,0.0000000,91.9940186); //
  203.     CreateDynamicObject(2776,1770.0451660,-1567.3060303,1741.9592285,0.0000000,0.0000000,1.7440186); //
  204.     CreateDynamicObject(2776,1770.0449219,-1567.3056641,1742.1093750,0.0000000,0.0000000,1.7413330); //
  205.     CreateDynamicObject(2776,1770.0449219,-1567.3056641,1742.2845459,0.0000000,0.0000000,1.7413330); //
  206.     CreateDynamicObject(1713,1777.7474365,-1571.4503174,1741.4388428,0.0000000,0.0000000,272.0000000); //
  207.     CreateDynamicObject(1713,1776.7827148,-1574.2749023,1741.4388428,0.0000000,0.0000000,178.9995117); //
  208.     CreateDynamicObject(3962,1775.3117676,-1571.7060547,1741.5023193,0.0392456,90.4985352,359.7497253); //
  209.     CreateDynamicObject(8661,1778.1085205,-1554.0021973,1751.2926025,90.0000000,179.9945068,90.9919434); //
  210.     CreateDynamicObject(1429,1774.6732178,-1567.4151611,1742.6916504,0.0000000,0.0000000,0.0000000); //
  211.     CreateDynamicObject(2964,1773.1020508,-1578.4581299,1741.4648438,0.0000000,0.0000000,180.0000000); //
  212.     CreateDynamicObject(2008,1756.0985107,-1583.4029541,1741.5482178,0.0000000,0.0000000,0.0000000); //
  213.     CreateDynamicObject(2008,1759.1009521,-1583.3901367,1741.5482178,0.0000000,0.0000000,0.0000000); //
  214.     CreateDynamicObject(2008,1762.0266113,-1583.3752441,1741.5482178,0.0000000,0.0000000,0.0000000); //
  215.     CreateDynamicObject(2190,1760.8291016,-1580.0938721,1742.3681641,0.0000000,0.0000000,342.0000000); //
  216.     CreateDynamicObject(2190,1767.2740479,-1584.0732422,1742.3681641,0.0000000,0.0000000,259.9989014); //
  217.     CreateDynamicObject(2776,1762.8975830,-1584.4860840,1742.0198975,0.0000000,0.0000000,184.0000000); //
  218.     CreateDynamicObject(2776,1759.9997559,-1584.6210938,1742.0198975,0.0000000,0.0000000,183.9990234); //
  219.     CreateDynamicObject(2776,1756.9647217,-1584.6823730,1742.0198975,0.0000000,0.0000000,183.9990234); //
  220.     CreateDynamicObject(2776,1760.1267090,-1581.2440186,1742.0198975,0.0000000,0.0000000,135.9990234); //
  221.     CreateDynamicObject(2776,1765.6030273,-1584.4368896,1742.0198975,0.0000000,0.0000000,147.9942627); //
  222.     CreateDynamicObject(2602,1758.9934082,-1561.9260254,1734.4664307,0.0000000,0.0000000,268.0000000); //
  223.     CreateDynamicObject(2602,1763.2186279,-1561.8996582,1734.4664307,0.0000000,0.0000000,267.9949951); //
  224.     CreateDynamicObject(2602,1767.5178223,-1561.8721924,1734.4664307,0.0000000,0.0000000,267.9949951); //
  225.     CreateDynamicObject(2602,1771.8062744,-1561.8575439,1734.4664307,0.0000000,0.0000000,267.9949951); //
  226.     CreateDynamicObject(2602,1776.0793457,-1561.9962158,1734.4664307,0.0000000,0.0000000,267.9949951); //
  227.     CreateDynamicObject(2602,1780.0523682,-1561.7204590,1734.4664307,0.0000000,0.0000000,267.9949951); //
  228.     CreateDynamicObject(2602,1780.1115723,-1582.5888672,1734.4664307,0.0000000,0.0000000,267.9949951); //
  229.     CreateDynamicObject(2602,1775.8510742,-1583.1767578,1734.4664307,0.0000000,0.0000000,267.9949951); //
  230.     CreateDynamicObject(2602,1771.5657959,-1583.7680664,1734.4664307,0.0000000,0.0000000,267.9949951); //
  231.     CreateDynamicObject(2602,1767.3300781,-1584.3520508,1734.4664307,0.0000000,0.0000000,267.9949951); //
  232.     CreateDynamicObject(2602,1762.9997559,-1584.0653076,1734.4664307,0.0000000,0.0000000,267.9949951); //
  233.     CreateDynamicObject(2602,1758.8037109,-1584.3908691,1734.4664307,0.0000000,0.0000000,267.9949951); //
  234.     CreateDynamicObject(1800,1756.0372314,-1585.6010742,1733.9429932,0.0000000,0.0000000,0.0000000); //
  235.     CreateDynamicObject(1800,1759.9868164,-1585.6198730,1733.9429932,0.0000000,0.0000000,0.0000000); //
  236.     CreateDynamicObject(1800,1764.2355957,-1585.6398926,1733.9429932,0.0000000,0.0000000,0.0000000); //
  237.     CreateDynamicObject(1800,1768.4360352,-1585.6601562,1733.9429932,0.0000000,0.0000000,0.0000000); //
  238.     CreateDynamicObject(1800,1772.6612549,-1585.6807861,1733.9429932,0.0000000,0.0000000,0.0000000); //
  239.     CreateDynamicObject(1800,1776.9354248,-1585.7015381,1733.9429932,0.0000000,0.0000000,0.0000000); //
  240.     CreateDynamicObject(1800,1777.1528320,-1565.1075439,1733.9429932,0.0000000,0.0000000,0.0000000); //
  241.     CreateDynamicObject(1800,1772.9020996,-1565.1015625,1733.9429932,0.0000000,0.0000000,0.0000000); //
  242.     CreateDynamicObject(1800,1768.6270752,-1565.1192627,1733.9429932,0.0000000,0.0000000,0.0000000); //
  243.     CreateDynamicObject(1800,1764.3767090,-1565.1132812,1733.9429932,0.0000000,0.0000000,0.0000000); //
  244.     CreateDynamicObject(1800,1760.1014404,-1565.1063232,1733.9429932,0.0000000,0.0000000,0.0000000); //
  245.     CreateDynamicObject(1800,1756.1010742,-1565.0988770,1733.9429932,0.0000000,0.0000000,0.0000000); //
  246.  
  247.     // Jail Release Timer
  248.     SetTimer("JailRelease", 1000, true);
  249.    
  250.     // Jail Checkpoint
  251.     JailCP[0] = CreateDynamicCP(1780.1425, -1576.6736, 1734.9430, 1.5, -1, 3, -1, 100.0);
  252.     Create3DTextLabel("["red"EXIT"white"]", -1, 1780.1425, -1576.6736, 1734.9430 + 0.2, 7.5, 0, 1);
  253.    
  254.     return 1;
  255. }
  256.  
  257. public OnPlayerText(playerid, text[])
  258. {
  259.     if(text[0] == '!' && JailData[playerid][pJailed] == 1)
  260.     {
  261.         new string[128];
  262.         format(string, sizeof(string), ""orange"[JAIL RADIO] Prisoner %s(%d): "white"%s", pName(playerid), playerid, text[1]);
  263.         SendMessageToJail(-1, string);
  264.         return 0;
  265.     }
  266.     return 1;
  267. }
  268.  
  269. public OnPlayerEnterDynamicCP(playerid, checkpointid)
  270. {
  271.     if(checkpointid == JailCP[0])
  272.     {
  273.         SpawnPlayer(playerid);
  274.     }
  275.     return 1;
  276. }
  277.  
  278. forward JailRelease(playerid);
  279. public JailRelease(playerid)
  280. {
  281.     new string[128];
  282.  
  283.     foreach(new i : Player)
  284.     {
  285.         if(JailData[i][pJailed] == 1)
  286.         {
  287.             if(JailData[i][pJailedSec] >= 1)
  288.             {
  289.                 JailData[i][pJailedSec] --;
  290.             }
  291.             else if(JailData[i][pJailedSec] == 0)
  292.             {
  293.                 JailData[i][pJailed] = 0;
  294.                
  295.                 SetPlayerPos(playerid, 1769.1606,-1576.8625,1734.9430);
  296.                 SetPlayerInterior(playerid, 3);
  297.                 SetCameraBehindPlayer(playerid);
  298.  
  299.                 format(string, sizeof(string), ""grey"- AS - "white"%s("yellow"%d"white") has been released from jail "orange"[REASON: Time Passed]", pName(i), i);
  300.                 SendClientMessageToAll(-1, string);
  301.             }
  302.         }
  303.     }
  304.     return 1;
  305. }
  306.  
  307. forward ObjectsLoading(playerid);
  308. public ObjectsLoading(playerid)
  309. {
  310.     SetTimerEx("ObjectsLoaded", 2000, false, "i", playerid);
  311.     TogglePlayerControllable(playerid, false);
  312.     GameTextForPlayer(playerid, "~w~Objects ~r~loading", 1000, 5);
  313.     return 1;
  314. }
  315.  
  316. forward ObjectsLoaded(playerid);
  317. public ObjectsLoaded(playerid)
  318. {
  319.     TogglePlayerControllable(playerid, true);
  320.     GameTextForPlayer(playerid, "~w~Objects ~g~loaded", 4000,5);
  321.     return 1;
  322. }
  323.  
  324. //================================== Commands ========================================//
  325.  
  326. CMD:test(playerid, params[])
  327. {
  328.     SetPlayerPos(playerid, 1779.3185,-1576.1315,1734.9430);
  329.     return 1;
  330. }
  331.  
  332. CMD:jail(playerid, params[])
  333. {
  334.     new id, seconds, reason[128], string[320];
  335.     if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, ""red"[ERROR] "white"You need to be RCON admin to use this command");
  336.     if(sscanf(params, "uiS(None)[128]", id, seconds, reason)) return SCM(playerid, -1, ""grey"Usage: "white"/jail [playerid] [seconds] [reason]");
  337.     if(id == INVALID_PLAYER_ID) return SCM(playerid, -1, ""red"[ERROR] "white"That player is not connected");
  338.     if(seconds < 10) return SCM(playerid, -1, ""red"[ERROR] "white"You can't jail lower than 10 seconds");
  339.     if(JailData[id][pJailed] == 1) return SCM(playerid, -1, ""red"[ERROR] "white"That player is already jailed");
  340.     if(id == playerid) return SCM(playerid, -1, ""red"[ERROR] "white"You cannot use this command on yourself");
  341.  
  342.     SetCameraBehindPlayer(id);
  343.     SetPlayerPos(playerid, 1778.5103,-1582.4510,1734.9430);
  344.     SetPlayerInterior(id, 3);
  345.  
  346.     format(string, sizeof(string), ""grey"- AS - "white"Admin %s("yellow"%d"white") has jailed %s("yellow"%d"white") for %d seconds "orange"[REASON: %s]", pName(playerid), playerid, pName(id), id, seconds, reason);
  347.     SendClientMessageToAll(-1, string);
  348.  
  349.     format(string, sizeof(string), ""grey"- AS - "white"You have been jailed by %s("yellow"%d"white") for %d seconds "orange"[REASON: %s]", pName(playerid), playerid, seconds, reason);
  350.     SCM(id, -1, string);
  351.  
  352.     JailData[id][pJailed] = 1, JailData[id][pJailedSec] = seconds;
  353.  
  354.     ObjectsLoading(id);
  355.  
  356.     return 1;
  357. }
  358.  
  359.  
  360. CMD:unjail(playerid, params[])
  361. {
  362.     new id, reason[128], string[320];
  363.     if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, ""red"[ERROR] "white"You need to be RCON admin to use this command");
  364.     if(sscanf(params, "uS(None)[128]", id, reason)) return SCM(playerid, -1, ""grey"Usage: "white"/unjail [playerid] [reason]");
  365.     if(id == INVALID_PLAYER_ID) return SCM(playerid, -1, ""red"[ERROR] "white"That player is not connected");
  366.     if(JailData[id][pJailed] == 0) return SCM(playerid, -1, ""red"[ERROR] "white"That player is not jailed");
  367.  
  368.     format(string, sizeof(string), ""grey"- AS - "white"%s("yellow"%d"white") has been released from jail "orange"[REASON: %s]", pName(id), id, reason);
  369.     SendClientMessageToAll(-1, string);
  370.  
  371.     format(string, sizeof(string), ""grey"- AS - "white"%s has released you from jail", pName(playerid));
  372.     SendClientMessage(id, -1, string);
  373.  
  374.     JailData[id][pJailed] = 0, JailData[id][pJailedSec] = 0;
  375.    
  376.     SetPlayerPos(id, 1769.1606,-1576.8625,1734.9430);
  377.     SetPlayerInterior(id, 3);
  378.     SetCameraBehindPlayer(id);
  379.  
  380.     return 1;
  381. }
  382.  
  383. CMD:jailed(playerid, params[])
  384. {
  385.     new string[128], count = 0;
  386.  
  387.     foreach(new i : Player)
  388.     {
  389.         if(JailData[i][pJailed] == 1)
  390.         {
  391.             format(string, sizeof(string), "%s"white"%s(%d) - Seconds Left: "orange"%d\n", string, pName(i), i, JailData[i][pJailedSec]);
  392.             ShowPlayerDialog(playerid, DIALOG_JAILED, DIALOG_STYLE_MSGBOX, "Jailed Players", string, "OK", "");
  393.             count++;
  394.         }
  395.     }
  396.     if(count == 0) return SendClientMessage(playerid, -1, ""red"[INFO] "white"No jailed players found");
  397.     return 1;
  398. }
  399.  
  400. //================================== Stocks ===========================================//
  401.  
  402. stock pName(playerid)
  403. {
  404.     new GetName[24];
  405.     GetPlayerName(playerid, GetName, 24);
  406.     return GetName;
  407. }
  408.  
  409. stock SendMessageToJail(color, string[])
  410. {
  411.     foreach(new i : Player)
  412.     {
  413.         if(JailData[i][pJailed] == 1)
  414.         {
  415.             SCM(i, color, string);
  416.         }
  417.     }
  418. }
  419.  
  420. /*
  421.  
  422.                 sbJail System
  423.             REP+ me if you like it
  424.            
  425. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement