Advertisement
Guest User

Untitled

a guest
Sep 25th, 2012
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 61.79 KB | None | 0 0
  1. --Ach1 ==> 50 Race Wins.
  2. --Ach2 ==> 30 Explosions.
  3. --Ach3 ==> $1000000.
  4. --Ach4 ==> 100 Rolls.
  5. --Ach5 ==> 100 Spins.
  6. --Ach6 ==> 10 Shop Purchases.
  7. --Ach7 ==> VIP Purchase.
  8. --Ach8 ==> Win a race with 10 or more players::
  9. --Ach9 ==> Change your vehicle light color::
  10.  
  11. local rootElement= getRootElement()
  12. addEvent("onMapStarting")
  13. addEvent("onPlayerPickupRacePickup")
  14. addEvent("onPlayerReachCheckpoint")
  15. addEvent("onPlayerRaceWasted")
  16. addEvent("onPlayerFinish")
  17. addEvent("onRaceStateChanging")
  18. function recover(playerSource)
  19. if (isGuestAccount(getPlayerAccount(playerSource)) == false) then
  20.       accountname = getAccountName (getPlayerAccount(playerSource))  
  21.       if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) then
  22.    
  23. executeSQLDropTable("RaceWins")
  24. executeSQLDropTable("RaceAttempts")
  25. executeSQLDropTable("DDDM")
  26. executeSQLDropTable("SpinsRolls")
  27. executeSQLDropTable("Colors")
  28. executeSQLDropTable("LColors")
  29. executeSQLDropTable("VColors")
  30. executeSQLDropTable("Achievments")
  31. executeSQLDropTable("PersonalInfo")
  32. executeSQLDropTable("MoneyB")
  33. executeSQLDropTable("GmBlockList")
  34. outputChatBox("Successfully Recovered. Please restart the resource. /restart race_starter_pack")
  35. end
  36. end
  37. end
  38. addCommandHandler("recover",recover)
  39. function ResourceStart()
  40. executeSQLCreateTable("RaceWins", "serial STRING,RaceWins INT,RaceWins2 INT,RaceWins3 INT,RaceWins4 INT")
  41. executeSQLCreateTable("RaceAttempts", "serial STRING,RaceAttempts INT")
  42. executeSQLCreateTable("DDDM", "serial STRING,DDAttempts INT, DDWins INT")
  43. executeSQLCreateTable("SpinsRolls", "serial STRING,Spins INT,Rolls INT")
  44. executeSQLCreateTable("Colors", "serial STRING,Ccolor STRING,Ncolor STRING")
  45. executeSQLCreateTable("LColors", "serial STRING,R INT,G INT,B INT")
  46. executeSQLCreateTable("VColors", "serial STRING,Col1 INT,Col2 INT,Col3 INT,Col4 INT")
  47. executeSQLCreateTable("Achievments", "serial STRING,Ach1 INT,Ach2 INT,Ach3 INT,Ach4 INT,Ach5 INT,Ach6 INT,Ach7 INT,Ach8 INT,Ach9 INT")
  48. executeSQLCreateTable("PersonalInfo", "serial STRING,Edit1 TEXT,Edit2 TEXT,Edit3 STRING,Edit4 TEXT,Edit5 TEXT,Edit6 STRING")
  49. executeSQLCreateTable("MoneyB", "serial STRING,Money INT,B INT")
  50. executeSQLCreateTable("GmBlockList", "serial STRING")
  51. end
  52. addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), ResourceStart)
  53.  
  54. function ClientReady(g_player)
  55. local serial = getPlayerSerial(g_player)
  56. local playername = getPlayerName(g_player)
  57. local defaultvCol = get("defaultvehiclecolor")
  58. local defaultcCol = get("defaultchatcolor")
  59. local defaultnCol = get("defaultnamecolor")
  60. CheckPlayer  = executeSQLSelect ( "RaceWins", "serial", "serial = '" .. serial .. "'" )
  61. CheckPlayer2 = executeSQLSelect ( "SpinsRolls", "serial", "serial = '" .. serial .. "'" )
  62. CheckPlayer3 = executeSQLSelect ( "Achievments", "serial", "serial = '" .. serial .. "'" )
  63. CheckPlayer4 = executeSQLSelect ( "MoneyB", "serial", "serial = '" .. serial .. "'" )
  64. CheckPlayer5 = executeSQLSelect ( "PersonalInfo", "serial", "serial = '" .. serial .. "'" )
  65. CheckPlayer6 = executeSQLSelect ( "VColors", "serial", "serial = '" .. serial .. "'" )
  66. CheckPlayer7 = executeSQLSelect ( "LColors", "serial", "serial = '" .. serial .. "'" )
  67. CheckPlayer8 = executeSQLSelect ( "Colors", "serial", "serial = '" .. serial .. "'" )
  68. CheckPlayer9 = executeSQLSelect ( "RaceAttempts", "serial", "serial = '" .. serial .. "'" )
  69. CheckPlayer10= executeSQLSelect ( "DDDM", "serial", "serial = '" .. serial .. "'" )
  70.  
  71. if ( type( CheckPlayer ) == "table" and #CheckPlayer == 0 ) or not CheckPlayer then
  72. executeSQLInsert ( "RaceWins", "'"..serial.."','0','0','0','0'" )
  73. end
  74.  
  75. if ( type( CheckPlayer2 ) == "table" and #CheckPlayer2 == 0 ) or not CheckPlayer2 then
  76. executeSQLInsert ( "SpinsRolls", "'"..serial.."','0','0'" )
  77. end
  78.  
  79. if ( type( CheckPlayer3 ) == "table" and #CheckPlayer3 == 0 ) or not CheckPlayer3 then
  80. executeSQLInsert ( "Achievments", "'"..serial.."','0','0','0','0','0','0','0','0','0'" )
  81. end
  82.  
  83. if ( type( CheckPlayer4 ) == "table" and #CheckPlayer4 == 0 ) or not CheckPlayer4 then
  84. executeSQLInsert ( "MoneyB", "'"..serial.."','0','0'" )
  85. end
  86.  
  87. if ( type( CheckPlayer5 ) == "table" and #CheckPlayer5 == 0 ) or not CheckPlayer5 then
  88. executeSQLInsert ( "PersonalInfo", "'"..serial.."','Unknown','Unknown','Unknown','Unknown','Unknown','Unknown'" )
  89. end
  90.  
  91. if ( type( CheckPlayer6 ) == "table" and #CheckPlayer6 == 0 ) or not CheckPlayer6 then
  92. executeSQLInsert ( "VColors", "'"..serial.."','"..defaultvCol.."','"..defaultvCol.."','"..defaultvCol.."','"..defaultvCol.."'" )
  93. end
  94.  
  95. if ( type( CheckPlayer7 ) == "table" and #CheckPlayer7 == 0 ) or not CheckPlayer7 then
  96. executeSQLInsert ( "LColors", "'"..serial.."','255','255','255'" )
  97. end
  98.  
  99. if ( type( CheckPlayer8 ) == "table" and #CheckPlayer8 == 0 ) or not CheckPlayer8 then
  100. executeSQLInsert ( "Colors", "'"..serial.."','"..defaultcCol.."','"..defaultnCol.."'" )
  101. end
  102.  
  103. if ( type( CheckPlayer9 ) == "table" and #CheckPlayer9 == 0 ) or not CheckPlayer9 then
  104. executeSQLInsert ( "RaceAttempts", "'"..serial.."','0'" )
  105. end
  106.  
  107. if ( type( CheckPlayer10 ) == "table" and #CheckPlayer10 == 0 ) or not CheckPlayer10 then
  108. executeSQLInsert ( "DDDM", "'"..serial.."','0','0'" )
  109. end
  110. end
  111. addEvent("onClientReady",true)
  112. addEventHandler("onClientReady",getRootElement(),ClientReady)
  113.  
  114. function giveCash(playerSource,giveCash,tPlayer,amount)
  115. if (isGuestAccount(getPlayerAccount(playerSource)) == false) then
  116.       accountname = getAccountName (getPlayerAccount(playerSource))  
  117.       if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) then
  118.      
  119. if not tPlayer or not amount then
  120. outputChatBox("ERROR: Syntax is /givecash [player] [amount]",255,0,0)
  121. return
  122. end
  123.  
  124. if getPlayerFromName(tPlayer) == false then outputChatBox("Invalid Player Selected",playerSource,255,0,0)
  125. else
  126. local serial = getPlayerSerial(getPlayerFromName(tPlayer))
  127. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  128. newMoney = tonumber(Money[1]["Money"]) + tonumber(amount)
  129. outputChatBox(getPlayerName(playerSource).." has given you $"..tonumber(amount),getPlayerFromName(tPlayer),255,255,0)
  130. executeSQLUpdate ( "MoneyB", "Money = '"..newMoney.."'","serial = '" .. serial .. "'")
  131. end
  132. end
  133. end
  134. end
  135. addCommandHandler("givecash",giveCash)
  136.  
  137. function stats(psource,cname,tplayer)
  138.     if not getPlayerFromName(tplayer) then tplayer = psource else tplayer = getPlayerFromName(tplayer) end
  139.     achUnlockedNumber(tplayer)
  140.     local serial = getPlayerSerial(tplayer)
  141.     local RaceAttempts = executeSQLSelect ( "RaceAttempts", "RaceAttempts","serial = '" .. serial .. "'")
  142.     local DDAttempts = executeSQLSelect ("DDDM","DDAttempts","serial = '" .. serial .. "'")
  143.     local DDWins =executeSQLSelect ( "DDDM", "DDWins","serial = '" .. serial .. "'")
  144.     local Wins1 = executeSQLSelect ( "RaceWins", "RaceWins","serial = '" .. serial .. "'")
  145.     local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  146.     local MoneyB = executeSQLSelect ( "MoneyB", "B","serial = '" .. serial .. "'")
  147.     if tonumber(RaceAttempts[1]['RaceAttempts']) == 0 then ratio = 0 else ratio = (tonumber(Wins1[1]['RaceWins'])/tonumber(RaceAttempts[1]['RaceAttempts']))*100 end   
  148.     if tonumber(DDAttempts[1]['DDAttempts']) == 0 then rratio = 0 else rratio = (tonumber(DDWins[1]['DDWins'])/tonumber(DDAttempts[1]['DDAttempts']))*100 end
  149.    
  150.     outputChatBox(getPlayerName(tplayer).."'s Stats: Attempted: "..RaceAttempts[1]['RaceAttempts'].." races, "..DDAttempts[1]['DDAttempts']
  151.     .." DDs. Won: "..Wins1[1]['RaceWins'].." races("..ratio.."%), "..DDWins[1]['DDWins'].." DDs("..rratio.."%). Cash: $"..Money[1]['Money']..
  152.     " Unlocked "..getElementData(tplayer,"data.Achnum").."/9 Achievements("..MoneyB[1]['B'].."B)",root,173,218,068)
  153.  
  154. end
  155. addCommandHandler("stats",stats)
  156. addCommandHandler("st",stats)
  157. function Ach1(playeer)
  158. local playername = getPlayerName(playeer)
  159. local serial = getPlayerSerial(playeer)    
  160. local Ach1 = executeSQLSelect ( "Achievments", "Ach1","serial = '" .. serial .. "'")
  161. local AchB = executeSQLSelect ( "MoneyB", "B","serial = '" .. serial .. "'")
  162. local AchNumb = getElementData(playeer,"data.Achnum")
  163.  
  164.         Ach1 = tonumber(Ach1[1]["Ach1"]) + 1
  165.         if Ach1 == 50 then
  166.         triggerClientEvent (playeer, "onAchUnlock", getRootElement())  
  167.         AchB = tonumber(AchB[1]["B"]) + 30
  168.         setElementData(playeer, "B Points",AchB)
  169.         executeSQLUpdate ( "MoneyB", "B = '"..AchB.."'","serial = '" .. serial .. "'")
  170.         setElementData ( playeer ,"data.money",Money,true)
  171.         setElementData ( playeer ,"data.AchB",AchB,true)
  172.         outputChatBox("**Achievments: "..playername.." unlocked the achievment 'Pro Racer' for winning 50 races! (30B)",getRootElement(),255,100,0)        
  173.         AchNumb = tonumber(AchNumb) + 1
  174.         setElementData(playeer,"data.Achnum",AchNumb,true)
  175.         end    
  176.         setElementData   ( playeer ,"data.Ach1",Ach1,true)
  177.         executeSQLUpdate ( "Achievments", "Ach1 = '"..Ach1.."'","serial = '" .. serial .. "'") 
  178. end
  179.  
  180. function raceWin(rank)
  181.         if rank ~= 1 then --Check if the player's rank is 1
  182.         return
  183.         end
  184.         local playername = getPlayerName(source)
  185.         local serial = getPlayerSerial(source)
  186.         local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  187.         local Wins1 = executeSQLSelect ( "RaceWins", "RaceWins","serial = '" .. serial .. "'")
  188.        
  189.         Money = tonumber(Money[1]["Money"]) + get('MoneyForTheFirst')
  190.         if get('ShowWinMessages') == "true" then
  191.         triggerClientEvent (source,"onPlayerWin", getRootElement())
  192.         end
  193.         setElementData (source, "Money" ,Money)
  194.         setElementData ( source ,"data.money",Money,true)
  195.         executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  196.         outputChatBox("*Win: "..playername.." took $"..get('MoneyForTheFirst').." for finishing first!",getRootElement(),255,153,0)
  197.         setElementData(source,"data.playername",playername,true)
  198.        
  199.         Wins1 = tonumber(Wins1[1]["RaceWins"]) + 1
  200.         setElementData ( source ,"race.Wins",Wins1,true)
  201.         if get("Achievments") == 'true' then
  202.         Ach1(source)
  203.         end
  204.         executeSQLUpdate ( "RaceWins", "RaceWins = '"..Wins1.."'","serial = '" .. serial .. "'")   
  205. end
  206.  
  207.  
  208.  
  209. function raceSec(rank)
  210.         if rank ~= 2 then
  211.         return
  212.         end  
  213.         local playername = getPlayerName(source)
  214.         local serial = getPlayerSerial(source)
  215.         local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  216.         local Wins2 = executeSQLSelect ( "RaceWins", "RaceWins2","serial = '" .. serial .. "'")
  217.                
  218.         Money = tonumber(Money[1]["Money"]) + get('MoneyForTheSecond')
  219.         outputChatBox("*Win: "..playername.." took $"..get('MoneyForTheSecond').." for finishing second!",getRootElement(),255,153,0)
  220.         if get('ShowWinMessages') == "true" then
  221.         triggerClientEvent (source,"onPlayerWin2", getRootElement())   
  222.         end
  223.         setElementData(source, "Money", Money)     
  224.         setElementData ( source ,"data.money",Money,true)
  225.         setElementData(source,"data.playername",playername,true)
  226.        
  227.         Wins2 = tonumber(Wins2[1]["RaceWins2"]) + 1
  228.         setElementData ( source ,"race.Wins2",Wins2,true)
  229.        
  230.         executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  231.         executeSQLUpdate ( "RaceWins", "RaceWins2 = '"..Wins2.."'","serial = '" .. serial .. "'")
  232. end
  233. addEventHandler( "onPlayerFinish", rootElement, raceSec ) -- Race Wins
  234.  
  235. function raceTh(rank)
  236.         if rank ~= 3 then
  237.         return
  238.         end  
  239.         local playername = getPlayerName(source)
  240.         local serial = getPlayerSerial(source)
  241.         local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  242.         local Wins3 = executeSQLSelect ( "RaceWins", "RaceWins3","serial = '" .. serial .. "'")
  243.        
  244.         Money = tonumber(Money[1]["Money"]) + get('MoneyForTheThird')
  245.         outputChatBox("*Win: "..playername.." took $"..get('MoneyForTheThird').." for finishing third!",getRootElement(),255,153,0)
  246.         if get('ShowWinMessages') == "true" then
  247.         triggerClientEvent (source,"onPlayerWin3", getRootElement())
  248.         end
  249.         setElementData(source, "Money", Money)
  250.         setElementData ( source ,"data.money",Money,true)
  251.         setElementData(source,"data.playername",playername,true)
  252.        
  253.         Wins3 = tonumber(Wins3[1]["RaceWins3"]) + 1
  254.         setElementData ( source ,"race.Wins3",Wins3,true)
  255.        
  256.         executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  257.         executeSQLUpdate ( "RaceWins", "RaceWins3 = '"..Wins3.."'","serial = '" .. serial .. "'")      
  258. end
  259. addEventHandler( "onPlayerFinish", rootElement, raceTh  ) -- Race Wins
  260.  
  261. function raceAny(rank)
  262.         if rank < 4 then
  263.         return
  264.         end  
  265.         local playername = getPlayerName(source)
  266.         local serial = getPlayerSerial(source)     
  267.         local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  268.         local Wins4 = executeSQLSelect ( "RaceWins", "RaceWins4","serial = '" .. serial .. "'")
  269.        
  270.         Money = tonumber(Money[1]["Money"]) + get('MoneyFor>Third')
  271.         outputChatBox("*Win: "..playername.." took $"..get('MoneyFor>Third').." for completing the race!",getRootElement(),255,153,0)
  272.        
  273.         if get('ShowWinMessages') == "true" then
  274.         triggerClientEvent (source,"onPlayerWino", getRootElement())
  275.         end
  276.        
  277.         setElementData(source, "Money", Money)
  278.         setElementData ( source ,"data.money",Money,true)
  279.         setElementData(source,"data.playername",playername,true)
  280.        
  281.         Wins4 = Wins4[1]["RaceWins4"] + 1
  282.         setElementData ( source ,"race.Wins4",Wins4,true)
  283.        
  284.         executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  285.         executeSQLUpdate ( "RaceWins", "RaceWins4 = '"..Wins4.."'","serial = '" .. serial .. "'")
  286. end    
  287. addEventHandler( "onPlayerFinish", rootElement, raceAny ) -- Race Wins
  288.  
  289. function DestructionMoney(mapInfo,mapOptions,gameOptions)
  290.    info = mapInfo.modename
  291.    if mapInfo.modename == "Destruction derby" then
  292.    local players = getElementsByType("player")
  293.    for k,v in ipairs(players) do
  294.    local serial = getPlayerSerial(v)
  295.    local DDAttempts = executeSQLSelect ( "DDDM", "DDAttempts","serial = '" .. serial .. "'")
  296.    DDAttempts = tonumber(DDAttempts[1]["DDAttempts"]) + 1
  297.    executeSQLUpdate ( "DDDM", "DDAttempts = '"..DDAttempts.."'","serial = '" .. serial .. "'")
  298.    setElementData(v,"data.DDAttempts",DDAttempts,true)
  299.    end
  300.    end
  301. end
  302.  
  303. function DestructionMoney2(thePlayer)
  304.    local playername = getPlayerName(thePlayer)
  305.    local serial = getPlayerSerial(thePlayer)
  306.    local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  307.    local DDWins = executeSQLSelect( "DDDM", "DDWins","serial = '" .. serial .. "'")
  308.    
  309.    outputChatBox("*Wins: "..playername.." took $"..get('MoneyForDD').." for surviving!",getRootElement(),255,255,0)
  310.    
  311.    Money  = tonumber(Money[1]["Money"]) + get('MoneyForDD')
  312.    DDWinss = tonumber(DDWins[1]["DDWins"]) + 1
  313.    
  314.    setElementData(thePlayer ,"Money", Money)
  315.    setElementData(thePlayer ,"data.money",Money,true)
  316.    setElementData(thePlayer ,"data.playername",playername,true)
  317.    setElementData(thePlayer ,"data.DDWins",DDWinss,true)
  318.        
  319.    executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  320.    executeSQLUpdate ( "DDDM", "DDWins = '"..DDWinss.."'","serial = '" .. serial .. "'")
  321.    if get('ShowWinMessages') == "true" then
  322.    triggerClientEvent(thePlayer,"onPlayerWinD", getRootElement())      
  323.    end
  324.  
  325. end
  326.  
  327.  function hunterBonus(pickupID, pickupType, vehicleModel)
  328. if info == "Destruction derby" then
  329. if pickupType == "vehiclechange" then
  330. if vehicleModel == 425 then
  331.  
  332. local serial = getPlayerSerial(source)
  333. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  334.  
  335. Money  = tonumber(Money[1]["Money"]) + 1250
  336.  
  337. outputChatBox("*Hunter: "..getPlayerName(source).." gets a $1250 hunter bonus!",source,25,125,225)
  338.  
  339. setElementData(source ,"Money", Money)
  340. setElementData(source ,"data.money",Money,true)
  341.  
  342. executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  343. end
  344. end
  345. end
  346. end
  347. addEventHandler("onPlayerPickUpRacePickup",getRootElement(),hunterBonus)
  348.  
  349. function RespawnTime(mapInfo,mapOptions)
  350. mapinfo = mapInfo.modename
  351. respawntime = mapOptions.respawntime
  352. end
  353. addEventHandler("onMapStarting",getRootElement(),RespawnTime)
  354.  
  355. function respawnColor()
  356. if respawntime == false then
  357. return
  358. end
  359. if mapinfo == "Sprint" or mapinfo == "Freeroam" then
  360. setTimer(timer2,respawntime*1000,1)
  361. end
  362. end
  363. addEventHandler("onPlayerWasted",getRootElement(),respawnColor)
  364.  
  365. function checkMoney (player,cmd)
  366.         local serial = getPlayerSerial(player)
  367.         local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  368.         outputChatBox("You Have $"..tonumber(Money[1]["Money"]) , player,255,255,0)
  369. end
  370.  
  371. function AchExplode()
  372.          local driver = getVehicleOccupant(source)
  373.          AchExplodeAlternative(driver)        
  374. end
  375. addEventHandler("onVehicleExplode", rootElement, AchExplode)
  376.  
  377. function AchExplodeAlternative(pplayer)
  378.          local serial = getPlayerSerial(pplayer)
  379.          local playername = getPlayerName(pplayer)
  380.          local Ach2 = executeSQLSelect ( "Achievments", "Ach2","serial = '" ..serial.. "'")
  381.          local AchB = executeSQLSelect ( "MoneyB", "B","serial = '" .. serial .. "'")
  382.          local AchNumb = getElementData(pplayer,"data.Achnum")
  383.          Ach2 = tonumber(Ach2[1]["Ach2"]) + 1
  384.          if Ach2 == 30 then      
  385.             if get('Achievments') == 'true' then
  386.          outputChatBox("**Achievments: "..playername.." unlocked the achievment 'Explosion Expert' for exploding 30 times! (10B)",getRootElement(),255,100,0)
  387.          triggerClientEvent(pplayer, "onAchUnlock2", getRootElement())
  388.          AchB = tonumber(AchB[1]["B"]) + 10
  389.          setElementData(pplayer, "B Points",AchB)
  390.          setElementData(pplayer, "data.AchB",AchB,true)      
  391.          executeSQLUpdate ( "MoneyB", "B = '"..AchB.."'","serial = '" .. serial .. "'")
  392.          AchNumb = tonumber(AchNumb) + 1
  393.          setElementData(pplayer,"data.Achnum",AchNumb,true)
  394.          end
  395.          end
  396.          setElementData(pplayer, "data.Ach2",Ach2,true)      
  397.          executeSQLUpdate ("Achievments", "Ach2 = '"..Ach2.."'","serial = '" .. serial .. "'") 
  398. end
  399.  
  400. function AchMoney(playeer)     
  401.         local serial = getPlayerSerial(playeer)
  402.         local playername = getPlayerName(playeer)
  403.         local Ach3 = executeSQLSelect ( "Achievments", "Ach3","serial = '" .. serial .. "'")
  404.         local AchB = executeSQLSelect ( "MoneyB", "B","serial = '" .. serial .. "'")
  405.         local Money = executeSQLSelect( "MoneyB", "Money","serial = '" .. serial .. "'")
  406.         local Ach3A = tonumber(Ach3[1]["Ach3"])
  407.         local AchNumb = getElementData(playeer,"data.Achnum")
  408.         if tonumber(Money[1]["Money"]) >= 1000000 then
  409.         if Ach3A == 0 then
  410.         Ach3A = 1
  411.         triggerClientEvent (playeer, "onAchUnlock3", getRootElement())
  412.         outputChatBox("**Achievments: "..playername.." unlocked the achievment 'I'm Rich' for earning $1000000! (30B)",getRootElement(),255,100,0)
  413.         AchNumb = tonumber(AchNumb) + 1
  414.         setElementData(playeer,"data.Achnum",AchNumb,true)
  415.         AchB = tonumber(AchB[1]["B"]) + 30
  416.         executeSQLUpdate ( "MoneyB", "B = '"..AchB.."'","serial = '" .. serial .. "'")
  417.         setElementData(playeer, "B Points",AchB)
  418.         setElementData(playeer ,"data.AchB",AchB,true)
  419.         end
  420.         end
  421.         executeSQLUpdate ( "Achievments", "Ach3 = '"..Ach3A.."'","serial = '" .. serial .. "'")
  422. end
  423.  
  424. function onPlayerFinish()
  425. if get("Achievments") == 'true'then
  426. AchMoney(source)
  427. end
  428. end
  429. addEventHandler( "onPlayerFinish", rootElement, onPlayerFinish ) -- Achievment
  430.  
  431. --Roll Achievment
  432. function AchRoll(playeer)
  433. local playername = getPlayerName(playeer)
  434. local serial = getPlayerSerial(playeer)
  435. local AchB = executeSQLSelect ( "MoneyB", "B","serial = '" .. serial .. "'")
  436. local Ach4 = executeSQLSelect ( "Achievments", "Ach4","serial = '" .. serial .. "'")
  437. local AchNumb = getElementData(playeer,"data.Achnum")
  438. Ach4 = tonumber(Ach4[1]["Ach4"]) + 1
  439. executeSQLUpdate ( "Achievments", "Ach4 = '"..Ach4.."'","serial = '" .. serial .. "'") 
  440. setElementData (playeer ,"data.Ach4",Ach4,true)
  441. if Ach4 == 100 then
  442. triggerClientEvent (playeer, "onAchUnlock4", getRootElement())
  443. outputChatBox("**Achievments: "..playername.." unlocked the achievment 'Roll The Dice' for rolling 100 times! (25B)",getRootElement(),0,100,255)
  444. AchB = tonumber(AchB[1]["B"]) + 25
  445. executeSQLUpdate ( "MoneyB", "B = '"..AchB.."'","serial = '" .. serial .. "'")
  446. setElementData(playeer, "B Points",AchB)
  447. setElementData (playeer ,"data.AchB",AchB,true)
  448. AchNumb = tonumber(AchNumb) + 1
  449. setElementData(playeer,"data.Achnum",AchNumb,true)
  450. end
  451. end
  452.  
  453.  
  454. --Scoreboard Money Column & Refreshing
  455. addEventHandler("onResourceStart",
  456.     getResourceRootElement(getThisResource()),
  457.     function()
  458.         exports.scoreboard:addScoreboardColumn("Money")
  459.     end)
  460.    
  461. addEventHandler ( "onPlayerJoin", rootElement, function()
  462. local serial = getPlayerSerial(source)
  463. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  464. setElementData(source, "Money", tonumber(Money[1]["Money"])) end)
  465.  
  466.  
  467. --Scoreboard 'B' Column & Refreshing
  468. addEventHandler("onResourceStart",
  469.     getResourceRootElement(getThisResource()),
  470.     function()
  471.         exports.scoreboard:addScoreboardColumn( "B Points")
  472.     end)
  473.    
  474. addEventHandler ("onPlayerJoin",getRootElement(), function()
  475. local serial = getPlayerSerial(source)
  476. local AchB = executeSQLSelect ( "MoneyB", "B","serial = '" .. serial .. "'")
  477. setElementData(source, "B Points", tonumber(AchB[1]["B"])) end)
  478.  
  479.  
  480. -- User Panel
  481. function GetInfo(g_player)
  482. local source = g_player
  483. local ip = getPlayerIP(source)
  484. local serial = getPlayerSerial(source)
  485. achUnlockedNumber(g_player)
  486. setElementData ( source ,"data.ip",ip,true)
  487. setElementData ( source ,"data.serial",serial,true)
  488.  
  489. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  490. local AchB = executeSQLSelect ( "MoneyB", "B","serial = '" .. serial .. "'")
  491. setElementData ( source ,"data.AchB",tonumber(AchB[1]["B"]),true)
  492. setElementData ( source ,"data.money",tonumber(Money[1]["Money"]),true)
  493.  
  494. local Ach1 = executeSQLSelect ( "Achievments", "Ach1","serial = '" .. serial .. "'") --50 wins
  495. local Ach2 = executeSQLSelect ( "Achievments", "Ach2","serial = '" .. serial .. "'") --30 explosions
  496. local Ach4 = executeSQLSelect ( "Achievments", "Ach4","serial = '" .. serial .. "'") --100 rolls
  497. local Ach5 = executeSQLSelect ( "Achievments", "Ach5","serial = '" .. serial .. "'") --100 spins
  498. local Ach6 = executeSQLSelect ( "Achievments", "Ach6","serial = '" .. serial .. "'") --10 shop purchases
  499. setElementData ( source ,"data.Ach1",tonumber(Ach1[1]["Ach1"]),true)
  500. setElementData ( source ,"data.Ach2",tonumber(Ach2[1]["Ach2"]),true)
  501. setElementData ( source ,"data.Ach4",tonumber(Ach4[1]["Ach4"]),true)
  502. setElementData ( source ,"data.Ach5",tonumber(Ach5[1]["Ach5"]),true)
  503. setElementData ( source ,"data.Ach6",tonumber(Ach6[1]["Ach6"]),true)
  504.  
  505. local RaceAttempts = executeSQLSelect ( "RaceAttempts", "RaceAttempts","serial = '" .. serial .. "'")
  506. local DDAttempts = executeSQLSelect ("DDDM","DDAttempts","serial = '" .. serial .. "'")
  507. local DDWins =executeSQLSelect ( "DDDM", "DDWins","serial = '" .. serial .. "'")
  508. local Wins1 = executeSQLSelect ( "RaceWins", "RaceWins","serial = '" .. serial .. "'")
  509. local Wins2 = executeSQLSelect ( "RaceWins", "RaceWins2","serial = '" .. serial .. "'")
  510. local Wins3 = executeSQLSelect ( "RaceWins", "RaceWins3","serial = '" .. serial .. "'")
  511. setElementData ( source ,"race.Wins",tonumber(Wins1[1]["RaceWins"]),true)
  512. setElementData ( source ,"race.Wins2",tonumber(Wins2[1]["RaceWins2"]),true)
  513. setElementData ( source ,"race.Wins3",tonumber(Wins3[1]["RaceWins3"]),true)
  514. setElementData ( source ,"data.raceAttempts",tonumber(RaceAttempts[1]["RaceAttempts"]),true)
  515. setElementData ( source ,"data.DDAttempts",tonumber(DDAttempts[1]["DDAttempts"]),true)
  516. setElementData ( source ,"data.DDWins",tonumber(DDWins[1]["DDWins"]),true)
  517.  
  518.  
  519. local Namecolor = executeSQLSelect ( "Colors", "Ncolor","serial = '" .. serial .. "'")
  520. local ChatColor = executeSQLSelect ( "Colors", "Ccolor","serial = '" .. serial .. "'")
  521. setElementData ( source ,"info.namecolor",Namecolor[1]["Ncolor"],true)
  522. setElementData ( source ,"info.chatcolor",ChatColor[1]["Ccolor"],true)
  523.  
  524. local Col1 = executeSQLSelect ( "VColors", "Col1","serial = '" .. serial .. "'")
  525. local Col2 = executeSQLSelect ( "VColors", "Col2","serial = '" .. serial .. "'")
  526. local Col3 = executeSQLSelect ( "VColors", "Col3","serial = '" .. serial .. "'")
  527. local Col4 = executeSQLSelect ( "VColors", "Col4","serial = '" .. serial .. "'")
  528. setElementData ( source ,"vehicle.col1",tonumber(Col1[1]["Col1"]),true)
  529. setElementData ( source ,"vehicle.col2",tonumber(Col2[1]["Col2"]),true)
  530. setElementData ( source ,"vehicle.col3",tonumber(Col3[1]["Col3"]),true)
  531. setElementData ( source ,"vehicle.col4",tonumber(Col4[1]["Col4"]),true)
  532.  
  533. local R = executeSQLSelect ( "LColors", "R","serial = '" .. serial .. "'")
  534. local G = executeSQLSelect ( "LColors", "G","serial = '" .. serial .. "'")
  535. local B = executeSQLSelect ( "LColors", "B","serial = '" .. serial .. "'")
  536. setElementData ( source ,"vehicle.LightR",tonumber(R[1]["R"]),true)
  537. setElementData ( source ,"vehicle.LightG",tonumber(G[1]["G"]),true)
  538. setElementData ( source ,"vehicle.LightB",tonumber(B[1]["B"]),true)
  539.  
  540. local Edit1 = executeSQLSelect ( "PersonalInfo", "Edit1","serial = '" .. serial .. "'")
  541. local Edit2 = executeSQLSelect ( "PersonalInfo", "Edit2","serial = '" .. serial .. "'")
  542. local Edit3 = executeSQLSelect ( "PersonalInfo", "Edit3","serial = '" .. serial .. "'")
  543. local Edit4 = executeSQLSelect ( "PersonalInfo", "Edit4","serial = '" .. serial .. "'")
  544. local Edit5 = executeSQLSelect ( "PersonalInfo", "Edit5","serial = '" .. serial .. "'")
  545. local Edit6 = executeSQLSelect ( "PersonalInfo", "Edit6","serial = '" .. serial .. "'")
  546. setElementData ( source ,"info.name",Edit1[1]["Edit1"],true)
  547. setElementData ( source ,"info.country",Edit2[1]["Edit2"],true)
  548. setElementData ( source ,"info.age",Edit3[1]["Edit3"],true)
  549. setElementData ( source ,"info.email",Edit4[1]["Edit4"],true)
  550. setElementData ( source ,"info.gender",Edit5[1]["Edit5"],true)
  551. setElementData ( source ,"info.contact",Edit6[1]["Edit6"],true)
  552.  
  553. local repairPrice = get("RepairPrice")
  554. local nitroPrice = get("NitorsPrice")
  555. local flipPrice = get("FlipPrice")
  556. local ghostmodePrice = get("GhostmodePrice")
  557. local barrelPrice = get("BarrelPrice")
  558. local hayPrice = get("HayPrice")
  559. local blowPrice = get("BlowAPlayerPrice")
  560. local gmodePrice = get("GModePrice")
  561. local mortarPrice = get("MortarStrikePrice")
  562. local changeTimePrice = get("ChangeTimePrice")
  563. local InvisPrice = get("InvisibilityPrice")
  564. setElementData ( source ,"shop.repair",repairPrice,true)
  565. setElementData ( source ,"shop.nitro",nitroPrice,true)
  566. setElementData ( source ,"shop.flip",flipPrice,true)
  567. setElementData ( source ,"shop.gm",ghostmodePrice,true)
  568. setElementData ( source ,"shop.barrel",barrelPrice,true)
  569. setElementData ( source ,"shop.hay",hayPrice,true)
  570. setElementData ( source ,"shop.blow",blowPrice,true)
  571. setElementData ( source ,"shop.gmode",gmodePrice,true)
  572. setElementData ( source ,"shop.mortar",mortarPrice,true)
  573. setElementData ( source ,"shop.changetimer",changeTimePrice,true)
  574. setElementData ( source ,"shop.invis",InvisPrice,true)
  575. triggerClientEvent(source,"showGUI",source)
  576. end
  577. addEvent("showTehGUI",true)
  578. addEventHandler("showTehGUI", getRootElement(), GetInfo)
  579. ------------------------------------------
  580.  
  581. function getpersinfo(player,edit1,edit2,edit3,edit4,edit5,edit6)
  582. local serial = getPlayerSerial(source)
  583.  executeSQLUpdate ( "PersonalInfo", "Edit1 = '"..edit1.."'","serial = '" .. serial .. "'") 
  584.  executeSQLUpdate ( "PersonalInfo", "Edit2 = '"..edit2.."'","serial = '" .. serial .. "'") 
  585.  executeSQLUpdate ( "PersonalInfo", "Edit3 = '"..edit3.."'","serial = '" .. serial .. "'") 
  586.  executeSQLUpdate ( "PersonalInfo", "Edit4 = '"..edit4.."'","serial = '" .. serial .. "'") 
  587.  executeSQLUpdate ( "PersonalInfo", "Edit5 = '"..edit5.."'","serial = '" .. serial .. "'") 
  588.  executeSQLUpdate ( "PersonalInfo", "Edit6 = '"..edit6.."'","serial = '" .. serial .. "'") 
  589.  outputChatBox("Your data has been updated!",player,200,0,100)
  590.  setElementData ( source ,"info.name",edit1,true)
  591.  setElementData ( source ,"info.country",edit2,true)
  592.  setElementData ( source ,"info.age",edit3,true)
  593.  setElementData ( source ,"info.email",edit4,true)
  594.  setElementData ( source ,"info.gender",edit5,true)
  595.  setElementData ( source ,"info.contact",edit6,true)
  596. end
  597.  addEvent("ongetpersinfo",true)
  598.  addEventHandler("ongetpersinfo",getRootElement(),getpersinfo)
  599.  
  600. -------------------------------------------
  601.  --Shop Achievments
  602.  function AchShop(playeer)
  603. local serial = getPlayerSerial(playeer)
  604. local playername = getPlayerName(playeer)
  605. local AchNumb = getElementData(playeer,"data.Achnum")
  606. local AchB = executeSQLSelect  ( "MoneyB", "B","serial = '" .. serial .. "'")
  607. local Ach6 = executeSQLSelect  ( "Achievments", "Ach6","serial = '" .. serial .. "'")
  608.  
  609.  
  610.   Ach6 = tonumber(Ach6[1]["Ach6"]) + 1
  611.   if Ach6 == 10 then
  612.   triggerClientEvent (playeer, "onAchUnlock6", getRootElement())
  613.   outputChatBox("**Achievments: "..playername.." unlocked the achievment 'Shopping Kart' for purchasing from the shop 10 times.(20B)",getRootElement(),255,100,0)
  614.   AchB = tonumber(AchB[1]["B"]) + 20
  615.   AchNumb = tonumber(AchNumb) + 1
  616.   setElementData(playeer,"data.Achnum",AchNumb,true)
  617.   setElementData(playeer, "B Points",AchB)
  618.   setElementData ( playeer ,"data.AchB",AchB,true)
  619.   executeSQLUpdate ( "MoneyB", "B = '"..AchB.."'","serial = '" .. serial .. "'")  
  620.   end
  621.   setElementData ( playeer ,"data.Ach6",Ach6,true)
  622.   executeSQLUpdate ( "Achievments", "Ach6 = '"..Ach6.."'","serial = '" .. serial .. "'")   
  623. end      
  624.  
  625. --Shop function
  626.  
  627. function shopFix(source, playeer)
  628. local serial = getPlayerSerial(playeer)
  629. local playername = getPlayerName(playeer)
  630. local drivervehicle = getPedOccupiedVehicle(playeer)
  631. local price = get("RepairPrice")
  632. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  633.  
  634.   if tonumber(Money[1]["Money"]) < tonumber(price) then outputChatBox("ERROR: You don't have enough money to perform the indicated operation.",playeer,255,0,0)
  635.   else
  636.   fixVehicle(drivervehicle)
  637.   Money = tonumber(Money[1]["Money"]) - tonumber(price)
  638.   setElementData(playeer, "Money", Money)
  639.   setElementData ( playeer ,"data.money", Money,true)
  640.   outputChatBox("*Shop: "..playername.." has fixed his vehicle for $"..tonumber(price).."!",getRootElement(),0,255,0)  
  641.   executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  642.   if get("Achievments") == 'true' then
  643.   AchShop(playeer)
  644.   end
  645.   end    
  646. end
  647.  
  648. addEvent("onShopFix",true)
  649. addEventHandler("onShopFix",getRootElement(),shopFix)
  650.  
  651.  
  652. function shopNitro(source, playeer)
  653. local serial = getPlayerSerial(playeer)
  654. local playername = getPlayerName(playeer)
  655. local drivervehicle = getPedOccupiedVehicle(playeer)
  656. local price = tonumber(get("NitorsPrice"))
  657. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  658.  
  659.   if tonumber(Money[1]["Money"]) < price then outputChatBox("ERROR: You don't have enough money to perform the indicated operation.",playeer,255,0,0)
  660.   else
  661.   addVehicleUpgrade( drivervehicle, 1010)
  662.   Money = tonumber(Money[1]["Money"]) - price
  663.   setElementData(playeer, "Money", Money)
  664.   setElementData(playeer ,"data.money", Money,true)
  665.   outputChatBox("*Shop: "..playername.." has bought Nitros for his vehicle for $"..price.."!",getRootElement(),0,255,0)
  666.   executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  667.   if get("Achievments") == 'true' then
  668.   AchShop(playeer)
  669.   end
  670.   end
  671. end
  672. addEvent("onShopNitro",true)
  673. addEventHandler("onShopNitro",getRootElement(),shopNitro)  
  674.  
  675.  
  676. function flipVehicle(source, playeer)
  677. local serial = getPlayerSerial(playeer)
  678. local playername = getPlayerName(playeer)
  679. local drivervehicle = getPedOccupiedVehicle(playeer)
  680. local price = tonumber(get("FlipPrice"))
  681. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  682. local rX,rY,rZ = getVehicleRotation(drivervehicle)
  683.   if tonumber(Money[1]["Money"]) < price then outputChatBox("ERROR: You don't have enough money to perform the indicated operation.",playeer,255,0,0)
  684.   else
  685.   setVehicleRotation(drivervehicle, 0, 0, (rX > 90 and rX < 270) and (rZ + 180) or rZ)
  686.   Money = tonumber(Money[1]["Money"]) - price
  687.   setElementData(playeer, "Money", Money)
  688.   setElementData(playeer ,"data.money", Money,true)
  689.   outputChatBox("*Shop: "..playername.." has flipped his vehicle for $"..price.."!",getRootElement(),0,255,0)    
  690.   executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  691.   if get("Achievments") == 'true' then
  692.   AchShop(playeer)
  693.   end
  694.  end
  695. end
  696.  addEvent("onShopFlip",true)
  697.  addEventHandler("onShopFlip",getRootElement(),flipVehicle)
  698.  
  699.  
  700. function blowPlayer(player,selectedPlayer,sourcePlayer)
  701. local pplayer = getPlayerFromName(selectedPlayer)
  702. local splayer = getPlayerName(sourcePlayer)
  703. local pserial = getPlayerSerial(pplayer)
  704. local sserial = getPlayerSerial(sourcePlayer)
  705. local drivervehicle = getPedOccupiedVehicle(pplayer)
  706. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. sserial .. "'")
  707. local price = tonumber(get("BlowAPlayerPrice"))
  708.  
  709. if tonumber(Money[1]["Money"]) < price then  
  710. outputChatBox("ERROR: You don't have enough money to perform the indicated operation.",pplayer,255,0,0)
  711. triggerClientEvent (sourcePlayer, "onHideBlowList", getRootElement())
  712. else
  713. Money = tonumber(Money[1]["Money"]) - price
  714. if get("Achievments") == 'true'then
  715. AchShop(sourcePlayer)
  716. end
  717. blowVehicle(drivervehicle)
  718. outputChatBox("*Shop: "..splayer.." blew "..selectedPlayer.." for $"..price.."!",getRootElement(),0,255,0)
  719. if get("Achievments") == 'true'then
  720. AchExplodeAlternative(pplayer)
  721. end
  722. triggerClientEvent(sourcePlayer, "onHideBlowList", getRootElement())
  723. setElementData (sourcePlayer, "Money", Money)
  724. setElementData (sourcePlayer ,"data.money",Money,true)
  725. end
  726. end
  727.  
  728. addEvent("onPlayerBlow",true)
  729. addEventHandler("onPlayerBlow",getRootElement(),blowPlayer)
  730.  
  731.  
  732. function ChangeTime(player,newHour,newMin,pplayer)
  733. local serial = getPlayerSerial(pplayer)
  734. local playername = getPlayerName(pplayer)
  735. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  736. local price = tonumber(get("ChangeTimePrice"))
  737.  
  738. if tonumber(Money[1]["Money"]) < price then  
  739. outputChatBox("ERROR: You don't have enough money to perform the indicated operation.",pplayer,255,0,0)
  740. triggerClientEvent (pplayer, "onHideTimeList", getRootElement())
  741. else
  742. Money = tonumber(Money[1]["Money"]) - price
  743. executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")  
  744. setTime( newHour,newMin)
  745. outputChatBox("*Shop: "..playername.." changed the time for $"..price.."!",getRootElement(),0,255,0)
  746. triggerClientEvent (pplayer, "onHideTimeList", getRootElement())
  747. setElementData(pplayer, "Money", Money)
  748. setElementData ( pplayer ,"data.money",Money,true)
  749. if get("Achievments") == 'true' then
  750. AchShop(pplayer)
  751. end
  752. end
  753. end
  754. addEvent("onTimeBuy",true)
  755. addEventHandler("onTimeBuy",getRootElement(),ChangeTime)
  756.  
  757. function barrelDrop(source,playeer)
  758. local serial = getPlayerSerial(playeer)
  759. local playername = getPlayerName(playeer)
  760. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  761. local price = tonumber(get("BarrelPrice"))
  762.  
  763. if tonumber(Money[1]["Money"]) < price then outputChatBox("ERROR: You don't have enough money to perform the indicated operation",playeer,255,0,0)
  764. else
  765. local x,y,z = getElementPosition( playeer )
  766. outputChatBox("ALERT: Barrel droping in 3 seconds. Move out!",playeer,255,0,0)
  767. setTimer(function()createObject ( 1225, x, y, z, 90, 0, 0 )end,3000,1)
  768. setTimer(function()outputChatBox("*Shop: "..playername.." dropped a barrel for $"..price.."!",getRootElement(),0,255,0)end,3000,1)
  769. Money = tonumber(Money[1]["Money"]) - price
  770. setElementData(playeer, "Money", Money)
  771. setElementData ( playeer ,"data.money", Money,true)
  772. executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  773. if get("Achievments") == 'true' then
  774. AchShop(playeer)
  775. end
  776. end
  777. end
  778. addEvent("onBarrelDrop",true)
  779. addEventHandler("onBarrelDrop",getRootElement(),barrelDrop)
  780.  
  781. function hayDrop(source,playeer)
  782. local serial = getPlayerSerial(playeer)
  783. local playername = getPlayerName(playeer)
  784. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  785. local price = tonumber(get("HayPrice"))
  786.  
  787. if tonumber(Money[1]["Money"]) < price then outputChatBox("ERROR: You don't have enough money to perform the indicated operation.",playeer,255,0,0)
  788. else
  789. local x,y,z = getElementPosition( playeer )
  790. outputChatBox("ALERT: Hay droping in 3 seconds. Move out!",playeer,255,0,0)
  791. setTimer(function()createObject ( 3374, x, y, z, 0, 0, 0 )end,3000,1)
  792. setTimer(function()outputChatBox("*Shop: "..playername.." dropped a hay block for $"..price.."!",getRootElement(),0,255,0)end,3000,1)
  793.   Money = tonumber(Money[1]["Money"]) - price
  794.   setElementData(playeer, "Money", Money)
  795.   setElementData(playeer ,"data.money", Money,true)
  796.   executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  797.   if get("Achievments") == 'true' then
  798.   AchShop(playeer)
  799.   end
  800. end
  801. end
  802. addEvent("onHayDrop",true)
  803. addEventHandler("onHayDrop",getRootElement(),hayDrop)
  804.  
  805. function invisible(source,playeer)
  806. local serial = getPlayerSerial(playeer)
  807. local playername = getPlayerName(playeer)
  808. local playervehicle = getPedOccupiedVehicle(playeer)
  809. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  810. local price = tonumber(get("InvisibilityPrice"))
  811.  
  812. if tonumber(Money[1]["Money"]) < price then outputChatBox("ERROR: You don't have enough money to perform the indicated operation.",playeer,255,0,0)
  813. else
  814.   setElementAlpha(playeer,1)
  815.   setElementAlpha(playervehicle,1)
  816.   setPlayerNametagShowing ( playeer, false )
  817.   Money = tonumber(Money[1]["Money"]) - price
  818.   outputChatBox("*Shop: "..playername.." became invisible for $"..price.."!",getRootElement(),0,255,0)
  819.   outputChatBox("ALERT: You have 2 minutes of invisibility!",playeer,255,0,0)
  820.   setElementData(playeer, "Money", Money)
  821.   setElementData(playeer ,"data.money", Money,true)
  822.   setTimer(function() setElementAlpha(playeer,255) setElementAlpha(playervehicle,255) setPlayerNametagShowing ( playeer, true )end,120000,1)
  823.   executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  824.   if get("Achievments") == 'true' then
  825.   AchShop(playeer)
  826.   end
  827. end
  828. end
  829. addEvent("onInvBuy",true)
  830. addEventHandler("onInvBuy",getRootElement(),invisible)
  831.  
  832. function godmode(source,playeer)
  833. local serial = getPlayerSerial(playeer)
  834. local playername = getPlayerName(playeer)
  835. local playervehicle = getPedOccupiedVehicle(playeer)
  836. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  837. local price = tonumber(get("GModePrice"))
  838.  
  839. if tonumber(Money[1]["Money"]) < price then outputChatBox("ERROR: You don't have enough money to perform the indicated operation.",playeer,255,0,0)
  840. else
  841.   setVehicleDamageProof(playervehicle,true)
  842.   Money = tonumber(Money[1]["Money"]) - price
  843.   outputChatBox("*Shop: "..playername.."became invincible for $"..price.."!",getRootElement(),0,255,0)
  844.   outputChatBox("ALERT: You are invincible for the duration of this map!",playeer,255,0,0)
  845.   setElementData(playeer, "Money", Money)
  846.   setElementData(playeer ,"data.money", Money,true)
  847.   executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  848.   if get("Achievments") == 'true' then
  849.   AchShop(playeer)
  850.   end
  851.   end
  852.   end
  853.  
  854. addEvent("onGmodeBuy",true)
  855. addEventHandler("onGmodeBuy",getRootElement(),godmode)
  856.  
  857. function mortarStrike(source,playeer)
  858. local serial = getPlayerSerial(playeer)
  859. local playername = getPlayerName(playeer)
  860. local playervehicle = getPedOccupiedVehicle(playeer)
  861. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  862. local x,y,z = getElementPosition(playeer)
  863. local price = tonumber(get("MortarStrikePrice"))
  864. local colC =  createColCircle (x, y, 10.0 )
  865. if colC then
  866. if tonumber(Money[1]["Money"]) < price then outputChatBox("ERROR: You don't have enough money to perform the indicated operation.",playeer,255,0,0)
  867. else
  868.  local victims = getElementsWithinColShape ( colC, "vehicle" )
  869.  setVehicleDamageProof(playervehicle,true)
  870.  outputChatBox("*Shop: "..playername.." purchased a mortar strike for $"..price.."!",getRootElement(),0,255,0)
  871.   Money = tonumber(Money[1]["Money"]) - price
  872.   setTimer(function()for k,v in ipairs(victims) do if v ~= playervehicle then blowVehicle(v) end end end,3000,1)
  873.   setTimer(function()  setVehicleDamageProof(playervehicle,false) end,5000,1)
  874.   setElementData(playeer, "Money", Money)
  875.   setElementData(playeer ,"data.money", Money,true)
  876.   executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  877.   if get("Achievments") == 'true' then
  878.   AchShop(playeer)
  879.   end
  880.  end
  881.  end
  882.  end
  883.  
  884. addEvent("onMortarStrike",true)
  885. addEventHandler("onMortarStrike",getRootElement(),mortarStrike)
  886.  
  887. function gM(source,playeer)
  888. local serial = getPlayerSerial(playeer)
  889. local playername = getPlayerName(playeer)
  890. local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  891. local price = tonumber(get("GhostmodePrice"))
  892.  
  893. if tonumber(Money[1]["Money"]) < price then outputChatBox("ERROR: You don't have enough money to perform the indicated operation.",playeer,255,0,0)
  894. else
  895. Money = tonumber(Money[1]["Money"]) - price
  896. outputChatBox("*Shop: "..playername.." purchased ghostmode for $"..price.."!",getRootElement(),0,255,0)
  897. local players = getElementsByType("player")
  898.     for theKey,thePlayer in ipairs(players) do
  899.     setElementData( thePlayer, "overrideCollide.uniqueblah", 0, false )
  900.     end
  901.   setElementData(playeer, "Money", Money)
  902.   setElementData ( playeer ,"data.money", Money,true)
  903.   executeSQLUpdate ( "MoneyB", "Money = '"..Money.."'","serial = '" .. serial .. "'")
  904.   if get("Achievments") == 'true' then
  905.   AchShop(playeer)
  906.   end
  907. end
  908. end
  909. addEvent("onGmBuy",true)
  910. addEventHandler("onGmBuy",getRootElement(),gM)
  911.  
  912.  -- Transfer Money
  913.  --info> to is the player's nickname
  914.  --info> from is the player's userdata
  915.  --info> toI is the player's userdata
  916.  --info> fromN is the player's nickname
  917.  function transMoney(player,from,to,amount)
  918.  local fromN = getPlayerName(from)
  919.  local toI = getPlayerFromName(to)
  920.  local Fserial = getPlayerSerial(from)
  921.  local Tserial = getPlayerSerial(toI)
  922.  local FMoney = executeSQLSelect ( "MoneyB", "Money","serial = '" .. Fserial .. "'")
  923.  local TMoney = executeSQLSelect ( "MoneyB", "Money","serial = '" .. Tserial .. "'")
  924.  if  tostring(to) == tostring(fromN) then outputChatBox("ERROR: You can't transfer money to yourself.",from,255,0,0)
  925.  elseif tonumber(amount) > tonumber(FMoney[1]["Money"])then outputChatBox("ERROR: You don't have enough money.",from,255,0,0)
  926.  elseif tonumber(amount) <= 0 then outputChatBox("ERROR: You can't send an amount less than $1.",from,255,0,0)
  927.  else
  928.  FMoney = tonumber(FMoney[1]["Money"]) - tonumber(amount)
  929.  TMoney = tonumber(TMoney[1]["Money"]) + tonumber(amount)
  930.  outputChatBox("*Money Transfer: "..fromN.." transfers $"..amount.." to "..to,getRootElement(),219,156,42)
  931.  executeSQLUpdate ( "MoneyB", "Money = '"..FMoney.."'","serial = '" .. Fserial .. "'")
  932.  executeSQLUpdate ( "MoneyB", "Money = '"..TMoney.."'","serial = '" .. Tserial .. "'")
  933.  setElementData(toI ,"Money", TMoney)
  934.  setElementData(from,"Money",FMoney)
  935.  setElementData ( toI ,"data.money",TMoney,true)
  936.  setElementData ( from ,"data.money",FMoney,true)
  937.  end
  938.  end
  939.  
  940.  addEvent("onTransMoney",true)
  941.  addEventHandler("onTransMoney",getRootElement(),transMoney)
  942.  
  943.  --- Chat & Name Color
  944. function chatNameColor(message,messageType)
  945.  cancelEvent()
  946.  local color = getElementData (source, "info.namecolor")
  947.  local color2 = getElementData(source, "info.chatcolor")
  948.  local serial = getPlayerSerial(source)
  949.  local playername = getPlayerName(source)
  950. if message == "!money" or message == "!cash" or message =="!Money" or message == "!Cash" then
  951.  local serial = getPlayerSerial(source)
  952.  local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
  953.  local name = getPlayerName(source)
  954.  outputChatBox(name.." has $"..tonumber(Money[1]["Money"]),getRootElement(),255,255,0,true)
  955.  return
  956.  end
  957.  if (color) and (color2) then
  958.  outputChatBox(color..playername..": "..color2..message,getRootElement(),0,0,0,true)
  959.  executeSQLUpdate ( "Colors", "Ncolor = '"..color.."'","serial = '" .. serial .. "'")
  960.  executeSQLUpdate ( "Colors", "Ccolor = '"..color2.."'","serial = '" .. serial .. "'")
  961.  else
  962.  outputChatBox(playername..": "..message,getRootElement(),255,255,255,true)
  963.  end
  964.  end
  965.  
  966.  
  967.  
  968.  
  969.  ----- Vehicle Color & Lights Change
  970.  function vehLightsColor(source,R,G,B,PVeh)
  971. setVehicleHeadLightColor(PVeh,R,G,B)
  972. outputChatBox("Settings Updated!",source,R,G,B)
  973. local playername = getPlayerName(source)
  974. local serial = getPlayerSerial(source)
  975. local Ach9 = executeSQLSelect ( "Achievments", "Ach9","serial = '" .. serial .. "'")
  976. local AchB = executeSQLSelect ( "MoneyB", "B","serial = '" .. serial .. "'")
  977. executeSQLUpdate ( "LColors", "R = '"..R.."'","serial = '" .. serial .. "'")
  978. executeSQLUpdate ( "LColors", "G = '"..G.."'","serial = '" .. serial .. "'")
  979. executeSQLUpdate ( "LColors", "B = '"..B.."'","serial = '" .. serial .. "'")
  980. setElementData ( source ,"vehicle.LightR",R,true)
  981. setElementData ( source ,"vehicle.LightG",G,true)
  982. setElementData ( source ,"vehicle.LightB",B,true)
  983. if tonumber(Ach9[1]["Ach9"]) == 0 then
  984. triggerClientEvent (source, "onAchUnlock9", getRootElement())
  985. outputChatBox("**Achievments: "..playername.." unlocked the achievment 'Got that Xenon glow' for changing the light color.(10B)",getRootElement(),255,100,0)
  986. AchB = tonumber(AchB[1]["B"]) + 10
  987. Ach9 = 1
  988. executeSQLUpdate ( "MoneyB", "B = '"..AchB.."'","serial = '" .. serial .. "'")
  989. executeSQLUpdate ( "Achievments", "Ach9 = '"..Ach9.."'","serial = '" .. serial .. "'")
  990. setElementData(source, "B Points",AchB)
  991. setElementData ( source ,"data.AchB",AchB,true)
  992. AchNumb = getElementData(source,"data.Achnum")
  993. AchNumb = tonumber(AchNumb) + 1
  994. setElementData(source,"data.Achnum",AchNumb,true)
  995. end
  996. end
  997.  addEvent("onVehLightsChange",true)
  998.  addEventHandler("onVehLightsChange",getRootElement(),vehLightsColor)
  999.  
  1000.  function vehColor(source,col1,col2,col3,col4,PVeh) -- Sets the player's prefered vehicle color when he changes it...
  1001. local serial = getPlayerSerial(source)
  1002. setVehicleColor(PVeh,col1,col2,col3,col4)
  1003. outputChatBox("Settings Updated!",source,0,255,0)
  1004. executeSQLUpdate ( "VColors", "Col1 = '"..col1.."'","serial = '" .. serial .. "'")
  1005. executeSQLUpdate ( "VColors", "Col2 = '"..col2.."'","serial = '" .. serial .. "'")
  1006. executeSQLUpdate ( "VColors", "Col3 = '"..col3.."'","serial = '" .. serial .. "'")
  1007. executeSQLUpdate ( "VColors", "Col4 = '"..col4.."'","serial = '" .. serial .. "'")
  1008. setElementData ( source ,"vehicle.col1",col1,true)
  1009. setElementData ( source ,"vehicle.col2",col2,true)
  1010. setElementData ( source ,"vehicle.col3",col3,true)
  1011. setElementData ( source ,"vehicle.col4",col4,true)
  1012.  end
  1013.  addEvent("onVehColorChange",true)
  1014.  addEventHandler("onVehColorChange",getRootElement(),vehColor)
  1015.  
  1016.  function vehColor2() -- Sets the player's prefered vehicle color & light color on the start of the map!
  1017. local players = getElementsByType ( "player" ) -- get a table of all the players in the server
  1018. for k,v in ipairs(players) do
  1019. local PVeh= getPedOccupiedVehicle(v)
  1020. local serial = getPlayerSerial(v)
  1021. local Col1 = executeSQLSelect ( "VColors", "Col1","serial = '" .. serial .. "'")
  1022. local Col2 = executeSQLSelect ( "VColors", "Col2","serial = '" .. serial .. "'")
  1023. local Col3 = executeSQLSelect ( "VColors", "Col3","serial = '" .. serial .. "'")
  1024. local Col4 = executeSQLSelect ( "VColors", "Col4","serial = '" .. serial .. "'")
  1025. local R    = executeSQLSelect ( "LColors", "R","serial = '" .. serial .. "'")
  1026. local G    = executeSQLSelect ( "LColors", "G","serial = '" .. serial .. "'")
  1027. local B    = executeSQLSelect ( "LColors", "B","serial = '" .. serial .. "'")
  1028. setVehicleColor(PVeh,tonumber(Col1[1]["Col1"]),tonumber(Col2[1]["Col2"]),tonumber(Col3[1]["Col3"]),tonumber(Col4[1]["Col4"]) )
  1029. setVehicleHeadLightColor(PVeh,tonumber(R[1]["R"]),tonumber(G[1]["G"]),tonumber(B[1]["B"]))
  1030.  end
  1031.  end
  1032.  
  1033.  function vehColor3()
  1034. local PVeh= getPedOccupiedVehicle(source)
  1035. local serial = getPlayerSerial(source)
  1036. local Col1 = executeSQLSelect ( "VColors", "Col1","serial = '" .. serial .. "'")
  1037. local Col2 = executeSQLSelect ( "VColors", "Col2","serial = '" .. serial .. "'")
  1038. local Col3 = executeSQLSelect ( "VColors", "Col3","serial = '" .. serial .. "'")
  1039. local Col4 = executeSQLSelect ( "VColors", "Col4","serial = '" .. serial .. "'")
  1040. local R    = executeSQLSelect ( "LColors", "R","serial = '" .. serial .. "'")
  1041. local G    = executeSQLSelect ( "LColors", "G","serial = '" .. serial .. "'")
  1042. local B    = executeSQLSelect ( "LColors", "B","serial = '" .. serial .. "'")
  1043. setVehicleColor(PVeh,tonumber(Col1[1]["Col1"]),tonumber(Col2[1]["Col2"]),tonumber(Col3[1]["Col3"]),tonumber(Col4[1]["Col4"]) )
  1044. setVehicleHeadLightColor(PVeh,tonumber(R[1]["R"]),tonumber(G[1]["G"]),tonumber(B[1]["B"]))
  1045.  end
  1046.  
  1047.  function timer() --Delay it a bit to allow players to warp in their vehicle...
  1048.  setTimer(vehColor2,3000,1)
  1049.  end
  1050.  function timer2()
  1051.  setTimer(vehColor2,tonumber(respawntime)+1000,1)
  1052.  end
  1053.  addEventHandler("onMapStarting",getRootElement(),timer)
  1054.  addEventHandler("onPlayerPickUpRacePickup",getRootElement(),vehColor3)
  1055.  addEventHandler("onPlayerReachCheckpoint",getRootElement(),vehColor3)
  1056.  
  1057.  -- Copied From [PS]DazzaJay[AU]'s Vehiclelight script!(Thanks) -- edited some arguments...
  1058. local root = getRootElement ()
  1059. local thisResourceRoot = getResourceRootElement(getThisResource())
  1060. function thisResourceStart ()
  1061.     outputChatBox ( "Press L to toggle your car lights on / off!" )
  1062.     local players = getElementsByType ( "player" )
  1063.     for k,v in ipairs(players) do
  1064.         bindKey ( v, "l", "down", toggleVehicleLights, "Lights on/off" )
  1065.     end
  1066. end
  1067. function playerJoin ()
  1068.     outputChatBox ( "Press L to toggle your car lights on / off!", source )
  1069.     bindKey ( source, "l", "down", toggleVehicleLights, "Lights on/off" )
  1070. end
  1071.  function toggleVehicleLights ( player, key, state )
  1072.  local serial = getPlayerSerial(player)
  1073.  local R    = executeSQLSelect ( "LColors", "R","serial = '" .. serial .. "'")
  1074.  local G    = executeSQLSelect ( "LColors", "G","serial = '" .. serial .. "'")
  1075.  local B    = executeSQLSelect ( "LColors", "B","serial = '" .. serial .. "'")
  1076.  
  1077.     if ( getPedOccupiedVehicleSeat ( player ) == 0 ) then
  1078.         local veh = getPedOccupiedVehicle ( player )
  1079.         if ( getVehicleOverrideLights ( veh ) ~= 2 ) then
  1080.             setVehicleOverrideLights ( veh, 2 )
  1081.             setVehicleHeadLightColor(veh,tonumber(R[1]["R"]),tonumber(G[1]["G"]),tonumber(B[1]["B"]))
  1082.         else
  1083.             setVehicleOverrideLights ( veh, 1 )
  1084.         end
  1085.     end
  1086. end
  1087. addEventHandler ( "onResourceStart", thisResourceRoot, thisResourceStart )
  1088. addEventHandler ( "onPlayerJoin", root, playerJoin )
  1089. --------------------------------------------------------------------
  1090. -- (/admins)
  1091. local admins = ""
  1092.  
  1093. function processAdminList()
  1094.     players = getElementsByType ( "player" )
  1095.     admins = ""
  1096.     for k,v in ipairs(players) do
  1097.         local accountname = ""
  1098.         if (isGuestAccount(getPlayerAccount(v)) == false) then
  1099.             accountname = getAccountName (getPlayerAccount(v))
  1100.             if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) then
  1101.                 if (admins == "") then
  1102.                     admins = getPlayerName(v)
  1103.                 else
  1104.                     admins = admins .. ", " .. getPlayerName(v)
  1105.                 end
  1106.             end
  1107.         end
  1108.     end
  1109. end
  1110.  
  1111. addEventHandler( "onPlayerLogin", getRootElement(), processAdminList )
  1112. addEventHandler( "onPlayerLogout", getRootElement(), processAdminList )
  1113. addEventHandler( "onPlayerQuit", getRootElement(), processAdminList )
  1114.  
  1115.  
  1116. function setAdminList(Player,command)
  1117.     if admins ~= "" then
  1118.         outputChatBox("Online Admins: "..admins , Player, 255 , 255, 0)
  1119.     else
  1120.         outputChatBox("No admins online." , Player, 255 , 255, 0)
  1121.     end
  1122. end
  1123. addCommandHandler("admins", setAdminList)
  1124.  
  1125. --- !admins or !onlineadmins or !Admins
  1126.  function tAdmins(message,messageType)
  1127.  if message == "!admins" or message == "!Admins" or message =="!onlineadmins" then
  1128.  local playeraccount = getPlayerAccount(source)
  1129.     if admins ~= "" then
  1130.         outputChatBox("Online Admins: "..admins , getRootElement(), 255 , 255, 0)
  1131.     else
  1132.         outputChatBox("No admins online." , getRootElement(), 255 , 255, 0)
  1133.     end
  1134.  end
  1135.  end
  1136.  addEventHandler("onPlayerChat",getRootElement(),tAdmins)
  1137.  
  1138. --- (/rules)
  1139. function rules(player)
  1140.     outputChatBox("1.No Spamming or you'll get muted." , player, 255 , 255, 0)
  1141.     outputChatBox("2.Cheating is a permanent BAN!", player, 255 , 255, 0)
  1142.     outputChatBox("3.Admins are alway right.", player, 255 , 255, 0)
  1143.     outputChatBox("4.English is the official language here.", player, 255 , 255, 0)
  1144. end
  1145. addCommandHandler("rules", rules)
  1146. --- (!rules)
  1147. function tRules(message,messageType)
  1148. if message == "!rules" then
  1149.     outputChatBox("1.No Spamming or you'll get muted." , getRootElement(), 255 , 255, 0)
  1150.     outputChatBox("2.Cheating is a permanent BAN!", getRootElement(), 255 , 255, 0)
  1151.     outputChatBox("3.Admins are alway right.", getRootElement(), 255 , 255, 0)
  1152.     outputChatBox("4.English is the official language here.", getRootElement(), 255 , 255, 0)
  1153. end
  1154. end
  1155. addEventHandler("onPlayerChat",getRootElement(),tRules)
  1156. --- Player's info Command... :::
  1157.  
  1158. function country(source,country,playername)
  1159. if (playername) then
  1160. local Player = getPlayerFromName(playername)
  1161. if (Player) then
  1162. local pserial = getPlayerSerial(Player)
  1163. local country = executeSQLSelect( "PersonalInfo", "Edit2","serial = '" .. pserial .. "'")
  1164. outputChatBox(playername.."'s real name: "..country[1]["Edit2"],getRootElement(),255,255,0)
  1165. else
  1166. local serial = getPlayerSerial(source)
  1167. local sourcen = getPlayerName(source)
  1168. local sourcecountry = executeSQLSelect ( "PersonalInfo", "Edit2","serial = '" .. serial .. "'")
  1169. outputChatBox(sourcen.."'s real name: "..sourcecountry[1]["Edit2"],source,255,255,0)
  1170. end
  1171. else
  1172. local serial = getPlayerSerial(source)
  1173. local sourcen = getPlayerName(source)
  1174. local sourcecountry = executeSQLSelect ( "PersonalInfo", "Edit2","serial = '" .. serial .. "'")
  1175. outputChatBox(sourcen.."'s real name: "..sourcecountry[1]["Edit2"],source,255,255,0)
  1176. end
  1177. end
  1178. addCommandHandler("country",country)
  1179.  
  1180.  
  1181. function name(source,name,playername)
  1182. if (playername) then
  1183. local Player = getPlayerFromName(playername)
  1184. if (Player) then
  1185. local pserial = getPlayerSerial(Player)
  1186. local name = executeSQLSelect( "PersonalInfo", "Edit1","serial = '" .. pserial .. "'")
  1187. outputChatBox(playername.."'s real name: "..name[1]["Edit1"],getRootElement(),255,255,0)
  1188. else
  1189. local serial = getPlayerSerial(source)
  1190. local sourcen = getPlayerName(source)
  1191. local sourcename = executeSQLSelect ( "PersonalInfo", "Edit1","serial = '" .. serial .. "'")
  1192. outputChatBox(sourcen.."'s real name: "..sourcename[1]["Edit1"],source,255,255,0)
  1193. end
  1194. else
  1195. local serial = getPlayerSerial(source)
  1196. local sourcen = getPlayerName(source)
  1197. local sourcename = executeSQLSelect ( "PersonalInfo", "Edit1","serial = '" .. serial .. "'")
  1198. outputChatBox(sourcen.."'s real name: "..sourcename[1]["Edit1"],source,255,255,0)
  1199. end
  1200. end
  1201. addCommandHandler("name",name)
  1202.  
  1203. function age(source,age,playername)
  1204. if (playername) then
  1205. local Player = getPlayerFromName(playername)
  1206. if (Player) then
  1207. local pserial = getPlayerSerial(Player)
  1208. local age = executeSQLSelect( "PersonalInfo", "Edit3","serial = '" .. pserial .. "'")
  1209. outputChatBox(playername.."'s age: "..age[1]["Edit3"],getRootElement(),255,255,0)
  1210. else
  1211. local serial = getPlayerSerial(source)
  1212. local sourcename = getPlayerName(source)
  1213. local sourceage =  executeSQLSelect( "PersonalInfo", "Edit3","serial = '" .. serial .. "'")
  1214. outputChatBox(sourcename.."'s age: "..sourceage[1]["Edit3"],source,255,255,0)
  1215. end
  1216. else
  1217. local serial = getPlayerSerial(source)
  1218. local sourcename = getPlayerName(source)
  1219. local sourceage =  executeSQLSelect( "PersonalInfo", "Edit3","serial = '" .. serial .. "'")
  1220. outputChatBox(sourcename.."'s age: "..sourceage[1]["Edit3"],source,255,255,0)
  1221. end
  1222. end
  1223. addCommandHandler("age",age)
  1224.  
  1225. function email(source,email,playername)
  1226. if (playername) then
  1227. local Player = getPlayerFromName(playername)
  1228. if (Player) then
  1229. local pserial = getPlayerSerial(Player)
  1230. local email = executeSQLSelect( "PersonalInfo", "Edit4","serial = '" .. pserial .. "'")
  1231. outputChatBox(playername.."'s email: "..email[1]["Edit4"],getRootElement(),255,255,0)
  1232. else
  1233. local serial = getPlayerSerial(source)
  1234. local sourcename = getPlayerName(source)
  1235. local sourceemail = executeSQLSelect( "PersonalInfo", "Edit4","serial = '" .. serial .. "'")
  1236. outputChatBox(sourcename.."'s email: "..sourceemail[1]["Edit4"],source,255,255,0)
  1237. end
  1238. else
  1239. local serial = getPlayerSerial(source)
  1240. local sourcename = getPlayerName(source)
  1241. local sourceemail = executeSQLSelect( "PersonalInfo", "Edit4","serial = '" .. serial .. "'")
  1242. outputChatBox(sourcename.."'s email: "..sourceemail[1]["Edit4"],source,255,255,0)
  1243. end
  1244. end
  1245. addCommandHandler("email",email)
  1246.  
  1247. function gender(source,gender,playername)
  1248. if (playername) then
  1249. local Player = getPlayerFromName(playername)
  1250. if (Player) then
  1251. local pserial = getPlayerSerial(Player)
  1252. local gender = executeSQLSelect( "PersonalInfo", "Edit5","serial = '" .. pserial .. "'")
  1253. outputChatBox(playername.."'s gender: "..gender[1]["Edit5"],getRootElement(),255,255,0)
  1254. else
  1255. local serial = getPlayerSerial(source)
  1256. local sourcename = getPlayerName(source)
  1257. local sourcegender =  executeSQLSelect( "PersonalInfo", "Edit5","serial = '" .. serial .. "'")
  1258. outputChatBox(sourcename.."'s gender: "..sourcegender[1]["Edit5"],source,255,255,0)
  1259. end
  1260. else
  1261. local serial = getPlayerSerial(source)
  1262. local sourcename = getPlayerName(source)
  1263. local sourcegender =  executeSQLSelect( "PersonalInfo", "Edit5","serial = '" .. serial .. "'")
  1264. outputChatBox(sourcename.."'s gender: "..sourcegender[1]["Edit5"],source,255,255,0)
  1265. end
  1266. end
  1267. addCommandHandler("gender",gender)
  1268.  
  1269. function contact(source,contact,playername)
  1270. if (playername) then
  1271. local Player = getPlayerFromName(playername)
  1272. if (Player) then
  1273. local pserial = getPlayerSerial(Player)
  1274. local contact = executeSQLSelect( "PersonalInfo", "Edit6","serial = '" .. pserial .. "'")
  1275. outputChatBox(playername.."'s contact: "..contact[1]["Edit6"],getRootElement(),255,255,0)
  1276. else
  1277. local serial = getPlayerSerial(source)
  1278. local sourcename = getPlayerName(source)
  1279. local sourcecontact = executeSQLSelect( "PersonalInfo", "Edit6","serial = '" .. serial .. "'")
  1280. outputChatBox(sourcename.."'s contact: "..sourcecontact[1]["Edit6"],source,255,255,0)
  1281. end
  1282. else
  1283. local serial = getPlayerSerial(source)
  1284. local sourcename = getPlayerName(source)
  1285. local sourcecontact = executeSQLSelect( "PersonalInfo", "Edit6","serial = '" .. serial .. "'")
  1286. outputChatBox(sourcename.."'s contact: "..sourcecontact[1]["Edit6"],source,255,255,0)
  1287. end
  1288. end
  1289.  
  1290. addCommandHandler("contact",contact)
  1291.  
  1292. function achUnlockedNumber(source)
  1293. local serial = getPlayerSerial(source)
  1294. local Ach1   = executeSQLSelect ( "Achievments", "Ach1","serial = '" .. serial .. "'")
  1295. local Ach2   = executeSQLSelect ( "Achievments", "Ach2","serial = '" .. serial .. "'")
  1296. local Ach3   = executeSQLSelect ( "Achievments", "Ach3","serial = '" .. serial .. "'")
  1297. local Ach4   = executeSQLSelect ( "Achievments", "Ach4","serial = '" .. serial .. "'")
  1298. local Ach5   = executeSQLSelect ( "Achievments", "Ach5","serial = '" .. serial .. "'")
  1299. local Ach6   = executeSQLSelect ( "Achievments", "Ach6","serial = '" .. serial .. "'")
  1300. local Ach7   = executeSQLSelect ( "Achievments", "Ach7","serial = '" .. serial .. "'")
  1301. local Ach8   = executeSQLSelect ( "Achievments", "Ach8","serial = '" .. serial .. "'")
  1302. local Ach9   = executeSQLSelect ( "Achievments", "Ach9","serial = '" .. serial .. "'")
  1303.  
  1304. if tonumber(Ach1[1]["Ach1"]) >= 50 then U1 = 1
  1305. else U1 = 0
  1306. end
  1307. if tonumber(Ach2[1]["Ach2"]) >= 30 then U2 = 1
  1308. else U2 = 0
  1309. end
  1310. if tonumber(Ach3[1]["Ach3"]) >= 1 then U3 = 1
  1311. else U3 = 0
  1312. end
  1313. if tonumber(Ach4[1]["Ach4"]) >= 100 then U4 = 1
  1314. else U4 = 0
  1315. end
  1316. if tonumber(Ach5[1]["Ach5"]) >= 100 then U5 = 1
  1317. else U5 = 0
  1318. end
  1319. if tonumber(Ach6[1]["Ach6"]) >= 10 then U6 = 1
  1320. else U6 = 0
  1321. end
  1322. if tonumber(Ach7[1]["Ach7"]) >= 1 then U7 = 1
  1323. else U7 = 0
  1324. end
  1325. if tonumber(Ach8[1]["Ach8"]) >= 1 then U8 = 1
  1326. else U8 = 0
  1327. end
  1328. if tonumber(Ach9[1]["Ach9"]) >= 1 then U9 = 1
  1329. else U9 = 0
  1330. end
  1331. AchNumb = U1 + U2 + U3 + U4 +U5 + U6+ U7+ U8 +U9
  1332. setElementData(source,"data.Achnum",AchNumb,true)
  1333. end
  1334. addEvent( "AchCount",true)
  1335. addEventHandler( "AchCount", root,achUnlockedNumber )
  1336.  
  1337. function Ach8(rank,time) -- Achievment 8  
  1338. local serial = getPlayerSerial(source)
  1339. local playername = getPlayerName(source)
  1340. local Ach8 = executeSQLSelect ( "Achievments", "Ach8","serial = '" .. serial .. "'")
  1341. local AchB = executeSQLSelect ( "MoneyB", "B","serial = '" .. serial .. "'")
  1342. local players= getPlayerCount()
  1343. if tonumber(Ach8[1]["Ach8"]) == 0 then
  1344. if  players >= 10 then
  1345. if rank == 1 then
  1346. triggerClientEvent (source, "onAchUnlock8", getRootElement())
  1347. outputChatBox("**Achievments: "..playername.." unlocked the achievment 'Skilled' for winning a race with 10 or more players.(30B)",getRootElement(),255,100,0)
  1348. AchB = tonumber(AchB[1]["Ach8"]) + 30
  1349. Ach8 = Ach8[1]["Ach8"]
  1350. Ach8 = 1
  1351. executeSQLUpdate ( "MoneyB", "B = '"..AchB.."'","serial = '" .. serial .. "'")
  1352. executeSQLUpdate ( "Achievments", "Ach8 = '"..Ach8.."'","serial = '" .. serial .. "'")
  1353. setElementData(source, "B Points",AchB)
  1354. setElementData ( source ,"data.AchB",AchB,true)
  1355. AchNumb = getElementData(source,"data.Achnum")
  1356. AchNumb = tonumber(AchNumb) + 1
  1357. setElementData(source,"data.Achnum",AchNumb,true)
  1358. end
  1359. end
  1360. end
  1361. end
  1362. addEventHandler( "onPlayerFinish", rootElement, Ach8 )    -- Achievment
  1363.  
  1364. function RaceAttempts(mapInfo, mapOptions, gameOptions)
  1365. if mapInfo.modename == "Sprint" then
  1366. local players = getElementsByType("player")
  1367. for k,v in ipairs(players) do
  1368. local serial = getPlayerSerial(v)
  1369. local RaceAttemptsx = executeSQLSelect ( "RaceAttempts", "RaceAttempts","serial = '" .. serial .. "'")
  1370. local RaceAttempts = tonumber(RaceAttemptsx[1]["RaceAttempts"]) + 1
  1371. executeSQLUpdate ( "RaceAttempts", "RaceAttempts = '"..RaceAttempts.."'","serial = '" .. serial .. "'")
  1372. setElementData (v,"data.raceAttempts",RaceAttempts,true)
  1373. end
  1374. end
  1375. end
  1376. addEventHandler("onMapStarting",getRootElement(),RaceAttempts)
  1377.  
  1378. addCommandHandler( "Cash",  checkMoney )
  1379. addCommandHandler( "cash",  checkMoney )
  1380. addCommandHandler( "Money", checkMoney )
  1381. addCommandHandler( "money", checkMoney )
  1382. addEventHandler("onPlayerFinish", rootElement, raceWin )
  1383. addEventHandler("onMapStarting", rootElement , DestructionMoney)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement