Advertisement
Guest User

drivinschool.lua

a guest
Apr 2nd, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.20 KB | None | 0 0
  1. drivingSchoolMarkers = {
  2.  ["x"] = {
  3.   [1]=-1567.5,
  4.   [2]=-1746.9000244141,
  5.   [3]=13.39999961853
  6.  },
  7.  ["y"] = {
  8.   [1]=1555.2001953125,
  9.   [2]=-1870.099609375,
  10.   [3]=13.39999961853
  11.  },
  12.  ["z"] = {
  13.   [1]=1391.400390625,
  14.   [2]=-1742.7998046875,
  15.   [3]=13.39999961853
  16.  }
  17. }
  18.  
  19. function startDrivingSchoolTheory_func ()
  20.  
  21.     local player = client
  22.     setElementDimension ( player, tonumber ( vioGetElementData ( player, "playerid" ) ) )
  23.     setElementPosition ( player, 361.36, 171.82, 1025.44 )
  24.     setPedRotation ( player, 180 )
  25.     triggerClientEvent ( player, "startDrivingLicenseTheory", player )
  26.     showCursor ( player, true )
  27.     setElementData ( player, "ElementClicked", true )
  28. end
  29.  
  30. function showNextDrivingSchoolMarker ( player )
  31.  
  32.     if vioGetElementData ( player, "drivingSchoolPractise" ) then
  33.         local old = vioGetElementData ( player, "drivingSchoolMarker" )
  34.         if old then
  35.             if isElement ( old ) then
  36.                 destroyElement ( old )
  37.                 destroyElement ( vioGetElementData ( player, "drivingSchoolBlip" ) )
  38.             end
  39.         end
  40.         local new = vioGetElementData ( player, "drivingSchoolCur" ) + 1
  41.         vioSetElementData ( player, "drivingSchoolCur", new )
  42.         if new <= table.size ( drivingSchoolMarkers["x"] ) then
  43.             local x, y, z = drivingSchoolMarkers["x"][new], drivingSchoolMarkers["y"][new], drivingSchoolMarkers["z"][new]
  44.             local marker = createMarker ( x, y, z, "checkpoint", 10, 200,0,0, 255, player )
  45.             local blip = createBlip ( x, y, z, 0, 2, 255, 0, 0, 255, 0, 99999.0, player )
  46.             local dim = getElementDimension ( player )
  47.             vioSetElementData ( player, "drivingSchoolMarker", marker )
  48.             vioSetElementData ( player, "drivingSchoolBlip", blip )
  49.             setElementDimension ( marker, dim )
  50.             setElementDimension ( blip, dim )
  51.             infobox ( player, "Checkpoint erreicht -\nnun zum naechsten!", 5000, 125, 0, 0 )
  52.             addEventHandler ( "onMarkerHit", marker, showNextDrivingSchoolMarker )
  53.         else
  54.             triggerClientEvent ( player, "drivingSchoolFinished", player )
  55.             spawnAfterDrivingSchool ( player )
  56.             infobox ( player, "Herzlichen\nGlueckwunsch,du hast\ndie Fahrpruefung\nbestanden!", 5000, 125, 0, 0 )
  57.             vioSetElementData ( player, "carlicense", 1 )
  58.             playSoundFrontEnd ( player, 40 )
  59.             vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) - vioGetElementData ( player, "drivingLicensePrice" ) )
  60.             MySQL_SetString ( "userdata", "Autofuehrerschein", vioGetElementData ( player, "carlicense" ), "Name LIKE '"..getPlayerName ( player ).."'")
  61.         end
  62.     end
  63. end
  64.  
  65. function drivingSchoolTheoryComplete_func ( correct )
  66.  
  67.     local player = client
  68.     if correct >= 6 then
  69.         -- Practise
  70.         showCursor ( player, false )
  71.         vioSetElementData ( player, "ElementClicked", false )
  72.        
  73.         setElementInterior ( player, 0 )
  74.         setElementDimension ( player, 0 )
  75.         local dim = getElementDimension ( player )
  76.         local veh = createVehicle ( 421, 1479.5, -1736.9000244141, 13.39999961853, 0, 0, 270 )
  77.         local ped = createPed ( 17, 0, 0, 0 )
  78.         warpPedIntoVehicle ( player, veh, 0 )
  79.         warpPedIntoVehicle ( ped, veh, 1 )
  80.         setVehicleDamageProof ( veh, true )
  81.         setElementDimension ( veh, dim )
  82.         setElementDimension ( ped, dim )
  83.        
  84.         vioSetElementData ( player, "drivingSchoolVeh", veh )
  85.         vioSetElementData ( player, "drivingSchoolPed", ped )
  86.         vioSetElementData ( player, "drivingSchoolCur", 0 )
  87.         vioSetElementData ( player, "drivingSchoolPractise", true )
  88.        
  89.         toggleControl ( player, "enter_exit", false )
  90.        
  91.         outputChatBox ( "Um die praktische Pruefung abzuschliesen, musst die die vorgegebene Strecke abfahren.", player, 200, 200, 0 )
  92.         outputChatBox ( "Beachte dabei jedoch, dass du nicht schneller als 80 km/h fahren darfst - sonst ist die Pruefung gelaufen!", player, 200, 200, 0 )
  93.         outputChatBox ( "Druecke X und L, um Licht oder Motor ein- oder aus zu schalten!", player, 200, 200, 0 )
  94.        
  95.         setTimer ( triggerClientEvent, 1000, 1, player, "checkDrivingSchoolSpeed", player )
  96.        
  97.         showNextDrivingSchoolMarker ( player )
  98.        
  99.         addEventHandler ( "onVehicleExit", veh,
  100.             function ( player )
  101.                 infobox ( player, "Du hast das Fahrzeug verlassen!", 5000, 125, 0, 0 )
  102.                 spawnAfterDrivingSchool ( player )
  103.             end
  104.         )
  105.         addEventHandler ( "onPlayerQuit", player, drivingSchoolQuit )
  106.     else
  107.         infobox ( player, "Du bist durchgefallen!\nDu hast nur "..correct.." / 7\n Fragen richtig be-\nantwortet.", 5000, 125, 0, 0 )
  108.         spawnAfterDrivingSchool ( player )
  109.     end
  110. end
  111. addEvent ( "drivingSchoolTheoryComplete", true )
  112. addEventHandler ( "drivingSchoolTheoryComplete", getRootElement(), drivingSchoolTheoryComplete_func )
  113.  
  114. function drivingSchoolQuit ()
  115.  
  116.     local player = source
  117.     if vioGetElementData ( player, "drivingSchoolPractise" ) then
  118.         spawnAfterDrivingSchool ( player )
  119.     end
  120. end
  121.  
  122. function drivingSchoolToFast_func ()
  123.  
  124.     local client = player
  125.     if vioGetElementData ( player, "drivingSchoolPractise" ) then
  126.         spawnAfterDrivingSchool ( player )
  127.         infobox ( player, "Du bist zu\nschnell gefahren!", 5000, 125, 0, 0 )
  128.     end
  129. end
  130. addEvent ( "drivingSchoolToFast", true )
  131. addEventHandler ( "drivingSchoolToFast", getRootElement(), drivingSchoolToFast_func )
  132.  
  133. function spawnAfterDrivingSchool ( player )
  134.  
  135.     if vioGetElementData ( player, "drivingSchoolPractise" ) then
  136.         vioSetElementData ( player, "drivingSchoolPractise", false )
  137.         local veh = vioGetElementData ( player, "drivingSchoolVeh" )
  138.         if veh then
  139.             if isElement ( veh ) then
  140.                 removePedFromVehicle ( player )
  141.                 destroyElement ( veh )
  142.             end
  143.         end
  144.         local ped = vioGetElementData ( player, "drivingSchoolPed" )
  145.         if ped then
  146.             if isElement ( ped ) then
  147.                 destroyElement ( ped )
  148.             end
  149.         end
  150.         local old = vioGetElementData ( player, "drivingSchoolMarker" )
  151.         if old then
  152.             if isElement ( old ) then
  153.                 destroyElement ( old )
  154.                 destroyElement ( vioGetElementData ( player, "drivingSchoolBlip" ) )
  155.             end
  156.         end
  157.        
  158.         if isElement ( player ) then
  159.             setElementInterior ( player, 3 )
  160.             toggleControl ( player, "enter_exit", true )
  161.             setElementPosition ( player, 364.42 + 5, 173.81, 1008.039 )
  162.             setPedRotation ( player, 90 )
  163.             setCameraTarget ( player )
  164.             setElementDimension ( player, 0 )
  165.             showCursor ( player, false )
  166.             setElementData ( player, "ElementClicked", false )
  167.             triggerClientEvent ( player, "drivingSchoolFinished", player )
  168.         end
  169.     end
  170. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement