存盘方式的XYJ2024的当铺文件MUD代码

2025-11-03

/*

Created by waiwai@2009/01/12 改制用于XYJ

在原XYJ文件的基础上,尽量不动原系统底层情况下进行。 当铺永远是低买高卖,这点应该体现。

将本文件CP至/std/room/目录下 然后在/include/globals.h中加入: #define HOCKSHOP_NEW

\

然后仅将长安和开封的当铺房间文件中的:inherit HOCKSHOP; 改为:inherit HOCKSHOP_NEW;

以下两点是必须修改(仅指修改为HOCKSHOP_NEW的当铺):

1、所有当铺老板文件顶部inherit NPC;

下面加入:int is_hock_boss() { return 1; }

2、在/std/room.c中,顶部的int query_max_items() {return 30;} 下面加入:int is_room() { return 1; }

以下几点可酌情修改:

1、所有动态名字的文件,文件顶部加入: int is_random_name() { return 1; } 如果具有no_sell或者无价值可以不加。

2、在/feature/food.c顶部void init() 上面加入:int is_food() { return 1; }

3、增加收购种类,可以比如单独在/d/city/dangpu.c中顶部的 void create () 上面加入:

int is_add_pawn_num() { return 100; }

加入后长安的当铺就是200个种类了,其它的还是100个。

4、can_sell参数可以随意设定一个不能卖的物品可以卖掉。 除了特殊的或者具有no_sell的

5、统一将look paizi一类的改为look sign且不写入房间,避免存盘 后无法修改,凡是想要可以look sign的房间,仅需在房间文件顶 部加入:

int look_sign() { return 1; }

1

巫师可以使用sell -d <物品id>清除当铺中某一种卖品。 */

#include

inherit ROOM; inherit F_SAVE;

int do_sellt(object ob, object me, string boss_name); int do_listhock();

mapping pawned_objects = ([]);

int is_hockshop_room() { return 1; } string money_num(int amount); string log_time();

string filter_color(string arg); string log_id(object ob); int money_all_inv(object me); int color_len(string str);

/* 收购价和原值的比率 */ #define sell_rate

/* 收购后卖出价比率 */ #define to_sell_rate 0.9

/* 可以保存的物品种类基础最大量 */ #define CAN_SAVE_OBJECT 100 #define BUSY_MESSAGE #define ERR_FILE_ZERO

/* 可以保存的单个物品个数最大数量 */ static int max_items = 999; /* 具有操作权限的最低巫师等级 */

// 设定为5在XYJ中指仅可admin权限有权操作 static int Wiz_L = 5;

/* 价值小于 1 两银子的物品当铺不收 */ static int min_value = 100;

string domain_hock_file(string file) {

\你现在忙得很,无法做任何事情。\\n\HIR\文件载入错误,请向管理员反馈。\\n\0.7

2

}

string domain;

if(sscanf(file, \

return domain; else

if(sscanf(file, \

return domain; else

if(sscanf(file, \

return domain;

return 0;

/* 收购种类多样性 */ int rdm_obj_num() { }

/* 是否有BOSS */

object have_hock_boss(object room) {

inv=deep_inventory(room); i=sizeof(inv); while(i--) { }

if(!inv[i] || !inv[i]->is_hock_boss()) continue; flag++; obj=inv[i]; if(!room) return 0; object *inv, obj; int i, flag=0; return tol; if(f)

tol+=f;

f=this_object()->is_add_pawn_num(); tol=CAN_SAVE_OBJECT; int tol, f;

3

}

void init() { }

/* 该当铺存放文件路径和名称 */ string query_save_file() { }

void setup() {

::setup();

seteuid(getuid()); return file;

if(file_size(file)==-1)

assure_file(file);

file=DATA_DIR+\name = base_name(this_object()); if(name[0..0] == \

name = name[1..];

name = replace_string(name,\string name, file;

add_action(\add_action(\

add_action(\add_action(\add_action(\return obj; if(!living(obj)) { }

write(obj->name()+\目前的状态无法办理业务。\\n\return 0; if(flag<1) { }

write(\当铺掌柜不在,无法进行交易。\\n\return 0;

4

}

restore();

/* 获取当票 */

int do_givestamps(string arg) {

if(!stamp_ob) {

stamp_ob = new(\

/* 系统中所有NEW的地方,必须做此判断 */ if(!stamp_ob) { }

stamp_ob->move(me,1);

write(name+\不耐烦的看了你一眼,身上有一张还要?\\n\

write(\当票文件出错,请联络巫师解决。\\n\return 1;

stamp_ob=present(\/* 这里控制存入即可控制典当的地点 */ if(efile!=\

return notify_fail(\这里尚未开放典当业务。\\n\efile=domain_hock_file(r_file); name=boss->query(\

////////////////////////////////////////////////////////

r_file=base_name(this_object()); boss=have_hock_boss(this_object()); if(!boss) return 1; // 禁止冒充BOSS

if(boss->query(\ }

write(query(\当前法定持牌人不在,无法进行交易。\\n\return 1;

////////////////////////////////////////////////////////

if(me->is_busy()) return notify_fail(BUSY_MESSAGE); me=this_player();

object stamp_ob, me, boss; string efile, name, r_file;

} else {

5


存盘方式的XYJ2024的当铺文件MUD代码.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数字鉴别与身份认证实验

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219