所以基本上在我的脚本中它成功发送了远程事件,但另一个脚本由于某种原因没有收到它。以前有用过。
触发事件的脚本:
local frame = game.Players.LocalPlayer.PlayerGui.Credits.Frame
local text = frame.Presents
local stroke = text.UIStroke
local CurrentCamera = workspace.CurrentCamera
local TweenService = game:GetService("TweenService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local finishcredits = ReplicatedStorage.Credits
local SoundService = game:GetService("SoundService")
local song = SoundService.Song
local boom = SoundService.Boom
local RunService = game:GetService("RunService")
local targetTransparency = 1
local tweenDuration = 2
local tweenDuration2 = 4
local tweenInfo = TweenInfo.new(tweenDuration)
local tween = TweenService:Create(frame, tweenInfo, {BackgroundTransparency = targetTransparency})
local tween2 = TweenService:Create(text, tweenInfo, {TextTransparency = targetTransparency})
local tween3 = TweenService:Create(stroke, tweenInfo, {Transparency = targetTransparency})
wait(1)
print("1")
local camera = workspace.MainCamera
local function updateCamera()
CurrentCamera.CFrame = camera.CFrame
end
print("2")
frame.Visible = true
wait(1)
boom:Play()
wait(5)
song:Play()
CurrentCamera.CameraType = Enum.CameraType.Scriptable
print("script")
tween:Play()
print("tweened")
tween2:Play()
tween3:Play()
wait(2)
finishcredits:Fire(print("fired"))
RunService.RenderStepped:Connect(updateCamera)
接收它的脚本:
local TweenService = game:GetService("TweenService")
local camera = workspace:WaitForChild("MainCamera")
local text = workspace.MenuText:WaitForChild("WorldPivot")
local SoundService = game:GetService("SoundService")
local event = game.ReplicatedStorage.Credits
local watereffect = workspace.MenuText.Water.Water
local fireeffect = workspace.MenuText.Fire
local explosion = fireeffect.Explosion
local function enableExplosion()
for _, explosion in pairs(explosion:GetDescendants()) do
if explosion:IsA("ParticleEmitter") then
explosion.Enabled = true
end
end
end
local function enableFire()
for _, fire in pairs(fireeffect:GetDescendants()) do
if fire:IsA("ParticleEmitter") then
fire.Enabled = true
end
end
end
local function enableWater()
watereffect.Enabled = true
end
local function disableExplosion()
for _, explosion in pairs(explosion:GetDescendants()) do
if explosion:IsA("ParticleEmitter") then
explosion.Enabled = false
end
end
end
local function disableFire()
for _, fire in pairs(fireeffect:GetDescendants()) do
if fire:IsA("ParticleEmitter") then
fire.Enabled = false
end
end
end
local function disableWater()
watereffect.Enabled = false
end
local playbutton = workspace.Menu.Play
local rope = workspace.Menu.Play.Rope
local info = TweenInfo.new(6, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false)
local info4 = TweenInfo.new(4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false)
local info2 = TweenInfo.new(8, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false)
local tween = TweenService:Create(camera, info, {Position = Vector3.new(733.108, 14.451, -821.718)}) -- menu camera
local tween4 = TweenService:Create(text, info4, {Position = Vector3.new(712.179, 19.936, -842.667)}) -- text title
local tween2 = TweenService:Create(playbutton, info2, {Position = Vector3.new(733.86, 20.13, -841.05)}) -- play button
--local tween3 = TweenService:Create(rope, info2, {Position = Vector3.new(733.86, 41.93, -841.05)})
event.Event:Connect(function()
print("received")
tween:Play()
wait(1.4)
print("wait")
tween4:Play()
print("tween 4")
SoundService.splash:Play()
enableWater()
tween4.Completed:Connect(function()
disableWater()
enableExplosion()
SoundService.explosion:Play()
wait(3)
disableExplosion()
enableFire()
SoundService.fire:Play()
wait(2)
tween2:Play()
--tween3:Play()
SoundService.Elevator:Play()
end)
end)
我尝试删除一些模块,但没有成功,没有拼写错误。应该会收到事件,但没有收到
看起来您在第二个脚本中正在连接到
RemoteEvent上的
.Event
事件。据我所知,.Event
不是您可以连接的活动。相反,您需要连接到 .OnServerEvent
来获取 客户端 → 服务器事件。
local TweenService = game:GetService("TweenService")
local camera = workspace:WaitForChild("MainCamera")
local text = workspace.MenuText:WaitForChild("WorldPivot")
local SoundService = game:GetService("SoundService")
local event = game.ReplicatedStorage.Credits
local watereffect = workspace.MenuText.Water.Water
local fireeffect = workspace.MenuText.Fire
local explosion = fireeffect.Explosion
local function enableExplosion()
for _, explosion in pairs(explosion:GetDescendants()) do
if explosion:IsA("ParticleEmitter") then
explosion.Enabled = true
end
end
end
local function enableFire()
for _, fire in pairs(fireeffect:GetDescendants()) do
if fire:IsA("ParticleEmitter") then
fire.Enabled = true
end
end
end
local function enableWater()
watereffect.Enabled = true
end
local function disableExplosion()
for _, explosion in pairs(explosion:GetDescendants()) do
if explosion:IsA("ParticleEmitter") then
explosion.Enabled = false
end
end
end
local function disableFire()
for _, fire in pairs(fireeffect:GetDescendants()) do
if fire:IsA("ParticleEmitter") then
fire.Enabled = false
end
end
end
local function disableWater()
watereffect.Enabled = false
end
local playbutton = workspace.Menu.Play
local rope = workspace.Menu.Play.Rope
local info = TweenInfo.new(6, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false)
local info4 = TweenInfo.new(4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false)
local info2 = TweenInfo.new(8, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false)
local tween = TweenService:Create(camera, info, {Position = Vector3.new(733.108, 14.451, -821.718)}) -- menu camera
local tween4 = TweenService:Create(text, info4, {Position = Vector3.new(712.179, 19.936, -842.667)}) -- text title
local tween2 = TweenService:Create(playbutton, info2, {Position = Vector3.new(733.86, 20.13, -841.05)}) -- play button
--local tween3 = TweenService:Create(rope, info2, {Position = Vector3.new(733.86, 41.93, -841.05)})
event.OnServerEvent:Connect(function()
print("received")
tween:Play()
wait(1.4)
print("wait")
tween4:Play()
print("tween 4")
SoundService.splash:Play()
enableWater()
tween4.Completed:Connect(function()
disableWater()
enableExplosion()
SoundService.explosion:Play()
wait(3)
disableExplosion()
enableFire()
SoundService.fire:Play()
wait(2)
tween2:Play()
--tween3:Play()
SoundService.Elevator:Play()
end)
end)
在上面的脚本中,我只是将
event.Event:Connect(function()
替换为 event.OnServerEvent:Connect(function()
。
另一个问题是您在第一个脚本中使用
:Fire
而不是 :FireServer
。由于您要向服务器发起攻击,因此需要将 :Fire
更改为 :FireServer
。以下是更正后的脚本。
local frame = game.Players.LocalPlayer.PlayerGui.Credits.Frame
local text = frame.Presents
local stroke = text.UIStroke
local CurrentCamera = workspace.CurrentCamera
local TweenService = game:GetService("TweenService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local finishcredits = ReplicatedStorage.Credits
local SoundService = game:GetService("SoundService")
local song = SoundService.Song
local boom = SoundService.Boom
local RunService = game:GetService("RunService")
local targetTransparency = 1
local tweenDuration = 2
local tweenDuration2 = 4
local tweenInfo = TweenInfo.new(tweenDuration)
local tween = TweenService:Create(frame, tweenInfo, {BackgroundTransparency = targetTransparency})
local tween2 = TweenService:Create(text, tweenInfo, {TextTransparency = targetTransparency})
local tween3 = TweenService:Create(stroke, tweenInfo, {Transparency = targetTransparency})
wait(1)
print("1")
local camera = workspace.MainCamera
local function updateCamera()
CurrentCamera.CFrame = camera.CFrame
end
print("2")
frame.Visible = true
wait(1)
boom:Play()
wait(5)
song:Play()
CurrentCamera.CameraType = Enum.CameraType.Scriptable
print("script")
tween:Play()
print("tweened")
tween2:Play()
tween3:Play()
wait(2)
finishcredits:ServerFire(print("fired"))
RunService.RenderStepped:Connect(updateCamera)