Advertisement
Guest User

Lotto System

a guest
Feb 3rd, 2012
446
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 9.38 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.  
  7. #define COLOR_RED 0xAA3333AA
  8. #define COLOR_GREY 0xAFAFAFAA
  9. #define COLOR_GREEN 0x9EC73DAA
  10. #define COLOR_YELLOW 0xFFFF00AA
  11.  
  12. new HaveTicket[MAX_PLAYERS];
  13. new PlayerNumber[6][MAX_PLAYERS];
  14. new Number[6];
  15.  
  16. forward TicketDraw();
  17. forward TicketDraw2();
  18.  
  19. main()
  20. {
  21.     print("\n----------------------------------");
  22.     print(" Blank Gamemode by your name here");
  23.     print("----------------------------------\n");
  24. }
  25.  
  26.  
  27. public OnGameModeInit()
  28. {
  29.     // Don't use these lines if it's a filterscript
  30.     SetGameModeText("Blank Script");
  31.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  32.     SetTimer("TicketDraw2", 3600000, 0);
  33.     return 1;
  34. }
  35.  
  36. public OnGameModeExit()
  37. {
  38.     return 1;
  39. }
  40.  
  41. public OnPlayerRequestClass(playerid, classid)
  42. {
  43.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  44.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  45.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  46.     return 1;
  47. }
  48.  
  49. public OnPlayerConnect(playerid)
  50. {
  51.     return 1;
  52. }
  53.  
  54. public OnPlayerDisconnect(playerid, reason)
  55. {
  56.     return 1;
  57. }
  58.  
  59. public OnPlayerSpawn(playerid)
  60. {
  61.     return 1;
  62. }
  63.  
  64. public OnPlayerDeath(playerid, killerid, reason)
  65. {
  66.     return 1;
  67. }
  68.  
  69. public OnVehicleSpawn(vehicleid)
  70. {
  71.     return 1;
  72. }
  73.  
  74. public OnVehicleDeath(vehicleid, killerid)
  75. {
  76.     return 1;
  77. }
  78.  
  79. public OnPlayerText(playerid, text[])
  80. {
  81.     return 1;
  82. }
  83.  
  84. public OnPlayerCommandText(playerid, cmdtext[])
  85. {
  86.     new tmp[256];
  87.     new tmp2[128], tmp3[128], tmp4[128], tmp5[128], tmp6[128];
  88.     new string[128];
  89.     //------------------------------Lotto--------------------------------
  90.     if(strcmp(strget(cmdtext,0),"/lotto",true) == 0)
  91.     {
  92.         if(HaveTicket[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "Du hast schon ein Lotto schein ---/nummern---");
  93.         if(GetPlayerMoney(playerid) < 1) return SendClientMessage(playerid, COLOR_RED, "Lotto Schein kosten 1$");
  94.  
  95.  
  96.         tmp = strget(cmdtext, 1);
  97.         tmp2 = strget(cmdtext,2);
  98.         tmp3 = strget(cmdtext,3);
  99.         tmp4 = strget(cmdtext,4);
  100.         tmp5 = strget(cmdtext,5);
  101.         tmp6 = strget(cmdtext,6);
  102.         if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3) || !strlen(tmp4) || !strlen(tmp5) || !strlen(tmp6))
  103.         {
  104.             return SendClientMessage(playerid, COLOR_RED, "/lotto [Zahl 1][Zahl 2][Zahl 3][Zahl 4][Zahl 5][Zahl 6](Zahlen von 6 bis 46 sind erlaubt)");
  105.         }
  106.         GivePlayerMoney(playerid, -1);
  107.         PlayerNumber[0][playerid] = strval(tmp);
  108.         PlayerNumber[1][playerid] = strval(tmp2);
  109.         PlayerNumber[2][playerid] = strval(tmp3);
  110.         PlayerNumber[3][playerid] = strval(tmp4);
  111.         PlayerNumber[4][playerid] = strval(tmp5);
  112.         PlayerNumber[5][playerid] = strval(tmp6);
  113.         for(new n = 0; n < 6; n++)
  114.         {
  115.             if(PlayerNumber[n][playerid] < 6 || PlayerNumber[n][playerid] > 46) { SendClientMessage(playerid, COLOR_GREY, "   Deine Lotterienummer darf nicht unter 6 oder über 46 liegen!"); return SendClientMessage(playerid, COLOR_RED, "Zahlen von 6 bis 46 sind erlaubt"); }
  116.         }
  117.         format(string, sizeof(string), "Deine Lottonummern sind: %d, %d, %d, %d, %d, %d", PlayerNumber[0][playerid], PlayerNumber[1][playerid], PlayerNumber[2][playerid], PlayerNumber[3][playerid], PlayerNumber[4][playerid], PlayerNumber[5][playerid]);
  118.         SendClientMessage(playerid, COLOR_YELLOW, string);
  119.         HaveTicket[playerid] = 1;
  120.         return 1;
  121.     }
  122.     if (strcmp("/nummern", cmdtext, true) == 0)
  123.     {
  124.         if(HaveTicket[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, "Du hast kein Lotto schein '/lotto'");
  125.         format(string, sizeof(string), "Deine Lottonummern sind: %d, %d, %d, %d, %d, %d", PlayerNumber[0][playerid], PlayerNumber[1][playerid], PlayerNumber[2][playerid], PlayerNumber[3][playerid], PlayerNumber[4][playerid], PlayerNumber[5][playerid]);
  126.         SendClientMessage(playerid, COLOR_YELLOW, string);
  127.         return 1;
  128.     }
  129.     if (strcmp("/LottoTest", cmdtext, true) == 0)
  130.     {
  131.         if(IsPlayerAdmin(playerid) == 0) return 0;
  132.  
  133.         TicketDraw();
  134.         return 1;
  135.     }
  136.     //------------------------------Lotto ende---------------------------
  137.     return 0;
  138. }
  139.  
  140. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  141. {
  142.     return 1;
  143. }
  144.  
  145. public OnPlayerExitVehicle(playerid, vehicleid)
  146. {
  147.     return 1;
  148. }
  149.  
  150. public OnPlayerStateChange(playerid, newstate, oldstate)
  151. {
  152.     return 1;
  153. }
  154.  
  155. public OnPlayerEnterCheckpoint(playerid)
  156. {
  157.     return 1;
  158. }
  159.  
  160. public OnPlayerLeaveCheckpoint(playerid)
  161. {
  162.     return 1;
  163. }
  164.  
  165. public OnPlayerEnterRaceCheckpoint(playerid)
  166. {
  167.     return 1;
  168. }
  169.  
  170. public OnPlayerLeaveRaceCheckpoint(playerid)
  171. {
  172.     return 1;
  173. }
  174.  
  175. public OnRconCommand(cmd[])
  176. {
  177.     return 1;
  178. }
  179.  
  180. public OnPlayerRequestSpawn(playerid)
  181. {
  182.     return 1;
  183. }
  184.  
  185. public OnObjectMoved(objectid)
  186. {
  187.     return 1;
  188. }
  189.  
  190. public OnPlayerObjectMoved(playerid, objectid)
  191. {
  192.     return 1;
  193. }
  194.  
  195. public OnPlayerPickUpPickup(playerid, pickupid)
  196. {
  197.     return 1;
  198. }
  199.  
  200. public OnVehicleMod(playerid, vehicleid, componentid)
  201. {
  202.     return 1;
  203. }
  204.  
  205. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  206. {
  207.     return 1;
  208. }
  209.  
  210. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  211. {
  212.     return 1;
  213. }
  214.  
  215. public OnPlayerSelectedMenuRow(playerid, row)
  216. {
  217.     return 1;
  218. }
  219.  
  220. public OnPlayerExitedMenu(playerid)
  221. {
  222.     return 1;
  223. }
  224.  
  225. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  226. {
  227.     return 1;
  228. }
  229.  
  230. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  231. {
  232.     return 1;
  233. }
  234.  
  235. public OnRconLoginAttempt(ip[], password[], success)
  236. {
  237.     return 1;
  238. }
  239.  
  240. public OnPlayerUpdate(playerid)
  241. {
  242.     return 1;
  243. }
  244.  
  245. public OnPlayerStreamIn(playerid, forplayerid)
  246. {
  247.     return 1;
  248. }
  249.  
  250. public OnPlayerStreamOut(playerid, forplayerid)
  251. {
  252.     return 1;
  253. }
  254.  
  255. public OnVehicleStreamIn(vehicleid, forplayerid)
  256. {
  257.     return 1;
  258. }
  259.  
  260. public OnVehicleStreamOut(vehicleid, forplayerid)
  261. {
  262.     return 1;
  263. }
  264.  
  265. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  266. {
  267.     return 1;
  268. }
  269.  
  270. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  271. {
  272.     return 1;
  273. }
  274.  
  275. public TicketDraw()
  276. {
  277.     MakeNumber();
  278.     new Winning[MAX_PLAYERS];
  279.     new string[256];
  280.  
  281.     for(new i = 0; i < MAX_PLAYERS; i++)
  282.     {
  283.         SendClientMessage(i, COLOR_GREEN, "=== Lotto ===");
  284.         if(HaveTicket[i] == 1)
  285.         {
  286.             for(new n = 0; n < 6; n++)
  287.             {
  288.                 if(PlayerNumber[0][i] == Number[n])
  289.                 {
  290.                     Winning[i]++;
  291.                 }
  292.                 if(PlayerNumber[1][i] == Number[n])
  293.                 {
  294.                     Winning[i]++;
  295.                 }
  296.                 if(PlayerNumber[2][i] == Number[n])
  297.                 {
  298.                     Winning[i]++;
  299.                 }
  300.                 if(PlayerNumber[3][i] == Number[n])
  301.                 {
  302.                     Winning[i]++;
  303.                 }
  304.                 if(PlayerNumber[4][i] == Number[n])
  305.                 {
  306.                     Winning[i]++;
  307.                 }
  308.                 if(PlayerNumber[5][i] == Number[n])
  309.                 {
  310.                     Winning[i]++;
  311.                 }
  312.             }
  313.             format(string, sizeof(string), "Deine Lottonummern sind: %d, %d, %d, %d, %d, %d", PlayerNumber[0][i], PlayerNumber[1][i], PlayerNumber[2][i], PlayerNumber[3][i], PlayerNumber[4][i], PlayerNumber[5][i]);
  314.             SendClientMessage(i, COLOR_GREEN, string);
  315.         }
  316.         format(string, sizeof(string), "Die Gewinnerzahlen lauten: %d, %d, %d, %d, %d, %d", Number[0], Number[1], Number[2], Number[3], Number[4], Number[5]);
  317.         SendClientMessage(i, COLOR_GREEN, string);
  318.         if(Winning[i] == 0)
  319.         {
  320.             SendClientMessage(i, COLOR_GREEN, "Du hast keine Richtigen");
  321.             SendClientMessage(i, COLOR_GREEN, "Leider verlohren: 0$");
  322.         }
  323.         if(Winning[i] == 1)
  324.         {
  325.             SendClientMessage(i, COLOR_GREEN, "Du hast eine Richtige");
  326.             SendClientMessage(i, COLOR_GREEN, "Gewinn 1$");
  327.             GivePlayerMoney(i, 5);
  328.         }
  329.         if(Winning[i] == 2)
  330.         {
  331.             SendClientMessage(i, COLOR_GREEN, "Du hast 2 Richtige");
  332.             SendClientMessage(i, COLOR_GREEN, "Gewinn 10$");
  333.             GivePlayerMoney(i, 10);
  334.         }
  335.         if(Winning[i] == 3)
  336.         {
  337.             SendClientMessage(i, COLOR_GREEN, "Du hast 3 Richtige");
  338.             SendClientMessage(i, COLOR_GREEN, "Gewinn 100$");
  339.             GivePlayerMoney(i, 100);
  340.         }
  341.         if(Winning[i] == 4)
  342.         {
  343.             SendClientMessage(i, COLOR_GREEN, "Du hast 4 Richtige");
  344.             SendClientMessage(i, COLOR_GREEN, "Gewinn 5000$");
  345.             GivePlayerMoney(i, 5000);
  346.         }
  347.         if(Winning[i] == 5)
  348.         {
  349.             SendClientMessage(i, COLOR_GREEN, "Du hast 5 Richtige");
  350.             SendClientMessage(i, COLOR_GREEN, "gewinn 100.000$");
  351.             GivePlayerMoney(i, 100000);
  352.         }
  353.         if(Winning[i] == 6)
  354.         {
  355.             SendClientMessage(i, COLOR_GREEN, "Du hast 6 Richtige");
  356.             SendClientMessage(i, COLOR_GREEN, "Glückwunch du hast 6 Richtige und damit den Jackpot von 10.000.000$ geknackt");
  357.             GivePlayerMoney(i, 10000000);
  358.         }
  359.         SendClientMessage(i, COLOR_GREEN, "=== Lotto Ende ===");
  360.         HaveTicket[i] = 0;
  361.     }
  362.     SetTimer("TicketDraw2", 3600000, 0);
  363. }
  364. public TicketDraw2()
  365. {
  366.     for(new i = 0; i < MAX_PLAYERS; i++)
  367.     {
  368.         SendClientMessage(i, COLOR_GREEN, "=== Lotto ===");
  369.         SendClientMessage(i, COLOR_GREEN, "In 5 Minuten geht eine Lotto runde los. Schnell ticket holen mit /lotto");
  370.         SendClientMessage(i, COLOR_GREEN, "=== Lotto Ende ===");
  371.     }
  372.     SetTimer("TicketDraw", 300000, 0);
  373. }
  374.  
  375. MakeNumber()
  376. {
  377.     Number[0] = 6+random(40);
  378.     Number[1] = 6+random(40);
  379.     Number[2] = 6+random(40);
  380.     Number[3] = 6+random(40);
  381.     Number[4] = 6+random(40);
  382.     Number[5] = 6+random(40);
  383. }
  384. stock strget(strx[], pos, search = ' ')
  385. {
  386.     new arg, ret[128], idxx;
  387.     for (new i = 0; i < strlen(strx); i++)
  388.     {
  389.         if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10)
  390.             {
  391.                 arg++;
  392.                 if (arg == pos + 1)
  393.                     {
  394.                         ret[i-idxx] = EOS;
  395.                         return ret;
  396.                     } else if (arg == pos)
  397.                         idxx= i+1;
  398.             }
  399.                 else if (arg == pos)
  400.                 ret[i - idxx] = strx[i];
  401.     }
  402.     return ret;
  403. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement