Corentin Cailleaud commited on
Commit
bfd6e0e
·
1 Parent(s): 6ababa9
Files changed (1) hide show
  1. cubzh.lua +11 -9
cubzh.lua CHANGED
@@ -312,7 +312,7 @@ if IsClient then
312
  gigaxHttpClient:updateCharacterPosition(simulation.engineId, characterId, closest._id, position)
313
  end
314
 
315
- local function createNPC(name, currentPosition, rotation)
316
  -- Create the NPC's Object and Avatar
317
  local NPC = {}
318
  NPC.object = Object()
@@ -331,7 +331,7 @@ if IsClient then
331
  })
332
 
333
  local text = Text()
334
- text.Text = " " .. string.upper(string.sub(name, 4, 4)) .. string.sub(name, 5, #name) .. " "
335
  text:SetParent(NPC.object)
336
  text.Type = TextType.Screen
337
  text.IsUnlit = true
@@ -413,7 +413,7 @@ if IsClient then
413
  elem.onEndCallback = nil
414
  end
415
  for _, elem in ipairs(config.NPCs) do
416
- createNPC(elem.name, elem.position, elem.rotation)
417
  end
418
  registerEngine(config)
419
  end
@@ -452,7 +452,7 @@ local skills = {
452
  return
453
  end
454
  dialog:create(action.content, npc.avatar.Head)
455
- print(string.format("%s: %s", npc.name, action.content))
456
  end,
457
  action_format_str = "{protagonist_name} said '{content}' to {target_name}",
458
  },
@@ -469,7 +469,7 @@ local skills = {
469
  end
470
  local npc = client:getNpc(action.character_id)
471
  dialog:create("I'm going to " .. targetName, npc.avatar.Head)
472
- print(string.format("%s: %s", npc.name, "I'm going to " .. targetName))
473
  local origin = Map:WorldToBlock(npc.object.Position)
474
  local destination = Map:WorldToBlock(targetPosition) + Number3(math.random(-1, 1), 0, math.random(-1, 1))
475
  local canMove = pathfinding:moveObjectTo(npc.object, origin, destination)
@@ -492,7 +492,7 @@ local skills = {
492
  end
493
 
494
  dialog:create("<Greets you warmly!>", npc.avatar.Head)
495
- print(string.format("%s: %s", npc.name, "<Greets you warmly!>"))
496
 
497
  npc.avatar.Animations.SwingRight:Play()
498
  end,
@@ -510,7 +510,7 @@ local skills = {
510
  end
511
 
512
  dialog:create("<Jumps in the air!>", npc.avatar.Head)
513
- print(string.format("%s: %s", npc.name, "<Jumps in the air!>"))
514
 
515
  npc.object.avatarContainer.Physics = PhysicsMode.Dynamic
516
  npc.object.avatarContainer.Velocity.Y = 50
@@ -532,7 +532,7 @@ local skills = {
532
  end
533
 
534
  dialog:create("I'm following you", npc.avatar.Head)
535
- print(string.format("%s: %s", npc.name, "I'm following you"))
536
 
537
  followHandler = pathfinding:followObject(npc.object, Player)
538
  return {
@@ -557,7 +557,6 @@ local skills = {
557
 
558
  require("explode"):shapes(npc.avatar)
559
  dialog:create("*boom*", npc.avatar.Head)
560
- --print(string.format("%s: %s", npc.name, "EXPLODING"))
561
  npc.avatar.IsHidden = true
562
  Timer(5, function()
563
  dialog:create("Aaaaand... I'm back!", npc.avatar.Head)
@@ -662,6 +661,7 @@ local locations = {
662
  local NPCs = {
663
  {
664
  name = "npcscientist",
 
665
  physicalDescription = "Short, with a stern expression and sharp eyes",
666
  psychologicalProfile = "Grumpy but insightful, suspicious yet intelligent",
667
  currentLocationName = "Scientist Island",
@@ -674,6 +674,7 @@ local NPCs = {
674
  },
675
  {
676
  name = "npcbaker",
 
677
  physicalDescription = "Tall, with a solemn demeanor and thoughtful eyes",
678
  psychologicalProfile = "Wise and mysterious, calm under pressure",
679
  currentLocationName = "Baker Island",
@@ -686,6 +687,7 @@ local NPCs = {
686
  },
687
  {
688
  name = "npcpirate",
 
689
  physicalDescription = "Average height, with bright green eyes and a warm smile",
690
  psychologicalProfile = "Friendly and helpful, quick-witted and resourceful",
691
  currentLocationName = "Pirate Island",
 
312
  gigaxHttpClient:updateCharacterPosition(simulation.engineId, characterId, closest._id, position)
313
  end
314
 
315
+ local function createNPC(name, gameName, currentPosition, rotation)
316
  -- Create the NPC's Object and Avatar
317
  local NPC = {}
318
  NPC.object = Object()
 
331
  })
332
 
333
  local text = Text()
334
+ text.Text = " " .. gameName .. " "
335
  text:SetParent(NPC.object)
336
  text.Type = TextType.Screen
337
  text.IsUnlit = true
 
413
  elem.onEndCallback = nil
414
  end
415
  for _, elem in ipairs(config.NPCs) do
416
+ createNPC(elem.name, elem.gameName, elem.position, elem.rotation)
417
  end
418
  registerEngine(config)
419
  end
 
452
  return
453
  end
454
  dialog:create(action.content, npc.avatar.Head)
455
+ print(string.format("%s: %s", npc.gameName, action.content))
456
  end,
457
  action_format_str = "{protagonist_name} said '{content}' to {target_name}",
458
  },
 
469
  end
470
  local npc = client:getNpc(action.character_id)
471
  dialog:create("I'm going to " .. targetName, npc.avatar.Head)
472
+ print(string.format("%s: %s", npc.gameName, "I'm going to " .. targetName))
473
  local origin = Map:WorldToBlock(npc.object.Position)
474
  local destination = Map:WorldToBlock(targetPosition) + Number3(math.random(-1, 1), 0, math.random(-1, 1))
475
  local canMove = pathfinding:moveObjectTo(npc.object, origin, destination)
 
492
  end
493
 
494
  dialog:create("<Greets you warmly!>", npc.avatar.Head)
495
+ print(string.format("%s: %s", npc.gameName, "<Greets you warmly!>"))
496
 
497
  npc.avatar.Animations.SwingRight:Play()
498
  end,
 
510
  end
511
 
512
  dialog:create("<Jumps in the air!>", npc.avatar.Head)
513
+ print(string.format("%s: %s", npc.gameName, "<Jumps in the air!>"))
514
 
515
  npc.object.avatarContainer.Physics = PhysicsMode.Dynamic
516
  npc.object.avatarContainer.Velocity.Y = 50
 
532
  end
533
 
534
  dialog:create("I'm following you", npc.avatar.Head)
535
+ print(string.format("%s: %s", npc.gameName, "I'm following you"))
536
 
537
  followHandler = pathfinding:followObject(npc.object, Player)
538
  return {
 
557
 
558
  require("explode"):shapes(npc.avatar)
559
  dialog:create("*boom*", npc.avatar.Head)
 
560
  npc.avatar.IsHidden = true
561
  Timer(5, function()
562
  dialog:create("Aaaaand... I'm back!", npc.avatar.Head)
 
661
  local NPCs = {
662
  {
663
  name = "npcscientist",
664
+ gameName = "Scientist",
665
  physicalDescription = "Short, with a stern expression and sharp eyes",
666
  psychologicalProfile = "Grumpy but insightful, suspicious yet intelligent",
667
  currentLocationName = "Scientist Island",
 
674
  },
675
  {
676
  name = "npcbaker",
677
+ gameName = "Baker",
678
  physicalDescription = "Tall, with a solemn demeanor and thoughtful eyes",
679
  psychologicalProfile = "Wise and mysterious, calm under pressure",
680
  currentLocationName = "Baker Island",
 
687
  },
688
  {
689
  name = "npcpirate",
690
+ gameName = "Pirate",
691
  physicalDescription = "Average height, with bright green eyes and a warm smile",
692
  psychologicalProfile = "Friendly and helpful, quick-witted and resourceful",
693
  currentLocationName = "Pirate Island",