Advertisement
Zsox

Caligula kaszinó rablás

Aug 30th, 2011
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 13.33 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #include <a_samp>
  3. #include <streamer>
  4.  
  5. #if defined FILTERSCRIPT
  6.  
  7. #define cpdpos 2417.4116,1123.6934,10.8203 // city planning department előtt
  8. #define planpos 354.3384,173.8867,1025.7964 // a tervrajz helye
  9. #define bombpos 284.0470,2010.9674,19.0 // a dinamitnál a bázison
  10. #define dynpos 283.48,2010.25,17.55,0.0,272.0,154.0 //egy db dinamit object helye a bázison
  11. #define changepos 2150.4570,1611.7189,1006.1863 // alagsor lejárat a pénzváltónál
  12. #define doorpos 2144.3279,1603.6613,993.0 // a páncélterem ajtó előtt
  13. #define codepos 2161.9482,1606.9453,999.9715 // a kód helye (i)
  14. #define moneypos 2144.0786,1637.9464,993.5761 // a pénz pickup helye a széfben
  15. #define blowpos 2144.2996,1625.0011,992.5 // a páncélajtó előtt
  16. #define cashpos 2147.8193,1606.7159,1004.5 // a pénzt odaadja
  17. #define doorclose 2144.2207,1606.7277,994.20 // páncélterem ajtó zárva
  18. #define dooropen 2144.2207,1606.7277,996.40 // páncélterem ajtó nyitva
  19. #define infopos 2182.0852,1677.0353,11.0687 // info pickup a kaszinó előtt
  20. #define moneybagpos1 2142.55,1639.45,992.97,0,0,272 // pénzes zsákok a széfben
  21. #define moneybagpos2 2145.78,1639.57,992.97,0,0,184
  22. #define moneybagpos3 2143.16,1642.23,992.97,0,0,184
  23. #define moneybagpos4 2145.31,1642.35,992.97,0,0,184
  24.  
  25. #define ujrarablasido 120 // Ennyi perc után lehet a bankot újra kirabolni
  26. #define rablasido 12 // Ennyi perc van a rablás végrehajtására
  27. #define smokedelay 13 // Ennyi másodperc múlva füstöl
  28. #define gasdelay 3 // ennyi mp múlva kezd fuldokolni (anim)
  29.  
  30. new CasinoRob[256];
  31. new infopickup;
  32. new robmoney;
  33. new codepickup;
  34. new moneypickup;
  35. new vaultd;
  36. new dyn;
  37. new dynamit;
  38. new rob;
  39. new door;
  40. new rabolhato;
  41. new moneybag1;
  42. new moneybag2;
  43. new moneybag3;
  44. new moneybag4;
  45. new smoker1; // füstgépek
  46. new smoker2;
  47. new smoker3;
  48. new smoker4;
  49.  
  50. forward rablastimer(playerid);
  51. forward ujrarablas();
  52. forward robend(playerid);
  53. forward smokestart(playerid);
  54. forward smokestop(playerid);
  55. forward gas1(playerid);
  56. forward gas1kill(playerid);
  57. forward gas2(playerid);
  58. forward gas2kill(playerid);
  59.  
  60. new smoketimer;
  61. new gastimer1;
  62. new gastimer2;
  63.  
  64. public OnFilterScriptInit()
  65. {
  66.     print("\n--------------------------------------");
  67.     print(" Caligula kaszino rablas - by Zsox ");
  68.     print(" Kulon koszonet Buba-nak!");
  69.     print("--------------------------------------\n");
  70.    
  71.     door = CreateDynamicObject(2957, doorclose, 0.0, 0.0, 0.0); // páncélterem ajtó zárt poz.
  72.     vaultd = CreateDynamicObject(2634, 2144.1885, 1627.0049, 994.2578, 0.0, 0.0, 180.0); // páncélajtó létrehozása
  73.     dyn = CreateDynamicObject(1654, dynpos); // dinamit a bázison
  74.     moneybag1 = CreateDynamicObject(1550, moneybagpos1);
  75.     moneybag2 = CreateDynamicObject(1550, moneybagpos2);
  76.     moneybag3 = CreateDynamicObject(1550, moneybagpos3);
  77.     moneybag4 = CreateDynamicObject(1550, moneybagpos4);
  78.    
  79.     codepickup = CreatePickup(1239,2,codepos,0); // kód info pickup
  80.     moneypickup = CreatePickup(1212,2,moneypos,0); // pénz pickup a széfben
  81.     infopickup = CreatePickup(1274,2,infopos,0); // info kaszinó előtt
  82.    
  83.     rob = 0; // szimultán rablást kizáró változó
  84.     rabolhato = 0;// igen
  85.  
  86.     // army dinamit
  87.     CreateDynamicObject(1421,285.53402710,2009.86669922,17.40319061,0.00000000,0.00000000,0.00000000); //object(dyn_boxes) (1)
  88.     CreateDynamicObject(2063,283.10687256,2010.19763184,17.54957771,0.00000000,0.00000000,179.99450684); //object(cj_greenshelves) (1)
  89.     CreateDynamicObject(1654,283.96786499,2010.31921387,17.55772400,0.00000000,271.99993896,183.99499512); //object(dynamite) (1)
  90.     CreateDynamicObject(1654,283.81167603,2010.22790527,17.98660469,0.00000000,271.99401855,215.98988342); //object(dynamite) (1)
  91.    
  92.     // caligula széf pénz
  93.     CreateDynamicObject(1212, 2141.9331054688, 1641.1408691406, 992.57611083984, 0, 0, 0); //object(Money)(2)
  94.     CreateDynamicObject(1212, 2142.728515625, 1641.9674072266, 992.57611083984, 0, 0, 0); //object(Money)(4)
  95.     CreateDynamicObject(1212, 2144.0148925781, 1642.5701904297, 992.57611083984, 0, 0, 0); //object(Money)(6)
  96.     CreateDynamicObject(1212, 2145.2080078125, 1641.873046875, 992.57611083984, 0, 0, 0); //object(Money)(8)
  97.     CreateDynamicObject(1212, 2146.1589355469, 1641.0446777344, 992.57611083984, 0, 0, 0); //object(Money)(10)
  98.  
  99.     AddStaticPickup(1242, 2, 2142.0510, 1608.4443, 1000.9714); // armor
  100.  
  101.     return 1;
  102. }
  103.  
  104. public OnFilterScriptExit()
  105. {
  106.     return 1;
  107. }
  108.  
  109. #else
  110.  
  111. main()
  112. {
  113.     print("\n----------------------------------");
  114.     print("Caligula kaszino rablas - by Zsox");
  115.     print("----------------------------------\n");
  116. }
  117.  
  118. #endif
  119.  
  120. // ------------------------------
  121.  
  122. public OnPlayerConnect(playerid)
  123. {
  124.     CasinoRob[playerid] = 0;
  125.     return 1;
  126. }
  127.  
  128. public OnPlayerDisconnect(playerid, reason)
  129. {
  130.     CasinoRob[playerid] = 0;
  131.     rob = 0;
  132.     rabolhato = 0;
  133.     DisablePlayerCheckpoint(playerid);
  134.     return 1;
  135. }
  136.  
  137. public OnPlayerDeath(playerid, killerid, reason)
  138. {
  139.     CasinoRob[playerid] = 0;
  140.     rob = 0;
  141.     DisablePlayerCheckpoint(playerid);
  142.     KillTimer(gastimer1);
  143.     KillTimer(gastimer2);
  144.     KillTimer(smoketimer);
  145.     return 1;
  146. }
  147.  
  148. // --------------------- PARANCSOK ---------------------------------------------
  149.  
  150. public OnPlayerCommandText(playerid, cmdtext[])
  151. {
  152.     if (strcmp("/caligula", cmdtext, true, 10) == 0)
  153.         {
  154.         if (rob == 0 && rabolhato == 0)
  155.             {
  156.                 SetPlayerCheckpoint(playerid, cpdpos, 3);
  157.                 SendClientMessage(playerid, 0xFFF8DCAA, "Elhatároztad, hogy kirabolod a Caligula kaszinót.");
  158.                 SendClientMessage(playerid, 0xFFFF00AA, "Először meg kell szerezned a kaszinó tervrajzát (LV, City Planning Department, a Piramis mellett).");
  159.                 CasinoRob[playerid] = 1;
  160.                 rob = 1;
  161.                 rabolhato = 1;
  162.                 SetTimer("robend",rablasido*60000,false);
  163.             }
  164.             else
  165.             {
  166.                 SendClientMessage(playerid, 0xFF1493AA, "Most nem rabolhatod ki a Caligula kaszinót. Próbálkozz később.");
  167.             }
  168.         return 1;
  169.         }
  170. // -------------------------------
  171.     if (strcmp("/315609", cmdtext, true, 10) == 0)
  172.         {
  173.             MoveDynamicObject(door, dooropen, 2); // páncélterem ajtó nyitása
  174.             return 1;
  175.         }
  176. // ------------------------------
  177.     if (strcmp("/c4felrak", cmdtext, true, 8) == 0)
  178.         {
  179.         if(CasinoRob[playerid] == 9)
  180.         {
  181.             dynamit = CreateDynamicObject(1654, 2144.1574, 1626.7831, 994.3816, 0.0, 0.0, 0.0); //object(dynamite)
  182.             PlayerPlaySound(playerid, 1131, 2144.1574, 1626.7831, 994.3816);
  183.             GameTextForPlayer(playerid,"~r~Felszerelted a bombat!",3000,5);
  184.             SendClientMessage(playerid,0xFFFF00AA,"Robbantás: /c4robbant");
  185.             DisablePlayerCheckpoint(playerid);
  186.             CasinoRob[playerid] = 10;
  187.         }
  188.         else
  189.         {
  190.             if(CasinoRob[playerid] == 6)
  191.             {
  192.                 SendClientMessage(playerid,0xFFFF00AA,"A bomba felszereléséhez menj a páncélajtó elé!");
  193.             }
  194.             else
  195.             {
  196.             GameTextForPlayer(playerid,"~r~Nincs nalad C4!",3000,5);
  197.             }
  198.         }
  199.         return 1;
  200.         }
  201. // ------------------------------
  202.     if (strcmp("/c4robbant", cmdtext, true, 9) == 0)
  203.         {
  204.         if(CasinoRob[playerid] == 10)
  205.         {
  206.             CreateExplosion(2144.1574, 1626.7831, 994.3816, 2, 12);
  207.             CreateExplosion(2144.1574, 1626.7831, 994.3816, 6, 10);
  208.             DestroyDynamicObject(dynamit);
  209.             DestroyDynamicObject(vaultd);
  210.             CasinoRob[playerid] = 11;
  211.             SetTimer("ujrarablas",ujrarablasido*60000,false); // idő a következő rablásig
  212.             GameTextForPlayer(playerid," ~w~ALAGSOR ELARASZTAS FOLYAMATBAN!",5000,5);
  213.             smoketimer = SetTimer("smokestart",smokedelay*1000,false); // füst indul
  214.             SetTimer("smokestop",(smokedelay+gasdelay+11)*1000,false); // füst leáll 22 mp múlva
  215.             gastimer1 = SetTimer("gas1",(smokedelay+gasdelay)*1000,false); // fuldoklás késleltetéssel
  216.         }
  217.         else
  218.             {
  219.             SendClientMessage(playerid,0xFFFF00AA,"C4 nélkül nem fog menni!");
  220.             }
  221.         return 1;
  222.         }
  223.     return 0;
  224. }
  225.  
  226. // ------------------- CHECKPOINTOK --------------------------------------------
  227.  
  228. public OnPlayerEnterCheckpoint(playerid)
  229. {
  230.     if(CasinoRob[playerid] == 1)
  231.     {
  232.         SendClientMessage(playerid, 0xFF0000AA, "A tervrajzot a hivatal 3. emeletén találod.");
  233.         SetPlayerCheckpoint(playerid, planpos, 3);// tervrajz
  234.         CasinoRob[playerid] = 2;
  235.         return 1;
  236.     }
  237.  
  238.     if(CasinoRob[playerid] == 2)
  239.     {
  240.         GameTextForPlayer(playerid,"~r~Megvan a tervrajz!",3000,5);
  241.         SendClientMessage(playerid, 0xFFFF00BB, "Most szükséged lesz robbanószerre a katonai bázisról.");
  242.         SetPlayerCheckpoint(playerid, bombpos, 6);// army dinamit helye
  243.         CasinoRob[playerid] = 3;
  244.         return 1;
  245.     }
  246.    
  247.     if(CasinoRob[playerid] == 3)
  248.     {
  249.         DestroyDynamicObject(dyn);
  250.         GameTextForPlayer(playerid,"~r~Megszerezted a C4-et!",3000,5);
  251.         PlayerPlaySound(playerid, 1131, bombpos);
  252.         SendClientMessage(playerid, 0xFF0000AA, "Menj a Caligula kaszinóba. Az alagsor bejárata a pénzváltó helyiség mellett van.");
  253.         SetPlayerCheckpoint(playerid, changepos, 6);
  254.         CasinoRob[playerid] = 4;
  255.         return 1;
  256.     }
  257.    
  258.     if(CasinoRob[playerid] == 4)
  259.     {
  260.         GameTextForPlayer(playerid,"~w~Menj le az alagsorba!",3000,5);
  261.         SetPlayerCheckpoint(playerid, doorpos, 3);
  262.         CasinoRob[playerid] = 5;
  263.         return 1;
  264.     }
  265.    
  266.     if(CasinoRob[playerid] == 5)
  267.     {
  268.         SendClientMessage(playerid, 0xFFFF00AA, "A páncélterem ajtaja kóddal nyitható. Keresd meg a kódot az irodahelyiségben, amely a lépcsőházból nyílik.");
  269.         CasinoRob[playerid] = 6;
  270.         SetPlayerCheckpoint(playerid, blowpos, 2);
  271.         return 1;
  272. }
  273.  
  274.     if(CasinoRob[playerid] == 6)
  275.     {
  276.         SendClientMessage(playerid,0xFF0000AA,"A bomba felszerelése: /c4felrak");
  277.         CasinoRob[playerid] = 9;
  278.         return 1;
  279.     }
  280.    
  281.     if(CasinoRob[playerid] == 20)
  282.     {
  283.         ClearAnimations(playerid);
  284.         robmoney = 250000 + random(250000);
  285.         GivePlayerMoney(playerid, robmoney);
  286.         new string1[50];
  287.         format(string1, sizeof(string1), "A ZSAKMANY: $ %i", robmoney);
  288.         GameTextForPlayer(playerid, string1, 6000, 5);
  289.         PlayerPlaySound(playerid, 1058, cashpos);
  290.         DisablePlayerCheckpoint(playerid);
  291.         CasinoRob[playerid] = 0;
  292.         rob = 0;
  293.         KillTimer(gastimer1);
  294.         KillTimer(gastimer2);
  295.         KillTimer(smoketimer);
  296.         return 1;
  297.     }
  298.     return 0;
  299. }
  300.  
  301. // ------------------------------
  302.  
  303. public OnPlayerLeaveCheckpoint(playerid)
  304. {
  305.     if(CasinoRob[playerid] == 9)
  306.     {
  307.         SendClientMessage(playerid,0xFFFF00AA,"A bomba felszereléséhez maradj a páncélajtó közelében!");
  308.         CasinoRob[playerid] = 6;
  309.     }
  310.     return 1;
  311. }
  312.    
  313. // ------------------------ PICKUPOK -------------------------------------------
  314.  
  315. public OnPlayerPickUpPickup(playerid, pickupid)
  316. {
  317.     if(pickupid == codepickup) // páncélterem nyitó kód
  318.     {
  319.         ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"PÁNCÉLTEREM NYITÓ KÓD","A nyitó kód:/315609","OK","Mégse");
  320.     }
  321. // ------------------------------
  322.     else if(pickupid == moneypickup)
  323.     {
  324.         CasinoRob[playerid] = 20;
  325.         DestroyPickup(moneypickup);
  326.         moneypickup = -1;
  327.         DestroyDynamicObject(moneybag1);
  328.         DestroyDynamicObject(moneybag2);
  329.         DestroyDynamicObject(moneybag3);
  330.         DestroyDynamicObject(moneybag4);
  331.         PlayerPlaySound(playerid, 1150, moneypos);
  332.         GameTextForPlayer(playerid,"~r~Kiraboltad a kaszinot!",3000,5);
  333.         SendClientMessageToAll(0xEEEE00FF,"*** Valaki kirabolta a Caligula kaszinót! ***");
  334.         SendClientMessage(playerid,0xFF8C00AA,"FUTÁS! Majd odakint megszámolod a pénzt!");
  335.         SetPlayerCheckpoint(playerid, cashpos, 3);
  336.     }
  337. // ------------------------------
  338.     else if(pickupid == infopickup) // info pickup a Caligula előtt
  339.     {
  340.         if(CasinoRob[playerid] == 0)
  341.         ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"KASZINÓ RABLÁS","A Caligula kaszinó kirablásához írd be: /caligula","OK","Mégse");
  342.     }
  343.     return 1;
  344. }
  345.  
  346. // ------------------------ TIMER -------------------------------------------
  347.  
  348. public ujrarablas()
  349. {
  350.     rabolhato = 0;
  351.     MoveDynamicObject(door, doorclose, 2); // p.terem ajtó lezárva
  352.     vaultd = CreateDynamicObject(2634, 2144.1885, 1627.0049, 994.2578, 0.0, 0.0, 180.0);
  353.     dyn = CreateDynamicObject(1654, dynpos);
  354.     moneybag1 = CreateDynamicObject(1550, moneybagpos1);
  355.     moneybag2 = CreateDynamicObject(1550, moneybagpos2);
  356.     moneybag3 = CreateDynamicObject(1550, moneybagpos3);
  357.     moneybag4 = CreateDynamicObject(1550, moneybagpos4);
  358.     moneypickup = CreatePickup(1212,2,moneypos,0);
  359. }
  360.  
  361. public robend(playerid) // ha lejárt a rablásra fordítható idő
  362. {
  363.     CasinoRob[playerid] = 0;
  364.     rob = 0;
  365.     rabolhato = 0;
  366. }
  367.  
  368. public smokestart(playerid)
  369. {
  370.     smoker1 = CreateDynamicObject(2780, 2144.0310058594, 1618.1904296875, 996.91705322266, 0, 0, 0);
  371.     smoker2 = CreateDynamicObject(2780, 2147.9631347656, 1597.9765625, 998.19439697266, 90, 179.99993896484, 2);
  372.     smoker3 = CreateDynamicObject(2780, 2147.8972167969, 1603.7746582031, 1004.3795776367, 0, 0, 0);
  373.     smoker4 = CreateDynamicObject(2780, 2154.5327148438, 1601.8511962891, 1003.9609375, 0, 0, 0);
  374. }
  375.  
  376. public gas1(playerid)
  377. {
  378.     ApplyAnimation(playerid, "PED", "gas_cwr", 4, 1, 1, 1, 0, 0, 0); //könnygáz anim1
  379.     SetTimer("gas1kill",5*1000,false);
  380. }
  381.  
  382. public gas1kill(playerid)
  383. {
  384.     KillTimer(gastimer1);
  385.     ClearAnimations(playerid);
  386.     new Float:health;
  387.     GetPlayerHealth(playerid,health);
  388.     SetPlayerHealth(playerid,health-50);
  389.     gastimer2 = SetTimer("gas2",1*1000,false); // 1 mp múlva indul az anim2
  390. }
  391.  
  392. public gas2(playerid)
  393. {
  394.     ApplyAnimation(playerid, "PED", "gas_cwr", 4, 1, 1, 1, 0, 0, 0); //könnygáz anim2
  395.     SetTimer("gas2kill",5*1000,false);
  396. }
  397.  
  398. public gas2kill(playerid)
  399. {
  400.     KillTimer(gastimer2);
  401.     SetPlayerHealth(playerid, 0);
  402. }
  403.  
  404. public smokestop(playerid)
  405. {
  406.         DestroyDynamicObject(smoker1);
  407.         DestroyDynamicObject(smoker2);
  408.         DestroyDynamicObject(smoker3);
  409.         DestroyDynamicObject(smoker4);
  410. }
  411. // ------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement