Re: [程式]可以一次做大量eq的指令
[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》 ◣◣◢ ─╯
討論串 (同標題文章)
mud 近期熱門文章
13
23
PTT遊戲區 即時熱門文章
-1
33