石器百科 开始游戏

新手入门

这篇文章按照一个新角色真实会经历的顺序来写:先建角色,再熟悉操作,然后在家乡村子里转一圈、出村练级、登记记录点,最后在 30 级去参加成人礼。所有数字都取自原版 2.5 服务端源码与数据(gmsv),网页版按同一套规则运行。

一、创建角色

登录页输入账号和密码:第一次使用的账号会自动注册,以后用同一组密码登录。每个账号有 2 个角色位。

出处:docs/STATUS.md 第 0 节「账号」。

建角分三步:选外观 → 设定名字、长相与能力 → 选出身地。

1. 外观

可选的人物共 48 种:12 种体型(男孩、少年、青年、女孩、少女、女性等)× 每种 4 个颜色。服务端只接受这 48 个图号,其余一律拒绝建角。第二个画面还能分别调整眼睛(部分体型是鼻子)和嘴巴的形状,各有 5 种。

出处:char/char_data.c CHAR_playerImageNumber[]、CHAR_checkPlayerImageNumber;网页版 client/src/ui/sa/login/CharMakeScreens.ts(graphicOf = 100000 + 20×体型 + 5×颜色)。

名字最长 16 个字节(一个汉字算 2 字节,最多 8 个汉字),不能含空格、逗号、| 和 \。

2. 能力点:4 项共 20 点

能力 主要影响
体力 耐久力(HP)
腕力 攻击力
耐力 防御力
速度 战斗时的行动顺序

规则:

  • 每一项 0~20 点,四项合计必须正好 20 点,否则服务端拒绝建角。
  • 存档里的能力值是「点数 × 100」,比如腕力 8 点即 800。

出处:char/char.c CHAR_makeCharFromOptionAtCreate(MAXPARAMETER 20;ch->data[CHAR_STR] = str*100)。说明:版本宏 _NEW_PLAYER_CF 开着时,源码只检查「合计不超过 20」,但客户端建角画面必须把 20 点用完才能确定,结果一样。

各能力怎样换算成攻击、防御、HP,见 人物属性与成长。

3. 四元素:共 10 点

地、水、火、风四种属性:

  • 每种 0~10 点,合计必须正好 10 点;
  • 最多只能有两种属性;
  • 地和火不能同时有,水和风不能同时有(它们互为对面)。所以合法组合只有:纯地/纯水/纯火/纯风,或 地+水、水+火、火+风、风+地。
  • 服务端存为点数 × 10,比如地 6 水 4 即地 60、水 40。

出处:char/char.c CHAR_makeCharFromOptionAtCreate(MAXATTRIBUTE 10、cnt > 2 拒绝、attr[0]&&attr[2]、attr[1]&&attr[3] 拒绝)。

相克关系是 地克水、水克火、火克风、风克地(建角画面的说明文字:「地属性。与水属性的对手战斗时较为有利」等)。克制带来的伤害加减见 战斗。

4. 出身地:4 个村子

编号 村子 所在岛 画面上的介绍 出生位置 送的宠物
0 萨姆吉尔村 萨伊那斯 位在萨伊那斯的东边,四个村子中最大也最整齐 萨姆吉尔的村长家 (15,22) 乌力乌力
1 玛丽娜丝渔村 萨伊那斯 位在萨伊那斯的西边,面向美丽海滩 玛丽娜丝的村长家 (20,16) 凯比
2 加加村 加鲁卡 位在加鲁卡的东边,四周被森林围绕 加加的村长家 (21,16) 克克尔
3 卡鲁它那村 加鲁卡 位在加鲁卡的西边,建在好几个小岛上 卡鲁它那的村长家 (14,20) 威伯

出处:出生位置 char/char_data.c elders[] 与 CHAR_getInitElderPosition;村子介绍文字取自网页版建角画面 CharMakeScreens.ts TOWN_TEXT(与原版客户端相同)。

二、新角色的初始状态

  • 等级 1,经验 0;魅力 60;气力(MP)100/100;HP 按能力算出后补满。
  • 石币 0。
  • 送一只家乡宠物:服务端用怪物表 enemy.txt 里编号 = 出身地编号 + 1 的「初期拥有的××」生成,等级 1,直接设为出战宠物。
出身地 宠物 宠物图鉴编号 属性
萨姆吉尔村 乌力乌力 2 水 4、火 6
玛丽娜丝渔村 凯比 112 地 2、风 8
加加村 克克尔 102 水 7、火 3
卡鲁它那村 威伯 34 地 6、风 4
  • 不送道具:新手道具由私服配置 setup.cf 的 ITEM1~ITEM15 决定,原版默认全空,所以背包是空的。(私服可改。)
  • 骑乘:RIDEPETLEVEL 原版默认 -1,新角色还不会骑宠物,要找骑乘训练师上课,见 骑乘。

出处:char/char.c CHAR_createNewChar(CHAR_CHARM = 60、CHAR_MAXMP = CHAR_MP = 100、家乡宠物 setNewplayergivepet(0, LASTTALKELDER+1)、CHAR_loginAddItemForNew);configfile.c getNewplayergiveitem / getNewplayerpetlv / getRidePetLevel 的默认值;宠物属性取自 enemybase.txt。

三、网页版怎么操作

网页版照原版的鼠标操作来做,同时补了手机触控。下面都是对照客户端代码确认过的行为。

鼠标

操作 效果
左键点地面 走到那一格(自动寻路,路线会绕开门和楼梯的传送格,除非你点的就是那一格)
按住左键满 1 秒 进入「移动模式」:人物一直朝鼠标所在格走,松开后仍然有效,下一次左键点击才退出
左键点 2 格以内的 NPC 或玩家 不走路,转身面对对方(同时向服务端发送「看」)
面对其他玩家后按画面上方的按钮 「名片」「交易」「加入队伍」「决斗」等按钮都是对面前一格的玩家生效,先点对方让自己转身面对他再按
右键 转身面向鼠标所在的格子;如果身边一格(含脚下)有地上的物品,就捡起来
滚轮 无作用(原版没有缩放,镜头一直跟着人物)

出处:client/src/demo/MapViewBootstrap.ts setupInput(右键对应原版 mouseRightCrick → turnAround + getItem,map.cpp)、lookAtTile、tryPickupAt。

和 NPC 说话

原版的「说话」不是点击,而是面对 NPC,在聊天行打字,按回车送出。网页版一样:

  1. 走到 NPC 旁边(一般要在 2 格内,有的要正对面一格),左键点它让自己转身面对它;
  2. 直接打字(野外时键盘输入会自动进入聊天行),比如打「你好」或「hi」;
  3. 按回车。NPC 会回答、开窗口,或者开店。

商店 NPC 不管你说什么都会打开买卖窗口;有些商店还认得「买」「卖」等关键词。护士、记录点、传送员等也都是这样触发的。

出处:MapViewBootstrap.ts 注释「原版对 NPC 说话 = 面向它按回车说一句话(TK → TALKEDFUNC)」;商店见 tools/src/game/world.ts shopTalked(对应 NPC_ItemShopTalked)。

键盘

按键 功能
回车 送出聊天 / 和面前的 NPC 说话
↑ ↓ 聊天历史
Esc 关闭最上层的窗口
Ctrl+M / S / P / I / E / A 地图 / 状态 / 宠物 / 道具 / 邮件 / 相簿
Ctrl+T 交易窗口
Ctrl+Q 游戏设定(等于左上「选单」按钮)
Ctrl+W 动作窗口
Ctrl+数字 人物动作,例如 Ctrl+1 坐下、Ctrl+2 挥手、Ctrl+3 点头
F1~F8 插入预先登录的常用文字
F11 显示/隐藏人物名字
F12 截图
Page Up / Page Down 玩家模式 ⇄ AI 模式(自动战斗)
Alt+Enter 全屏切换

完整的按键说明见 网页版说明。

聊天频道:/p 内容 队伍频道,/f 内容 家族频道,/w 名字 内容 密语。

手机 / 平板(触控)

  • 点地面走路,和鼠标左键相同。
  • 点 2 格内的 NPC:人物转身并自动对它说一句话(内容是常用文字 F8 那一行,没设定就是「hi」),用来代替回车键。
  • 点左下角聊天输入行:弹出系统键盘打字。
  • 道具、邮件、交易等窗口里的双击动作,可以用快速连点两下代替。
  • 目前触屏上没有对应「右键」的操作,捡地上的东西需要鼠标右键。

出处:MapViewBootstrap.ts onTouchTalk、serverGame.ts(chatRegistry()[7] || 'hi')、ui/sa/hud/FieldUi.ts(点聊天行弹键盘)、ui/sa/core/touchInput.ts。

四、熟悉你的家乡

出生时人在村长家里。走出村长家就是村子本身。以萨姆吉尔村为例(另外三个村子的设施相同,门的坐标见 世界与地图):

设施 萨姆吉尔村里的入口 用途
出村 (49,116) → 萨伊那斯 (637,491) 去野外练级
村长家 (98,44) 出生点;家族管理员、家族银行、战斗指导员、占卜师
武器店 (63,99) 武器店、防具店两个柜台
道具店 (67,108) 首饰、手环、附带精灵的饰品
宠物店 (69,72) 卖宠物、寄放宠物、超级饲育员(学宠物技能)
肉店 (54,81) 回复 HP 的肉
医院 (81,66) 护士(回复)、药剂师(回复药、解异常的草药)、美容师
便利商店 (106,91) 素材屋、加工的老师、寄放店(寄放一件 50 石币)、委托
长毛象快递 (63,117)、(63,118) 送货打工
储存点 NPC 村中 (94,99) 登记记录点(见下一节)
斗技场向导 村中 (56,59) 凭斗技场门票去 竞技场

出处:门的坐标来自 data/map/mapwarp.txt 与 npcgen_warp;设施来自 data/npc/**.create。

新手用得到的商品(萨姆吉尔)

武器店里等级要求 0 的入门武器(价格单位:石币):

道具 价格 效果
小斧头 65 攻 +9 防 -3 敏 -3
小棍棒 50 攻 +4
小的枪 60 攻 +5 敏 -1 魅 +1
小的爪 55 攻 +3(两次攻击)
小的投掷斧头 50 攻 +4(远程)

防具店的入门防具:粗杂的兜 50(防 +3)、破烂的帽子 40(防 +1)、粗杂的铠 75(防 +4 敏 -1)、破烂的服 60(防 +2)。

医院药剂师:耐久力回复药 25(回复约 100)、复活药(100) 100,以及各种解异常的草药。

肉店:小的肉 12(回复约 20)、乾燥肉 18、大的肉 30、高级肉 48。

出处:各店 ItemList 与 itemset.txt 价格;售价 = 道具价格 × buy_rate(这些店都是 1.0),卖回店里按 sell_rate(武器/道具店 0.2,肉店 1.0)。

刚出生时一块钱也没有,先出村打几场,把掉落的肉和道具卖掉,就能买第一把武器。装备怎么选,见 道具与装备。

医院:10 级以前免费

四个出生村的护士都是 等级 9 以下免费。10 级起收费:耐久力回复收 等级 × 0.5 石币,气力回复收 等级 × 2.0 石币(不足 1 收 1),宠物回复始终免费。

出处:护士参数 10|0.5|2.0|2(npcgen_winhealer:免费等级上限 | HP 倍率 | MP 倍率 | 范围);npc_windowhealer.c NPC_WindowCostCheck,网页版 world.ts healCost / healMoney。

五、记录点:第一件要做的事

记录点决定你登出后从哪里上线、战斗失败后被送回哪里。

  • 新角色的记录点是家乡的村长家(出生的位置)。
  • 用「登出」正常离开游戏,下次上线就在记录点。
  • 战斗失败会被送回记录点,HP 剩 1。

每个村子都有一位储存点 NPC。第一次登记要交给他指定的肉,以后再跟他说话就能免费把记录点改到这里。家乡村子的储存点也一样要交肉(新角色只登记了村长家,没有登记村里的储存点)。

村子 储存点 NPC 位置 第一次登记要交 这种肉从哪来
萨姆吉尔村 萨姆吉尔的储存点 萨姆吉尔村 (94,99) 凯比特的肉 ×1 村外的凯比特,掉率 30%
玛丽娜丝渔村 玛丽那斯的储存点 玛丽娜丝渔村 (67,58) 乌力斯坦的肉 ×1 村外的乌力斯坦,掉率 30%
加加村 加加的储存点 加加村 (96,97) 乌宝宝的肉 ×1 村外的乌宝宝,掉率 30%
卡鲁它那村 卡鲁它那的储存点 卡鲁它那村 (68,55) 克邦凯斯的肉 ×1 加鲁卡 (194,551)-(250,577) 一带的克邦凯斯,掉率 30%

肉的品质有好几种(同一种肉有 6 个编号,例如 凯比特的肉 1930~1935),任何一种都可以。玛丽娜丝要的是 乌力斯坦的肉,加加要 乌宝宝的肉,卡鲁它那要 克邦凯斯的肉。

出处:npcgen_savepoint 参数(GetItem:1930*1,1931*1,…);npc_savepoint.c;char/char_data.c CHAR_getInitElderPosition(CHAR_SAVEPOINT |= 1<<hometown);登出位置见网页版 sa-server.ts fullCharLogout;掉率见 enemy.txt(掉率 300 / 1000)。

六、出村练级:每个村子门口的怪

野外是否遇敌、遇到什么,由 encount.txt 的遇敌区决定:一块矩形区域对应一组怪物和等级范围,重叠时取优先级(zorder)最高的那块。走路时每一步都在累积遇敌机率。

萨姆吉尔村门口(萨伊那斯东部)

出村后在 萨伊那斯 (637,491)。

区域(萨伊那斯坐标) 怪物 等级
(582,399)-(783,560),村口一带 昆依、凯比特 1~3
(591,552)-(685,695),村子南边 昆依、凯比特 1~3
(541,375)-(592,554),村子西边 昆依、凯比特、龟之盾、绿龟 1~4
(479,355)-(541,557) 昆依、凯比特、龟之盾、绿龟 3~6
(425,387)-(480,554) 龟之盾、绿龟 4~6
(547,241)-(679,331),北边 布比、布伊、火鸡、奇宝 9~13

玛丽娜丝渔村门口(萨伊那斯西南)

出村后在 萨伊那斯 (79,614)。

区域 怪物 等级
(11,567)-(155,707),村口一带 乌力、乌力斯坦、多利凯拉、贝恩达斯 1~2
(11,524)-(208,708),外圈 同上 2~4
(63,392)-(308,524),往北 乌力、乌力斯坦、昆依、贝恩达斯 2~4
(308,387)-(426,524),中部 多利凯拉、贝恩达斯 4~6

加加村门口(加鲁卡东部)

出村后在 加鲁卡 (570,376)。

区域(加鲁卡坐标) 怪物 等级
(550,282)-(652,403),村口 乌宝宝、威威 1~2
(516,238)-(772,452),外圈 乌宝宝、威威 1~4
(384,238)-(516,415),往西 克洛尔、多利诺布斯、乌宝宝、威威 1~5
村子南边的林道(约 (520,385)-(630,485) 一带的几块小区域) 乌宝宝、威威、乌卡鲁 10~12

卡鲁它那村门口(加鲁卡西南)

出村后在 加鲁卡 (304,599)。

区域 怪物 等级
(262,565)-(333,686),村口 克雷尔、里斯基 1~3
(194,551)-(250,577) 克邦凯斯 1~2
(333,565)-(401,666)、(304,494)-(401,565) 克雷尔、里斯基、乌卡鲁 2~4
(30,327)-(251,502) 乌卡鲁、尼可斯 3~5

出处:data/encount.txt + group.txt + enemy.txt(区域按 ENCOUNT_getEncountAreaArray 取 zorder 最高者;矩形为左上-右下坐标)。

下一步去哪

  • 10 级以后可以去两大岛上更远的村子:萨伊那斯的柯奥村、霍特尔村、卡坦村、柯尔克村,加鲁卡的塔姆塔姆村、多多村、乌鲁力村、奇喀喀村。走路太远可以搭巴士,见 世界与地图。
  • 宠物怎么抓、怎么养,见 宠物;战斗指令与伤害,见 战斗。

七、长毛象快递:新手打工

每个出生村都有两间「长毛象快递」(萨姆吉尔在 (63,117) 和 (63,118))。

  • 送货:在第一间对店主说话,买下「往××的行李」(只需付押金 = 行李价格 × 0.2),带到目的村的长毛象快递第二间,卖给店主,按行李价格 × 1.5 收购。行李价格 40~75 石币,路越远越贵(例如萨姆吉尔→玛丽娜丝 40,萨姆吉尔→加加 70)。行李不能带上巴士和飞机(它们的 denieditem 正是这 12 种行李),只能自己走过去。
  • 店员的委托:同一间里的「店员」按你的等级给不同的委托(只限没转生的角色):
    • 1~9 级:送一件礼物(例如萨姆吉尔给「顶级的红宝石」)到另一个村子的长毛象快递老板;
    • 10~19 级:做一把指定属性的合成枪送过去(萨姆吉尔要的是风属性的「合成枪 1」);
    • 20~29 级:抓一只 1 级的布伊(在霍特尔村附近出没)送给老板。

出处:data/npc 长毛象快递 npcgen_shop(buy_rate:0.2、ItemList:2405,2408,2411、EXPRESSMAN)与 npcgen_limitshop(sell_rate:1.5);店员 npcgen_warpman 的 TALKEVENT1~3;行李价格见 itemset.txt 2402~2413。押金与收购价按网页版商店公式(价格 × rate)推算,店员台词提到「中午前送达酬劳比较高」,时段加成未核实。

八、成人礼(30 级)

村民们常提到「成人礼」:卡鲁它那村长家的厨师说「等级到30可以进行成人式」,玛丽娜丝村长的儿子说「不能在团队的状况下参加典礼」。成人礼是原版事件 4 号,完成后会得到一顶头盔,还会解锁很多高等级地区。

地点

成人礼在两大岛之间的海底通路里举行:

海底通路地下2楼中间有「海底洞窟关卡」((22,28) 和 (22,32) 两位守卫),要有 通行证 才放行。通行证在柯奥村 (86,107)「贩卖通行证」和卡鲁它那村 (99,85)「通行证贩卖」有卖,200 石币。

仪式入口「仪的值班者」站在海底通路地下2楼 (31,13),从坐标看和柯奥这一侧的入口在关卡的同一边;从加鲁卡过来就要先过关卡。

出处:npcgen_warp / mapwarp.txt(10201~10203 的连接)、npcgen_warpman「海底洞窟关卡」(FREE:ITEM=2422)、通行证商店 ItemList:2422(价格 200 × buy_rate 1.0)。

步骤

  1. 等级 30 以上,一个人去(组队会被拒绝)。
  2. 和海底通路地下2楼 (31,13) 的「仪的值班者」说话(条件 LV>29),被送进仪式的通道 海底通路地下2楼(仪道) (2,6)。
  3. 和 (14,6) 的「仪式的审判」说话,接受考验。他会说:「在这条路尽头的一尊石像上有一块仪之玉的勾玉,请从在仪道中的守护使者中,取回15个来」。
  4. 沿通道一直走到尽头(这张图宽 200 格),和 (188,13) 的「仪式审判的差使」说话,他会一次给你 15 个 仪的玉(背包要空出 15 格)。
  5. 带着 15 个仪的玉走回审判那里交差。仪的玉是「掉在地上就会消失」的道具,审判也提醒「小心不要让仪玉掉落地面」,回程别把它丢出去。
  6. 交出 15 个仪的玉,获得 仪之兜(防 +15、敏 -3、全异常状态防止 +3,装备需 30 级),事件 4 完成:「这么一来,你也是个顶天立地的成人了」。

通道里会遇到 20~30 级的 克克尔、凯比、乌力乌力、威伯——正是四个村子送的那四种宠物,掉落带骨的肉。

出处:data/npc 海底通路地下2楼(10204)的 changeevent:「仪式的审判」EventNo:4 TYPE:REQUEST EVENT:LV>0 / TYPE:ACCEPT EVENT:ITEM=2417*15 GetItem:2418 DelItem:2417*15 EndSetFlg:4;「仪式审判的差使」EVENT:NOWEV=4&ITEM!=2417 GetItem:2417*15;itemset.txt 2417(丢弃即消失)、2418;encount.txt 区域 208。

成人之后

很多地方的守门人要求「完成事件 4」(ENDEV=4),也就是成人礼:

守门人 位置 条件 通往
看门人 加鲁卡 (73,696) 65 级以上 + 成人礼 碧青的洞窟
守人 加鲁卡 (359,671) 65 级以上 + 成人礼 琉璃的洞窟
守人 萨伊那斯 (278,325) 70 级以上 + 成人礼 玄黄的洞窟
守人 巴那姆的洞窟地下2楼 65 级以上 + 成人礼 深红的洞窟
洞窟的守门人 吉鲁岛 (247,222)、(182,162) 65 级以上 + 成人礼 吉鲁岛的洞窟

此外人物转生、宠物转生的一连串事件也以成人礼为前提,见 人物转生 与 任务。

出处:各 npcgen_warpman 的 FREE: 条件(LV>64&ENDEV=4 等;LV>64 即 65 级以上)。

九、新手检查清单

  1. 建角:20 点能力、10 点属性(最多两种、对面属性不能并存)。
  2. 走出村长家,到村口打 1~3 级的怪,攒钱、攒肉。
  3. 拿到家乡储存点要的肉,登记村里的记录点。
  4. 买第一把武器和防具;10 级以前看病免费。
  5. 在长毛象快递接送货、跑委托。
  6. 10 级以后去其他村子;30 级参加成人礼,拿仪之兜。