用户:
Nysidla查看:0 回复:2 评论:0 创建时间:2023-10-13T22:32:00
准备
entity.setUp = {effect:[]}
function speed_mul(entity, num) {
entity.player.walkSpeed = 0.1428 * num
entity.player.walkAcceleration = 0.1428 * num
entity.player.runSpeed = 0.178 * num
entity.player.runAcceleration = 0.178 * num
entity.player.crouchSpeed = 0.049 * num
entity.player.crouchAcceleration = 0.049 * num
}
function speed_c(entity) {
entity.player.walkSpeed = 0.049
entity.player.walkAcceleration = 0.049
entity.player.runSpeed = 0.049
entity.player.runAcceleration = 0.049
entity.player.crouchSpeed = 0.049
entity.player.crouchAcceleration = 0.049
}
Array.prototype.remove = function (index) {//代码出处:csdn
if (isNaN(index || index > this.length)) return false
for (let i = 0, n = 0; i < this.length; i++) {
if (this[i] != this[index]) this[n++] = this[i]
} this.length -= 1
}
var Time = 0
setInterval(async () => {//代码出处:传奇喵 代码改编:DaDa_屑_
world.querySelectorAll('player').filter(e => !e.destroyed && e.setUp).forEach(async (e) => {
if (Time % 100 == 0) {
e.setUp.effect.forEach((time) => {
let min = time.slice(time.indexOf(' ') + 1, time.indexOf(':'))
let s = time.slice(time.indexOf(':') + 1)
if (time.startsWith('生命恢复II')) e.hp = Math.min(20, e.hp + 0.4)
if (min == '0' && s == '00') {
if (time.startsWith('跳跃')) e.player.jumpPower = 0.591
if (time.startsWith('隐身')) e.player.invisible = false
if (time.startsWith('伤害吸收')) {
if (e.shxs != undefined) {
e.setUp.effect.push('伤害吸收 ' + e.shxs)
e.shxs = undefined
e.addhp = 4
} else e.addhp = 0
} if (time.startsWith('速度')) {
speed_mul(e, 1)
e.player.cameraFovY = 0.389
} e.setUp.effect.remove(e.setUp.effect.indexOf(time))
} e.setUp.effect[e.setUp.effect.indexOf(time)] = time.slice(0, time.indexOf(' ') + 1) + (s == '00' ? min - 1 : min) + ':' + (s == '00' ? '59' : String(Number(s) - 1).length == 1 ? '0' + String(s - 1) : s - 1)
})
}
})
Time++
}, 10)
1.喵果(不考虑饱食度)
//需要套进按键判断里
speed_c(entity)
entity.eat_drink = true
let speed = entity.setUp.effect.find(e => e.includes('速度')) ? 1.4 : 1
for (let t = 0; t < 10; t++) {
entity.player.sound(['audio/自己找.mp3', 'audio/自己找.mp3'][Math.round(Math.random())])
await sleep(150)
if (!entity.player.action1Button || entity.setUp.onhand[0] == '空') {
speed_mul(entity, speed)
entity.eat_drink = false
return
}
} entity.player.sound('audio/自己找.mp3')
entity.eat_drink = false
speed_mul(entity, speed)
let a = entity.setUp.effect.find(e => e.includes('生命恢复II'))
let b = entity.setUp.effect.find(e => e.includes('伤害吸收'))
a ? Number(a.slice(9)) < 5 ? entity.setUp.effect[entity.setUp.effect.indexOf(a)] = '生命恢复II 0:05' : false : entity.setUp.effect.push('生命恢复II 0:05')
if (b) {
let time = Number(b.slice(b.indexOf(':') + 1)) + Number(b.slice(b.indexOf(' ') + 1, b.indexOf(' ') + 2)) * 60
if (b.startsWith('伤害吸收II')) {
let last = 120 - time
entity.shxs = last > 60 ? '1:' + (String(last - 60).length > 1 ? last - 60 : '0' + last - 60) : '0:' + (String(last).length > 1 ? last : '0' + last)
} else entity.setUp.effect[entity.setUp.effect.indexOf(b)] = '伤害吸收 2:00'
} else entity.setUp.effect.push('伤害吸收 2:00')
entity.addhp = Math.max(entity.addhp, 4)
讲解:先设定eat_drink防止连续吃喵果,使用循环播放声音,设定a(生命恢复,因为生存无法获取比II级更大的生命恢复[不考虑旧版护膜金屁屁],不设定变量存储时间)与b(因为有伤害吸收II和伤害吸收IV,设定变量存储伤害吸收,等高级的伤害吸收消失再显示出来)
2.药水
var lotion = [
{
id: '治疗药水',
name: '',
},
{
id: '治疗药水II',
name: '',
},
{
id: '跳跃药水II',
name: '跳跃提升II 1:50'
},
{
id: '迅捷药水II',
name: '速度II 1:50',
},
{
id: '力量药水II',
name: '力量II 1:50',
},
{
id: '隐身药水',
name: '隐身 3:00',
},
{
id: '抗火药水',
name: '抗火 3:00',
},
]
speed_c(entity)
entity.eat_drink = true
let speed = entity.setUp.effect.find(e => e.includes('速度')) ? 1.4 : 1
for (let t = 0; t < 10; t++) {
entity.player.sound('audio/drink.mp3')
await sleep(150)
if (!entity.player.action1Button || entity.setUp.onhand[0] == '空') {
speed_mul(entity, speed)
entity.eat_drink = false
return
}
} speed_mul(entity, speed)
entity.eat_drink = false
let lotion = lotion.filter(e => entity.setUp.onhand[0].includes(e.id))
if (lotion[0].name != '') {
let ln = entity.setUp.effect.find(e => e.includes(lotion[0].name.slice(0, lotion[0].name.indexOf(' ') + 1)))
if (ln) entity.setUp.effect[entity.setUp.effect.indexOf(ln)] = lotion[0].name
else entity.setUp.effect.push(lotion[0].name)
}
if (lotion[0].id == '跳跃药水II') entity.player.jumpPower = 0.8
else if (lotion[0].id == '隐身药水') entity.player.invisible = true
else if (lotion[0].id == '迅捷药水II') {
speed_mul(entity, 1.4)
entity.player.cameraFovY = 0.45
} else if (lotion[1] && lotion[1].id == '治疗药水II') {
entity.hp = Math.min(20, entity.hp + 8)
} else if (lotion[0].id == '治疗药水') {
entity.hp = Math.min(20, entity.hp + 4)
}
这没有什么可以讲的吧
3.希腊数字转阿拉伯数字(仅限10以内)
function takeNumber(p) {
let xila = ['无','', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X']
let alabo = [0, 0, 喵]
return alabo[xila.indexOf(p.split('').filter(e => xila.includes(e)).toString().replace(/,/g, ''))]
}
entity.addHp的讲解:伤害吸收
伤害吸收会增加一个不可恢复的金色血量条,将其设为玩家原有的血量十分复杂,且血条会喵隐身的玩家,极其不友好,干脆直接设定一个变量存储伤害吸收,就是addHp的作用,伤害则优先消耗addHp,伤害代码:
entity.hurt(Math.max(0, 伤害 - e.addhp))
entity.addhp = Math.max(0, e.addhp - 伤害)
感谢:csdn 传奇喵
帅B:DaDa_屑_