Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This is a comment
- // uncomment the line below if you want to write a filterscript
- //#define FILTERSCRIPT
- #include <a_samp> //You need the a_samp include in almost every script.
- #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 //DCMD
- #define LOTTO_JACKPOT 10000 //How much it goes up every 30 seconds or whenever someone buys a ticket
- #define LOTTO_START 200000 //How much the lotto starts off at every draw
- #define LOTTO_DRAW 10 //How many minutes between each lotto draw
- #define TICKET_COST 1000 //How much a ticket will cost
- new Jackpot = LOTTO_START; //Jackpot amount
- new Numbers[100]; //So 2 people don't get the same #
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- SetTimer("UpdateJP", 30000, true); //Updates the jackpot
- SetTimer("Draw", LOTTO_DRAW*1000*60, true); //Updates the jackpot
- forward UpdateJP(); //Always forward a timer
- print("\n--------------------------------------");
- print(" Lottery FS by Goldkiller");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #else
- main()
- {
- print("\n----------------------------------");
- print(" Lottery FS exit by Goldkiller");
- print("----------------------------------\n");
- }
- #endif
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(lotto, 5, cmdtext);
- return 0;
- }
- dcmd_lotto(playerid, params[])
- {
- if(!strlen(params)) //If the player doesn't put a nubmer
- {
- SendClientMessage(playerid, 0x62FF32FF, "***Lotto information***"); //Lotto info
- SendClientMessage(playerid, 0x62FF32FF, "Pick a number between 1 and 100 with /lotto [1-100]"); //Lotto info
- new str[75]; //Creates the string
- format(str, sizeof(str), "Current Jackpot is $%d!!!!", Jackpot); //Formats the jackpot string
- SendClientMessage(playerid, 0x62FF32FF, str); //Shows the current jackpot
- }
- new Num = strval(params); //Makes the param that the player entered into a intiger
- if(Numbers[Num] == 1) //If the number is used
- {
- new str[75]; //Makes a variable
- format(str, sizeof(str), "Lotto number %d is already taken!", Num); //Formats a str
- SendClientMessage(playerid, 0xE21F1FFF, str); //Sends the message
- return 1;
- }
- if(GetPVarInt(playerid, "LottoNumber") != 0) return SendClientMessage(playerid, 0xE21F1FFF, "You have already got a lotto number");
- SetPVarInt(playerid, "LottoNumber", Num); //Sets the players number
- Numbers[Num] = 1; //Number is used
- GivePlayerMoney(playerid, -TICKET_COST); //Takes away the ticket cost.
- new str[75];
- format(str, sizeof(str), " Lotto ticket brought! You now have number %d for the next draw", Num);
- SendClientMessage(playerid, 0x62FF32FF, str); //Lotto info
- format(str, sizeof(str), " Draws are held every %d minutes and the winners are announced. Current jackpot is $%d", LOTTO_DRAW, Jackpot);
- Jackpot = Jackpot + LOTTO_JACKPOT; //Ads to the lotto jackpot
- SendClientMessage(playerid, 0x62FF32FF, str); //Lotto info
- return 1;
- }
- forward Draw();
- public Draw()
- {
- new Lnum = random(100) + 1; //Picks a random number
- new winner = -1; //Winners ID variable
- for(new i; i<MAX_PLAYERS; i++) //checks through all players
- {
- if(!IsPlayerConnected(i)) continue; //Players not connected
- if(GetPVarInt(i, "LottoNumber") == Lnum) winner = i; //If the players number is the winning number
- SetPVarInt(i, "LottoNumber", 0); //Resets the number
- }
- if(winner != -1) //If there was a winner
- {
- new Pname[24];
- GetPlayerName(winner, Pname, 24);
- new str[100];
- SendClientMessageToAll(0x62FF32FF, "****LOTTO INFORMATION****"); //Lotto info
- format(str, sizeof(str), "WE HAVE A WINNER! %s(%d) won $%d!!!!", Pname, winner, Jackpot);
- SendClientMessageToAll(0x62FF32FF, str); //Lotto info
- SendClientMessageToAll(0x62FF32FF, "Make sure you get a ticket for next draw /lotto [1-100]!!"); //Lotto info
- GivePlayerMoney(winner, Jackpot); //Gives the winner the cash
- Jackpot = LOTTO_START; //Resets the jackpot
- }
- if(winner == -1) //No winner
- {
- new str[100];
- SendClientMessageToAll(0x62FF32FF, "****LOTTO INFORMATION****"); //Lotto info
- format(str, sizeof(str), "There was no lotto winner for this draw. The jackpot will go up to $%d!", Jackpot);
- SendClientMessageToAll(0x62FF32FF, str); //Lotto info
- SendClientMessageToAll(0x62FF32FF, "Make sure you get a ticket for next draw /lotto [1-100]!!");
- }
- for(new s; s<100; s++)
- {
- Numbers[s] = 0; //Resets all numbers so they are usable.
- }
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- public UpdateJP()
- {
- Jackpot = Jackpot + LOTTO_JACKPOT; //Ads to the lotto jackpot
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment