北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
12
返回列表 发新帖
楼主: seagate

新版住宅系统文档公布贴

[复制链接]
发表于 2011-11-30 18:33:10 | 显示全部楼层
过来膜拜一下硬盘神仙
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-11-30 21:36:15 | 显示全部楼层
太复杂了,建议列个付出跟收获的总表....
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-11-30 23:16:35 | 显示全部楼层
为什么论坛页面的宽度不能以1024*768为标准
要搞得那么宽
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-12-2 12:54:07 | 显示全部楼层
无条件支持!!!!!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2014-12-19 12:24:48 | 显示全部楼层
豪宅系统设计资料(V0.8 )
1、        概要
豪宅系统包含大道/街道/小巷/住宅四级结构,其中每一级的头房间包含该级下辖对象的情况以及管辖的子级别对象的概要统计信息。
豪宅系统中一期住宅拥有房屋描述和房屋名称装修、马车直接送达以及召唤马车、卧室储物柜三种额外功能,马车定位在每个街道的头房间哪里关联车马行,能够将人运送到本街道下辖的各处住宅,最初级的车马行拥有3辆马车,同一时间内只能运送3个人到目的地,投资扩建或者随着交易积累将会最终达到15辆马车的水平。泥瓦匠哪里目前只开通了帮你修饰住宅名称和住宅描述的功能,更多的功能设施等待二期以后才能开启,泥瓦匠最开始只有3个工人和一个老板帮你干活,最终泥瓦工将达到15个人。木匠哪里帮你加工家具,目前只能加工卧室储物柜,每个卧室只能拥有一个储物柜,木匠也是最开始有3个工人和一个老板帮你干活,最终木工达到15人。
交易系统设在官府中负责整个城市的住宅交易行为,住宅交易分为新房预订,旧房拍卖,旧房出租三种形式,并且会在所在住宅对应的四级区域结构中存储相关交易情况,并根据历史交易记录来制定交易的指导价格,旧房的最低成交价将在官方指导价格上下20%的范围内浮动,最高成交价上不封顶。
2、        数据结构
        地址
地址由“城市编号_大道编号_街道编号_小巷编号_住宅编号_宅内房屋编号”组成,其中城市编号在user_room.h头文件的结构uroom_def的键字来识别,大道编号和下辖的对象编号都是从0开始顺序递增,每个对象的最大数量由uroom_def中该城市下的具体定义而定。
        对象关键信息存储
系统中大道/街道/小巷/住宅四级结构中存储着结构相似的关键信息,这个结构都继承自uroom_base.c,都用user_stat来存储,分为基础信息、统计信息和下级结构关键信息三方面内容。
基础信息包含以下键字:name存放该级对象名称,desc存放该级对象描述,user存放命名的玩家id,user_name存放命名的玩家名称,time存放命名的玩家时间。
统计信息包含以下键字:
键字        含义
total_rooms        已开发的总房屋数
total_lv1/2/3        lv1、lv2、lv3三级房屋总数
user_rooms        玩家拥有的总房屋数
user_lv1/2/3        玩家拥有的三级房屋总数
book_rooms        被预订的房屋总数(在官府登记的房屋)
book_lv1/2/3        被玩家预订的三级房屋总数(在官府登记的房屋)
vendue_rooms        被拍卖的房屋总数
vendue_lv1/2/3        被拍卖的三级房屋总数
avg_price_lv1/2/3        三级房屋的平均拍卖价格,以金条计价
total_bvalue_lv1/2/3        三级房屋的总销售价值,以金条计价
total_brooms_lv1/2/3        三级房屋的总销售栋数
road_streets        该大道目前已开发的街道数量
street_alleys        该街道目前已开发的小巷数量
下级结构关键字:
下级结构其中街道信息关键字由s_街道编号组成,放在上级大道的user_stat中,包含名称、和大道的链接信息以及关键统计信息。
小巷信息关键字由a_小巷编号组成,放在上级街道的user_stat中,包含名称、和街道的链接信息以及关键统计信息。
住宅信息关键字由ur_住宅编号组成,放在上级小巷的user_stat中,包含和小巷的链接信息以及住宅级别(level)。在这个结构中包含了该住宅交易的一些特有统计信息,包括最高交易价格(max_price)、最低交易价格(min_price)、平均交易价格(avg_price)、总销售价值(total_bvalue)、总转手次数(total_trans)、最近交易价格(last_price)、最近交易玩家(last_user)、最近交易时间(last_time)。
宅内房屋信息关键字由us_宅内房屋编号组成,放在住宅的入口对象文件的user_stat中,存放着住宅内所有内部房屋的可变信息。
        住房交易的市场指导价
指导价格=(该条小巷该级别房屋的基准价格×100+该条小巷该级别房屋的总成交价格)/(100+该条小巷该级别房屋的总成交次数)
不排除未来将指导价格修改为按照街道而不是小巷计算的可能性。
对于已经持有1套或者多套住宅的玩家来说,指导价格=指导价格×住宅套数×10,每个城市玩家有且只能持有1套住宅。
        住房交易相关结构(未完成开发)
住房交易相关的信息存储分为三部分分别存储在交易相关三方对象身上,三方对象分别是被交易方、交易方和交易市场。其中被交易方住宅的user_stat结构上存储着和这个住宅相关的那些交易的最终状态信息;交易方玩家的属性myhome上存储着玩家和住房相关的关键信息,包括拥有、预订、参与拍卖、租赁的物业相关信息,包括拥有的附加服务相关的服务费相关信息,包括自己住宅相关的其他关联信息等等;交易市场方由文件room_market.c来定义,其中里面的结构room_market存储着交易相关的信息,主要提供预订、拍卖、租赁三种交易形式的本城交易情况。
首先住宅的user_stat中包含下列和交易相关的关键属性:
键字        含义
user        住宅的所有者
room_masters        住宅的使用者列表
invite_list        住宅的被邀请者
book_user        住宅的预订者(已在官府登记)
book_time        住宅的预订时间(官府登记时间)
book_mark_time        住宅的预订时间(住宅标记预订的时间)
book_end_time        住房的预订交易结束日期
booked        住宅的预订标记
vendue_user        拍卖玩家(拍卖交易中出价最高的玩家)
vending_time        起拍时间(所有者在自己住宅上挂牌拍卖的时间)
vendue_time        拍卖时间(拍卖交易中出价最高的该笔交易时间)
vending        被拍卖标志
rent/卧室编号/{rent_user,rent_time,rent_mark_time}        租赁属性下是一个结构,结构键字为空余卧室对应的室内房间编号,包括租赁者、租赁时间、租赁挂牌时间三个属性。
交易方玩家的属性myhome包含和它相关住宅的一切信息,主要包含home(拥有的住宅)、book(预订)、vendue(拍卖)、rent(租赁)和fix(装修)五种信息,再下面是城市编号,表示是哪个城市的信息,城市下面是该城市住宅的具体信息。home包含addr(地址)、price(购买价格)、buy_time(购买时间)、level(住房级别);book包含addr(地址)、book_flag(预订标志,1-已预订未付定金、2-已预订已付定金、3-取消预订)、time(预订时间)、price(房屋评估价);vendue包含addr(地址)、price(房屋评估价)、time(起拍时间)、flag(拍卖标志,1-起拍但是未到官府登记,2-起拍并且到官府登记,3-取消拍卖);rent和fix待定。
本城交易市场的room_market结构信息,分为book(预订),rent(出租),vendue(拍卖)三种,每种下面存在该种交易的交易信息,键值为addr(地址),内容为内容为拥有者(owner)、交易提交日期(start_time)、最近交易日期(last_time)、最近交易对手(last_user)、交易标志(flag:0-建立、1-交易、2-交易成功、3-意外中止)、原始交易价格(price)、最近交易价格(last_price)、交易截止日期(end_time)等,部分属性如果该类交易不支持则可以不填写,比如预订交易的时候owner属性就没有意义,租赁交易由于不采用拍卖制所以最近交易价格last_price这个属性就没有意义等等诸如此类的情况。
        繁荣度/开发度(未开发)
繁荣度/开发度计算为街道和大道二级所独有,涉及到的公式如下:
繁荣度=(玩家房屋市场价值+未售房屋基准价值)/总基准价值
开发度=(已开发房屋基准价值+折算后的玩家投资额)/已开发小区总基准价值
总基准价值=Σ(设定的该级对象所能拥有的最多房屋数×每级房屋占比×每级房屋基准价格)
玩家房屋市场价值=Σ(该级房屋玩家拥有的栋数×该级房屋平均交易价格)
未售房屋基准价值=Σ(该级房屋未出售和未开发的房屋栋数×该级房屋基准价格)
已开发房屋基准价值=Σ(该级房屋玩家拥有的栋数×该级房屋基准价格)
折算后的玩家投资额=玩家投资额/繁荣度
已开发小区总基准价值=Σ(该级房屋拥有的栋数×该级房屋基准价格)
其中繁荣度越高相同投资额获得的收益越低,开发度超过80%则将会开放下一个小区,从而让开发度重新降低,直到该级对象不存在未开发小区。
3、        住宅小区功能
豪宅系统中一个城市拥有的住宅数量默认值是每个城市可以拥有5条大道,每条大道下面有10条街道,每条街道下面有100条小巷,每条小巷里面有100栋住宅。住宅分为lv1/lv2/lv3三个级别,分别对应三个级别的住宅,三个级别住宅的出现几率的默认值为80:15:5,三个级别住宅的默认基准价值分别是1根金条、10根金条、100根金条。
典型的最低级别lv1级别住宅只有一个卧室,只有拥有睡眠和储物功能,仅供自己使用,不允许邀请他人到自己的卧室。
Lv2级别住宅为中间级别的住宅,拥有1个客厅和3间卧室,其中一间卧室为自用,另外二间卧室可以供家属或者出租使用,卧室不允许除卧室主人以外其他人进入,可以邀请他人到你的客厅里面,除了卧室的睡眠和储物功能以外,客厅可以扩展其他功能,具体功能等待二期实现。
Lv3级别住宅为最高级别的住宅,拥有一个小院和三个独立的带花园的一室一厅别墅,除了一间别墅为主人拥有外,其他别墅可以出租或者供家属使用。除了别墅内部功能类似于lv2级别以外,花园和小院内拥有更丰富的可扩展功能,具体功能等待二期实现。
4、        住宅交易系统(未完成开发)
任何涉及到住宅所有权、使用权变更相关的操作都要到当地衙门处理,具体处理人看当地的房地产交易市场管理官员设定了,挂给谁就是谁处理住宅交易。住宅交易一共分为新房预订、旧房出售、旧房出租三种形式,其中旧房出租是指除lv1级别住宅以外的其他住宅有空余卧室的情况下可以把该卧室出租给其他人,然后可以按现实时间每天来收取一定费用,具体费用初始标准可以设定为房屋市场价值/10000,具体费用由玩家自己定义。在涉及到住宅所有权变更的任何交易中,交易价值不能低于该城市定义的该级别住宅基准价值,并且不低于该住宅所在街道中该级别房屋的平均市场价值的80%。玩家参与住宅交易系统的唯一条件就是声望要达标,其中LV1级别的住宅需要声望10万,LV2级别的住宅需要声望50万,LV3级别的住宅需要声望200万。每个城市职能处理本城范围内的住宅,这个限制条件是由交易市场官员身上的room_city属性来决定的。
新房预订分为两个环节,第一个环节是自己看中某一个住宅以后,在该住宅上标记上该住宅我已经预订了,这个预订只有1小时有效时间,超过1小时没有办理后续手续则其他人可以重新预约。第二个环节上到官府缴纳住宅价值1%的税款完成住宅预订手续,每笔交易都要缴纳交易额的1%作为交易环节税收,并且交易失败不退还所收税款。在官府完成预订手续后24小时内出价最高的玩家则获得该住宅的所有权,并且在交易结束以后的24小时内完成最后的缴纳所有房款以后该住宅将属于该玩家所有,超过24小时未缴纳房款则需要重新进行预订交易。
旧房出售采用拍卖形式,所有者向官府报备登记以后就将该住房推向市场,所有者可以制定拍卖起始价格,每次最低加价金条数,拍卖时间(不超过72小时)。在拍卖时间截止以后最高出价者将拥有该住宅,他拥有24小时的缴款期限,在缴完款项以后所有者有24小时的领款时间,每个拍卖环节有1%的交易税,并且最后成交所有者要缴纳10%的税收,也就是说最后所有者能够拿到房款的90%。所有者超期未领款则该款项自动被系统作为该街道的投资额增加该街道的开发度。
旧房出租是将屋主未利用的卧室出租给其他人使用,只有lv2/lv3两个级别房屋才有该功能,出租分为两种形式,第一种形式将卧室出租给家庭成员(目前也就是妻子),不用收租金和任何手续费,就是一个使用权登记手续,主要是利用这个形式减少代码量;第二种形式将卧室出租给其他人员,屋主将出租信息挂在官府交易系统中,玩家接受出租条件将完成出租协议签订,租金按天缴纳,玩家使用该卧室的时候缴纳未缴纳天数的所有租金,超过15天未缴纳租金的屋主有权收回房屋,卧室内所有设施清空,重新变回清水房(也就是如果有储物柜,并且储物柜内有物品的话,这些东西都将消失)。租金每天最低按该房屋市场价值/10000收取,上不封顶。
5、        附属设施 (未开发)
        概要
所有附属设施单位时间内设施使用都是有限度的,不存在无限使用的情况,初步认定附属设施起始提供是每个商户那里有三个工人提供服务,经过不断交易和玩家投资,将会提升该商户的盈利能力,最终扩展到商户那里最多提供十五个工人提供服务。
初步想法是商户那里有一个每日盈利指数,这个指数由每实际日期的交易次数和玩家投资额综合决定:
每日盈利指数=该日该商户交易次数+该日玩家总投资额/10000
当每日盈利指数达到工人数×30的时候下一天增加一个工人,否则当盈利指数未达到工人数×10的时候下一天减少一个工人,工人数量最低是三个人,最高是十五个人。
商户的服务设施也是有级别的,大多数高级级别的服务设定要等待二期再说,目前一期只有最低级别和部分设施的大多数级别服务。更细致的服务需要玩家的不断投入,连续三天该商户一直处于盈利状态(盈利指数达到工人数×10最低门槛以上)并且该商户的总盈利达到商户级别平方×1000则该商户将会升级。
商户总盈利=Σ(每日盈利指数-工人数×10)
商户总盈利在下面两个条件下清0重算:第一个条件是达到条件商户升级,第二个条件是商户连续三天处于亏本状态。
商户处于下面条件下将会降级:商户连续七天处于亏本状态。
        宅内附属设施
宅内附属设施只有lv2/lv3两个级别的住宅才有该功能,lv1住宅只能添加储物柜。我设想的可能功能包括练功场、静室、书房、厨房等等,其中厨房需要从客厅扩展,静室和书房需要从空余卧室改造,练功场需要从室外空地扩展。别墅和普通住宅区别是别墅每个卧室能够扩充2个房间可以作为静室或者书房,而普通住宅只能改造自己的两个卧室为书房或者静室,也就是说当要扩展功能的时候别墅依赖还能住三个人,而lv2住宅就只能住一个人。
        车马行
车马行提供的是本街区内的送达服务,最低级别耗时3秒,每次服务需要缴纳服务费15银子;每提高5个级别,耗时减少1秒,服务费减少2两银子,直到耗时最低1秒,服务费最低1两银子。
        泥瓦匠
泥瓦匠提供的是本街区内住宅改造工作,包括住宅装修,住宅室内外附属设施改造等等功能,一期只有住宅改名和住宅描述修改功能。不同级别的泥瓦匠提供的功能大不一样,每个级别上的服务功能收费级别×1两黄金,耗时级别×1分钟,大体上每提升2个级别将会提供一个新功能,也就是1,3,5….级别将会由新的服务。装修需要报价比较昂贵,但是提供的等价交易次数1次实际交易相当于对应服务级别次数的盈利指数公式中的交易次数。
        木匠
木匠提供的本街区内住宅室内或者室外木质家具,包括储物柜、不同级别的练功木人、练功设施的后期加工等等功能,其他具体设置大体与上一个泥瓦匠类似。木匠需要报价比较昂贵,但是提供的等价交易次数1次实际交易相当于对应服务级别次数的盈利指数公式中的交易次数。
        书肆
为自己的书房的书架添加各种书籍,领悟和参禅、悟道都需要相应的书籍支持,不同级别提供的书籍种类不同;正常应该包括读书写字、领悟、参禅、悟道相应书籍。知识类书籍只能read,不能领悟,最高500级。领悟、参禅、悟道等和门派提供的对应功能类似,不过他是根据书籍的不同来获得不同的效率,其中基本功能的书籍提供原先90%的效率,初级功能的书籍再增加10%效率,中级和高级功能的书籍在这个以前的基础上再增加10%,也就是说最终是正常外面效率的120%。初步定为1级提供读书写字(50级×书肆级别,最高500级),3级提供基本的领悟书籍,4级提供基本的参禅、悟道书籍,5级提供初级的领悟书籍,6级提供初级的参禅、悟道书籍,10级提供中级的领悟书籍,11级提供中级的参禅、悟道书籍,15级提供高级的领悟书籍,16级提供高级的参禅、悟道书籍。书籍仅在自己家的静室或者书房中才有效果,每使用1万次需要重新购买书籍。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2015-1-6 21:54:34 | 显示全部楼层
这个很期待啊,框架清晰,细节上最好能增加更多玩家可支配(自定义)元素
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2015-1-6 22:12:08 | 显示全部楼层
彻底烂尾,写完的代码都被我洗掉了。
洗了无数年了
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-3-29 07:36 PM , Processed in 0.009301 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表