加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

天堂2服务器文件说明

(2007-08-27 14:34:00)
标签:

杂谈

scripts/items.scp (物品资料与代码)  
scripts/creatures.scp (npc资料与代码) 
saves/players.save (玩家资料) 
scripts/areatriggers.scp (传诵换场景的资料) 
scripts/emu.conf (模拟器连接资料,在这里修改IP,要让别的电脑也进来玩就改成你的IP) 
saves/world.save (刷NPC的资料) 
scripts/quests.scp (任务的资料) 
scripts/classes.scp (应该是属于初始的天赋)  
scripts/spellcost.scp (技能代码) 
scripts/pages.scp (npc说话定义) 
scripts/gameobjects.scp (游戏中物体名称,模型号定义)  
scripts/creatures.scp (npc定义)  
scripts/defines.scp ( 应该是所有代码编号的定义。如在spellcost.scp中写[spell 10] price=120也就是说,学习SPELL_EFFECT_HEAL(在defines.scp中的208行)需要120铜币。) 
-------------------------------------------------------------------------- 
emu文件 
 
[system] 
server_name=Local Server ——>服务器名称
server_rules=PvP  
http_host=127.0.0.1 ——>HTTP注册页面(需先搭建IIS服务器) 
http_port=8080  
rs_host=127.0.0.1——>填你IP 
rs_port=3724 
ws_host=127.0.0.1 ——>填你的IP就对啦  
ws_port=8085  
world_sleep_ms=500 ——>照字面来看是白天的时间
network_sleep_ms=100 ——>那么这个就是晚上的时间啦  
connection_timeout=300 ——>传说卡号和这个有关 改小就对啦  
loglevel=1 
save_text_ppoints=yes ——>传说修改经验倍数要改成yes  
spawns_dupes_distance=64.0 
max_players=100——>最大玩家数  
这行贴不上来——>不知道干吗的 应该不能少就是了 
 
[game] 
linger=20 ——>刷怪间隔 秒 
npc_corpse_delay=60 ——>怪物尸体存在时间 妙 
autosave_time_minutes=30——>自动保存间隔 秒  
health_growing_rate=1——>回血率 越大越块
mana_growing_rate=10——>回魔率  
energy_growing_rate=10——>回能量  
delete_not_used_accounts_days=0 ——>删除多少天未登录的帐号  
 
[bot]  
rs_host=192.168.0.1-------------->这里填本地IP  
rs_port=3724  
account=WAD2  
password=TEST 

照以上改法,传说内外网都能连上。 
-------------------------------------------------------------------------- 
DB2 Script文件夹中各scp文件含义——quests.scp篇  
 
定义如下:
 
[quest 编号] 任务编号 
name=Sharptalon's Claw//任务名  
desc=//任务提示 
levels=25 30//任务限制等级  
zone=39//任务区域  
quest_flags=08//任务标记类型
src_item=16305//任务完成所需物品编号  
reward_xp=2450//任务奖励经验  
reward_choice=6076 1//任务奖励物品选择:编号,数量 
reward_choice=3070 1//同上
reward_choice=60 1//同上 
deliver=182 1//交付物品:编号,数量 
reward_gold=25//任务奖励金钱:铜币
kill=6 10//任务需要杀目标:编号,数量 
 
——pages.scp篇
 
定义如下: 
 
[page 编号] 话语编号 
next_page 下一个话语的编号
text 话语内容 
 
——spellcost.scp篇
 
定义技能学习需求,含义如下:
 
[spell 编号] //技能编号
reqspell=72 //学习所需技能
price=1100 //学习所需金钱,铜币 
 
npc训练师那里的限制吧。把所有的reqspell去掉,把price都改成1…… 

——items.scp篇

对游戏装备的定义,含义如下:
[item 编号]
skill=0//熟练度  
stackable=1//可堆叠数量
name=Worn Shortsword//名称 
class=2//类型编号,对应defines.scp中定义
subclass=7//类别编号,对应defines.scp中定义
model=1542//模型编号 
quality=1//品质 
buyprice=35//买入价格
sellprice=7//卖出价格  
inventorytype=21//存储类型 
classes=07FFF//使用职业限制 
races=01FF//使用种族限制 
level=2//物品等级 
reqlevel=1//需求人物等级 
damage=1 3 0//伤害 
delay=1900//延迟 
language=1//语言 
material=1//表面贴图  
sheath=3//属性值,这里指大武器,左手装备 
durability=20//耐久度  
 
——gameobjects.scp篇 
 
这个文件是对游戏中出现的怪物的定义,其含义如下: 
[gameobj 编号]
name=Old Lion Statue//怪物名
type=2//怪物类型 
model=6//所用模型 
sound0=43//第一种声音 
sound1=73//第二种声音 
 
汉化的话,应该是在这个文件吧  
 
——defines.scp篇 
 
Script文件夹中的定义,都由defines.scp文件开始。这里定义了几乎所有东西的编号。首先我们来看看这个文件的内容。
 
按顺序是:
races节:定义种族编号。
classes节:定义职业编号 
powers节:定义能量类型编号。
classes节:(注意和前面的区分)定义装备类型编号。 
subclasses节:定义装备类别编号。
itemtypes节:定义物品编号。
(ps:前面三个地方很容易搞混,不知道写的时候是怎么想的*_*)
sheath types节:定义武器属性编号,如单手,双手 
slots节:定义饰品编号 
creature types节:npc类型编号  
(接下来的节没有名称,汗!我们以数字n来代替) 
1节:世界语言定义编号 
2节:技能(魔法)效果编号定义
3节:技能(魔法)动作模型编号定义
4节:人物状态编号定义 
5节:游戏物品(城市中)编号定义
6节:表情编号定义
7节:人物动作动画编号定义  
8节:物品动画编号定义
9节:(不是很明白)推测是砍人动作动画的编号定义 
10节:似乎是射箭动作动画的编号定义  
11节:锁类型编号 
12节:技能训练师的编号定义
 
这个文件中定义了游戏世界中几乎所有东西的编号,在下面的文件中出现的编号,都可以在这里找到。要注意的是,编号采用了2种方式。  
首先是在每一节下面都是从1开始编号的。对应的调用应该是在scp文件中对应变量,写出这个编号。如spell,在spellcost.scp文件中,写[spell 1]就表示这个魔法的效果对应2节下的编号1,同时对应3节下的编号1。
第二种是几节都拥有顺序的编号,7至10节的动画编号定义就是这样。在第7节中,是写出了0x0一直到0x86,8节中之写出了0x87,后面应该是使用得偏移量写的,如8节中写1就表示0x88。以此类推。  
 
——classes.scp篇  
 
classes.scp包含对于种族的初始化定义。以暗夜精灵为例,其含义如下:
startmap=1 // Kalimdor 出生地图编号  
startzone=14 // Teldrassil 出生地点编号
startpos=10311.3 832.463 1326.41 1.0 出生地点位置
startstats=17 25 19 20 20 // Str, Agi, Stm, Int, Spr 初始化属性值
bodymale=55 推测是男性身体高度值  
bodyfemale=56 推测是女性身体高度值  
skill=98 300 300 // Language: Common 指种族语言  
spell=668 // Language: Common 指spell编号
skill=113 300 300 // Language: Darnassian 指种族语言 
spell=671 // Language: Darnassian 指spell编号
spell=019CB // Attack 指spell编号  
spell=81 // Dodge 指spell编号  
skill=162 1 300 // Unarmed
spell=203 // Unarmed 指spell编号  
spell=20580 // Shadowmeld 指spell编号
spell=20582 // Quickness 指spell编号
spell=20583 // Nature Resistance 指spell编号  
spell=20585 // Wisp Spirit 指spell编号  
// Range Attacks 远程攻击  
spell=75 // Auto Shot 指spell编号
spell=2764 // Throw 指spell编号
skill=45 1 300 // Bows  
spell=264 // Bows 指spell编号  
skill=46 1 300 // Guns 
spell=266 // Guns 指spell编号 
skill=176 1 300 // Thrown 
spell=2567 // Thrown 指spell编号
 
上面的定义中,spell是指数据库中技能魔法的编号,而skill是指的熟练度。但是我不明白skill中3个数值的表示是什么意思。达人指教!
 
——areatriggers.scp篇  
 
areatriggers.scp文件包含世界跳转的位置。
其含义如下: 
[areatrigger 编号]
note=注释 
pos=所属地图 x坐标 y坐标 z坐标
topos=目标地图 目标x坐标 目标y坐标 目标z坐标 
totrigger=目标转换点 
 
[areatrigger 编号]定义转换点的编号,在totrigger中使用。 
note,注释 
pos,转换点所在位置
topos,目标转换点所在位置  
totrigger,转换到某个转换点

一般更新都是这里的东西了 看看吧 也许有你想要的答案
--------------------------------------------------------------------------
如果用户被卡主,作为GM怎么办?  
就是说,客户端中断了,再连接就说此用户已经在线了,不能登陆,作为GM怎么解决? 
我以为刷新后就可以了,结果等了半个小时也不行,怎么办呢?  

connection_timeout=300的值设置小一点,单位是秒,一般1分半到两分钟就行了! 

产生新NPC的方法  
 
先知道相应NPC模板代码 比如99999 
用GM账号跑到要放导师的地方: 
.addspawn 99999 在GM站立的地方安放一个NPC的刷新点。
.setspawndist 0 0 该刷新点刷新的怪物自主移动范围为0-0
.setspawntime 1 1 该刷新点刷新怪物的时间间隔为 1-1秒。
 
出现小人 既刷新点 
等几秒钟 出现啦
 
清除刷新点的GM命令 

游戏里选定你要删除的小人,输入.del 
 
改经验:
save_text_ppoints=yes
delete_not_used_accounts_days=0
cript目录下的startup.tcl文件
set xp [expr {5*$victim_level+5}]这句  
前面的5是倍数,后面的5是直接得到的经验,改哪个都可以  
if {$lvldiff <= -5} { return 0 } 
-5是怪少与你5级就没经验,你可以该多点,这样就不会打一只怪升了很多级再打没经验了 
 
关于HP,MP及存盘不能正常设置:
1,打开DB2.0安装文件夹
2,打开scripts子文件夹
3,打开emu CONT文件,按照“办法”修改。
大家可能只是修改了主文件夹下的emu CONT,所以造成无法存盘现象。
 
如何保存
 
CTRL+C之后 过几秒显示saveing的提示后会自动关闭 请注意
或者GM号进游戏打.save 

如何联机 或者说如何做服务器让人玩
 
琢磨一下emu文件 上面有详细解释

我想把卡号的移动到我身边 该用什么命令呢?

.goname 人物名 - 你飞到该人物身旁
.namego 人物名 - 把该人物拉到你身旁 

我想玩生产系的。请问怎么样改资源的刷新速度

举个例子来说吧: 
输入 
.addspawn / 
.setspawngo 1731 // 加一个 copper vein 铜矿  
.setspawntime 100 200 // 100-200 秒 重新生成, 你改小就可以刷的快了
.setspawndist 100 200 // 每次重刷的距离在100-200尺, 这可以避免矿一直出现在同一地方 
 
server_name=Local Server ——>服务器名称
http_host=127.0.0.1 ——>HTTP注册页面(需先搭建IIS服务器) 
delete_not_used_accounts_days=0 ——>删除多少天未登录的帐号 
 
 

 
set lvldiff [expr {($victim_level/$killer_level)}] {9_}
  if {$lvldiff >1} { set xp [expr {100*($xp+(10*$killer_level*$lvldiff))}] }
  if {$lvldiff ==1} { set xp [expr {100*($xp*1)}] } 
  if {$lvldiff <1} { set xp [expr {100*($xp-(10*$killer_level*$lvldiff))}] }
  
100*就是100倍

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有