Re: [程式]可以一次做大量eq的指令

看板mud (網路地下城/文字遊戲)作者時間20年前 (2004/10/11 11:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
[Room Maker] 好久以前寫的編輯器 [VB] 原理很簡單, 要改的有 SOURCE CODE 要修改成顏色預覽或是像WORDPAD一樣編輯應該不難啦 要是要批量製造的話可以利用 ACCESS一類的資料庫 + VB 的 ADO 物件來做 或者可以當成區域的資源檔, 有問題時直接由資料庫檔再覆寫一次....... http://home.kimo.com.tw/fantasy_mud/dl/index.htm 請進 Room Maker "笨蛋" <raharu.bbs@bbs.badcow.com.tw> 撰寫於郵件新聞 :4EFA3H$0fo@bbs.badcow.com.tw... > > mud寫了好多年,也遇到不少詢問我mud寫作問題的玩家,不過...普遍 > 給我的感覺是...沒禮貌跟自大的玩家粉多...!!!XD > 有自信固然是好,不過,到了自大的境界就讓人感覺很差了... > > 還有啊~不尊重版權的人也是一堆...所以我有好久不再公開自己寫 > 的程式了...最近在做新的mud,所以才順便po一下程式打個廣告...:P > > 超魔界大戰 wom.adsldns.org:4000 > > 一個以ps2遊戲"魔界戰記"為背景並結合卡片戰鬥的新式mud,現在招募 > 玩家測試中...:P > > > 底下昨晚無聊花一點時間寫的,因為是針對我自己的系統所做,所以要 > 用的人要再改一改~and...使用時請保留第一行內容,也就是有我的信 > 箱的部份,算是給我個面子吧~ > > ---------------------------------------------------------------- > > //mkeqs.c by raharu uwlib@pchome.com.tw > #include <ansi.h>; > inherit F_CLEAN_UP; > > int main(object me, string arg) > { > // 檔案格式: > // 第一行 裝備檔存放目錄,檔案起始編號 > // 第二行 kind(axe,sword...),id,name,lv,unit > string file,*atts,*files; > int i,j; > string dir; > mapping kinds1=(["sword":"SWORD","axe":"AXE","staff":"STAFF","dagger":"DAGGER", > "fists":"FISTS","spear":"SPEAR","hammer":"HAMMER"]); > mapping kinds2=(["shield":"SHIELD","armor":"ARMOR","surcoat":"SURCOAT","head":"HEAD" , > "neck":"NECK","boots":"BOOTS","finger":"FINGER"]); > string content; > string str1,str2,str3,str4,str5; > object ob; > string *id,*id2=({}); > int num; > > str1=(@long > //This is a eq made by mkeqs command. > #include <ansi.h> > #include <weapon.h> > long); > str2=(@long > void create() > { > long); > str3=(@long > if(clonep()) > set_default_object(__FILE__); > else{ > long); > str4=(@long > } > setup(); > } > long); > str5=(@long > //This is a eq made by mkeqs command. > #include <ansi.h> > #include <armor.h> > long); > > if(!arg) return notify_fail("指令格式: mkeqs <檔案>\n"); > if(arg[0..1]!="/d"&&wizhood(me)!="(admin)") > return notify_fail("你只能加入 /d/ 目錄底下的物件於房間內 !!\n"); > if(file_size(arg)<0) return notify_fail("沒有這個檔案!!\n"); > file=read_file(arg); > files=explode(file,"\n");//取得各裝備之設定 > > //取得檔頭資訊 > if(sscanf(files[0],"%s %d",dir,num)!=2) return notify_fail("檔案格 式錯誤!!\n"); > mkdir(dir); > > //檔案內容製作 > for(i=1;i<sizeof(files);i++){ > content=""; > atts=explode(files[i],",");//取得裝備屬性 > if(!kinds1[atts[0]] && !kinds2[atts[0]]) continue; > if(kinds1[atts[0]]){//武器 > content+=str1; > content+="inherit "+kinds1[atts[0]]+";\n\n"; > }else{//防具 > content+=str5; > content+="inherit "+kinds2[atts[0]]+";\n\n"; > } > content+=str2; > id=explode(atts[1]," "); > id2=({atts[1]}); > for(j=0;j<sizeof(id);j++){ > if(sizeof(id[j])>3) id2+=({id[j],id[j][0..2],id[j][0..0]}); > else id2+=({id[j],id[j][0..0]}); > } > content+="\tset_name(\""+atts[2]+"$NOR$\""+",({"; > for(j=0;j<sizeof(id2);j++){ > if(j!=0 && id2[0]==id2[j]) continue; > content+="\""+id2[j]+"\","; > } > content+="}));\n"; > content+="\tset_weight(10000);\n"; > content+=str3; > content+="\t\tset(\"level\","+atts[3]+");\n"; > content+="\t\tset(\"unit\",\""+atts[4]+"\");\n"; > content+=str4; > content=COMMON->color_replace(content);//使用色碼 > write_file(dir+"eq"+(num+i-1)+".c",content);//寫入檔案 > } > > write("OK!!\n"); > return 1; > } > > int help(object me) > { > write(@HELP > 指令格式 : mkeqs <檔案> > > 可一次製造大量裝備的指令,專門給懶惰的人使用...XD > > > [檔案格式] > 第一行 裝備檔存放目錄,檔案起始編號 > 第二行 kind(axe,sword...),id,name,lv,unit > > ex: > /test/ 1 > axe,axe,小斧頭,10,把 > sword,short sword,$HIR$短劍,1,把 > armor,king armor,$HIB$魔王鎧,10,件 > > HELP); > return 1; > } > > > -- > ╭──── Origin:<不 良牛牧場> bbs.badcow.com.tw (210.200.247.200)─────╮ > Welcome to SimFarm BBS -- From : [218.184.126.198] > ◣◣◢ ◢◢不良牛免費撥接→電話 :40586000→帳號:zoo→密碼 :zoo ◣◣─╯
文章代碼(AID): #11QVwo00 (mud)
文章代碼(AID): #11QVwo00 (mud)