属性.临时列表 = []
for (let A = 1; A <= 数据.读(['标记', 玩家.位置, '物品种类数量']); A++) {
属性.临时列表.push(数据.读(['标记', 玩家.位置, A]) + '×' + 数据.读(['标记', 玩家.位置, A, '数量']))
}
对话({
文本: '当前位于' + 玩家.位置 + ',标记中存有物品:\n' + 属性.临时列表,
选项: [{
文本: '存入',
输入框: [{
标题: '物品',
类型: '文本',
允许换行: false,
输出属性: '临时文本'
}, {
标题: '数量',
类型: '数字',
允许换行: false,
输出属性: '临时数字'
}],
执行代码: `
if (属性.临时数字 <= 0||属性.临时数字!==Math.ceil(属性.临时数字)) {
提示('存入物品错误')
return;
}
if (物品[属性.临时文本]<属性.临时数字) {
提示('你没有那么多'+属性.临时文本 + '可以存进!')
return;
}
物品[属性.临时文本] -= 属性.临时数字
提示('成功存入!')
属性.临时列表.push(属性.临时文本)
if (数据.是否存在(['标记',玩家.位置,属性.临时文本])){
数据.写(['标记',玩家.位置,数据.读(['标记',玩家.位置,属性.临时文本]),'数量'],(数据.读(['标记',玩家.位置,数据.读(['标记',玩家.位置,属性.临时文本]),'数量'])??0)+属性.临时数字)
return;
}
var B = 数据.读(['标记',玩家.位置,'物品种类数量'])??0;
数据.写(['标记',玩家.位置,'物品种类数量'],B+1)
数据.写(['标记',玩家.位置,B + 1],属性.临时文本)
数据.写(['标记',玩家.位置,B + 1,'数量'],属性.临时数字)
数据.写(['标记',玩家.位置,属性.临时文本],B+1)
`
}, {
文本: '清空',
输入框: [{
标题: '防手滑',
类型: '文本',
输出属性: '临时文本'
}],
执行代码:`
数据.删除(['标记',玩家.位置])`
}, {
文本: '取出',
输入框: [{
标题: '物品',
类型: '文本',
输出属性: '临时文本'
}, {
标题: '数量',
类型: '数字',
输出属性: '临时数字'
}],
执行代码: `
if (属性.临时数字 <= 0||属性.临时数字!==Math.ceil(属性.临时数字)) {
提示('取出数量错误!')
return;
}
if (!数据.是否存在(['标记',玩家.位置,属性.临时文本])) {
提示('这里没有这个东西!')
return;
}
if (数据.读(['标记',玩家.位置,数据.读(['标记',玩家.位置,属性.临时文本]),'数量'])<属性.临时数字) {
提示('这里没有那么多'+属性.临时文本 + '可以取出!')
return;
}
物品[属性.临时文本] += 属性.临时数字
提示('成功取出!')
数据.写(['标记',玩家.位置,数据.读(['标记',玩家.位置,属性.临时文本]),'数量'],数据.读(['标记',玩家.位置,数据.读(['标记',玩家.位置,属性.临时文本]),'数量']) - 属性.临时数字)
`
}, {
文本: '退出',
结束对话: true
}]
})
return;