猫史档案馆


喵果,药水,希腊数字转阿拉伯数字

用户:NysidlaNysidla查看: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_屑_


回复

上一页1 页 / 共 1下一页
NysidlaNysidla

哇能发了doge

点赞0


评论


Ezra__Ezra__

有没有一种可能,那玩意儿叫罗马数字(

点赞0


评论