查看: 286|回复: 0

天龙网单|详细修改和分析

[复制链接]
  • TA的每日心情
    擦汗
    2024-10-8 12:00
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    253

    主题

    5

    回帖

    1153

    积分

    管理员

    积分
    1153
    发表于 2024-7-2 18:54:28 | 显示全部楼层 |阅读模式
    所谓修改,就是对原设置不称心,所以我的东西就不放上来了,我讲一点修改方法。
    看到有朋友说修改后不能进游戏了,我想说,请修改前一定要备份!然后在仔细看文件里的中文说明,实在不懂的情况下,请只修改一个文件,然后就打开服务器进行试验,这样很麻烦,但是可以很准确的知道哪个文件没有改对。/home/tlbb/Server/Config文件夹
    ConfigInfo.ini,这个大家应该都很了解了,里面主要内容有:全局掉落,全局经验,掉落包回收时间(个人觉得逍遥的太短了,捡东西时间不够用,单位毫秒),角色移动速度(我改成12000,跑步前进不要座骑),精力活力恢复时间间隔(单位毫秒),帮会响应人数改为1可以单人建帮,建城金钱可以改为1就是1铜(原为10000000就是1000金),另外还有很多内容,像物品卖入商店所得金钱设置,我觉得没必要改就没列了。
    DarkConfigTable.ini,暗器品阶设置,三段分别是默认暗器,低级暗器,高级暗器的品阶设置,暗器品阶分为五种,和宠物成长一样的,GrowRate0为最差的普通,GrowRate4为最好的完美,五种品阶出现机率总和必须为1000,不然服务器会报错。
    DefaultChar.ini,游戏角色初始属性,这里一般不改,有的改成创建人物为10级,直接就可以入门派了,我是把人物初始技能删掉了9个,然后用那9封信去学的各门派代表技能。
    DropBoxContent.txt和MonsterDropBoxs.txt,掉落设置,关于这个不推荐新手去改,天龙这个游戏的掉落设置是,首先设定一个表,里面是掉落包设定,哪个包表示有哪些物品可能掉落,然后在怪物掉落设定的时候直接就用掉落包表示,而不是直接设定怪物掉落那种物品,有点复杂。
    DropAttenuation.txt和ExpAttenuation.txt,这两个是掉落收获和经验收获修正参数,主要是体现等级差(等级差还有一个表是设定命中的),表的意思很简单,第一列是角色和怪物的等级差,第二列就是收益百分比了。
    ItemSegAffect.txt,装备品质设置,就是装备有几颗星,这里给个传送:zengerowen的装备星级修改
    PetConfigTable.ini,宠物全局设置,这个对宠物的设置相当多,里面有很多中文说明,修改时需要注意的是总值必需为1000这类说明,改之前备份是一定要有的,改的时候也要注意看说明。
    PetDieLoss.txt,宠物死亡后的快乐损失,可以改小一点,那就可以随便死啦。
    PetExpAttenuation.txt,宠物经验获得修正参数,这个和前面两个角色的表类似。
    PetSkillIndexTable.txt,宠物天生可能会的技能表。
    PetStudySkllTable.txt,宠物学技能,这个逍遥改好了十二技能。
    PunishByLevel.txt,角色死亡损失。
    PvpRuler.txt,各种PK设定,说明很详细。
    Questions.txt,问题库,科举,城市科技任务什么的,都是这里面抽题。
    ShimenLevelMoneyBonusTable.txt和ShimenRoundMultipleTable.txt,前一个表是各个等级的角色做师门任务的第一轮得到的金钱和经验数值,第二个表是师门任务从第一轮到第二十轮的奖励倍数,倍数是以前面那个表来算的。
    StandardImpact.txt,这个我也没明白是技能还是特效,我只修改两个地方,一个是打坐回复的心跳时间,把本来三秒一次的恢复改成200毫秒恢复一次;另一个是打坐回复的效果,原来是恢复一次+30生命和10内力,改成8W生命和5W内力,我的角色出门从来不带药……

    吃饭了吃饭了,如果没人骂,那我就继续写Public里边的,那个更多……

    今天是1月13日,写了点在11楼
    另外更新一条:/home/tlbb/Server/Config/ItemSegAffect.txt,装备星级表,我做过实验了,我把total全部设成1000(其实什么数字都可以,它是分母,只要是正整数就OK)然后1星到8星的列全部改成0(文件里的中文说明是段1到段8),9星全部改成和total一样的数字,到游戏里所有带星的装备都成9星了……
    再更新一个条:/home/tlbb/Public/Config/MissionPet_HashTable.txt,写在11楼的,我当时写的是猜想,现在做过试验了,看过11楼的朋友直接看这里就行了。这个是任务对宝宝的需求,比如师门任务可能要你去抓某种宠物,可以用这个表改成所有要宝宝的任务都只抓某一种宝宝,比如成年燕子,哦喝喝。需要注意一点,表里中文说明表示有14列是宝宝需求机率,每一列,就是竖行,所设置的数字全是分子,它们的分母是10000,意思就是把所有机率都改成0,然后把成年燕子那一行都改成10000(1W,我刚开始看错成10W,结果服务器报错),这样所有任务要宝宝的话都只要成年燕子,抓一堆再去做师门啦。
    1月15日,早上起来把昨天晚上的试验结果更新一个:/home/tlbb/Public/Config/ItemAptRate.txt,装备资质加成表。这个表让我找了好久,第一列是资质点,装备刷资质在服务器里并不是直接刷到百分之几,而是一个设定的单纯数字:1-255,然后对照这个表来给装备加成。后边六列就是相对的百分数的分子了。我的试验结果是,把后边六列都改成和最下面的数字相同(也就是资质最大那一行255),在游戏里所有的装备资质都变成最大值了,但是显示的还是和以前一样的随机,有兴趣的朋友试试,买几个暗器,在所有属性都一样的条件下,两个不同资质的暗器加的内外攻数值是一样的,在人物属性面板里可以看到。
    1月16日,更新在24楼,地图文件类的
    1月20日,更新在37楼,主要是修改定时活动偷袭门派的问题,修改后可以全天进副本杀怪。
    1月22日,宠物掉落设置在50楼,帮派任务奖励设置在51楼
    1月24日,55楼,春节大钟
    2月21日,99楼,采矿采药钓鱼种植
    下班啦!今天写点地图方面的东西。
    /home/tlbb/Public/Scene/
    从词面上来看,Scene应该翻译成“场景”,不过玩游戏这么长时间了,一般还是习惯叫它“地图”
    这个文件夹下面就全是文件了,没有目录。天龙里的地图构成就靠它们来实现。
    我们修改的时候,一般都是注意到“ini”和“txt”文件,这里也是这样,"esd""scn"也可以用记事本打开,但是对我这样的新手来讲,没有修改价值,有兴趣的朋友可以用记事本打开这两种文件,esd是配置背影音乐和音效方案的,scn是地图配置信息目录。
    废话了一堆,开始进入正题。
    先从.scn来说点,大家也好理解。
    懒得配图,直接打字。我举个例子,用记事本打开/home/tlbb/Public/Scene/dali.scn大理地图的配置目录
    得到以下:
    [System]
    navmapname=dali.nav
    monsterfile=dali_monster.ini
    busfile=dali_bus.ini
    patrolpoint=dali_patrolpoint.ini
    growpointdata=dali_growpoint.txt
    growpointsetup=dali_growpointsetup.txt
    eventfile=dali_area.ini
    petfile=dali_pet.ini
    platformfile=dali_platform.ini
    每一行的中间都有一个等号,用编程的话来讲,这个好像叫定义,或者赋值什么的。等号前面的东西就是大理这个地图包含的各种信息,等号后面的就是每种信息的具体设置文件的名字。
    navmapname这个不明白,翻译说是地图导航文件,可能是用来说明调用客户端里边的那个地图文件
    monsterfile不用翻译也知道它叫:怪物文件,等号后边的就是大理地图里所有怪物的配置文件,天龙八部这个游戏里把NPC和怪物都算成一种东西的,所以要修改或增加NPC,也要找那个地图的monsterfile文件,具体的我写到脚本再说吧。
    busfile公交车文件,估计是大理三个门互相之间飞来飞去的交通工具配置
    patrolpoint不明白,翻译过后叫巡逻点,可能是走动的NPC坐标吧,反正没兴趣去研究
    growpointdata和growpointsetup这两个文件从名字上就能看出它们是一个系统的,前一个文件是生长点坐标配置,后一个是生长点配置。把scn文件介绍完,今天主要是写这两个文件。
    eventfile有没有眼熟?没错,把它分开,event file脚本文件。不过没关系,反正我又不懂。
    petfile宠物文件,没发现有什么作用……
    platformfile平台文件,每个地图里用鼠标放在上面可以看到说明的东西好像是。像打造武器要用的锻造台,做防具用的缝纫机,还有新手任务的看公告牌那个牌子都属于这个平台的范围。

    简介完成,其实Scene文件夹里边我们一般会改到的只有三种文件,abcd_monster.iniabcd_growpointabcd_growpointsetup,这里的abcd是地图的意思,像上面说到的大理就是dali_monster.ini。想改洛阳的NPC,就要找到luoyang_monster.ini了。

    *_growpoint.txt生长点坐标配置,当一个地图里没有药材矿石宝箱鱼这类生长型的东西时,它就是空的,只有最上面两排不明白的英文字母,估计是数据库用的东西。像大理,会刷宝箱,就会有4数字,第一列是递增型数字,必须是从1开始递增的正整数,可以叫它序号。第二列是生长点类型参数,我前面有写过,可以用/home/tlbb/Public/Config/GrowPoint.txt来查看这些数字代表什么意思。第三列和第四列就是X和Y坐标啦,不要被那些小数点后面四位的数字欺骗啦,坐标其实不是整数,小数点后边可以有啦。
    *_growpointsetup.txt生长点配置,和前一个文件一样,像洛阳这种啥也不刷的地图是空的,只有上边两行。还是说大理,这个文件就有6数字,你没看错,绝对是6列,仔细看最上两排,都是6列,只是生成函数这一列都是留空,如果要修改一定要注意到这一点。dali_growpointsetup.txt里边只有三行,除掉上两行例行公事的东东,也就是只有第三行有用,如下:
    573        20        20               2400000        0
    573代表“散落的宝物”,第一个20表示地图里的573物品一共生成20个,第二个20表示每次生成573的时候生成20个,然后2400000是时间,单位是毫秒,也就是2400秒=40分钟,每隔40分钟补充一次573的生成,后边的0是补充时间的随机增加量,单位毫秒,如果把0改成2400000的话,大理的宝箱就可能在打开后的40-80分钟内补充。
    如果有朋友看了没懂请跟贴说明。
    修改注意事项:在setup文件里的生长点生长数量不能超过坐标设置的个数,最多只能和坐标数量一致,表示每个坐标点都会刷新生长点,而事实上坐标数量是大于生长点刷新数量的,这样就是我们经常遇到的情况,在地图采了一个矿以后,这个矿点不一定会继续刷新出矿了,因为它可能刷到另外的空坐标点上。
    每次生成生长点的数量也不一定要和总数量相等,像药材和矿什么的基本是一次只刷新一个,大家多看看其它地图的配置文件就明白了。
    种子补充的间隔时间(这是文件里自带的中文说明,是某位前辈写的吧)可以设置得很短,比如1000毫秒,这样采矿采药就是采了刷,刷了采……但是宝箱不可以这样设置,为什么我没明白,我是自己体验的。只有挖宝图进的墓穴副本里的宝箱要设置得小一点。


    师门任务的经验奖励在/home/tlbb/Server/Config下边的ShimenLevelMoneyBonusTable.txt和ShimenRoundMultipleTable.txt

    第一个表是1-150级每个等级的经验基数,我没动它,改的是第二个表,经验倍数,你是怎么改的。

    还有一点,经验只能存人物现在升级经验的4倍,比如你升下一级需要经验50000,那么经验池里只能存200000经验,多的就被系统黑掉了。
    OK,没被BS我就有动力了。今天朋友大婚,我被拉去做司机了,刚喝完喜酒回家。
    再次声明,很多东西我不懂,所以写的都是自己试验的产品。
    接下来,/home/tlbb/Public/Config文件夹
    注:txt文件最好用Excel打开,可以清楚的看到每一列的说明,但有一点,有一些文件太大,用Excel不能完全打开,特别要注意!。
    Ability.txt,这个可以算是各种生活技能的总设置。除了每个人都能学的生活技能,还包括各门派的生活技能,编号第26那一排是“操作中”,这个是野外开宝箱的技能,我把它和采药采矿什么的改成1000毫秒,原来的要挖7秒种。注意,这个时间不能改成0。还可以改生活技能的学习等级,不过野外的药和矿也是需要等级的,这里改了只能学,不能采。
    BlueEquipBase.txt,EquipBase.txt,WhiteEquipBase.txt,还有GreenEquipBase.txt,都是装备表,不推荐修改,主要是太麻烦,类别太多。
    CommerceRelation.txt,这个是帮派跑商利润率,第三行和第一列都是商区代码,不能动,它们相交那一格就是商品买卖倍数了。我用Excel简单的把所有利润率都改成5,然后帮派就不用建商线跑商了,直接在本地买,然后在本地卖就OK了。
    CommonItem.txt,物品表,这个很重要了,好像除了装备以外的其它物品都在这个表里,像逍遥把一些物品的价格改成仿官服的,就是这里面改的,物品叠放数量也是这里面改。仔细看第二行的说明就明白了。
    Condition.txt,帮派建筑升级需要求表,想要单人玩帮派一定要注意到它。我把第三列的“任务数”全部改成了10,然后帮派的各种建筑升级和配方研究都只需要10个任务就搞定了!
    GemCarve.txt,宝石雕琢表,一般没人去动它,如果想弄点BT的,可以改到雕1级宝石,直接出9级纯净……
    GemInfo.txt,宝石表,里面是所有宝石的属性设置,我也没怎么改,就把每种宝石的属性后边加了个0……
    GemMelting.txt,宝石熔炼表,和雕琢表一个意思。
    GrowPoint.txt,生长点表。不推荐修改。这个和怪物掉落设置有点像,这个表的意思是用一串数字来代表各种生长点里长出的物品,比如药材,矿石,鱼,还有各个地图的宝箱,都算是从地里长出来的{:soso_e127:}。在设置每个地图的宝箱药材的时候,直接用这个表的数字代码,而不是用汉字。
    ItemCompound.txt,配方表。这个表里有游戏里所有的,配方,药方,骑术,最好不要去改它,我把它提出来的意思是,如果有完美收集控,就用它来对比游戏里有什么配方没有学到。
    ItemEnhance.txt,装备强化表。从这个表里来看,好像设置的可以强化到22级,但是没有修改成功。第五列是强化成功率,分母是10000,填的数字不可以超过10000,填多少就表示强化成功率为万分之几。最后六列就是强化效果,在游戏里装备强化后那个+百分之几,可以修改它,在游戏里显示不出来,但实际效果和修改后一致。
    LevelRefix_Hit.txt,这个表就是前面我说的等级差的命中修正了。第一列是人怪等级差多少,第二列是人比怪物等级高,全是1,表示命中为属性面板的命中值的100%。第三列是怪物比人等级高,当高过20级后,人物对怪的命中下降,如果怪物等级超过人物等级32级以上,人物对怪物的命中只有面板属性的50%。
    LogicSceneAttr.txt,商区表。帮派建的城在哪个商区可以在这里面查。
    LvMaxMoney.txt,人物可以带多少游戏币。逍遥已经把每级都改到最大了。
    Mission_Delivery.txt,对话任务表。游戏里所有只和NPC对话就可以完成的任务全在里边,所括关系任务哦,里边可以改任务奖励哦。但是修改它很麻烦,请考虑清楚再动它。
    Mission_EnterArea.txt,还是任务表,具体不明,有英雄任务,还是可以改任务奖励。
    Mission_Husong.txt,护送任务表,印象最深的是“妹妹要回家”,最恶心人的是苍山那个死家伙,走得慢不说,还走两步休息一会,我真想弄死它。
    Mission_KillMonster.txt,杀怪任务表。
    Mission_LootItem.txt,杀死某种怪物,从它身上得到某种物品的任务表。
    MissionItem_GroupHashTable.txt,我猜它是关系值任务需求表。就是像阿朱阿碧那些任务,他们可能会要求你给他们找某样物品或装备。我试过将所有物品装备的代码换成一种,服务器会报错,然后我试着只留下第一行,其它通通删掉,服务器启动成功,这两天都加班,没时间具体去做阿朱任务,有时间了马上就做。我猜想是像抓宠任务那种,不有全删,除非到脚本里去改,把要宠要物的机率删掉。
    MissionPet_HashTable.txt,任务对宝宝的需求设置。像师门任务,还有苏州任务链,有可能要某种宝宝,可以通过这个表来设置为只要某一种宝宝,比如成年燕子,抓起来太简单了。
    MonsterAttrExTable.txt,怪物表。表里是游戏里所有怪物的设置,像多少血呀,多少蓝啊,多少命中会心防御冰攻毒攻什么的。我就改了一个,那个春节大钟5960W的血,打得我想睡觉。有和我相同想法的朋友请用文本文档打开这个文件,然后查找“四绝钟”,那一行中间有个59600396好像,反正是5960W左右的数字,就是春节大钟的血量,嘿嘿。
    MonsterRespawnPos.txt,怪物头目刷新表。游戏里的头目怪刷新坐标和时间间隔,但没多少价值,懒得去改它,有兴趣的朋友可以删掉一些坐标,这样头目就只刷新在一个地方了。
    PetAttrTable.txt,宠物表。所有玩家可以用的宝宝都在这里面设置的,内容很多,但逍遥已经把十二技能改好了,就没必要去动它了。
    PetSkillBook.txt,宠物技能表。第一列是技能书的代码,第二列是宠物用那本书学到的技能代码。
    PetSkillLevelup.txt,宠物技能升级表。记得湾里某位朋友讲升级技能无效。
    PetTitle.txt,宠物称号表。具体怎么给称号没弄明白,但看过这个表,我知道我的宠物算啥档次的了。
    PlayerExpLevel.txt,人物升级所需经验表。93级以后就上亿了,升得我好累。宠物和暗器升级经验很低,所以没列出来。
    ShopTable.txt,商店表。游戏里所有和NPC对话后可以买东西或者买卖东西的表。逍遥在游戏里新加的卖各种东西的NPC商店也在这里边。以前我有个贴子给不会脚本的朋友讲怎么弄自己的个性商店,但那个是小子的端,逍遥这个我在写到脚本的时候再说吧。
    SlotCost.txt,装备打孔需求表。里边的中文说明很清楚了,多少级的装备打第几个孔需要多少钱,第四孔要什么物品。
    后边还有门派学心法的需求表,就是要多少钱和经验,太复杂了,我宁愿把经验和钱改得更容易得到也不想弄这个。
    另外这个目录下边还有一个文件夹AbilityLevelUp,这个是各种生活技能,辅助技能的各种详细设置。
    逍遥改得差不多了,制造类的都可以直接学到满,只有采药采矿和钓鱼,另外养生药理什么的没改。文件的名字基本是拼音,像caikuang.txt就是设置采矿的,因为格式是一样的,所以当时可能做这些工作人直接复制的,文件里的中文基本都是采药,不要管它,只看文件的拼音。文件里的中文说明很
    清楚了,我就不废话了。


    下班啦!今天写点地图方面的东西。
    /home/tlbb/Public/Scene/
    从词面上来看,Scene应该翻译成“场景”,不过玩游戏这么长时间了,一般还是习惯叫它“地图”
    这个文件夹下面就全是文件了,没有目录。天龙里的地图构成就靠它们来实现。
    我们修改的时候,一般都是注意到“ini”和“txt”文件,这里也是这样,"esd""scn"也可以用记事本打开,但是对我这样的新手来讲,没有修改价值,有兴趣的朋友可以用记事本打开这两种文件,esd是配置背影音乐和音效方案的,scn是地图配置信息目录。
    废话了一堆,开始进入正题。
    先从.scn来说点,大家也好理解。
    懒得配图,直接打字。我举个例子,用记事本打开/home/tlbb/Public/Scene/dali.scn大理地图的配置目录
    得到以下:
    [System]
    navmapname=dali.nav
    monsterfile=dali_monster.ini
    busfile=dali_bus.ini
    patrolpoint=dali_patrolpoint.ini
    growpointdata=dali_growpoint.txt
    growpointsetup=dali_growpointsetup.txt
    eventfile=dali_area.ini
    petfile=dali_pet.ini
    platformfile=dali_platform.ini
    每一行的中间都有一个等号,用编程的话来讲,这个好像叫定义,或者赋值什么的。等号前面的东西就是大理这个地图包含的各种信息,等号后面的就是每种信息的具体设置文件的名字。
    navmapname这个不明白,翻译说是地图导航文件,可能是用来说明调用客户端里边的那个地图文件
    monsterfile不用翻译也知道它叫:怪物文件,等号后边的就是大理地图里所有怪物的配置文件,天龙八部这个游戏里把NPC和怪物都算成一种东西的,所以要修改或增加NPC,也要找那个地图的monsterfile文件,具体的我写到脚本再说吧。
    busfile公交车文件,估计是大理三个门互相之间飞来飞去的交通工具配置
    patrolpoint不明白,翻译过后叫巡逻点,可能是走动的NPC坐标吧,反正没兴趣去研究
    growpointdata和growpointsetup这两个文件从名字上就能看出它们是一个系统的,前一个文件是生长点坐标配置,后一个是生长点配置。把scn文件介绍完,今天主要是写这两个文件。
    eventfile有没有眼熟?没错,把它分开,event file脚本文件。不过没关系,反正我又不懂。
    petfile宠物文件,没发现有什么作用……
    platformfile平台文件,每个地图里用鼠标放在上面可以看到说明的东西好像是。像打造武器要用的锻造台,做防具用的缝纫机,还有新手任务的看公告牌那个牌子都属于这个平台的范围。

    简介完成,其实Scene文件夹里边我们一般会改到的只有三种文件,abcd_monster.iniabcd_growpointabcd_growpointsetup,这里的abcd是地图的意思,像上面说到的大理就是dali_monster.ini。想改洛阳的NPC,就要找到luoyang_monster.ini了。

    *_growpoint.txt生长点坐标配置,当一个地图里没有药材矿石宝箱鱼这类生长型的东西时,它就是空的,只有最上面两排不明白的英文字母,估计是数据库用的东西。像大理,会刷宝箱,就会有4数字,第一列是递增型数字,必须是从1开始递增的正整数,可以叫它序号。第二列是生长点类型参数,我前面有写过,可以用/home/tlbb/Public/Config/GrowPoint.txt来查看这些数字代表什么意思。第三列和第四列就是X和Y坐标啦,不要被那些小数点后面四位的数字欺骗啦,坐标其实不是整数,小数点后边可以有啦。
    *_growpointsetup.txt生长点配置,和前一个文件一样,像洛阳这种啥也不刷的地图是空的,只有上边两行。还是说大理,这个文件就有6数字,你没看错,绝对是6列,仔细看最上两排,都是6列,只是生成函数这一列都是留空,如果要修改一定要注意到这一点。dali_growpointsetup.txt里边只有三行,除掉上两行例行公事的东东,也就是只有第三行有用,如下:
    573        20        20               2400000        0
    573代表“散落的宝物”,第一个20表示地图里的573物品一共生成20个,第二个20表示每次生成573的时候生成20个,然后2400000是时间,单位是毫秒,也就是2400秒=40分钟,每隔40分钟补充一次573的生成,后边的0是补充时间的随机增加量,单位毫秒,如果把0改成2400000的话,大理的宝箱就可能在打开后的40-80分钟内补充。
    如果有朋友看了没懂请跟贴说明。
    修改注意事项:在setup文件里的生长点生长数量不能超过坐标设置的个数,最多只能和坐标数量一致,表示每个坐标点都会刷新生长点,而事实上坐标数量是大于生长点刷新数量的,这样就是我们经常遇到的情况,在地图采了一个矿以后,这个矿点不一定会继续刷新出矿了,因为它可能刷到另外的空坐标点上。
    每次生成生长点的数量也不一定要和总数量相等,像药材和矿什么的基本是一次只刷新一个,大家多看看其它地图的配置文件就明白了。
    种子补充的间隔时间(这是文件里自带的中文说明,是某位前辈写的吧)可以设置得很短,比如1000毫秒,这样采矿采药就是采了刷,刷了采……但是宝箱不可以这样设置,为什么我没明白,我是自己体验的。只有挖宝图进的墓穴副本里的宝箱要设置得小一点。


    今天是1月20日,写一点脚本方面的个人浅见。
    目录是/home/tlbb/Public/Data/
    这个目录下面有两个文件和两个目录,目录AIScript和文件AIScript.dat是怪物和NPC的AI相关的,以前我写过,天龙里边的怪物和NPC是一种东西,然后根据给他们设定不同的AI属性来区别。这个我们不需要做太多的注意。
    文件Script.dat可以用记事本或者写字板打开,里边是游戏里所有脚本文件的目录,前辈也加了一些说明,可以看看,但如果你像我一样,对这个不太懂的话,最好不要动它。
    /home/tlbb/Public/Data/Script/这个就是脚本文件的大本营了。目录下面的ScriptGlobal.lua请大家看看,这个文件比较重要,里边有很多东西。
    New文件夹,Shengsi文件夹,wuhun文件夹是三个比较新的,大家可以看它们的修改时间,这就是前辈们的辛苦工作成果体现了!像最后面的wuhun就是武魂的拼音,这些脚本很多都是前辈们自己写的,而不是以前老端自己就有的。
    event文件夹基本是功能脚本,服务器运行过程中调用的各种脚本基本在这里面。
    obj文件夹主要是NPC脚本,很多都比较简单,在游戏里和NPC对话后,买卖物品,修理装备,强化,宠物学技能什么的基本是用这里面的脚本去调用event里面的脚本进行工作。

    前面简单的介绍了点脚本的东西,因为数量太大,我只写一些自己研究到的地方,有共同爱好或者疑问的朋友可以跟贴说明想了解哪些东西。

    偷袭门派
    @65225788有朋友提到师门刷小这类定时激活的活动,我弄了很久,活动控制文件也找到,但是始终没弄好怎么修改它。文件是:/home/tlbb/Public/Config/目录下面的ActivityNotice.txt和CampaignTable.txt。我最大的修改效果也就是五个门派同时刷小,但和朋友们想的九门派同时刷小还差得太远了。
    在这里我想说一句我一直想表达的想法,游戏是给大家娱乐的,让大家开心的,在游戏里遇到不顺心的事情后,大家就想解决它,绕过它,我写这么多东西只是自己的兴趣,希望有共同爱好的朋友一起研究,但过度的修改会让游戏失去乐趣,反而不美。如果在一个游戏里,角色有最好的装备,最好的宝宝,打所有的怪物都是秒杀,所有的怪物打角色都是MISS,那样就完全没有意义了。

    废话讲完,说下我修改师门刷小的思路。继续一句废话,怪物和NPC是一种东西,所以偷袭门派活动开始后,门派里刷出的NPC也是一种怪物,我们点击它们进入副本。于是我想到了,为什么不自己通过其它途径直接刷出这种NPC,来进入副本呢。但我基于少改少出错的原因,决定在现有的NPC基础上修改。
    每个门派都有一个传送NPC,在他旁边还有一个帮助NPC,就是称号是“门派指路人”的家伙,作用是给新手了解各种游戏里的知识,但我们平时哪有闲人去点他,和他对话嘛,所以我把主意打到他头上。下面我用星宿派来做说明,我是怎么弄这件事情的。
    首先,找到星宿派门派指路人的脚本文件,/home/tlbb/Public/Data/Script/obj/xingxiu/oxingxiu_zhikeshi.lua这种lua文件可以用记事本或写字板打开修改,我是把它称为脚本文件啦。打开它后,得到如下信息:
    --星宿NPC
    --问路
    --脚本号
    x016034_g_scriptId = 016034

    --所拥有的事件ID列表
    x016034_g_eventList={500067}        

    后边一些这里没有意义,我就省掉不贴出来了。lua文件里,如果在一行前面加上两个小横线“--”,表示此行不读,用编程里的话来说这种东西叫“注释”,起一个说明的作用,还可以帮助其它人来读这个脚本。我看过的编程教程里,老师讲,写出来的代码其中有一条就是要有好的通读性。发现自己废话越来越多了……继续
    我贴出来的这一段除掉服务器不读的注释行,只有两行起作用
    x016034_g_scriptId = 016034这一段我理解的是,x016034脚本文件的脚本号为016034,它就是这个lua文件的身份牌这类意思。
    x016034_g_eventList={500067}我的理解是,x016034这个脚本文件调用编号为500067的功能脚本来处理工作。eventList可以翻译成脚本列表的意思。
    接下来,找到偷袭门派时,星宿派刷出宵小后,我们点击那些的NPC的脚本文件,/home/tlbb/Public/Data/Script/event/huodong/eTouximenpai_NPC_xingxiu.lua
    打开它,照例,除去注释行,它的第一行身份牌说明是
    x808028_g_ScriptId        = 808028
    我把这个功能脚本的脚本号“808028”去替换掉上面星宿派门派指路人的功能脚本调用“500067”,就表示门派指路人的工作调用脚本改变了。得到如下:
    --星宿NPC
    --问路
    --脚本号
    x016034_g_scriptId = 016034

    --所拥有的事件ID列表
    x016034_g_eventList={808028}        

    这样修改后,可以全天24小时通过点击这个“门派指路人”NPC来进行宵小副本战斗。可以修改eTouximenpai_NPC_xingxiu.lua文件里的设置,比如x808028_g_LimitMembers,它的原设置为1,就是可以进入副本的队伍数为1,就是我们刷小时,别人抢先点击NPC进入副本后,我们进不去的原因,修改它为更大的数字后可以有更多的队伍点击这个NPC进入副本。其它很多设置都有中文说明,我就不再废话了。
    在修改lua文件时,游戏里是同步的,也就是说,可以把服务器打开,然后进入游戏,然后再修改,这样可以实时看到修改效果。
    另,做完上面的修改后,我还想修改门派指路人的称号,找到星宿海这个地图里的怪物文件:
    /home/tlbb/Public/Scene/xingxiu_monster.ini
    用记事本或写字板打开它,然后查找“门派指路人”
    [monster20]
    guid=3421193
    type=278
    name=知客使
    title=门派指路人

    这里可以修改掉这个NPC的名字和他的称号,比如改成宵小副本,偷袭师门呀什么的。

    再就是,根据以上原理,我们还可以修改刷反副本……


    宠物掉落
    /home/tlbb/Public/Data/Script/obj/monster/petdropper.lua
    这个文件是管理宠物掉落机率的,大家可以修改它来提高宠物掉落机率。
    里面有很详细的中文说明,我再简单的介绍下:
    x501000_g_RandNum这个是全局宠物掉落机率的分母,请结合下面的分子来修改,不能比分子小。最简单的修改方法就是把这个设置改为2000-3000,它原来的设置是1W,下面各种宠物的设置像兔子燕子什么的是1521,就是把宠物掉落机率从1521/10000变为1521/2000,这样杀玄武岛上的成年怪就很容易掉落我们可以捕捉的宠物了。
    x501000_g_Lifecycle宠物存活时间,单位是毫秒,就是我们杀死成年怪,掉落出来的宠物可以存在多长时间,如果没有捕捉它们会在这个时间后消失。
    x501000_g_PetDropList[3000] = {
    dropOdds = 1521,
    petList = { 3000, 3009, 3001 },
    oddsList = { 100000,49706,2485 },
    }
    上面这一段就是一个宠物掉落的详细设置,x501000_g_PetDropList[3000]是表示为哪种宠物设置的,可以修改的是数字3000,它代表的是成年兔子。我们可以通过查询/home/tlbb/Public/Config/PetTypeAttr来了解每种宠物的数字编号。在这里的数字3000是分为两部分的,前面300通过查上面的宠物分类表知道是兔子,最后面的一位数字0表示是成年,这个最后面的这位数字0表示成年,9表示宝宝,1表示一级变异,2表示二级变异……
    dropOdds = 1521,杀死成年兔子后,掉落可捕捉宠物的机率为1521,这个要结合上面的分母来计算,可以修改它。
    petList = { 3000, 3009, 3001 },宠物掉落列表,表示这种成年怪物杀死后,可能掉落的宠物列表,3000是成年兔子,3009是兔子宝宝,3001是一级变异兔子。某一些成年怪物杀死后,可能掉落几种变异(可以在游戏里通过宠物的图鉴来直观的了解那种宠物有几种变异),那么在这里就可能是{ x000,x009,x001,x002,x003,x004},那么,我们可以删掉一些,把这个表变为{ x000,x009,x004},这样修改后,杀死这种成年怪物,掉落的只可能是成年,宝宝和四级变异了。
    oddsList = { 100000,49706,2485 },这里是下级掉落设置,前面有设置杀死成年怪物后掉落宠物的设置,但杀死怪物后,只会掉出一只宠物,而宠物又分成年宝宝变异等几类,所以需要设置这些分类的机率。具体的我没弄明白,但数字越大表示越容易出现。这里的10W是成年的机率,49706是宝宝的机率,2485是变异的机率。我们可以修改这三个数字来调节宠物掉落的类型,比如改成{100000,100,50000 },这样成年掉落还是挺高,宝宝就很少出现了,而变异的也会变得很多。
    具体怎么修改,请大家自己根据自己的爱好来弄吧!请注意一点的是,修改各种文件的时候注意输入法,全角半角,还有就是原有的空格什么的。


    帮派任务
    /home/tlbb/Public/Data/Script/event/city/ecity_mission.lua
    帮派任务的全局设置。
    x600001_g_MaxRound环数上限,据我知道的,帮派任务10次为一环,师门任务20次为一环,这个基本不改它。
    x600001_g_CountLimiti每天最多可以做的帮派任务上限,这个原设置只能做50次,我们可以改大一点,像我这种强迫症,六种帮派任务只能做五种的话会忧郁至死的……
    然后我们做帮派任务有经验,帮贡,帮派某项值的奖励(如扩张,国防什么的)
    可以在这个文件里修改奖励,有中文的注释说明。因为各种奖励都有计算公式,我曾经改完后,在游戏里做一个任务后,人物自已的经验变成负值……所以我写点简单的修改
    经验奖励,公式是local Exp = TypeScale* ( Level ^ l_Exp ) * MissionRound + BaseExp,最后面的是加法系数,我们可以直接把local BaseExp = 0这一行的0改大一点,比如改成10000,那么每次做帮派任务后,得到的经验会在原始奖励的基础上多1W。
    帮贡奖励,公式是ContribBonus =x600001_g_SpecBonus[MissionRound] * l_ContribBonus,这里是个乘法公式,若中的x600001_g_SpecBonus在这个文件的最上面,设置是1112233445,它是10个数字,代表完成帮派任务每一环里的第几次,我觉得前面写的环数上限设置修改后,这里也肯定要改。l_ContribBonus就在公式的前两行,前辈的中文说明是“衰减系数”,原设置是1,可以改大一点,改成多少,就表示每次帮派任务完成后人物得到的帮贡为原始设置的多少倍。
    帮派专业值奖励,公式有三个,都是乘法,可以通过修改衰减系数来增加我们做帮派任务得到的专业值(就是扩张值,国防值那六种)
    if MissionRound >= 5 then
                    --衰减系数
                    local l_SpecBonus = 1
                    local SpecBonus = 0

                    if MissionRound < 8then
                           SpecBonus = 1 * l_SpecBonus
                    elseif MissionRound< 10 then
                           SpecBonus = 2 * l_SpecBonus
                    else
                           SpecBonus = 3 * l_SpecBonus
                    end

    if MissionRound >= 5 then意思就是帮派任务的次数大于等于5才进行下边的计算,也就是我们做帮派任务第5次以后才有专业值,前面4次木有。可以把这里的5改成0,那么每次帮派任务都可以拿到专业值。
    衰减系数local l_SpecBonus = 1是原始设置,可以改大一些。也可以理解为倍数。
    后面几行的意思是,任务次数如果小于8专业值的奖励为1乘以衰减系数,第8和9次就是2乘以衰减系数,第10次是3乘以衰减系数。
    我写了这么一大堆,新手朋友应该也会了吧,实在不会改衰减系数好了。


    今天写春节大钟
    刷出脚本:/home/tlbb/Public/Data/Script/event/festival/SpringFestival07/ecreate_nianshou.lua
    用记事本或写字板打开它,在第25行(如果不知道的朋友,在记事本的最上面有个查看的选项,点击后把那个状态栏打上勾,就可以在最下面看到光标所在的行和列),ID=14119, PosX=256,  PosY=273,BaseAI=3,ExtAIScript=260, ScriptID=050051 ,这个ID=14119就是我前面偷偷说过的四绝钟,它的意思是怪物形象和属性引用/home/tlbb/Public/Config/MonsterAttrExTalbe.txt中的编号为14119的怪物。后边两数字是刷新的坐标,但这个坐标是新洛阳的,现在地图改回老洛阳的地图了,这个钟就刷到地图最右下角去了,可以修改它,比如改成PosX=160,  PosY=106,这个钟就刷到洛阳最中间的广场了。
    BaseAI=3, ExtAIScript=260, ScriptID=050051,前面两上个AI相关的,不用管它,后边ScriptID=050051意思就是该NPC,或者叫怪物也行,它的工作脚本是引用脚本号为050051的脚本。
    那么接下来找到这个脚本:/home/tlbb/Public/Data/Script/event/festival/SpringFestival07/enianshou_diedrop.lua
    其实从这个文件的名字上都可以看出来了,nianshou是年兽,die是死亡,drop是掉落。
    x050051_g_maxXibaoCount = 20;把春节钟干掉后一共可以掉多少个喜包
    x050051_g_itemBoxPos_dropRange_min = 8;
    x050051_g_itemBoxPos_dropRange_max = 16;这两个是喜包掉落的坐标设置,离大钟的坐标点的距离最近是多少,最远是多少。因为喜包掉落是按照坐标来的,有时候就掉到人物不能去的地方,可以把这两个改小一点。max的设置一定要大于等于min的设置。
    x050051_g_gemDropRate = 15;喜包开出宝石的机率,分母是100,这里的设置是分子
    x050051_g_medicineDropCount_min = 1;
    x050051_g_medicineDropCount_max = 3;喜包开出物品的设置,最小开出一种,最多开出三种,可以自己改。
    x050051_g_LootItem_1这个是随机掉落表,可能掉落的物品写在大括号{}里边。玩家杀死春节大钟后,从这个表里随机抽取一个物品放进玩家背包里,现在的设置是各种九级宝石,可以修改成其它物品。
    x050051_g_itemList喜包的物品掉落设置,请注意原格式,每种物品的机率rate加起来需要等于100原设置是各种元宝票,可以修改它们。
    x050051_g_gemList
    喜包可能开出的宝石表。设置和上面的一样,注意事项还是rate。
    第208-210行
            nItemId =x050051_g_LootItem_1[random( getn(x050051_g_LootItem_1) )]
            local bagpos01 = TryRecieveItem( sceneId, killerId,nItemId, QUALITY_MUST_BE_CHANGE )        -- 放不下就没有了
            local bagpos02 = TryRecieveItem( sceneId, killerId,39910005, QUALITY_MUST_BE_CHANGE )        -- 放不下就没有了

    这一段是写的BOSS挂掉了,给杀死它的玩家两个物品,直接放背包里的,如果背包满了是拿不到的。需要注意的是,这个脚本好像没有加宠物杀死后抓宠物主人ID的,所以杀春节大钟的时候要把宠物收起来。bagpos01是第一个奖励,里边的nItemID在前面定义了,是个随机表,就是前面那个九级宝石表,bagpos02是第二个奖励,直接是给39910005,通过查看/home/tlbb/Public/Config/CommonItem.txt物品表可以知道是2W元宝票,如果不想变态的朋友可以改掉它。
    第288-290行是喜包掉落设置
                   posX = posX + randX;
                    posZ = posZ + randZ;
                    itemBoxId =LuaFnItemBoxEnterSceneEx(sceneId, posX, posZ, 775, 60000);
    前面两行是坐标宝义,第三行后面的775是喜包生长点代码/home/tlbb/Public/Config/GrowPoint.txt这个表里可以查看。60000是喜包回收时间,单位是毫秒,意思是喜包刷出来后1分钟回收,就是消失,可以改大一些,比如600000就是十分钟才回收……

    普通怪物是没有脚本支持的。
    一般是副本怪物,掉落宠物的怪物等才有脚本。

    怪物刷出一般是两种,一种地图刷的,在地图配置文件里有脚本设置,这里一般是通用脚本。
    第二种脚本刷出来的,像宝箱终结者这种,可以在脚本里看到该怪物调用的脚本号。

    /home/tlbb/Public/Data/Script.event/jingji/
    这里面是竞技场相关的脚本,文件名里有Box的就是黄色宝箱的脚本,点开看就明白啦。
    比如ejingji_Box_7.lua里有这么一段代码:

    nObjID = LuaFnCreateMonster(sceneId, 39779, 81,99, 1, 253, 210547);
    210547就是调用的脚本号




    好久没更新了,说实话,人最近一阵子特别特别懒……

    看到有朋友提到了,今天就写点生长点的东西
    @ryoamazing

    目录/home/tlbb/Public/Data/Script/obj/growpoint/
    下面文件很多,找找关键的:
    gp_caiji.lua,这个表是采药和采矿的设定,里面的说明很详细,我简单说说:
    x710000_g_RandNum = 10000,随机因子,是这个脚本的随机分母设定,我们知道,任何一个“机率”都是一个分数,比如百分之二十,32/520,等等,这个随机因子就是该脚本所有机率的分母,在修改这个脚本具体的机率时,分子不能大于这个分母!

    x710000_g_GPInfo[3 ] = { abilityId =ABILITY_CAIKUANG, name = "银矿",
            mainId = 20103003, mExtraCountOdds = { 10000, 5000,800, 20 },
            associatedId = { 20103015, 20103027, 20103039,20103051 }, aOdds = 2500, aExtraCountOdds = { 9000, 3000, 200, 20 },
            rareId = 30505137, rOdds = 50, needLevel = 3 }

    我随便弄了个银矿的设定贴上来,第一行不管它,第二行mainId= 20103003,通过查CommonItem.txt表可以知道20103003是银矿石,也就是说,这个生长点的主产品是银矿石。
    mExtraCountOdds = { 10000, 5000, 800, 20 },这一段是该生长点主产品的出产机率设定,大括号里有四个数字(可能和你们的不同,因为我改过的),这里就是我前面说过的随机因子,这里的是分子,一定不能超过前面的分母!10000表示该生长点绝对生成一个银矿石,5000表示有50%机率生成第二个银矿石,800是8%生成第三个,20是0.2%生成第四个。
    可以修改,自虐的话,可以改成mExtraCountOdds = { 10000, 0 }也就是挖矿只能挖到一个矿。
    BT的可以改多一些,如mExtraCountOdds = { 10000, 10000, 10000,10000, 10000, 10000, 10000, 10000, 10000, 10000 }这样就成了挖矿必定挖到10个矿……

    中间我插一句,为什么我要用“生成”这个词,而不是掉落什么的,大家可以自己用命令打开服务器,运行一段时间后,可以看到./Server这个命令那一个窗口里面显示的东西。
    每个生长点,包括矿,药,宝箱,它们被服务器刷出来后,里面出产的东西已经确定了,谁去开拿的东西都一样……

    associatedId = { 20103015, 20103027, 20103039,20103051 }我越来越懒了,大家自己查物品表就明白了,这里表示该生长点有可能出什么伴生矿。aOdds = 2500伴生矿机率分子,分母还是前面那个总的,后边我就不特别说了,2500表示25%,就是2500/10000。aExtraCountOdds = { 9000, 3000, 200, 20 }伴生矿出产的个数机率分子,和前边主产品的设定一样,这里是90%出一个,30%出两个,2%出三个,0.2出四个,修改方法参考主产品。

    rareId = 30505137, rOdds = 50, needLevel = 3 }稀有物品出产30505137,也就是橙色龙珠,机率是50/10000,嗯,就是0.5%,需要等级3,参考我贴出来这一大段的第一行abilityId = ABILITY_CAIKUANG,所以,需要采矿3级才可以打开这个生长点。

    gp_diaoyu.lua钓鱼设定
    请大家打开这个文件再来看我写的这堆东西……

    x712000_g_AbilityId = ABILITY_DIAOYU需要钓技能

    x712000_g_RandNum = 1000000随机因子,分母

    x712000_g_rare =伴生物品,字太多我就不贴上来了,它们是由一对大括号括起来的,从[1]一直到[22],这里有中文,就不用去查物品表也知道是什么东西了,Odds = 40000就是机率分子了,配合前面设定的分母使用,40000表示机率为4%,可以把随机因子分母改小来提高机率,类似于我这个贴子前面说的宠物掉落修改。

    接下来就是主产品设定了,name = "草鱼", mainId = 20102001, rareId ={1,4,7,}, needLevel = 1,mainId就是主产品代码,20102001是草鱼,rareId是伴生设定,大括号里的1,4,7就是前面的伴生物品代码[1][4][7],分别代表丝线[1级],染料[1级]和花蛤,needLevel就是需要的技能等级了。

    其实上面这一堆钓鱼的设定基本没有修改的必要,我写出来只是兴趣使然,真正有修改价值的在下边:
    x712000_g_FishTime = {}从字面上就明白了,钓鱼时间。
    我总是嫌钓一条鱼的时间太长了,我玩单机版至于挂机钓鱼嘛,所以,改小它……
    我觉得有必要再贴一段代码:SetAbilityOperaTime(sceneId, selfId, (FishTime.time + random(FishTime.rand)) )这个是钓鱼的时间计算公式,就是个加法
    x712000_g_FishTime[0] = { time = 5000, rand =1000 }
    x712000_g_FishTime[1] = { time = 4500, rand = 1000 }
    x712000_g_FishTime[2] = { time = 4000, rand = 1000 }
    x712000_g_FishTime[3] = { time = 3500, rand = 1000 }
    这四行肯定和大家的不一样,因为我已经改小了。时间单位是毫秒,time就是上面加法公式的FishTime.time,rand就是FishTime.rand。每次钓鱼花的时间不是固定的,从这里就可以看出来。我改过这个就是钓一次鱼大约在4.5-6秒之间。

    gp_zhongzhi2.lua种植产物设定
    种植比采矿钓鱼要复杂一点,设定都分了三个脚本,我们只需要看产物设定就可以了,至于专业技能等级限定,生长点主人限定什么的不必管它。
    打开文件,首先还是随机因子分母x711001_g_RandNum= 10000

    种植也就两个值得我们注意,一个是生长时间,一个是产量。
    我先说产量,ProductCount =这个就是了,大家看自己打开的文件,后边是1的就是早产,是10的就是晚产,自己修改就可以了。
    rareId =伴生产物代码,查物品表……
    rOdds =伴生产物出现机率分子,分母在上边……

    时间就比较复杂了,这个时候需要打开gp_zhongzhi1.lua文件
    RecycleDuration =       255000早产作物回收时间
    RecycleDuration =       4155000晚产作物回收时间
    早产成熟是5分钟,晚产是70分钟,在这里255秒和4155秒都少了45秒,具体为什么我也不懂。
    因为我们种植开始的时候那四个生长点不能点,属于观赏性的东西,服务器根据上面这两种设定时间来计时,时间到点后回收那四个生长点,另外刷出我们可以打开的生长点,就是成熟作物(类似于宝箱),通知我们收获,把这两个时间设定改小就达到目的了。
    gp_zhongzhi2.lua文件里也有时间设定,前辈有中文说明
    -- ProtectDuration: 让种植者收割的保护时间
    -- RecycleDuration: 回收时间

    这两个时间设定是相同的,早产是30W毫秒,等于5分钟,晚产是90W毫秒,等于15分钟。保护的意思是谁种的作物只能自己收获,回收就是时间到后没有收割的作物服务器就把它删除掉。
    如果回收时间大于保护时间,那么在保护时间失效后,服务器回收之前,任何人都可以收割该作物……

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

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