Advertisement
Guest User

[RBG] - Random gift box by SilentSoul

a guest
Jun 21st, 2014
763
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 12.38 KB | None | 0 0
  1. #define FILTERSCRIPT
  2.  
  3. //Includes
  4. #include <a_samp>
  5. #include <zcmd>
  6.  
  7. //Textdraws
  8. new Text:Textdraw[7];
  9. new PlayerText:Card[4];
  10. //Player variable
  11. new InProgress[MAX_PLAYERS]=0;
  12. #if defined FILTERSCRIPT
  13.  
  14. public OnFilterScriptInit()
  15. {
  16.     print("\n--------------------------------------");
  17.     print("« [RGB] - Random gift box - By SilentSoul - »");
  18.     print("--------------------------------------\n");
  19.     Textdraw[0] = TextDrawCreate(481.375000, 115.833297, "usebox");
  20.     TextDrawLetterSize(Textdraw[0], 0.000000, 25.155555);
  21.     TextDrawTextSize(Textdraw[0], 148.625000, 0.000000);
  22.     TextDrawAlignment(Textdraw[0], 1);
  23.     TextDrawColor(Textdraw[0], 0);
  24.     TextDrawUseBox(Textdraw[0], true);
  25.     TextDrawBoxColor(Textdraw[0], 102);
  26.     TextDrawSetShadow(Textdraw[0], 0);
  27.     TextDrawSetOutline(Textdraw[0], 0);
  28.     TextDrawFont(Textdraw[0], 0);
  29.  
  30.     Textdraw[1] = TextDrawCreate(248.125000, 122.499961, "Random Gift Box");
  31.     TextDrawLetterSize(Textdraw[1], 0.449999, 1.600000);
  32.     TextDrawAlignment(Textdraw[1], 1);
  33.     TextDrawColor(Textdraw[1], -1);
  34.     TextDrawSetShadow(Textdraw[1], 0);
  35.     TextDrawSetOutline(Textdraw[1], 1);
  36.     TextDrawBackgroundColor(Textdraw[1], 10092543);
  37.     TextDrawFont(Textdraw[1], 1);
  38.     TextDrawSetProportional(Textdraw[1], 1);
  39.  
  40.     Textdraw[2] = TextDrawCreate(204.375000, 140.583358, "This gift box will cost you $3,000 ~n~    It will pick up a random gifts");
  41.     TextDrawLetterSize(Textdraw[2], 0.356249, 1.512500);
  42.     TextDrawAlignment(Textdraw[2], 1);
  43.     TextDrawColor(Textdraw[2], 10092543);
  44.     TextDrawSetShadow(Textdraw[2], 0);
  45.     TextDrawSetOutline(Textdraw[2], 1);
  46.     TextDrawBackgroundColor(Textdraw[2], 51);
  47.     TextDrawFont(Textdraw[2], 1);
  48.     TextDrawSetProportional(Textdraw[2], 1);
  49.    
  50.     Textdraw[3] = TextDrawCreate(216.875000, 308.583190, "Buy                   Cancel");
  51.     TextDrawLetterSize(Textdraw[3], 0.449999, 1.600000);
  52.     TextDrawAlignment(Textdraw[3], 1);
  53.     TextDrawColor(Textdraw[3], -1);
  54.     TextDrawSetShadow(Textdraw[3], 0);
  55.     TextDrawSetOutline(Textdraw[3], 1);
  56.     TextDrawBackgroundColor(Textdraw[3], 51);
  57.     TextDrawFont(Textdraw[3], 1);
  58.     TextDrawSetProportional(Textdraw[3], 1);
  59.  
  60.     Textdraw[4] = TextDrawCreate(247.500000, 307.999938, "LD_CHAT:thumbup");
  61.     TextDrawLetterSize(Textdraw[4], 0.000000, 0.000000);
  62.     TextDrawTextSize(Textdraw[4], 26.250000, 18.083288);
  63.     TextDrawAlignment(Textdraw[4], 1);
  64.     TextDrawColor(Textdraw[4], -1);
  65.     TextDrawSetShadow(Textdraw[4], 0);
  66.     TextDrawSetOutline(Textdraw[4], 0);
  67.     TextDrawFont(Textdraw[4], 4);
  68.     TextDrawSetSelectable(Textdraw[4], true);
  69.  
  70.     Textdraw[5] = TextDrawCreate(433.125000, 310.916687, "LD_CHAT:thumbdn");
  71.     TextDrawLetterSize(Textdraw[5], 0.000000, 0.000000);
  72.     TextDrawTextSize(Textdraw[5], 19.375000, 12.833374);
  73.     TextDrawAlignment(Textdraw[5], 1);
  74.     TextDrawColor(Textdraw[5], -1);
  75.     TextDrawSetShadow(Textdraw[5], 0);
  76.     TextDrawSetOutline(Textdraw[5], 0);
  77.     TextDrawFont(Textdraw[5], 4);
  78.     TextDrawSetSelectable(Textdraw[5], true);
  79.    
  80.     Textdraw[6] = TextDrawCreate(480.750000, 115.833335, "usebox");
  81.     TextDrawLetterSize(Textdraw[6], 0.000000, 0.590740);
  82.     TextDrawTextSize(Textdraw[6], 148.000000, 0.000000);
  83.     TextDrawAlignment(Textdraw[6], 1);
  84.     TextDrawColor(Textdraw[6], 0);
  85.     TextDrawUseBox(Textdraw[6], true);
  86.     TextDrawBoxColor(Textdraw[6], 0x80808066);
  87.     TextDrawSetShadow(Textdraw[6], 0);
  88.     TextDrawSetOutline(Textdraw[6], 0);
  89.     TextDrawFont(Textdraw[6], 0);
  90.     return 1;
  91. }
  92. public OnPlayerConnect(playerid)
  93. {
  94.     Card[1] = CreatePlayerTextDraw(playerid,175.625000, 182.000015, "LD_CARD:cdback");
  95.     PlayerTextDrawLetterSize(playerid,Card[1], 0.000000, 0.000000);
  96.     PlayerTextDrawTextSize(playerid,Card[1], 65.000000, 90.416656);
  97.     PlayerTextDrawAlignment(playerid,Card[1], 1);
  98.     PlayerTextDrawColor(playerid,Card[1], -1);
  99.     PlayerTextDrawSetShadow(playerid,Card[1], 0);
  100.     PlayerTextDrawSetOutline(playerid,Card[1], 0);
  101.     PlayerTextDrawFont(playerid,Card[1], 4);
  102.  
  103.     Card[2] = CreatePlayerTextDraw(playerid,275.625000, 180.833328, "LD_CARD:cdback");
  104.     PlayerTextDrawLetterSize(playerid,Card[2], 0.000000, 0.000000);
  105.     PlayerTextDrawTextSize(playerid,Card[2], 64.375000, 93.333312);
  106.     PlayerTextDrawAlignment(playerid,Card[2], 1);
  107.     PlayerTextDrawColor(playerid,Card[2], -1);
  108.     PlayerTextDrawSetShadow(playerid,Card[2], 0);
  109.     PlayerTextDrawSetOutline(playerid,Card[2], 0);
  110.     PlayerTextDrawFont(playerid,Card[2], 4);
  111.  
  112.     Card[3] = CreatePlayerTextDraw(playerid,376.875000, 181.999984, "LD_CARD:cdback");
  113.     PlayerTextDrawLetterSize(playerid,Card[3], 0.000000, 0.000000);
  114.     PlayerTextDrawTextSize(playerid,Card[3], 65.625000, 94.500030);
  115.     PlayerTextDrawAlignment(playerid,Card[3], 1);
  116.     PlayerTextDrawColor(playerid,Card[3], -1);
  117.     PlayerTextDrawSetShadow(playerid,Card[3], 0);
  118.     PlayerTextDrawSetOutline(playerid,Card[3], 0);
  119.     PlayerTextDrawFont(playerid,Card[3], 4);
  120.     return 1;
  121. }
  122. public OnPlayerDisconnect(playerid)
  123. {
  124.     for(new i=0; i !=4; i++) PlayerTextDrawHide(playerid,Card[i]);
  125.     return 1;
  126. }
  127. CMD:giftbox(playerid)
  128. {
  129.     if(InProgress[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"ERROR: {FFFFFF}You are already in progress. Wait a bit");
  130.     SelectTextDraw(playerid, 0xFF4040AA);
  131.     for(new i=0; i != 7; i++) TextDrawShowForPlayer(playerid,Textdraw[i]);
  132.     for(new i=0; i != 4; i++) PlayerTextDrawShow(playerid,Card[i]);
  133.     PlayerTextDrawSetString(playerid,Card[1],"LD_CARD:cdback"); PlayerTextDrawSetString(playerid,Card[2],"LD_CARD:cdback"); PlayerTextDrawSetString(playerid,Card[3],"LD_CARD:cdback");
  134.     return 1;
  135. }
  136. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  137. {
  138.     if(clickedid == Textdraw[4])
  139.     {
  140.         if(InProgress[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF,"ERROR: {FFFFFF}You are already in progress. Wait a bit");//Just added this to make sure he don't spam using it.
  141.         if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid,0xFF0000FF,"ERROR: {FFFFFF}You don't have enough money to buy this box. {FF0000}($3,000)");
  142.         GivePlayerMoney(playerid,-3000);
  143.         InProgress[playerid]=1;
  144.         SetTimerEx("Card1Delay",2000,false,"i",playerid);
  145.     }
  146.     if(clickedid == Textdraw[5])
  147.     {
  148.         for(new i=0; i != 7; i++) TextDrawHideForPlayer(playerid,Textdraw[i]);
  149.         for(new i=0; i != 4; i++) PlayerTextDrawHide(playerid,Card[i]);
  150.         InProgress[playerid]=0;
  151.         CancelSelectTextDraw(playerid);
  152.     }
  153.     return 1;
  154. }
  155. forward Card1Delay(playerid);
  156. public Card1Delay(playerid)
  157. {
  158.     switch (random(4))
  159.     {
  160.         case 0://No reward
  161.         {
  162.             PlayerTextDrawSetString(playerid,Card[1],"LD_DRV:naward");
  163.             SendClientMessage(playerid,0xFF0000FF,"[Gift box]: Sorry but you don't have luck this time. ( 2 Cards left ).");
  164.         }
  165.         case 1://Money
  166.         {
  167.             PlayerTextDrawSetString(playerid,Card[1],"LD_SLOT:bar2_o");
  168.             new randommoney = random(10000);//You can change this money reward to what ever you wanted.
  169.             GivePlayerMoney(playerid,randommoney);
  170.             new string[126];
  171.             format(string,sizeof(string),"[Gift box]: {FFFFFF}Congrats, You have earned $%d from your first card.",randommoney);
  172.             SendClientMessage(playerid,0x00E80FFF,string);
  173.         }
  174.         case 2://Weapon
  175.         {
  176.             new gunname[32];
  177.             PlayerTextDrawSetString(playerid,Card[1],"LD_TATT:9gun2");
  178.             new randomweapon = random(44)+1;
  179.             GivePlayerWeapon(playerid,randomweapon,999999);
  180.             GetWeaponName(randomweapon,gunname,sizeof(gunname));
  181.             new string[126];
  182.             format(string,sizeof(string),"[Gift box]: {FFFFFF}Congrats, You have earned %s from your first card.",gunname);
  183.             SendClientMessage(playerid,0x00E80FFF,string);
  184.         }
  185.         case 3://Score
  186.         {
  187.             PlayerTextDrawSetString(playerid,Card[1],"LD_DRV:nawtxt");
  188.             new randomscore = random(50)+1;//Change this too if you want.
  189.             SetPlayerScore(playerid,GetPlayerScore(playerid)+randomscore);
  190.             new string[126];
  191.             format(string,sizeof(string),"[Gift box]: {FFFFFF}Congrats, You have earned %d score from your first card.",randomscore);
  192.             SendClientMessage(playerid,0x00E80FFF,string);
  193.         }
  194.     }
  195.     SetTimerEx("Card2Delay",2000,false,"i",playerid);
  196.     return 1;
  197. }
  198. forward Card2Delay(playerid);
  199. public Card2Delay(playerid)
  200. {
  201.     switch (random(4))
  202.     {
  203.         case 0://No reward
  204.         {
  205.             PlayerTextDrawSetString(playerid,Card[2],"LD_DRV:naward");
  206.             SendClientMessage(playerid,0xFF0000FF,"[Gift box]: Sorry but you don't have luck this time. ( 1 Card left ).");
  207.         }
  208.         case 1://Money
  209.         {
  210.             PlayerTextDrawSetString(playerid,Card[2],"LD_SLOT:bar2_o");
  211.             new randommoney = random(10000);//You can change this money reward to what ever you wanted.
  212.             GivePlayerMoney(playerid,randommoney);
  213.             new string[126];
  214.             format(string,sizeof(string),"[Gift box]: {FFFFFF}Congrats, You have earned $%d from your second card.",randommoney);
  215.             SendClientMessage(playerid,0x00E80FFF,string);
  216.         }
  217.         case 2://Weapon
  218.         {
  219.             new gunname[32];
  220.             PlayerTextDrawSetString(playerid,Card[2],"LD_TATT:9gun2");
  221.             new randomweapon = random(44)+1;
  222.             GivePlayerWeapon(playerid,randomweapon,999999);
  223.             GetWeaponName(randomweapon,gunname,sizeof(gunname));
  224.             new string[126];
  225.             format(string,sizeof(string),"[Gift box]: {FFFFFF}Congrats, You have earned %s from your second card.",gunname);
  226.             SendClientMessage(playerid,0x00E80FFF,string);
  227.         }
  228.         case 3://Score
  229.         {
  230.             PlayerTextDrawSetString(playerid,Card[2],"LD_DRV:nawtxt");
  231.             new randomscore = random(50)+1;//Change this too if you want.
  232.             SetPlayerScore(playerid,GetPlayerScore(playerid)+randomscore);
  233.             new string[126];
  234.             format(string,sizeof(string),"[Gift box]: {FFFFFF}Congrats, You have earned %d score from your second card.",randomscore);
  235.             SendClientMessage(playerid,0x00E80FFF,string);
  236.         }
  237.     }
  238.     SetTimerEx("Card3Delay",2000,false,"i",playerid);
  239.     return 1;
  240. }
  241. forward Card3Delay(playerid);
  242. public Card3Delay(playerid)
  243. {
  244.     switch (random(4))
  245.     {
  246.         case 0://No reward
  247.         {
  248.             PlayerTextDrawSetString(playerid,Card[3],"LD_DRV:naward");
  249.             SendClientMessage(playerid,0xFF0000FF,"[Gift box]: Sorry but you don't have luck this time.");
  250.         }
  251.         case 1://Money
  252.         {
  253.             PlayerTextDrawSetString(playerid,Card[3],"LD_SLOT:bar2_o");
  254.             new randommoney = random(10000);//You can change this money reward to what ever you wanted.
  255.             GivePlayerMoney(playerid,randommoney);
  256.             new string[126];
  257.             format(string,sizeof(string),"[Gift box]: {FFFFFF}Congrats, You have earned $%d from your third card.",randommoney);
  258.             SendClientMessage(playerid,0x00E80FFF,string);
  259.         }
  260.         case 2://Weapon
  261.         {
  262.             new gunname[32];
  263.             PlayerTextDrawSetString(playerid,Card[3],"LD_TATT:9gun2");
  264.             new randomweapon = random(44)+1;
  265.             GivePlayerWeapon(playerid,randomweapon,999999);
  266.             GetWeaponName(randomweapon,gunname,sizeof(gunname));
  267.             new string[126];
  268.             format(string,sizeof(string),"[Gift box]: {FFFFFF}Congrats, You have earned %s from your third card.",gunname);
  269.             SendClientMessage(playerid,0x00E80FFF,string);
  270.         }
  271.         case 3://Score
  272.         {
  273.             PlayerTextDrawSetString(playerid,Card[3],"LD_DRV:nawtxt");
  274.             new randomscore = random(50)+1;//Change this too if you want.
  275.             SetPlayerScore(playerid,GetPlayerScore(playerid)+randomscore);
  276.             new string[126];
  277.             format(string,sizeof(string),"[Gift box]: {FFFFFF}Congrats, You have earned %d score from your third card.",randomscore);
  278.             SendClientMessage(playerid,0x00E80FFF,string);
  279.         }
  280.     }
  281.     SetTimerEx("HideTextDraws",1000,false,"i",playerid);
  282.     CancelSelectTextDraw(playerid);
  283.     return 1;
  284. }
  285. forward HideTextDraws(playerid);
  286. public HideTextDraws(playerid)
  287. {
  288.     for(new i=0; i != 7; i++) TextDrawHideForPlayer(playerid,Textdraw[i]);
  289.     for(new i=0; i != 4; i++) PlayerTextDrawHide(playerid,Card[i]);
  290.     InProgress[playerid]=0;
  291. }
  292. public OnFilterScriptExit()
  293. {
  294.     for(new i=0; i != 7; i++) TextDrawDestroy(Textdraw[i]);
  295.     return 1;
  296. }
  297.  
  298. #else
  299.  
  300. main()
  301. {
  302.     print("\n----------------------------------");
  303.     print(" Blank Gamemode by your name here");
  304.     print("----------------------------------\n");
  305. }
  306.  
  307. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement