Re: [問題] 現在的bousou

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間15年前 (2010/06/28 23:04), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串5/5 (看更多)
用這篇解釋暴走部份的程式設定流程,會有一些程式碼, 看不懂程式碼的就專看解說也可以。 暴走由 heart bousou 發動,發動後會在玩家身上設定兩 個參數.. #define BASIC_BOUSOU_TIMES 60 // 基本暴走時間 t=time(); // 現在時間 i=(int)me->query("skill/fighter heart")/100; // 戰士之心/100 me->set_temp("time_record/bousou_times",t+BASIC_BOUSOU_TIMES+i); me->set("record_data/next_bousou_times",t+300); // 下次可再使用時間 最高持續時間 159 秒,再使用時間為施展後 +300 秒。 與 bousou 參數有關的指令則是.. cast 在暴走持續時間內無法 cast drink 在暴走持續時間內無法 drink heart 在暴走持續勢間內無法 heart recall 在暴走持續時間內無法 recall spell 在暴走持續時間內無法 spell steal 在暴走持續時間內無法 steal <= 不過這有設跟沒設一樣 swoop 只有在暴走狀態才可以使用 系統部份與 bousou 有關的部份則是.. 一、/adm/daemons/user_d.c 的 continue_attack 函數 裡面有一行「若玩家血量 < 1」就陣亡......囧rz 這行已經順手改掉了,改成若在暴走狀態就不會死。 (然後若是直接 call die 式的攻擊仍會死) 二、/std/user.c 的 heart_beat(心跳周期循環函數) // Laechan@Sanc add in 2010/06/09 // 唯有玩家處於有心跳的狀態, 暴走的參數才可能解除 // 否則即便在斷線狀態中暴走參數已過期仍無法解除 // 在 improve_skill 中則會有相關判斷 if(query_temp("time_record/bousou_times")<now_times2) delete_temp("time_recofrd/bousou_times"); else data["pp"]=data["pp_src"]; 上面的意思是如果你在暴走中斷線,暴走參數會在,只要 該參數還在就完全無法獲得技能熟練度。另外目前在暴走 中斷線也會送 shout 訊息,方便判斷是否不當使用暴走。 若該參數在且未過期,就回不斷地回復暴走中的玩家的pp Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.9.179

06/28 23:28, , 1F
bousou時間跟以前比起來 似乎縮短不少
06/28 23:28, 1F

06/28 23:28, , 2F
不過我想問的是 能否自我解除bousou? 例如時間到了
06/28 23:28, 2F

06/28 23:28, , 3F
不行, 但可以討論"不行"能否做為施放的代價
06/28 23:28, 3F

06/28 23:28, , 4F
PP不會恢復 也會被打死了 但是仍然在bousou
06/28 23:28, 4F
那就改成暴走無過期的問題也可以。 但相對的代價就是.. 一、你本次的暴走時間越長,到下一次能再使用的間隔 時間就越長。--代價一 二、應統一有暴走後遺症。--代價二 例如到下次能再施展前的這段期間,有些指令不能 用、有些道具不能用、etc... 三、暴走仍會死於一些特殊的死法,而且其 range可能 更寬,例如會直接解除你暴走再瞬殺你的。 無過期的好處就是不用判斷 time,缺點就是斷線者不 判斷 time 就得判斷別的,所以有一種改法就是暴走中 斷線就是暴水晶。 (不判斷 time 的好處就是減輕系統負擔) 但同樣的,以一來說將來般若懺同樣可以縮短其再使用 時間,以二來說牧師將來某些法術可能可以「解除或減 輕」其副作用。

06/28 23:29, , 5F
此時系統不給你重新bousou賺PP的機會
06/28 23:29, 5F

06/28 23:31, , 6F
不給解也無所謂 只是想重新bousou 確保不死之身這樣
06/28 23:31, 6F
※ 編輯: laechan 來自: 122.117.9.179 (06/28 23:40)
文章代碼(AID): #1CABdcas (mud_sanc)
文章代碼(AID): #1CABdcas (mud_sanc)