首先要开启创意工坊
我是不知道有啥steam协议啥的 毕竟我压根没看过 我也不好截图展示啥的
都在显眼的地方 慢慢设置吧
首先 我们在STeamWorks的首页
- 应用与程序包 part
- 下一行 应用程序 patr
- Steam 云设置数值 直接写满便是(装傻)
- 下拉 根目录 我的 设定分别是 子目录 Map 模式 *.jpg
- 回到上面 创意工坊 Parg
- 通用
- 启动的条件有个清单
- 上传图片
- 输入标题
- 输入描述
上传一个公开的物品到创意工坊
然后我们开始在GMS上搓上传部分了
有关于申请ID这一个部分
在执行申请的时候就已经在创意工坊创建一个空白页面 别手贱创建过多 我600多个都不知道怎么删除 好险只是 只能私人看见
创意工坊的ID请循环利用吧
然后我按照思路贴上代码
创建
Steam_Api = false; Publish_ID = noone;//创意工坊id Updateing = false;//本地判定的 是否在上传中 Request_Id = noone;//执行上传 返回的 id; new_item = noone;//申请创意工坊id 返回到 id;
对于没有经常用异步的事件的小伙伴讲一下 你向steam发送东西后都会都会在 异步事件 收到一个 临时的Map
返回的内容 通常都有 id和类型 我们用来判定是返回了 那类执行内容和那次执行 的内容
触发执行
比如按下 键盘 鼠标啊 等行为
if !Updateing and Steam_Api //不再上传中+steam_Api开启 (有关steam_Api看上一篇文章) { if !Publish_ID //没有创意工坊ID { //开始申请 var app_id = steam_get_app_id(); new_item = steam_ugc_create_item(app_id,ugc_filetype_community); Updateing = true //动作上锁 } else { //直接执行上传 event_user(0) } }
Steam 事件 (获得创意工坊ID)
首先我们来获得两个变量 分别就是 类执行内容和那次执行
var event_id = async_load [?"id"]; var type = async_load [?"event_type"];
申请创意工坊的返回
if event_id == new_item { if type == "ugc_create_item" { Publish_ID = async_load [?"published_file_id"]; //获得了申请到的ID event_user(0);//我们在这个时刻才执行 上传 } }
上传
首先这是个用户的自定义事件
//这是上传目标 那款游戏 和 创意工坊位置的ID var app_id = steam_get_app_id(); var updateHandle = steam_ugc_start_item_update(app_id, Publish_ID); //这是设定标题 steam_ugc_set_item_title(updateHandle, "来个丢人的标题"); //这是设定描述 steam_ugc_set_item_description( updateHandle, "丢人的描述"); // 设置可看种类 0 公开 1 朋友 2私人 现在用私人吧 不去丢人 steam_ugc_set_item_visibility(updateHandle, ugc_visibility_public); // 添加Tag 标签 用数组写一串 只能用英文 var tagArray; tagArray[0] = "rua"; tagArray[1] = "fuck"; steam_ugc_set_item_tags(updateHandle, tagArray); //选择封面 不过限制只有1m //我是做过玩家塞封面进来 我在表面里面 绘制一个1270*720的副本 当作上传的内容来用 steam_ugc_set_item_preview(updateHandle, "丢人的封面.jpg"); //这是目录 steam_ugc_set_item_content(updateHandle, working_directory+ "丢人的游戏目录");
虽然都是写在一起的 这句话就是执行上传
//记录事件Id and 上传 and 写入更新说明 Request_Id = steam_ugc_submit_item_update(updateHandle, "版本 1.2");
Steam 事件 (上传成功)
if event_id == Request_Id { if type = "ugc_update_item" { Updateing = false; } }
暂无关于此日志的评论。