findtheflag.pwn 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. /*
  2. /$$ /$$ /$$$$$$ /$$$$$$$ /$$$$$$$
  3. | $$$ | $$ /$$__ $$ | $$__ $$| $$__ $$
  4. | $$$$| $$| $$ \__/ | $$ \ $$| $$ \ $$
  5. | $$ $$ $$| $$ /$$$$ /$$$$$$| $$$$$$$/| $$$$$$$/
  6. | $$ $$$$| $$|_ $$|______/| $$__ $$| $$____/
  7. | $$\ $$$| $$ \ $$ | $$ \ $$| $$
  8. | $$ \ $$| $$$$$$/ | $$ | $$| $$
  9. |__/ \__/ \______/ |__/ |__/|__/
  10. Find the Flag Event
  11. Next Generation Gaming, LLC
  12. (created by Next Generation Gaming Development Team)
  13. * Copyright (c) 2016, Next Generation Gaming, LLC
  14. *
  15. * All rights reserved.
  16. *
  17. * Redistribution and use in source and binary forms, with or without modification,
  18. * are not permitted in any case.
  19. *
  20. *
  21. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  22. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  23. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  24. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  25. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  26. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  27. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  28. * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  29. * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  30. * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  31. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  32. */
  33. // Load the result live, this way i can display them on the CP live :)
  34. #include <YSI\y_hooks>
  35. CMD:flaghelp(playerid, params[])
  36. {
  37. SendClientMessageEx(playerid, COLOR_GREEN,"_______________________________________");
  38. SendClientMessageEx(playerid, COLOR_WHITE,"*** FLAG HELP *** - type a command for more infomation.");
  39. SendClientMessageEx(playerid, COLOR_GRAD3,"*** FLAG HELP *** /flagshop");
  40. return 1;
  41. }
  42. CMD:flagshop(playerid, params[]) {
  43. if(PlayerInfo[playerid][pAdmin] > 1) return SendClientMessageEx(playerid, COLOR_RED, "ERROR: Administrators can't access the flag store!");
  44. ShowFlagShop(playerid);
  45. return 1;
  46. }
  47. stock ShowFlagShop(playerid) {
  48. new title[54];
  49. szMiscArray[0] = 0;
  50. format(title, sizeof(title), "Flag Shop - Flag Credits: %s", number_format(PlayerInfo[playerid][pFlagCredits]));
  51. Dialog_Show(playerid, flag_shop, DIALOG_STYLE_TABLIST_HEADERS, title,
  52. "Item\tCost\n\
  53. Gift Reset\t2\n\
  54. Custom Car Voucher\t6\n\
  55. House Interior Change\t6\n\
  56. Bronze VIP 1 Month\t12\n\
  57. Silver VIP 1 Month\t20\n\
  58. Gold VIP 2 Month\t35\n\
  59. Platinum VIP 1 Month\t40",
  60. "Select", "Go Back");
  61. return 1;
  62. }
  63. Dialog:flag_shop(playerid, response, listitem, inputtext[]) {
  64. szMiscArray[0] = 0;
  65. if(response) {
  66. SetPVarInt(playerid, "FlagItem", listitem);
  67. switch(listitem) {
  68. case 0: {
  69. if(PlayerInfo[playerid][pFlagCredits] < 2) return SendClientMessageEx(playerid, COLOR_GRAD3, "You need 2 flag credits to purchase a gift reset."), ShowFlagShop(playerid);
  70. format(szMiscArray, sizeof(szMiscArray), "Item: Gift Reset\nDescription: Ability to reset your gift timer.\nYour Flag Credits: %d\nCost: {FFD700}2{A9C4E4}\nFlag Credits Left: %d", PlayerInfo[playerid][pFlagCredits], (PlayerInfo[playerid][pFlagCredits]-2));
  71. return Dialog_Show(playerid, IssueFlagOrder, DIALOG_STYLE_MSGBOX, "Confirm Order", szMiscArray, "Select", "Go Back");
  72. }
  73. case 1: {
  74. if(PlayerInfo[playerid][pFlagCredits] < 6) return SendClientMessageEx(playerid, COLOR_GRAD3, "You need 6 flag credits to purchase a custom car voucher."), ShowFlagShop(playerid);
  75. format(szMiscArray, sizeof(szMiscArray), "Item: Gift Reset\nDescription: Ability to get a personal vehicle from /myvouchers.\nYour Flag Credits: %d\nCost: {FFD700}6{A9C4E4}\nFlag Credits Left: %d", PlayerInfo[playerid][pFlagCredits], (PlayerInfo[playerid][pFlagCredits]-6));
  76. return Dialog_Show(playerid, IssueFlagOrder, DIALOG_STYLE_MSGBOX, "Confirm Order", szMiscArray, "Select", "Go Back");
  77. }
  78. case 2: {
  79. if(PlayerInfo[playerid][pFlagCredits] < 6) return SendClientMessageEx(playerid, COLOR_GRAD3, "You need 6 flag credits to purchase a house interior change."), ShowFlagShop(playerid);
  80. format(szMiscArray, sizeof(szMiscArray), "Item: House Interior Change\nDescription: Ability to change your house interior (Account Flag).\nYour Flag Credits: %d\nCost: {FFD700}6{A9C4E4}\nFlag Credits Left: %d", PlayerInfo[playerid][pFlagCredits], (PlayerInfo[playerid][pFlagCredits]-6));
  81. return Dialog_Show(playerid, IssueFlagOrder, DIALOG_STYLE_MSGBOX, "Confirm Order", szMiscArray, "Select", "Go Back");
  82. }
  83. case 3: {
  84. if(PlayerInfo[playerid][pFlagCredits] < 12) return SendClientMessageEx(playerid, COLOR_GRAD3, "You need 12 flag credits to purchase bronze VIP. (1 month)."), ShowFlagShop(playerid);
  85. format(szMiscArray, sizeof(szMiscArray), "Item: Bronze VIP (1 Month)\nDescription: Item is non-transferable. (Account Flag)\nYour Flag Credits: %d\nCost: {FFD700}12{A9C4E4}\nFlag Credits Left: %d", PlayerInfo[playerid][pFlagCredits], (PlayerInfo[playerid][pFlagCredits]-12));
  86. return Dialog_Show(playerid, IssueFlagOrder, DIALOG_STYLE_MSGBOX, "Confirm Order", szMiscArray, "Select", "Go Back");
  87. }
  88. case 4: {
  89. if(PlayerInfo[playerid][pFlagCredits] < 20) return SendClientMessageEx(playerid, COLOR_GRAD3, "You need 20 flag credits to purchase silver VIP. (1 month)."), ShowFlagShop(playerid);
  90. format(szMiscArray, sizeof(szMiscArray), "Item: Silver VIP (1 Month)\nDescription: Item is non-transferable. (Account Flag)\nYour Flag Credits: %d\nCost: {FFD700}20{A9C4E4}\nFlag Credits Left: %d", PlayerInfo[playerid][pFlagCredits], (PlayerInfo[playerid][pFlagCredits]-20));
  91. return Dialog_Show(playerid, IssueFlagOrder, DIALOG_STYLE_MSGBOX, "Confirm Order", szMiscArray, "Select", "Go Back");
  92. }
  93. case 5: {
  94. if(PlayerInfo[playerid][pFlagCredits] < 35) return SendClientMessageEx(playerid, COLOR_GRAD3, "You need 35 flag credits to purchase gold VIP. (2 month)."), ShowFlagShop(playerid);
  95. format(szMiscArray, sizeof(szMiscArray), "Item: Gold VIP (2 Month)\nDescription: Item is non-transferable. (Account Flag)\nYour Flag Credits: %d\nCost: {FFD700}35{A9C4E4}\nFlag Credits Left: %d", PlayerInfo[playerid][pFlagCredits], (PlayerInfo[playerid][pFlagCredits]-35));
  96. return Dialog_Show(playerid, IssueFlagOrder, DIALOG_STYLE_MSGBOX, "Confirm Order", szMiscArray, "Select", "Go Back");
  97. }
  98. case 6: {
  99. if(PlayerInfo[playerid][pFlagCredits] < 40) return SendClientMessageEx(playerid, COLOR_GRAD3, "You need 40 flag credits to purchase platinum VIP. (1 month)."), ShowFlagShop(playerid);
  100. format(szMiscArray, sizeof(szMiscArray), "Item: Platinum VIP (1 Month)\nDescription: Item is non-transferable. (Account Flag)\nYour Flag Credits: %d\nCost: {FFD700}40{A9C4E4}\nFlag Credits Left: %d", PlayerInfo[playerid][pFlagCredits], (PlayerInfo[playerid][pFlagCredits]-40));
  101. return Dialog_Show(playerid, IssueFlagOrder, DIALOG_STYLE_MSGBOX, "Confirm Order", szMiscArray, "Select", "Go Back");
  102. }
  103. }
  104. }
  105. return 1;
  106. }
  107. Dialog:IssueFlagOrder(playerid, response, listitem, inputtext[]) {
  108. szMiscArray[0] = 0;
  109. if(!GetPVarType(playerid, "FlagItem")) return 1;
  110. if(response) {
  111. switch(GetPVarInt(playerid, "FlagItem")) {
  112. case 0: {
  113. format(szMiscArray, sizeof(szMiscArray), "%s has purchased a Gift Reset Voucher (Cost: 2 | Credit Left: %d)", GetPlayerNameEx(playerid), (PlayerInfo[playerid][pFlagCredits]-2));
  114. Log("logs/flagevent.log", szMiscArray);
  115. PlayerInfo[playerid][pFlagCredits] -= 2;
  116. PlayerInfo[playerid][pGiftVoucher] += 1;
  117. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a gift reset voucher you can access it via \"/myvouchers\".");
  118. }
  119. case 1: {
  120. format(szMiscArray, sizeof(szMiscArray), "%s has purchased a Custom Car Voucher (Cost: 6 | Credit Left: %d)", GetPlayerNameEx(playerid), (PlayerInfo[playerid][pFlagCredits]-6));
  121. Log("logs/flagevent.log", szMiscArray);
  122. PlayerInfo[playerid][pFlagCredits] -= 6;
  123. PlayerInfo[playerid][pVehVoucher] += 1;
  124. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a gift reset voucher you can access it via \"/myvouchers\".");
  125. }
  126. case 2: {
  127. format(szMiscArray, sizeof(szMiscArray), "%s has purchased a House Interior Change (Cost: 6 | Credit Left: %d)", GetPlayerNameEx(playerid), (PlayerInfo[playerid][pFlagCredits]-6));
  128. Log("logs/flagevent.log", szMiscArray);
  129. PlayerInfo[playerid][pFlagCredits] -= 6;
  130. AddFlag(playerid, INVALID_PLAYER_ID, "[Flag Event] House Interior Change | NT");
  131. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a house interior change (Flagged to your account) you can claim it via \"/report > Prize Claim\".");
  132. }
  133. case 3: {
  134. format(szMiscArray, sizeof(szMiscArray), "%s has purchased a Bronze VIP (1 Month) (Cost: 12 | Credit Left: %d)", GetPlayerNameEx(playerid), (PlayerInfo[playerid][pFlagCredits]-12));
  135. Log("logs/flagevent.log", szMiscArray);
  136. PlayerInfo[playerid][pFlagCredits] -= 12;
  137. AddFlag(playerid, INVALID_PLAYER_ID, "[Flag Event] Bronze VIP (1 Month) | NT");
  138. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a Bronze VIP (1 Month) (Flagged to your account) you can claim it via \"/report > Prize Claim\".");
  139. SendClientMessageEx(playerid, COLOR_WHITE, "This item can only be claimed to you and cannot be sold to another player.");
  140. }
  141. case 4: {
  142. format(szMiscArray, sizeof(szMiscArray), "%s has purchased a Silver VIP (1 Month) (Cost: 20 | Credit Left: %d)", GetPlayerNameEx(playerid), (PlayerInfo[playerid][pFlagCredits]-20));
  143. Log("logs/flagevent.log", szMiscArray);
  144. PlayerInfo[playerid][pFlagCredits] -= 20;
  145. AddFlag(playerid, INVALID_PLAYER_ID, "[Flag Event] Silver VIP (1 Month) | NT");
  146. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a Silver VIP (1 Month) (Flagged to your account) you can claim it via \"/report > Prize Claim\".");
  147. SendClientMessageEx(playerid, COLOR_WHITE, "This item can only be claimed to you and cannot be sold to another player.");
  148. }
  149. case 5: {
  150. format(szMiscArray, sizeof(szMiscArray), "%s has purchased a Gold VIP (2 Month) (Cost: 35 | Credit Left: %d)", GetPlayerNameEx(playerid), (PlayerInfo[playerid][pFlagCredits]-35));
  151. Log("logs/flagevent.log", szMiscArray);
  152. PlayerInfo[playerid][pFlagCredits] -= 35;
  153. AddFlag(playerid, INVALID_PLAYER_ID, "[Flag Event] Gold VIP (2 Month) | NT");
  154. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a Gold VIP (2 Month) (Flagged to your account) you can claim it via \"/report > Prize Claim\".");
  155. SendClientMessageEx(playerid, COLOR_WHITE, "This item can only be claimed to you and cannot be sold to another player.");
  156. }
  157. case 6: {
  158. format(szMiscArray, sizeof(szMiscArray), "%s has purchased a Gold VIP (2 Month) (Cost: 40 | Credit Left: %d)", GetPlayerNameEx(playerid), (PlayerInfo[playerid][pFlagCredits]-40));
  159. Log("logs/flagevent.log", szMiscArray);
  160. PlayerInfo[playerid][pFlagCredits] -= 40;
  161. AddFlag(playerid, INVALID_PLAYER_ID, "[Flag Event] Platinum VIP (1 Month) | NT");
  162. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a Platinum VIP (1 Month) (Flagged to your account) you can claim it via \"/report > Prize Claim\".");
  163. SendClientMessageEx(playerid, COLOR_WHITE, "This item can only be claimed to you and cannot be sold to another player.");
  164. }
  165. }
  166. DeletePVar(playerid, "FlagItem");
  167. } else {
  168. DeletePVar(playerid, "FlagItem");
  169. ShowFlagShop(playerid);
  170. }
  171. return 1;
  172. }