99Max综合娱乐网站(旧版)

 找回密码
 立即注册
查看: 2545|回复: 13

[教程] 掉率全局控制系统[第一期]

[复制链接]

升级   100%

发表于 2013-6-11 11:41:55 | 显示全部楼层 |阅读模式
第一期我们还是先进入db的定义
第一步,打开mmo.h
加入
  1. #define MAX_DROP_RATE 0xFFFF
复制代码
第二步,打开mob.h
加入
  1. struct s_item_drop ind_drop[MAX_DROP_RATE];
复制代码
第三步,打开mob.c
  1. //=============================================
  2. // 掉率全局控制系统 ind_mob_specdrop(读取数据)
  3. //=============================================
  4. static bool s_item_drop_sub(char* str[], int columns, int current)
  5. {
  6.         struct s_item_drop *db;
  7.         int mid,nameid,ratio;
  8.         struct item_data *id;

  9.         mid = atoi(str[0]);       
  10.         /*
  11.         if( (mobdb_checkid(mid) ) == 0 )
  12.         {
  13.                 ShowWarning("itemdb_read_drop: 无效的魔物ID %d.\n", mid);
  14.                 return false;
  15.         }
  16.         */
  17.         nameid = atoi(str[1]);

  18.         if( ( id = itemdb_exists(nameid) ) == NULL )
  19.         {
  20.                 ShowWarning("itemdb_read_drop: 无效的道具ID %d.\n", nameid);
  21.                 return false;
  22.         }

  23.         ratio = atoi(str[2]);
  24.        
  25.         if( ratio <= 0 )
  26.                 return false;// what the fuck.

  27.         if( ratio > 10000 ) {
  28.                 ratio = 10000;//100% and relay a warning. - HELLO SOMEONE TYPO'D
  29.                 ShowWarning("道具ID %d 掉落率最大设置为10000",nameid);
  30.         }

  31.         db = &ind_drop[current];
  32.         db->mobid = atoi(str[0]);
  33.         db->itemid = atoi(str[1]);
  34.         db->ratio = atoi(str[2]);
  35.         return true;
  36. }

  37. int read_item_drop(void)
  38. {
  39.         int i;
  40.         const char *filename[]={"LeA/item_drop.txt"};
  41.         memset(ind_drop,0,sizeof(ind_drop));
  42.         for(i = 0; i<ARRAYLENGTH(filename); i++)
  43.         {
  44.                 char path[256];
  45.                 if( i > 0 )
  46.                 {
  47.                         sprintf(path, "%s/%s", db_path, filename[i]);
  48.                         if( !exists(path) )
  49.                         {
  50.                                 continue;
  51.                         }
  52.                 }
  53.                 sv_readdb(db_path, filename[i], ',', 3, 3, MAX_DROP_RATE, &s_item_drop_sub);
  54.         }
  55.         return 0;
  56. }
复制代码
找到
  1. static void mob_load(void)
  2. {
复制代码
在后面加入
  1. read_item_drop();
复制代码
找到
  1. void mob_reload(void)
  2. {
复制代码
在后面加入
  1. read_item_drop();
复制代码
第一期结束,db已经加入完毕,db格式:
  1. // 掉率全局控制系统:
  2. // <魔物ID><道具ID>,<几率> (按 % 计算率)
  3. // 魔物ID设置成1的道具为全局掉率
  4. // 如果<几率>设置为1,则掉率为0.01%  (也就说设置10000 就是 100% 掉率)
  5. // 比如: 1,2115,50 = 巴基力亚钢盾的掉率为 0.5% 掉率(全局掉率)。
  6. // 魔物设置ID则是单个控制几率
  7. // 比如:1002,512,1 = 波利掉落512的道具的几率为0.01%,其他的不变!
  8. // 魔物单个掉率为最优先设置!!
  9. 1,985,100
  10. 1,984,500
  11. 1295,4238,100
复制代码
第二期将加入核心代码,呵呵下棋见
温馨提示:
1. 本站模拟器源于网络,经 99Max.mE 二次开发,仅供个人学习娱乐使用,切勿用于商业用途,否则后果自负!
2. 如需更好体验游戏内容,请前往官方游戏!不具备合法的运营模式,都是强盗,请勿擅自搭建私服!
3. 如本站内容有侵犯您的权益,请发送信息至QQ:372607220 或 EMAIL:372607220@qq.com ,我们会及时删除。

升级   100%

群组: JRO日本客户端

发表于 2013-6-11 11:46:52 | 显示全部楼层
学习了!感谢巧儿分享

升级   100%

群组: JRO日本客户端

发表于 2013-6-11 13:19:04 来自手机 | 显示全部楼层
DB格式说明写得很详细,感谢!
期待第二期核心代码

升级   100%

发表于 2013-6-11 13:48:47 | 显示全部楼层
好清楚     感谢灵巧儿大大分享  

升级   0%

群组: JRO日本客户端

发表于 2013-6-14 12:07:02 | 显示全部楼层
本帖最后由 yagami 于 2013-6-14 12:09 编辑

我加入第三步,打開mob.c 之後就顯示圖片這個 請問這是什麼意思...(新手請見諒~"~)
我如果按是 建置就失敗了ˊˋ


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

升级   100%

 楼主| 发表于 2013-6-14 13:46:41 | 显示全部楼层
点否就可以了

升级   0%

群组: JRO日本客户端

发表于 2013-6-14 14:11:35 | 显示全部楼层
本帖最后由 yagami 于 2013-6-14 14:19 编辑


========== 建置: 0 成功、1 失敗、0 最新、0 略過 ==========
不知道為什麼顯示失敗@@
抱歉再請問您喔...
db/裡面的txt要設定item_drop_announce.txt這樣嗎@@?

升级   100%

 楼主| 发表于 2013-6-14 16:42:44 | 显示全部楼层
失败就是表示那里编译有错误,你自己检查下吧
如果你使用RA的代码的话,RA的DB读取写法已经改变,请根据情况修改

升级   0%

群组: JRO日本客户端

发表于 2013-6-14 16:53:43 | 显示全部楼层
灵巧儿 发表于 2013-6-14 16:42
失败就是表示那里编译有错误,你自己检查下吧
如果你使用RA的代码的话,RA的DB读取写法已经改变,请根据情况 ...

感谢您的答覆∧∧

升级   22.67%

发表于 2013-10-9 16:37:06 | 显示全部楼层
很清楚喔 我來改看看了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

小黑屋|99Max综合娱乐网站(旧版) ( 沪ICP备11024206号-1 )

GMT+8, 2024-5-2 19:10 , Processed in 0.082579 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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