Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
phpdts
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nemo Ma
phpdts
Commits
d8f233fc
Commit
d8f233fc
authored
Mar 14, 2023
by
Nemo Ma
Committed by
GitHub
Mar 14, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #60 from hikawiier/waaagh
rev achievement phase 0.999
parents
5e09a756
de217f27
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
1428 additions
and
232 deletions
+1428
-232
command.php
command.php
+4
-3
dbup.php
dbup.php
+2
-0
game.php
game.php
+4
-3
gamedata/cache/achievement_1.php
gamedata/cache/achievement_1.php
+258
-22
gamedata/cache/gamecfg_1.php
gamedata/cache/gamecfg_1.php
+3
-1
gamedata/cache/setitems_1.php
gamedata/cache/setitems_1.php
+101
-0
gamedata/cache/style_20190718.css
gamedata/cache/style_20190718.css
+1
-1
gamedata/sql/all.sql
gamedata/sql/all.sql
+2
-0
include/common.inc.php
include/common.inc.php
+1
-0
include/game.func.php
include/game.func.php
+19
-0
include/game/achievement.func.php
include/game/achievement.func.php
+484
-45
include/game/item.func.php
include/game/item.func.php
+29
-2
include/game/itemmain.func.php
include/game/itemmain.func.php
+77
-4
include/game/revattr.func.php
include/game/revattr.func.php
+8
-0
include/game/revattr_extra.func.php
include/game/revattr_extra.func.php
+18
-0
include/game/revcombat.func.php
include/game/revcombat.func.php
+17
-4
include/game/song.inc.php
include/game/song.inc.php
+4
-0
include/resources.func.php
include/resources.func.php
+47
-0
include/system.func.php
include/system.func.php
+6
-4
templates/default/achievement_208.htm
templates/default/achievement_208.htm
+80
-0
templates/default/achievement_temp.htm
templates/default/achievement_temp.htm
+4
-1
templates/default/command.htm
templates/default/command.htm
+113
-55
templates/default/dialogue.htm
templates/default/dialogue.htm
+19
-17
templates/default/itemdrop.htm
templates/default/itemdrop.htm
+0
-18
templates/default/itemmerge.htm
templates/default/itemmerge.htm
+56
-22
templates/default/profile.htm
templates/default/profile.htm
+15
-4
templates/default/sp_terminal.htm
templates/default/sp_terminal.htm
+6
-6
templates/default/user_profile.htm
templates/default/user_profile.htm
+14
-3
user_profile.php
user_profile.php
+31
-17
valid.php
valid.php
+5
-0
No files found.
command.php
View file @
d8f233fc
...
@@ -10,11 +10,12 @@ require GAME_ROOT.'./include/game.func.php';
...
@@ -10,11 +10,12 @@ require GAME_ROOT.'./include/game.func.php';
//判断是否进入游戏
//判断是否进入游戏
if
(
!
$cuser
||!
$cpass
)
{
gexit
(
$_ERROR
[
'no_login'
],
__file__
,
__line__
);
}
if
(
!
$cuser
||!
$cpass
)
{
gexit
(
$_ERROR
[
'no_login'
],
__file__
,
__line__
);
}
$result
=
$db
->
query
(
"SELECT * FROM
{
$tablepre
}
players WHERE name = '
$cuser
' AND type = 0"
);
//$result = $db->query("SELECT * FROM {$tablepre}players WHERE name = '$cuser' AND type = 0");
$pdata
=
fetch_playerdata_by_name
(
$cuser
);
if
(
!
$
db
->
num_rows
(
$result
)
)
{
header
(
"Location: valid.php"
);
exit
();
}
if
(
!
$
pdata
)
{
header
(
"Location: valid.php"
);
exit
();
}
$pdata
=
$db
->
fetch_array
(
$result
);
//
$pdata = $db->fetch_array($result);
//判断是否密码错误
//判断是否密码错误
if
(
$pdata
[
'pass'
]
!=
$cpass
)
{
if
(
$pdata
[
'pass'
]
!=
$cpass
)
{
...
...
dbup.php
View file @
d8f233fc
...
@@ -154,6 +154,8 @@ $result = $db->query("DESCRIBE {$tablepre}users volume");
...
@@ -154,6 +154,8 @@ $result = $db->query("DESCRIBE {$tablepre}users volume");
if
(
$db
->
num_rows
(
$result
))
$db
->
query
(
"ALTER TABLE
{
$tablepre
}
users DROP volume"
);
if
(
$db
->
num_rows
(
$result
))
$db
->
query
(
"ALTER TABLE
{
$tablepre
}
users DROP volume"
);
$result
=
$db
->
query
(
"DESCRIBE
{
$tablepre
}
users achrev"
);
$result
=
$db
->
query
(
"DESCRIBE
{
$tablepre
}
users achrev"
);
if
(
!
$db
->
num_rows
(
$result
))
$db
->
query
(
"ALTER TABLE
{
$tablepre
}
users ADD achrev text NOT NULL default '' AFTER achievement"
);
if
(
!
$db
->
num_rows
(
$result
))
$db
->
query
(
"ALTER TABLE
{
$tablepre
}
users ADD achrev text NOT NULL default '' AFTER achievement"
);
$result
=
$db
->
query
(
"DESCRIBE
{
$tablepre
}
users daily"
);
if
(
!
$db
->
num_rows
(
$result
))
$db
->
query
(
"ALTER TABLE
{
$tablepre
}
users ADD daily varchar(255) NOT NULL DEFAULT '' AFTER achrev"
);
//game表结构变动
//game表结构变动
$db
->
query
(
"ALTER TABLE
{
$tablepre
}
game DROP gamevars"
);
$db
->
query
(
"ALTER TABLE
{
$tablepre
}
game DROP gamevars"
);
...
...
game.php
View file @
d8f233fc
...
@@ -14,10 +14,11 @@ if(isset($mode) && $mode == 'quit') {
...
@@ -14,10 +14,11 @@ if(isset($mode) && $mode == 'quit') {
exit
();
exit
();
}
}
$result
=
$db
->
query
(
"SELECT * FROM
{
$tablepre
}
players WHERE name = '
$cuser
' AND type = 0"
);
//$result = $db->query("SELECT * FROM {$tablepre}players WHERE name = '$cuser' AND type = 0");
if
(
!
$db
->
num_rows
(
$result
))
{
header
(
"Location: valid.php"
);
exit
();
}
$pdata
=
fetch_playerdata_by_name
(
$cuser
);
if
(
!
$pdata
)
{
header
(
"Location: valid.php"
);
exit
();
}
$pdata
=
$db
->
fetch_array
(
$result
);
//
$pdata = $db->fetch_array($result);
if
(
$pdata
[
'pass'
]
!=
$cpass
)
{
if
(
$pdata
[
'pass'
]
!=
$cpass
)
{
$tr
=
$db
->
query
(
"SELECT `password` FROM
{
$tablepre
}
users WHERE username='
$cuser
'"
);
$tr
=
$db
->
query
(
"SELECT `password` FROM
{
$tablepre
}
users WHERE username='
$cuser
'"
);
$tp
=
$db
->
fetch_array
(
$tr
);
$tp
=
$db
->
fetch_array
(
$tr
);
...
...
gamedata/cache/achievement_1.php
View file @
d8f233fc
...
@@ -4,6 +4,12 @@ if(!defined('IN_GAME')) exit('Access Denied');
...
@@ -4,6 +4,12 @@ if(!defined('IN_GAME')) exit('Access Denied');
# 成就大类列表:
# 成就大类列表:
$ach_type
=
Array
$ach_type
=
Array
(
(
'daily'
=>
Array
(
'name'
=>
'每日挑战'
,
'desc'
=>
'<font color="olive">这里是用来为日常游玩调味的佐餐成就。<br>
虽然叫做每日挑战,但其实每六个小时就能刷新一次。</font>'
,
'ach'
=>
Array
(
601
,
602
,
603
,
604
,
605
,
606
,
607
,
608
,
609
,
610
),
),
'end'
=>
Array
(
'end'
=>
Array
(
'name'
=>
'结局成就'
,
'name'
=>
'结局成就'
,
'desc'
=>
'<font color="olive">这里是与游戏结局相关的成就。<br>
'desc'
=>
'<font color="olive">这里是与游戏结局相关的成就。<br>
...
@@ -20,36 +26,55 @@ $ach_type = Array
...
@@ -20,36 +26,55 @@ $ach_type = Array
'name'
=>
'战斗成就'
,
'name'
=>
'战斗成就'
,
'desc'
=>
'<font color="olive">这里是与击破特定NPC相关的成就。<br>
'desc'
=>
'<font color="olive">这里是与击破特定NPC相关的成就。<br>
打倒他们来证明自己吧!<br></font>'
,
打倒他们来证明自己吧!<br></font>'
,
'ach'
=>
Array
(
3
,
4
,
13
,
22
,
23
,
25
,
20
,
21
,
24
,
26
,
56
,
57
,
255
),
'ach'
=>
Array
(
3
,
56
,
57
,
27
,
4
,
13
,
22
,
23
,
25
,
20
,
21
,
24
,
26
,
255
),
),
),
'mixitem'
=>
Array
(
'mixitem'
=>
Array
(
'name'
=>
'合成成就'
,
'name'
=>
'合成成就'
,
'desc'
=>
'<font color="olive">这里是与合成各种物品相关的成就。<br>
'desc'
=>
'<font color="olive">这里是与合成各种物品相关的成就。<br>
如果看合成表觉得麻烦,只以这些物品为目标似乎也不错。<br></font>'
,
如果看合成表觉得麻烦,只以这些物品为目标似乎也不错。<br></font>'
,
'ach'
=>
Array
(
0
,
14
,
15
,
49
,
33
,
50
,
51
,
52
,
35
,
36
,
37
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
46
,
47
,
48
),
'ach'
=>
Array
(
48
,
47
,
35
,
36
,
37
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
46
,
0
,
14
,
15
,
49
,
51
,
52
,
50
),
),
'explore'
=>
Array
(
'name'
=>
'探索成就'
,
'desc'
=>
'<font color="olive">这里是与你在游戏中会遇到的惊奇发现相关的成就。<br>
今天又会遇到些什么呢?<br></font>'
,
'ach'
=>
Array
(
33
,
31
),
),
),
'lifetime'
=>
Array
(
'lifetime'
=>
Array
(
'name'
=>
'生涯成就'
,
'name'
=>
'生涯成就'
,
'desc'
=>
'<font color="olive">这里是记录了你在这个游戏中的积累相关的成就。<br>
'desc'
=>
'<font color="olive">这里是记录了你在这个游戏中的积累相关的成就。<br>
呜呼——玩家们出发了……<br></font>'
,
呜呼——玩家们出发了……<br></font>'
,
'ach'
=>
Array
(
2
7
,
29
,
30
,
53
,
54
,
55
,
255
),
'ach'
=>
Array
(
2
9
,
30
,
53
,
54
,
55
,
600
,
255
),
),
),
'challenge'
=>
Array
(
'challenge'
=>
Array
(
'name'
=>
'挑战成就'
,
'name'
=>
'挑战成就'
,
'desc'
=>
'<font color="olive">这里是与特定游戏中挑战相关的成就。<br>
'desc'
=>
'<font color="olive">这里是与特定游戏中挑战相关的成就。<br>
虽然颇为浮云,但毕竟山就在那里。<br></font>'
,
虽然颇为浮云,但毕竟山就在那里。<br></font>'
,
'ach'
=>
Array
(
1
,
200
,
201
,
28
,
202
,
203
,
20
4
,
205
,
206
,
207
,
31
,
32
,
255
),
'ach'
=>
Array
(
1
,
200
,
201
,
28
,
202
,
203
,
20
8
,
204
,
205
,
206
,
207
,
32
,
255
),
),
),
);
);
# 隐藏成就列表:(隐藏成就ID → 完成后会显示在哪个大类)只在完成时显示
$hidden_ach_type
=
Array
(
//KEY系隐藏成就:吃下【像围棋子一样的饼干】【桔黄色的果酱】并且活下来
501
=>
'explore'
,
//KEY系隐藏成就:使用【翼人的羽毛】打出7230点以上伤害
502
=>
'explore'
,
//KEY系隐藏成就:穿着【智代专用熊装】连续攻击同一个玩家/NPC64次以上
503
=>
'explore'
,
//KEY系隐藏成就:在【RF高校】使用每一种系的武器各杀死一个目标
504
=>
'explore'
,
//KEY系隐藏成就:一击秒杀【守卫者 静流】
505
=>
'explore'
,
);
# 成就登记列表:
# 成就登记列表:
$ach_list
=
Array
$ach_list
=
Array
(
(
/*'example' => Array(
/*'example' => Array(
//成就完成时所处阶段(必填)
//成就完成时所处阶段(必填)
'lvl' => 3,
'lvl' => 3,
//这是一个隐藏成就吗?(隐藏成就在完成前不会显示在成就界面内)
'hidden' => 0,
//各阶段成就名(必填)(PS:完成阶段名可填可不填,填了会显示,不填会显示前一个阶段的名字)
//各阶段成就名(必填)(PS:完成阶段名可填可不填,填了会显示,不填会显示前一个阶段的名字)
'name' => Array('阶段0名','阶段1名','阶段2名','阶段完成'),
'name' => Array('阶段0名','阶段1名','阶段2名','阶段完成'),
//各阶段状态名(选填,不填此项会应用默认状态名)
//各阶段状态名(选填,不填此项会应用默认状态名)
...
@@ -234,14 +259,6 @@ $ach_list = Array
...
@@ -234,14 +259,6 @@ $ach_list = Array
'c1'
=>
Array
(
0
,
0
,
0
),
'c1'
=>
Array
(
0
,
0
,
0
),
'c2'
=>
Array
(
5
,
50
,
200
),
'c2'
=>
Array
(
5
,
50
,
200
),
),
),
33
=>
Array
(
'lvl'
=>
1
,
'name'
=>
Array
(
'诅咒之刃'
),
'title'
=>
Array
(
'剑圣'
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
522
),
),
35
=>
Array
(
35
=>
Array
(
'lvl'
=>
3
,
'lvl'
=>
3
,
'name'
=>
Array
(
'试试看殴系吧!'
,
'热血的机师'
,
'殴系爱好者'
),
'name'
=>
Array
(
'试试看殴系吧!'
,
'热血的机师'
,
'殴系爱好者'
),
...
@@ -666,6 +683,83 @@ $ach_list = Array
...
@@ -666,6 +683,83 @@ $ach_list = Array
),
),
),
),
# 探索成就
# 剑圣:这是一个存在固定模板的成就
33
=>
Array
(
'lvl'
=>
1
,
'name'
=>
Array
(
'诅咒之刃'
),
'title'
=>
Array
(
'剑圣'
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
522
),
),
# RTS:这是一个存在固定模板的成就
31
=>
Array
(
'lvl'
=>
1
,
'name'
=>
Array
(
'Return to Sender'
),
'title'
=>
Array
(
'R.T.S'
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
0
),
),
# KEY系隐藏成就:吃下【像围棋子一样的饼干】【桔黄色的果酱】并且活下来
501
=>
Array
(
'lvl'
=>
1
,
'name'
=>
Array
(
'【待替换501】'
),
'request'
=>
'幸存次数:[:request:]次'
,
'title'
=>
Array
(
'【待替换501】'
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'这是一段待替换501的文本。'
,
),
),
# KEY系隐藏成就:使用【翼人的羽毛】打出7230点以上伤害
502
=>
Array
(
'lvl'
=>
1
,
'name'
=>
Array
(
'【待替换502】'
),
'request'
=>
'最高造成伤害:[:request:]点'
,
'title'
=>
Array
(
'【待替换502】'
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'这是一段待替换502的文本。'
,
),
),
# 穿着【智代专用熊装】连续攻击同一个玩家/NPC64次以上
503
=>
Array
(
'lvl'
=>
1
,
'name'
=>
Array
(
'【待替换503】'
),
'request'
=>
'最高连击次数:[:request:]次'
,
'title'
=>
Array
(
'【待替换503】'
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'这是一段待替换503的文本。'
,
),
),
# 在【RF高校】使用每一种系的武器各杀死一个目标
504
=>
Array
(
'lvl'
=>
1
,
'name'
=>
Array
(
'【待替换504】'
),
'request'
=>
'完成击杀的系别:[:request:]种'
,
'title'
=>
Array
(
'【待替换504】'
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'这是一段待替换504的文本。'
,
),
),
# 一击秒杀【守卫者 静流】
505
=>
Array
(
'lvl'
=>
1
,
'name'
=>
Array
(
'【待替换505】'
),
'title'
=>
Array
(
'【待替换505】'
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'这是一段待替换505的文本。'
,
),
),
# 挑战成就
# 挑战成就
# key男
# key男
1
=>
Array
(
1
=>
Array
(
...
@@ -739,6 +833,19 @@ $ach_list = Array
...
@@ -739,6 +833,19 @@ $ach_list = Array
'在开局<span class="sienna">55分钟内</span>达成结局:幻境解离'
,
'在开局<span class="sienna">55分钟内</span>达成结局:幻境解离'
,
),
),
),
),
# 套装收集挑战(这是一个存在固定模板的成就)
208
=>
Array
(
'lvl'
=>
3
,
'name'
=>
Array
(
'新绿的故事'
,
'百变魔法使'
,
'换装迷宫'
),
'title'
=>
Array
(
''
,
'百变魔法使'
,
'换装迷宫'
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
233
,
234
,
235
),
'desc'
=>
Array
(
'触发过任1种<span class="sienna">套装</span>的完整效果'
,
'触发过3种不同<span class="sienna">套装</span>的完整效果'
,
'触发过5种不同<span class="sienna">套装</span>的完整效果'
,
),
),
# 使用混沌武器打满伤害
# 使用混沌武器打满伤害
204
=>
Array
(
204
=>
Array
(
'lvl'
=>
1
,
'lvl'
=>
1
,
...
@@ -784,14 +891,6 @@ $ach_list = Array
...
@@ -784,14 +891,6 @@ $ach_list = Array
'不击杀<span class="sienna">各路党派与种火</span>达成结局:锁定解除'
,
'不击杀<span class="sienna">各路党派与种火</span>达成结局:锁定解除'
,
),
),
),
),
# RTS:这是一个存在固定模板的成就
31
=>
Array
(
'lvl'
=>
1
,
'name'
=>
Array
(
'Return to Sender'
),
'title'
=>
Array
(
'R.T.S'
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
0
),
),
# LOOP > TODO:修改为一个版本成就
# LOOP > TODO:修改为一个版本成就
32
=>
Array
(
32
=>
Array
(
'lvl'
=>
2
,
'lvl'
=>
2
,
...
@@ -800,6 +899,143 @@ $ach_list = Array
...
@@ -800,6 +899,143 @@ $ach_list = Array
'c1'
=>
Array
(
0
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
0
),
'c2'
=>
Array
(
0
),
),
),
# 日常任务
# 混进来一个生涯成就:累计完成每日任务1/10/100/1001次
600
=>
Array
(
'lvl'
=>
4
,
'name'
=>
Array
(
'新篇'
,
'十日谈'
,
'百言诗'
,
'一千零一夜'
,
'尾声?'
),
'title'
=>
Array
(
''
,
''
,
'虚拟体'
,
'Daemon'
),
'request'
=>
'累计完成次数:[:request:]次'
,
'c1'
=>
Array
(
1
,
10
,
101
,
1001
),
'c2'
=>
Array
(
1
,
10
,
101
,
1001
),
'desc'
=>
Array
(
'累计完成1次<span class="sienna">每日挑战</span>'
,
'累计完成10次<span class="sienna">每日挑战</span>'
,
'累计完成100次<span class="sienna">每日挑战</span>'
,
'累计完成1001次<span class="sienna">每日挑战</span>'
,
),
),
# 日常任务1:击杀10名NPC
601
=>
Array
(
'lvl'
=>
1
,
'daily'
=>
1
,
'name'
=>
Array
(
'蜂群挑战者'
),
'title'
=>
Array
(
''
),
'c1'
=>
Array
(
150
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'击杀10名NPC'
,
),
),
# 日常任务2:击杀1名活跃玩家
602
=>
Array
(
'lvl'
=>
1
,
'daily'
=>
1
,
'name'
=>
Array
(
'触手挑战者'
),
'title'
=>
Array
(
''
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
150
),
'desc'
=>
Array
(
"击杀1名<span class=
\"
sienna
\"
tooltip=
\"
什么是活跃玩家?
\r
总之小号是不行的!
\"
>活跃玩家</span>"
,
),
),
# 日常任务3:达成一次解禁/解离结局
603
=>
Array
(
'lvl'
=>
1
,
'daily'
=>
1
,
'name'
=>
Array
(
'尖兵挑战者'
),
'title'
=>
Array
(
''
),
'c1'
=>
Array
(
250
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'达成结局:<span class="sienna">锁定解除</span>或<span class="sienna">幻境解离</span>'
,
),
),
# 日常任务4:开启一次死斗模式
604
=>
Array
(
'lvl'
=>
1
,
'daily'
=>
1
,
'name'
=>
Array
(
'荣耀挑战者'
),
'title'
=>
Array
(
''
),
'c1'
=>
Array
(
250
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'开启1次<span class="sienna">死斗模式</span>'
,
),
),
# 日常任务5:击杀10名种火
605
=>
Array
(
'lvl'
=>
1
,
'daily'
=>
1
,
'name'
=>
Array
(
'循环挑战者'
),
'title'
=>
Array
(
''
),
'c1'
=>
Array
(
177
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'击杀10名<span class="sienna">种火</span>'
,
),
),
# 日常任务6:以毒药/陷阱的方式击杀1名活跃玩家
606
=>
Array
(
'lvl'
=>
1
,
'daily'
=>
1
,
'name'
=>
Array
(
'偏门挑战者'
),
'title'
=>
Array
(
''
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
188
),
'desc'
=>
Array
(
'使用<span class="sienna">毒性补给</span>或<span class="sienna">陷阱</span>杀死1名活跃玩家'
,
),
),
# 日常任务7:使用凸眼鱼一次吸收20具尸体
607
=>
Array
(
'lvl'
=>
1
,
'daily'
=>
1
,
'name'
=>
Array
(
'暴食挑战者'
),
'title'
=>
Array
(
''
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
155
),
'desc'
=>
Array
(
'使用道具<span class="sienna">凸眼鱼</span>一次性吸收20具尸体'
,
),
),
# 日常任务8:使用移动PC解除一次禁区
608
=>
Array
(
'lvl'
=>
1
,
'daily'
=>
1
,
'name'
=>
Array
(
'无月挑战者'
),
'title'
=>
Array
(
''
),
'c1'
=>
Array
(
155
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'使用道具<span class="sienna">移动PC</span>解除1次禁区'
,
),
),
# 日常任务9:合成一次KEY系催泪弹
609
=>
Array
(
'lvl'
=>
1
,
'daily'
=>
1
,
'name'
=>
Array
(
'雕像挑战者'
),
'title'
=>
Array
(
''
),
'c1'
=>
Array
(
233
),
'c2'
=>
Array
(
0
),
'desc'
=>
Array
(
'合成道具<span class="sienna">【KEY系催泪弹】</span>1次'
,
),
),
# 日常任务10:使用一次歌唱功能
610
=>
Array
(
'lvl'
=>
1
,
'daily'
=>
1
,
'name'
=>
Array
(
'摇滚挑战者'
),
'title'
=>
Array
(
''
),
'c1'
=>
Array
(
0
),
'c2'
=>
Array
(
233
),
'desc'
=>
Array
(
'使用一次<span class="sienna">歌唱</span>功能'
,
),
),
);
);
?>
?>
\ No newline at end of file
gamedata/cache/gamecfg_1.php
View file @
d8f233fc
...
@@ -126,8 +126,10 @@ $hack_obbs = 40;
...
@@ -126,8 +126,10 @@ $hack_obbs = 40;
//电子设备充电上限,包括电脑和雷达
//电子设备充电上限,包括电脑和雷达
$elec_cap
=
5
;
$elec_cap
=
5
;
//成就总数
//成就总数
(已废弃)
$achievement_count
=
140
;
$achievement_count
=
140
;
//每日任务刷新间隔(单位:秒):
$reset_daily_cd
=
21600
;
//场外支援系统 允许购买的道具类型
//场外支援系统 允许购买的道具类型
$gshoplist
=
Array
$gshoplist
=
Array
...
...
gamedata/cache/setitems_1.php
0 → 100644
View file @
d8f233fc
<?php
if
(
!
defined
(
'IN_GAME'
))
exit
(
'Access Denied'
);
# 套装相关配置文件
# 套装部件登记:(部位 → 装备名 → 对应套装编号)
$set_items
=
Array
(
'wep'
=>
Array
(
'节操炸弹'
=>
'jc'
,
'寂寞'
=>
'jm'
,
'幻之刃'
=>
'fan'
,
'幻之使魔'
=>
'fan'
,
'永恒之桶'
=>
'ete'
,
'新华里的投入'
=>
'xhl'
,
'新华里的震撼'
=>
'xhl'
,
'新华里的乱舞'
=>
'xhl'
,
'新华里的手势'
=>
'xhl'
,
'新华里的呐喊'
=>
'xhl'
,
'新华里的眼神'
=>
'xhl'
,
),
'arb'
=>
Array
(
'节操'
=>
'jc'
,
'幻之甲'
=>
'fan'
,
'永恒之甲'
=>
'ete'
,
'新华里的西服'
=>
'xhl'
,
),
'arh'
=>
Array
(
'节操'
=>
'jc'
,
'寂寞'
=>
'jm'
,
'幻之盔'
=>
'fan'
,
'永恒之盔'
=>
'ete'
,
'新华里的领带'
=>
'xhl'
,
),
'ara'
=>
Array
(
'节操'
=>
'jc'
,
'寂寞'
=>
'jm'
,
'幻之手镯'
=>
'fan'
,
'永恒之手镯'
=>
'ete'
,
'新华里的手表'
=>
'xhl'
,
),
'arf'
=>
Array
(
'节操'
=>
'jc'
,
'寂寞'
=>
'jm'
,
'幻之靴'
=>
'fan'
,
'永恒之靴'
=>
'ete'
,
'新华里的皮鞋'
=>
'xhl'
,
),
'art'
=>
Array
(
'节操'
=>
'jc'
,
'新华里的增员'
=>
'xhl'
,
),
);
# 套装登记:
$set_items_info
=
Array
(
'jc'
=>
Array
(
// 套装名:
'name'
=>
'有节操!'
,
// 套装组件上下限
'active'
=>
Array
(
1
,
6
),
// 套装奖励:
// 套装奖励介绍:
),
'jm'
=>
Array
(
'name'
=>
'是寂寞...'
,
'active'
=>
Array
(
1
,
4
),
),
'xhl'
=>
Array
(
'name'
=>
'业务员'
,
'active'
=>
Array
(
1
,
6
),
),
'fan'
=>
Array
(
'name'
=>
'幻想之遗'
,
'active'
=>
Array
(
1
,
5
),
),
'ete'
=>
Array
(
'name'
=>
'永恒之物'
,
'active'
=>
Array
(
1
,
5
),
),
);
?>
gamedata/cache/style_20190718.css
View file @
d8f233fc
...
@@ -377,7 +377,7 @@ span[tooltip]:hover:before {
...
@@ -377,7 +377,7 @@ span[tooltip]:hover:before {
/*background-clip: border-box; background-color: rgba(198, 114, 199, 0.8);*/
/*background-clip: border-box; background-color: rgba(198, 114, 199, 0.8);*/
background-color
:
rgba
(
0
,
0
,
0
,
0.8
);
*
BACKGROUND
:
rgb
(
0
,
0
,
0
);
*
filter
:
alpha
(
opacity
=
70
);
background-color
:
rgba
(
0
,
0
,
0
,
0.8
);
*
BACKGROUND
:
rgb
(
0
,
0
,
0
);
*
filter
:
alpha
(
opacity
=
70
);
border-radius
:
3px
;
border
:
2px
solid
rgba
(
225
,
124
,
226
,
0.4
);
border-radius
:
3px
;
border
:
2px
solid
rgba
(
225
,
124
,
226
,
0.4
);
transform
:
translate
(
40px
,
-
5px
);
transform
:
translate
(
25px
,
2
5px
);
width
:
max-content
;
max-width
:
175px
;
position
:
absolute
;
z-index
:
50
;
width
:
max-content
;
max-width
:
175px
;
position
:
absolute
;
z-index
:
50
;
}
}
...
...
gamedata/sql/all.sql
View file @
d8f233fc
...
@@ -366,6 +366,8 @@ CREATE TABLE `acbra2_users` (
...
@@ -366,6 +366,8 @@ CREATE TABLE `acbra2_users` (
`credits`
int
(
10
)
NOT
NULL
DEFAULT
'0'
,
`credits`
int
(
10
)
NOT
NULL
DEFAULT
'0'
,
`credits2`
mediumint
(
9
)
NOT
NULL
DEFAULT
'0'
,
`credits2`
mediumint
(
9
)
NOT
NULL
DEFAULT
'0'
,
`achievement`
text
NOT
NULL
,
`achievement`
text
NOT
NULL
,
`achrev`
text
NOT
NULL
,
`daily`
varchar
(
255
)
NOT
NULL
DEFAULT
''
,
`nick`
text
NOT
NULL
,
`nick`
text
NOT
NULL
,
`nicks`
text
NOT
NULL
,
`nicks`
text
NOT
NULL
,
`volume`
smallint
(
3
)
unsigned
NOT
NULL
default
'20'
,
`volume`
smallint
(
3
)
unsigned
NOT
NULL
default
'20'
,
...
...
include/common.inc.php
View file @
d8f233fc
...
@@ -10,6 +10,7 @@ if(version_compare(PHP_VERSION, '4.3.0', '<')) {
...
@@ -10,6 +10,7 @@ if(version_compare(PHP_VERSION, '4.3.0', '<')) {
exit
(
'PHP version must >= 4.3.0!'
);
exit
(
'PHP version must >= 4.3.0!'
);
}
}
require
GAME_ROOT
.
'./include/global.func.php'
;
require
GAME_ROOT
.
'./include/global.func.php'
;
require
GAME_ROOT
.
'./include/resources.func.php'
;
require
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
require
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
require
GAME_ROOT
.
'./include/game/dice.func.php'
;
require
GAME_ROOT
.
'./include/game/dice.func.php'
;
error_reporting
(
E_ALL
);
error_reporting
(
E_ALL
);
...
...
include/game.func.php
View file @
d8f233fc
...
@@ -714,6 +714,23 @@ function check_skilllasttimes(&$data=NULL)
...
@@ -714,6 +714,23 @@ function check_skilllasttimes(&$data=NULL)
return
$pure_flag
;
return
$pure_flag
;
}
}
//通过名字抓取指定玩家数据,只能抓玩家
function
fetch_playerdata_by_name
(
$n
)
{
global
$db
,
$tablepre
;
$result
=
$db
->
query
(
"SELECT * FROM
{
$tablepre
}
players WHERE name = '
$n
' AND type = 0"
);
if
(
!
$db
->
num_rows
(
$result
))
return
NULL
;
$pdata
=
$db
->
fetch_array
(
$result
);
if
(
!
empty
(
$pdata
[
'clbpara'
]))
$pdata
[
'clbpara'
]
=
get_clbpara
(
$pdata
[
'clbpara'
]);
//套装效果刷新
include_once
GAME_ROOT
.
'./include/game/itemmain.func.php'
;
reload_set_items
(
$pdata
);
//检查杂项成就
include_once
GAME_ROOT
.
'./include/game/achievement.func.php'
;
check_misc_achievement_rev
(
$pdata
);
return
$pdata
;
}
//通过pid抓取指定玩家/NPC数据
//通过pid抓取指定玩家/NPC数据
function
fetch_playerdata_by_pid
(
$pid
)
function
fetch_playerdata_by_pid
(
$pid
)
{
{
...
@@ -722,6 +739,8 @@ function fetch_playerdata_by_pid($pid)
...
@@ -722,6 +739,8 @@ function fetch_playerdata_by_pid($pid)
if
(
!
$db
->
num_rows
(
$result
))
return
NULL
;
if
(
!
$db
->
num_rows
(
$result
))
return
NULL
;
$pdata
=
$db
->
fetch_array
(
$result
);
$pdata
=
$db
->
fetch_array
(
$result
);
if
(
!
empty
(
$pdata
[
'clbpara'
]))
$pdata
[
'clbpara'
]
=
get_clbpara
(
$pdata
[
'clbpara'
]);
if
(
!
empty
(
$pdata
[
'clbpara'
]))
$pdata
[
'clbpara'
]
=
get_clbpara
(
$pdata
[
'clbpara'
]);
include_once
GAME_ROOT
.
'./include/game/itemmain.func.php'
;
reload_set_items
(
$pdata
);
return
$pdata
;
return
$pdata
;
}
}
//用于读取当前玩家数据的数组结构(不进行过滤)
//用于读取当前玩家数据的数组结构(不进行过滤)
...
...
include/game/achievement.func.php
View file @
d8f233fc
...
@@ -4,23 +4,6 @@ if(!defined('IN_GAME')) {
...
@@ -4,23 +4,6 @@ if(!defined('IN_GAME')) {
exit
(
'Access Denied'
);
exit
(
'Access Denied'
);
}
}
# 获取成就大类列表
function
get_achtype
()
{
global
$gamecfg
;
include
config
(
"achievement"
,
$gamecfg
);
return
$ach_type
;
}
# 获取成就列表
function
get_achlist
(
$a
=
NULL
)
{
global
$gamecfg
;
include
config
(
"achievement"
,
$gamecfg
);
if
(
isset
(
$a
)
&&
isset
(
$ach_list
[
$a
]))
return
$ach_list
[
$a
];
return
$ach_list
;
}
# 初始化单个成就页面
# 初始化单个成就页面
function
init_achtabledata
(
$ach
)
function
init_achtabledata
(
$ach
)
{
{
...
@@ -76,7 +59,8 @@ function fetch_achievement_rev($which,$who)
...
@@ -76,7 +59,8 @@ function fetch_achievement_rev($which,$who)
{
{
$ach
=
print_achievement_rev
(
$ach
);
$ach
=
print_achievement_rev
(
$ach
);
// 保存的成就进度 >= 9999999时 返回9999999 这是为了兼容旧版成就
// 保存的成就进度 >= 9999999时 返回9999999 这是为了兼容旧版成就
if
(
isset
(
$ach
[
$which
][
'v'
]))
$value
=
$ach
[
$which
][
'v'
]
>=
9999999
?
9999999
:
$ach
[
$which
][
'v'
];
if
(
isset
(
$ach
[
$which
][
'v'
])
&&
!
is_array
(
$ach
[
$which
][
'v'
]))
$value
=
$ach
[
$which
][
'v'
]
>=
9999999
?
9999999
:
$ach
[
$which
][
'v'
];
if
(
is_array
(
$ach
[
$which
][
'v'
]))
$value
=
$ach
[
$which
][
'v'
];
}
}
//echo "成就值检索阶段: 成就{$which} 的值 = {$value}<br>";
//echo "成就值检索阶段: 成就{$which} 的值 = {$value}<br>";
return
$value
;
return
$value
;
...
@@ -112,11 +96,79 @@ function done_achievement_rev($which,$ch,$who)
...
@@ -112,11 +96,79 @@ function done_achievement_rev($which,$ch,$who)
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET achrev='
$ach
' WHERE username='"
.
$who
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET achrev='
$ach
' WHERE username='"
.
$who
.
"'"
);
}
}
function
reset_achievement_rev
(
$which
,
$who
)
{
global
$db
,
$tablepre
,
$log
;
$result
=
$db
->
query
(
"SELECT achrev FROM
{
$tablepre
}
users WHERE username = '
$who
'"
);
$ach
=
$db
->
result
(
$result
,
0
);
$ach
=
print_achievement_rev
(
$ach
);
if
(
array_key_exists
(
$which
,
$ach
))
{
unset
(
$ach
[
$which
]);
//echo "【DEBUG】已重置{$who} 成就编号:{$which}的进度。<br>";
$ach
=
json_encode
(
$ach
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET achrev='
$ach
' WHERE username='"
.
$who
.
"'"
);
}
}
function
check_daily_achievement
(
$who
,
$only_id
=
0
)
{
global
$db
,
$tablepre
,
$now
,
$reset_daily_cd
;
$result
=
$db
->
query
(
"SELECT daily FROM
{
$tablepre
}
users WHERE username = '
$who
'"
);
$daily
=
$db
->
result
(
$result
,
0
);
# 存在每日记录时检查是否可以刷新每日
if
(
!
empty
(
$daily
))
{
$daily
=
json_decode
(
$daily
,
true
);
$now_daily
=
$daily
[
'ach'
];
if
(
$only_id
)
return
$daily
[
'ach'
];
$reset_time
=
$daily
[
'st'
]
+
$reset_daily_cd
;
# 每日刷新尚在CD中
if
(
$now
<
$reset_time
)
return
Array
(
$reset_time
,
$daily
[
'ach'
]);
return
Array
(
0
,
$daily
[
'ach'
]);
}
return
Array
(
0
,
0
);
}
function
reset_daily_achievement
(
$who
)
{
global
$db
,
$tablepre
,
$now
,
$reset_daily_cd
;
$result
=
$db
->
query
(
"SELECT daily FROM
{
$tablepre
}
users WHERE username = '
$who
'"
);
$daily
=
$db
->
result
(
$result
,
0
);
if
(
!
empty
(
$daily
))
{
$daily
=
json_decode
(
$daily
,
true
);
// 清空旧每日数据
foreach
(
$daily
[
'ach'
]
as
$aid
)
reset_achievement_rev
(
$aid
,
$who
);
}
else
{
$daily
=
Array
();
}
//echo "开始为{$who}获取新的每日任务<br>";
$daily
[
'st'
]
=
$now
;
$ach_type
=
get_achtype
();
$daily_list
=
$ach_type
[
'daily'
][
'ach'
];
//至少有3个每日任务才能发每日
if
(
!
empty
(
$daily_list
)
&&
count
(
$daily_list
)
>=
3
)
{
$d1
=
0
;
$d2
=
0
;
$d3
=
0
;
$d1
=
$daily_list
[
array_rand
(
$daily_list
)];
while
(
!
$d2
||
$d2
==
$d1
)
$d2
=
$daily_list
[
array_rand
(
$daily_list
)];
while
(
!
$d3
||
$d3
==
$d2
||
$d3
==
$d1
)
$d3
=
$daily_list
[
array_rand
(
$daily_list
)];
$daily
[
'ach'
]
=
Array
(
$d1
,
$d2
,
$d3
);
}
$n_daily
=
json_encode
(
$daily
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET daily='
$n_daily
' WHERE username='"
.
$who
.
"'"
);
return
Array
(
$daily
[
'st'
]
+
$reset_daily_cd
,
$daily
[
'ach'
]);
}
function
check_mixitem_achievement_rev
(
$nn
,
$item
)
function
check_mixitem_achievement_rev
(
$nn
,
$item
)
{
{
global
$now
,
$validtime
,
$starttime
,
$gamecfg
,
$name
,
$db
,
$tablepre
;
global
$now
,
$validtime
,
$starttime
,
$gamecfg
,
$name
,
$db
,
$tablepre
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
$done
=
0
;
$done
=
0
;
$atotal
=
Array
();
//1. 快速KEY弹成就
//1. 快速KEY弹成就
if
(
$item
==
"【KEY系催泪弹】"
)
if
(
$item
==
"【KEY系催泪弹】"
)
{
{
...
@@ -128,6 +180,23 @@ function check_mixitem_achievement_rev($nn,$item)
...
@@ -128,6 +180,23 @@ function check_mixitem_achievement_rev($nn,$item)
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+16 WHERE username='"
.
$nn
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+16 WHERE username='"
.
$nn
.
"'"
);
get_title
(
"KEY男"
,
$nn
);
get_title
(
"KEY男"
,
$nn
);
}
}
//609.日常 合成一次KEY弹
if
(
in_array
(
609
,
check_daily_achievement
(
$nn
,
1
)))
{
$aid
=
609
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
)
+
1
;
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
if
(
!
$alvl
)
{
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
//日常任务统计成就 600 计数+1
$atotal
[
600
]
+=
1
;
}
}
}
}
//200.快速贤者成就
//200.快速贤者成就
if
(
$item
==
"火水木金土符『贤者之石』"
)
if
(
$item
==
"火水木金土符『贤者之石』"
)
...
@@ -655,6 +724,11 @@ function check_mixitem_achievement_rev($nn,$item)
...
@@ -655,6 +724,11 @@ function check_mixitem_achievement_rev($nn,$item)
//新版成就切糕、积分结算汇总到此
//新版成就切糕、积分结算汇总到此
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$atotal
))
{
foreach
(
$atotal
as
$aid
=>
$anums
)
check_nums_achievement
(
$nn
,
$aid
,
$anums
);
}
return
;
return
;
}
}
...
@@ -666,6 +740,7 @@ function check_end_achievement_rev($w,$m,$data='')
...
@@ -666,6 +740,7 @@ function check_end_achievement_rev($w,$m,$data='')
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
$done
=
0
;
$done
=
0
;
$atotal
=
Array
();
$data
[
'clbpara'
]
=
get_clbpara
(
$data
[
'clbpara'
]);
$data
[
'clbpara'
]
=
get_clbpara
(
$data
[
'clbpara'
]);
//16. 最后幸存成就
//16. 最后幸存成就
...
@@ -837,9 +912,31 @@ function check_end_achievement_rev($w,$m,$data='')
...
@@ -837,9 +912,31 @@ function check_end_achievement_rev($w,$m,$data='')
if
(
$done
)
done_achievement_rev
(
$aid
,
$alvl
,
$w
);
if
(
$done
)
done_achievement_rev
(
$aid
,
$alvl
,
$w
);
$done
=
0
;
$done
=
0
;
}
}
// 603.日常 达成一次解禁/解离结局
if
(
in_array
(
603
,
check_daily_achievement
(
$w
,
1
))
&&
!
empty
(
$data
)
&&
(
$m
==
3
||
$m
==
7
))
{
$aid
=
603
;
$alvl
=
check_achievement_rev
(
$aid
,
$w
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$w
)
+
1
;
update_achievement_rev
(
$aid
,
$w
,
$avars
);
if
(
!
$alvl
)
{
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$w
);
//日常任务统计成就 600 计数+1
$atotal
[
600
]
+=
1
;
}
}
//新版成就切糕、积分结算汇总到此
//新版成就切糕、积分结算汇总到此
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$w
.
"'"
);
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$w
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$w
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$w
.
"'"
);
if
(
!
empty
(
$atotal
))
{
foreach
(
$atotal
as
$aid
=>
$anums
)
check_nums_achievement
(
$nn
,
$aid
,
$anums
);
}
return
;
return
;
}
}
...
@@ -851,12 +948,16 @@ function check_battle_achievement_rev($pa,$pd)
...
@@ -851,12 +948,16 @@ function check_battle_achievement_rev($pa,$pd)
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
// 旧版成就参数兼容
// 旧版成就参数兼容
$is_npc
=
$pd
[
'type'
]
?
1
:
0
;
$is_npc
=
$pd
[
'type'
];
$nn
=
$pa
[
'name'
];
$nn
=
$pa
[
'name'
];
$killname
=
$pd
[
'name'
];
$killname
=
$pd
[
'name'
];
$wp
=
isset
(
$pa
[
'wep_name'
])
?
$pa
[
'wep_name'
]
:
$pa
[
'wep'
];
$wp
=
isset
(
$pa
[
'wep_name'
])
?
$pa
[
'wep_name'
]
:
$pa
[
'wep'
];
// 判断是否为活跃玩家:暂时只要IP不一样就算活跃玩家
// 判断是否为活跃玩家:暂时只要IP不一样就算活跃玩家
$is_tplayer
=
$pa
[
'ip'
]
==
$pd
[
'ip'
]
?
0
:
1
;
$is_tplayer
=
$pa
[
'ip'
]
==
$pd
[
'ip'
]
?
0
:
1
;
// 获取pa当前的每日任务列表
$daily
=
check_daily_achievement
(
$nn
,
1
);
//是否需要将完成过的成就统计到另一个成就里,如果有,将成就编号和完成次数汇总到下面这个数组里,在函数尾部一同处理
$atotal
=
Array
();
# 击杀玩家成就
# 击杀玩家成就
if
(
!
$is_npc
&&
$pd
[
'name'
]
!=
$nn
)
if
(
!
$is_npc
&&
$pd
[
'name'
]
!=
$nn
)
...
@@ -880,6 +981,24 @@ function check_battle_achievement_rev($pa,$pd)
...
@@ -880,6 +981,24 @@ function check_battle_achievement_rev($pa,$pd)
if
(
$done
)
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
if
(
$done
)
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
$done
=
0
;
$done
=
0
;
// 602.日常 击杀一名活跃玩家
if
(
in_array
(
602
,
$daily
)
&&
$is_tplayer
)
{
$aid
=
602
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
)
+
1
;
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
if
(
!
$alvl
)
{
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
//日常任务统计成就 600 计数+1
$atotal
[
600
]
+=
1
;
}
}
// 60.击杀存在击杀数的其他玩家
// 60.击杀存在击杀数的其他玩家
if
(
!
empty
(
$pd
[
'killnum'
]))
if
(
!
empty
(
$pd
[
'killnum'
]))
{
{
...
@@ -964,6 +1083,24 @@ function check_battle_achievement_rev($pa,$pd)
...
@@ -964,6 +1083,24 @@ function check_battle_achievement_rev($pa,$pd)
$done
=
0
;
$done
=
0
;
}
}
// 606.用陷阱或毒药击杀一名活跃玩家
if
(
in_array
(
606
,
$daily
)
&&
$is_tplayer
&&
(
$pd
[
'state'
]
==
26
||
$pd
[
'state'
]
==
27
))
{
$aid
=
606
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
)
+
1
;
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
if
(
!
$alvl
)
{
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
//日常任务统计成就 600 计数+1
$atotal
[
600
]
+=
1
;
}
}
// 64.使用DN杀死玩家
// 64.使用DN杀死玩家
if
(
$pd
[
'state'
]
==
28
)
if
(
$pd
[
'state'
]
==
28
)
{
{
...
@@ -1111,10 +1248,6 @@ function check_battle_achievement_rev($pa,$pd)
...
@@ -1111,10 +1248,6 @@ function check_battle_achievement_rev($pa,$pd)
if
(
$done
)
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
if
(
$done
)
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
$done
=
0
;
$done
=
0
;
}
}
//切糕、积分结算汇总
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$nn
.
"'"
);
}
}
//31. ReturnToSender成就
//31. ReturnToSender成就
if
(
!
$is_npc
)
if
(
!
$is_npc
)
...
@@ -1170,6 +1303,23 @@ function check_battle_achievement_rev($pa,$pd)
...
@@ -1170,6 +1303,23 @@ function check_battle_achievement_rev($pa,$pd)
done_achievement_rev
(
3
,
1
,
$nn
);
done_achievement_rev
(
3
,
1
,
$nn
);
}
}
}
}
// 601.日常 击杀10名NPC
if
(
in_array
(
601
,
$daily
)
&&
$is_npc
)
{
$aid
=
601
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
)
+
1
;
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
if
(
!
$alvl
&&
$avars
>=
10
)
{
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
//日常任务统计成就 600 计数+1
$atotal
[
600
]
+=
1
;
}
}
//4. 推倒红暮成就
//4. 推倒红暮成就
if
(
$is_npc
&&
(
$killname
==
"红暮"
||
$killname
==
"红杀将军 红暮"
))
if
(
$is_npc
&&
(
$killname
==
"红暮"
||
$killname
==
"红杀将军 红暮"
))
{
{
...
@@ -1330,6 +1480,23 @@ function check_battle_achievement_rev($pa,$pd)
...
@@ -1330,6 +1480,23 @@ function check_battle_achievement_rev($pa,$pd)
done_achievement_rev
(
56
,
1
,
$nn
);
done_achievement_rev
(
56
,
1
,
$nn
);
}
}
}
}
// 605.日常击杀10名种火
if
(
in_array
(
605
,
$daily
)
&&
$is_npc
==
89
)
{
$aid
=
605
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
)
+
1
;
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
if
(
!
$alvl
&&
$avars
>=
10
)
{
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
//日常任务统计成就 600 计数+1
$atotal
[
600
]
+=
1
;
}
}
//57. 击杀回声成就
//57. 击杀回声成就
if
(
$is_npc
==
89
)
if
(
$is_npc
==
89
)
{
{
...
@@ -1354,6 +1521,16 @@ function check_battle_achievement_rev($pa,$pd)
...
@@ -1354,6 +1521,16 @@ function check_battle_achievement_rev($pa,$pd)
done_achievement_rev
(
57
,
1
,
$nn
);
done_achievement_rev
(
57
,
1
,
$nn
);
}
}
}
}
//切糕、积分结算汇总
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$nn
.
"'"
);
//成就计数结算
if
(
!
empty
(
$atotal
))
{
foreach
(
$atotal
as
$aid
=>
$anums
)
check_nums_achievement
(
$nn
,
$aid
,
$anums
);
}
}
}
...
@@ -1361,6 +1538,7 @@ function check_item_achievement_rev($nn,$i,$ie,$is,$ik,$isk)
...
@@ -1361,6 +1538,7 @@ function check_item_achievement_rev($nn,$i,$ie,$is,$ik,$isk)
{
{
global
$gamecfg
,
$name
,
$db
,
$tablepre
,
$now
,
$starttime
,
$gamestate
;
global
$gamecfg
,
$name
,
$db
,
$tablepre
,
$now
,
$starttime
,
$gamestate
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
$atotal
=
Array
();
//解禁相关
//解禁相关
if
(
$i
==
"游戏解除钥匙"
)
if
(
$i
==
"游戏解除钥匙"
)
...
@@ -1391,10 +1569,27 @@ function check_item_achievement_rev($nn,$i,$ie,$is,$ik,$isk)
...
@@ -1391,10 +1569,27 @@ function check_item_achievement_rev($nn,$i,$ie,$is,$ik,$isk)
}
}
// 阶段有所变化时,增加阶段次数
// 阶段有所变化时,增加阶段次数
if
(
$done
)
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
if
(
$done
)
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
//新版成就切糕、积分结算汇总到此
}
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$nn
.
"'"
);
if
(
$i
==
"凸眼鱼"
)
return
;
{
// 607.日常 使用一次凸眼鱼吸收20具尸体
if
(
in_array
(
607
,
check_daily_achievement
(
$nn
,
1
))
&&
$isk
>=
20
)
{
$aid
=
607
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
)
+
1
;
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
if
(
!
$alvl
)
{
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
//日常任务统计成就 600 计数+1
$atotal
[
600
]
+=
1
;
}
}
}
}
...
@@ -1411,6 +1606,23 @@ function check_item_achievement_rev($nn,$i,$ie,$is,$ik,$isk)
...
@@ -1411,6 +1606,23 @@ function check_item_achievement_rev($nn,$i,$ie,$is,$ik,$isk)
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
get_title
(
"神触"
,
$nn
);
get_title
(
"神触"
,
$nn
);
}
}
//604. 日常开启一次死斗
if
(
in_array
(
604
,
check_daily_achievement
(
$nn
,
1
)))
{
$aid
=
604
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
)
+
1
;
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
if
(
!
$alvl
)
{
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
//日常任务统计成就 600 计数+1
$atotal
[
600
]
+=
1
;
}
}
}
}
//29. 美食成就
//29. 美食成就
if
((
$ik
==
'HS'
)
||
(
$ik
==
'HH'
)
||
(
$ik
==
'HB'
))
if
((
$ik
==
'HS'
)
||
(
$ik
==
'HH'
)
||
(
$ik
==
'HB'
))
...
@@ -1552,33 +1764,46 @@ function check_item_achievement_rev($nn,$i,$ie,$is,$ik,$isk)
...
@@ -1552,33 +1764,46 @@ function check_item_achievement_rev($nn,$i,$ie,$is,$ik,$isk)
if
(
$uu
>
9999999
)
$uu
=
9999999
;
if
(
$uu
>
9999999
)
$uu
=
9999999
;
update_achievement_rev
(
55
,
$nn
,
$uu
);
update_achievement_rev
(
55
,
$nn
,
$uu
);
if
(((
int
)
fetch_achievement_rev
(
55
,
$nn
)
>=
17777
)
&&
(
check_achievement_rev
(
55
,
$nn
))
<
999
)
{
if
(((
int
)
fetch_achievement_rev
(
55
,
$nn
)
>=
17777
)
&&
(
check_achievement_rev
(
55
,
$nn
))
<
999
)
{
done_achievement_rev
(
55
,
999
,
$nn
);
done_achievement_rev
(
55
,
999
,
$nn
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits WHERE username='"
.
$nn
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits WHERE username='"
.
$nn
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+200 WHERE username='"
.
$nn
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+200 WHERE username='"
.
$nn
.
"'"
);
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
get_title
(
"无情补丁"
,
$nn
);
get_title
(
"无情补丁"
,
$nn
);
}
}
elseif
((
int
)
fetch_achievement_rev
(
55
,
$nn
)
>=
1777
&&
(
check_achievement_rev
(
55
,
$nn
)
<
2
))
{
elseif
((
int
)
fetch_achievement_rev
(
55
,
$nn
)
>=
1777
&&
(
check_achievement_rev
(
55
,
$nn
)
<
2
))
{
done_achievement_rev
(
55
,
2
,
$nn
);
done_achievement_rev
(
55
,
2
,
$nn
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits WHERE username='"
.
$nn
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits WHERE username='"
.
$nn
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+50 WHERE username='"
.
$nn
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+50 WHERE username='"
.
$nn
.
"'"
);
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
get_title
(
"补丁爱好者"
,
$nn
);
get_title
(
"补丁爱好者"
,
$nn
);
}
}
elseif
((
int
)
fetch_achievement_rev
(
55
,
$nn
)
>=
777
&&
(
check_achievement_rev
(
55
,
$nn
)
<
1
))
{
elseif
((
int
)
fetch_achievement_rev
(
55
,
$nn
)
>=
777
&&
(
check_achievement_rev
(
55
,
$nn
)
<
1
))
{
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits WHERE username='"
.
$nn
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits WHERE username='"
.
$nn
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+5 WHERE username='"
.
$nn
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+5 WHERE username='"
.
$nn
.
"'"
);
done_achievement_rev
(
55
,
1
,
$nn
);
done_achievement_rev
(
55
,
1
,
$nn
);
}
}
}
}
//新版成就切糕、积分结算汇总到此
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$nn
.
"'"
);
//成就计数结算
if
(
!
empty
(
$atotal
))
{
foreach
(
$atotal
as
$aid
=>
$anums
)
check_nums_achievement
(
$nn
,
$aid
,
$anums
);
}
return
;
}
}
//杂项成就,在将数据保存回数据库时统一检查
function
check_misc_achievement_rev
(
&
$pa
)
function
check_misc_achievement_rev
(
&
$pa
)
{
{
global
$gamestate
,
$gamecfg
,
$db
,
$tablepre
;
global
$gamestate
,
$gamecfg
,
$db
,
$tablepre
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
$done
=
0
;
$done
=
0
;
$atotal
=
Array
();
// 旧版成就参数兼容
// 旧版成就参数兼容
$is_player
=
$pa
[
'type'
]
?
0
:
1
;
$is_player
=
$pa
[
'type'
]
?
0
:
1
;
$nn
=
$pa
[
'name'
];
$nn
=
$pa
[
'name'
];
...
@@ -1626,7 +1851,221 @@ function check_misc_achievement_rev(&$pa)
...
@@ -1626,7 +1851,221 @@ function check_misc_achievement_rev(&$pa)
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
}
}
}
}
// 208.套装收集成就
if
(
!
empty
(
$pa
[
'clbpara'
][
'setitems'
]))
{
$aid
=
208
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
);
if
(
$alvl
<
3
)
{
// 成就未完成的情况下,检查是否有新集齐的套装需要加入成就记录
if
(
!
is_array
(
$avars
))
$avars
=
Array
();
$set_items_info
=
get_set_items_info
();
foreach
(
$pa
[
'clbpara'
][
'setitems'
]
as
$sid
=>
$snums
)
{
// 检查凑齐完整效果的套装
if
(
$snums
==
$set_items_info
[
$sid
][
'active'
][
1
]
&&
!
in_array
(
$sid
,
$avars
))
{
//echo "成就 {$aid} 变动:将套装 {$sid}保存入成就进度。";
$avars
[]
=
$sid
;
}
}
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
$anums
=
count
(
$avars
);
while
((
!
$alvl
&&
$anums
)
||
(
$alvl
==
1
&&
$anums
>=
3
)
||
(
$alvl
==
2
&&
$anums
>=
5
))
{
if
(
!
empty
(
$achlist
[
'title'
][
$alvl
]))
get_title
(
$achlist
[
'title'
][
$alvl
],
$nn
);
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
}
}
}
// 501.吃下【像围棋子一样的饼干】【桔黄色的果酱】并且活下来
if
(
!
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'eat_weiqi'
])
&&
!
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'eat_jelly'
]))
{
unset
(
$pa
[
'clbpara'
][
'achvars'
][
'eat_weiqi'
]);
unset
(
$pa
[
'clbpara'
][
'achvars'
][
'eat_jelly'
]);
$aid
=
501
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
// 增加一次完成次数
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
)
+
1
;
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
// 检查是否满足条件进入下一阶段
while
(
!
$alvl
&&
$avars
)
{
if
(
!
empty
(
$achlist
[
'title'
][
$alvl
]))
get_title
(
$achlist
[
'title'
][
$alvl
],
$nn
);
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
}
}
// 502.使用【翼人的羽毛】打出7230点以上伤害
if
(
!
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'ach502'
]))
{
$aid
=
502
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
// 检查伤害
$new_vars
=
$pa
[
'clbpara'
][
'achvars'
][
'ach502'
];
$old_vars
=
fetch_achievement_rev
(
$aid
,
$nn
);
if
(
$new_vars
>
$old_vars
)
{
update_achievement_rev
(
$aid
,
$nn
,
$new_vars
);
// 检查是否满足条件进入下一阶段
while
(
!
$alvl
&&
$new_vars
>=
7230
)
{
if
(
!
empty
(
$achlist
[
'title'
][
$alvl
]))
get_title
(
$achlist
[
'title'
][
$alvl
],
$nn
);
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
}
}
}
// 503.穿着【智代专用熊装】连续攻击同一个玩家/NPC64次以上
if
(
!
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'ach503'
]))
{
$aid
=
503
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
// 检查攻击次数
$new_vars
=
$pa
[
'clbpara'
][
'achvars'
][
'ach503'
][
't'
];
$old_vars
=
fetch_achievement_rev
(
$aid
,
$nn
);
if
(
$new_vars
>
$old_vars
)
{
update_achievement_rev
(
$aid
,
$nn
,
$new_vars
);
// 检查是否满足条件进入下一阶段
while
(
!
$alvl
&&
$new_vars
>=
64
)
{
if
(
!
empty
(
$achlist
[
'title'
][
$alvl
]))
get_title
(
$achlist
[
'title'
][
$alvl
],
$nn
);
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
}
}
}
// 504.在【RF高校】使用每一种系的武器各杀死一个目标
if
(
!
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'ach504'
]))
{
$aid
=
504
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
// 检查击杀过的武器种类
$new_vars
=
count
(
$pa
[
'clbpara'
][
'achvars'
][
'ach504'
]);
$old_vars
=
fetch_achievement_rev
(
$aid
,
$nn
);
if
(
$new_vars
>
$old_vars
)
{
update_achievement_rev
(
$aid
,
$nn
,
$new_vars
);
// 检查是否满足条件进入下一阶段
while
(
!
$alvl
&&
$new_vars
>=
6
)
{
if
(
!
empty
(
$achlist
[
'title'
][
$alvl
]))
get_title
(
$achlist
[
'title'
][
$alvl
],
$nn
);
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
}
}
}
// 505.一击秒杀【守卫者 静流】
if
(
!
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'ach505'
]))
{
unset
(
$pa
[
'clbpara'
][
'achvars'
][
'ach505'
]);
$aid
=
505
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
// 增加一次完成次数
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
)
+
1
;
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
// 检查是否满足条件进入下一阶段
while
(
!
$alvl
&&
$avars
)
{
if
(
!
empty
(
$achlist
[
'title'
][
$alvl
]))
get_title
(
$achlist
[
'title'
][
$alvl
],
$nn
);
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
}
}
// 608.日常 成功使用一次移动PC 只会记录一次
if
(
in_array
(
608
,
check_daily_achievement
(
$nn
,
1
)))
{
if
(
!
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'hack'
]))
{
$aid
=
608
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
);
if
(
empty
(
$avars
))
update_achievement_rev
(
$aid
,
$nn
,
1
);
if
(
!
$alvl
)
{
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
//日常任务统计成就 600 计数+1
$atotal
[
600
]
+=
1
;
}
}
}
// 610.日常 唱过一首歌
if
(
in_array
(
610
,
check_daily_achievement
(
$nn
,
1
)))
{
if
(
!
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'sing'
]))
{
$aid
=
610
;
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
);
if
(
empty
(
$avars
))
update_achievement_rev
(
$aid
,
$nn
,
1
);
if
(
!
$alvl
)
{
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
//日常任务统计成就 600 计数+1
$atotal
[
600
]
+=
1
;
}
}
}
}
}
//新版成就切糕、积分结算汇总到此
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$nn
.
"'"
);
//成就计数结算
if
(
!
empty
(
$atotal
))
{
foreach
(
$atotal
as
$aid
=>
$anums
)
check_nums_achievement
(
$nn
,
$aid
,
$anums
);
}
return
;
}
//为其他成就计数的成就
function
check_nums_achievement
(
$nn
,
$aid
,
$anums
=
1
)
{
global
$gamestate
,
$gamecfg
,
$db
,
$tablepre
;
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
//每日任务计数成就
if
(
$aid
==
600
)
{
$alvl
=
check_achievement_rev
(
$aid
,
$nn
);
$achlist
=
get_achlist
(
$aid
);
$avars
=
fetch_achievement_rev
(
$aid
,
$nn
)
+
$anums
;
update_achievement_rev
(
$aid
,
$nn
,
$avars
);
// 检查是否完成成就
while
((
!
$alvl
&&
$avars
)
||
(
$alvl
==
1
&&
$avars
>=
10
)
||
(
$alvl
==
2
&&
$avars
>=
100
)
||
(
$alvl
==
3
&&
$avars
>=
1001
))
{
$done
=
1
;
if
(
!
empty
(
$achlist
[
'title'
][
$alvl
]))
get_title
(
$achlist
[
'title'
][
$alvl
],
$nn
);
$c1
+=
$achlist
[
'c1'
][
$alvl
];
$c2
+=
$achlist
[
'c2'
][
$alvl
];
$alvl
++
;
}
if
(
$done
)
done_achievement_rev
(
$aid
,
$alvl
,
$nn
);
$done
=
0
;
}
//新版成就切糕、积分结算汇总到此
//新版成就切糕、积分结算汇总到此
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c1
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits=credits+
$c1
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$nn
.
"'"
);
if
(
!
empty
(
$c2
))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET credits2=credits2+
$c2
WHERE username='"
.
$nn
.
"'"
);
...
...
include/game/item.func.php
View file @
d8f233fc
...
@@ -8,7 +8,7 @@ include_once GAME_ROOT.'./include/game/titles.func.php';
...
@@ -8,7 +8,7 @@ include_once GAME_ROOT.'./include/game/titles.func.php';
include_once
GAME_ROOT
.
'./include/game/clubslct.func.php'
;
include_once
GAME_ROOT
.
'./include/game/clubslct.func.php'
;
function
itemuse
(
$itmn
)
{
function
itemuse
(
$itmn
)
{
global
$mode
,
$log
,
$nosta
,
$pid
,
$name
,
$state
,
$now
,
$nick
,
$achievement
,
$club
,
$pdata
;
global
$mode
,
$log
,
$nosta
,
$pid
,
$name
,
$state
,
$now
,
$nick
,
$achievement
,
$club
,
$clbpara
,
$pdata
;
$nickinfo
=
get_title_desc
(
$nick
);
$nickinfo
=
get_title_desc
(
$nick
);
...
@@ -75,6 +75,11 @@ function itemuse($itmn) {
...
@@ -75,6 +75,11 @@ function itemuse($itmn) {
$itmnumlimit
=
$itme
>=
$itms
?
$itms
:
$itme
;
$itmnumlimit
=
$itme
>=
$itms
?
$itms
:
$itme
;
}
}
if
((
$noeqp
&&
strpos
(
$
{
$eqp
.
'k'
},
$noeqp
)
===
0
)
||
!
$
{
$eqp
.
's'
})
{
if
((
$noeqp
&&
strpos
(
$
{
$eqp
.
'k'
},
$noeqp
)
===
0
)
||
!
$
{
$eqp
.
's'
})
{
// 装备道具时,进行单次套装检测
include_once
GAME_ROOT
.
'./include/game/itemmain.func.php'
;
reload_single_set_item
(
$pdata
,
$eqp
,
$itm
,
1
);
${$eqp}
=
$itm
;
${$eqp}
=
$itm
;
$
{
$eqp
.
'k'
}
=
$itmk
;
$
{
$eqp
.
'k'
}
=
$itmk
;
$
{
$eqp
.
'e'
}
=
$itme
;
$
{
$eqp
.
'e'
}
=
$itme
;
...
@@ -84,6 +89,14 @@ function itemuse($itmn) {
...
@@ -84,6 +89,14 @@ function itemuse($itmn) {
$itm
=
$itmk
=
$itmsk
=
''
;
$itm
=
$itmk
=
$itmsk
=
''
;
$itme
=
$itms
=
0
;
$itme
=
$itms
=
0
;
}
else
{
}
else
{
// 替换装备时,进行单次套装检测
// 先检测目前穿的装备
include_once
GAME_ROOT
.
'./include/game/itemmain.func.php'
;
reload_single_set_item
(
$pdata
,
$eqp
,
${$eqp}
);
// 再检测要替换的装备,类型为1,表示装备
reload_single_set_item
(
$pdata
,
$eqp
,
$itm
,
1
);
$itmt
=
${$eqp}
;
$itmt
=
${$eqp}
;
$itmkt
=
$
{
$eqp
.
'k'
};
$itmkt
=
$
{
$eqp
.
'k'
};
$itmet
=
$
{
$eqp
.
'e'
};
$itmet
=
$
{
$eqp
.
'e'
};
...
@@ -114,6 +127,8 @@ function itemuse($itmn) {
...
@@ -114,6 +127,8 @@ function itemuse($itmn) {
$sp
=
$sp
>
$msp
?
$msp
:
$sp
;
$sp
=
$sp
>
$msp
?
$msp
:
$sp
;
$oldsp
=
$sp
-
$oldsp
;
$oldsp
=
$sp
-
$oldsp
;
$log
.=
"你使用了<span class=
\"
red
\"
>
$itm
</span>,恢复了<span class=
\"
yellow
\"
>
$oldsp
</span>点体力。<br>"
;
$log
.=
"你使用了<span class=
\"
red
\"
>
$itm
</span>,恢复了<span class=
\"
yellow
\"
>
$oldsp
</span>点体力。<br>"
;
//吃了无毒果酱
if
(
$itm
==
'桔黄色的果酱'
)
$clbpara
[
'achvars'
][
'eat_jelly'
]
=
1
;
if
(
$itms
!=
$nosta
)
{
if
(
$itms
!=
$nosta
)
{
$itms
--
;
$itms
--
;
if
(
$itms
<=
0
)
{
if
(
$itms
<=
0
)
{
...
@@ -201,6 +216,8 @@ function itemuse($itmn) {
...
@@ -201,6 +216,8 @@ function itemuse($itmn) {
$hp
=
$hp
>
$mhp
?
$mhp
:
$hp
;
$hp
=
$hp
>
$mhp
?
$mhp
:
$hp
;
$oldhp
=
$hp
-
$oldhp
;
$oldhp
=
$hp
-
$oldhp
;
$log
.=
"你使用了<span class=
\"
red
\"
>
$itm
</span>,恢复了<span class=
\"
yellow
\"
>
$oldhp
</span>点生命和<span class=
\"
yellow
\"
>
$oldsp
</span>点体力。<br>"
;
$log
.=
"你使用了<span class=
\"
red
\"
>
$itm
</span>,恢复了<span class=
\"
yellow
\"
>
$oldhp
</span>点生命和<span class=
\"
yellow
\"
>
$oldsp
</span>点体力。<br>"
;
//吃了无毒的围棋子饼干 真勇啊!
if
(
$itm
==
'像围棋子一样的饼干'
)
$clbpara
[
'achvars'
][
'eat_weiqi'
]
=
1
;
if
(
$itms
!=
$nosta
)
{
if
(
$itms
!=
$nosta
)
{
$itms
--
;
$itms
--
;
if
(
$itms
<=
0
)
{
if
(
$itms
<=
0
)
{
...
@@ -260,6 +277,12 @@ function itemuse($itmn) {
...
@@ -260,6 +277,12 @@ function itemuse($itmn) {
$log
.=
"你被毒死了!"
;
$log
.=
"你被毒死了!"
;
}
}
}
}
else
{
//吃了像围棋子一样的饼干但是活下来了……怎么做到的!
if
(
$itm
==
'像围棋子一样的饼干'
)
$clbpara
[
'achvars'
][
'eat_weiqi'
]
=
1
;
if
(
$itm
==
'桔黄色的果酱'
)
$clbpara
[
'achvars'
][
'eat_jelly'
]
=
1
;
}
if
(
$itms
!=
$nosta
)
{
if
(
$itms
!=
$nosta
)
{
$itms
--
;
$itms
--
;
if
(
$itms
<=
0
)
{
if
(
$itms
<=
0
)
{
...
@@ -1161,7 +1184,7 @@ function itemuse($itmn) {
...
@@ -1161,7 +1184,7 @@ function itemuse($itmn) {
$cnum
=
$db
->
affected_rows
();
$cnum
=
$db
->
affected_rows
();
addnews
(
$now
,
'corpseclear'
,
$nickinfo
.
' '
.
$name
,
$cnum
);
addnews
(
$now
,
'corpseclear'
,
$nickinfo
.
' '
.
$name
,
$cnum
);
$log
.=
"使用了<span class=
\"
yellow
\"
>
$itm
</span>。<br>突然刮起了一阵怪风,吹走了地上的
{
$cnum
}
具尸体!<br>"
;
$log
.=
"使用了<span class=
\"
yellow
\"
>
$itm
</span>。<br>突然刮起了一阵怪风,吹走了地上的
{
$cnum
}
具尸体!<br>"
;
$itms
--
;
$itms
--
;
$isk
=
$cnum
;
}
elseif
(
$itm
==
'天候棒'
)
{
}
elseif
(
$itm
==
'天候棒'
)
{
global
$weather
,
$wthinfo
,
$name
;
global
$weather
,
$wthinfo
,
$name
;
...
@@ -1914,6 +1937,10 @@ function itemuse($itmn) {
...
@@ -1914,6 +1937,10 @@ function itemuse($itmn) {
global
$clbpara
;
global
$clbpara
;
$log
.=
"【DEBUG】你目前的播放列表还原为了默认播放列表!<br>"
;
$log
.=
"【DEBUG】你目前的播放列表还原为了默认播放列表!<br>"
;
unset
(
$clbpara
[
'event_bgmbook'
]);
unset
(
$clbpara
[
'event_bgmbook'
]);
}
elseif
(
$itm
==
'成就重置装置'
){
//使用会重置对应属性编号的成就进度
include_once
GAME_ROOT
.
'./include/game/achievement.func.php'
;
reset_achievement_rev
(
$itmsk
,
$name
);
}
elseif
(
$itm
==
'测试用元素口袋'
){
}
elseif
(
$itm
==
'测试用元素口袋'
){
global
$elements_info
;
global
$elements_info
;
$log
.=
"【DEBUG】你不知道从哪里摸出来一大堆元素!<br>"
;
$log
.=
"【DEBUG】你不知道从哪里摸出来一大堆元素!<br>"
;
...
...
include/game/itemmain.func.php
View file @
d8f233fc
...
@@ -294,7 +294,13 @@ function itemget() {
...
@@ -294,7 +294,13 @@ function itemget() {
function
itemdrop
(
$item
)
{
function
itemdrop
(
$item
)
{
global
$db
,
$log
,
$mode
,
$pls
,
$tablepre
;
global
$db
,
$log
,
$mode
,
$pls
,
$tablepre
;
if
(
$item
==
'wep'
){
if
(
strpos
(
$item
,
'itm'
)
===
false
)
{
$log
.=
'只能丢弃包裹内的道具!<br>'
;
$mode
=
'command'
;
return
;
}
/*if($item == 'wep'){
global $wep,$wepk,$wepe,$weps,$wepsk;
global $wep,$wepk,$wepe,$weps,$wepsk;
$itm = & $wep;
$itm = & $wep;
$itmk = & $wepk;
$itmk = & $wepk;
...
@@ -310,7 +316,7 @@ function itemdrop($item) {
...
@@ -310,7 +316,7 @@ function itemdrop($item) {
$itms = & ${'ar'.$itmn.'s'};
$itms = & ${'ar'.$itmn.'s'};
$itmsk = & ${'ar'.$itmn.'sk'};
$itmsk = & ${'ar'.$itmn.'sk'};
}
elseif
(
strpos
(
$item
,
'itm'
)
===
0
)
{
} else
*/
if
(
strpos
(
$item
,
'itm'
)
===
0
)
{
$itmn
=
substr
(
$item
,
3
,
1
);
$itmn
=
substr
(
$item
,
3
,
1
);
global
$
{
'itm'
.
$itmn
},
$
{
'itmk'
.
$itmn
},
$
{
'itme'
.
$itmn
},
$
{
'itms'
.
$itmn
},
$
{
'itmsk'
.
$itmn
};
global
$
{
'itm'
.
$itmn
},
$
{
'itmk'
.
$itmn
},
$
{
'itme'
.
$itmn
},
$
{
'itms'
.
$itmn
},
$
{
'itmsk'
.
$itmn
};
$itm
=
&
$
{
'itm'
.
$itmn
};
$itm
=
&
$
{
'itm'
.
$itmn
};
...
@@ -338,7 +344,7 @@ function itemdrop($item) {
...
@@ -338,7 +344,7 @@ function itemdrop($item) {
drop_itembag
();
drop_itembag
();
}
}
}
}
if
((
$itmk
==
'XX'
)
||
((
$itmk
==
'XY'
))){
if
((
$itmk
==
'XX'
)
||
((
$itmk
==
'XY'
))){
$log
.=
'该物品不能丢弃。<br>'
;
$log
.=
'该物品不能丢弃。<br>'
;
$mode
=
'command'
;
$mode
=
'command'
;
return
;
return
;
...
@@ -373,7 +379,7 @@ if(($itmk=='XX')||(($itmk=='XY'))){
...
@@ -373,7 +379,7 @@ if(($itmk=='XX')||(($itmk=='XY'))){
}
}
function
itemoff
(
$item
){
function
itemoff
(
$item
){
global
$log
,
$mode
,
$cmd
,
$itm0
,
$itmk0
,
$itme0
,
$itms0
,
$itmsk0
;
global
$log
,
$mode
,
$cmd
,
$itm0
,
$itmk0
,
$itme0
,
$itms0
,
$itmsk0
,
$pdata
;
if
(
$item
==
'wep'
){
if
(
$item
==
'wep'
){
global
$wep
,
$wepk
,
$wepe
,
$weps
,
$wepsk
;
global
$wep
,
$wepk
,
$wepe
,
$weps
,
$wepsk
;
...
@@ -401,6 +407,10 @@ function itemoff($item){
...
@@ -401,6 +407,10 @@ function itemoff($item){
$mode
=
'command'
;
$mode
=
'command'
;
return
;
return
;
}
}
//卸下装备时,进行单次套装检测
reload_single_set_item
(
$pdata
,
$item
,
$itm
);
$log
.=
"你卸下了装备<span class=
\"
yellow
\"
>
$itm
</span>。<br>"
;
$log
.=
"你卸下了装备<span class=
\"
yellow
\"
>
$itm
</span>。<br>"
;
$itm0
=
$itm
;
$itm0
=
$itm
;
...
@@ -1157,6 +1167,66 @@ function getcorpse($item){
...
@@ -1157,6 +1167,66 @@ function getcorpse($item){
return
;
return
;
}
}
# 初始化玩家/NPC数据时,重载套装效果
function
reload_set_items
(
&
$pa
)
{
# 身上登记过套装效果,先重置
if
(
!
empty
(
$pa
[
'clbpara'
][
'setitems'
]))
{
# TODO:失去对应的套装效果
}
$pa
[
'clbpara'
][
'setitems'
]
=
Array
();
$set_items
=
get_set_items
();
$equip_list
=
get_equip_list
();
# 遍历身上的装备信息 检查是否为套装的组成部分
foreach
(
$equip_list
as
$eqp
)
{
if
(
!
empty
(
$pa
[
$eqp
.
's'
])
&&
isset
(
$set_items
[
$eqp
][
$pa
[
$eqp
]]))
{
$sid
=
$set_items
[
$eqp
][
$pa
[
$eqp
]];
$pa
[
'clbpara'
][
'setitems'
][
$sid
]
+=
1
;
}
}
# 身上存在套装效果
if
(
!
empty
(
$pa
[
'clbpara'
][
'setitems'
]))
{
//获得对应的套装效果
}
return
;
}
# 装备/替换/破坏装备时,进行单件套装效果变更
# eqp → 装备部位;eqm → 装备名;active 1 → 装备;active 0 → 卸下/损坏
function
reload_single_set_item
(
&
$pa
,
$eqp
,
$enm
,
$active
=
0
)
{
global
$log
;
$set_items
=
get_set_items
();
# 检查装备是否为套装组成部分
if
(
isset
(
$set_items
[
$eqp
][
$enm
]))
{
$sid
=
$set_items
[
$eqp
][
$enm
];
$set_items_info
=
get_set_items_info
();
if
(
$active
)
{
$pa
[
'clbpara'
][
'setitems'
][
$sid
]
+=
1
;
$nownums
=
$pa
[
'clbpara'
][
'setitems'
][
$sid
];
//获得对应的套装效果
//$log .= "激活了套装{$set_items_info[$sid]['name']}{$nownums}件套的效果。<br>";
//检查是否解锁对应套装成就
}
else
{
$pa
[
'clbpara'
][
'setitems'
][
$sid
]
-=
1
;
$nownums
=
$pa
[
'clbpara'
][
'setitems'
][
$sid
];
//失去对应的套装效果
//$log .= "套装{$set_items_info[$sid]['name']}组件数-1,重新激活{$nownums}件套的效果。<br>";
}
}
return
;
}
//武器损耗&消耗计算:force_imp:强制扣除武器效果;check_sk:是否在武器毁坏时重新检查属性数组$pa['ex_keys']
//武器损耗&消耗计算:force_imp:强制扣除武器效果;check_sk:是否在武器毁坏时重新检查属性数组$pa['ex_keys']
function
weapon_loss
(
&
$pa
,
$hurtvalue
,
$force_imp
=
0
,
$check_sk
=
0
)
function
weapon_loss
(
&
$pa
,
$hurtvalue
,
$force_imp
=
0
,
$check_sk
=
0
)
{
{
...
@@ -1249,6 +1319,9 @@ function armor_hurt(&$pa,$which,$hurtvalue,$check_sk=0)
...
@@ -1249,6 +1319,9 @@ function armor_hurt(&$pa,$which,$hurtvalue,$check_sk=0)
//剔除防具属性
//剔除防具属性
if
(
$check_sk
&&
!
empty
(
$pa
[
$which
.
'sk'
]))
unset_ex_from_array
(
$pa
,
get_itmsk_array
(
$pa
[
$which
.
'sk'
]));
if
(
$check_sk
&&
!
empty
(
$pa
[
$which
.
'sk'
]))
unset_ex_from_array
(
$pa
,
get_itmsk_array
(
$pa
[
$which
.
'sk'
]));
//装备损坏后 重新检查套装属性
reload_single_set_item
(
$pa
,
$which
,
$pa
[
$which
]);
if
(
$which
==
'arb'
)
if
(
$which
==
'arb'
)
{
{
$pa
[
$which
]
=
'内衣'
;
$pa
[
$which
.
'k'
]
=
'DN'
;
$pa
[
$which
]
=
'内衣'
;
$pa
[
$which
.
'k'
]
=
'DN'
;
...
...
include/game/revattr.func.php
View file @
d8f233fc
...
@@ -173,6 +173,10 @@
...
@@ -173,6 +173,10 @@
$flag
=
attr_extra_89_cagedbird
(
$pd
,
$pa
,
$active
);
$flag
=
attr_extra_89_cagedbird
(
$pd
,
$pa
,
$active
);
if
(
$flag
<
0
)
return
$flag
;
if
(
$flag
<
0
)
return
$flag
;
}
}
# 检查成就503
if
(
!
empty
(
$pa
[
'arbs'
])
&&
$pa
[
'arb'
]
==
'【智代专用熊装】'
)
attr_ach53_check
(
$pa
,
$pd
,
$active
);
if
(
!
empty
(
$pd
[
'arbs'
])
&&
$pd
[
'arb'
]
==
'【智代专用熊装】'
)
attr_ach53_check
(
$pd
,
$pa
,
$active
);
return
1
;
return
1
;
}
}
...
@@ -1524,6 +1528,10 @@
...
@@ -1524,6 +1528,10 @@
$pa
[
'hp'
]
-=
$hp_d
;
$pa
[
'hp'
]
-=
$hp_d
;
}
}
}
}
# 检查成就502
if
(
$pa
[
'wep_name'
]
==
'翼人的羽毛'
)
$pa
[
'clbpara'
][
'achvars'
][
'ach502'
]
=
$pa
[
'final_damage'
];
return
;
return
;
}
}
...
...
include/game/revattr_extra.func.php
View file @
d8f233fc
...
@@ -770,4 +770,22 @@
...
@@ -770,4 +770,22 @@
return
;
return
;
}
}
function
attr_ach53_check
(
&
$pa
,
&
$pd
,
$active
)
{
if
(
!
empty
(
$pa
[
'arbs'
])
&&
$pa
[
'arb'
]
==
'【智代专用熊装】'
)
{
// 必须连续攻击同一个对象
if
(
!
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'ach503'
])
&&
$pa
[
'clbpara'
][
'achvars'
][
'ach503'
][
'a'
]
==
$pd
[
'pid'
])
{
$pa
[
'clbpara'
][
'achvars'
][
'ach503'
][
't'
]
+=
1
;
}
else
{
$pa
[
'clbpara'
][
'achvars'
][
'ach503'
][
'a'
]
=
$pd
[
'pid'
];
$pa
[
'clbpara'
][
'achvars'
][
'ach503'
][
't'
]
=
1
;
}
}
return
;
}
?>
?>
\ No newline at end of file
include/game/revcombat.func.php
View file @
d8f233fc
...
@@ -385,9 +385,9 @@
...
@@ -385,9 +385,9 @@
battle_finish_flag
:
battle_finish_flag
:
# 检查战斗中出现的杂项成就
# 检查战斗中出现的杂项成就
include_once
GAME_ROOT
.
'./include/game/achievement.func.php'
;
//
include_once GAME_ROOT.'./include/game/achievement.func.php';
if
(
!
$pa
[
'type'
])
check_misc_achievement_rev
(
$pa
);
//
if(!$pa['type']) check_misc_achievement_rev($pa);
if
(
!
$pd
[
'type'
])
check_misc_achievement_rev
(
$pd
);
//
if(!$pd['type']) check_misc_achievement_rev($pd);
# 如果战斗中出现了死者 更新action标记
# 如果战斗中出现了死者 更新action标记
if
(
$active
)
if
(
$active
)
...
@@ -1009,11 +1009,20 @@
...
@@ -1009,11 +1009,20 @@
}
}
# 保存击杀女主的记录
# 保存击杀女主的记录
if
(
$pd
[
'type'
]
==
14
)
$pa
[
'clbpara'
][
'achvars'
][
'kill_n14'
]
+=
1
;
if
(
$pd
[
'type'
]
==
14
)
{
$pa
[
'clbpara'
][
'achvars'
][
'kill_n14'
]
+=
1
;
# 不一定是一击秒杀……但是先这样吧^ ^;
if
(
$pd
[
'name'
]
==
'守卫者 静流'
&&
$pa
[
'final_damage'
]
>=
$pd
[
'mhp'
])
$pa
[
'clbpara'
][
'achvars'
][
'ach505'
]
=
1
;
}
# 保存击杀种火或小兵的记录
# 保存击杀种火或小兵的记录
if
(
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'kill_minion'
])
&&
(
$pd
[
'type'
]
==
90
||
$pd
[
'type'
]
==
91
||
$pd
[
'type'
]
==
92
))
$pa
[
'clbpara'
][
'achvars'
][
'kill_minion'
]
=
1
;
if
(
empty
(
$pa
[
'clbpara'
][
'achvars'
][
'kill_minion'
])
&&
(
$pd
[
'type'
]
==
90
||
$pd
[
'type'
]
==
91
||
$pd
[
'type'
]
==
92
))
$pa
[
'clbpara'
][
'achvars'
][
'kill_minion'
]
=
1
;
# 成就504,保存在RF高校用过的武器记录
if
(
$pa
[
'pls'
]
==
2
)
$pa
[
'clbpara'
][
'achvars'
][
'ach504'
][
$pa
[
'wep_kind'
]]
=
1
;
# 快递被劫事件:
# 快递被劫事件:
if
(
isset
(
$pd
[
'clbpara'
][
'post'
]))
if
(
isset
(
$pd
[
'clbpara'
][
'post'
]))
{
{
...
@@ -1282,6 +1291,10 @@
...
@@ -1282,6 +1291,10 @@
shuffle
(
$weplist
);
shuffle
(
$weplist
);
$chosen
=
$weplist
[
0
];
$c
=
$chosen
[
0
];
$chosen
=
$weplist
[
0
];
$c
=
$chosen
[
0
];
//var_dump($chosen);
//var_dump($chosen);
//刷新套装效果
include_once
GAME_ROOT
.
'./include/game/itemmain.func.php'
;
reload_single_set_item
(
$pa
,
'wep'
,
$oldwep
);
reload_single_set_item
(
$pa
,
'wep'
,
$chosen
[
1
],
1
);
$pa
[
'itm'
.
$c
]
=
$pa
[
'wep'
];
$pa
[
'itmk'
.
$c
]
=
$pa
[
'wepk'
];
$pa
[
'itmsk'
.
$c
]
=
$pa
[
'wepsk'
];
$pa
[
'itm'
.
$c
]
=
$pa
[
'wep'
];
$pa
[
'itmk'
.
$c
]
=
$pa
[
'wepk'
];
$pa
[
'itmsk'
.
$c
]
=
$pa
[
'wepsk'
];
$pa
[
'itme'
.
$c
]
=
$pa
[
'wepe'
];
$pa
[
'itms'
.
$c
]
=
$pa
[
'weps'
];
$pa
[
'itme'
.
$c
]
=
$pa
[
'wepe'
];
$pa
[
'itms'
.
$c
]
=
$pa
[
'weps'
];
$pa
[
'wep'
]
=
$chosen
[
1
];
$pa
[
'wepk'
]
=
$chosen
[
2
];
$pa
[
'wepe'
]
=
$chosen
[
3
];
$pa
[
'weps'
]
=
$chosen
[
4
];
$pa
[
'wepsk'
]
=
$chosen
[
5
];
$pa
[
'wep'
]
=
$chosen
[
1
];
$pa
[
'wepk'
]
=
$chosen
[
2
];
$pa
[
'wepe'
]
=
$chosen
[
3
];
$pa
[
'weps'
]
=
$chosen
[
4
];
$pa
[
'wepsk'
]
=
$chosen
[
5
];
...
...
include/game/song.inc.php
View file @
d8f233fc
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
global
$att
,
$def
;
global
$att
,
$def
;
global
$wep
,
$wepk
,
$weps
,
$wepes
,
$wepsk
;
global
$wep
,
$wepk
,
$weps
,
$wepes
,
$wepsk
;
global
$rp
;
global
$rp
;
global
$pdata
;
//登记非功能性地点信息时合并隐藏地点
//登记非功能性地点信息时合并隐藏地点
foreach
(
$hplsinfo
as
$hgroup
=>
$hpls
)
$plsinfo
+=
$hpls
;
foreach
(
$hplsinfo
as
$hgroup
=>
$hpls
)
$plsinfo
+=
$hpls
;
...
@@ -24,6 +25,9 @@
...
@@ -24,6 +25,9 @@
$log
.=
"需要<span class=
\"
yellow
\"
>
{
$r
}
</span>歌魂才能唱这首歌!<br>"
;
$log
.=
"需要<span class=
\"
yellow
\"
>
{
$r
}
</span>歌魂才能唱这首歌!<br>"
;
return
;
return
;
}
}
// 记录唱歌动作
$pdata
[
'clbpara'
][
'achvars'
][
'sing'
]
=
1
;
if
(
$sn
==
"Alicemagic"
){
if
(
$sn
==
"Alicemagic"
){
$log
.=
"♪你說過在哭泣之後應該可以破涕而笑♪<br>
$log
.=
"♪你說過在哭泣之後應該可以破涕而笑♪<br>
...
...
include/resources.func.php
0 → 100644
View file @
d8f233fc
<?php
if
(
!
defined
(
'IN_GAME'
))
{
exit
(
'Access Denied'
);
}
# TODO: NO GLOBAL
# resources_1.php
function
get_equip_list
()
{
//装备列表
$equip_list
=
Array
(
'wep'
,
'arb'
,
'arh'
,
'ara'
,
'arf'
,
'art'
);
return
$equip_list
;
}
# achievement_1.php
function
get_achtype
()
{
include
config
(
"achievement"
,
1
);
return
$ach_type
;
}
function
get_hidden_achtype
()
{
include
config
(
"achievement"
,
1
);
return
$hidden_ach_type
;
}
function
get_achlist
(
$a
=
NULL
)
{
include
config
(
"achievement"
,
1
);
if
(
isset
(
$a
)
&&
isset
(
$ach_list
[
$a
]))
return
$ach_list
[
$a
];
return
$ach_list
;
}
# setitems_1.php
function
get_set_items
()
{
include
config
(
'setitems'
,
1
);
return
$set_items
;
}
function
get_set_items_info
()
{
include
config
(
'setitems'
,
1
);
return
$set_items_info
;
}
?>
include/system.func.php
View file @
d8f233fc
...
@@ -542,10 +542,12 @@ function gameover($time = 0, $mode = '', $winname = '') {
...
@@ -542,10 +542,12 @@ function gameover($time = 0, $mode = '', $winname = '') {
$db
->
query
(
"INSERT INTO
{
$tablepre
}
winners (gid,nick,name,pass,type,endtime,gd,sNo,icon,club,hp,mhp,sp,msp,ss,mss,att,def,pls,lvl,`exp`,money,bid,inf,rage,pose,tactic,killnum,killnum2,state,wp,wk,wg,wc,wd,wf,teamID,teamPass,teamMate,teamIcon,wep,wepk,wepe,weps,arb,arbk,arbe,arbs,arh,arhk,arhe,arhs,ara,arak,arae,aras,arf,arfk,arfe,arfs,art,artk,arte,arts,itm0,itmk0,itme0,itms0,itm1,itmk1,itme1,itms1,itm2,itmk2,itme2,itms2,itm3,itmk3,itme3,itms3,itm4,itmk4,itme4,itms4,itm5,itmk5,itme5,itms5,itm6,itmk6,itme6,itms6,motto,wmode,vnum,gtime,gstime,getime,hdmg,hdp,hkill,hkp,wepsk,arbsk,arhsk,arask,arfsk,artsk,itmsk0,itmsk1,itmsk2,itmsk3,itmsk4,itmsk5,itmsk6) VALUES ('"
.
$gamenum
.
"','"
.
$pdata
[
'nick'
]
.
"','"
.
$pdata
[
'name'
]
.
"','"
.
$pdata
[
'pass'
]
.
"','"
.
$pdata
[
'type'
]
.
"','"
.
$pdata
[
'endtime'
]
.
"','"
.
$pdata
[
'gd'
]
.
"','"
.
$pdata
[
'sNo'
]
.
"','"
.
$pdata
[
'icon'
]
.
"','"
.
$pdata
[
'club'
]
.
"','"
.
$pdata
[
'hp'
]
.
"','"
.
$pdata
[
'mhp'
]
.
"','"
.
$pdata
[
'sp'
]
.
"','"
.
$pdata
[
'msp'
]
.
"','"
.
$pdata
[
'ss'
]
.
"','"
.
$pdata
[
'mss'
]
.
"','"
.
$pdata
[
'att'
]
.
"','"
.
$pdata
[
'def'
]
.
"','"
.
$pdata
[
'pls'
]
.
"','"
.
$pdata
[
'lvl'
]
.
"','"
.
$pdata
[
'exp'
]
.
"','"
.
$pdata
[
'money'
]
.
"','"
.
$pdata
[
'bid'
]
.
"','"
.
$pdata
[
'inf'
]
.
"','"
.
$pdata
[
'rage'
]
.
"','"
.
$pdata
[
'pose'
]
.
"','"
.
$pdata
[
'tactic'
]
.
"','"
.
$pdata
[
'killnum'
]
.
"','"
.
$pdata
[
'killnum2'
]
.
"','"
.
$pdata
[
'state'
]
.
"','"
.
$pdata
[
'wp'
]
.
"','"
.
$pdata
[
'wk'
]
.
"','"
.
$pdata
[
'wg'
]
.
"','"
.
$pdata
[
'wc'
]
.
"','"
.
$pdata
[
'wd'
]
.
"','"
.
$pdata
[
'wf'
]
.
"','"
.
$pdata
[
'teamID'
]
.
"','"
.
$pdata
[
'teamPass'
]
.
"','"
.
$pdata
[
'teamMate'
]
.
"','"
.
$pdata
[
'teamIcon'
]
.
"','"
.
$pdata
[
'wep'
]
.
"','"
.
$pdata
[
'wepk'
]
.
"','"
.
$pdata
[
'wepe'
]
.
"','"
.
$pdata
[
'weps'
]
.
"','"
.
$pdata
[
'arb'
]
.
"','"
.
$pdata
[
'arbk'
]
.
"','"
.
$pdata
[
'arbe'
]
.
"','"
.
$pdata
[
'arbs'
]
.
"','"
.
$pdata
[
'arh'
]
.
"','"
.
$pdata
[
'arhk'
]
.
"','"
.
$pdata
[
'arhe'
]
.
"','"
.
$pdata
[
'arhs'
]
.
"','"
.
$pdata
[
'ara'
]
.
"','"
.
$pdata
[
'arak'
]
.
"','"
.
$pdata
[
'arae'
]
.
"','"
.
$pdata
[
'aras'
]
.
"','"
.
$pdata
[
'arf'
]
.
"','"
.
$pdata
[
'arfk'
]
.
"','"
.
$pdata
[
'arfe'
]
.
"','"
.
$pdata
[
'arfs'
]
.
"','"
.
$pdata
[
'art'
]
.
"','"
.
$pdata
[
'artk'
]
.
"','"
.
$pdata
[
'arte'
]
.
"','"
.
$pdata
[
'arts'
]
.
"','"
.
$pdata
[
'itm0'
]
.
"','"
.
$pdata
[
'itmk0'
]
.
"','"
.
$pdata
[
'itme0'
]
.
"','"
.
$pdata
[
'itms0'
]
.
"','"
.
$pdata
[
'itm1'
]
.
"','"
.
$pdata
[
'itmk1'
]
.
"','"
.
$pdata
[
'itme1'
]
.
"','"
.
$pdata
[
'itms1'
]
.
"','"
.
$pdata
[
'itm2'
]
.
"','"
.
$pdata
[
'itmk2'
]
.
"','"
.
$pdata
[
'itme2'
]
.
"','"
.
$pdata
[
'itms2'
]
.
"','"
.
$pdata
[
'itm3'
]
.
"','"
.
$pdata
[
'itmk3'
]
.
"','"
.
$pdata
[
'itme3'
]
.
"','"
.
$pdata
[
'itms3'
]
.
"','"
.
$pdata
[
'itm4'
]
.
"','"
.
$pdata
[
'itmk4'
]
.
"','"
.
$pdata
[
'itme4'
]
.
"','"
.
$pdata
[
'itms4'
]
.
"','"
.
$pdata
[
'itm5'
]
.
"','"
.
$pdata
[
'itmk5'
]
.
"','"
.
$pdata
[
'itme5'
]
.
"','"
.
$pdata
[
'itms5'
]
.
"','"
.
$pdata
[
'itm6'
]
.
"','"
.
$pdata
[
'itmk6'
]
.
"','"
.
$pdata
[
'itme6'
]
.
"','"
.
$pdata
[
'itms6'
]
.
"','"
.
$pdata
[
'motto'
]
.
"','"
.
$pdata
[
'wmode'
]
.
"','"
.
$pdata
[
'vnum'
]
.
"','"
.
$pdata
[
'gtime'
]
.
"','"
.
$pdata
[
'gstime'
]
.
"','"
.
$pdata
[
'getime'
]
.
"','"
.
$pdata
[
'hdmg'
]
.
"','"
.
$pdata
[
'hdp'
]
.
"','"
.
$pdata
[
'hkill'
]
.
"','"
.
$pdata
[
'hkp'
]
.
"','"
.
$pdata
[
'wepsk'
]
.
"','"
.
$pdata
[
'arbsk'
]
.
"','"
.
$pdata
[
'arhsk'
]
.
"','"
.
$pdata
[
'arask'
]
.
"','"
.
$pdata
[
'arfsk'
]
.
"','"
.
$pdata
[
'artsk'
]
.
"','"
.
$pdata
[
'itmsk0'
]
.
"','"
.
$pdata
[
'itmsk1'
]
.
"','"
.
$pdata
[
'itmsk2'
]
.
"','"
.
$pdata
[
'itmsk3'
]
.
"','"
.
$pdata
[
'itmsk4'
]
.
"','"
.
$pdata
[
'itmsk5'
]
.
"','"
.
$pdata
[
'itmsk6'
]
.
"')"
);
$db
->
query
(
"INSERT INTO
{
$tablepre
}
winners (gid,nick,name,pass,type,endtime,gd,sNo,icon,club,hp,mhp,sp,msp,ss,mss,att,def,pls,lvl,`exp`,money,bid,inf,rage,pose,tactic,killnum,killnum2,state,wp,wk,wg,wc,wd,wf,teamID,teamPass,teamMate,teamIcon,wep,wepk,wepe,weps,arb,arbk,arbe,arbs,arh,arhk,arhe,arhs,ara,arak,arae,aras,arf,arfk,arfe,arfs,art,artk,arte,arts,itm0,itmk0,itme0,itms0,itm1,itmk1,itme1,itms1,itm2,itmk2,itme2,itms2,itm3,itmk3,itme3,itms3,itm4,itmk4,itme4,itms4,itm5,itmk5,itme5,itms5,itm6,itmk6,itme6,itms6,motto,wmode,vnum,gtime,gstime,getime,hdmg,hdp,hkill,hkp,wepsk,arbsk,arhsk,arask,arfsk,artsk,itmsk0,itmsk1,itmsk2,itmsk3,itmsk4,itmsk5,itmsk6) VALUES ('"
.
$gamenum
.
"','"
.
$pdata
[
'nick'
]
.
"','"
.
$pdata
[
'name'
]
.
"','"
.
$pdata
[
'pass'
]
.
"','"
.
$pdata
[
'type'
]
.
"','"
.
$pdata
[
'endtime'
]
.
"','"
.
$pdata
[
'gd'
]
.
"','"
.
$pdata
[
'sNo'
]
.
"','"
.
$pdata
[
'icon'
]
.
"','"
.
$pdata
[
'club'
]
.
"','"
.
$pdata
[
'hp'
]
.
"','"
.
$pdata
[
'mhp'
]
.
"','"
.
$pdata
[
'sp'
]
.
"','"
.
$pdata
[
'msp'
]
.
"','"
.
$pdata
[
'ss'
]
.
"','"
.
$pdata
[
'mss'
]
.
"','"
.
$pdata
[
'att'
]
.
"','"
.
$pdata
[
'def'
]
.
"','"
.
$pdata
[
'pls'
]
.
"','"
.
$pdata
[
'lvl'
]
.
"','"
.
$pdata
[
'exp'
]
.
"','"
.
$pdata
[
'money'
]
.
"','"
.
$pdata
[
'bid'
]
.
"','"
.
$pdata
[
'inf'
]
.
"','"
.
$pdata
[
'rage'
]
.
"','"
.
$pdata
[
'pose'
]
.
"','"
.
$pdata
[
'tactic'
]
.
"','"
.
$pdata
[
'killnum'
]
.
"','"
.
$pdata
[
'killnum2'
]
.
"','"
.
$pdata
[
'state'
]
.
"','"
.
$pdata
[
'wp'
]
.
"','"
.
$pdata
[
'wk'
]
.
"','"
.
$pdata
[
'wg'
]
.
"','"
.
$pdata
[
'wc'
]
.
"','"
.
$pdata
[
'wd'
]
.
"','"
.
$pdata
[
'wf'
]
.
"','"
.
$pdata
[
'teamID'
]
.
"','"
.
$pdata
[
'teamPass'
]
.
"','"
.
$pdata
[
'teamMate'
]
.
"','"
.
$pdata
[
'teamIcon'
]
.
"','"
.
$pdata
[
'wep'
]
.
"','"
.
$pdata
[
'wepk'
]
.
"','"
.
$pdata
[
'wepe'
]
.
"','"
.
$pdata
[
'weps'
]
.
"','"
.
$pdata
[
'arb'
]
.
"','"
.
$pdata
[
'arbk'
]
.
"','"
.
$pdata
[
'arbe'
]
.
"','"
.
$pdata
[
'arbs'
]
.
"','"
.
$pdata
[
'arh'
]
.
"','"
.
$pdata
[
'arhk'
]
.
"','"
.
$pdata
[
'arhe'
]
.
"','"
.
$pdata
[
'arhs'
]
.
"','"
.
$pdata
[
'ara'
]
.
"','"
.
$pdata
[
'arak'
]
.
"','"
.
$pdata
[
'arae'
]
.
"','"
.
$pdata
[
'aras'
]
.
"','"
.
$pdata
[
'arf'
]
.
"','"
.
$pdata
[
'arfk'
]
.
"','"
.
$pdata
[
'arfe'
]
.
"','"
.
$pdata
[
'arfs'
]
.
"','"
.
$pdata
[
'art'
]
.
"','"
.
$pdata
[
'artk'
]
.
"','"
.
$pdata
[
'arte'
]
.
"','"
.
$pdata
[
'arts'
]
.
"','"
.
$pdata
[
'itm0'
]
.
"','"
.
$pdata
[
'itmk0'
]
.
"','"
.
$pdata
[
'itme0'
]
.
"','"
.
$pdata
[
'itms0'
]
.
"','"
.
$pdata
[
'itm1'
]
.
"','"
.
$pdata
[
'itmk1'
]
.
"','"
.
$pdata
[
'itme1'
]
.
"','"
.
$pdata
[
'itms1'
]
.
"','"
.
$pdata
[
'itm2'
]
.
"','"
.
$pdata
[
'itmk2'
]
.
"','"
.
$pdata
[
'itme2'
]
.
"','"
.
$pdata
[
'itms2'
]
.
"','"
.
$pdata
[
'itm3'
]
.
"','"
.
$pdata
[
'itmk3'
]
.
"','"
.
$pdata
[
'itme3'
]
.
"','"
.
$pdata
[
'itms3'
]
.
"','"
.
$pdata
[
'itm4'
]
.
"','"
.
$pdata
[
'itmk4'
]
.
"','"
.
$pdata
[
'itme4'
]
.
"','"
.
$pdata
[
'itms4'
]
.
"','"
.
$pdata
[
'itm5'
]
.
"','"
.
$pdata
[
'itmk5'
]
.
"','"
.
$pdata
[
'itme5'
]
.
"','"
.
$pdata
[
'itms5'
]
.
"','"
.
$pdata
[
'itm6'
]
.
"','"
.
$pdata
[
'itmk6'
]
.
"','"
.
$pdata
[
'itme6'
]
.
"','"
.
$pdata
[
'itms6'
]
.
"','"
.
$pdata
[
'motto'
]
.
"','"
.
$pdata
[
'wmode'
]
.
"','"
.
$pdata
[
'vnum'
]
.
"','"
.
$pdata
[
'gtime'
]
.
"','"
.
$pdata
[
'gstime'
]
.
"','"
.
$pdata
[
'getime'
]
.
"','"
.
$pdata
[
'hdmg'
]
.
"','"
.
$pdata
[
'hdp'
]
.
"','"
.
$pdata
[
'hkill'
]
.
"','"
.
$pdata
[
'hkp'
]
.
"','"
.
$pdata
[
'wepsk'
]
.
"','"
.
$pdata
[
'arbsk'
]
.
"','"
.
$pdata
[
'arhsk'
]
.
"','"
.
$pdata
[
'arask'
]
.
"','"
.
$pdata
[
'arfsk'
]
.
"','"
.
$pdata
[
'artsk'
]
.
"','"
.
$pdata
[
'itmsk0'
]
.
"','"
.
$pdata
[
'itmsk1'
]
.
"','"
.
$pdata
[
'itmsk2'
]
.
"','"
.
$pdata
[
'itmsk3'
]
.
"','"
.
$pdata
[
'itmsk4'
]
.
"','"
.
$pdata
[
'itmsk5'
]
.
"','"
.
$pdata
[
'itmsk6'
]
.
"')"
);
}
}
//检查成就
//存在获胜者数据时 检查获胜者结局成就
include_once
GAME_ROOT
.
'./include/game/achievement.func.php'
;
if
(
!
empty
(
$pdata
))
check_end_achievement_rev
(
$winner
,
$winmode
,
$pdata
);
{
include_once
GAME_ROOT
.
'./include/game/achievement.func.php'
;
check_end_achievement_rev
(
$winner
,
$winmode
,
$pdata
);
}
rs_sttime
();
//重置游戏开始时间和当前游戏状态
rs_sttime
();
//重置游戏开始时间和当前游戏状态
$gamestate
=
0
;
$gamestate
=
0
;
...
...
templates/default/achievement_208.htm
0 → 100644
View file @
d8f233fc
<table>
<tr>
<!--{eval $alvl = $cpl[$aid] == 999 ? $alist[$aid]['lvl'] : $cpl[$aid]; $rlvl = $cpl[$aid] == 999 ? $alist[$aid]['lvl']-1 : $cpl[$aid];}-->
<td>
<!--{if file_exists("img/ach/".$aid."_".$alvl.".gif") }-->
<!-- 存在预设的对应阶段图标 -->
<img
src=
"img/ach/{$aid}_{$alvl}.gif"
>
<!--{elseif file_exists("img/ach/".$aid."_".$rlvl.".gif") }-->
<!-- 完成后的成就,不存在完成阶段图标,但是存在上一阶段图标 -->
<img
src=
"img/ach/{$aid}_{$rlvl}.gif"
>
<!--{elseif $alvl && file_exists("img/ach/".$aid.".gif") }-->
<!-- 没有定义阶段,但是有通用阶段图标 -->
<img
src=
"img/ach/{$aid}.gif"
>
<!--{else}-->
<!-- 否则使用默认图标 -->
<!--{if !empty($alvl) }-->
<img
src=
"img/ach/D.gif"
>
<!--{else}-->
<img
src=
"img/ach/N.gif"
>
<!--{/if}-->
<!--{/if}-->
</td>
<td
class=
"ach_cont"
>
<!-- 当前阶段成就名 -->
<span
class=
"ach_title"
>
<!--{if empty($alist[$aid]['name'][$alvl]) }-->
<b>
{$alist[$aid]['name'][$rlvl]}
</b>
<!--{else}-->
<b>
{$alist[$aid]['name'][$alvl]}
</b>
<!--{/if}-->
</span>
<!--{if !empty($alist[$aid]['lvldesc'][$alvl]) }-->
<!-- 存在预设的对应阶段的完成状态描述文本 -->
{$alist[$aid]['lvlname'][$alvl]}
<!--{elseif !empty($alist[$aid]['lvldesc'][$rlvl]) }-->
{$alist[$aid]['lvlname'][$rlvl]}
<!--{else}-->
<!-- 否则使用默认描述文本 -->
<!--{if ($alvl == $alist[$aid]['lvl']) }-->
<span
class=
"lime"
>
[完成]
</span>
<!--{elseif (!empty($alvl))}-->
<span
class=
"clan"
>
[进行中]
</span>
<!--{else}-->
<span
class=
"red"
>
[未完成]
</span>
<!--{/if}-->
<!--{/if}-->
<br>
<!-- 当前阶段成就完成情况 -->
<font
color=
"yellow"
>
<!--{eval $nums = is_array($prc[208]) ? count($prc[208]) : 0; }-->
<!--{if $nums>0 }-->
<!--{eval $sname = "已集齐套装:\r";}-->
<!--{loop $prc[208] $sid}-->
<!--{eval $sname .= get_set_items_info()[$sid]['name']."\r";}-->
<!--{/loop}-->
<!--{/if}-->
<span
<!
--
{
if
!
empty
($
sname
)
}
--
>
tooltip="{$sname}"
<!--{/if}-->
>已集齐套装种类:{$nums}种
</span>
</font>
<br>
<!-- 当前阶段达成奖励 -->
<font
color=
"olive"
>
奖励:
<!--{if $alist[$aid]['c1'][$rlvl] }-->
积分{$alist[$aid]['c1'][$rlvl]}
<!--{/if}-->
<!--{if $alist[$aid]['c2'][$rlvl] }-->
切糕{$alist[$aid]['c2'][$rlvl]}
<!--{/if}-->
<!--{if $alist[$aid]['title'][$rlvl] }-->
<span
class=
"evergreen"
>
称号 {$alist[$aid]['title'][$rlvl]}
</span>
<!--{/if}-->
</font>
<br>
<!-- 当前阶段达成需求描述 -->
{$alist[$aid]['desc'][$rlvl]}
</td>
</tr>
</table>
templates/default/achievement_temp.htm
View file @
d8f233fc
...
@@ -47,7 +47,10 @@
...
@@ -47,7 +47,10 @@
<br>
<br>
<!-- 当前阶段成就完成情况 -->
<!-- 当前阶段成就完成情况 -->
<font
color=
"yellow"
>
<font
color=
"yellow"
>
<!--{if !empty($alist[$aid]['request'][$alvl]) }-->
<!--{if !empty($alist[$aid]['request']) && !is_array($alist[$aid]['request']) }-->
<!--{eval $areq = $alist[$aid]['request']; $areq = str_replace("[:request:]",$prc[$aid],$areq);}-->
{$areq}
<!--{elseif !empty($alist[$aid]['request'][$alvl]) }-->
<!--{eval $areq = $alist[$aid]['request'][$alvl]; $areq = str_replace("[:request:]",$prc[$aid],$areq);}-->
<!--{eval $areq = $alist[$aid]['request'][$alvl]; $areq = str_replace("[:request:]",$prc[$aid],$areq);}-->
{$areq}
{$areq}
<!--{elseif !empty($alist[$aid]['request'][$rlvl]) }-->
<!--{elseif !empty($alist[$aid]['request'][$rlvl]) }-->
...
...
templates/default/command.htm
View file @
d8f233fc
...
@@ -28,73 +28,131 @@
...
@@ -28,73 +28,131 @@
<input
type=
"button"
class=
"cmdbutton"
<!
--
{
if
strpos
($
itmk6
,'
W
'
)=
==0
||
strpos
($
itmk6
,'
D
'
)=
==0
||
strpos
($
itmk6
,'
A
'
)=
==0}--
>
value="装备"
<!--{else}-->
value="使用"
<!--{/if}-->
onclick="$('mode').value='command';$('command').value='itm6';postCmd('gamecmd','command.php');this.disabled=true;">
<span
class=
"yellow"
>
{$itm6}
</span>
/{$itme6}/{$itms6}
<br>
<input
type=
"button"
class=
"cmdbutton"
<!
--
{
if
strpos
($
itmk6
,'
W
'
)=
==0
||
strpos
($
itmk6
,'
D
'
)=
==0
||
strpos
($
itmk6
,'
A
'
)=
==0}--
>
value="装备"
<!--{else}-->
value="使用"
<!--{/if}-->
onclick="$('mode').value='command';$('command').value='itm6';postCmd('gamecmd','command.php');this.disabled=true;">
<span
class=
"yellow"
>
{$itm6}
</span>
/{$itme6}/{$itms6}
<br>
<!--{/if}-->
<!--{/if}-->
<br>
<br>
<!--{if $club==19}-->
【
<span
class=
"lime"
>
报应点数:
<span
id=
"anum"
>
$rp
</span></span>
】
<br>
<!--{/if}-->
<!-- 第 -1 行:社团提示相关-->
<!--{if $club==19}-->
【
<span
class=
"lime"
>
报应点数:
<span
id=
"anum"
>
$rp
</span></span>
】
<br>
<!--{elseif $club==20}-->
<a
onclick=
"$('mode').value='itemmain';$('command').value='elementbag';postCmd('gamecmd','command.php');this.disabled=true;"
>
【
<span
class=
"sparkle"
>
{$sparkle}元素口袋{$sparkle}
</span>
】
</a><br>
<!--{/if}-->
<!-- 第 1 行 : 包裹相关-->
<!--{if $club==20}-->
<!--{if $club==20}-->
<a
onclick=
"$('mode').value='itemmain';$('command').value='elementbag';postCmd('gamecmd','command.php');this.disabled=true;"
>
【
<span
class=
"sparkle"
>
{$sparkle}元素口袋{$sparkle}
</span>
】
</a><br>
<input
type=
"button"
class=
"cmdbutton"
id=
"elementmix"
name=
"elementmix"
value=
"元素合成"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='elementmix';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"elementmix"
name=
"elementmix"
value=
"元素合成"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='elementmix';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{else}-->
<!--{else}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"itemmix"
name=
"itemmix"
value=
"道具合成"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemmix';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"itemmix"
name=
"itemmix"
value=
"道具合成"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemmix';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{/if}-->
<!--{/if}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"itemmerge"
name=
"itemmerge"
value=
"整理包裹"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemmerge';postCmd('gamecmd','command.php');this.disabled=true;"
>
<span
tooltip=
"交换道具位置,或合并可堆叠道具"
>
<!--{if strpos($artk,'ss')!==false}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"itemmerge"
name=
"itemmerge"
value=
"整理包裹"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemmerge';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_weapon"
name=
"sp_weapon"
value=
"歌唱"
onclick=
"$('command').value='song';$('subcmd').name='song';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<!--{/if}-->
<br>
<input
type=
"button"
class=
"cmdbutton"
id=
"itemdrop"
name=
"itemdrop"
value=
"道具移动"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemmove';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"itemdrop"
name=
"itemdrop"
value=
"道具丢弃"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemdrop';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"itemdrop"
name=
"itemdrop"
value=
"道具丢弃"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemdrop';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_weapon"
name=
"sp_weapon"
value=
"武器模式"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_weapon';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{if strpos($arbsk,'^')!==false && $arbs && $arbe}-->
<br>
<br>
<!-- 第 2 行: 武器相关-->
<span
tooltip=
"切换主/副武器,或将手中武器存放于副武器栏内"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sw_weapon"
name=
"sw_weapon"
value=
"切换武器"
onclick=
"$('mode').value='itemmain';$('command').value='changewep';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<span
tooltip=
"装备的武器中带有“多重”属性时,点此转换武器模式"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_weapon"
name=
"sp_weapon"
value=
"武器模式"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_weapon';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<span
tooltip=
"消耗{$arte}点歌魂歌唱,可能会暴露自己的位置"
>
<!--{if strpos($artk,'ss')!==false}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_weapon"
name=
"sp_weapon"
value=
"歌唱"
onclick=
"$('command').value='song';$('subcmd').name='song';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{/if}-->
</span>
<br>
<!-- 第 2.5 行: 背包指令-->
<!--{if strpos($arbsk,'^')!==false && $arbs && $arbe}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"itemencase"
name=
"itemencase"
value=
"存放道具"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemencase';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"itemencase"
name=
"itemencase"
value=
"存放道具"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemencase';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"itemout"
name=
"itemout"
value=
"取出道具"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemout';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"itemout"
name=
"itemout"
value=
"取出道具"
onclick=
"$('command').value='itemmain';$('subcmd').name='itemcmd';$('subcmd').value='itemout';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"itemmain"
name=
"itemmain"
value=
"背包信息"
onclick=
"$('mode').value='itemmain';$('command').value='iteminfo';postCmd('gamecmd','command.php');this.disabled=true;"
>
<span
tooltip=
"查看背包中存放的道具信息与背包容量"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"itemmain"
name=
"itemmain"
value=
"背包信息"
onclick=
"$('mode').value='itemmain';$('command').value='iteminfo';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<br>
<!--{/if}-->
<!--{/if}-->
<!-- 第 3 行:休养指令-->
<span
tooltip=
"进入睡眠状态,随时间缓慢恢复体力"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"rest1"
name=
"rest1"
value=
"睡眠"
onclick=
"$('command').value='rest1';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<span
tooltip=
"进入治疗状态,随时间缓慢恢复生命"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"rest2"
name=
"rest2"
value=
"治疗"
onclick=
"$('command').value='rest2';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<!--{if in_array($pls,$hospitals)}-->
<span
tooltip=
"进入静养状态,随时间缓慢恢复生命与体力"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"rest3"
name=
"rest3"
value=
"静养"
onclick=
"$('command').value='rest3';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<!--{/if}-->
<br>
<!-- 第 3.5 行:队伍指令-->
<!--{if $gamestate < 40}-->
<!--{if !$teamID}-->
<span
tooltip=
"消耗{$team_sp}点体力,创建一支队伍"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"teammake"
name=
"teammake"
value=
"组建队伍"
onclick=
"$('command').value='team';$('subcmd').name='teamcmd';$('subcmd').value='teammake';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<span
tooltip=
"消耗{$teamj_sp}点体力,加入一支队伍"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"teammake"
name=
"teamjoin"
value=
"加入队伍"
onclick=
"$('command').value='team';$('subcmd').name='teamcmd';$('subcmd').value='teamjoin';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<!--{else}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"teammake"
name=
"teamquit"
value=
"脱离队伍"
onclick=
"$('command').value='team';$('subcmd').name='teamcmd';$('subcmd').value='teamquit';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{/if}-->
<br
/>
<br
/>
<input
type=
"button"
class=
"cmdbutton"
id=
"rest1"
name=
"rest1"
value=
"睡眠"
onclick=
"$('command').value='rest1';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"rest2"
name=
"rest2"
value=
"治疗"
onclick=
"$('command').value='rest2';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{if in_array($pls,$hospitals)}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"rest3"
name=
"rest3"
value=
"静养"
onclick=
"$('command').value='rest3';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{/if}-->
<br
/>
<!--{if $gamestate < 40}-->
<!--{if !$teamID}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"teammake"
name=
"teammake"
value=
"组建队伍"
onclick=
"$('command').value='team';$('subcmd').name='teamcmd';$('subcmd').value='teammake';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"teammake"
name=
"teamjoin"
value=
"加入队伍"
onclick=
"$('command').value='team';$('subcmd').name='teamcmd';$('subcmd').value='teamjoin';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{else}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"teammake"
name=
"teamquit"
value=
"脱离队伍"
onclick=
"$('command').value='team';$('subcmd').name='teamcmd';$('subcmd').value='teamquit';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{/if}-->
<!--{/if}-->
<!--{/if}-->
<br
/>
<!--{if in_array($pls,$shops)}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_shop"
name=
"sp_shop"
value=
"商店"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_shop';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{/if}-->
<!--{if in_array($pls,$depots)}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_depot"
name=
"sp_depot"
value=
"安全箱"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_depot';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{/if}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_skpts"
name=
"sp_skpts"
value=
"升级技能"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_skpts';postCmd('gamecmd','command.php');this.disabled=true;"
>
<br
/>
<!--{if $club == 7}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_adtsk"
name=
"sp_adtsk"
value=
"武器带电"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_adtsk';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_trapadtsk"
name=
"sp_trapadtsk"
value=
"陷阱带电"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_trapadtsk';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{elseif $club == 8}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_adtsk"
name=
"sp_adtsk"
value=
"武器淬毒"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_adtsk';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_trapadtsk"
name=
"sp_trapadtsk"
value=
"陷阱淬毒"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_trapadtsk';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_poison"
name=
"sp_poison"
value=
"检查毒物"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_poison';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{elseif $club == 99}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_pbomb"
name=
"sp_pbomb"
value=
"X 按钮"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_pbomb';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{/if}-->
<br
/>
<!-- 对话框 -->
<!-- 第 4 行:地区功能-->
<!--{if isset($dialogue_id)}-->
<!--{if in_array($pls,$shops)}-->
{template dialogue}
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_shop"
name=
"sp_shop"
value=
"商店"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_shop';postCmd('gamecmd','command.php');this.disabled=true;"
>
<!--{/if}-->
<!--{/if}-->
<!--{if in_array($pls,$depots)}-->
<span
tooltip=
"向安全箱中存入或取出道具"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_depot"
name=
"sp_depot"
value=
"安全箱"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_depot';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<!--{/if}-->
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_skpts"
name=
"sp_skpts"
value=
"升级技能"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_skpts';postCmd('gamecmd','command.php');this.disabled=true;"
>
<br>
<!-- 第 5 行:社团特殊功能-->
<!--{if $club == 7}-->
<span
tooltip=
"消耗一枚电池,为武器或陷阱附加电击属性"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_adtsk"
name=
"sp_adtsk"
value=
"武器带电"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_adtsk';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_trapadtsk"
name=
"sp_trapadtsk"
value=
"陷阱带电"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_trapadtsk';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<br
/>
<!--{elseif $club == 8}-->
<span
tooltip=
"消耗一份毒药,为武器或陷阱附加带毒属性"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_adtsk"
name=
"sp_adtsk"
value=
"武器淬毒"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_adtsk';postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_trapadtsk"
name=
"sp_trapadtsk"
value=
"陷阱淬毒"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_trapadtsk';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<span
tooltip=
"选择一份背包中的补给品,检查其是否带毒"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_poison"
name=
"sp_poison"
value=
"检查毒物"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_poison';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<br
/>
<!--{elseif $club == 99}-->
<span
tooltip=
"舍弃当前称号,使属性大副提升"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_pbomb"
name=
"sp_pbomb"
value=
"X 按钮"
onclick=
"$('command').value='special';$('subcmd').name='sp_cmd';$('subcmd').value='sp_pbomb';postCmd('gamecmd','command.php');this.disabled=true;"
>
</span>
<br
/>
<!--{/if}-->
<br
/>
<!-- 子面板 -->
<!-- 对话框 -->
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_terminal"
name=
"sp_terminal"
value=
"子面板"
onclick=
"showModalDialog($('terminal'));"
>
<!--{if isset($dialogue_id)}-->
{template sp_terminal}
{template dialogue}
<!--{if isset($gamevars['apis'])}-->
<!--{/if}-->
{template sp_console_search}
<!--{/if}-->
<!-- 子面板 -->
<span
tooltip=
"查看战场地图、切换背景音乐或调节背景音量"
>
<input
type=
"button"
class=
"cmdbutton"
id=
"sp_terminal"
name=
"sp_terminal"
value=
"子面板"
onclick=
"showModalDialog($('terminal'));"
>
</span>
{template sp_terminal}
<!--{if isset($gamevars['apis'])}-->
{template sp_console_search}
<!--{/if}-->
<!-- 技能面板 -->
<!-- 技能面板 -->
<input
type=
"button"
class=
"cmdbutton"
id=
"skillstable"
name=
"skillstable"
value=
"技能表"
onclick=
"showModalDialog($('skillpage'));"
>
<span
tooltip=
"升级或使用技能"
>
{template skillpage}
<input
type=
"button"
class=
"cmdbutton"
id=
"skillstable"
name=
"skillstable"
value=
"技能表"
onclick=
"showModalDialog($('skillpage'));"
>
\ No newline at end of file
</span>
{template skillpage}
\ No newline at end of file
templates/default/dialogue.htm
View file @
d8f233fc
...
@@ -4,23 +4,25 @@
...
@@ -4,23 +4,25 @@
<!-- 对白分段显示 -->
<!-- 对白分段显示 -->
<!--{loop $dialogues[$dialogue_id] $dkey $dinfo}-->
<!--{loop $dialogues[$dialogue_id] $dkey $dinfo}-->
<div
id=
"d{$dkey}"
<!
--
{
if
$
dkey =
=
0
}
--
>
style=""
<!--{else}-->
style="display: none;"
<!--{/if}-->
>
<div
id=
"d{$dkey}"
<!
--
{
if
$
dkey =
=
0
}
--
>
class="ach_box" style="border:0; text-align: center; min-height: min-content; width: max-content; max-width: 560px;"
<!--{else}-->
style="display: none;"
<!--{/if}-->
>
<table
class=
"map"
border=
"1"
style=
"text-align: center;"
><tr>
<table>
<!-- 带头像对白 -->
<tr>
<!--{if isset($dialogue_icon[$dialogue_id][$dkey])}-->
<!-- 带头像对白 -->
<td>
<!--{if isset($dialogue_icon[$dialogue_id][$dkey])}-->
<img
style=
"width:140px;height:80px;"
src=
"$dialogue_icon[$dialogue_id][$dkey]"
>
<td>
</td>
<img
style=
"width:140px;height:80px;"
src=
"$dialogue_icon[$dialogue_id][$dkey]"
>
<td
style=
"border: 1px; width:280px;height:80px;text-align: left; padding: 3% 6%;"
>
</td>
$dinfo
<td
class=
"ach-cont"
style=
"border: 1px; width:280px;height:80px;text-align: left; padding: 3% 6%;"
>
</td>
$dinfo
<!-- 无头像对白 -->
</td>
<!--{else}-->
<!-- 无头像对白 -->
<td
class=
""
style=
"width:320px;height:80px;text-align: center; padding: 3% 6%;"
>
<!--{else}-->
$dinfo
<td
class=
"ach-cont"
style=
"width:320px;height:80px;text-align: center; padding: 3% 6%;"
>
</td>
$dinfo
<!--{/if}-->
</td>
</tr></table>
<!--{/if}-->
</tr>
</table>
<br>
<br>
<!--{if $dkey > 0}-->
<!--{if $dkey > 0}-->
<input
type=
"button"
class=
"cmdbutton"
style=
"margin-right: 5%;"
value=
"上一页"
onclick=
"changePages($dkey,$dkey-1);"
>
<input
type=
"button"
class=
"cmdbutton"
style=
"margin-right: 5%;"
value=
"上一页"
onclick=
"changePages($dkey,$dkey-1);"
>
...
...
templates/default/itemdrop.htm
View file @
d8f233fc
你想丢掉什么?
<br><br>
你想丢掉什么?
<br><br>
<input
type=
"hidden"
name=
"mode"
value=
"itemmain"
>
<input
type=
"hidden"
name=
"mode"
value=
"itemmain"
>
<input
type=
"radio"
name=
"command"
id=
"menu"
value=
"menu"
checked
><a
onclick=
sl('menu');
href=
"javascript:void(0);"
>
返回
</a><br><br>
<input
type=
"radio"
name=
"command"
id=
"menu"
value=
"menu"
checked
><a
onclick=
sl('menu');
href=
"javascript:void(0);"
>
返回
</a><br><br>
<!--{if $weps && $wepe}-->
<input
type=
"radio"
name=
"command"
id=
"wep"
value=
"dropwep"
><a
onclick=
sl('wep');
href=
"javascript:void(0);"
>
$wep/$wepe/$weps
</a><br>
<!--{/if}-->
<!--{if $arbs && $arbe}-->
<input
type=
"radio"
name=
"command"
id=
"arb"
value=
"droparb"
><a
onclick=
sl('arb');
href=
"javascript:void(0);"
>
$arb/$arbe/$arbs
</a><br>
<!--{/if}-->
<!--{if $arhs}-->
<input
type=
"radio"
name=
"command"
id=
"arh"
value=
"droparh"
><a
onclick=
sl('arh');
href=
"javascript:void(0);"
>
$arh/$arhe/$arhs
</a><br>
<!--{/if}-->
<!--{if $aras}-->
<input
type=
"radio"
name=
"command"
id=
"ara"
value=
"dropara"
><a
onclick=
sl('ara');
href=
"javascript:void(0);"
>
$ara/$arae/$aras
</a><br>
<!--{/if}-->
<!--{if $arfs}-->
<input
type=
"radio"
name=
"command"
id=
"arf"
value=
"droparf"
><a
onclick=
sl('arf');
href=
"javascript:void(0);"
>
$arf/$arfe/$arfs
</a><br>
<!--{/if}-->
<!--{if $arts}-->
<input
type=
"radio"
name=
"command"
id=
"art"
value=
"dropart"
><a
onclick=
sl('art');
href=
"javascript:void(0);"
>
$art/$arte/$arts
</a><br>
<!--{/if}-->
<!--{if $itms1}-->
<!--{if $itms1}-->
<input
type=
"radio"
name=
"command"
id=
"itm1"
value=
"dropitm1"
><a
onclick=
sl('itm1');
href=
"javascript:void(0);"
>
$itm1/$itme1/$itms1
</a><br>
<input
type=
"radio"
name=
"command"
id=
"itm1"
value=
"dropitm1"
><a
onclick=
sl('itm1');
href=
"javascript:void(0);"
>
$itm1/$itme1/$itms1
</a><br>
<!--{/if}-->
<!--{/if}-->
...
...
templates/default/itemmerge.htm
View file @
d8f233fc
你
想要合并什么
?
<br>
你
打算怎么整理
?
<br>
<input
type=
"hidden"
name=
"mode"
value=
"itemmain"
>
<input
type=
"hidden"
name=
"mode"
value=
"itemmain"
>
<input
type=
"radio"
name=
"command"
id=
"menu"
value=
"menu"
checked
><a
onclick=
sl('menu');
href=
"javascript:void(0);"
>
返回
</a><br><br>
<input
type=
"radio"
name=
"command"
id=
"menu"
value=
"menu"
checked
><a
onclick=
sl('menu');
href=
"javascript:void(0);"
>
返回
</a><br><br>
<input
type=
"radio"
name=
"command"
id=
"itemmerge"
value=
"itemmerge"
><a
onclick=
sl('itemmerge');
href=
"javascript:void(0);"
>
合并
</a>
<br>
<!-- 合并道具 -->
<select
name=
"merge1"
onclick=
sl('itemmerge');
href=
"javascript:void(0);"
>
<input
type=
"radio"
name=
"command"
id=
"itemmerge"
value=
"itemmerge"
><a
onclick=
sl('itemmerge');
href=
"javascript:void(0);"
>
合并道具
</a>
<option
value=
"0"
>
■ 道具一 ■
<br
/>
<div
style=
"padding: 5px;"
>
<!--{if $itms1}-->
<option
value=
"1"
>
$itm1/$itme1/$itms1
<br
/>
<!--{/if}-->
<span
class=
"grey"
>
将两个可堆叠道具合并在一起。
</span><br>
<!--{if $itms2}-->
<option
value=
"2"
>
$itm2/$itme2/$itms2
<br
/>
<!--{/if}-->
<select
name=
"merge1"
onclick=
sl('itemmerge');
href=
"javascript:void(0);"
>
<!--{if $itms3}-->
<option
value=
"3"
>
$itm3/$itme3/$itms3
<br
/>
<!--{/if}-->
<option
value=
"0"
>
■ 道具一 ■
<br
/>
<!--{if $itms4}-->
<option
value=
"4"
>
$itm4/$itme4/$itms4
<br
/>
<!--{/if}-->
<!--{if $itms1}-->
<option
value=
"1"
>
$itm1/$itme1/$itms1
<br
/>
<!--{/if}-->
<!--{if $itms5}-->
<option
value=
"5"
>
$itm5/$itme5/$itms5
<br
/>
<!--{/if}-->
<!--{if $itms2}-->
<option
value=
"2"
>
$itm2/$itme2/$itms2
<br
/>
<!--{/if}-->
<!--{if $itms6}-->
<option
value=
"6"
>
$itm6/$itme6/$itms6
<br
/>
<!--{/if}-->
<!--{if $itms3}-->
<option
value=
"3"
>
$itm3/$itme3/$itms3
<br
/>
<!--{/if}-->
</select>
<!--{if $itms4}-->
<option
value=
"4"
>
$itm4/$itme4/$itms4
<br
/>
<!--{/if}-->
<br>
<!--{if $itms5}-->
<option
value=
"5"
>
$itm5/$itme5/$itms5
<br
/>
<!--{/if}-->
<!--{if $itms6}-->
<option
value=
"6"
>
$itm6/$itme6/$itms6
<br
/>
<!--{/if}-->
</select>
<br><br>
<select
name=
"merge2"
onclick=
sl('itemmerge');
href=
"javascript:void(0);"
>
<option
value=
"0"
>
■ 道具二 ■
<br
/>
<!--{if $itms1}-->
<option
value=
"1"
>
$itm1/$itme1/$itms1
<br
/>
<!--{/if}-->
<!--{if $itms2}-->
<option
value=
"2"
>
$itm2/$itme2/$itms2
<br
/>
<!--{/if}-->
<!--{if $itms3}-->
<option
value=
"3"
>
$itm3/$itme3/$itms3
<br
/>
<!--{/if}-->
<!--{if $itms4}-->
<option
value=
"4"
>
$itm4/$itme4/$itms4
<br
/>
<!--{/if}-->
<!--{if $itms5}-->
<option
value=
"5"
>
$itm5/$itme5/$itms5
<br
/>
<!--{/if}-->
<!--{if $itms6}-->
<option
value=
"6"
>
$itm6/$itme6/$itms6
<br
/>
<!--{/if}-->
</select>
</div>
<br>
<br>
<select
name=
"merge2"
onclick=
sl('itemmerge');
href=
"javascript:void(0);"
>
<option
value=
"0"
>
■ 道具二 ■
<br
/>
<!-- 交换道具位置 -->
<!--{if $itms1}-->
<option
value=
"1"
>
$itm1/$itme1/$itms1
<br
/>
<!--{/if}-->
<input
type=
"radio"
name=
"command"
id=
"itemmove"
value=
"itemmove"
><a
onclick=
sl('itemmove');
href=
"javascript:void(0);"
>
移动道具
</a>
<!--{if $itms2}-->
<option
value=
"2"
>
$itm2/$itme2/$itms2
<br
/>
<!--{/if}-->
<div
style=
"padding: 5px;"
>
<!--{if $itms3}-->
<option
value=
"3"
>
$itm3/$itme3/$itms3
<br
/>
<!--{/if}-->
<span
class=
"grey"
>
先选择要移位的道具,再选择要移动到的位置。
</span><br>
<!--{if $itms4}-->
<option
value=
"4"
>
$itm4/$itme4/$itms4
<br
/>
<!--{/if}-->
将:
<!--{if $itms5}-->
<option
value=
"5"
>
$itm5/$itme5/$itms5
<br
/>
<!--{/if}-->
<select
name=
"from"
>
<!--{if $itms6}-->
<option
value=
"6"
>
$itm6/$itme6/$itms6
<br
/>
<!--{/if}-->
<option
value=
"0"
>
■ 道 具 ■
</select>
<!--{if $itms1}-->
<option
value=
"1"
>
$itm1/$itme1/$itms1
<!--{/if}-->
<!--{if $itms2}-->
<option
value=
"2"
>
$itm2/$itme2/$itms2
<!--{/if}-->
<!--{if $itms3}-->
<option
value=
"3"
>
$itm3/$itme3/$itms3
<!--{/if}-->
<!--{if $itms4}-->
<option
value=
"4"
>
$itm4/$itme4/$itms4
<!--{/if}-->
<!--{if $itms5}-->
<option
value=
"5"
>
$itm5/$itme5/$itms5
<!--{/if}-->
<!--{if $itms6}-->
<option
value=
"6"
>
$itm6/$itme6/$itms6
<!--{/if}-->
</select>
<br>
移动至/与之交换:
<select
name=
"to"
>
<option
value=
"0"
>
■ 位 置 ■
<!--{if $itms1}-->
<option
value=
"1"
>
包裹1:$itm1/$itme1/$itms1
<!--{else}-->
<option
value=
"1"
>
包裹1
<!--{/if}-->
<!--{if $itms2}-->
<option
value=
"2"
>
包裹2:$itm2/$itme2/$itms2
<!--{else}-->
<option
value=
"2"
>
包裹2
<!--{/if}-->
<!--{if $itms3}-->
<option
value=
"3"
>
包裹3:$itm3/$itme3/$itms3
<!--{else}-->
<option
value=
"3"
>
包裹3
<!--{/if}-->
<!--{if $itms4}-->
<option
value=
"4"
>
包裹4:$itm4/$itme4/$itms4
<!--{else}-->
<option
value=
"4"
>
包裹4
<!--{/if}-->
<!--{if $itms5}-->
<option
value=
"5"
>
包裹5:$itm5/$itme5/$itms5
<!--{else}-->
<option
value=
"5"
>
包裹5
<!--{/if}-->
<!--{if $itms6}-->
<option
value=
"6"
>
包裹6:$itm6/$itme6/$itms6
<!--{else}-->
<option
value=
"6"
>
包裹6
<!--{/if}-->
</select>
</div>
<br>
<br>
<input
type=
"button"
class=
"cmdbutton"
name=
"submit"
value=
"提交"
onclick=
"postCmd('gamecmd','command.php');this.disabled=true;"
>
<input
type=
"button"
class=
"cmdbutton"
name=
"submit"
value=
"提交"
onclick=
"postCmd('gamecmd','command.php');this.disabled=true;"
>
\ No newline at end of file
templates/default/profile.htm
View file @
d8f233fc
...
@@ -57,7 +57,7 @@
...
@@ -57,7 +57,7 @@
</td>
</td>
<td
width=
55px
background=
"img/state2.gif"
style=
"position:relative;background-repeat:no-repeat;background-position:left top;"
>
<td
width=
55px
background=
"img/state2.gif"
style=
"position:relative;background-repeat:no-repeat;background-position:left top;"
>
<div
style=
"border:0; margin:0; cellspacing:0; cellpadding:0; position:absolute;top:0px;right:55px;z-index:1;"
>
<div
style=
"border:0; margin:0; cellspacing:0; cellpadding:0; position:absolute;top:0px;right:55px;z-index:1;"
>
$newhpimg
<span
<!
--
{
if
$
inf
}
--
>
tooltip="消耗{$inf_sp}点体力,点击红色准星图标包扎伤口"
<!--{/if}-->
>$newhpimg
</span>
</div>
</div>
</td>
</td>
</tr>
</tr>
...
@@ -184,9 +184,20 @@
...
@@ -184,9 +184,20 @@
<tr>
<tr>
<TD
class=
b2
height=
"26"
><span>
<!--{if $wepk_words}-->
$wepk_words
<!--{else}-->
$mltwk
<!--{/if}-->
</span></TD>
<TD
class=
b2
height=
"26"
><span>
<!--{if $wepk_words}-->
$wepk_words
<!--{else}-->
$mltwk
<!--{/if}-->
</span></TD>
<TD
class=
b3
>
<TD
class=
b3
>
<!--{if CURSCRIPT == 'game' && $mode == 'command' && $wepe}-->
<span><input
type=
"button"
value=
"卸下"
onclick=
"$('mode').value='itemmain';$('command').value='offwep';postCmd('gamecmd','command.php');return false;"
</
span
>
<!--{/if}-->
<span
<!
--
{
if
CURSCRIPT =
=
'
game
'
&&
$
mode =
=
'
command
'
&&
$
wep2e
}
--
>
tooltip="副武器栏:{$wep2}"
<!--{/if}-->
>
<span>
<!--{if $weps}-->
$wep_words
<!--{else}-->
$nowep
<!--{/if}-->
</span>
<!--{if CURSCRIPT == 'game' && $mode == 'command' && $wepe}-->
<!--{if CURSCRIPT == 'game' && $mode == 'command'}-->
<span
class=
"eicon"
onclick=
"$('mode').value='itemmain';$('command').value='changewep';postCmd('gamecmd','command.php');return false;"
>
🔃
</span>
<!--{/if}-->
<span>
<input
type=
"button"
value=
"卸下"
onclick=
"$('mode').value='itemmain';$('command').value='offwep';postCmd('gamecmd','command.php');return false;"
>
</span>
<!--{/if}-->
<span>
<!--{if $weps}-->
$wep_words
<!--{else}-->
$nowep
<!--{/if}-->
</span>
</span>
</TD>
</TD>
<TD
class=
b3
><span>
$wepsk_words
</span></TD>
<TD
class=
b3
><span>
$wepsk_words
</span></TD>
<TD
class=
b3
><span>
$wepe
</span></TD>
<TD
class=
b3
><span>
$wepe
</span></TD>
...
...
templates/default/sp_terminal.htm
View file @
d8f233fc
<dialog
id=
"terminal"
style=
"max-width: 90%;max-height: 80%;"
>
<dialog
id=
"terminal"
style=
"max-width: 90%;max-height: 80%;"
>
<!-- 宽度设计:战场地图47
8px 控制菜单120
px 间距10px-->
<!-- 宽度设计:战场地图47
6+2px 控制菜单118+2
px 间距10px-->
<div
style=
"text-align: center; width: 608px;"
>
<div
style=
"text-align: center; width: 608px;"
>
<!-- 背景音乐 -->
<!-- 背景音乐 -->
<div>
<div>
...
@@ -9,14 +9,14 @@
...
@@ -9,14 +9,14 @@
<span
class=
"grey"
>
正在播放:~
<span
id=
"bgmname"
>
$bgmname
</span>
~
</span>
<span
class=
"grey"
>
正在播放:~
<span
id=
"bgmname"
>
$bgmname
</span>
~
</span>
</div>
</div>
<!-- 战场地图 -->
<!-- 战场地图 -->
<div
style=
"width: 47
8px; float: left; margin-right: 5px;
"
>
<div
style=
"width: 47
6px; float: left; margin-right: 5px;border-radius: 3px; border:2px solid rgba(225, 124, 226, 0.2);
"
>
<!--{eval $mapdata = init_mapdata();}-->
<!--{eval $mapdata = init_mapdata();}-->
$mapdata
$mapdata
</div>
</div>
<!-- 控制菜单 -->
<!-- 控制菜单 -->
<div
style=
"width: 1
20
px; float: right; margin-left: 5px;"
>
<div
style=
"width: 1
18
px; float: right; margin-left: 5px;"
>
<!-- 音乐控制指令 -->
<!-- 音乐控制指令 -->
<table
border=
"1"
cellspacing=
"0"
cellpadding=
"0"
style=
"position:relative
;"
>
<table
cellspacing=
"0"
cellpadding=
"0"
style=
"position:relative;border-radius: 3px; border:2px solid rgba(225, 124, 226, 0.2)
;"
>
<tr>
<tr>
<TD
colspan=
"2"
class=
"b1"
style=
"width: 120px; height: 24px;"
>
播放控制
</TD>
<TD
colspan=
"2"
class=
"b1"
style=
"width: 120px; height: 24px;"
>
播放控制
</TD>
</tr>
</tr>
...
@@ -43,13 +43,13 @@
...
@@ -43,13 +43,13 @@
<!--{if !isset($clbpara['console'])}-->
<!--{if !isset($clbpara['console'])}-->
<!--<div style="position:relative; height:100%; width:100%;">
<!--<div style="position:relative; height:100%; width:100%;">
<div class="blurtext">-->
<div class="blurtext">-->
<table
border=
"1"
cellspacing=
"0"
cellpadding=
"0"
style=
"position:relative;"
>
<table
cellspacing=
"0"
cellpadding=
"0"
style=
"position:relative;"
>
<tr
width=
"120"
height=
"328"
rowspan=
"7"
class=
"map"
>
<tr
width=
"120"
height=
"328"
rowspan=
"7"
class=
"map"
>
<td
colspan=
"2"
width=
"120"
height=
"328"
class=
"lockmap"
></td>
<td
colspan=
"2"
width=
"120"
height=
"328"
class=
"lockmap"
></td>
</tr>
</tr>
</table>
</table>
<!--{else}-->
<!--{else}-->
<table
border=
"1"
cellspacing=
"0"
cellpadding=
"0"
style=
"position:relative
;"
>
<table
cellspacing=
"0"
cellpadding=
"0"
style=
"position:relative;border-radius: 3px; border:2px solid rgba(225, 124, 226, 0.2)
;"
>
<tr>
<tr>
<TD
colspan=
"2"
class=
b1
style=
"width: 120px; height: 24px;"
>
可用信道
</TD>
<TD
colspan=
"2"
class=
b1
style=
"width: 120px; height: 24px;"
>
可用信道
</TD>
</tr>
</tr>
...
...
templates/default/user_profile.htm
View file @
d8f233fc
...
@@ -24,8 +24,20 @@
...
@@ -24,8 +24,20 @@
<!--{loop $atype $tid $tarr}-->
<!--{loop $atype $tid $tarr}-->
<tr>
<tr>
<td>
<td>
<div
class=
"subtitle"
align=
"left"
>
{$tarr['name']}
</div>
<div
class=
"subtitle"
align=
"left"
>
<div
style=
"margin-left: 6px;"
align=
"left"
>
{$tarr['desc']}
</div>
{$tarr['name']}
</div>
<div
style=
"margin-left: 6px;"
align=
"left"
>
<!--{if ($tid == 'daily' && $curuser) }-->
<!--{if $reset_daily_flag}-->
{$reset_daily_flag}
<!--{elseif !isset($_REQUEST["action"])}-->
<button
type=
"button"
onclick=
"window.location.href='user_profile.php?action=refdaily';this.disabled=true"
>
点击获得新的每日挑战
</button>
<!--{/if}-->
<br>
<!--{/if}-->
{$tarr['desc']}
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
...
@@ -43,7 +55,6 @@
...
@@ -43,7 +55,6 @@
<!--{else}-->
<!--{else}-->
<td
width=
"300"
align=
"left"
valign=
"top"
>
<td
width=
"300"
align=
"left"
valign=
"top"
>
<div
class=
"ach_box"
align=
"left"
valign=
"top"
>
<div
class=
"ach_box"
align=
"left"
valign=
"top"
>
<!--成就编号{$aid}加载错误。<br>请联系管理员。-->
<!--{eval include template('achievement_temp');}-->
<!--{eval include template('achievement_temp');}-->
</div>
</div>
</td>
</td>
...
...
user_profile.php
View file @
d8f233fc
...
@@ -39,12 +39,28 @@ $winning_rate=$validgames?round($wingames/$validgames*100)."%":'0%';
...
@@ -39,12 +39,28 @@ $winning_rate=$validgames?round($wingames/$validgames*100)."%":'0%';
include_once
GAME_ROOT
.
'./include/game/achievement.func.php'
;
include_once
GAME_ROOT
.
'./include/game/achievement.func.php'
;
$ach
=
$udata
[
'achievement'
];
$ach
=
$udata
[
'achievement'
];
$n
=
$udata
[
'username'
];
$n
=
$udata
[
'username'
];
//本人访问账户页面时,初始化每日任务相关参数
if
(
$curuser
)
{
$dailyarr
=
check_daily_achievement
(
$n
);
if
(
isset
(
$_REQUEST
[
"action"
])
&&
$_REQUEST
[
"action"
]
==
"refdaily"
&&
!
$dailyarr
[
0
])
{
$dailyarr
=
reset_daily_achievement
(
$n
);
}
if
(
$dailyarr
[
0
])
{
list
(
$min
,
$hour
,
$day
,
$month
,
$year
)
=
explode
(
','
,
date
(
"i,H,j,n,Y"
,
$dailyarr
[
0
]));
$reset_daily_flag
=
$year
.
"年"
.
$month
.
"月"
.
$day
.
"日"
.
$hour
.
"时"
.
$min
.
"分"
;
$reset_daily_flag
=
"<span class=
\"
yellow
\"
>下次可获取每日挑战时间:"
.
$reset_daily_flag
.
"</span>"
;
}
$dailyarr
=
$dailyarr
[
1
];
}
//访问它人账户页面时,只显示获取过的每日任务
else
{
$dailyarr
=
check_daily_achievement
(
$n
,
1
);
}
if
(
!
empty
(
$udata
[
'achrev'
]))
$udata
[
'achrev'
]
=
json_decode
(
$udata
[
'achrev'
],
true
);
if
(
!
empty
(
$udata
[
'achrev'
]))
$udata
[
'achrev'
]
=
json_decode
(
$udata
[
'achrev'
],
true
);
/*if (!valid_achievement($ach)) {
$ach=init_achievement($ach);
$db->query("UPDATE {$tablepre}users SET achievement='$ach' WHERE username='$n'" );
}*/
//已废弃
// 访问账户页面时,检查是否需要转化新版成就数据结构
// 访问账户页面时,检查是否需要转化新版成就数据结构
if
(
!
empty
(
$udata
[
'achievement'
])
&&
empty
(
$udata
[
'achrev'
]))
if
(
!
empty
(
$udata
[
'achievement'
])
&&
empty
(
$udata
[
'achrev'
]))
{
{
...
@@ -83,21 +99,12 @@ if(!empty($udata['achievement']) && empty($udata['achrev']))
...
@@ -83,21 +99,12 @@ if(!empty($udata['achievement']) && empty($udata['achrev']))
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET achrev='
$new_ach
' WHERE username='"
.
$udata
[
'username'
]
.
"'"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
users SET achrev='
$new_ach
' WHERE username='"
.
$udata
[
'username'
]
.
"'"
);
$cpl
=
Array
();
$prc
=
Array
();
$cpl
=
Array
();
$prc
=
Array
();
}
}
//解析成就的完成情况//已废弃
/*global $achievement_count;
require config("gamecfg",$gamecfg);
for ($i=0; $i<$achievement_count; $i++)
{
$cpl[$i]=check_achievement($i,$n);
$prc[$i]=fetch_achievement($i,$n);
//$ncp[$i]['s'] = $cpl[$i];
//$ncp[$i]['v'] = $prc[$i];
}*/
//$ncp = json_encode($ncp);
//$db->query("UPDATE {$tablepre}users SET achrev='$ncp' WHERE username='$n'" );
//解析成就的完成情况
//解析成就的完成情况
$alist
=
get_achlist
();
$alist
=
get_achlist
();
$atype
=
get_achtype
();
$atype
=
get_achtype
();
$h_atype
=
get_hidden_achtype
();
//判断是否存在每日任务
$atype
[
'daily'
][
'ach'
]
=
empty
(
$dailyarr
[
0
])
?
Array
()
:
$dailyarr
;
foreach
(
$alist
as
$aid
=>
$arr
)
foreach
(
$alist
as
$aid
=>
$arr
)
{
{
$cpl
[
$aid
]
=
isset
(
$udata
[
'achrev'
][
$aid
][
'l'
])
?
$udata
[
'achrev'
][
$aid
][
'l'
]
:
0
;
$cpl
[
$aid
]
=
isset
(
$udata
[
'achrev'
][
$aid
][
'l'
])
?
$udata
[
'achrev'
][
$aid
][
'l'
]
:
0
;
...
@@ -105,5 +112,12 @@ foreach($alist as $aid => $arr)
...
@@ -105,5 +112,12 @@ foreach($alist as $aid => $arr)
if
(
isset
(
$alist
[
$aid
][
'lvl'
])
&&
$cpl
[
$aid
]
==
$alist
[
$aid
][
'lvl'
])
$cpl
[
$aid
]
=
999
;
if
(
isset
(
$alist
[
$aid
][
'lvl'
])
&&
$cpl
[
$aid
]
==
$alist
[
$aid
][
'lvl'
])
$cpl
[
$aid
]
=
999
;
$prc
[
$aid
]
=
isset
(
$udata
[
'achrev'
][
$aid
][
'v'
])
?
$udata
[
'achrev'
][
$aid
][
'v'
]
:
0
;
$prc
[
$aid
]
=
isset
(
$udata
[
'achrev'
][
$aid
][
'v'
])
?
$udata
[
'achrev'
][
$aid
][
'v'
]
:
0
;
}
}
//判断是否存在完成的隐藏成就
foreach
(
$h_atype
as
$hid
=>
$htype
)
{
if
(
$cpl
[
$hid
]
==
999
)
$atype
[
$htype
][
'ach'
][]
=
$hid
;
}
include
template
(
'user_profile'
);
include
template
(
'user_profile'
);
valid.php
View file @
d8f233fc
...
@@ -290,6 +290,11 @@ if($mode == 'enter') {
...
@@ -290,6 +290,11 @@ if($mode == 'enter') {
{
{
if
(
isset
(
$$key
))
$ndata
[
$key
]
=
$$key
;
if
(
isset
(
$$key
))
$ndata
[
$key
]
=
$$key
;
}
}
# 初始化套装信息
include_once
GAME_ROOT
.
'./include/game/itemmain.func.php'
;
reload_set_items
(
$ndata
);
$ndata
=
player_format_with_db_structure
(
$ndata
);
$ndata
=
player_format_with_db_structure
(
$ndata
);
if
(
!
empty
(
$ndata
))
$db
->
array_insert
(
"
{
$tablepre
}
players"
,
$ndata
);
if
(
!
empty
(
$ndata
))
$db
->
array_insert
(
"
{
$tablepre
}
players"
,
$ndata
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment