[程式]可以一次做大量eq的指令
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
6
12