看板mud
标 题Re: [程式]可以一次做大量eq的指令
发信站SEEDNet News Service (Mon Oct 11 11:23:49 2004)
转信站ptt!ctu-reader!ctu-peer!Spring!news.nctu!feeder.seed.net.tw!news.seed.
[Room Maker]
好久以前写的编辑器 [VB]
原理很简单, 要改的有 SOURCE CODE
要修改成颜色预览或是像WORDPAD一样编辑应该不难啦
要是要批量制造的话可以利用 ACCESS一类的资料库 + VB 的 ADO 物件来做
或者可以当成区域的资源档, 有问题时直接由资料库档再覆写一次.......
http://home.kimo.com.tw/fantasy_mud/dl/index.htm 请进 Room Maker
"笨蛋" <
[email protected]> 撰写於邮件新闻
:
[email protected]...
>
> mud写了好多年,也遇到不少询问我mud写作问题的玩家,不过...普遍
> 给我的感觉是...没礼貌跟自大的玩家粉多...!!!XD
> 有自信固然是好,不过,到了自大的境界就让人感觉很差了...
>
> 还有啊~不尊重版权的人也是一堆...所以我有好久不再公开自己写
> 的程式了...最近在做新的mud,所以才顺便po一下程式打个广告...:P
>
> 超魔界大战 wom.adsldns.org:4000
>
> 一个以ps2游戏"魔界战记"为背景并结合卡片战斗的新式mud,现在招募
> 玩家测试中...:P
>
>
> 底下昨晚无聊花一点时间写的,因为是针对我自己的系统所做,所以要
> 用的人要再改一改~and...使用时请保留第一行内容,也就是有我的信
> 箱的部份,算是给我个面子吧~
>
> ----------------------------------------------------------------
>
> //mkeqs.c by raharu [email protected]
> #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》 ◣◣◢ ─╯