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
d41f03b5
Commit
d41f03b5
authored
May 23, 2023
by
hisuinohoshi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update :(
新增: - 8个社区活动奖励头衔; 变化: - 头衔携带的样式数据现在不会直接保存在数据库内; - 使用道具发送的news统一不再显示头衔;
parent
1f4c17c3
Changes
14
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
246 additions
and
101 deletions
+246
-101
bot/revbot.func.php
bot/revbot.func.php
+3
-6
gamedata/cache/titles_1.php
gamedata/cache/titles_1.php
+131
-27
include/game/battle.func.php
include/game/battle.func.php
+1
-1
include/game/console.func.php
include/game/console.func.php
+3
-3
include/game/item.func.php
include/game/item.func.php
+27
-29
include/game/item2.func.php
include/game/item2.func.php
+4
-4
include/game/itemmain.func.php
include/game/itemmain.func.php
+3
-3
include/game/song.inc.php
include/game/song.inc.php
+4
-4
include/game/special.func.php
include/game/special.func.php
+2
-2
include/game/team.func.php
include/game/team.func.php
+3
-3
include/news.func.php
include/news.func.php
+47
-3
include/state.func.php
include/state.func.php
+15
-12
include/system.func.php
include/system.func.php
+1
-2
valid.php
valid.php
+2
-2
No files found.
bot/revbot.func.php
View file @
d41f03b5
...
...
@@ -51,10 +51,7 @@ function bot_player_valid($vnums)
$ndata
=
player_format_with_db_structure
(
$ndata
);
if
(
!
empty
(
$ndata
))
$db
->
array_insert
(
"
{
$tablepre
}
players"
,
$ndata
);
$ids
[]
=
$db
->
insert_id
();
# 初始化头衔tooltip
$nickinfo
=
titles_get_desc
(
$nick
);
addnews
(
$now
,
'newpc'
,
$nickinfo
.
' '
.
$name
,
"
{
$sexinfo
[
$gd
]
}{
$sNo
}
号"
,
$ip
,
$nick
);
addnews
(
$now
,
'newpc'
,
$name
,
"
{
$sexinfo
[
$gd
]
}{
$sNo
}
号"
,
$ip
,
$nick
);
}
return
$ids
;
}
...
...
@@ -399,13 +396,13 @@ function bot_check_can_mixitem(&$pa)
if
(
empty
(
$stf
[
'r2'
])
&&
isset
(
$stf
[
'r0'
])
&&
isset
(
$stf
[
'r1'
]))
{
$pa
[
'clbpara'
][
'botstf'
][
'r2'
]
=
1
;
addnews
(
$now
,
'itemmix'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
'广域生命探测器'
);
addnews
(
$now
,
'itemmix'
,
$name
,
'广域生命探测器'
,
$nick
);
}
if
(
empty
(
$stf
[
'p3'
])
&&
isset
(
$stf
[
'p1'
])
&&
isset
(
$stf
[
'p2'
]))
{
$pa
[
'clbpara'
][
'botstf'
][
'p3'
]
=
1
;
addnews
(
$now
,
'itemmix'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
'移动 PC'
);
addnews
(
$now
,
'itemmix'
,
$name
,
'移动 PC'
,
$nick
);
}
if
(
$pa
[
'club'
]
==
1
)
...
...
gamedata/cache/titles_1.php
View file @
d41f03b5
...
...
@@ -125,53 +125,157 @@ if(!defined('IN_GAME')) exit('Access Denied');
118
=>
'虚拟体'
,
119
=>
'Daemon'
,
120
=>
'弱子'
,
# 第一期社区意见征询活动纪念称号:
6001
=>
'Lv.1 柠檬水'
,
6002
=>
'Lv.2 柠檬水'
,
# 长期BUG提交奖励:软件测试工程师Lv.1~Lv.6
7771
=>
'Lv.1 昆虫学者'
,
7772
=>
'Lv.2 昆虫专家'
,
7773
=>
'Lv.3 鸟类学者'
,
7774
=>
'Lv.4 鸟类专家'
,
7775
=>
'Lv.5 语言学者'
,
7776
=>
'Lv.6 语言学家'
,
);
//头衔文字效果:
//因为一些历史遗留问题,这部分样式文本会直接存进数据库的news表里,所以……不要超过200个字……
//什么历史遗留问题?……就是现在所有$nick都是 $nick.' '.$name 这样存进同一个字段里的……这没法拆啊!
// rare: 0 - grey; 1 - yellow; 2 - lime; 3 - clan; 4 - purple; 5 - gold;
$title_desc
=
Array
(
# class-样式 title-提示悬浮框 img-图片url,会覆盖样式与悬浮框
# 0. 参展者
0
=>
Array
(
'title'
=>
"【开局福利】获得参加会展用的背包,替代校服。"
),
# 66. 叶子钦定!
66
=>
Array
(
'title'
=>
"【开局福利】获得「核子补给」。"
),
# 11. 寻星者
11
=>
Array
(
'title'
=>
"【开局福利】获得额外斩系熟练以及武器『寻星勇者』"
),
# 8.TERRA
8
=>
Array
(
'title'
=>
"【开局福利】获得篝酱曾经用过的奇妙武器。"
),
0
=>
Array
(
'class'
=>
'grey'
,
'title'
=>
" “参展者就是参加会展的人。你还记得自己是来参加动漫展的吧?”
- 入场奖励:获得参加会展用的背包,替代校服
- 获取方式:开局自带
"
),
# 1. 幻想
1
=>
Array
(
'class'
=>
'yellow'
,
'title'
=>
" “……”
- 入场奖励:暂无
- 获取方式:完成成就「永恒世界的住人」的阶段二「幻想世界的往人」
"
),
# 2. 流星
2
=>
Array
(
'class'
=>
'clan'
,
'title'
=>
" “……”
- 入场奖励:暂无
- 获取方式:完成成就「永恒世界的住人」的阶段三「永恒的覆唱」
"
),
# 5. 越红者
5
=>
Array
(
'title'
=>
"【开局福利】获得一把红杀训练用的铁剑。"
),
5
=>
Array
(
'class'
=>
"lime"
,
'title'
=>
" “……”
- 入场奖励:获得一把红杀训练用的铁剑
- 获取方式:完成成就「冒烟突火」的阶段二「红杀将军」
"
),
# 6. 跨过彩虹
6
=>
Array
(
'title'
=>
"【开局福利】获得一本奇怪的书,蓝凝似乎很喜欢它。"
),
6
=>
Array
(
'class'
=>
"clan"
,
'title'
=>
" “……”
- 入场奖励:获得一本奇怪的书,蓝凝似乎很喜欢它
- 获取方式:完成成就「深度冻结」的阶段二「跨过彩虹」
"
),
# 8.TERRA
8
=>
Array
(
'class'
=>
"lime"
,
'title'
=>
" “……”
- 入场奖励:获得篝酱曾经用过的奇妙武器
- 获取方式:完成成就「篝火的引导」的阶段二「世界的树形图」
"
),
# 11. 寻星者
11
=>
Array
(
'class'
=>
"purple"
,
'title'
=>
" “过去的寻星者,今日的领航星。”
- 入场奖励:获得额外斩系熟练,装备武器『寻星勇者』
- 获取方式:完成成就「寻星急袭」
"
),
# 13. l33t
13
=>
Array
(
'title'
=>
"【开局福利】获得KEY弹大礼包,可以通过合成来获得真货。"
),
13
=>
Array
(
'class'
=>
"purple"
,
'title'
=>
" “l33t是什么意思?”
- 入场奖励:获得KEY弹大礼包,可以通过合成来获得真货
- 获取方式:完成成就「233MAX」
"
),
# 14. 赌玉狂魔
14
=>
Array
(
'title'
=>
"【开局福利】牺牲了腿,获得了更多金钱。"
),
14
=>
Array
(
'class'
=>
"purple"
,
'title'
=>
" “马有四条腿,少一条不打紧。”
- 入场奖励:牺牲了腿,获得了更多金钱
- 获取方式:完成成就「真名解放」
"
),
# 19. 美食家
19
=>
Array
(
'title'
=>
"【开局福利】携带更好的补给开局。"
),
19
=>
Array
(
'class'
=>
"yellow"
,
'title'
=>
" “虽然他吃的大部分都是糊糊。”
- 入场奖励:开局携带更好的补给……应该是这样吧?
- 获取方式:完成成就「及时补给」的阶段二「衣食无忧」
"
),
# 20. 补给掠夺者
20
=>
Array
(
'class'
=>
'clan'
,
'title'
=>
" “糊糊不能吃吗?”
- 入场奖励:暂无
- 获取方式:完成成就「及时补给」的阶段三「奥义很爽」
"
),
# 24. 殴系爱好者
24
=>
Array
(
'title'
=>
"【开局福利】获得额外的殴系熟练度,并自带称号卡。"
),
24
=>
Array
(
'class'
=>
"yellow"
,
'title'
=>
" “殴系到底有什么武器用?冰棍棒吗?”
- 入场奖励:获得额外的殴系熟练度,并自带称号卡
- 获取方式:暂无
"
),
# 26. 斩系爱好者
26
=>
Array
(
'title'
=>
"【开局福利】获得额外的斩系熟练度,并自带称号卡。"
),
26
=>
Array
(
'class'
=>
"yellow"
,
'title'
=>
" “斩系爱好者已经濒临灭绝。”
- 入场奖励:获得额外的斩系熟练度,并自带称号卡
- 获取方式:暂无
"
),
# 38. 投系爱好者
38
=>
Array
(
'title'
=>
"【开局福利】获得额外的投系熟练度,并自带称号卡。"
),
38
=>
Array
(
'class'
=>
"yellow"
,
'title'
=>
" “小黄有点弱了,削下红莲龙吧!”
- 入场奖励:获得额外的投系熟练度,并自带称号卡
- 获取方式:暂无
"
),
# 40. 爆系爱好者
40
=>
Array
(
'title'
=>
"【开局福利】获得额外的爆系熟练度,并自带称号卡。"
),
40
=>
Array
(
'class'
=>
"yellow"
,
'title'
=>
" “体力恢复 桔黄色的果酱 150/249”
- 入场奖励:获得额外的爆系熟练度,并自带称号卡
- 获取方式:暂无
"
),
# 30. 射系爱好者
30
=>
Array
(
'title'
=>
"【开局福利】获得额外的射系熟练度,并自带称号卡。"
),
30
=>
Array
(
'class'
=>
"yellow"
,
'title'
=>
" “「掠夺」使红暮获得了997元!”
- 入场奖励:获得额外的射系熟练度,并自带称号卡
- 获取方式:暂无
"
),
# 44. 灵系爱好者
44
=>
Array
(
'title'
=>
"【开局福利】获得额外的灵系熟练度,并自带称号卡。"
),
44
=>
Array
(
'class'
=>
"yellow"
,
'title'
=>
" “其实他没有超能力。”
- 入场奖励:获得额外的灵系熟练度,并自带称号卡
- 获取方式:暂无
"
),
# 63. 实用主义者
63
=>
Array
(
'title'
=>
"【开局福利】获得额外的全系熟练度,并自带能开出防具等物品的福袋。"
),
63
=>
Array
(
'class'
=>
"lime"
,
'title'
=>
" “润!”
- 入场奖励:获得额外的全系熟练度,并自带能开出防具等物品的福袋
- 获取方式:完成成就「逃避可耻?」的阶段一
"
),
# 66. 叶子钦定!
66
=>
Array
(
'class'
=>
"lime"
,
'title'
=>
" “小叶子认为你做得对!”
- 入场奖励:获得「核子补给」
- 获取方式:完成成就「核爆全灭」的阶段二「麻烦制造机?」
"
),
# 69. 奇迹的篝火
69
=>
Array
(
'title'
=>
"【游戏机制】可以看见游戏中大部分骰子的结果。"
),
# 20. 补给掠夺者
20
=>
Array
(
'class'
=>
''
,
'title'
=>
"你是真能吃啊!"
),
69
=>
Array
(
'class'
=>
"clan"
,
'title'
=>
" “这是我们的使命。”
- 入场奖励:可以看见游戏中大部分骰子的结果
- 获取方式:完成成就「幻境解离」的阶段一
"
),
# 120. 弱子
120
=>
Array
(
'img'
=>
"img/nicktest.png"
,)
120
=>
Array
(
'img'
=>
"img/nicktest.png"
,),
# 6001~6002 第一期意见征询活动纪念头衔
6001
=>
Array
(
'class'
=>
'yellow'
,
'title'
=>
" “这个游戏以前其实有过留言板系统。”
- 入场奖励:暂无
- 获取方式:在官方讨论区参与了第一期意见征询活动"
),
6002
=>
Array
(
'class'
=>
'lime'
,
'title'
=>
" “后来它变成了小广告系统。”
- 入场奖励:暂无
- 获取方式:在官方讨论区参与了第一期意见征询活动,并提供了被采纳的建议"
),
# 7771~7776 软件测试工程师Lv.1~Lv.6
7771
=>
Array
(
'class'
=>
'lime'
,
'title'
=>
" “他很擅长鉴定网络热门昆虫。”
- 入场奖励:暂无
- 获取方式:帮助开发团队捉住了 1 只 bug"
),
7772
=>
Array
(
'class'
=>
'clan'
,
'title'
=>
" “他已经不再满足于只鉴定昆虫了。”
- 入场奖励:暂无
- 获取方式:帮助开发团队捉住了 5 只 bug"
),
7773
=>
Array
(
'class'
=>
'lime'
,
'title'
=>
" “鸽子汤就是用鸽子做的汤,要做鸽子汤,首先要将生姜切成……”
- 入场奖励:暂无
- 获取方式:帮助开发团队捉住了 10 只 bug"
),
7774
=>
Array
(
'class'
=>
'clan'
,
'title'
=>
" “我是小八哥、我是你……”
- 入场奖励:暂无
- 获取方式:帮助开发团队捉住了 15 只 bug"
),
7775
=>
Array
(
'class'
=>
'purple'
,
'title'
=>
" “文字,是句读的韵律,是魔法的咒语。”
- 入场奖励:暂无
- 获取方式:帮助开发团队捉住了 30 只 bug"
),
7776
=>
Array
(
'class'
=>
'purple'
,
'title'
=>
" “文字,使愚者千虑,供智者隐喻。”
- 入场奖励:暂无
- 获取方式:帮助开发团队捉住了 50 只 bug"
),
);
//所有在player表里登记过的合法字段都可以写进里面 //非法内容会被自动过滤掉……大概吧
...
...
@@ -207,7 +311,7 @@ if(!defined('IN_GAME')) exit('Access Denied');
),
# 6. 跨过彩虹
6
=>
Array
(
'itm6'
=>
'AZURE RONDO模样的杏仁豆腐'
,
'itmk6'
=>
'WF'
,
'itme6'
=>
233
,
'itms6'
=>
1
,
'itmsk6'
=>
'd'
,
'itm6'
=>
'AZURE RONDO模样的杏仁豆腐'
,
'itmk6'
=>
'WF'
,
'itme6'
=>
233
,
'itms6'
=>
9
,
'itmsk6'
=>
'd'
,
),
# 13. l33t
13
=>
Array
(
...
...
include/game/battle.func.php
View file @
d41f03b5
...
...
@@ -282,7 +282,7 @@ function senditem(){
$w_log
=
"<span class=
\"
yellow
\"
>
$name
</span>将<span class=
\"
yellow
\"
>
{
$edata
[
'itm'
.
$i
]
}
</span>送给了你。"
;
if
(
!
$w_type
){
logsave
(
$w_pid
,
$now
,
$w_log
,
't'
);}
addnews
(
$now
,
'senditem'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$w_name
,
$itm
);
addnews
(
$now
,
'senditem'
,
$name
,
$w_name
,
$itm
,
$nick
);
//w_save($w_pid);
player_save
(
$edata
);
$itm
=
$itmk
=
$itmsk
=
''
;
...
...
include/game/console.func.php
View file @
d41f03b5
...
...
@@ -48,7 +48,7 @@
{
$console_tips
[
2
]
}
<br><br>"
;
$gamevars
[
'api'
]
--
;
save_gameinfo
();
addnews
(
$now
,
'csl_wthchange'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$weather
);
addnews
(
$now
,
'csl_wthchange'
,
$name
,
$weather
,
$nick
);
}
return
;
}
...
...
@@ -193,7 +193,7 @@
$hack
=
1
;
movehtm
();
storyputchat
(
$now
,
'hack'
);
addnews
(
$now
,
'csl_hack'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
);
addnews
(
$now
,
'csl_hack'
,
$name
,
$nick
);
save_gameinfo
();
}
else
...
...
@@ -207,7 +207,7 @@
{
$log
.=
"提交指令后,你眼前的数据流开始闪烁。<br>与此同时,整处虚拟空间也开始发生变化……<br>
{
$console_tips
[
1
]
}
已将下回禁区到来时间调整至5秒后</span><br>
{
$console_tips
[
2
]
}
<br><br>"
;
$areatime
=
$now
+
5
;
addnews
(
$now
,
'csl_addarea'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
);
addnews
(
$now
,
'csl_addarea'
,
$name
,
$nick
);
areawarn
();
save_gameinfo
();
}
...
...
include/game/item.func.php
View file @
d41f03b5
This diff is collapsed.
Click to expand it.
include/game/item2.func.php
View file @
d41f03b5
...
...
@@ -64,7 +64,7 @@ function wthchange($itm,$itmsk,$wlog=1){
global
$now
,
$log
,
$weather
,
$wthinfo
,
$name
,
$nick
,
$clbpara
;
$weathertd
=
$weather
;
if
(
$weather
>=
14
&&
$weather
<=
18
){
addnews
(
$now
,
'wthfail'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$weather
,
$itm
);
addnews
(
$now
,
'wthfail'
,
$name
,
$weather
,
$itm
,
$nick
);
$log
.=
"你使用了
{
$itm
}
。<br /><span class=
\"
red
\"
>但是天气并未发生任何变化!</span><br />"
;
}
else
{
if
(
$itmsk
==
99
){
$weather
=
rand
(
0
,
13
);}
//随机全天气
...
...
@@ -102,7 +102,7 @@ function wthchange($itm,$itmsk,$wlog=1){
}
else
{
include_once
GAME_ROOT
.
'./include/system.func.php'
;
save_gameinfo
();
addnews
(
$now
,
'wthchange'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$weather
,
$itm
);
addnews
(
$now
,
'wthchange'
,
$name
,
$weather
,
$itm
,
$nick
);
if
(
$wlog
)
$log
.=
"你使用了<span class=
\"
yellow
\"
>
{
$itm
}
</span>。<br />天气突然转变成了<span class=
\"
red
\"
>
$wthinfo[$weather]
</span>!<br />"
;
}
$clbpara
[
'achvars'
][
'wthchange'
]
+=
1
;
...
...
@@ -139,7 +139,7 @@ function hack($itmn = 0) {
$log
.=
'入侵禁区控制系统成功了!全部禁区都被解除了!<br>'
;
//include_once GAME_ROOT.'./include/system.func.php';
//movehtm();
addnews
(
$now
,
'hack'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
);
addnews
(
$now
,
'hack'
,
$name
,
$nick
);
storyputchat
(
$now
,
'hack'
);
save_gameinfo
();
}
else
{
...
...
@@ -517,7 +517,7 @@ function qianghua($itmn = 0) {
}
else
{
$flag
=
false
;}
}
}
addnews
(
$now
,
'newwep2'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$baoshi
,
$o_itm
);
addnews
(
$now
,
'newwep2'
,
$name
,
$baoshi
,
$o_itm
,
$nick
);
if
(
$flag
){
$log
.=
"<span class=
\"
yellow
\"
>『一道神圣的闪光照耀在你的眼睛上,当你恢复视力时,发现你的装备闪耀着彩虹般的光芒』</span><br>"
;
...
...
include/game/itemmain.func.php
View file @
d41f03b5
...
...
@@ -214,7 +214,7 @@ function trap(&$data=NULL){
if
(
$playerflag
)
{
addnews
(
$now
,
'trap'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$trname
,
$itm0
);
addnews
(
$now
,
'trap'
,
$name
,
$trname
,
$itm0
,
$nick
);
}
$log
.=
"糟糕,你触发了
{
$trperfix
}
陷阱<span class=
\"
yellow
\"
>
$itm0
</span>!受到<span class=
\"
dmg
\"
>
$damage
</span>点伤害!<br>"
;
...
...
@@ -295,7 +295,7 @@ function trap(&$data=NULL){
# logsave
if
(
$playerflag
)
{
addnews
(
$now
,
'trapdef'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$trname
,
$itm0
);
addnews
(
$now
,
'trapdef'
,
$name
,
$trname
,
$itm0
,
$nick
);
if
(
!
$selflag
)
{
$w_log
=
"<span class=
\"
yellow
\"
>
{
$name
}
触发了你设置的陷阱
{
$itm0
}
,但是没有受到任何伤害!</span><br>"
;
...
...
@@ -330,7 +330,7 @@ function trap(&$data=NULL){
# logsave
if
(
$playerflag
&&
!
$selflag
)
{
addnews
(
$now
,
'trapmiss'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$trname
,
$itm0
);
addnews
(
$now
,
'trapmiss'
,
$name
,
$trname
,
$itm0
,
$nick
);
$w_log
=
"<span class=
\"
yellow
\"
>
{
$name
}
回避了你设置的陷阱
{
$itm0
}
!</span><br>"
;
logsave
(
$itmsk0
,
$now
,
$w_log
,
'b'
);
}
...
...
include/game/song.inc.php
View file @
d41f03b5
...
...
@@ -41,7 +41,7 @@
$db
->
query
(
"UPDATE
{
$tablepre
}
players SET def=def+30 WHERE `pls` =
{
$pls
}
AND hp>0 AND type=0 "
);
$def
+=
30
;
addnoise
(
$sn
,
'__'
,
$now
,
$pls
,
0
,
0
,
$sn
);
addnews
(
$now
,
'song'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$plsinfo
[
$pls
],
$noiseinfo
[
$sn
]
);
addnews
(
$now
,
'song'
,
$name
,
$plsinfo
[
$pls
],
$noiseinfo
[
$sn
],
$nick
);
return
;
}
elseif
(
$sn
==
"Crow Song"
){
...
...
@@ -57,7 +57,7 @@
$db
->
query
(
"UPDATE
{
$tablepre
}
players SET att=att+30 WHERE `pls`=
{
$pls
}
AND hp>0 AND type=0"
);
$att
+=
30
;
addnoise
(
$sn
,
'__'
,
$now
,
$pls
,
0
,
0
,
$sn
);
addnews
(
$now
,
'song'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$plsinfo
[
$pls
],
$noiseinfo
[
$sn
]
);
addnews
(
$now
,
'song'
,
$name
,
$plsinfo
[
$pls
],
$noiseinfo
[
$sn
],
$nick
);
return
;
...
...
@@ -75,7 +75,7 @@
$mss
=
$ss
;
$rp
-=
50
;
addnoise
(
$sn
,
'__'
,
$now
,
$pls
,
0
,
0
,
$sn
);
addnews
(
$now
,
'song'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$plsinfo
[
$pls
],
$noiseinfo
[
$sn
]
);
addnews
(
$now
,
'song'
,
$name
,
$plsinfo
[
$pls
],
$noiseinfo
[
$sn
],
$nick
);
return
;
...
...
@@ -94,7 +94,7 @@
$db
->
query
(
"UPDATE
{
$tablepre
}
players SET weps=wepes=55 WHERE `pls` =
{
$pls
}
AND hp>0 AND type=0 "
);
$db
->
query
(
"UPDATE
{
$tablepre
}
players SET wepsk='z' WHERE `pls` =
{
$pls
}
AND hp>0 AND type=0 "
);
addnoise
(
$sn
,
'__'
,
$now
,
$pls
,
0
,
0
,
$sn
);
addnews
(
$now
,
'song'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$plsinfo
[
$pls
],
$noiseinfo
[
$sn
]
);
addnews
(
$now
,
'song'
,
$name
,
$plsinfo
[
$pls
],
$noiseinfo
[
$sn
],
$nick
);
return
;
}
...
...
include/game/special.func.php
View file @
d41f03b5
...
...
@@ -324,8 +324,8 @@ function syncro($sb){
global
$itm0
,
$itmk0
,
$itme0
,
$itms0
,
$itmsk0
,
$name
,
$nick
;
list
(
$n
,
$k
,
$e
,
$s
,
$sk
,
$r
)
=
explode
(
'_'
,
$sb
);
$itm0
=
$n
;
$itmk0
=
$k
;
$itme0
=
$e
;
$itms0
=
$s
;
$itmsk0
=
$sk
;
if
(
$r
>
0
)
{
addnews
(
$now
,
'syncmix'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$itm0
);}
else
{
addnews
(
$now
,
'overmix'
,
titles_get_desc
(
$nick
)
.
' '
.
$name
,
$itm0
);}
if
(
$r
>
0
)
{
addnews
(
$now
,
'syncmix'
,
$name
,
$itm0
,
$nick
);}
else
{
addnews
(
$now
,
'overmix'
,
$name
,
$itm0
,
$nick
);}
//检查成就
include_once
GAME_ROOT
.
'./include/game/achievement.func.php'
;
check_mixitem_achievement_rev
(
$name
,
$itm0
);
...
...
include/game/team.func.php
View file @
d41f03b5
...
...
@@ -76,7 +76,7 @@ function teammake($tID,$tPass,$tIcon) {
$teamIcon
=
$tIcon
;
$sp
-=
$team_sp
;
$log
.=
'你创建了队伍<span class="yellow">'
.
$teamID
.
'</span>。<br>'
;
addnews
(
$now
,
'teammake'
,
$teamID
,
titles_get_desc
(
$nick
)
.
' '
.
$name
);
addnews
(
$now
,
'teammake'
,
$teamID
,
$name
,
$nick
);
// global $gamedata,$chatinfo;
// $gamedata['innerHTML']['chattype'] = "<select name=\"chattype\" value=\"2\"><option value=\"0\" selected>$chatinfo[0]<option value=\"1\" >$chatinfo[1]</select>";
// $gamedata['value']['team'] = $teamID;
...
...
@@ -137,7 +137,7 @@ function teamjoin($tID,$tPass) {
$teamIcon
=
$teaminfo
[
'teamIcon'
];
$sp
-=
$teamj_sp
;
$log
.=
'你加入了队伍<span class="yellow">'
.
$teamID
.
'</span>。<br>'
;
addnews
(
$now
,
'teamjoin'
,
$teamID
,
titles_get_desc
(
$nick
)
.
' '
.
$name
);
addnews
(
$now
,
'teamjoin'
,
$teamID
,
$name
,
$nick
);
// global $gamedata,$chatinfo;
// $gamedata['innerHTML']['chattype'] = "<select name=\"chattype\" value=\"2\"><option value=\"0\" selected>$chatinfo[0]<option value=\"1\" >$chatinfo[1]</select>";
// $gamedata['value']['team'] = $teamID;
...
...
@@ -156,7 +156,7 @@ function teamquit() {
if
(
$teamID
&&
$gamestate
<
40
){
$log
.=
'你退出了队伍<span class="yellow">'
.
$teamID
.
'</span>。<br>'
;
addnews
(
$now
,
'teamquit'
,
$teamID
,
titles_get_desc
(
$nick
)
.
' '
.
$name
);
addnews
(
$now
,
'teamquit'
,
$teamID
,
$name
,
$nick
);
$teamID
=
$teamPass
=
''
;
// global $gamedata,$chatinfo;
// $gamedata['innerHTML']['chattype'] = "<select name=\"chattype\" value=\"2\"><option value=\"0\" selected>$chatinfo[0]</select>";
...
...
include/news.func.php
View file @
d41f03b5
...
...
@@ -21,6 +21,31 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
// }
$newsinfo
=
'<ul>'
;
$nday
=
0
;
//该来的躲不掉 会显示头衔的news内对应保存$nick的位置
$old_nicknews
=
Array
(
//使用道具发送的news统一不带头衔,以后要不要带以后再说
'teammake'
=>
'c'
,
'teamjoin'
=>
'c'
,
'teamquit'
=>
'c'
,
'newgm'
=>
'd'
,
'newpc'
=>
'd'
,
'hack'
=>
'b'
,
'hack2'
=>
'b'
,
'itemmix'
=>
'c'
,
'syncmix'
=>
'c'
,
'overmix'
=>
'c'
,
'senditem'
=>
'd'
,
'csl_wthchange'
=>
'c'
,
'csl_hack'
=>
'b'
,
'csl_addarea'
=>
'b'
,
'song'
=>
'd'
,
'revival'
=>
'b'
,
'wth18_revival'
=>
'b'
,
'aurora_revival'
=>
'b'
,
);
//for($i = $start;$i <= $r;$i++) {
//for($i = 0;$i < $nnum;$i++) {
while
(
$news0
=
$db
->
fetch_array
(
$result
))
{
...
...
@@ -40,9 +65,16 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
if
((
strpos
(
$news
,
'senditem'
)
!==
false
||
strpos
(
$news
,
'poison'
)
!==
false
||
strpos
(
$news
,
'trap'
)
!==
false
||
strpos
(
$news
,
'wth'
)
!==
false
||
strpos
(
$news
,
'newwep'
)
!==
false
||
strpos
(
$news
,
'song'
)
!==
false
||
strpos
(
$news
,
'present'
)
!==
false
)
&&
isset
(
$c
))
$c
=
parse_info_desc
(
$c
,
'm'
);
//合成、使用死斗卡、使用仓库:道具名登记在$b上;
if
((
strpos
(
$news
,
'mix'
)
!==
false
||
strpos
(
$news
,
'duelkey'
)
!==
false
||
strpos
(
$news
,
'depot'
)
===
0
)
&&
isset
(
$b
))
$b
=
parse_info_desc
(
$b
,
'm'
);
//新PC加入战场 格式化nick
//卧槽这可怎么搞……只能脏一把了
if
(
!
empty
(
$old_nicknews
[
$news
]))
{
$name
=
is_array
(
$old_nicknews
[
$news
])
?
$old_nicknews
[
$news
][
0
]
:
'a'
;
$nick
=
is_array
(
$old_nicknews
[
$news
])
?
$old_nicknews
[
$news
][
1
]
:
$old_nicknews
[
$news
];
if
(
!
empty
(
$$nick
)
||
$$nick
==
0
)
$$nick
=
titles_get_desc
(
$$nick
);
$$name
=
$$nick
.
' '
.
$$name
;
unset
(
$name
);
unset
(
$nick
);
}
//$sec='??';
if
(
$news
==
'newgame'
)
{
...
...
@@ -105,6 +137,18 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
}
elseif
(
$news
==
'wth18_revival'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
lime
\"
>
{
$a
}
在光玉们的帮助下原地复活了!</span><br>
\n
"
;
}
elseif
(
strpos
(
$news
,
'death'
)
===
0
)
{
if
(
!
empty
(
$a
)
&&
strpos
(
$a
,
'|'
)
!==
false
)
{
$arr
=
explode
(
'|'
,
$a
);
$a
=
titles_get_desc
(
$arr
[
0
])
.
' '
.
$arr
[
1
];
unset
(
$arr
);
}
if
(
!
empty
(
$c
)
&&
strpos
(
$c
,
'|'
)
!==
false
)
{
$arr
=
explode
(
'|'
,
$c
);
$c
=
titles_get_desc
(
$arr
[
0
])
.
' '
.
$arr
[
1
];
unset
(
$arr
);
}
if
(
$news
==
'death11'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
yellow
\"
>
$a
</span>因滞留在<span class=
\"
red
\"
>禁区【
{
$plsinfo
[
$c
]
}
】</span>死亡"
;
}
elseif
(
$news
==
'death12'
)
{
...
...
include/state.func.php
View file @
d41f03b5
...
...
@@ -103,10 +103,14 @@
$db
->
query
(
"INSERT INTO
{
$tablepre
}
chat (type,`time`,send,recv,msg) VALUES ('3','
$now
','
$lwname
','
$pls
','
$lastword
')"
);
}
$deathtime
=
$now
;
$result
=
$db
->
query
(
"SELECT nick FROM
{
$tablepre
}
players WHERE name = '
$kname
' AND type = '
$type
'"
);
$knick
=
$db
->
result
(
$result
,
0
);
$knname
=
isset
(
$knick
)
?
$knick
.
' '
.
$kname
:
$kname
;
addnews
(
$now
,
'death'
.
$state
,
$name
,
$type
,
$knname
,
$annex
,
$lastword
);
//$result = $db->query("SELECT nick FROM {$tablepre}players WHERE name = '$kname' AND type = '$type'");
//$knick = $db->result($result, 0);
//$kname= !empty($knick) || $knick == 0 ? $knick.'+'.$ : 'none';
$dname
=
!
empty
(
$nick
)
||
$nick
==
0
?
$nick
.
'|'
.
$name
:
$name
;
addnews
(
$now
,
'death'
.
$state
,
$dname
,
$type
,
$knname
,
$annex
,
$lastword
);
//$alivenum = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}players WHERE hp>0 AND type=0"), 0);
# 执行死亡事件(灵魂绑定等)
...
...
@@ -157,7 +161,6 @@
}
//初始化死者信息
$dtype
=
$pd
[
'type'
];
$dname
=
$pd
[
'name'
];
$dpls
=
$pd
[
'pls'
];
$lwname
=
$typeinfo
[
$dtype
]
.
' '
.
$dname
;
//初始化NPC遗言
if
(
$dtype
)
{
...
...
@@ -173,9 +176,9 @@
$db
->
query
(
"INSERT INTO
{
$tablepre
}
chat (type,`time`,send,recv,msg) VALUES ('3','
$now
','
$lwname
','
$dpls
','
$lastword
')"
);
//发送news
$
kname
=
$pa
[
'type'
]
?
$pa
[
'name'
]
:
titles_get_desc
(
$pa
[
'nick'
])
.
' '
.
$pa
[
'name'
];
//$dname = $pd['type'] ? $pd['name'] : titles_get_desc($pd['nick']).' '.$pd
['name'];
addnews
(
$now
,
'death'
.
$pd
[
'state'
],
$dname
,
$dtype
,
$kname
,
$pa
[
'wep_name'
],
$lastword
);
$
dname
=
(
!
empty
(
$pd
[
'nick'
])
||
$pd
[
'nick'
]
==
0
)
?
$pd
[
'nick'
]
.
'|'
.
$pd
[
'name'
]
:
$pd
[
'name'
];
$kname
=
(
!
empty
(
$pa
[
'nick'
])
||
$pa
[
'nick'
]
==
0
)
?
$pa
[
'nick'
]
.
'|'
.
$pa
[
'name'
]
:
$pa
[
'name'
];
addnews
(
$now
,
'death'
.
$pd
[
'state'
],
$dname
,
$dtype
,
$kname
,
$pa
[
'wep_name'
],
$lastword
);
return
$lastword
;
}
...
...
@@ -192,7 +195,7 @@
$revival_flag
=
0
;
$dname
=
$pd
[
'
type'
]
?
$pd
[
'name'
]
:
titles_get_desc
(
$pd
[
'nick'
])
.
' '
.
$pd
[
'name
'
];
$dname
=
$pd
[
'
name'
];
$dnick
=
$pd
[
'nick
'
];
#光玉雨天气下,提供者有概率复活
if
(
!
$revival_flag
&&
$weather
==
18
&&
$gamevars
[
'wth18pid'
]
==
$pd
[
'pid'
])
...
...
@@ -209,7 +212,7 @@
{
#奥罗拉复活效果
$revival_flag
=
18
;
//保存复活标记为通过光玉雨复活
addnews
(
$now
,
'wth18_revival'
,
$dname
);
addnews
(
$now
,
'wth18_revival'
,
$dname
,
$dnick
);
$pd
[
'hp'
]
=
max
(
$wth18_obbs
,
1
);
$pd
[
'sp'
]
=
max
(
$wth18_obbs
,
1
);
$pd
[
'state'
]
=
0
;
...
...
@@ -227,7 +230,7 @@
{
#奥罗拉复活效果
$revival_flag
=
17
;
//保存复活标记为通过奥罗拉复活
addnews
(
$now
,
'aurora_revival'
,
$dname
);
addnews
(
$now
,
'aurora_revival'
,
$dname
,
$dnick
);
$pd
[
'hp'
]
=
max
(
$aurora_dice
,
1
);
$pd
[
'sp'
]
=
max
(
$aurora_dice
,
1
);
$pd
[
'state'
]
=
0
;
...
...
@@ -241,7 +244,7 @@
{
# 「涅槃」复活效果:
$revival_flag
=
'nirvan'
;
//保存复活标记为通过技能复活
addnews
(
$now
,
'revival'
,
$dname
);
addnews
(
$now
,
'revival'
,
$dname
,
$dnick
);
# 添加「涅槃」激活次数
set_skillpara
(
'c19_nirvana'
,
'active_t'
,
get_skillpara
(
'c19_nirvana'
,
'active_t'
,
$pd
[
'clbpara'
])
+
1
,
$pd
[
'clbpara'
]);
$pd
[
'state'
]
=
0
;
...
...
include/system.func.php
View file @
d41f03b5
...
...
@@ -447,8 +447,7 @@ function duel($time = 0,$keyitm = ''){
$gamestate
=
50
;
save_gameinfo
();
$nickinfo
=
titles_get_desc
(
$nick
);
addnews
(
$time
,
'duelkey'
,
$nickinfo
.
' '
.
$name
,
$keyitm
);
addnews
(
$time
,
'duelkey'
,
$name
,
$keyitm
,
$nick
);
addnews
(
$time
,
'duel'
);
systemputchat
(
$time
,
'duel'
);
return
50
;
...
...
valid.php
View file @
d41f03b5
...
...
@@ -272,9 +272,9 @@ if($mode == 'enter') {
$db
->
query
(
"UPDATE
{
$gtablepre
}
users SET lastgame='
$gamenum
' WHERE username='
$name
'"
);
if
(
$udata
[
'groupid'
]
>=
6
||
$cuser
==
$gamefounder
){
addnews
(
$now
,
'newgm'
,
$n
ickinfo
.
' '
.
$n
ame
,
"
{
$sexinfo
[
$gd
]
}{
$sNo
}
号"
,
$ip
,
$nick
);
addnews
(
$now
,
'newgm'
,
$name
,
"
{
$sexinfo
[
$gd
]
}{
$sNo
}
号"
,
$ip
,
$nick
);
}
else
{
addnews
(
$now
,
'newpc'
,
$n
ickinfo
.
' '
.
$n
ame
,
"
{
$sexinfo
[
$gd
]
}{
$sNo
}
号"
,
$ip
,
$nick
);
addnews
(
$now
,
'newpc'
,
$name
,
"
{
$sexinfo
[
$gd
]
}{
$sNo
}
号"
,
$ip
,
$nick
);
}
if
(
$validnum
>=
$validlimit
&&
$gamestate
==
20
){
...
...
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