看板mud
标 题[程式]可以一次做大量eq的指令
发信站不良牛牧场 (Wed Sep 15 10:36:16 2004)
转信站ptt!ctu-reader!ctu-peer!news.nctu!news.csie.ncyu!news.cs.nthu!SimFarm
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》 ◣◣◢ ─╯