Advertisement
B2SX

[Store] Random Events

Oct 12th, 2018
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.48 KB | None | 0 0
  1. #include <sourcemod>
  2. #include <sdktools>
  3. #include <cstrike>
  4. #include <sdkhooks>
  5. #include <smlib>
  6. #include <bstore>
  7. #include <bnjailbreak>
  8. #include <bnjailbreak_votect>
  9.  
  10. enum
  11. {
  12.     RandomEvent_None = 0,
  13.     RandomEvent_MathQuestion,
  14.     RandomEvent_Reversed,
  15.     RandomEvent_JumbledWords,
  16.     RandomEvent_MissingLetter,
  17.     RandomEvent_Translate,
  18.     RandomEvent_Opposites,
  19.     RandomEvent_HebrewTranslate
  20. };
  21.  
  22. int eEvents, Num1, iMathAnswer;
  23.  
  24. public Plugin myinfo =
  25. {
  26.     name = "[Store] Random Events",
  27.     author = "BaroNN",
  28.     description = "",
  29.     version = "1.0",
  30.     url = "http://steamcommunity.com/id/BaRoNN-Main"
  31. };
  32.  
  33. public OnPluginStart()
  34. {
  35.     CreateTimer(300.0, Timer_RandomEvents);
  36.     AddCommandListener(Command_Say, "say");
  37.     AddCommandListener(Command_Say, "say_team");
  38.     RegAdminCmd("sm_endevent", Command_EndEvent, ADMFLAG_ROOT);
  39.     RegAdminCmd("sm_randomevent", Command_RandomEvent, ADMFLAG_ROOT);
  40. }
  41.  
  42. public Action Command_RandomEvent(int client, int args)
  43. {
  44.     if (eEvents == RandomEvent_None)
  45.     {
  46.         PrintToChatAll("[\x0ERandom\x02Events\x01] %N started a random event!", client);
  47.         StartRandomEvents();
  48.     }
  49.     else PrintToChat(client, "[\x0ERandom\x02Events\x01] There is an event currently running!");
  50. }
  51.  
  52. public Action Command_EndEvent(int client, int args)
  53. {
  54.     if (eEvents != RandomEvent_None)
  55.     {
  56.         PrintToChatAll("[\x0ERandom\x02Events\x01] %N ended the random event!", client);
  57.         eEvents = RandomEvent_None;
  58.     }
  59.     else PrintToChat(client, "[\x0ERandom\x02Events\x01] There are no events currently running!");
  60. }
  61.  
  62. public Action Timer_RandomEvents(Handle Timer)
  63. {
  64.     CreateTimer(300.0, Timer_RandomEvents);
  65.     StartRandomEvents();
  66. }
  67.  
  68. public Action StartRandomEvents()
  69. {
  70.     int iEvent = GetRandomInt(1, 7);
  71.     if (eEvents == RandomEvent_None)
  72.     {
  73.         if (iEvent == 1)eEvents = RandomEvent_MathQuestion;
  74.         else if (iEvent == 2)eEvents = RandomEvent_Reversed;
  75.         else if (iEvent == 3)eEvents = RandomEvent_JumbledWords;
  76.         else if (iEvent == 4)eEvents = RandomEvent_MissingLetter;
  77.         else if (iEvent == 5)eEvents = RandomEvent_Translate;
  78.         else if (iEvent == 6)eEvents = RandomEvent_Opposites;
  79.         else if (iEvent == 7)eEvents = RandomEvent_HebrewTranslate;
  80.     }
  81.     if (eEvents == RandomEvent_MathQuestion)
  82.     {
  83.         int iNumber1 = Math_GetRandomInt(-2, 10);
  84.         int iNumber2 = Math_GetRandomInt(-2, 10);
  85.         iMathAnswer = iNumber1 * iNumber2;
  86.         CreateTimer(8.0, endevent, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE);
  87.         PrintToChatAll("[\x0ERandom\x02Events\x01]\x10 The question is: %d * %d = ? - write the answer to win!", iNumber1, iNumber2);
  88.     }
  89.     else if (eEvents == RandomEvent_Reversed)
  90.     {
  91.         Num1 = GetRandomInt(0, MAXENGWORDS);
  92.         CreateTimer(8.0, endevent, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE);
  93.         PrintToChatAll("[\x0ERandom\x02Events\x01]\x03 The random word is: %s, Type the word in Reverse!", Reversed[Num1]);
  94.     }
  95.     else if (eEvents == RandomEvent_JumbledWords)
  96.     {
  97.         Num1 = GetRandomInt(0, MAXENGWORDS);
  98.         CreateTimer(8.0, endevent, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE);
  99.         PrintToChatAll("[\x0ERandom\x02Events\x01]\x05 The random word is: %s, Try to Find a Solution!", JumbledWords[Num1]);
  100.     }
  101.     else if (eEvents == RandomEvent_MissingLetter)
  102.     {
  103.         Num1 = GetRandomInt(0, MAXENGWORDS);
  104.         CreateTimer(8.0, endevent, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE);
  105.         PrintToChatAll("[\x0ERandom\x02Events\x01]\x06 The random word is: %s, Find The Missing Letter!", MissingLetter[Num1]);
  106.     }
  107.     else if (eEvents == RandomEvent_Translate)
  108.     {
  109.         Num1 = GetRandomInt(0, MAXENGWORDS);
  110.         CreateTimer(8.0, endevent, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE);
  111.         PrintToChatAll("[\x0ERandom\x02Events\x01]\x07 The random word is: %s, Translate The Word To Win!", EngWords[Num1]);
  112.     }
  113.     else if (eEvents == RandomEvent_Opposites)
  114.     {
  115.         Num1 = GetRandomInt(0, MAXENGWORDS);
  116.         CreateTimer(8.0, endevent, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE);
  117.         PrintToChatAll("[\x0ERandom\x02Events\x01]\x0E The random word is: %s, Type the opposite to Win!", Opposites_Questions[Num1]);
  118.     }
  119.     else if (eEvents == RandomEvent_HebrewTranslate)
  120.     {
  121.         Num1 = GetRandomInt(0, MAXENGWORDS);
  122.         CreateTimer(8.0, endevent, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE);
  123.         PrintToChatAll("[\x0ERandom\x02Events\x01]\x01 The random word is: %s, Translate The Word To Win!", HebWords[Num1]);
  124.     }
  125. }
  126.  
  127. public Action endevent(Handle Timer)
  128. {
  129.     if (eEvents != RandomEvent_None)
  130.     {
  131.         iMathAnswer = -1;
  132.         eEvents = RandomEvent_None;
  133.         PrintToChatAll("%s \x04No one answerd the question the random event", PREFIX);
  134.     }
  135. }
  136.  
  137. public Action Command_Say(int client, const char[] command, int args)
  138. {
  139.     if (!IsValidClient(client))return Plugin_Continue;
  140.    
  141.     int reward = GetRandomInt(1, 50);
  142.     char arguments[128], heb_arguments[128];
  143.     GetCmdArgString(arguments, 128);
  144.     TrimString(arguments);
  145.     StripQuotes(arguments);
  146.     int Number = StringToInt(arguments);
  147.     ReverseString(arguments, sizeof(arguments), heb_arguments);
  148.    
  149.     if (eEvents == RandomEvent_MathQuestion)
  150.     {
  151.         if (Number == iMathAnswer)
  152.         {
  153.             eEvents = RandomEvent_None;
  154.             Store_SetClientCredits(client, Store_GetClientCredits(client) + reward);
  155.             PrintToChatAll("[\x0ERandom\x02Events\x01]\x04 %N received %d Credits for wining the Math Event with the answer %d!", client, reward, iMathAnswer);
  156.             iMathAnswer = -1;
  157.         }
  158.     }
  159.     else if (eEvents == RandomEvent_Reversed)
  160.     {
  161.         if (StrEqual(arguments, EngWords[Num1], true))
  162.         {
  163.             eEvents = RandomEvent_None;
  164.             Store_SetClientCredits(client, Store_GetClientCredits(client) + reward);
  165.             PrintToChatAll("[\x0ERandom\x02Events\x01]\x04 %N received %d Credits for wining the Reversed Words with the answer %s!", client, reward, EngWords[Num1]);
  166.         }
  167.     }
  168.     else if (eEvents == RandomEvent_MissingLetter)
  169.     {
  170.         if (StrEqual(arguments, EngWords[Num1], true))
  171.         {
  172.             eEvents = RandomEvent_None;
  173.             Store_SetClientCredits(client, Store_GetClientCredits(client) + reward);
  174.             PrintToChatAll("[\x0ERandom\x02Events\x01]\x04 %N received %d Credits for wining Missing Letter Event with the answer %s!", client, reward, EngWords[Num1]);
  175.         }
  176.     }
  177.     else if (eEvents == RandomEvent_Translate)
  178.     {
  179.         if (StrEqual(heb_arguments, HebWords[Num1], true))
  180.         {
  181.             eEvents = RandomEvent_None;
  182.             Store_SetClientCredits(client, Store_GetClientCredits(client) + reward);
  183.             PrintToChatAll("[\x0ERandom\x02Events\x01]\x04 %N received %d Credits for wining Translate Event with the answer %s!", client, reward, HebWords[Num1]);
  184.         }
  185.     }
  186.     else if (eEvents == RandomEvent_JumbledWords)
  187.     {
  188.         if (StrEqual(arguments, EngWords[Num1], true))
  189.         {
  190.             eEvents = RandomEvent_None;
  191.             Store_SetClientCredits(client, Store_GetClientCredits(client) + reward);
  192.             PrintToChatAll("[\x0ERandom\x02Events\x01]\x04 %N received %d Credits for wining Jumbled Words Event with the answer %s!", client, reward, EngWords[Num1]);
  193.         }
  194.     }
  195.     else if (eEvents == RandomEvent_Opposites)
  196.     {
  197.         if (StrEqual(arguments, Opposites_Answers[Num1], true))
  198.         {
  199.             eEvents = RandomEvent_None;
  200.             Store_SetClientCredits(client, Store_GetClientCredits(client) + reward);
  201.             PrintToChatAll("[\x0ERandom\x02Events\x01]\x04 %N recived %d Credits for wining Opposites Event with the answer %s!", client, reward, Opposites_Answers[Num1]);
  202.         }
  203.     }
  204.     else if (eEvents == RandomEvent_HebrewTranslate)
  205.     {
  206.         if (StrEqual(arguments, EngWords[Num1], true))
  207.         {
  208.             eEvents = RandomEvent_None;
  209.             Store_SetClientCredits(client, Store_GetClientCredits(client) + reward);
  210.             PrintToChatAll("[\x0ERandom\x02Events\x01]\x04 %N received %d Credits for wining Hebrew Translate Event with the answer %s!", client, reward, EngWords[Num1]);
  211.         }
  212.     }
  213.     return Plugin_Continue;
  214. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement