Python Mini世界数据回档

Python Mini世界数据回档

回档时使用

#引用python lua模块
fp=open("1.json","rb")
t=str(fp.read(),"utf8")
fp.close()
start=0
end=0
start1=0
end1=0
t=t.replace("\\\"","\"")
ts=["[\"libvarid\"]=2100","[\"libvarid\"]=2100","[\"libvarid\"]=2100","[\"libvarid\"]=2100"]
tts=["名字1","名字2","名字3","名字4"]#数值
ts1=["[\"libvarid\"]=2106","[\"libvarid\"]=2106"]
tts1=["◇辉月五拥有数","◇趣影2拥有数"]#数值组
fp=open("恢复.lua","w",encoding="utf8")
fp.write("local hf_tab={\n")
ttttt=0
while True:
    start1=t.find("save uin=",end1)
    if start1==-1 :
        break
    start1+=9
    end1=t.find(";",start1)
    #print("\n迷你ID:"+t[start1:end1])
    fp.write("    [\"%s\"]={\n"%t[start1:end1])
    bs=0
    for tt in ts:
        start=t.find(tt,end1)
        if start==-1 :
            break
        i=start
        while True:
            i=i-1
            if t[i]=="{":
                start=i
                break
        end=t.find("}",start)
        bb=t[start:end+1]
        bb=bb.replace("[\"","\"")
        bb=bb.replace("\"]=","\":")
        aa=eval(bb)
        fp.write("        { name=\"%s\",types=3,value=%d,},\n"%(tts[bs],int(aa["value"])))
        #print(tts[bs]+":"+"%d"%aa["value"])
        bs+=1
    bs=0
    for tt in ts1:
        start=t.find(tt,end1)
        tt12=start
        if start==-1 :
            break
        i=start
        bb1=1
        while True:
            i=i-1
            if t[i]=="{":
                bb1-=1
            if t[i]=="}":
                bb1+=1
            if bb1==0:
                start=i
                break
        i=tt12
        st1=tt12
        bb1=1
        while True:
            i=i+1
            if t[i]=="{":
                bb1+=1
            if t[i]=="}":
                bb1-=1
            if bb1==0:
                st1=i
                break
        end=st1#t.find("}",start)
        bb=t[start:end+1]
        bb="local t="+bb+"\n return t"
        #print(bb)
        aa=Lua.execute(bb)
        # bb=bb.replace("[\"","\"")
        # bb=bb.replace("\"]=","\":")
        # print(bb)
        # aa=eval(bb)
        # print(tts1[bs])
        # #print(tts[bs]+":"+"%d"%aa["value"])
        fp.write("        { name=\"%s\",types=17,\n            value={\n                "%(tts1[bs]))
        for i1 in aa["ref"] :
            #print(aa["ref"][i1].val)
            fp.write("%d,"%aa["ref"][i1].val)
        fp.write("\n            },\n        },\n")
        bs+=1
    fp.write("    },\n")
    ttttt+=1
fp.write("}\n\n\n\n\n\n")
fp.write('''local function Click(e)
    if e.uielement==[[11111111111111111111111]] then--当玩家按下按钮时
        local _,bb=VarLib2:getPlayerVarByName(e.eventobjid,3,\"版本\")--获取你的版本号
        if bb<1 then
            bb=1
            VarLib2:setPlayerVarByName(e.eventobjid,3,\"版本\",1)--将你的版本号设置为1
            local pid=""..e.eventobjid
            if hf_tab[pid] then--如果存在则恢复
                for i,v in pairs(hf_tab[pid]) do
                    if v.types==3 then
                        VarLib2:setPlayerVarByName(e.eventobjid,3,v.name,v.value)
                    elseif v.types==17 then
                        for i1,v1 in ipairs(v.value) do
                            Valuegroup:setValueNoByName(17,v.name,i1,v1,e.eventobjid)
                        end
                    end
                end
            end
        end
        return
    end
end
ScriptSupportEvent:registerEvent(\"UI.Button.Click\",Click)''')
fp.close()
print("一共"+str(ttttt))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值