mud_sanc 板


LINE

inherit MONSTER; void create() { set("level",对应级数); set("race","无生物"); ::create(); seteuid(getuid(this_object())); /* 基本设定区 */ set("id",({"magic_cycle",其它})); set("no_attack",1); set("no_attack_msg","你不能攻击它喔.\n"); set("user",1); /* 其它设定区 */ set("id",({魔法阵id})); set("short","魔法阵short"); set("long","魔法阵long"); set_living_name("magic_cycle"); set_name("魔法阵的name"); set_verbs(({"打向","搥向"})); } // 由 set_heart_beat 触动 int heart_beat(int i) { int t=time(); mixed obs; object env,cloner; env=environment(this_object()); if(t>(int)query("clone_times")) { tell_room(env,query("short")+"消失了。\n"); remove(); } obs=all_inventory(env); foreach(env in obs) if(env && userp(env)) env->set_temp("mc_effect",2+t); // 有上述参数的人才会启动魔法阵相关判断 // 而理论上,魔法阵消失後 1~2 秒,效果还可能会存在 return 1; } void init() { // 依照不同的功能设定不同的 add_action() int lv=query("level"); switch(lv) { case 1: add_action("spells_xxx","spells"); } } int spells(string str) { object ppl,spell; string sname; int num,sp,k,t; if(!str || str=="") return notify_fail(@LONG spells(攻击法术练习)指令说明: =================================================== spells 连击数 法术名称 (如 spells 50 fire) 1.目前可用来练习的法术为 fire spell、ice spell、 thunder spell、wind spell、earth spell、 light spell。 2.可施放的连击数最大为 你目前的mag属性值/100。 3.连击数越高,消耗的sp值越高,但是成功施放出来的话 得到的熟练度越高。 =================================================== LONG ); ppl=this_player(); if(ppl->query_temp("casting")>0) return notify_fail("spells: 你要等一会儿喔.\n"); t=time(); if(ppl->query_temp("time_record/magic_cycle_lv1_times")>t) return notify_fail("spells: 你要等一会儿喔.\n"); if(ppl->query_attackers()) return notify_fail("spells: 你不能在战斗中喔.\n"); if(sscanf(str,"%d %s",num,sname)==2); else return notify_fail("语法: spells 连击数 法术名称.\n"); if(sname!="fire" && sname!="ice" && sname!="thunder" && sname!="wind" && sname!="earth" && sname!="light") return notify_fail("请下 spells 指令观看使用说明喔.\n"); str=sname; sname=sname+" spell"; if(ppl->query("skill/"+sname)<100) return notify_fail("spells: 你的 "+sname+" 技能值至少要有 100 喔.\n"); if(num<1 || num>99) return notify_fail("spells: 你一次只能击出 1~99 发的法术喔.\n"); if(num>(int)ppl->query("stat/mag")/10) return notify_fail("spells: 你最多一次只能击出 "+ (int)ppl->query("stat/mag")/10+" 发的法术喔.\n"); if(!ppl->query_temp("magic heart")) return notify_fail("spells: 你在练习法术的时候必须先 heart magic 喔.\n"); // 计算 sp 消耗量以及再施展时间 // 连击数过高时虽然有可能击出, 但再施展时间会拖长 sp=ppl->query("sp"); k=ppl->query("skill/magic heart"); if(k>5000) k=5000; k=k/50; k=1+k*num*num*(200-k)/200; // 过度消耗法力 if(k>(sp*11)/10) { k=40; ppl->set("sp",1); } else if(k>sp) { k=15; ppl->set("sp",1); } else k=1+num/10; ppl->set_temp("casting",k); ppl->set_temp("time_record/magic_cycle_lv1_times",k+time()); spell=find_object_or_load("/d/spell/"+str); spell->start_skill(this_object(),(int)ppl->query("skill/"+sname)/100); show(ppl,this_object(),"$N对着$O大喊:"+skill_name(sname)+" "+num+"连发!"); call_out("magic_cycle_lv1",2,ppl,sname,num); return 1; } int magic_cycle_lv1(objetc ppl,string sname,int num) { if(!ppl) return 1; if(environment(ppl) != environment(this_object())) return 1; num=1+(num*num)/10+random(num); num=1+num/10; // <= 暂时加进去 ppl->improve_skill(sname,num); show(ppl,this_object(),"$N对着由魔法阵设下的障壁击出了 "+num+" 发的"+ skill_name(sname)+"!\n"+ "只见自障壁反射出的魔法光芒,如同烟火一般照亮了半个天空。"NOR); return 1; } --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 115.83.14.146
1F:→ laechan :原则上假设玩家 spell fire, 那在 fire.c 里头有一行 06/07 11:47
2F:→ laechan :if(ppl->query_temp("mc_effect")>time()) 06/07 11:48
3F:→ laechan : if(mc=present("魔法阵特殊id",environemnt(ppl))) 06/07 11:48
4F:→ laechan : if(该魔法阵为法术增幅魔法阵) 06/07 11:48
5F:→ laechan : 执行法术增幅; 06/07 11:48
6F:→ laechan :也就是说用 mc_effect 先当做前置判断,好处在於後面 06/07 11:49
7F:→ laechan :负荷较重的 mc=present( .. 就可以晚一点才做 06/07 11:49
※ 编辑: laechan 来自: 117.19.205.81 (06/08 16:41) ※ 编辑: laechan 来自: 115.82.222.131 (06/13 11:14)







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灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP