Advertisement
Guest User

CS:GO Case Opening

a guest
Sep 3rd, 2018
3,172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 13.07 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. //#define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6. #include <streamer>
  7. #include <zcmd>
  8. #include <sscanf2>
  9. #include <foreach>
  10.  
  11. #define highpos 700
  12. #define BULLET o
  13. #define INFERNUS 
  14. #define LEVELUP2 ì
  15. #define LEVELUP1 Ó
  16. #define RP10 m
  17. #define RP40 $
  18. #define HIDDEN ´
  19. #define PREMIUMP10 e
  20. #define CASH650 %
  21. #define CASH320 
  22.  
  23.  
  24. new ReceivedItem[MAX_PLAYERS],SpinInterval[MAX_PLAYERS],
  25. PlayerCaseOBJ[210][MAX_PLAYERS],Float:PlayerCaseX[MAX_PLAYERS],
  26. PlayerProb[MAX_PLAYERS],CaseDrop[][]=
  27. {
  28.     " ",
  29.     "Infernus",
  30.     "Bullet",
  31.     "2x Level UP",
  32.     "1x Level UP",
  33.     "10RP Points",
  34.     "40RP Points",
  35.     "Hidden Colors",
  36.     "10 PP",
  37.     "$650.000",
  38.     "$320.000"
  39. };
  40.  
  41.  
  42. public OnFilterScriptInit()
  43. {
  44.     print("\n--------------------------------------");
  45.     print(" Case Opening CS:GO");
  46.     print("--------------------------------------\n");
  47.     return 1;
  48. }
  49.  
  50.  
  51. public OnPlayerSpawn(playerid)
  52. {
  53.     SpinInterval[playerid] = 0;
  54.     PlayerCaseX[playerid] = 0;
  55.     return 1;
  56. }
  57.  
  58. CMD:opencase(playerid,params[])
  59. {
  60.     if(IsValidObject(PlayerCaseOBJ[209][playerid])&&PlayerCaseX[playerid] != 0) return SendClientMessage(playerid,-1,"You already do this!");
  61.     TogglePlayerControllable(playerid,0);
  62.     OpenCrate(playerid);
  63.     return 1;
  64. }
  65.  
  66. forward ExitCase(playerid);
  67. public ExitCase(playerid)
  68. {
  69.     for(new i=0;i<210;i++)  if(IsValidObject(PlayerCaseOBJ[i][playerid])) DestroyObject(PlayerCaseOBJ[i][playerid]);
  70.     SetCameraBehindPlayer(playerid);
  71.     TogglePlayerControllable(playerid,1);
  72.     SetPlayerVirtualWorld(playerid,0);
  73.     PlayerCaseX[playerid] = 0;
  74.     return 1;
  75. }
  76.  
  77. public OnObjectMoved(objectid)
  78. {
  79.     for(new playerid=0;playerid<MAX_PLAYERS;playerid++)
  80.     {
  81.         if(IsValidObject(PlayerCaseOBJ[209][playerid]) && objectid==PlayerCaseOBJ[209][playerid])
  82.         {
  83.             new Float:X,Float:Y,Float:Z,strings[100],colortext[40],raretext[40],reward=ReceivedItem[playerid];
  84.             GetObjectPos(PlayerCaseOBJ[209][playerid],X,Y,Z);
  85.             if(X==(PlayerCaseX[playerid]+1.1192+5*playerid))
  86.             {
  87.                 if(SpinInterval[playerid]==5)
  88.                 {
  89.                     switch(reward)
  90.                     {
  91.                         case 1,2: colortext="{FFFF00}",raretext=" Legendary";
  92.                         case 3,4: colortext="{FF0000}",raretext="n Ultra Rare";
  93.                         case 5,6: colortext="{FF00FF}",raretext=" Rare";
  94.                         case 7,8: colortext="{0080FF}",raretext="n UnCommon";
  95.                         case 9,10: colortext="{C0C0C0}",raretext=" Common";
  96.                     }
  97.                     SetTimerEx("ExitCase",2500,false,"u",playerid);
  98.                     format(strings,sizeof strings,"*%s You received a%s item",colortext,raretext);SendClientMessage(playerid,-1,strings);
  99.                     format(strings,sizeof strings,"* You win %s. (Probability Fair: %d)",CaseDrop[reward],PlayerProb[playerid]);SendClientMessage(playerid,-1,strings);
  100.                     if(     reward==1||reward==2)       PlayerPlaySound(playerid, 1058, 0.0, 0.0, 1.0);
  101.                     else if(reward==3||reward==4)       PlayerPlaySound(playerid, 1137, 0.0, 0.0, 1.0);
  102.                     else if(reward==5||reward==6)       PlayerPlaySound(playerid, 1138, 0.0, 0.0, 1.0);
  103.                     else                                PlayerPlaySound(playerid, 1139, 0.0, 0.0, 1.0);
  104.                     switch(reward)
  105.                     {
  106.                         case 1: //Infernus
  107.                         {
  108.                             //give vehicle 411
  109.                         }
  110.                         case 2: //Bullet
  111.                         {
  112.                             //give vehicle 541
  113.                         }
  114.                         case 3: //2x Level UP
  115.                         {
  116.                             //PlayerInfo[playerid][pLevel] +=2, Update(playerid,pLevelx);
  117.                         }
  118.                         case 4: //1x Level UP
  119.                         {
  120.                             //PlayerInfo[playerid][pLevel] ++, Update(playerid,pLevelx);
  121.                         }
  122.                         case 5: //10RP Points
  123.                         {
  124.                             //PlayerInfo[playerid][pRP] +=10, Update(playerid,pRPx);
  125.                         }
  126.                         case 6: //40RP Points
  127.                         {
  128.                             //PlayerInfo[playerid][pRP] +=40, Update(playerid,pRPx);
  129.                         }
  130.                         case 7: //Hidden Colors
  131.                         {
  132.                             //PlayerInfo[playerid][pHidden] +=2, Update(playerid,pHiddenx);
  133.                         }
  134.                         case 8: //10 PP
  135.                         {
  136.                             //PlayerInfo[playerid][pPremiumPoints] +=10, Update(playerid,pPremiumPointsx);
  137.                         }
  138.                         case 9: //$650.000
  139.                         {
  140.                             //GiveCash(playerid,650000);
  141.                         }
  142.                         case 10://$320.000
  143.                         {
  144.                             //GiveCash(playerid,320000);
  145.                         }
  146.                     }
  147.                     return 1;
  148.                 }
  149.                 else if(SpinInterval[playerid]<6)   MoveObject(PlayerCaseOBJ[209][playerid],X, Y+1.51200,   Z,0.6);
  150.                 else if(SpinInterval[playerid]<8)   MoveObject(PlayerCaseOBJ[209][playerid],X, Y+1.51200,   Z,1);
  151.                 else if(SpinInterval[playerid]<13)  MoveObject(PlayerCaseOBJ[209][playerid],X, Y+1.51200,   Z,2);
  152.                 else if(SpinInterval[playerid]<24)  MoveObject(PlayerCaseOBJ[209][playerid],X, Y+1.51200,   Z,4);
  153.                 else if(SpinInterval[playerid]<60)  MoveObject(PlayerCaseOBJ[209][playerid],X, Y+1.51200,   Z,9);
  154.                 else                                MoveObject(PlayerCaseOBJ[209][playerid],X, Y+1.51200,   Z,12);
  155.                 SpinInterval[playerid]--;
  156.                 PlayerPlaySound(playerid, 1135, 0.0, 0.0, 0.0);
  157.             }
  158.         }
  159.     }
  160.     return 1;
  161. }
  162.  
  163. forward OpenCrate(playerid);
  164. public OpenCrate(playerid)
  165. {
  166.     new Float:X,Float:Y,Float:Z,Float:begin=51*1.51200;
  167.     GetPlayerPos(playerid,X,Y,Z);
  168.     PlayerCaseX[playerid] = X;
  169.     PlayerCaseOBJ[200][playerid] = CreateObject(19448, X+1.16767+5*playerid, Y+-0.08158, Z+highpos-8.56462,   0.00000, 0.00000, 0.00000);   SetObjectMaterial(PlayerCaseOBJ[200][playerid], 0, 1676, "wshxrefpump", "black64", 0xFFFFFFFF);
  170.     PlayerCaseOBJ[201][playerid] = CreateObject(19447, X+0.00000+5*playerid, Y+0.00000, Z+highpos-5.43388,   0.00000, 0.00000, 0.00000);    SetObjectMaterial(PlayerCaseOBJ[201][playerid], 0, 1675, "wshxrefhse", "duskyblue_128", 0xFFFFFFFF);
  171.     PlayerCaseOBJ[202][playerid] = CreateObject(19447, X+0.00000+5*playerid, Y+0.00000, Z+highpos-10.19381,   0.00000, 0.00000, 0.00000);   SetObjectMaterial(PlayerCaseOBJ[202][playerid], 0, 1675, "wshxrefhse", "duskyblue_128", 0xFFFFFFFF);
  172.     PlayerCaseOBJ[203][playerid] = CreateObject(19447, X+0.00090+5*playerid, Y+7.15430, Z+highpos-8.41380,   0.00000, 0.00000, 0.00000);    SetObjectMaterial(PlayerCaseOBJ[203][playerid], 0, 1675, "wshxrefhse", "duskyblue_128", 0xFFFFFFFF);
  173.     PlayerCaseOBJ[204][playerid] = CreateObject(19447, X+0.00350+5*playerid, Y+-7.12040, Z+highpos-8.41380,   0.00000, 0.00000, 0.00000);   SetObjectMaterial(PlayerCaseOBJ[204][playerid], 0, 1675, "wshxrefhse", "duskyblue_128", 0xFFFFFFFF);
  174.     PlayerCaseOBJ[205][playerid] = CreateObject(19087, X+0.6140+5*playerid, Y+0.00000, Z+highpos-7.13523,   0.00000, 0.00000, 0.00000);     SetObjectMaterial(PlayerCaseOBJ[205][playerid], 0, 16150, "ufo_bar", "GEwhite1_64", 0xFFFFFFFF);
  175.     PlayerCaseOBJ[206][playerid] = CreateObject(19131, X+-0.11290+5*playerid, Y+2.01870, Z+highpos-9.22520,   0.00000, 10.00000, 0.00000);  SetObjectMaterialText(PlayerCaseOBJ[206][playerid],"i", 0, OBJECT_MATERIAL_SIZE_128x128,"Comic", 100, 1, 0xFF000000, 0xC0C0C0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  176.     PlayerCaseOBJ[207][playerid] = CreateObject(19353, X+-0.0730+5*playerid, Y+0.5698, Z+highpos-9.2395,  0.00000,  10.00000, 0.00000);     SetObjectMaterialText(PlayerCaseOBJ[207][playerid],"{000040}Unlocking Container...", 0,OBJECT_MATERIAL_SIZE_512x512,"Arial",31,1,0x00000000,0x000000,OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  177.     PlayerCaseOBJ[208][playerid] = CreateObject(18762, X+ 0.36960+5*playerid, Y+0.00000, Z+highpos-9.15070,   10.00000, 90.00000, 90.00000);SetObjectMaterial(PlayerCaseOBJ[208][playerid] ,0, 8839, "vgsecarshow", "lightblue2_32", 0xFFFFFFFF);
  178.     PlayerCaseOBJ[209][playerid] = CreateObject(19304, X+1.1192+5*playerid, Y+-71.026, Z+highpos-7.81800,   0.00000, 0.00000, 90.00000);
  179.     SetPlayerCameraPos(playerid,X+-5.9000+5*playerid, Y+0.0000, Z+highpos-7.9852);
  180.     SetPlayerCameraLookAt(playerid, X+0.6000+5*playerid, Y+0.0000, Z+highpos-7.9852);
  181.  
  182.     for(new i=0;i<100;i++)
  183.     {
  184.         PlayerCaseOBJ[i][playerid]=CreateObject(2258, 0,0,0,0,0,0);
  185.         PlayerCaseOBJ[i+100][playerid]=CreateObject(2258, 0,0,0,0,0,0);
  186.         AttachObjectToObject(PlayerCaseOBJ[i][playerid],PlayerCaseOBJ[209][playerid],(0.00000-begin)+(i*1.51200),0.50400, 0,   0.00000, 0.00000, 180.00000, 1);
  187.         AttachObjectToObject(PlayerCaseOBJ[i+100][playerid],PlayerCaseOBJ[209][playerid],(0.00000-begin)+(i*1.51200),0.51400, -0.3,   0.00000, 0.00000, 180.00000, 1);
  188.     }
  189.     SpinInterval[playerid]=100;
  190.     MoveObject(PlayerCaseOBJ[209][playerid],X+1.1192+5*playerid, Y+-71.026+1.51200, Z+highpos-7.81800,21);
  191.     for(new i=0;i<100;i++)
  192.     {
  193.         new classitem = random(100);
  194.         PlayerProb[playerid] = classitem;
  195.         switch (classitem)
  196.         {
  197.             case  0..1:
  198.             {
  199.                 switch(random(2))
  200.                 {
  201.                     case 0:
  202.                     {
  203.                         if(i==2)
  204.                         ReceivedItem[playerid]=1;
  205.                         SetObjectMaterialText(PlayerCaseOBJ[i][playerid] , #INFERNUS ,0,  OBJECT_MATERIAL_SIZE_128x128,"Webdings", 58, 0, 0xFF000000, 0xFFFF00, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  206.                         SetObjectMaterialText(PlayerCaseOBJ[i+100][playerid],CaseDrop[1]  ,0 ,  OBJECT_MATERIAL_SIZE_128x128,"Arial", 20, 1, 0xFF000000, 0x00000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  207.                     }
  208.                     default:
  209.                     {
  210.                         if(i==2)
  211.                         ReceivedItem[playerid]=2;
  212.                         SetObjectMaterialText(PlayerCaseOBJ[i][playerid] , #BULLET  ,0,  OBJECT_MATERIAL_SIZE_128x128,"Webdings", 58, 0, 0xFF000000, 0xFFFF00, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  213.                         SetObjectMaterialText(PlayerCaseOBJ[i+100][playerid],CaseDrop[2]  ,0 ,  OBJECT_MATERIAL_SIZE_128x128,"Arial", 20, 1, 0xFF000000, 0x00000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  214.                     }
  215.                 }
  216.             }
  217.             case 2..13:
  218.             {
  219.                 switch(random(2))
  220.                 {
  221.                     case 0:
  222.                     {
  223.                         if(i==2)ReceivedItem[playerid]=3;
  224.                         SetObjectMaterialText(PlayerCaseOBJ[i][playerid] , #LEVELUP2  ,0,   OBJECT_MATERIAL_SIZE_128x128,"Webdings", 58, 0, 0xFF000000,0xFF0000 , OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  225.                         SetObjectMaterialText(PlayerCaseOBJ[i+100][playerid],CaseDrop[3] ,0 ,   OBJECT_MATERIAL_SIZE_128x128,"Arial", 20, 1, 0xFF000000, 0x00000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  226.                     }
  227.                     default:
  228.                     {
  229.                         if(i==2)ReceivedItem[playerid]=4;
  230.                         SetObjectMaterialText(PlayerCaseOBJ[i][playerid] , #LEVELUP1  ,0,   OBJECT_MATERIAL_SIZE_128x128,"Webdings", 58, 0, 0xFF000000, 0xFF0000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  231.                         SetObjectMaterialText(PlayerCaseOBJ[i+100][playerid],CaseDrop[4] ,0 ,   OBJECT_MATERIAL_SIZE_128x128,"Arial", 20, 1, 0xFF000000, 0x00000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  232.                     }
  233.                 }
  234.             }
  235.             case 14..30:
  236.             {
  237.                 switch(random(2))
  238.                 {
  239.                     case 0:
  240.                     {
  241.                         if(i==2)ReceivedItem[playerid]=5;
  242.                         SetObjectMaterialText(PlayerCaseOBJ[i][playerid], #RP10 ,0,   OBJECT_MATERIAL_SIZE_128x128,"Webdings", 58, 0, 0xFF000000, 0xFF00FF, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  243.                         SetObjectMaterialText(PlayerCaseOBJ[i+100][playerid],CaseDrop[5]  ,0,   OBJECT_MATERIAL_SIZE_128x128,"Arial", 20, 1, 0xFF000000, 0x00000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  244.                     }
  245.                     default:
  246.                     {
  247.                         if(i==2)ReceivedItem[playerid]=6;
  248.                         SetObjectMaterialText(PlayerCaseOBJ[i][playerid] ,#RP40 ,0,   OBJECT_MATERIAL_SIZE_128x128,"Webdings", 58, 0, 0xFF000000, 0xFF00FF, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  249.                         SetObjectMaterialText(PlayerCaseOBJ[i+100][playerid],CaseDrop[6]  ,0,   OBJECT_MATERIAL_SIZE_128x128,"Arial", 20, 1, 0xFF000000, 0x00000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  250.                     }
  251.                 }
  252.             }
  253.             case 31..50:
  254.             {
  255.                 switch(random(2))
  256.                 {
  257.                     case 0:
  258.                     {
  259.                         if(i==2)ReceivedItem[playerid]=7;
  260.                         SetObjectMaterialText(PlayerCaseOBJ[i][playerid], #HIDDEN ,0, OBJECT_MATERIAL_SIZE_128x128,"Webdings", 58, 0, 0xFF000000,0x1580EA , OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  261.                         SetObjectMaterialText(PlayerCaseOBJ[i+100][playerid],CaseDrop[7] ,0, OBJECT_MATERIAL_SIZE_128x128,"Arial", 20, 1, 0xFF000000,0x00000000 , OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  262.                     }
  263.                     default:
  264.                     {
  265.                         if(i==2)ReceivedItem[playerid]=8;
  266.                         SetObjectMaterialText(PlayerCaseOBJ[i][playerid], #PREMIUMP10 ,0, OBJECT_MATERIAL_SIZE_128x128,"Webdings", 58, 0, 0xFF000000,0x1580EA , OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  267.                         SetObjectMaterialText(PlayerCaseOBJ[i+100][playerid],CaseDrop[8]  ,0, OBJECT_MATERIAL_SIZE_128x128,"Arial", 20, 1, 0xFF000000,0x00000000 , OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  268.                     }
  269.                 }
  270.             }
  271.             case 51..99:
  272.             {
  273.                 switch(random(2))
  274.                 {
  275.                     case 0:
  276.                     {
  277.                         if(i==2)ReceivedItem[playerid]=9;
  278.                         SetObjectMaterialText(PlayerCaseOBJ[i][playerid],#CASH650,0 ,  OBJECT_MATERIAL_SIZE_128x128,"Webdings", 58, 0, 0xFF000000, 0x808080, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  279.                         SetObjectMaterialText(PlayerCaseOBJ[i+100][playerid], CaseDrop[9] ,0,  OBJECT_MATERIAL_SIZE_128x128,"Arial", 20, 1, 0xFF000000, 0x00000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  280.                     }
  281.                     default:
  282.                     {
  283.                         if(i==2)ReceivedItem[playerid]=10;
  284.                         SetObjectMaterialText(PlayerCaseOBJ[i][playerid],#CASH320 ,0 ,  OBJECT_MATERIAL_SIZE_128x128,"Webdings", 58, 0, 0xFF000000, 0x808080, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  285.                         SetObjectMaterialText(PlayerCaseOBJ[i+100][playerid], CaseDrop[10] ,0,  OBJECT_MATERIAL_SIZE_128x128,"Arial", 20, 1, 0xFF000000, 0x00000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  286.                     }
  287.                 }
  288.             }
  289.         }
  290.     }
  291.     return 1;
  292. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement