找回密码
 register

QQ登录

只需一步,快速开始

查看: 1077|回复: 0

[游戏教程] 关于限制幻灵交易的设想

[复制链接]

[游戏教程] 关于限制幻灵交易的设想

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:103
  • 打卡月天数:26
  • 打卡总奖励:102
  • 最近打卡:2025-01-29 07:46:26
Waylee

主题

0

回帖

1万

积分

仙帝

积分
13019
Waylee 2021-6-29 20:58 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×
在客户端中 local hid,lid = Pet:GetGUID(从0开始到n);
可以获得选中的第N个宠物hid,lid标识,通过服务端的x900009_GetPetDataBase函数进行判断是否是幻灵宠物。
返回值nPetData中,nPetData[15] == 0表示未幻化,1为已幻化
问题1,如何与服务器数据对比?
弊端:单纯的客户端限制(服务端已加密,无法修改),导致如果玩家绕过服务器,使用内挂进行放生,意味着我们无能为力了!
--**********************************
--读取珍兽数据
--**********************************
function x900009_GetPetDataBase(sceneId,selfId,hid,nid)
        local handle = openfile("./XYD_DataBase/PetSystem/LID"..tostring(nid)..".txt", "r")
        local nPetData = {}
        if handle and nil ~= handle then
                local nLineData = ""
                for i = 1,17 do
                        nLineData = read(handle, "*l")
                        if nLineData == nil then
                                nLineData = 0 --这里防止异常错误
                        end
                        --珍兽装备数据
                        if i >= 1 and i <= 5 then
                                local pos1,pos2,nEquipID,nEquipAdpt_1,nEquipAdpt_2 = strfind(nLineData,"(.*)\t(.*)\t(.*)")
                                if pos1 ~= nil and pos2 ~=nil then
                                        nPetData[i] = {tonumber(nEquipID),tonumber(nEquipAdpt_1),tonumber(nEquipAdpt_2)}
                                else
                                        nPetData[i] = {0,0,0}
                                end
                        else
                                --其他额外数据
                                nPetData[i] = tonumber(nLineData);
                        end
                end
                closefile(handle)
        else
                for i = 1,17 do
                        if i >= 1 and i <= 5 then
                                nPetData[i] = {0,0,0}
                        else
                                nPetData[i] = 0;
                        end
                end
        end
        --重置数据
        return nPetData
end





您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |天天打卡

GMT+8, 2025-1-31 11:36 , Processed in 0.096453 second(s), 8 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表