玩家角色信息是保存在服务器上吗,Reworld使用存储服务存储玩家的数据

存储服务用于存储玩家的数据,在玩家下次进游戏时可以读取这些数据

使用存储服务做一个登录次数的提示,步骤如下:

第一步:

在界面初始化中创建2D界面容器,并在容器下创建文本控件和一个按钮控件,调整控件的位置和大小,方便观察。文本框用来显示玩家登录时提示的文字,按钮用来点击更新和保存登录次数数值。界面如下:

bVbA1ZI

第二步:

在玩家初始化->玩家初始化脚本下增加客户端脚本。

bVbA10f

代码如下:

local uipanel = GameUI.欢迎--获取界面容器

local uitxt = uipanel.登陆--获取登录按钮

local savebutton = uipanel.保存--获取保存按钮

MessageEvent.ClientEventCallBack("显示欢迎界面"):Connect(function(loadtime)--显示登录提示界面的

local person = Players:GetLocalPlayer()--获取玩家

uitxt.Text = "尊敬的"..person.Name.."欢迎第"..loadtime.."次登陆游戏!"--设置显示文本

end)

savebutton.OnClick:Connect(function()--保存按钮点击触发保存游戏方法

uipanel.IsVisable = false--关闭界面

MessageEvent.FireServer("保存游戏")--发送消息至服务器保存游戏

end)

第三步:

在服务器逻辑中增加服务器代码:

Players.PlayerAdded:Connect(function(Uid) --玩家加载时触发

local player = Players:GetPlayerByUserId(Uid)--获取玩家实体

local timeplay = RWObject.Create("IntValue")--插入一个整数值

local key = Uid.."timeplay"--定义一个key

timeplay.Name = "TimePlay"

local saveValue = PlayerStoreData:GetValue(Uid, key)

if saveValue then--获取存储在服务器中的值

timeplay.Value = PlayerStoreData:GetValue(Uid, key)

print("获取存储值")

else

timeplay.Value = 1

print("自定义存储值")

end

PlayerStoreData:SetValue(Uid, key, timeplay.Value)--重新设置存储在服务器中的值

timeplay.Parent = WorkSpace

player.AvatarAdded:Connect(function(avatar) -- 角色被加载显示客户端

MessageEvent.FireClient(Uid,"显示欢迎界面",timeplay.Value)

end)

end)

function SaveTime(plrid)--定义保存游戏次数的方法

local key = plrid.."timeplay"--定义一个key

WorkSpace:WaitForChild("TimePlay").Value = WorkSpace:WaitForChild("TimePlay").Value + 1--值加1

PlayerStoreData:SetValue(plrid, key, WorkSpace.TimePlay.Value)--重新设置存储在服务器中的值

end

MessageEvent.ServerEventCallBack("保存游戏"):Connect(SaveTime)--接收消息后执行保存方法

第四步:

存储的服务测试需要将游戏发布后再手机端进行测试。点击编辑界面z左上角的发布按钮,并跟随步骤将游戏发布。

bVbA1WD

bVbA1Yf

第五步:打开手机端APP,在我的中找到发布的游戏,进入游戏。

1460000021179834

第六步:观察提示的登录次数,然后点击按钮。之后点击左上角的齿轮按钮退出游戏。然后再次进入游戏,观察提示的登录次数。

1460000021179833

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值