重赏!:求一个RO私服的搭建教程 150

要绝对详细的,傻瓜教程。
谢谢各位了,还能给个下载连接的,还有追加!谁能给个RO的私服的教程,要是答案好。
我是个初学者,最好是要是用什么东西
我可不要个连接就完了,要在这做出解答
越详细越好啊,不怕你罗唆
我有更好的答案
邀请更新
2006-08-10 最佳答案
我再发一篇教程,永远都是断线
  2 map档跳掉,无视之,照进游戏.txt里两个文件的路径不对
  IP没设好
  conf里的脚本错误
  map-server读取了不存在的地图设置
  accout,1,或人物身上的东西有问题或是人物属性过份的BT

  ▄◣为何别人无法连进我的服务器;100001为gm的id,改成你的gm的id就可以了
  <地图
  用记事本打开CONF目录下的map_athena文件
  加新的脚本------------------npc: conf/漂亮的新脚本;/aid>:18.149 M 189

  2 文件里的空格其实不是空格,而是用TAB打出来的

  3 建GM帐号---普通建号过程?
  非内网------把你的真实IP给对方,就算你连到电信倒闭.xml文件里设好,再把你的防火墙给关了
  内网用户----除了同上以外;QUOTE]

  ▄◣如何加载/禁用脚本/.grf的路径
  例,HP1,1,然后关闭服务器;/langtype> <.grf
  注:上面是默认路径~请各位根据自己的实际情况进行调整:6121
  Map Port:5121

  ▄◣无限SETUP
  补丁没有下载
  下载了,但没解压到服务器目录里
  没有运行过Cn_Setup.;ME系统用Server; }

  更多文件内容的修改说明;npc_monster.txt文件,打开account,Cri...txt或直接删掉这行

  同理可证,加减地图也能这样做~~
  加地图---------------------map..

  ▄◣账号和人物
  1 存放账号的文件---------account。
  拜托小丑们别再抄了~~~

  ▄◣ 进入conf目录,
  编写的格式为:账号ID 用户名 密码 随便打 F/M(男号M,女号F) 随便打(数字不能重复)
  如: 704563 12345 12345 2003-09-19 16:48,,2,0,4194303,2,34;aid>
  <admin>,让他在data目录里的clientinfa,Cast,可用职业,物理攻击,魔法攻击.txt,因为已帮设好单机的IP 127  看你心意诚恳,把你的号id给为704554到704583中任意一个数字

  4 GM造型---打开data目录下的clientinfa,不要关掉三个DOS窗口
  接着用Sakexe.bat来进游戏

  服务器架设完成,{},{ bonus bInt,就会知道哪个数值是有什么用的[/,也是永久性断线
  3 选完人进不了游戏;--这句话后加下面这些东西;game\athena ro\data.exe是否正常能读取所有的文件.txt,SP2,或是char没有完全开启,查看一下你的CHAR设置
  4 athena;
  5 存放人物资料的文件---------athena.txt
  如果遇到卡人的情况:6900
  Char Port.txt 的角色档和登入账号account.txt的资料有问题,可能人物存储的地点有问题,Avo,物品种类,购买价钱;/npc: conf/漂亮的新脚本,Eff: gonryun.gat(如是新地图需要更新sdata来支持)
  禁用地图------------------/,还要影射三个端口,
  Login Port,Ele,20; bonus bLuk,20,没等三个DOS读完就进游戏,HP2.xml
  <langtype>3<sdata.txt和map-server的不一致

  ▄◣断线问题
  1 心太急,4,让三个DOS窗口充分读取数据后(不再动了),可以在这个文件里解决,比如有负数的把负号去掉,
  遇到没有act,spr档的新物品跳出.xml设好IP(一个IP)
  注意~如果是联机版本~请把IP设为你自己的IP~请注意~上面一共5个IP~必须完全都一样,
  禁用脚本------------------ /,设好IP(四个IP)
  进入data目录,打开clientinfa.gat

  刷怪脚本conf/.txt

  ▄◣物品的属性如何改?
  打开db/item_db.txt
  每个字段对应的分别是:ID.txt设好data..

  ▄◣常见问题,map_athena.conf,范围,洞,STR,AGI,VIT,INT,DEX,LUK,HIT,FLEE;/admin>.grf
  sdata: D;物品在上一版本能用,vsRace,RFixPer,vsEle,EFixPer,vsStat,Name,游戏中显示的名字.grf,可用技能的等级
  如
  1161,Balmung,神器三十二朔月,4,20.bat来启动服务器
  请耐心的等待,
  <,格式等,可用技能的ID...1)
  进入conf目录,打开char_athena.conf,SFixPer: data:\game\!比如你客户专是安装到E盘的~那就把路径调整到E盘!
  ▄◣ (玩单机可跳过此步.0,可用性别,Loc,wLV,eLV,View;grf-files!
  ▄◣ 先运行一次Cn_Setup
  然后,NT系统用Server For 2k xp.bat,98/,在文件里查找该物品的代码,改为已有图档的的物品ID或都删掉就能解决问题
  仔细的将里面的数据跟你的人物数据对照,sdata,SP1,250: D:\,卖出价钱,重量:

  ▄◣关于map-server自动跳掉
  Sak_Setup没装
  conf\100001<,,1000,打开grf-files,物理防御,魔法防御,一更新的版本就没有效果了?
  新版BUG,如果你有能力的话可自行解决,如果没能力或是懒,就只有等官方再放出更新档修正
  同类问题的还有XX物品/技能没效果,因为没有实装,当然没效果,解决方法同上

  Skill_tree.txt
  建立技能树内容于技能威力、范围
  内容:
  JOB_ID,ID,SKILL_ID,SKILL_LV,Skill1,SkillLV1,Skill2,Skill2....Skill5,SkillLV5
  使用职业,技能,技能最高等级,前置技能1,前置技能等1,前置技能2,前置技能等2.....
  EX.1,3,10,2,1,0,0,0,0,0,0,0,0 //剑士,双手剑熟练,等级10,单手剑熟练,等级1,,,,,,

  mob_db.txt
  怪物资料库
  内容:
  ID,Name,JName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed

  ,ADelay,aMotion,dMotion,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per

  ,Drop7id,Drop7per,Drop8id,Drop8per,Item1,Item2,MEXP,ExpPer,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per
  怪物ID,名字,日文名,等级,体力,魔力,经验值,职业经验值,锁定范围,攻击力1,攻击力2,防御力,魔法防御力,力量....

  Speed,ADelay,aMotion,dMotion,
  移动速度,动作延迟,攻击时速度,被攻击时速度

  Drop1id,Drop1per......
  掉落物品1,物品1掉落机率......
  MVP1id,MVP1per......
  MVP物品1,MVP物品1掉落机率......

  job_db1.txt
  使用武器速度资料库
  内容:
  //weight,hp,sp,aspd*17(空手,短剑,单手剑,双手剑,单手枪,双手枪,单手斧,双手斧,单手钝器,双手钝器,杖,弓,爪,乐器,鞭,书,拳刃)
  重量,体力,魔力,武器aspd*17=实际攻速(毫秒)
  //x NV,SW,MG,AC,AL,MC,TF,KN,PR,WZ,BS,HT,AS,KNp,CR,MO,SA,RG,AM,BA,DC,CRp
  Y轴数值内容

  Novice,Swordman,Mageic,Archer,Acolyte,Merchant,Thief,Knight,Priest,Wizard,Blacksmith,Hunter,<b>XXXX</b><b>XXXX</b>in,Knight2,Crusader,Monk,Sa

  ge,Rogue,Alchem,Bard,Dancer,Crusader2
  PS.数字越小速度越快,100则是不能使用
  EX.20000, 0,1, 50, 65, 70,100,100,100, 80,100, 70,100, 65,100,100,100,100,100,100

  job_db2.txt
  各职业各个base等级的素质加成
  // job_bonus 0-non 1-str 2-agi 3-vit 4-int 5-dex 6-luk
  X轴数值内容
  //x NV,SW,MG,AC,AL,MC,TF,KN,PR,WZ,BS,HT,AS,KNp,CR,MO,SA,RG,AM,BA,DC,CRp
  Y轴数值内容

  Novice,Swordman,Mageic,Archer,Acolyte,Merchant,Thief,Knight,Priest,Wizard,Blacksmith,Hunter,<b>XXXX</b><b>XXXX</b>in,Knight2,Crusader,Monk,Sa

  ge,Rogue,Alchem,Bard,Dancer,Crusader2
  EX.0,6,5,0,2,3,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  //初学者 等级2 LUK加成,等级3 DEX加成.....

  const.txt
  职业索引
  EX.Job_Novice 0 //初学者代号为0

  cast_db.txt
  技能咏唱时间(毫秒)
  技能代号 动画时间,动作时间
  EX.156,1500,1000 //AL_HOLYLIGHT,1.5秒动画表现,1秒动作

  exp.txt
  升级所需经验值
  base,初学者JOB,一转JOB,二转JOB
  EX.9,10,30,144 //BaseLV1EXP 9,N_JobLV1EXP 10,1JobLV1EXP 30,2JobLV1EXP 144

  battle_athena.cnf
  // 是否支持PVP模式
  pvp: off
  // 怪物是否有爆击几率
  enemy_critical: yes
  // 咏唱时间(0无咏唱、100正常、200两倍)
  casting_rate: 100
  // 延迟时间(0无延迟、100正常)
  delay_rate: 100
  // 延迟时间是否受DEX影响
  delay_dependon_dex: yes
  // 防御ユニット(SW/ニューマ)が敌に効果を及ぼさないようにするかどうか
  defunit_not_enemy: yes
  // MVP血量倍率(100正常、200两倍....)
  mvp_hp_rate: 100
  // 物品掉落倍率(100正常、200两倍....)
  item_rate: 600
  // 基本经验所得倍率(100正常、200两倍....)
  base_exp_rate: 2000
  // 职业经验所得倍率(100正常、200两倍....)
  job_exp_rate: 2000
  // MVP物品所得倍率(100正常、200两倍....)
  mvp_item_rate: 600
  // MVP经验所得倍率(100正常、200两倍....)
  mvp_exp_rate: 600
  // GM命令是否专用
  atcommand_gm_only: no
  // GM是否会全部技能
  gm_all_skill: yes
  // 武器制造成功率(100正常、200两倍成功率....)
  weapon_produce_rate: 200
  // 宠物捕获几率(100正常、200两倍几率....)
  pet_rate: 100
  // 设定怪物行为方式的参数,具体效果不明
  monster_loot_type: 0
  // 是否打开怪物技能
  mob_skill_use: yes
  // 是否可以重复更改宠物名字
  pet_rename: no
  // 宠物饥饿时间的倍率(100正常、200两倍时间)
  pet_hungry_delay_rate: 200
  // 怪物数量的倍率(100正常、200两倍....)
  mob_count_rate: 100

  char_athena.cnf

  server_name: 雅典娜 /服务器名
  login_ip: 127.0.0.1 /注册服务器IP地址
  login_port: 6900 /端口
  char_ip: 127.0.0.1 /人物服务器IP地址
  char_port: 6121 /端口
  char_maintenance: 0
  char_new: 0
  char_txt: athena.txt /指定人物数据文件
  stor_txt: storage.txt /指定仓库数据文件
  start_point: new_5-1.gat,53,111 /初心者出生地点

  map_athena.cnf

  char_ip: 127.0.0.1 /人物服务器IP
  char_port: 6121 /端口
  map_ip: 127.0.0.1 /地图服务器IP
  map_port: 5121 /端口

  //加载npc路径
  npc: conf/npc_reset.txt
  npc: conf/job1.txt
  npc: conf/job2.txt
  ............
  //加载地图路径
  map: alb2trea.gat
  map: alb_ship.gat
  ............

  mob_skill_db.txt

  1016,DS@アチャスケ,attack,46,1,300,1500,10000,yes,target,myhpltmaxrate,30
  怪物ID,技能介绍,使用状态,技能ID,技能等级,使用频率,咏唱时间,延迟时间,是否造成伤害,目标,使用条件1,条件值1,,,,,,,,

  使用状态:any/任何情况,idle/待机中,walk/移动中,attack/攻击中
  目标:target/对手,self/自己,friend/队友
  使用条件:always/无条件,myhpltmaxrate/自己hp低于条件值,friendhpltmaxrate/队友hp低于条件值,attackpcgt/攻击对手超过条件值,closedattacked/对手接近条件值,longrangeattacked/对手远离条件值,skillused/指定技能值,casttargeted/目标咏唱时

  pet.txt
  10015,1029,蛇女伊丝 704554,100000,43,9021,10006,900,99,0,0
  编号,宠物ID,名字[Tab]拥有人ID,饥饿度,等级,亲密度,装饰品ID,,,,0(0为召唤状态,1为蛋的状态)

  ===-=Script说明=-===

  1:基本书写格式

  内容说明:
  描述式1[tab]命令[tab]游戏中显示的名字[tab]描述式2
  命令格式有warp/monster/shop/script
  不同命令会有不同书写方式
  例:
  prontera.gat,156,185,4 warp sample1 0,0,prontera.gat,156,225

  2:一般的传送点npc(warp)

  书写方式 :
  <gatname>,<x>,<y>[tab]warp[tab]<displayname(hidden)>[tab]<dx>,<dy>,<destination_gatname>,<destination_x>,<destination_y>
  内容说明:
  <gatname>,<x>,<y>:地图名,x轴,y轴
  warp:指定为传送点
  <displayname(hidden)>:传送点名字(可省略)
  <dx>,<dy>:地面范围,计算方式为(dx+1)&(dy+1)就是该传送点npc所占之范围
  <destination_gatname>[.gat],<destination_x>,<destination_y>:目地地图名,x轴,y轴
  地图名字不存在时此传送点npc不会装载
  传送点不可设于无法进入的地点
  若有相同地点之传送点以先读入的为主
  例:
  prontera.gat,156,185,4 warp sample1 0,0,comodo.gat,156,225
  prontera.gat,156,185,4 warp sample1a 0,0,prontera.gat,156,230
  <此情形以sample1传送点为主,comodo.gat地图名不存在时再以samplea为主>

  3:怪物(monster)

  书写方式 :
  <gatname>,<x>,<y>[,<xs>,<ys>][tab]monster[tab]<displayname>[tab]<npcid>,<number>[,<spawn_delay1>,<spawn_delay2>,<mode>]
  内容说明:
  <gatname>,<x>,<y>:地图名,x轴,y轴
  [,<xs>,<ys>]:指定特定范围内出现时使用
  monster:指定为怪物
  <displayname>:怪物名
  <npcid>:怪物ID(详细可参考mob_db.txt)
  <number>:怪物数量
  <spawn_delay1>,<spawn_delay2>:同一个PC_ID怪物出现时间延迟定义(单位:毫秒)
  <mode>:
  例:
  prt_fild00.gat,285,138,10,10 monster 绿草 1080,5,360000,180000,1
  普隆德拉区域,X:285,Y:138,X:+/-10,Y:+/-10 怪物NPC 绿草 代号:1080,数量:5,延迟1:360000,延迟2:180000,

  4:商店(shop)

  书写方式:
  <gatname>,<x>,<y>,<direction>[tab]shop[tab]<displayname>[tab]<npcid>,<item_id1>:<price1>[,<item_id2>:<price2>[,.....<item_id_N>:<priceN>]]
  内容说明:
  <gatname>,<x>,<y>,<direction>:地图名,x轴,y轴,方向(方向为由上计算45度0~4逆时针方向)
  shop:指定为商店
  <displayname>:商人名
  <npcid>:NPC图像代号
  <item_id1>:<price1>:商品代号:价格
  例:
  prontera.gat,136,203,6 shop 道具商人 73,501:5,502:20,503:55,504:120,506:20,645:80,656:150,601:30,602:30,611:20,610:400

  5:NPC Script (Script)

  书写方式
  <gatname>,<x>,<y>,<direction>[tab]script[tab]<displayname>[tab]<npcid>[,<xs>,<ys>],{ <script> ... }
  内容说明:
  <gatname>,<x>,<y>,<direction>:地图名,x轴,y轴,方向(方向为由上计算45度0~4逆时针方向)
  script:指定为Script
  <displayname>:NPC名
  <npcid>:NPC图像代号
  [,<xs>,<ys>]:接近NPC自动运行脚本
  { <script> ... }:详见5-x

  {}内容说明
  5-1:一般书写方式

  内容书写方式均与一般C语言相同
  "/* */" 范围式注解
  "// "一般单行注解
  ";"为该行程式结尾

  5-2:值

  数字:一般为0~9十进位,若有0x开始的为16进位,最大为32bits整数,不支援小数
  文字:"引号"中间的部份即为文字
  @die
  -----自杀

  @alive
  -----复活

  @save
  -----存储现在的点

  @load
  -----回到存储的地点

  @rura 地图名字 x坐标 y坐标
  -----飞到制定坐标,地图名字请看map.txt里的地图名(如 morocc.gat代表梦洛克城,打名字只要morocc即可)
  例:@rura morocc 150 160

  @rura+玩家ID 地图名字 x坐标 y坐标
  -----指定某人飞往指定地图指定坐标
  例如:@rura+ tester morocc 150 160
  rura跟tester之间,有一个+的符号的

  @jump x坐标 y坐标
  -----飞到现在地图的指定坐标

  @jumpto 玩家ID
  -----飞到指定玩家身边

  @where 玩家id
  -----显示指定玩家位置

  @who
  -----显示在线人数

  @jobchange 职业ID
  -----0~12的职业选择
  0: 初心者
  1: 剑士
  2: 法师
  3: 弓箭手
  4: 服士
  5: 商人
  6: 盗贼
  7: 骑士
  8: 牧师
  9: 巫师
  10: 铁匠
  11: 猎人
  12: 刺客
  13 骑士2
  14 十字军
  15 武僧
  16 Sage
  17 Rogue
  18 Alchem
  19 Bard
  20 舞者
  21 十字军2

  @option x y z
  -----改变现有角色状态
  例: @option 0 0 16 带老鹰
  x = 01 石化 y = 01 中毒 z = 01 火狩
  x = 02 冰冻 y = 02 诅咒 z = 02 隐匿
  x = 03 昏迷 y = 04 沉默 z = 04 隐身
  x = 04 睡觉 y = 16 暗暗 z = 08 手推车
  x = 06 石化 z = 16 带老鹰
  z = 32 骑鸟
  z = 64 隐身

  @hide
  ----- 隐身 ON/OFF

  @heal HP回复量 SP回复量
  ----- HP,SP的回复量,
  若只打@heal 为SP,HP全部回复

  @storage
  -----随时随地打开仓库,不用找卡普拉姐姐了,^^

  @item [物品代码] [数量]
  -----得到物品(注意:此方式得到的宠物蛋不能孵化)
  物品id请参照外挂data目录里的item.txt,什么,什么?你不知道?来问我吧,^^
  有些物品可能没因为客户端不同而不能显示,输入后可以可能会出现错误。代码主要在7000以下,还是看txt文件好了,比较放心

  @speed [走路速度]
  -----1~999之间,1是最快

  @kami [老婆的指示]
  -----全体广播,且不显示发言者名字(/b指令显示发言者名字 )

  @pvp
  -----就地pk(别忘了退队哦)

  @pvpoff
  -----解除就地pk,人物走出此地图后自动解除

  @Lvup [上升值]
  -----指定等级上升几级

  @jobLvup [增加值]
  -----推定job等级上升几级。
  (此命令最多升到50job,想要超过50job点数,请用@skpoint 数字命令一次性加,要多少加多少)

  @h
  -----显示GM指令

  @model [x] [y] [z]
  -----发型、发色、衣服颜色的变更
  x [0~17]发型
  y [0~8]发色
  z [0~4]服装颜色
  例:@model 15 4 0

  @go [数字]
  -----飞各大城
  0=普隆德拉
  1=梦洛克
  2=吉芬
  3=斐扬
  4=艾尔贝塔
  5=依德鲁斯岛
  6=艾尔帕兰城
  7=圣诞村
  8=克魔岛
  9=古城

  @monster [召唤出的怪物名称] [怪物代码] [召唤数量] [x坐标] [y坐标]
  ------x坐标 y表可省略,省略=在当前位置召唤

  @refine [位置代码] [精炼值]
  -----精练 右手=2 左手=32 双手=34 头=256/257/768/769 身体=16 肩=4 脚=64
  (代码是0的话=把身上所有“未装备”的装备都精炼)

  @produce [武器代码] [属性代码] [星星角的数量]
  -----制造武器 属性代码 0=无 1=水 2=地 3=火 4=风 武器代码请参照item.txt
  (注:是任何武器都能加属性和强悍的哦,不限制于铁匠能打造的那些,^^)

  @memo 数字(经测试要传送技能,晕)
  -----记忆任何地点 数字0~2,0为最新,2为最旧

  @save
  ----随时随地记录

  @load
  ---- 回到记录点

  @stpoint 数字
  ---- 增加Status point点数,
  (属性点还是要自己加,想直接加属性点请用@str,@agi,@vit,@int,@dex,@luk 数字 命令)

  @skpoint 数字
  ---- 增加技能点数
  (只增加点数,还是要自己手动加上去的)
  @zeny 数字
  ---- 加$$$$$,^^

  @str,@agi,@vit,@int,@dex,@luk 数字
  ---- 具体属性点上升点数,例: @str 98表示str上升99点,注意属性最高到99点

  @makepet 宠物蛋代码
  ---- 制作宠物蛋,宠物蛋代码请看item.txt

  @petfriendly 数字
  ---- 宠物亲密度変更(0-1000)

  @pethungry 数字
  ---- 宠物饥饿度(0-100)

  @petrename
  ---- 宠物改名(如果服务器设置不能改1次以上,就不能重命名了)

  @guildlvup 数字
  ---- 工会等级上升

  @recall 玩家名 ---- 召唤指定玩家
  @charjob 职业代码 玩家名 ---- 变更指定玩家职业
  @revive 玩家名 ---- 复活指定玩家
  @kill 玩家名 ---- 杀死指定玩家
  @charbaselvl 数字 玩家名 ---- 调节指定玩家的base等级
  @charjlvl 数字 玩家名 ---- 调节指定玩家的Job等级
  @charstats 玩家名 ---- 列出指定玩家的加点情况,(如等级,属性数值,身上的$$数目等)
  @charoption x y z 玩家名 ---- 调节指定玩家的状态(如中毒,骑鸟等,参照前面的@option x y z命令)
  @charsave 地图名 x坐标 y坐标 玩家名 ---- 指定玩家存储点

  @night ---- 本地图变为夜晚状态
  @day ---- 本地图变为白天状态
  @doom ---- 服务器,除GM外,所有人死亡
  @doommap ---- 本地图,除GM外,所有人死亡
  @raise ---- 服务器所有人复活
  @raisemap ---- 本地图所有人复活
  @kick 玩家名 ---- 踢指定玩家下线
  @kickall ---- 踢所有玩家下线

  ASPD和AGI增加的实装的方法~有不懂的地方请发贴询问~我QQ教你~

  int pc_bonus(struct map_session_data *sd,int type,int val)
  {
  switch(type){
  case SP_STR:
  case SP_AGI:
  case SP_VIT:
  case SP_INT:
  case SP_DEX:
  case SP_LUK:
  sd->paramb[type-SP_STR]+=val;
  break;
  case SP_MATK1:
  break;
  case SP_MDEF1:
  sd->mdef+=val;
  break;
  case SP_HIT:
  sd->hit+=val;
  break;
  case SP_FLEE1:
  sd->flee+=val;
  break;
  case SP_FLEE2:
  sd->flee2+=val;
  break;
  case SP_CRITICAL:
  sd->critical+=val;
  break;
  case SP_ATKELE:
  sd->atk_ele=val;
  break;
  case SP_DEFELE:
  sd->def_ele=val;
  break;
  case SP_MAXHP:
  sd->status.max_hp+=val;
  break;
  case SP_MAXSP:
  sd->status.max_sp+=val;
  break;
  case SP_CASTRATE:
  sd->castrate+=val;
  break;
  case SP_MAXHPRATE:
  sd->hprate+=val;
  break;
  case SP_MAXSPRATE:
  sd->sprate+=val;
  break;
  case SP_SPRATE:
  sd->dsprate+=val;
  break;
  default:
  printf("pc_bonus: unknown type %d %d !\n",type,val);
  break;
  }
  return 0;
  }

  把它们用以下的覆盖掉

  int pc_bonus(struct map_session_data *sd,int type,int val)
  {
  switch(type){
  case SP_STR:
  case SP_AGI:
  case SP_VIT:
  case SP_INT:
  case SP_DEX:
  case SP_LUK:
  sd->paramb[type-SP_STR]+=val;
  break;
  case SP_MATK1:
  break;
  case SP_MDEF1:
  sd->mdef+=val;
  break;
  case SP_HIT:
  sd->hit+=val;
  break;
  case SP_FLEE1:
  sd->flee+=val;
  break;
  case SP_FLEE2:
  sd->flee2+=val;
  break;
  case SP_CRITICAL:
  sd->critical+=val;
  break;
  case SP_ATKELE:
  sd->atk_ele=val;
  break;
  case SP_DEFELE:
  sd->def_ele=val;
  break;
  case SP_MAXHP:
  sd->status.max_hp+=val;
  break;
  case SP_MAXSP:
  sd->status.max_sp+=val;
  break;
  case SP_CASTRATE:
  sd->castrate+=val;
  break;
  case SP_MAXHPRATE:
  sd->hprate+=val;
  break;
  case SP_MAXSPRATE:
  sd->sprate+=val;
  break;
  case SP_SPRATE:
  sd->dsprate+=val;
  break;
  //=== bonus adding ============================
  case SP_ATK2:
  sd->watk2+=val;
  break;
  case SP_ATTACKRANGE:
  sd->attackrange+=val;
  break;
  case SP_ASPD:
  sd->aspd-=val*10;
  break;
  case SP_SPEED:
  sd->speed -= DEFAULT_WALK_SPEED *val/100;
  break;
  //=== End Adding ==============================
  default:
  printf("pc_bonus: unknown type %d %d !\n",type,val);
  break;
  }
  return 0;
  }

  去你的DB档里找const.txt
  加以下的码下去

  bSpeed 0
  bAtk2 42
  bAspd 53
  bAtkRange 56

  下面是每个bonus的效果解晰.

  bonus bAspd,2; ==> 就是 aspd+2
  bonus bAtk2,10; ==> atk2 +10
  bonus bSpeed,70; ==> 速度+35%, 不要太多会LAG
  bonus bAtkRange,2; ==> 攻击范围+2

  再来就去你的item_db.txt, 找死灵卡
  4142,Doppelganger_Card,Doppelganger_Card,6,20,10,10,,,,,,,2,,,,{},{ bonus bAspd,8; }
  如上把 bonus baspd, 8; 加入第2个空格, 你玩起来死灵卡aspd就+8啦
  再来月夜猫卡,一堆+aspd+atk+速度的卡或装备如上炮制.
  一定要complied才能用

  手动编写技能教程!

  编辑mob_skill_db.txt

  请按照下面的格式书写
  1016,DS@アチャスケ,attack,46,1,300,1500,10000,yes,target,myhpltmaxrate,30
  怪物ID,技能介绍,使用状态,技能ID,技能等级,使用频率,咏唱时间,延迟时间,是否造成伤害,目标,使用条件,条件值

  使用状态:any/任何情况,idle/待机中,walk/移动中,attack/攻击中
  目标:target/对手,self/自己,friend/队友(没装实)
  使用条件:always/无条件,myhpltmaxrate/自己hp低于条件值,friendhpltmaxrate/队友hp低于条件值(没装实),attackpcgt/攻击对手超过条件值(没装实),closedattacked/对手接近条件值,longrangeattacked/对手远离条件值,skillused/指定技能值,casttargeted/目标咏唱时

  还有职业技能的ID
  1 NV_BASIC 基本技能
  2 SM_SWORD 单手剑使用熟练度
  3 SM_TWOHAND 双手剑使用熟练度
  4 SM_RECOVERY 快速恢复
  5 SM_BASH 狂击
  6 SM_PROVOKE 挑衅
  7 SM_MAGNUM 怒爆
  8 SM_ENDURE 霸体
  9 MG_SRECOVERY 禅心
  10 MG_SIGHT 火狩
  11 MG_NAPALMBEAT 心灵爆破
  12 MG_SAFETYWALL 暗之障壁
  13 MG_SOULSTRIKE 圣灵召唤
  14 MG_COLDBOLT 冰箭术
  15 MG_FROSTDIVER 冰冻术
  16 MG_STONECURSE 石化术
  17 MG_FIREBALL 火球术
  18 MG_FIREWALL 火焰之壁
  19 MG_FIREBOLT 火箭术
  20 MG_LIGHTNINGBOLT 雷击术
  21 MG_THUNDERSTORM 雷爆术
  22 AL_DP 天使之护
  23 AL_DEMONBANE 天使之击
  24 AL_RUWACH 光猎
  2.0,请看这贴

  ▄◣为什么XX技能/,恭喜你,检查map;/map: gonryun;athena ro\

暗黑量子

采纳率:42% 擅长: 暂未定制

其他回答

我晕死这也算是重赏
我都不知道造了几个传奇了
第二楼和第三楼你门弄些病毒给人下干什么啊
我又不是不知道
如果第二楼和第三楼的不是病毒我全家死
lslplixiang | 发布于2006-08-18
评论
RO单机和SF教程(我做的)
http://post.baidu.com/f?kz=28055603
fx57426432 | 发布于2006-08-15
评论
jxgxlj | 发布于2006-08-09
评论
收起 其他2条回答

为您推荐:

×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消