Advertisement
OneTallor

Lottó

Jul 2nd, 2016
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.75 KB | None | 0 0
  1. mysql = exports.mysql
  2.  
  3. function correctTime(res)
  4.     local hour, minutes = getTime()
  5.     if hour == 18 and minutes == 00 then
  6.         drawLottery()
  7.     else
  8.         local minutesLeft = 60 - minutes
  9.         local hoursLeft = 17 - hour
  10.         if hoursLeft < 0 then
  11.             drawTime = ((hoursLeft*60)+1440) + minutesLeft
  12.         else
  13.             drawTime = (hoursLeft*60) + minutesLeft
  14.         end
  15.         drawTimer = setTimer ( drawLottery, drawTime*60000, 1 )
  16.         outputDebugString("Lottó húzás "..drawTime.." percen belül!")
  17.         drawTime = 0
  18.     end
  19.    
  20.     -- check for lottery setting
  21.     local result = mysql:query("SELECT value FROM settings WHERE name = 'lotteryjackpot'" )
  22.     if result then
  23.         if mysql:num_rows(result) == 0 then
  24.             mysql:query_free("INSERT INTO settings (name, value) VALUES ('lotteryjackpot', 0)")
  25.         end
  26.         mysql:free_result( result )
  27.     end
  28. end
  29. addEventHandler("onResourceStart", getResourceRootElement(), correctTime)
  30.  
  31. function giveTicket(aPlayer)
  32.     local PlayerID = getElementData(aPlayer, "dbid")
  33.     local ticketNumber = tostring(math.random(1000, 9999))
  34.     local result = mysql:query("SELECT characterid FROM lottery WHERE ticketnumber = " .. mysql:escape_string(ticketNumber) )
  35.     if (mysql:num_rows(result) == 0) then
  36.         mysql:free_result( result )
  37.         mysql:query_free( "INSERT INTO lottery (characterid, ticketnumber) VALUES (" .. mysql:escape_string(PlayerID) .. ", " .. mysql:escape_string(ticketNumber) .. " )" )
  38.         mysql:query_free( "UPDATE settings SET value = value + 30 WHERE name = 'lotteryjackpot'" )
  39.         return tonumber(ticketNumber), 40 -- should be above the value + xxx
  40.     else
  41.         mysql:free_result( result )
  42.         local result = mysql:query_fetch_assoc("SELECT COUNT(*) as tickets FROM lottery" )
  43.         if result then
  44.             if tonumber( result["tickets"] ) >= 8999 then
  45.                 return false
  46.             end
  47.            
  48.         else
  49.             return giveTicket(aPlayer)
  50.         end
  51.     end
  52. end
  53.  
  54. function drawLottery()
  55.     local query = mysql:query_fetch_assoc("SELECT value FROM settings WHERE name = 'lotteryjackpot'")
  56.     local jackpot = query["value"]
  57.    
  58.     local drawNumbers = tostring(math.random(1000, 9999))
  59.     local result = mysql:query("SELECT characterid as id, c.charactername as name FROM lottery l LEFT JOIN characters c ON l.characterid = c.id  WHERE ticketnumber = " .. mysql:escape_string(drawNumbers))
  60.     if (mysql:num_rows(result) ~= 0) then
  61.         local row = mysql:fetch_assoc(result)
  62.         local charid = row["id"]
  63.         local charname = row["name"]
  64.         local player = getPlayerFromName(charname)
  65.         if player then
  66.             local bankmoney = getElementData(player, "bankmoney")
  67.             exports['anticheat-system']:changeProtectedElementDataEx(player, "bankmoney", bankmoney+jackpot)
  68.         else
  69.             mysql:query_free("UPDATE characters SET bankmoney=bankmoney+" .. mysql:escape_string(jackpot) .. " WHERE id=" .. mysql:escape_string(charid))
  70.         end
  71.         mysql:query_free( "INSERT INTO wiretransfers (`from`, `to`, `amount`, `reason`, `type`) VALUES (0, " .. mysql:escape_string(charid) .. ", " .. mysql:escape_string(jackpot) .. ", 'Won lottery', 3)" )
  72.         mysql:query_free( "UPDATE settings SET value = 0 WHERE name = 'lotteryjackpot'" )
  73.         outputChatBox("#FFFFF[#6CAC6FLOTTÓ#FFFFFF] A nyertes neve: " .. charname:gsub("_", " ") .. "! Megnyerte a lottót, melynek összege :" .. jackpot .. " Forint, ez az összeg a bankszámlára fog kerülni.", getRootElement(), 0, 255, 0)
  74.     else
  75.         outputChatBox("#FFFFF[#6CAC6FLOTTÓ#FFFFFF] Senki nem találta el a lottó nyerő számait! A" .. jackpot .. " Forint felgyülemlett.", getRootElement(), 255, 255, 0)
  76.     end
  77.     drawTimer2 = setTimer ( drawLottery, 86400000, 1 )
  78.     mysql:free_result(result)
  79.    
  80.     mysql:query_free("TRUNCATE TABLE lottery")
  81.     call( getResourceFromName( "item-system" ), "deleteAll", 68 )
  82. end
  83.  
  84. addCommandHandler( "forcedrawlottery", function( thePlayer ) if exports.global:isPlayerLeadAdmin( thePlayer ) then drawLottery() end end )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement