mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2025-08-03 18:30:11 +03:00
melon
This commit is contained in:
38
soggy_resources/lua/Actor/Quest/Q220/Gaia22003.lua
Normal file
38
soggy_resources/lua/Actor/Quest/Q220/Gaia22003.lua
Normal file
@@ -0,0 +1,38 @@
|
||||
require('Actor/ActorCommon')
|
||||
local npcActorProxy = require('Actor/Npc/NpcActorProxy')
|
||||
local Gaia22003 = class("Gaia22003", npcActorProxy)
|
||||
|
||||
local q220Cfg = require('Actor/Quest/Q220/Config/Q220Config')
|
||||
local gaiaData = q220Cfg.GaiaData
|
||||
|
||||
Gaia22003.defaultAlias = "Gaia22003"
|
||||
|
||||
-- local method
|
||||
function Gaia22003:StartBeFollow()
|
||||
self:BeFollowTask(gaiaData.FirstPos, gaiaData.BeFollowLen, gaiaData.BeFollowFailedLen,
|
||||
function(self, task)
|
||||
if self.BeFollowState == BeFollowState.FAILED then
|
||||
local quest = actorMgr:GetActor(q220Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(true, nil)
|
||||
end
|
||||
self:Destroy(false)
|
||||
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
||||
self:TurnTo(M.Euler2DirXZ(gaiaData.bornDir))
|
||||
self:Standby()
|
||||
end
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end
|
||||
)
|
||||
end
|
||||
-- local method end
|
||||
|
||||
function Gaia22003:Start()
|
||||
print("start!gaia22003")
|
||||
self:StartBeFollow()
|
||||
--self:SetPos(M.Pos(1428, 56.4, 176))
|
||||
end
|
||||
|
||||
return Gaia22003
|
44
soggy_resources/lua/Actor/Quest/Q220/Wendy22003.lua
Normal file
44
soggy_resources/lua/Actor/Quest/Q220/Wendy22003.lua
Normal file
@@ -0,0 +1,44 @@
|
||||
require('Actor/ActorCommon')
|
||||
local quest001 = require('Actor/Quest/Quest001Test')
|
||||
local npcActorProxy = require('Actor/Npc/NpcActorProxy')
|
||||
|
||||
local Wendy22003 = class("Wendy22003", npcActorProxy)
|
||||
|
||||
Wendy22003.defaultAlias = "Wendy22003"
|
||||
|
||||
-- local config begin
|
||||
local q220Cfg = require('Actor/Quest/Q220/Config/Q220Config')
|
||||
local wendyData = q220Cfg.WendyData
|
||||
local audienceInter = q220Cfg.AudienceInter
|
||||
local extrasData = q220Cfg.ExtrasData
|
||||
-- local config end
|
||||
|
||||
-- local param begin
|
||||
-- local param end
|
||||
|
||||
-- local method
|
||||
function Wendy22003:StartDance()
|
||||
self:TurnTo(M.Euler2DirXZ(self.bornDir))
|
||||
self:DoFreeStyle(1)
|
||||
end
|
||||
function Wendy22003:FinishDance(...)
|
||||
print("finish dance))))))))))))))))))")
|
||||
for i=1, #extrasData.ExtrasIDs do
|
||||
local alias = extrasData.Extras .. tostring(i)
|
||||
self:NotifyTo(alias, wendyData.EvtFinishDance)
|
||||
end
|
||||
self:Destroy(false)
|
||||
end
|
||||
-- local method end
|
||||
|
||||
function Wendy22003:Start()
|
||||
print("start!wendy22003")
|
||||
self:StartDance()
|
||||
self:CallDelay(10, self.FinishDance)
|
||||
end
|
||||
|
||||
function Wendy22003:OnDestroy()
|
||||
print("wendy " .. self.configID .. " destroied")
|
||||
end
|
||||
|
||||
return Wendy22003
|
70
soggy_resources/lua/Actor/Quest/Q220/WendyAudience.lua
Normal file
70
soggy_resources/lua/Actor/Quest/Q220/WendyAudience.lua
Normal file
@@ -0,0 +1,70 @@
|
||||
require('Actor/ActorCommon')
|
||||
local npcActorProxy = require('Actor/Npc/NpcActorProxy')
|
||||
|
||||
local WendyAudience = class("WendyAudience", npcActorProxy)
|
||||
|
||||
WendyAudience.defaultAlias = "WendyAudience"
|
||||
|
||||
WendyAudience.seatPos = nil
|
||||
WendyAudience.seatDir = nil
|
||||
WendyAudience.returnCallback = nil
|
||||
|
||||
-- local config begin
|
||||
local q220Cfg = require('Actor/Quest/Q220/Config/Q220Config')
|
||||
local wendyData = q220Cfg.WendyData
|
||||
local audienceInter = q220Cfg.AudienceInter
|
||||
local extrasData = q220Cfg.ExtrasData
|
||||
-- local config end
|
||||
|
||||
function WendyAudience:MoveToSeat()
|
||||
print("move to seat ")
|
||||
print(self.seatPos)
|
||||
self:AddPriorityInter(InterTimingType.BTN, audienceInter)
|
||||
self:WalkToTask(self.seatPos,
|
||||
function(self, task)
|
||||
self:TurnTo(M.Euler2DirXZ(self.seatDir))
|
||||
self:Standby()
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
function WendyAudience:ReturnToNormal()
|
||||
print("ai return " .. tostring(self.configID))
|
||||
self:ClearPriorityInter(InterTimingType.BTN)
|
||||
self:WalkToTask(extrasData.ExtrasOriginPos[self.extrasIndex],
|
||||
function(self, task)
|
||||
self:TurnTo(M.Euler2DirXZ(extrasData.ExtrasOriginDir[self.extrasIndex]))
|
||||
self:Standby()
|
||||
if self.returnCallback ~= nil then
|
||||
self:returnCallback()
|
||||
end
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
-- local method begin
|
||||
function WendyAudience:OnEvent(evt)
|
||||
if evt.evtType == wendyData.EvtFinishDance then
|
||||
self:ReturnToNormal()
|
||||
end
|
||||
end
|
||||
|
||||
-- local method end
|
||||
|
||||
function WendyAudience:Start()
|
||||
print("start!wendy audience " .. self.configID)
|
||||
self:RegisterActorEvent(self.OnEvent)
|
||||
self:MoveToSeat()
|
||||
end
|
||||
|
||||
function WendyAudience:OnDestroy()
|
||||
print("wendy audience " .. self.configID .. " destroied")
|
||||
end
|
||||
|
||||
return WendyAudience
|
143
soggy_resources/lua/Actor/Quest/Q220/config/Q220Config.lua
Normal file
143
soggy_resources/lua/Actor/Quest/Q220/config/Q220Config.lua
Normal file
@@ -0,0 +1,143 @@
|
||||
require('Actor/ActorCommon')
|
||||
|
||||
local Q220Config = {}
|
||||
|
||||
Q220Config.MainID = 220
|
||||
Q220Config.ActorAlias = "220"
|
||||
|
||||
Q220Config.SubIDs =
|
||||
{
|
||||
q22002 = 22002,
|
||||
q22003 = 22003,
|
||||
q22004 = 22004,
|
||||
q22005 = 22005,
|
||||
}
|
||||
|
||||
Q220Config.WendyData =
|
||||
{
|
||||
Wendy = "Wendy",
|
||||
WendyScript = "Actor/Quest/Q220/Wendy22003",
|
||||
WendyID = 102,
|
||||
bornPos = M.Pos(1426, 56.4, 176),
|
||||
bornDir = M.Dir(0, -36, 0),
|
||||
|
||||
EvtFinishDance = 10079
|
||||
}
|
||||
|
||||
Q220Config.ExtrasData =
|
||||
{
|
||||
Extras = "Extras",
|
||||
ExtrasAudience = "Actor/Quest/Q220/WendyAudience",
|
||||
ExtrasIDs =
|
||||
{
|
||||
5,
|
||||
37,
|
||||
},
|
||||
ExtrasOriginPos =
|
||||
{
|
||||
M.Pos(1429.2, 56.8, 184),
|
||||
M.Pos(1425.79, 56.38, 178.15),
|
||||
},
|
||||
ExtrasOriginDir =
|
||||
{
|
||||
M.Dir(0, 0, 0),
|
||||
M.Dir(0, 0, 0),
|
||||
},
|
||||
ExtrasSeatPos =
|
||||
{
|
||||
M.Pos(1424, 56.4, 177),
|
||||
M.Pos(1425.79, 56.38, 178.15),
|
||||
},
|
||||
ExtrasSeatDir =
|
||||
{
|
||||
M.Dir(0, 150, 0),
|
||||
M.Dir(0, 160, 0),
|
||||
},
|
||||
ExtrasReturnCallback =
|
||||
{
|
||||
nil,
|
||||
function(self)
|
||||
self:Destroy(false)
|
||||
end
|
||||
},
|
||||
}
|
||||
|
||||
Q220Config.GaiaData =
|
||||
{
|
||||
Gaia = "Gaia",
|
||||
GaiaScript = "Actor/Quest/Q220/Gaia22003",
|
||||
GaiaID = 103,
|
||||
bornPos = M.Pos(1403, 57.4, 195),
|
||||
bornDir = M.Dir(0, -36, 0),
|
||||
|
||||
FirstPos = M.Pos(1397.4, 60, 363),
|
||||
BeFollowLen = 10,
|
||||
BeFollowFailedLen = 20,
|
||||
}
|
||||
|
||||
Q220Config.AudienceInter =
|
||||
{
|
||||
{
|
||||
{
|
||||
type = InteractionType.STEER_TO,
|
||||
steerType = DialogSteerType.TO_LOCAL_AVATAR,
|
||||
duration = 1.0
|
||||
},
|
||||
{
|
||||
type = InteractionType.CAMERA_MOVE,
|
||||
cameraPosType = StoryCameraPosType.RELATIVE_TO_INTER,
|
||||
camPosOffset = {x = 0, y = 0.5, z = 0},
|
||||
nearLength = 2,
|
||||
camTargetType = StoryCameraTargetType.TO_INTEE,
|
||||
camForwardTargetOffset = {x = 0, y = 0.5, z = 0},
|
||||
duration = 1.0,
|
||||
lerpRatio = 5.0,
|
||||
lerpPattern = 0
|
||||
},
|
||||
{
|
||||
type = InteractionType.DIALOG,
|
||||
dialogType = DialogType.LOCK_FRAME,
|
||||
talkerName = "观众",
|
||||
content = "跳舞跳得挺好啊"
|
||||
}
|
||||
},
|
||||
{
|
||||
{
|
||||
type = InteractionType.DIALOG_FINISH,
|
||||
},
|
||||
{
|
||||
type = InteractionType.STEER_TO,
|
||||
steerType = DialogSteerType.RETURN,
|
||||
duration = 1.0
|
||||
},
|
||||
{
|
||||
type = InteractionType.CAMERA_MOVE,
|
||||
cameraPosType = StoryCameraPosType.EXIT,
|
||||
camPosOffset = {x = 0, y = 0, z = 0},
|
||||
nearLength = 0,
|
||||
camTargetType = StoryCameraTargetType.TO_INTEE,
|
||||
camForwardTargetOffset = {x = 0, y = 0, z = 0},
|
||||
duration = 1.0,
|
||||
lerpRatio = 5.0,
|
||||
lerpPattern = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Q220Config.MonsterData =
|
||||
{
|
||||
MonsterIDs = {20103026, 20105101},
|
||||
}
|
||||
|
||||
Q220Config.CutsceneData =
|
||||
{
|
||||
Test1 = {
|
||||
type = CutsceneType.TIME_LINE_PREFAB,
|
||||
roleSheetPath = "",
|
||||
resPath = "ART/Cutscene/Cs_UnlockCityCutScene",
|
||||
startPosType = CutsceneInitPosType.RELATIVE_TO_LOCAL_AVATAR,
|
||||
startOffset = {x = 0, y = 3, z = 0}
|
||||
}
|
||||
}
|
||||
|
||||
return Q220Config
|
Reference in New Issue
Block a user