如何突破生命最大值、内力最大值、经验最大值的限制

金庸群侠传系列游戏

—天书劫MOD扩展部分教程

一、如何突破生命最大值、内力最大值、经验最大值的限制。

(一)首先用upedit修改器导出原来游戏的Excel表格内容。

(二)修改jyconst.lua里面的人物定义

CC.PersonSize = 239 --(后面新增加了,这里的数字也要修改)

CC.Person_S = {}

CC.Person_S[“代号”] = { 0, 0, 2 }

CC.Person_S[“头像代号”] = { 2, 0, 2 }

CC.Person_S[“生命增长”] = { 4, 0, 2 }

CC.Person_S[“无用”] = { 6, 0, 2 }

CC.Person_S[“姓名”] = { 8, 2, 10 }

CC.Person_S[“外号”] = { 18, 2, 10 }

CC.Person_S[“性别”] = { 28, 0, 2 }

CC.Person_S[“等级”] = { 30, 0, 2 }

CC.Person_S[“经验”] = { 32, 3, 4 }

CC.Person_S[“生命”] = { 36, 3, 4 }

CC.Person_S[“生命最大值”] = { 40, 3, 4 }

CC.Person_S[“受伤程度”] = { 44, 0, 2 }

CC.Person_S[“中毒程度”] = { 46, 0, 2 }

CC.Person_S[“体力”] = { 48, 0, 2 }

CC.Person_S[“物品修炼点数”] = { 50, 0, 2 }

CC.Person_S[“武器”] = { 52, 0, 2 }

CC.Person_S[“防具”] = { 54, 0, 2 }

fori = 1, 5 do

CC.Person_S[“出招动画帧数” .. i] = { 56 + 2 * (i - 1), 0, 2 }

CC.Person_S[“出招动画延迟” .. i] = { 66 + 2 * (i - 1), 0, 2 }

CC.Person_S[“武功音效延迟” .. i] = { 76 + 2 * (i - 1), 0, 2 }

end

CC.Person_S[“内力性质”] = { 86, 0, 2 }

CC.Person_S[“内力”] = { 88, 3, 4 }

CC.Person_S[“内力最大值”] = { 92, 3, 4 }

CC.Person_S[“攻击力”] = { 96, 0, 2 }

CC.Person_S[“轻功”] = { 98, 0, 2 }

CC.Person_S[“防御力”] = { 100, 0, 2 }

CC.Person_S[“医疗能力”] = { 102, 0, 2 }

CC.Person_S[“用毒能力”] = { 104, 0, 2 }

CC.Person_S[“解毒能力”] = { 106, 0, 2 }

CC.Person_S[“抗毒能力”] = { 108, 0, 2 }

CC.Person_S[“拳掌功夫”] = { 110, 0, 2 }

CC.Person_S[“御剑能力”] = { 112, 0, 2 }

CC.Person_S[“耍刀技巧”] = { 114, 0, 2 }

CC.Person_S[“特殊兵器”] = { 116, 0, 2 }

CC.Person_S[“暗器技巧”] = { 118, 0, 2 }

CC.Person_S[“武学常识”] = { 120, 0, 2 }

CC.Person_S[“品德”] = { 122, 0, 2 }

CC.Person_S[“攻击带毒”] = { 124, 0, 2 }

CC.Person_S[“左右互搏”] = { 126, 0, 2 }

CC.Person_S[“声望”] = { 128, 0, 2 }

CC.Person_S[“资质”] = { 130, 0, 2 }

CC.Person_S[“修炼物品”] = { 132, 0, 2 }

CC.Person_S[“修炼点数”] = { 134, 0, 2 }

fori = 1, 10 do

CC.Person_S[“武功” .. i] = { 136 + 2 * (i - 1), 0, 2 }

CC.Person_S[“武功等级” .. i] = { 156 + 2 * (i - 1), 0, 2 }

end

fori = 1, 4 do

CC.Person_S[“携带物品” .. i] = { 176 + 2 * (i -1), 0, 2 }

CC.Person_S[“携带物品数量” .. i] = { 184 + 2 * (i - 1), 0, 2 }

end

CC.Person_S[“特殊”] = { 192, 0, 2 }

CC.Person_S["生命str"]={194,2,9}

     CC.Person_S["生命最大值str"]={203,2,9}

     CC.Person_S["内力str"]={212,2,9}

     CC.Person_S["内力最大值str"]={221,2,9}

CC.Person_S[“经验str”]={230,2,9}

红色的是修改的,绿色的是新增加的,其原理就是在lua层面定义字符串数字映射到原来的生命、内力、经验等地方,从而欺骗底层二进制的读取机制。

(三)修改up.ini中的定义。

TypeName1 =人物

TypedataItem1 = 89

data(1,0) = 1 1 2 0 0 -1 代号人物代号,仅作为标志,游戏不使用,偏移0

data(1,1) = 1 1 2 0 0 -1 头像/战斗代号人物头像代号(hdgrp)和战斗动作编号Fight***,偏移2

data(1,2) = 1 1 2 0 0 -1 生命增长升级时生命增长幅度,每升一级生命最大值增长:3*生命增长+(0-6)随机,偏移4

data(1,3) = 1 1 2 0 0 -1 无用无用,偏移6

data(1,4) = 1 1 10 1 1 -1 姓名姓名,最多4个汉字,偏移8

data(1,5)= 1 1 10 1 0 -1 外号外号,最多5个汉字,程序中似乎不用,偏移18

data(1,6) = 1 1 2 0 0 -1 性别性别,0男1女2太监,偏移28

data(1,7) = 1 1 2 0 0 -1 等级等级,最多30级,偏移30

data(1,8) = 1 1 4 0 0 -1 经验值 经验值,最高60000,偏移32

data(1,9) = 1 1 4 0 0 -1 生命 生命值,最高999,偏移34

data(1,10) = 1 1 4 0 0 -1 生命最大值 生命最大值,最高999,偏移36

data(1,11) = 1 1 2 0 0 -1 受伤程度受伤程度,最高100。过重影响医疗,不能住宿恢复生命等。医疗/吃药可减少,偏移38

data(1,12) = 1 1 2 0 0 -1 中毒程度中毒程度,中毒后战斗每回合减少生命,中毒越深减少越多。,偏移40

data(1,13) = 1 1 2 0 0 -1 体力体力,最大100,偏移42

data(1,14) = 1 1 2 0 0 -1 物品修炼点数物品修炼点数,修炼能练出物品的秘笈时使用,偏移44

data(1,15) = 1 1 2 0 0 2 武器武器物品代号,偏移46

data(1,83) = 1 1 2 0 0 2 特殊特殊物品代号,偏移182

data(1,16) = 1 1 2 0 0 2 防具防具物品代号,偏移48

data(1,17) = 1 1 2 0 0 -1 出招动画帧数 fight***中每方向动画帧数,1医疗/用毒/解毒,起始偏移50

data(1,18) = 1 1 2 0 0 -1 出招动画帧数 fight***中每方向动画帧数,2拳,起始偏移52

data(1,19) = 1 1 2 0 0 -1 出招动画帧数 fight***中每方向动画帧数,3剑,起始偏移54

data(1,20) = 1 1 2 0 0 -1 出招动画帧数 fight***中每方向动画帧数,4刀,起始偏移56

data(1,21) = 1 1 2 0 0 -1 出招动画帧数 fight***中每方向动画帧数,5特殊,起始偏移58

data(1,22) = 1 1 2 0 0 -1 出招动画延迟 1医疗/用毒/解毒出招动画延迟帧数,出招动画开始到此延迟帧数后才显示武功效果,起始偏移60

data(1,23) = 1 1 2 0 0 -1 出招动画延迟 2拳出招动画延迟帧数,出招动画开始到此延迟帧数后才显示武功效果,起始偏移62

data(1,24) = 1 1 2 0 0 -1 出招动画延迟 3剑出招动画延迟帧数,出招动画开始到此延迟帧数后才显示武功效果,起始偏移64

data(1,25) = 1 1 2 0 0 -1 出招动画延迟 4刀出招动画延迟帧数,出招动画开始到此延迟帧数后才显示武功效果,起始偏移66

data(1,26) = 1 1 2 0 0 -1 出招动画延迟 5特殊出招动画延迟帧数,出招动画开始到此延迟帧数后才显示武功效果,起始偏移68

data(1,27) = 1 1 2 0 0 -1 武功音效延迟相应的武功音效延迟帧数,出招动画开始到此延迟帧数后才播放武功音效,起始偏移70

data(1,28) = 1 1 2 0 0 -1 武功音效延迟相应的武功音效延迟帧数,出招动画开始到此延迟帧数后才播放武功音效,起始偏移72

data(1,29) = 1 1 2 0 0 -1 武功音效延迟相应的武功音效延迟帧数,出招动画开始到此延迟帧数后才播放武功音效,起始偏移74

data(1,30) = 1 1 2 0 0 -1 武功音效延迟相应的武功音效延迟帧数,出招动画开始到此延迟帧数后才播放武功音效,起始偏移76

data(1,31) = 1 1 2 0 0 -1 武功音效延迟相应的武功音效延迟帧数,出招动画开始到此延迟帧数后才播放武功音效,起始偏移78

data(1,32) = 1 1 2 0 0 -1 内力性质内力性质,0阴性、1阳性、2阴阳调和,偏移80

data(1,33) = 1 1 4 0 0 -1 内力 内力,最大999,偏移82

data(1,34) = 1 1 4 0 0 -1 内力最大值 内力最大值,最大999,偏移84

data(1,35) = 1 1 2 0 0 -1 攻击力攻击力,最大100,偏移86

data(1,36) = 1 1 2 0 0 -1 轻功轻功,最大100,偏移88

data(1,37) = 1 1 2 0 0 -1 防御力防御力,最大100,偏移90

data(1,38) = 1 1 2 0 0 -1 医疗医疗,最大100,偏移92

data(1,39) = 1 1 2 0 0 -1 用毒用毒,最大100,偏移94

data(1,40) = 1 1 2 0 0 -1 解毒解毒,最大100,偏移96

data(1,41) = 1 1 2 0 0 -1 抗毒抗毒,最大100,偏移98

data(1,42) = 1 1 2 0 0 -1 拳掌拳掌,最大100,偏移100

data(1,43) = 1 1 2 0 0 -1 御剑御剑,最大100,偏移102

data(1,44) = 1 1 2 0 0 -1 耍刀耍刀,最大100,偏移104

data(1,45) = 1 1 2 0 0 -1 特殊兵器特殊兵器,最大100,偏移106

data(1,46) = 1 1 2 0 0 -1 暗器技巧暗器技巧,最大100,偏移108

data(1,47) = 1 1 2 0 0 -1 武学常识武学常识,最大100,偏移110

data(1,48) = 1 1 2 0 0 -1 品德品德,最大100,偏移112

data(1,49) = 1 1 2 0 0 -1 攻击带毒攻击带毒,最大100,偏移114

data(1,50) = 1 1 2 0 0 -1 左右互搏左右互搏,0战斗攻击一次,1战斗攻击两次,偏移116

data(1,51) = 1 1 2 0 0 -1 声望个人声望,偏移118

data(1,52) = 1 1 2 0 0 -1 资质资质,资质越高修炼所需经验越少,偏移120

data(1,53) = 1 1 2 0 0 2 修练物品当前修练物品代号,偏移122

data(1,54) = 1 1 2 0 0 -1 修炼点数修炼点数,当前修炼点数,偏移124

data(1,55) = 1 1 2 0 0 4 所会武功1 所会武功1代号,0表示没有武功,起始偏移126

data(1,56) = 1 1 2 0 0 4 所会武功2 所会武功2代号,0表示没有武功,起始偏移128

data(1,57) = 1 1 2 0 0 4 所会武功3 所会武功3代号,0表示没有武功,起始偏移130

data(1,58) = 1 1 2 0 0 4 所会武功4 所会武功4代号,0表示没有武功,起始偏移132

data(1,59) = 1 1 2 0 0 4 所会武功5 所会武功5代号,0表示没有武功,起始偏移134

data(1,60) = 1 1 2 0 0 4 所会武功6 所会武功6代号,0表示没有武功,起始偏移136

data(1,61) = 1 1 2 0 0 4 所会武功7 所会武功7代号,0表示没有武功,起始偏移138

data(1,62) = 1 1 2 0 0 4 所会武功8 所会武功8代号,0表示没有武功,起始偏移140

data(1,63) = 1 1 2 0 0 4 所会武功9 所会武功9代号,0表示没有武功,起始偏移142

data(1,64) = 1 1 2 0 0 4 所会武功10 所会武10功代号,0表示没有武功,起始偏移144

data(1,65) = 1 1 2 0 0 -1 所会武功1等级所会武功1等级,100分一级,900点十级,起始偏移146

data(1,66) = 1 1 2 0 0 -1 所会武功2等级所会武功2等级,100分一级,900点十级,起始偏移148

data(1,67) = 1 1 2 0 0 -1 所会武功3等级所会武功3等级,100分一级,900点十级,起始偏移150

data(1,68) = 1 1 2 0 0 -1 所会武功4等级所会武功4等级,100分一级,900点十级,起始偏移152

data(1,69) = 1 1 2 0 0 -1 所会武功5等级所会武功5等级,100分一级,900点十级,起始偏移154

data(1,70) = 1 1 2 0 0 -1 所会武功6等级所会武功6等级,100分一级,900点十级,起始偏移156

data(1,71) = 1 1 2 0 0 -1 所会武功7等级所会武功7等级,100分一级,900点十级,起始偏移158

data(1,72) = 1 1 2 0 0 -1 所会武功8等级所会武功8等级,100分一级,900点十级,起始偏移160

data(1,73) = 1 1 2 0 0 -1 所会武功9等级所会武功9等级,100分一级,900点十级,起始偏移162

data(1,74) = 1 1 2 0 0 -1 所会武功10等级所会武功10等级,100分一级,900点十级,起始偏移164

data(1,75) = 1 1 2 0 0 2 携带物品1 携带物品1代号,起始偏移166

data(1,76) = 1 1 2 0 0 2 携带物品2 携带物品2代号,起始偏移168

data(1,77) = 1 1 2 0 0 2 携带物品3 携带物品3代号,起始偏移170

data(1,78) = 1 1 2 0 0 2 携带物品4 携带物品4代号,起始偏移172

data(1,79) = 1 1 2 0 0 -1 携带物品1数量携带物品1数量,起始偏移174

data(1,80) = 1 1 2 0 0 -1 携带物品2数量携带物品2数量,起始偏移176

data(1,81) = 1 1 2 0 0 -1 携带物品3数量携带物品3数量,起始偏移178

data(1,82) = 1 1 2 0 0 -1 携带物品4数量携带物品4数量,起始偏移180

data(1,84) = 1 1 91 1 -1 生命 生命值,最高999999,偏移10

data(1,85) = 1 1 9 1 1 -1 生命最大值 生命最大值,最高999999,偏移10

data(1,86) = 1 1 9 1 1 -1 内力 内力值,最高999999,偏移10

data(1,87) = 1 1 9 1 1 -1 内力最大值 内力最大值,最高999999,偏移10

data(1,88) = 1 1 9 1 1 -1 经验 ,最高999999,偏移10

这里也一样,红色的是修改的,绿色的是新增的,注意这里面的偏移数值不能改,改了会出错,应该是底层二进制的原因,修改不了。

(四)现在就可以将之前导出的Excel表格数据再导入进去(用快速导出和导入,要不然会很慢,记得点击保存。)

(五)修改jymain.lua主游戏文件中的代码,这里要修改很多,光修改生命和内存,改的少,修改经验就麻烦。

首先找到function LoadRecord(id)这个函数,然后在他前面新增增加两段代码,我用红色标出来。

(四)现在就可以将之前导出的Excel表格数据再导入进去(用快速导出和导入,要不然会很慢,记得点击保存。)

(五)修改jymain.lua主游戏文件中的代码,这里要修改很多,光修改生命和内存,改的少,修改经验就麻烦。

首先找到function LoadRecord(id)这个函数,然后在他前面新增增加两段代码,我用红色标出来。

--新增加的对生命最大值支持的两段代码

function SaveLife()

      for i = 0,JY.PersonNum-1 do

               JY.Person[i]["生命str"] = tostring(JY.Person[i]["生命"])

               JY.Person[i]["生命最大值str"] = tostring(JY.Person[i]["生命最大值"])

               JY.Person[i]["内力str"] = tostring(JY.Person[i]["内力"])

               JY.Person[i]["内力最大值str"] = tostring(JY.Person[i]["内力最大值"])

               -- 新增:经验

               JY.Person[i]["经验str"] = tostring(JY.Person[i]["经验"])

      end

end

function LoadLife()

      for i = 0,JY.PersonNum-1 do

               JY.Person[i]["生命"] = tonumber(JY.Person[i]["生命str"])

               JY.Person[i]["生命最大值"] = tonumber(JY.Person[i]["生命最大值str"])

               JY.Person[i]["内力"] = tonumber(JY.Person[i]["内力str"])

               JY.Person[i]["内力最大值"] = tonumber(JY.Person[i]["内力最大值str"])

               -- 新增:经验

               JY.Person[i]["经验"] = tonumber(JY.Person[i]["经验str"])

      end

end

function LoadRecord(id)

local t1 = lib.GetTime()

local data = Byte.create(24)

Byte.loadfile(data, CC.R_IDXFilename[0], 0, 24)

local idx = {}

idx[0] = 0

for i = 1, 6 do

idx[i] = Byte.get32(data, 4 * (i - 1))

end

JY.Data_Base = Byte.create(idx[1] - idx[0])

Byte.loadfile(JY.Data_Base, CC.R_GRPFilename[id], idx[0], idx[1] -idx[0])

local meta_t = {

__index = function(t, k)

 return GetDataFromStruct(JY.Data_Base, 0, CC.Base_S, k)

end,

__newindex = function(t, k, v)

 SetDataFromStruct(JY.Data_Base, 0, CC.Base_S, k, v)

end

}

setmetatable(JY.Base, meta_t)

JY.PersonNum = math.floor((idx[2] - idx[1]) / CC.PersonSize)

JY.Data_Person = Byte.create(CC.PersonSize * JY.PersonNum)

Byte.loadfile(JY.Data_Person, CC.R_GRPFilename[id], idx[1],CC.PersonSize * JY.PersonNum)

for i = 0, JY.PersonNum - 1 do

JY.Person[i] = {}

local meta_t = {

 __index = function(t, k)

   return GetDataFromStruct(JY.Data_Person, i * CC.PersonSize, CC.Person_S,k)

 end,

 __newindex = function(t, k, v)

   SetDataFromStruct(JY.Data_Person, i * CC.PersonSize, CC.Person_S, k, v)

 end

}

setmetatable(JY.Person[i], meta_t)

end

JY.ThingNum = math.floor((idx[3] - idx[2]) / CC.ThingSize)

JY.Data_Thing = Byte.create(CC.ThingSize * JY.ThingNum)

Byte.loadfile(JY.Data_Thing, CC.R_GRPFilename[id], idx[2], CC.ThingSize* JY.ThingNum)

for i = 0, JY.ThingNum - 1 do

JY.Thing[i] = {}

local meta_t = {

 __index = function(t, k)

   return GetDataFromStruct(JY.Data_Thing, i * CC.ThingSize, CC.Thing_S, k)

 end,

 __newindex = function(t, k, v)

   SetDataFromStruct(JY.Data_Thing, i * CC.ThingSize, CC.Thing_S, k, v)

 end

}

setmetatable(JY.Thing[i], meta_t)

end

JY.SceneNum = math.floor((idx[4] - idx[3]) / CC.SceneSize)

JY.Data_Scene = Byte.create(CC.SceneSize * JY.SceneNum)

Byte.loadfile(JY.Data_Scene, CC.R_GRPFilename[id], idx[3], CC.SceneSize* JY.SceneNum)

for i = 0, JY.SceneNum - 1 do

JY.Scene[i] = {}

local meta_t = {

 __index = function(t, k)

   return GetDataFromStruct(JY.Data_Scene, i * CC.SceneSize, CC.Scene_S, k)

 end,

 __newindex = function(t, k, v)

   SetDataFromStruct(JY.Data_Scene, i * CC.SceneSize, CC.Scene_S, k, v)

 end

}

setmetatable(JY.Scene[i], meta_t)

end

JY.WugongNum = math.floor((idx[5] - idx[4]) / CC.WugongSize)

JY.Data_Wugong = Byte.create(CC.WugongSize * JY.WugongNum)

Byte.loadfile(JY.Data_Wugong, CC.R_GRPFilename[id], idx[4],CC.WugongSize * JY.WugongNum)

for i = 0, JY.WugongNum - 1 do

JY.Wugong[i] = {}

local meta_t = {

 __index = function(t, k)

   return GetDataFromStruct(JY.Data_Wugong, i * CC.WugongSize, CC.Wugong_S,k)

 end,

 __newindex = function(t, k, v)

   SetDataFromStruct(JY.Data_Wugong, i * CC.WugongSize, CC.Wugong_S, k, v)

 end

}

setmetatable(JY.Wugong[i], meta_t)

end

JY.ShopNum = math.floor((idx[6] - idx[5]) / CC.ShopSize)

JY.Data_Shop = Byte.create(CC.ShopSize * JY.ShopNum)

Byte.loadfile(JY.Data_Shop, CC.R_GRPFilename[id], idx[5], CC.ShopSize *JY.ShopNum)

for i = 0, JY.ShopNum - 1 do

JY.Shop[i] = {}

local meta_t = {

 __index = function(t, k)

   return GetDataFromStruct(JY.Data_Shop, i * CC.ShopSize, CC.Shop_S, k)

 end,

 __newindex = function(t, k, v)

   SetDataFromStruct(JY.Data_Shop, i * CC.ShopSize, CC.Shop_S, k, v)

 end

}

setmetatable(JY.Shop[i], meta_t)

end

loadglts(id)

lib.LoadSMap(CC.S_Filename[id], CC.TempS_Filename, JY.SceneNum,CC.SWidth, CC.SHeight, CC.D_Filename[id], CC.DNum, 11)

collectgarbage()

JubenBugFix()

lib.Debug(string.format(“Loadrecord time=%d”, lib.GetTime() -t1))

LoadLife() --新增加的对生命最大值支持的代码

end

function SaveRecord(id)

SaveLife() --新增加的对生命最大值支持的代码

local t1 = lib.GetTime()

local data = Byte.create(24)

Byte.loadfile(data, CC.R_IDXFilename[0], 0, 24)

local idx = {}

idx[0] = 0

for i = 1, 6 do

idx[i] = Byte.get32(data, 4 * (i - 1))

end

os.remove(CC.R_GRPFilename[id])

os.remove(CC.S_Filename[id])

os.remove(CC.D_Filename[id])

if JY.Status == GAME_SMAP then

JY.Base[“无用”] = JY.SubScene

else

JY.Base[“无用”] = -1

end

Byte.savefile(JY.Data_Base, CC.R_GRPFilename[id], idx[0], idx[1] -idx[0])

Byte.savefile(JY.Data_Person, CC.R_GRPFilename[id], idx[1],CC.PersonSize * JY.PersonNum)

Byte.savefile(JY.Data_Thing, CC.R_GRPFilename[id], idx[2], CC.ThingSize* JY.ThingNum)

Byte.savefile(JY.Data_Scene, CC.R_GRPFilename[id], idx[3], CC.SceneSize* JY.SceneNum)

Byte.savefile(JY.Data_Wugong, CC.R_GRPFilename[id], idx[4],CC.WugongSize * JY.WugongNum)

Byte.savefile(JY.Data_Shop, CC.R_GRPFilename[id], idx[5], CC.ShopSize *JY.ShopNum)

lib.SaveSMap(CC.S_Filename[id], CC.D_Filename[id])

saveglts(id)

lib.Debug(string.format(“SaveRecord time=%d”, lib.GetTime() -t1))

end

function filelength(filename)

local inp = io.open(filename, “rb”)

local l = inp:seek(“end”)

inp:close()

return l

end

function GetS(id, x, y, level)

return lib.GetS(id, x, y, level)

end

function SetS(id, x, y, level, v)

lib.SetS(id, x, y, level, v)

end

function GetD(Sceneid, id, i)

return lib.GetD(Sceneid, id, i)

end

function SetD(Sceneid, id, i, v)

lib.SetD(Sceneid, id, i, v)

end

function GetDataFromStruct(data,offset, t_struct, key)

local t = t_struct[key]

local r

if t[2] == 0 then

r = Byte.get16(data, t[1] + offset)

elseif t[2] == 1 then

r = Byte.getu16(data, t[1] + offset)

elseif t[2]==3then --新增加的对生命最大值支持的代码

      r=Byte.get32(data,t[1]+offset);    --新增加的对生命最大值支持的代码

elseif t[2] == 2 then

if CC.SrcCharSet == 0 then

 r = lib.CharSet(Byte.getstr(data, t[1] + offset, t[3]), 0)

else

 r = Byte.getstr(data, t[1] + offset, t[3])

end

end

return r

end

function SetDataFromStruct(data,offset, t_struct, key, v)

local t = t_struct[key]

if t[2] == 0 then

Byte.set16(data, t[1] + offset, v)

elseif t[2] == 1 then

Byte.setu16(data, t[1] + offset, v)

elseif t[2]==3then --新增加的对生命最大值支持的代码

      Byte.set32(data,t[1]+offset,v);         --新增加的对生命最大值支持的代码

elseif t[2] == 2 then

local s

if CC.SrcCharSet == 0 then

 s = lib.CharSet(v, 1)

else

 s = v

end

Byte.setstr(data, t[1] + offset, t[3], s)

end

end

下面这个也要同步调整。

function CCFZB()

CC.ZCOPEN = 0

CC.JS = 0

if CC.ExpCS > 2 or CC.ExpCS < 1 then

CC.ExpCS = 1

end

CC.NUMBER = #CC.RUNSTR

for i = 0, 14 do

for j = 0, 99 do

 if CC.GLTS[i][j] == nil then

   CC.GLTS[i][j] = 0

 end

end

end

if CC.PersonAttribMax[“经验”] > 999999999 then

CC.PersonAttribMax[“经验”] =999999999

end

if 32000 < CC.PersonAttribMax[“物品修炼点数”] then

CC.PersonAttribMax[“物品修炼点数”] = 32000

end

if 30000 < CC.PersonAttribMax[“修炼点数”] then

CC.PersonAttribMax[“修炼点数”] = 30000

end

if CC.PersonAttribMax[“生命最大值”] > 999999999 then

CC.PersonAttribMax[“生命最大值”] = 999999999

end

if CC.PersonAttribMax[“受伤程度”] > 100 then

CC.PersonAttribMax[“受伤程度”] = 100

end

if 100 < CC.PersonAttribMax[“中毒程度”] then

CC.PersonAttribMax[“中毒程度”] = 100

end

if 999999999 <CC.PersonAttribMax[“内力最大值”] then

CC.PersonAttribMax[“内力最大值”] = 999999999

end

if 100 < CC.PersonAttribMax[“体力”] then

CC.PersonAttribMax[“体力”] = 100

end

if CC.PersonAttribMax[“攻击力”] > 5000 then

CC.PersonAttribMax[“攻击力”] = 5000

end

if 5000 < CC.PersonAttribMax[“防御力”] then

CC.PersonAttribMax[“防御力”] = 5000

end

if CC.PersonAttribMax[“轻功”] > 1000 then

CC.PersonAttribMax[“轻功”] = 999

end

if 1000 < CC.PersonAttribMax[“医疗能力”] then

CC.PersonAttribMax[“医疗能力”] = 999

end

if 1000 < CC.PersonAttribMax[“用毒能力”] then

CC.PersonAttribMax[“用毒能力”] = 999

end

if 1000 < CC.PersonAttribMax[“解毒能力”] then

CC.PersonAttribMax[“解毒能力”] = 999

end

if 1000 < CC.PersonAttribMax[“抗毒能力”] then

CC.PersonAttribMax[“抗毒能力”] = 100

end

if CC.PersonAttribMax[“拳掌功夫”] > 5000 then

CC.PersonAttribMax[“拳掌功夫”] = 5000

end

if 5000 < CC.PersonAttribMax[“御剑能力”] then

CC.PersonAttribMax[“御剑能力”] = 5000

end

if 5000 < CC.PersonAttribMax[“耍刀技巧”] then

CC.PersonAttribMax[“耍刀技巧”] = 5000

end

if 5000 < CC.PersonAttribMax[“特殊兵器”] then

CC.PersonAttribMax[“特殊兵器”] = 5000

end

if 3000 < CC.PersonAttribMax[“暗器技巧”] then

CC.PersonAttribMax[“暗器技巧”] = 5000

end

if 800 < CC.PersonAttribMax[“武学常识”] then

CC.PersonAttribMax[“武学常识”] = 800

      end

if 100 < CC.PersonAttribMax[“品德”] then

CC.PersonAttribMax[“品德”] = 100

end

if 100 < CC.PersonAttribMax[“资质”] then

CC.PersonAttribMax[“资质”] = 100

end

if 100 < CC.PersonAttribMax[“攻击带毒”] then

CC.PersonAttribMax[“攻击带毒”] = 200

end

CC.MAXSX[1] = CC.PersonAttribMax[“生命最大值”]

CC.MAXSX[2] = CC.PersonAttribMax[“内力最大值”]

CC.MAXSX[3] = CC.PersonAttribMax[“攻击力”]

CC.MAXSX[4] = CC.PersonAttribMax[“防御力”]

CC.MAXSX[5] = CC.PersonAttribMax[“拳掌功夫”]

CC.MAXSX[6] = CC.PersonAttribMax[“御剑能力”]

CC.MAXSX[7] = CC.PersonAttribMax[“耍刀技巧”]

CC.MAXSX[8] = CC.PersonAttribMax[“特殊兵器”]

if CONFIG.Operation == 1 then

VK_SPACE = VK_RETURN

end

CC.FK = 1

CC.FKUP = 1

CC.RB = 1

for i = 1, #CC.YXND do

for k = 1, 4 do

 if CC.YXND[i][k] < 0.5 then

   CC.YXND[i][k] = 0.5

 elseif 2 < CC.YXND[i][k] then

   CC.YXND[i][k] = 2

 end

end

end

if CC.TeamWarNum > 12 then

CC.TeamWarNum = 12

elseif 6 > CC.TeamWarNum then

CC.TeamWarNum = 6

end

for i = 1, 7 do

if CC.ZZADD[i] > 10 then

 CC.ZZADD[i] = 10

end

if 10 < CC.QGADD[i] then

 CC.QGADD[i] = 10

end

if 10 < CC.TSZZADD[i] then

 CC.TSZZADD[i] = 10

end

if 10 < CC.TSQGADD[i] then

 CC.TSQGADD[i] = 10

end

if 20 < CC.UPADD[i] then

 CC.UPADD[i] = 20

end

if 20 < CC.TSUPADD[i] then

 CC.TSUPADD[i] = 20

end

end

if CC.YXNDA == 0 then

elseif CC.YXNDA == 1 then

elseif CC.YXNDA == 2 then

end

if 10 > CC.SXYQ then

CC.SXYQ = 10

end

if 10 > CC.YXBQZ then

CC.YXBQZ = 10

end

if 10 < CC.DUDX then

CC.DUDX = 10

end

CC.MSSX = 100

end

在yjconst里面或者newconst里面对生命、内力最大的设置同步调整。应该是newconst里面调整

                         --人物属性最大值,部份数值修改过大会报错,谨慎修改!

                           CC.PersonAttribMax["经验"]=99999999;

                           CC.PersonAttribMax["物品修炼点数"]=30000;

                           CC.PersonAttribMax["修炼点数"]=30000;

                           CC.PersonAttribMax["生命最大值"]=99999999;

                           CC.PersonAttribMax["受伤程度"]=100;

                           CC.PersonAttribMax["中毒程度"]=100;

                           CC.PersonAttribMax["内力最大值"]=99999999;

                           CC.PersonAttribMax["体力"]=100;

                           CC.PersonAttribMax["攻击力"]=3000;

                           CC.PersonAttribMax["防御力"]=3000;

                           CC.PersonAttribMax["轻功"]=999;

                           CC.PersonAttribMax["医疗能力"]=999;

                           CC.PersonAttribMax["用毒能力"]=400;

                           CC.PersonAttribMax["解毒能力"]=300;

                           CC.PersonAttribMax["抗毒能力"]=100;

                           CC.PersonAttribMax["拳掌功夫"]=3000;

                           CC.PersonAttribMax["御剑能力"]=3000;

                           CC.PersonAttribMax["耍刀技巧"]=3000;

                           CC.PersonAttribMax["特殊兵器"]=3000;

                           CC.PersonAttribMax["暗器技巧"]=2000;

                           CC.PersonAttribMax["武学常识"]=200;

                           CC.PersonAttribMax["品德"]=100;

                           CC.PersonAttribMax["资质"]=100;

                           CC.PersonAttribMax["攻击带毒"]=200;

                           CC.PersonAttribMax["生命丹药"]=3000;

                           CC.PersonAttribMax["内力丹药"]=3000;

2.找到1万多行的function X50ZL16(id1, id2, id3, id4, id5, id6, id7)和function X50ZL17(id1, id2,id3, id4, id5, id6, id7)这两个函数里面的代码,不知道是干什么玩意用的,看不懂,不过没有关系,按照之前jyconst.lua的人物数值设置和下面标红的那些数值对应上就行。记得两段都要改。

function X50ZL16(id1, id2, id3, id4, id5, id6, id7)

id2 = id2 % 256

id2 = id2 % 16

id2 = id2 % 8

local strbl, idbl1, idbl2, idbl3

elseif idbl2 == 28 then

  strbl = "性别"

elseif idbl2 == 30 then

  strbl = "等级"

elseif idbl2 == 32 then

  strbl = "经验"

elseif idbl2 == 36then

  strbl = "生命"

elseif idbl2 == 40 then

  strbl = "生命最大值"

elseif idbl2 == 44 then

  strbl = "受伤程度"

elseif idbl2 == 46 then

  strbl = "中毒程度"

elseif idbl2 == 48 then

  strbl = "体力"

elseif idbl2 == 50 then

  strbl = "物品修炼点数"

elseif idbl2 == 52 then

  strbl = "武器"

elseif idbl2 == 54 then

  strbl = "防具"

elseif idbl2 == 86 then

  strbl = "内力性质"

elseif idbl2 == 88 then

  strbl = "内力"

elseif idbl2 == 92 then

  strbl = "内力最大值"

elseif idbl2 == 96 then

  strbl = "攻击力"

elseif idbl2 == 98 then

  strbl = "轻功"

elseif idbl2 == 100 then

  strbl = "防御力"

elseif idbl2 == 102 then

  strbl = "医疗能力"

elseif idbl2 == 104 then

  strbl = "用毒能力"

elseif idbl2 == 106 then

  strbl = "解毒能力"

elseif idbl2 == 108 then

  strbl = "抗毒能力"

elseif idbl2 == 110 then

  strbl = "拳掌功夫"

elseif idbl2 == 112 then

  strbl = "御剑能力"

elseif idbl2 == 114 then

  strbl = "耍刀技巧"

elseif idbl2 == 116 then

  strbl = "特殊兵器"

elseif idbl2 == 118 then

  strbl = "暗器技巧"

elseif idbl2 == 120 then

  strbl = "武学常识"

elseif idbl2 == 122 then

  strbl = "品德"

elseif idbl2 == 124 then

  strbl = "攻击带毒"

elseif idbl2 == 126 then

  strbl = "左右互搏"

elseif idbl2 == 128 then

  strbl = "声望"

elseif idbl2 == 130 then

  strbl = "资质"

elseif idbl2 == 132 then

  strbl = "修炼物品"

elseif idbl2 == 134 then

  strbl = "修炼点数"

elseif idbl2 == 136 then

  strbl = "武功1"

elseif idbl2 == 138 then

  strbl = "武功2"

elseif idbl2 == 140 then

  strbl = "武功3"

elseif idbl2 == 142 then

  strbl = "武功4"

elseif idbl2 == 144 then

  strbl = "武功5"

elseif idbl2 == 146 then

  strbl = "武功6"

elseif idbl2 == 148 then

  strbl = "武功7"

elseif idbl2 == 150 then

  strbl = "武功8"

elseif idbl2 == 152 then

  strbl = "武功9"

elseif idbl2 == 154 then

  strbl = "武功10"

elseif idbl2 == 156 then

  strbl = "武功等级1"

elseif idbl2 == 158 then

  strbl = "武功等级2"

elseif idbl2 == 160 then

  strbl = "武功等级3"

elseif idbl2 == 162 then

  strbl = "武功等级4"

elseif idbl2 == 164 then

  strbl = "武功等级5"

elseif idbl2 == 166 then

  strbl = "武功等级6"

elseif idbl2 == 168 then

  strbl = "武功等级7"

elseif idbl2 == 170 then

  strbl = "武功等级8"

elseif idbl2 == 172 then

  strbl = "武功等级9"

elseif idbl2 == 174 then

  strbl = "武功等级10"

elseif idbl2 == 176 then

  strbl = "携带物品1"

elseif idbl2 == 178 then

  strbl = "携带物品2"

elseif idbl2 == 180 then

  strbl = "携带物品3"

elseif idbl2 == 182 then

  strbl = "携带物品4"

elseif idbl2 == 184 then

  strbl = "携带物品数量1"

elseif idbl2 == 186 then

  strbl = "携带物品数量2"

elseif idbl2 == 188 then

  strbl = "携带物品数量3"

elseif idbl2 == 190 then

  strbl = "携带物品数量4"

elseif idbl2 == 192 then

  strbl = "特殊"        

end

elseif id3 == 1 then

if idbl2 == 0 then

  strbl = "代号"

elseif idbl2 == 2 then

  strbl = "名称"

elseif idbl2 == 22 then

  strbl = "名称2"

elseif idbl2 == 42 then

  strbl = "物品说明"

elseif idbl2 == 72 then

  strbl = "练出武功"

代码太长,中间是删除了

JY.Wugong[idbl1][strbl] =idbl3

end

end

function X50ZL17(id1, id2, id3, id4, id5, id6, id7)

id2 = id2 % 256

id2 = id2 % 16

id2 = id2 % 8

id2 = id2 % 4

local strbl, idbl1, idbl2

if id2 == 0 then

idbl1 = id4

idbl2 = id5

elseif id2 == 1 then

idbl1 = X50[id4]

idbl2 = id5



elseif idbl2 == 6 then

  strbl = "无用"

elseif idbl2 == 8 then

  strbl = "姓名"

elseif idbl2 == 18 then

  strbl = "外号"

elseif idbl2 == 28 then

  strbl = "性别"

elseif idbl2 == 30 then

  strbl = "等级"

elseif idbl2 == 32then

  strbl = "经验"

elseif idbl2 == 36 then

  strbl = "生命"

elseif idbl2 == 40 then

  strbl = "生命最大值"

elseif idbl2 == 44 then

  strbl = "受伤程度"

elseif idbl2 == 46 then

  strbl = "中毒程度"

elseif idbl2 == 48 then

  strbl = "体力"

elseif idbl2 == 50 then

  strbl = "物品修炼点数"

elseif idbl2 == 52 then

  strbl = "武器"

elseif idbl2 == 54 then

  strbl = "防具"

elseif idbl2 == 86 then

  strbl = "内力性质"

elseif idbl2 == 88 then

  strbl = "内力"

elseif idbl2 == 92 then

  strbl = "内力最大值"

elseif idbl2 == 96 then

  strbl = "攻击力"

elseif idbl2 == 98 then

  strbl = "轻功"

elseif idbl2 == 100 then

  strbl = "防御力"

elseif idbl2 == 102 then

  strbl = "医疗能力"

elseif idbl2 == 104 then

  strbl = "用毒能力"

elseif idbl2 == 106 then

  strbl = "解毒能力"

elseif idbl2 == 108 then

  strbl = "抗毒能力"

elseif idbl2 == 110 then

  strbl = "拳掌功夫"

elseif idbl2 == 112 then

  strbl = "御剑能力"

elseif idbl2 == 114 then

  strbl = "耍刀技巧"

elseif idbl2 == 116 then

  strbl = "特殊兵器"

elseif idbl2 == 118 then

  strbl = "暗器技巧"

elseif idbl2 == 120 then

  strbl = "武学常识"

elseif idbl2 == 122 then

  strbl = "品德"

elseif idbl2 == 124 then

  strbl = "攻击带毒"

elseif idbl2 == 126 then

  strbl = "左右互搏"

elseif idbl2 == 128 then

  strbl = "声望"

elseif idbl2 == 130 then

  strbl = "资质"

elseif idbl2 == 132 then

  strbl = "修炼物品"

elseif idbl2 == 134 then

  strbl = "修炼点数"

elseif idbl2 == 136 then

  strbl = "武功1"

elseif idbl2 == 138 then

  strbl = "武功2"

elseif idbl2 == 140 then

  strbl = "武功3"

elseif idbl2 == 142 then

  strbl = "武功4"

elseif idbl2 == 144 then

  strbl = "武功5"

elseif idbl2 == 146 then

  strbl = "武功6"

elseif idbl2 == 148 then

  strbl = "武功7"

elseif idbl2 == 150 then

  strbl = "武功8"

elseif idbl2 == 152 then

  strbl = "武功9"

elseif idbl2 == 154 then

  strbl = "武功10"

elseif idbl2 == 156 then

  strbl = "武功等级1"

elseif idbl2 == 158 then

  strbl = "武功等级2"

elseif idbl2 == 160 then

  strbl = "武功等级3"

elseif idbl2 == 162 then

  strbl = "武功等级4"

elseif idbl2 == 164 then

  strbl = "武功等级5"

elseif idbl2 == 166 then

  strbl = "武功等级6"

elseif idbl2 == 168 then

  strbl = "武功等级7"

elseif idbl2 == 170 then

  strbl = "武功等级8"

elseif idbl2 == 172 then

  strbl = "武功等级9"

elseif idbl2 == 174 then

  strbl = "武功等级10"

elseif idbl2 == 176 then

  strbl = "携带物品1"

elseif idbl2 == 178 then

  strbl = "携带物品2"

elseif idbl2 == 180 then

  strbl = "携带物品3"

elseif idbl2 == 182 then

  strbl = "携带物品4"

elseif idbl2 == 184 then

  strbl = "携带物品数量1"

elseif idbl2 == 186 then

  strbl = "携带物品数量2"

elseif idbl2 == 188 then

  strbl = "携带物品数量3"

elseif idbl2 == 190 then

  strbl = "携带物品数量4"

elseif idbl2 == 192 then

  strbl = "特殊"        

end

elseif id3 == 1 then

if idbl2 == 0 then

  strbl = "代号"

elseif idbl2 == 2 then

  strbl = "名称"



X50[id6] =JY.Scene[idbl1][strbl]

elseif id3 == 3 then

X50[id6] =JY.Wugong[idbl1][strbl]

end

end

到这里就可以进入游戏运行了,生命和内力都可以顺利拓展的999999999了9个9.但是进入游戏开奖战斗动画会出错,不着急,打开upedit。找到事件修改,这里的开局事件是691。

这里的赋值也要修改的和jyconst.lua中的人物定义一致才行,要不然也会出错。我用红色标出来。

事件:691
[14]:场景从明亮渐变为暗淡 [66]:播放音乐25 [0]:空指令(清屏) [13]:场景重新显示 [0]:空指令(清屏) [19]:主角移动至40-48 [0]:空指令(清屏) [27]:显示主角动画(图1,图2,图3) [0]:空指令(清屏) [1]:[0徐小俠]:哎我了?去!什么情?啊?是? [0]:空指令(清屏) [27]:显示主角动画(图1,图2,图3) [0]:空指令(清屏) [1]:[0徐小俠]:?是哪儿啊?我?得我在改游???!?屁的越渴越吃?,每次都是要存?的?候死机! [0]:空指令(清屏) [30]:主角走动40-48–46-55 [0]:空指令(清屏) [1]:[0徐小俠]:?次倒是?死机了?尼??是什么鬼地方啊?要是出不去可就完蛋了! [0]:空指令(清屏) [30]:主角走动46-55–40-48 [0]:空指令(清屏) [1]:[0徐小俠]:救命啊有人?有啊~ [0]:空指令(清屏) [40]:主角站立方向0 [0]:空指令(清屏) [1]:[0徐小俠]:有喘气儿的?有啊?奶奶?腿儿的!有?有人好歹吱一?儿好不啦? [0]:空指令(清屏) [40]:主角站立方向3 [0]:空指令(清屏) [1]:[60歐陽鋒]:吱~ [0]:空指令(清屏) [1]:[0徐小俠]:?草?啊?是人是鬼?你妹的真TMD吱一?就?气儿了啊?死?了?? [0]:空指令(清屏) [40]:主角站立方向1 [0]:空指令(清屏) [1]:[60歐陽鋒]:小砸!敢?么和我西毒???的已?很多年?遇??了! [0]:空指令(清屏) [1]:[62金輪法王]:峰兄,?小子怎么看?那么像?常?代??排我?的那?? [0]:空指令(清屏) [1]:[67裘千仞]:??!就是?小子! [0]:空指令(清屏) [1]:[51慕容復]:哈哈哈哈,得?全不?工夫啊! [0]:空指令(清屏) [1]:[18成崑]:各位,今?不比往日,?小?落到我?的手里,我?可要?一?平日里所有的冤屈了! [0]:空指令(清屏) [40]:主角站立方向2 [0]:空指令(清屏) [1]:[0徐小俠]:?~呵呵。。各位英雄,你?有何冤屈不妨与我??一番啊,大不了我以后?你???好?的?宿如何?冤冤相?何?了啊,不是么? [0]:空指令(清屏) [1]:[46丁春秋]:桀桀桀桀!小?,到?在?想逞那些口舌之便么? [0]:空指令(清屏) [1]:[27東方不敗]:自古?云出我?,一入江湖?月催,皇?霸??笑中,不胜人生一?醉,小子,我要你??弟?命!! [0]:空指令(清屏) [1]:[0徐小俠]:大家?心,?小?平日里作威作福,想必是有?人的本事! [0]:空指令(清屏) [1]:[97血刀老祖]:想?初?小?各种?排于我等,今天?不能??了他! [0]:空指令(清屏) [1]:[0徐小俠]:奶奶?熊!老虎不??你?我是病危啊?拼了! [0]:空指令(清屏) [50]:变量赋值[x101]=0 [50]:变量赋值[x102]=0 [50]:变量赋值[x103]=0 [50]:变量赋值[x104]=0 [50]:变量赋值[x105]=0 [50]:变量赋值[x106]=0 [50]:变量赋值[x107]=0 [50]:变量赋值[x108]=0 [50]:变量赋值[x109]=0 [50]:变量赋值[x110]=0 [50]:变量赋值[x111]=0 [50]:变量赋值[x112]=0 [50]:变量赋值[x113]=0 [50]:变量赋值[x114]=0 [50]:变量赋值[x115]=0 [50]:变量赋值[x116]=0 [50]:变量赋值[x117]=0 [50]:变量赋值[x118]=0 [50]:变量赋值[x119]=0 [0]:空指令(清屏) [50]:读取属性人物[X201]=[0徐小俠]属性偏移40 [50]:读取属性 人物[X202]=[0徐小俠属性偏移92
[50]:读取属性 人物[X203]=[0徐小俠属性偏移96
[50]:读取属性 人物[X204]=[0徐小俠属性偏移98
[50]:读取属性 人物[X205]=[0徐小俠属性偏移100
[50]:读取属性 人物[X206]=[0徐小俠属性偏移110
[50]:读取属性 人物[X207]=[0徐小俠属性偏移112
[50]:读取属性 人物[X208]=[0徐小俠属性偏移114
[50]:读取属性 人物[X209]=[0徐小俠属性偏移116
[50]:读取属性 人物[X210]=[0徐小俠属性偏移36
[50]:读取属性 人物[X211]=[0徐小俠属性偏移44
[50]:读取属性 人物[X212]=[0徐小俠属性偏移46
[50]:读取属性 人物[X213]=[0徐小俠属性偏移88
[50]:读取属性 人物[X214]=[0徐小俠属性偏移102
[50]:读取属性 人物[X215]=[0徐小俠属性偏移104
[50]:读取属性 人物[X216]=[0徐小俠属性偏移106
[50]:读取属性 人物[X217]=[0徐小俠属性偏移118
[50]:读取属性 人物[X218]=[0徐小俠属性偏移32
[50]:读取属性 人物[X219]=[0徐小俠属性偏移30
[0]:空指令(清屏) [50]:四则运算 [X101]=[X101]+[X201] [50]:四则运算 [X102]=[X102]+[X202] [50]:四则运算 [X103]=[X103]+[X203] [50]:四则运算 [X104]=[X104]+[X204] [50]:四则运算 [X105]=[X105]+[X205] [50]:四则运算 [X106]=[X106]+[X206] [50]:四则运算 [X107]=[X107]+[X207] [50]:四则运算 [X108]=[X108]+[X208] [50]:四则运算 [X109]=[X109]+[X209] [50]:四则运算 [X110]=[X110]+[X210] [50]:四则运算 [X111]=[X111]+[X211] [50]:四则运算 [X112]=[X112]+[X212] [50]:四则运算 [X113]=[X113]+[X213] [50]:四则运算 [X114]=[X114]+[X214] [50]:四则运算 [X115]=[X115]+[X215] [50]:四则运算 [X116]=[X116]+[X216] [50]:四则运算 [X117]=[X117]+[X217] [50]:四则运算 [X118]=[X118]+[X218] [50]:四则运算 [X119]=[X119]+[X219] [0]:空指令(清屏) [0]:空指令(清屏) [50]:保存属性人物[0徐小俠]属性偏移100=3000 [50]:保存属性 人物[0徐小俠属性偏移120=200
[50]:保存属性 人物[0徐小俠属性偏移110=3000
[50]:保存属性 人物[0徐小俠属性偏移112=3000
[50]:保存属性 人物[0徐小俠属性偏移114=3000
[50]:保存属性 人物[0徐小俠属性偏移116=3000
[50]:保存属性 人物[0徐小俠属性偏移102=999
[0]:空指令(清屏)
[50]:保存属性 人物[0徐小俠属性偏移136=174
[50]:保存属性 人物[0徐小俠属性偏移156=900
[50]:保存属性 人物[0徐小俠属性偏移126=1
[0]:空指令(清屏) [45]:[0徐小俠]增加轻功900 [0]:空指令(清屏) [46]:[0徐小俠]增加内力9999 [0]:空指令(清屏) [47]:[0徐小俠]增加武功3000 [0]:空指令(清屏) [48]:[0徐小俠]增加生命9999 [0]:空指令(清屏) [6]:战斗[444開局] 胜则跳转Label0;Label0
[1]:[0徐小俠]:啊
?特么不科?! [0]:空指令(清屏) [1]:[5張三豐]:奸人敢?! [0]:空指令(清屏) [1]:[748心魔]:?拳??四手,你?于耗??力,?力而陷入昏迷之中! [0]:空指令(清屏) [1]:[748心魔]:就在??,一?以武??三丰,少林玄慈?首的?士赶到,??昏迷的你?出了重?.. [0]:空指令(清屏) [1]:[748心魔]:?了避免你再次遭到??人毒手,大家商??你安?在武林之家,由南?、北丑?位前???照看你??,然而… [0]:空指令(清屏) [1]:[748心魔]:你由于???重,?一昏迷,就是一十六年,十六年后的一?早上你?于醒?了… [0]:空指令(清屏) [14]:场景从明亮渐变为暗淡 [0]:空指令(清屏) [50]:保存属性人物[0徐小俠]属性偏移40=[X101] [50]:保存属性 人物[0徐小俠属性偏移92=[X102]
[50]:保存属性 人物[0徐小俠属性偏移96=[X103]
[50]:保存属性 人物[0徐小俠属性偏移98=[X104]
[50]:保存属性 人物[0徐小俠属性偏移100=[X105]
[50]:保存属性 人物[0徐小俠属性偏移110=[X106]
[50]:保存属性 人物[0徐小俠属性偏移112=[X107]
[50]:保存属性 人物[0徐小俠属性偏移114=[X108]
[50]:保存属性 人物[0徐小俠属性偏移116=[X109]
[50]:保存属性 人物[0徐小俠属性偏移36=[X110]
[50]:保存属性 人物[0徐小俠属性偏移44=[X111]
[50]:保存属性 人物[0徐小俠属性偏移46=[X112]
[50]:保存属性 人物[0徐小俠属性偏移88=[X113]
[50]:保存属性 人物[0徐小俠属性偏移102=[X114]
[50]:保存属性 人物[0徐小俠属性偏移104=[X115]
[50]:保存属性 人物[0徐小俠属性偏移106=[X116]
[50]:保存属性 人物[0徐小俠属性偏移118=[X117]
[50]:保存属性 人物[0徐小俠属性偏移32=[X118]
[50]:保存属性 人物[0徐小俠属性偏移30=[X119]
[0]:空指令(清屏)
[50]:保存属性 人物[0徐小俠属性偏移120=0
[50]:保存属性 人物[0徐小俠属性偏移136=0
[50]:保存属性 人物[0徐小俠属性偏移156=0
[50]:保存属性 人物[0徐小俠属性偏移126=0
[0]:空指令(清屏) [66]:播放音乐2 [3]:修改事件定义:当前场景场景事件编号[0] [19]:主角移动至16-31 [40]:主角站立方向2 [0]:空指令(清屏) [13]:场景重新显示 [1]:[0徐小俠]:?好?,怎么一下子?到小村了??不是游?里的?景么?我?是昏迷了多久啊!赶快去看看南?在不在! [0]:空指令(清屏) [30]:主角走动16-31–9-31 [1]:[255番僧]:年輕人,你來啦。 [0]:空指令(清屏) [1]:[0徐小俠]:哈哈,果然是蒼龍逐日的世界,南賢出場就是這句臺詞! [0]:空指令(清屏) [1]:[255番僧]:年輕人不要大意,雖然這游戲表面還是蒼龍逐日,但是作者也用了點心思,變化還是很大的 [0]:空指令(清屏) [1]:[0徐小俠]:好吧,我說賢者啊,咱們接下來快點進入正題吧,這個世界的主題是什么? [0]:空指令(清屏) [1]:[255番僧]:年輕人要好好學習,在我介紹這個世界之前,老規矩,你先把北丑叫過來 [0]:空指令(清屏) [30]:主角走动9-31–13-31 [30]:主角走动13-31–13-21 [30]:主角走动13-21–8-21 [1]:[0徐小俠]:丑叔~ [0]:空指令(清屏) [1]:[256番僧]:呼嚕…… [0]:空指令(清屏) [1]:[0徐小俠]:不要裝睡了,我知道你醒著 [0]:空指令(清屏) [1]:[256番僧]:呼嚕…… [0]:空指令(清屏) [1]:[0徐小俠]:(提高音量)丑——————!!!!! [0]:空指令(清屏) [1]:[256番僧]:哇哇哇哇哇,叫什么叫你這死小子! [0]:空指令(清屏) [1]:[0徐小俠]:不對啊,你不是這句臺詞兒啊,丑叔快起來,到了咱們開作戰會議的時候了 [0]:空指令(清屏) [1]:[256番僧]:這一天終于來了…… [0]:空指令(清屏) [1]:[0徐小俠]:怎么了?突然這么深沉? [0]:空指令(清屏) [1]:[256番僧]:走,去你房間。 [0]:空指令(清屏) [14]:场景从明亮渐变为暗淡 [3]:修改事件定义:当前场景场景事件编号[62] [3]:修改事件定义:当前场景场景事件编号[4] [19]:主角移动至9-31 [40]:主角站立方向2 [0]:空指令(清屏) [13]:场景重新显示 [1]:[256番僧]:師兄,今天就讓他去嗎? [0]:空指令(清屏) [1]:[255番僧]:是的,他到這里剛好十六年了,今天就是命咧?铡?/p] [0]:空指令(清屏) [1]:[0徐小俠]:拜托快進入正題,我在這個世界的主要任務是什么,怎么樣我才能回到原來的世界? [0]:空指令(清屏) [1]:[255番僧]:年輕人,你好。 [0]:空指令(清屏) [1]:[0徐小俠]:我要撞墻… [0]:空指令(清屏) [1]:[255番僧]:你知道這是哪里嗎? [0]:空指令(清屏) [1]:[0徐小俠]:廢話,蒼龍我都玩了十幾遍了!這不就是小村嘛! [0]:空指令(清屏) [1]:[256番僧]:錯了,這里叫做武林之家 [0]:空指令(清屏) [1]:[0徐小俠]:哇靠,怎么改名了 [0]:空指令(清屏) [1]:[255番僧]:這就是作者的用心之處了,為了這個名字,作者可是殫精竭慮,茶飯不思,冥思苦想… [0]:空指令(清屏) [1]:[0徐小俠]:最后起了這么個破名字還有臉說呢 [0]:空指令(清屏) [1]:[255番僧]:咳咳,接下來咱們真的進入正題了,這個世界是以蒼龍逐日為原版改造的,你的目的就是收齊十四部天書! [0]:空指令(清屏) [1]:[0徐小俠]:十四天書?每一個mod都要找十四天書,有沒有點新意啊魂淡. [0]:空指令(清屏) [1]:[256番僧]:你想現在就變成失蹤人口嗎大俠,得罪作者小心下一個補丁把你打成廢人啊我說 [0]:空指令(清屏) [1]:[0徐小俠]:好吧好吧,咱們繼續,找齊十四天書之后怎么辦呢 [0]:空指令(清屏) [1]:[255番僧]:找齊十四天書后去華山論劍,然后坐船去海外… [0]:空指令(清屏) [1]:[0徐小俠]:在釣魚臺打日本人是吧,猿飛佐助,上杉謙信,織田信長木村拓哉什么的是吧 [0]:空指令(清屏) [1]:[256番僧]:錯,大錯而特錯。 [0]:空指令(清屏) [1]:[0徐小俠]:咦?那接下來該怎么辦 [0]:空指令(清屏) [1]:[256番僧]:因為作者想做一個原汁原味得金庸群俠傳,所以不用再打日本人了,你最后要去海外的武神無極殿,挑戰無上武道 [0]:空指令(清屏) [1]:[0徐小俠]:好吧,聽起來還比較新鮮,下一個步驟,給我雙兒,給*我銀兩,給我介紹信 [0]:空指令(清屏) [1]:[255番僧]:你真是個猴急的玩家啊,好吧,還要給你一樣拜師令,用拜師令你可以拜入一個門派門下,目前只開放了一部分門派,你去找傳功弟子就行了 [0]:空指令(清屏) [1]:[0徐小俠]:哦,那我就去試試看 [0]:空指令(清屏) [1]:[255番僧]:先給你美女 [0]:空指令(清屏) [14]:场景从明亮渐变为暗淡 [3]:修改事件定义:当前场景场景事件编号[2] [0]:空指令(清屏) [13]:场景重新显示 [1]:[261星宿門人]:公子好,我叫雙兒。 [0]:空指令(清屏) [1]:[0徐小俠]:呵呵……雙兒姑娘……你好…… [0]:空指令(清屏) [1]:[261星宿門人]:今后就由我來照顧公子的起居。 [0]:空指令(清屏) [1]:[255番僧]:剩下的一起給你 [0]:空指令(清屏) [2]:得到物品[182羅盤]1个 [0]:空指令(清屏) [2]:得到物品[174銀兩]400个 [0]:空指令(清屏) [2]:得到物品[234介紹信]1个 [0]:空指令(清屏) [2]:得到物品[465拜師禮]1个 [0]:空指令(清屏) [1]:[255番僧]:少俠,快去尋找天書吧,找齊之后一起來解決武林浩劫啊~ [0]:空指令(清屏) [1]:[0徐小俠]:解決你妹啊…這浩劫就是你們搞出來的吧 [0]:空指令(清屏) [1]:[256番僧]:最后提醒你一句,?然你已?昏迷十六年了,但是?都不敢保?那些邪派高手是不是??得你,所以你要?慎行事,切?!切?! [0]:空指令(清屏) [14]:场景从明亮渐变为暗淡 [3]:修改事件定义:当前场景场景事件编号[4] [3]:修改事件定义:当前场景场景事件编号[3] [3]:修改事件定义:当前场景场景事件编号[61] [3]:修改事件定义:当前场景场景事件编号[62] [0]:空指令(清屏) [13]:场景重新显示 [-1]:事件结束

到这里,整个生命和内力突破就应该没有问题了,有问题我也没有办法,我也没有学过代码,全都是问AI才弄出来的,前后用了快一年时间,中间一度放弃,幸好给弄出来了。
下面进行经验数值突破的教学,因为经验关联的数据多,麻烦,但是有AI在,我用了两到三天也搞定了。为啥想把经验改大那,是我想把游戏人物的等级调到999级去,哈哈,直接开始。

首先定义经验表,一开始在jyconst里面定义了,但是不行,错误了好多次。最后定义到jymain.lua里面,直接上代码,红色的就是新增的,绿色的是由于不知道是哪里出错,问AI给的读取看游戏到底读的哪里的经验表,不用管它。

一般来说将整型扩展到32位即可

6666666666666