Advertisement
Guest User

SmileyDrift

a guest
Aug 21st, 2013
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.97 KB | None | 0 0
  1. # SmileyDrift:  it smiles at you when you drift!
  2. # Date:         21-Aug-2013
  3. # Filename:     SmileyDrift.py
  4. # Install to:   <AC-folder>\apps\python\SmileyDrift\
  5.  
  6. import ac
  7. import acsys
  8. import math
  9.  
  10. # Configuration, change these.
  11. #
  12. # Minimum time (in seconds) to hold a drift for it to be registered. Default: 0.5.
  13. SmileyShowTime = 0.5   
  14.  
  15. # Minimum speed (in KMH) for a drift to be registered. Change to 0 to disable (ignores speed). Default: 50.
  16. DriftSpeedMin = 50     
  17.  
  18. # Minimum drift angle (in degrees) to be registered. Default: 5.
  19. # Below SlipAngleMin = no drift. Above SlipAngleMin = ":)".
  20. SlipAngleMin = 5
  21.  
  22. # Medium drift angle (in degrees). Default: 15.
  23. # Below SlipAngleMid = ":)". Above SlipAngleMid = ":D".
  24. SlipAngleMid = 15      
  25.  
  26. # High drift angle (in degrees). Default: 20.
  27. # Below SlipAngleHigh = ":D". Above SlipAngleHigh = ":O".
  28. SlipAngleHigh = 20     
  29.  
  30. ### Code starts here, stay away! ###
  31. SmileyTimer = 0
  32. SmileyText = 0
  33.  
  34. def acMain(ac_version):
  35.     global SmileyText
  36.    
  37.     # Frame settings.
  38.     appWindow = ac.newApp("SD")
  39.     ac.setSize(appWindow, 120, 60)
  40.    
  41.     # Text settings.
  42.     SmileyText = ac.addLabel(appWindow, ":|")
  43.     ac.setPosition(SmileyText, 10, 30)
  44.     ac.setFontAlignment(SmileyText, "center")
  45.     ac.setSize(SmileyText, 100, 30)
  46.    
  47.     return "SmileyDrift"
  48.    
  49. def acUpdate(deltaT):
  50.     global SmileyText, SmileyTimer, SmileyShowTime, SlipAngleMin, SlipAngleMid, SlipAngleHigh
  51.    
  52.     # Smiley section.
  53.     CurSpeed = ac.getCarState(0, acsys.CS.SpeedKMH)
  54.     FL, FR, RL, RR = ac.getCarState(0, acsys.CS.SlipAngle)
  55.     CurSlipAngle = math.fabs( round( (RL+RR)/2 ) )
  56.    
  57.     if SmileyTimer > SmileyShowTime:
  58.         if CurSpeed >= DriftSpeedMin or DriftSpeedMin < 1:
  59.             if SlipAngleMin < CurSlipAngle < SlipAngleMid+1:
  60.                 ac.setText(SmileyText, ':)')
  61.             elif SlipAngleMid < CurSlipAngle < SlipAngleHigh:
  62.                 ac.setText(SmileyText, ':D')
  63.             elif CurSlipAngle >= SlipAngleHigh:
  64.                 ac.setText(SmileyText, ':O')
  65.             else:
  66.                 ac.setText(SmileyText, ':|')
  67.         SmileyTimer = 0
  68.     else:
  69.         SmileyTimer += deltaT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement