mud_sanc 板


LINE

※ 引述《amosdeus (幽素)》之銘言: : int i,r,j,l,time; : object ppl,ob=this_object(),room; : mixed usr; : ppl = this_player(); : room = environment(ob); // 加底下這個判斷 if(userp(room)) return 1; : usr = all_inventory(room); : //usr = ppl->query_temp("ats"); : r = random(3); : time = query("S_R/time"); //移除計時 : if(!ob) time = time / 2; //使用者不在時間減少 : if( time < 1) : { : write(CYN"運轉四時劍陣的已經能源消耗完畢,劍陣一並崩然潰散。\n"NOR); : remove(); : } : else : set("S_R/time",time-1); 這個判斷可以往前挪. 另外 remove() 下方要 return 1; 因為 ob=this_object(), 若 ob->remove() 程式就應停止 : foreach(ob in usr) : { : if(userp(ob)) : { : if(!ob) continue; : if(ob->query("no_attack")) continue; : if(!ob->query("ats")) continue; 要知道玩家有無攻擊對象, 有兩種判斷方式 if(ob->query_attackers()) 代表若 ob 有攻擊對象 if(ob->query_current_attacker()) 代表若 ob「有正要攻擊的那個對象」 一般用第一個就行了。直接讀玩家的 ats 跟使用函數讀法的差異, 在於 ats 有可能為 ({ 0 }) 這樣的東西 = 實際上攻擊的對象已經 消失, 使用函數讀取時它判斷到 ({ 0 }) 會先移除. : switch(r) : { : case 0: : ppl->shut(HIM"\n\n$N【春之迷濛】->$O"NOR,11111,11111,({"dam","physics",2}),ob); : break; : case 1: : ppl->shut(HIM"\n\n$N【夏之驕蹇】->$O"NOR,11111,11111,({"dam","physics",2}),ob); : break; : case 2: : ppl->shut(HIM"\n\n$N【秋之纍綬】->$O"NOR,11111,11111,({"dam","physics",2}),ob); : break; : case 3: : ppl->shut(HIM"\n\n$N【冬之離葬】->$O"NOR,11111,11111,({"dam","physics",2}),ob); : break; : } : } : else : i++; : } : if(i==sizeof(usr)) : { : delete("callouting"); : remove_call_out("room_check_poison"); : return 1; : } : call_out("room_check_poison",2); //兩回合攻擊一次 : return 1; : } : int disband(string str) : { : object ppl = this_player(); : if(!str || str == "" ) return notify_fail("什麼?\n"NOR); : if(str!="range") return notify_fail("你是要解除劍陣嗎?(disband range)\n"NOR); : if((string)ppl->query("name")!=query("name")) : return notify_fail("你並不能控制這座劍陣。\n"NOR); : command("drop all"); //drop沒反應 要改別的方式 : write("你解除四時劍陣了.\n"); : remove(); : return 1; : } : 問題一: : 請問要怎樣讓 劍陣 在每一次 call_out("room_check_poison",2); : 都能讀取到 使用者 正在攻擊的敵人 ppl->query_temp("ats"); : 讓 ppl->shut(HIM"\n\n$N【春之迷濛】->$O"................ : 能夠使用; : 或者是 讓 劍陣 讀取到 使用者 的攻擊敵人參數 : 然後再用直接扣血的方式(但是要做抗性判斷,跟屬性閃避的判斷) : 還要考慮玩家先布下劍陣時在進行戰鬥。 : 問題二: : //增加劍法類的攻擊威力。 : //從slash的指令或是劍法的技能檔增加讀取到劍陣便增加攻擊力 : slash的檔案可以在哪裡看到,另一個構思中的技能:飛劍 也用得到 /cmds/std/_slash.c 以及 /d/slash/*.c slash指令已經cp 一份到你的目錄 ~plain/_slash.c, /d/slash 則應該有對你開放可讀權限. 因為你的劍陣是實體物品,只要設定特殊 id 跟參數, 就可以用 present 的方式去 check. : 飛劍的攻擊與數量: : 一: : 只招換出一隻 飛劍 增加攻擊次數一 : 比如 "四時劍法" 攻擊次數為四,在讀取到飛劍參數後攻擊加一,變 : 成攻擊次數為五。 這個就依劍法的不同,自行決定做法即可。個人比較建議先讓 所有劍法都先 inherit 同一個 /d/slash 下的樣本繼承檔 (該樣本繼承檔則 inherit DAEMON;) 這樣你做相關修改才會比較方便. 不然根據經驗, 要一個一個 改技能檔, 容易有出錯的風險. : 二: : 可由 "劍士之心" 或是 "氣勁(air)" 除於三千最多能,同時有三把飛 : 劍(這部分由撰寫者決定)。 : 這裡的原則是一的情況下可以達到原攻擊的八九成,二的情況下飛劍隻 : 數多攻擊力就要下降。 : 直接從指令作修改比較快,修改劍類技能就比較麻煩也占記憶體。 : 以上 謝謝 : Plain@Sanc 重點在於你構想中的「多一劍」的實際執行形式為何,例如「 若大劍技+飛劍」時又是怎樣的呈現方式? 如果是我的話在不改技能檔的情況下只改指令檔也是可以的. // _slash.c 已經先 call 劍法去施展出攻擊了 if(ob=present(特殊id,所處環境)) if(ob->query(特殊參數)) 或 if(ob->check_劍陣_是可運作中的()) ob->ppl_is_slashing(ppl,玩家施展的劍法,幾級,攻擊對象是誰); return 1; // ob檔 int ppl_is_slashing(object ppl,string skillname,int lv,object tar) { switch(skillname) { case "4-season slash": ppl->shut(四時相關敘述,傷害,命中,({xx}),tar); break; case "crack slash": ... . . . } } 這應該是不必動到技能檔本身的比較簡易的修改方式。 Belldandy. --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.253.168.79
1F:推 justinj :看到這個....原來ghost的招式還是會有問題...amem 06/12 08:46
2F:→ hlead :改以上寫法在側看看吧..avert 06/12 09:20
3F:推 justinj :norr你少改一隻....封魔的devil.c 06/13 20:26
4F:→ hlead :有改道吧? 06/15 00:09







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP