石器时代LA官方

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7324|回复: 0

[源代码] 線上泡點系統

[复制链接]

1万

主题

491

回帖

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35547
石币
24710
发表于 2013-9-2 16:12:52 | 显示全部楼层 |阅读模式
以下會說明如何增加線上泡點的流程, 主要以關鍵字帶過, 因為我也懶得解釋..

1. 在 char_base.h 的 CHAR_DATAINT 加上
CHAR_TIMEPOINT

在 char_base.h 的 CHAR_DATAWORKINT 加上
CHAR_WORKINTTIMEPOINT

2. 在 char_base.c 的 CHAR_setintdata 裡加上對應的存檔字串
"timepoint"

3. 在 net.c 的 CONNECT_SysEvent_Loop 適當位置加上 (可以自行決定要加在多少循環間隔)

                if(gettimepointinterval()>0){
                         if(CHAR_CHECKINDEX(charaindex) && (gettimepointmap() == -1  || CHAR_getInt( charaindex,CHAR_FLOOR) == gettimepointmap())
                         //離線掛機不可獲得泡點
                        && CHAR_getWorkInt(charaindex, CHAR_WORK_OFFLINE)==0
                         ){
                                 if(CHAR_getWorkInt(charaindex, CHAR_WORKINTTIMEPOINT) + 10 >= gettimepointinterval()){
                                         CHAR_setWorkInt( charaindex, CHAR_WORKINTTIMEPOINT, 0 ); //歸零
                                        int point = gettimepointnum(CHAR_getInt( charaindex,CHAR_TRANSMIGRATION));
                                         //避免溢位
                                        if(CHAR_getInt( charaindex,CHAR_TIMEPOINT) + point>0){
                                                 CHAR_setInt( charaindex,CHAR_TIMEPOINT, CHAR_getInt( charaindex,CHAR_TIMEPOINT) + point);
                                         }
                                 }else{
                                         CHAR_setWorkInt( charaindex, CHAR_WORKINTTIMEPOINT, CHAR_getWorkInt(charaindex, CHAR_WORKINTTIMEPOINT) + 10 );
                                 }
                         }
                 }

gettimepointinterval() 為多久時間間隔可以獲得點數
gettimepointmap() 為有效的泡點地圖
gettimepointnum(CHAR_getInt( charaindex,CHAR_TRANSMIGRATION)) 根據轉數決定給予的點數

最後, 泡點點數可以用 CHAR_getInt( charaindex,CHAR_TIMEPOINT) 取得, 用CHAR_setInt修改數值,
其他部分就不多說, 可以直接寫進服務端的NPC模板或導入LUA使用.

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|石器时代LA官方

GMT+8, 2024-5-3 11:09 , Processed in 0.106601 second(s), 25 queries .

Copyright © 2001-2023, Tencent Cloud.

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