用户:
FML饭米粒查看:636 回复:5 评论:13 创建时间:2022-01-06T16:57:02
world.onPlayerJoin(async({entity})=>{ entity.tlist=[]//用于储存玩家背包的列表 entity.hasThings=function(name,number){//检测背包内是否有number个name(有返回true,没有name或数量不足返回false) for(objectinentity.tlist){ if(object.name==name){ if(object.number>=number){ returntrue }else{ returnfalse } } } returnfalse } entity.getThings=function(name,number){//给玩家背包内增喵name for(num=0;num<entity.tlist.length;num++){ if(entity.tlist[num].name==name){ entity.tlist[num].number+=number returnentity.tlist } } entity.tlist.push({name:name,number:number}) returnentity.tlist } entity.delThings=function(name,number){//删除玩家背包内number个name(数量不足不会更改) for(num=0;num<entity.tlist.length;num++){ if(entity.tlist[num].name==name){ if(entity.tlist[num].number<number){ world.say('Error:bagdeletionerror') returnentity.tlist } entity.tlist[num].number-=number if(entity.tlist[num].number==0){ consttarget=entity.tlist entity.tlist=[] target.forEach((object)=>{ if(object.name!=name){ entity.tlist.push(object) } }) } returnentity.tlist } } } entity.showBag=function(){//显示玩家背包(返回格式:列表,如['a×1','b×1','c×2'...] varshowList=[] for(num=0;num<entity.tlist.length;num++){ showList.push(`${entity.tlist[num].name}×${entity.tlist[num].number}`) } returnshowList } entity.bagLength=function(){//物品总量(返回玩家背包内物品总数,格式:数字) varthingsNumber=0 for(num=0;num<entity.tlist.length;num++){ thingsNumber+=entity.tlist[num].number } returnthingsNumber } })
聋猪up看不懂的地方∶链表怎么输出到对话框并且可以把其中某项点开查看希望大佬回答
点赞0
评论
输出到对话框的话就是普通的dialog,options输入entity.showBag()即可,其他的照常
第二个就是你把对话框返回的结果赋值为变量(如choose),然后choose.value.split('×')[0]就是选择的物品的物品名,数量的话就是choose.value.split('×')[1]
https://shequ.codemao.cn/community/420102
使用说明见https://shequ.codemao.cn/community/426851
所!以! 数组可以直接全部输出吗!再也不用一个一个搬运数据了!
什么意思?
额,他不知道options可以直接传入数组,他以为只能传入["123", "456"]这种东西()()()服了()()()
不爱做跑酷希望发完整教程,例如如何添加背包数据
点赞0
评论
https://shequ.codemao.cn/community/420102
使用说明见https://shequ.codemao.cn/community/426851
FML饭米粒world.onPlayerJoin(async ({ entity }) => {
entity.tlist = []
entity.hasThings = function (name, number) {
for (num = 0; num < entity.tlist.length; num++) {
if (entity.tlist[num].name == name) {
if (entity.tlist[num].number >= number) {
return true
} else {
return false
}
}
}
return false
}
entity.getThings = function (name, number) {
for (num = 0; num < entity.tlist.length; num++) {
if (entity.tlist[num].name == name) {
entity.tlist[num].number += number
return entity.tlist
}
}
entity.tlist.push({ name: name, number: number })
return entity.tlist
}
entity.delThings = function (name, number) {
for (num = 0; num < entity.tlist.length; num++) {
if (entity.tlist[num].name == name) {
if (entity.tlist[num].number < number) {
world.say('Error:bag deletion error')
return entity.tlist
}
entity.tlist[num].number -= number
if (entity.tlist[num].number == 0) {
const target = entity.tlist
entity.tlist = []
target.forEach((object) => {
if (object.name != name) {
entity.tlist.push(object)
}
})
}
return entity.tlist
}
}
}
entity.showBag = function () {
var showList = []
for (num = 0; num < entity.tlist.length; num++) {
showList.push(`${entity.tlist[num].name}×${entity.tlist[num].number}`)
}
return showList
}
entity.bagLength = function () {
var thingsNumber = 0
for (num = 0; num < entity.tlist.length; num++) {
thingsNumber += entity.tlist[num].number
}
return thingsNumber
}
})点赞0
评论
此代码为最新改良版
使用说明见https://shequ.codemao.cn/community/426851