rooben commited on
Commit
d0c8bff
1 Parent(s): 73422da

Update cubzh.lua

Browse files
Files changed (1) hide show
  1. cubzh.lua +20 -20
cubzh.lua CHANGED
@@ -103,6 +103,26 @@ local skills = {
103
  dialog:create("<Jumps in the air!>", npc.avatar.Head)
104
  print(string.format("%s: %s", npc.gameName, "<Jumps in the air!>"))
105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  npc.object.avatarContainer.Physics = PhysicsMode.Dynamic
107
  npc.object.avatarContainer.Velocity.Y = 50
108
  Timer(3, function()
@@ -476,30 +496,10 @@ Client.OnChat = function(payload)
476
  content = msg,
477
  })
478
 
479
- rotateNPCHead(5)
480
-
481
  print("User: " .. payload.message)
482
  return true
483
  end
484
 
485
- function rotateNPCHead(times)
486
- local rotations = 0
487
- local rotationTimer = Timer.New()
488
- local originalRotation = Player.avatar.Head.LocalRotation:Copy()
489
-
490
- rotationTimer:Schedule(function()
491
- if rotations < times * 2 then
492
- local angle = (rotations % 2 == 0) and math.pi/4 or -math.pi/4
493
- Player.avatar.Head.LocalRotation = { angle, 0, 0 }
494
- rotations = rotations + 1
495
- return 0.2 -- Schedule next rotation in 0.2 seconds
496
- else
497
- Player.avatar.Head.LocalRotation = originalRotation
498
- return false -- Stop the timer
499
- end
500
- end)
501
- end
502
-
503
  onboardingConfig = {
504
  steps = {
505
  {
 
103
  dialog:create("<Jumps in the air!>", npc.avatar.Head)
104
  print(string.format("%s: %s", npc.gameName, "<Jumps in the air!>"))
105
 
106
+ -- Add head rotation
107
+ local rotationDuration = 2 -- seconds
108
+ local rotationSpeed = 2 * math.pi / rotationDuration -- radians per second
109
+ local elapsedTime = 0
110
+ local originalRotation = npc.avatar.Head.LocalRotation:Copy()
111
+
112
+ local rotationTimer = Timer.New("headRotation")
113
+ rotationTimer.OnFinish = function()
114
+ elapsedTime = elapsedTime + 1/60 -- Assuming 60 FPS
115
+ local newRotation = originalRotation + Number3(0, math.sin(elapsedTime * rotationSpeed) * 0.5, 0)
116
+ npc.avatar.Head.LocalRotation = newRotation
117
+
118
+ if elapsedTime < rotationDuration then
119
+ rotationTimer:Start(1/60) -- Restart the timer for the next frame
120
+ else
121
+ npc.avatar.Head.LocalRotation = originalRotation -- Reset to original rotation
122
+ end
123
+ end
124
+ rotationTimer:Start(1/60) -- Start the rotation timer
125
+
126
  npc.object.avatarContainer.Physics = PhysicsMode.Dynamic
127
  npc.object.avatarContainer.Velocity.Y = 50
128
  Timer(3, function()
 
496
  content = msg,
497
  })
498
 
 
 
499
  print("User: " .. payload.message)
500
  return true
501
  end
502
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
503
  onboardingConfig = {
504
  steps = {
505
  {