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
704ed5b1
Commit
704ed5b1
authored
Jan 21, 2023
by
Nemo Ma
Committed by
GitHub
Jan 21, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #8 from hikawiier/waaagh
update & fix
parents
24e95ca6
d5bdd4f2
Changes
14
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1770 additions
and
147 deletions
+1770
-147
chat.php
chat.php
+2
-0
command.php
command.php
+20
-2
gamedata/cache/elementmix_1.php
gamedata/cache/elementmix_1.php
+30
-16
gamedata/cache/npc_1.php
gamedata/cache/npc_1.php
+5
-5
gamedata/sql/players.sql
gamedata/sql/players.sql
+1
-2
include/game.func.php
include/game.func.php
+146
-16
include/game/elementmix.func.php
include/game/elementmix.func.php
+104
-92
include/game/item.func.php
include/game/item.func.php
+22
-9
include/game/revcombat.func.php
include/game/revcombat.func.php
+1066
-0
include/global.func.php
include/global.func.php
+87
-0
include/state.func.php
include/state.func.php
+2
-1
templates/default/battle.htm
templates/default/battle.htm
+4
-4
templates/default/revbattle.htm
templates/default/revbattle.htm
+278
-0
templates/default/revbattleresult.htm
templates/default/revbattleresult.htm
+3
-0
No files found.
chat.php
View file @
704ed5b1
...
...
@@ -10,6 +10,8 @@ if(!$cuser || !defined('IN_GAME')) {
}
if
((
$sendmode
==
'send'
)
&&
$chatmsg
)
{
$result
=
$db
->
query
(
"SELECT pid FROM
{
$tablepre
}
players WHERE name='
$cuser
' AND type='0'"
);
if
(
!
$db
->
num_rows
(
$result
))
exit
(
'Not in game.'
);
if
(
strpos
(
$chatmsg
,
'/'
)
===
0
)
{
$result
=
$db
->
query
(
"SELECT groupid FROM
{
$tablepre
}
users WHERE username='
$cuser
'"
);
$groupid
=
$db
->
result
(
$result
);
...
...
command.php
View file @
704ed5b1
...
...
@@ -98,7 +98,7 @@ if($hp > 0){
$mode
=
'command'
;
}
else
{
//进入指令判断
if
(
$mode
!==
'combat'
&&
$mode
!==
'corpse'
&&
strpos
(
$action
,
'pacorpse'
)
===
false
&&
$mode
!==
'senditem'
){
if
(
$mode
!==
'combat'
&&
$mode
!==
'
revcombat'
&&
$mode
!==
'
corpse'
&&
strpos
(
$action
,
'pacorpse'
)
===
false
&&
$mode
!==
'senditem'
){
$action
=
''
;
}
if
(
$command
==
'menu'
)
{
...
...
@@ -308,7 +308,7 @@ if($hp > 0){
{
global
$
{
'element'
.
$e_key
};
$m_e_key
=
$e_key
+
1
;
//这样就不用污染原本的js了
$
{
'emitm'
.
$e_key
.
'_num'
}
=
round
(
$
{
'emitm'
.
$e_key
.
'_num'
});
if
(
isset
(
$
{
'emitm'
.
$e_key
.
'_num'
}))
$
{
'emitm'
.
$e_key
.
'_num'
}
=
round
(
$
{
'emitm'
.
$e_key
.
'_num'
});
if
(
$
{
'mitm'
.
$m_e_key
}
>=
0
&&
$
{
'element'
.
$e_key
}
&&
$
{
'emitm'
.
$e_key
.
'_num'
}
>
0
&&
$
{
'emitm'
.
$e_key
.
'_num'
}
<=
$
{
'element'
.
$e_key
})
{
//打入参与合成的元素编号与数量
...
...
@@ -405,6 +405,24 @@ if($hp > 0){
}
elseif
(
$mode
==
'combat'
)
{
include_once
GAME_ROOT
.
'./include/game/combat.func.php'
;
combat
(
1
,
$command
);
}
elseif
(
$mode
==
'revcombat'
){
//NPC vs NPC:
if
(
$command
==
'enter'
&&
(
strpos
(
$action
,
'corpse'
)
===
0
||
strpos
(
$action
,
'pacorpse'
)
===
0
))
{
$cid
=
strpos
(
$action
,
'corpse'
)
===
0
?
str_replace
(
'corpse'
,
''
,
$action
)
:
str_replace
(
'pacorpse'
,
''
,
$action
);
if
(
$cid
)
{
global
$db
,
$tablepre
;
$result
=
$db
->
query
(
"SELECT * FROM
{
$tablepre
}
players WHERE pid='
$cid
' AND hp=0"
);
if
(
$db
->
num_rows
(
$result
)
>
0
)
{
$edata
=
$db
->
fetch_array
(
$result
);
extract
(
$edata
,
EXTR_PREFIX_ALL
,
'w'
);
include_once
GAME_ROOT
.
'./include/game/battle.func.php'
;
findcorpse
(
$edata
);
}
}
}
}
elseif
(
$mode
==
'rest'
)
{
include_once
GAME_ROOT
.
'./include/state.func.php'
;
rest
(
$command
);
...
...
gamedata/cache/elementmix_1.php
View file @
704ed5b1
...
...
@@ -48,6 +48,8 @@
'十字发卡'
=>
'r_4-1'
,
//分解琉璃血 获得随机配方_5 的第 1 条素材
'琉璃血'
=>
'r_5-1'
,
/** 会吐道具的分解 **/
'安雅人体冰雕'
=>
Array
(
'spitm'
=>
Array
(
'武器师安雅的奖赏'
,
'Y'
,
'1'
,
'1'
,
''
)),
/*** 道具分解 ***/
'◆火之碎片'
=>
Array
(
0
=>
77
,
1
=>
77
,
2
=>
77
,
3
=>
77
,
4
=>
77
,
5
=>
77
),
//全元素+77
'白色方块'
=>
Array
(
0
=>
110
),
//昼闪闪+100
...
...
@@ -57,6 +59,8 @@
'树叶'
=>
Array
(
3
=>
88
),
//郁萌萌+88
'毒药'
=>
Array
(
5
=>
21
),
//夜静静+21
'电池'
=>
Array
(
0
=>
15
,
4
=>
17
),
//亮晶晶+15、昼闪闪+17
'手机'
=>
Array
(
0
=>
20
,),
'笔记本电脑'
=>
Array
(
4
=>
20
,),
'バカ⑨制冰块'
=>
Array
(
2
=>
19
,
5
=>
21
),
//冷冰冰+19、夜静静+21
);
//拆解【特定道具】(关键词匹配,顺序越靠前优先级越高) 固定会获得的元素、数量
...
...
@@ -196,6 +200,8 @@
(
//子弹杯里伏特加加冰 兑小可可乐
Array
(
'stuff'
=>
Array
(
1
=>
58
,
5
=>
18
),
'result'
=>
Array
(
'大卫·马丁内斯'
,
'HB'
,
58
,
18
,
'p'
),),
//移动PC:亮晶晶20、昼闪闪20
Array
(
'stuff'
=>
Array
(
0
=>
20
,
4
=>
20
),
'result'
=>
Array
(
'移动PC'
,
'EE'
,
5
,
1
,
'z'
),),
//UG:投入全种类元素各1份
Array
(
'stuff'
=>
Array
(
0
=>
1
,
1
=>
1
,
2
=>
1
,
3
=>
1
,
4
=>
1
,
5
=>
1
,),
'result'
=>
Array
(
'Untainted Glory'
,
'A'
,
1
,
1
,
'Z'
),),
//仪水镜:投入全种类元素各7份
...
...
@@ -235,6 +241,8 @@
Array
(
'stuff'
=>
Array
(
'HH'
,
'HS'
),
'result'
=>
'HB'
,
'obbs'
=>
77
,),
//回命+回体=命体回复
Array
(
'stuff'
=>
Array
(
'HH'
,
'WF'
),
'result'
=>
'HM'
,
'obbs'
=>
77
,),
//回命+灵=歌魂增加
Array
(
'stuff'
=>
Array
(
'HS'
,
'WD'
),
'result'
=>
'HT'
,
'obbs'
=>
77
,),
//回体+爆=歌魂恢复
Array
(
'stuff'
=>
Array
(
'HH'
,
'WG'
),
'result'
=>
'MH'
,
'obbs'
=>
15
,),
//回命+射=生命强化
Array
(
'stuff'
=>
Array
(
'HS'
,
'WC'
),
'result'
=>
'MS'
,
'obbs'
=>
60
,),
//回体+投=体力强化
Array
(
'stuff'
=>
Array
(
'WG'
,
'WG'
),
'result'
=>
'WJ'
,
'obbs'
=>
30
,),
//射+射=重枪(30%概率)
//我认为这里应该有一个配方 可以合出有毒补给或者地雷(
);
...
...
@@ -242,21 +250,21 @@
$submix_list
=
array
(
Array
(
'stuff'
=>
Array
(
'x'
,
'z'
),
'result'
=>
'Z'
,
'obbs'
=>
13
),
//奇迹+天然=菁英
Array
(
'stuff'
=>
Array
(
'u'
,
'i'
),
'result'
=>
'd'
,
'obbs'
=>
Array
(
'default'
=>
30
,
'WD'
=>
98
,
'WDG'
=>
75
,
'WDF'
=>
75
),),
//火+冻=爆炸
Array
(
'stuff'
=>
Array
(
'i'
,
'e'
),
'result'
=>
'd'
,
'obbs'
=>
Array
(
'default'
=>
30
,
'WD'
=>
98
,
'WDG'
=>
75
,
'WDF'
=>
75
),),
//冻+电=爆炸
Array
(
'stuff'
=>
Array
(
'w'
,
'i'
),
'result'
=>
'd'
,
'obbs'
=>
Array
(
'default'
=>
30
,
'WD'
=>
98
,
'WDG'
=>
75
,
'WDF'
=>
75
),),
//音+冻=爆炸
//
Array('stuff'=>Array('u','i'),'result'=>'d','obbs'=>Array('default'=>30,'WD'=>98,'WDG'=>75,'WDF'=>75),), //火+冻=爆炸
//
Array('stuff'=>Array('i','e'),'result'=>'d','obbs'=>Array('default'=>30,'WD'=>98,'WDG'=>75,'WDF'=>75),), //冻+电=爆炸
//
Array('stuff'=>Array('w','i'),'result'=>'d','obbs'=>Array('default'=>30,'WD'=>98,'WDG'=>75,'WDF'=>75),), //音+冻=爆炸
//冴冴来发挥奇思妙想吧
);
//随机的次要特征组合配方 注意:指定属性(sk_*)一定要放到最前面
//可能会生成重复配方,但是也无所谓~
$random_submix_list
=
Array
(
//连击:随机1个价值在
10以上,1个价值在
20以上,1个价值在30以上的次要特征
Array
(
'stuff'
=>
Array
(
0
=>
'v_
10'
,
1
=>
'v_20'
,
2
=>
'v_30'
),
'result'
=>
'r'
,
'obbs'
=>
50
),
//连击:随机1个价值在20以上,1个价值在30以上的次要特征
Array
(
'stuff'
=>
Array
(
0
=>
'v_
20'
,
1
=>
'v_30'
),
'result'
=>
'r'
,
'obbs'
=>
33
),
//冲击:随机1个价值在20以上特征+1个随机“攻击”标签特征
Array
(
'stuff'
=>
Array
(
0
=>
'tags_W'
,
1
=>
'v_20'
),
'result'
=>
'N'
,
'obbs'
=>
50
),
//贯穿:重击辅助+随机2个价值在30以上的次要特征
Array
(
'stuff'
=>
Array
(
0
=>
'sk_c'
,
1
=>
'v_30'
,
2
=>
'v_30'
),
'result'
=>
'n'
,
'obbs'
=>
50
),
Array
(
'stuff'
=>
Array
(
0
=>
'sk_c'
,
1
=>
'v_30'
,
2
=>
'v_30'
),
'result'
=>
'n'
,
'obbs'
=>
66
),
//属性防御:随机1个价值在30以上+2个随机“防御”标签特征
Array
(
'stuff'
=>
Array
(
0
=>
'v_30'
,
1
=>
'tags_D'
,
2
=>
'tags_D'
),
'result'
=>
'a'
,
'obbs'
=>
50
),
//全系防御:随机2个价值在30以上的次要特征+1个随机“防御”标签特征
...
...
@@ -268,7 +276,7 @@
//合成过程中随机产生的东西
$emix_tips_arr
=
Array
(
'天然'
,
'喜悦'
,
'灵感'
,
'奇迹'
,
'爱'
,
'期待'
,
'愤怒'
,
'悲伤'
,
'乐子'
,
'苦闷'
,
'既视感'
,
'疯狂'
,
'幸运'
,
'RP'
,
'罪业'
);
//括在名字外围的符号
$emix_name_brackets_arr
=
Array
(
'☆+☆'
,
'★+★'
,
'〖+〗'
,
'【+】'
,
'『+』'
,
'「+」'
,
'
《+》'
,
'○+○'
,
'●+●
'
);
$emix_name_brackets_arr
=
Array
(
'☆+☆'
,
'★+★'
,
'〖+〗'
,
'【+】'
,
'『+』'
,
'「+」'
,
'
✦+✦'
,
'☾+☽'
,
'☼+☼
'
);
//修饰前缀,由主元素决定,有多个主元素时随机抽取。主元素组合成功时再抽取通用前缀。
$emix_name_prefix_arr
=
Array
(
...
...
@@ -283,13 +291,13 @@
//元词缀,随便挑一个非主元素的
$emix_name_meta_arr
=
Array
(
0
=>
Array
(
'乱序之'
,
'宝石纹'
,
'镭射型'
,
'镜面纹'
,
'藏书'
,
'晶化'
,
'化合型'
,
'糖浆'
,
'石纹'
,
'杂糅'
,
'透明纹'
),
//'亮晶晶'
1
=>
Array
(
'燃素之'
,
'篝火之'
,
'黄昏之'
,
'晌午'
,
'凤凰
型'
,
'猩红之'
,
'暖石'
,
'强袭型'
,
'破坏型'
,
'苹果制'
,
'血纹
'
),
//'暖洋洋'
0
=>
Array
(
'乱序之'
,
'宝石纹'
,
'镭射型'
,
'镜面纹'
,
'藏书'
,
'晶化'
,
'化合型'
,
'糖浆'
,
'石纹'
,
'杂糅'
,
'透明纹'
,
'印花'
,
'蕾丝缀'
,
'简约'
),
//'亮晶晶'
1
=>
Array
(
'燃素之'
,
'篝火之'
,
'黄昏之'
,
'晌午'
,
'凤凰
'
,
'猩红'
,
'暖石'
,
'强袭型'
,
'破坏型'
,
'苹果'
,
'血纹'
,
'酒红
'
),
//'暖洋洋'
2
=>
Array
(
'迅捷化'
,
'鱼纹'
,
'操弄之'
,
'碎心'
,
'旁观之'
,
'路人之'
,
'狡黠之'
,
'凛风之'
,
'北极星'
,
'雾之'
,
'魔咒'
,
'激流之'
),
//'冷冰冰'
3
=>
Array
(
'生命之'
,
'蔷薇纹'
,
'根须'
,
'咖啡'
,
'妖精'
,
'吱吱乱叫之'
,
'生姜'
,
'拿铁'
,
'叶形纹'
,
'风化'
,
'仿制'
,
'纺锤状'
),
//'郁萌萌'
4
=>
Array
(
'启示之'
,
'神之'
,
'王国制'
,
'旭日之'
,
'英雄之'
,
'荣光之'
,
'灯笼状'
,
'萤火之'
,
'
神父之'
,
'麻将'
,
'骑士之
'
),
//'昼闪闪'
5
=>
Array
(
'怪异化'
,
'黑洞之'
,
'视界之'
,
'牧人羊
型'
,
'往事之'
,
'循环之'
,
'吊诡之'
,
'小鬼之'
,
'刻奇之'
,
'五芒星'
,
'爬行
'
),
//'夜静静'
6
=>
Array
(
'空白
之'
,
'留声型'
,
'映像型'
,
'回响型'
,
'气动型'
,
'姐妹之'
,
'差分机'
,
'飞艇型'
,
'纸制'
,
'彩玻璃制
'
,
'以太制'
,
'黄铜制'
,
'贤者之'
),
//拓展1
4
=>
Array
(
'启示之'
,
'神之'
,
'王国制'
,
'旭日之'
,
'英雄之'
,
'荣光之'
,
'灯笼状'
,
'萤火之'
,
'
教条'
,
'麻将'
,
'骑士之'
,
'亮片
'
),
//'昼闪闪'
5
=>
Array
(
'怪异化'
,
'黑洞之'
,
'视界之'
,
'牧人羊
'
,
'往事之'
,
'循环之'
,
'吊诡之'
,
'小鬼之'
,
'刻奇之'
,
'五芒星'
,
'爬行者
'
),
//'夜静静'
6
=>
Array
(
'空白
'
,
'留声型'
,
'映像型'
,
'回响型'
,
'气动型'
,
'双生之'
,
'差分机'
,
'飞艇型'
,
'纸之'
,
'琉璃
'
,
'以太制'
,
'黄铜制'
,
'贤者之'
),
//拓展1
);
//词尾
$emix_name_tail_arr
=
Array
...
...
@@ -302,10 +310,13 @@
'WD'
=>
Array
(
'炸弹'
,
'地雷'
,
'打击'
,
'此面向敌'
,
'贝蒂'
,
'绳'
,
'陷坑'
,
'抽卡游戏'
,
'短视频'
,
'胜负欲'
,
'这是什么?摸一下'
),
//'爆炸物'
'WF'
=>
Array
(
'符'
,
'手环'
,
'节杖'
,
'触'
,
'法书'
,
'纸人'
,
'信徒'
,
'精神性'
,
'理论'
,
'天赋'
,
'秘录'
,
'蟑螂'
),
//'灵武'
//TODO:复合武器
'D'
=>
Array
(
'物'
,
'加护'
,
'轨迹'
,
'尾巴'
,
'鱼鳞'
,
'灯笼裤'
,
'胖次'
,
'朋友'
,
'匣子'
,
'投影'
,
'力场盾'
,
'假说'
,
'抑制器'
,
'弹药包'
),
//不分类防具
//TODO:身体、手部、头部、足部防具
'H'
=>
Array
(
'糊糊'
,
'杏仁豆腐'
,
'烤鱼面包'
,
'章鱼须'
,
'乌鸡肉'
,
'生海带'
,
'幸运饼干'
,
'长芽土豆'
,
'眼泪'
,
'趣味'
),
//补给
'0'
=>
Array
(
'怪东西'
,
'???'
,
'竟然是它'
,
'■■■'
,
'数据削除'
),
//泛用性词尾
'D'
=>
Array
(
'物'
),
//不分类防具
'DB'
=>
Array
(
'甲'
,
'衣'
,
'装'
,
'翼'
,
'西装'
,
'洋装'
,
'裙'
,
'死库水'
,
'灯笼裤'
,
'胖次'
,
'纸箱'
,
'弹药包'
,
'战甲B'
),
'DH'
=>
Array
(
'盔'
,
'镜'
,
'帽'
,
'风帽'
,
'缎带'
,
'发卡'
,
'护目镜'
,
'投影'
,
'假说'
,
'抑制器'
,
'检测装置'
,
'战甲H'
),
'DA'
=>
Array
(
'盾'
,
'掌'
,
'手套'
,
'朋友'
,
'匣子'
,
'鱼鳞'
,
'力场盾'
,
'鱼竿'
,
'手表'
,
'手环'
,
'镣铐'
,
'命数'
,
'战甲A'
),
'DF'
=>
Array
(
'鞋'
,
'靴'
,
'爪'
,
'加护'
,
'轨迹'
,
'脚步'
,
'飞毯'
,
'马靴'
,
'草鞋'
,
'触手'
,
'尾巴'
,
'滑板'
,
'战甲F'
),
'H'
=>
Array
(
'秘药'
,
'罐头'
,
'糊糊'
,
'杏仁豆腐'
,
'烤鱼面包'
,
'章鱼须'
,
'乌鸡肉'
,
'生海带'
,
'幸运饼干'
,
'长芽土豆'
,
'眼泪'
,
'趣味'
),
//补给
'0'
=>
Array
(
'怪东西'
,
'???'
,
'竟然是它'
,
'■■■'
,
'数据削除'
),
//BUG词尾:没有找到类别的情况下会变成这个
);
/********研究模式配置********/
...
...
@@ -331,5 +342,8 @@
4
=>
'“如果实在不知道该合成什么的话,不妨试试把每种元素都丢1份进去看看。”<br>“说实话我也不知道会发生什么,所以出了事不要怨我啊!”<br>'
,
5
=>
'“据说元素们在变化成具体形状时会发出奇怪的动静……说不定是在用元素语骂人呢?”<br>'
,
6
=>
'“据说要将元素的‘次要特征’附着在物品上时,会产生某种奇特的发酵物的味道。”<br>“其实元素合成的原理和腌咸菜也差不多吧?”<br>'
,
7
=>
'“有种有趣的说法是:‘在数字1-10里,7是最孤独的——因为只有它既不能成为因子、也不能被整除。’”<br>“如果你很闲的话,应该还能找到很多这样的规律。”<br>“或者你也可以试试把每种元素都丢进去7份看看?”<br>'
,
8
=>
'“你有没有试着分解过‘手机’和‘笔记本电脑’?”<br>“虽然不知道为什么这些东西上也会有元素。但寄宿在其上的元素数量与种类似乎是固定的。如果把这些固定的元素重新组合起来的话……?”<br>'
,
9
=>
'“你有没有试过把带有‘生命恢复’与‘体力恢复’特征的元素组合起来?”<br>“嘛,就算没试过,你应该一眼就能看出来会发生什么了。但是如果把它们分别与更有‘攻击性’的元素组合起来的话……?”<br>'
,
);
?>
gamedata/cache/npc_1.php
View file @
704ed5b1
...
...
@@ -2277,27 +2277,27 @@ $npcinfo = array
'lvl'
=>
50
,
'skill'
=>
300
,
'money'
=>
800
,
'arb'
=>
'
<span class="spitem2">巫师袍子</span>
'
,
'arb'
=>
'
巫师袍子
'
,
'arbk'
=>
'DB'
,
'arbe'
=>
1800
,
'arbs'
=>
300
,
'arbsk'
=>
'A'
,
'arh'
=>
'
<span class="spitem2">巫师兜帽</span>
'
,
'arh'
=>
'
巫师兜帽
'
,
'arhk'
=>
'DH'
,
'arhe'
=>
1200
,
'arhs'
=>
300
,
'arhsk'
=>
'DF'
,
'arf'
=>
'
<span class="spitem2">巫师便鞋</span>
'
,
'arf'
=>
'
巫师便鞋
'
,
'arfk'
=>
'DF'
,
'arfe'
=>
1700
,
'arfs'
=>
300
,
'arfsk'
=>
'a'
,
'ara'
=>
'
<span class="spitem2">巫师手套</span>
'
,
'ara'
=>
'
巫师手套
'
,
'arak'
=>
'DA'
,
'arae'
=>
1900
,
'aras'
=>
300
,
'arask'
=>
'H'
,
'art'
=>
'
<span class="spitem2">巫师之力</span>
'
,
'art'
=>
'
巫师之力
'
,
'artk'
=>
'AA'
,
'arte'
=>
1
,
'arts'
=>
33
,
...
...
gamedata/sql/players.sql
View file @
704ed5b1
...
...
@@ -141,8 +141,7 @@ CREATE TABLE bra_players (
gempower
char
(
5
)
not
null
default
'0'
,
gemexp
smallint
unsigned
NOT
NULL
default
'0'
,
gemlvl
tinyint
unsigned
NOT
NULL
default
'0'
,
typls
tinyint
unsigned
NOT
NULL
default
'0'
,
tyowner
varchar
(
30
)
NOT
NULL
default
''
,
clbpara
text
NOT
NULL
,
statusa
int
(
10
)
NOT
NULL
default
'0'
,
statusb
int
(
10
)
NOT
NULL
default
'0'
,
statusc
int
(
10
)
NOT
NULL
default
'0'
,
...
...
include/game.func.php
View file @
704ed5b1
...
...
@@ -4,6 +4,52 @@ if(!defined('IN_GAME')) {
exit
(
'Access Denied'
);
}
//格式化储存player表 可能也是四面的遗产
function
update_db_player_structure
(
$type
=
0
)
{
global
$db
,
$tablepre
,
$checkstr
;
$db_player_structure
=
$db_player_structure_types
=
$tpldata
=
Array
();
$dps_need_update
=
0
;
//判定是否需要更新玩家字段
$dps_file
=
GAME_ROOT
.
'./gamedata/bak/db_player_structure.config.php'
;
$sql_file
=
GAME_ROOT
.
'./gamedata/sql/players.sql'
;
if
(
!
file_exists
(
$dps_file
)
||
filemtime
(
$sql_file
)
>
filemtime
(
$dps_file
)){
$dps_need_update
=
1
;
}
if
(
$dps_need_update
){
//如果要更新,直接新建一个表,不需要依赖已有的players表
$sql
=
file_get_contents
(
$sql_file
);
$sql
=
str_replace
(
"
\r
"
,
"
\n
"
,
str_replace
(
' bra_'
,
' '
.
$tablepre
.
'tmp_'
,
$sql
));
$db
->
queries
(
$sql
);
$result
=
$db
->
query
(
"DESCRIBE
{
$tablepre
}
tmp_players"
);
while
(
$sttdata
=
$db
->
fetch_array
(
$result
))
{
global
$
{
$sttdata
[
'Field'
]};
$db_player_structure
[]
=
$sttdata
[
'Field'
];
$db_player_structure_types
[
$sttdata
[
'Field'
]]
=
$sttdata
[
'Type'
];
//array_push($db_player_structure,$pdata['Field']);
}
$dps_cont
=
str_replace
(
'?>'
,
''
,
str_replace
(
'<?'
,
'<?php'
,
$checkstr
));
$dps_cont
.=
'$db_player_structure = '
.
var_export
(
$db_player_structure
,
1
)
.
";
\r\n
"
.
'$db_player_structure_types = '
.
var_export
(
$db_player_structure_types
,
1
)
.
";
\r\n
?>"
;
writeover
(
$dps_file
,
$dps_cont
);
chmod
(
$dps_file
,
0777
);
}
else
{
//若不需要更新,则直接读文件就好
include
$dps_file
;
}
return
$type
?
$db_player_structure_types
:
$db_player_structure
;
}
//返回一个只有数据库合法字段键名的pdata数组
function
player_format_with_db_structure
(
$data
){
$ndata
=
Array
();
$db_player_structure
=
update_db_player_structure
();
foreach
(
$db_player_structure
as
$key
){
if
(
isset
(
$data
[
$key
]))
{
$ndata
[
$key
]
=
$data
[
$key
];
}
}
return
$ndata
;
}
//将sk转为数组格式 只会转换登记过的属性
function
get_itmsk_array
(
$sk_value
)
{
...
...
@@ -35,7 +81,8 @@ function get_itmsk_strlen($sk_value,$max_length=5)
return
$ret
;
}
//为显示在主界面、尸体发现界面、游戏帮助界面的道具名、道具类、道具属性添加额外描述
function
parse_itm_desc
(
$n
,
$t
)
//传入$n=道具名/类/属性;$t='m'(使用名称数组)/'k'(类别)/'sk'(属性);$short=1(传入的$n为数组情况下才有效,缩写属性)
function
parse_itm_desc
(
$n
,
$t
,
$short
=
0
)
{
global
$iteminfo
,
$itemspkinfo
;
global
$iteminfo_tooltip
,
$itemkinfo_tooltip
,
$itemspkinfo_tooltip
;
...
...
@@ -50,9 +97,24 @@ function parse_itm_desc($n,$t)
break
;
//处理属性
case
$t
==
'sk'
:
if
(
isset
(
$itemspkinfo_tooltip
[
$n
][
'title'
]))
$p1
=
"title=
\"
"
.
$itemspkinfo_tooltip
[
$n
][
'title'
]
.
"
\"
"
;
if
(
isset
(
$itemspkinfo_tooltip
[
$n
][
'class'
]))
$p2
=
"class=
\"
"
.
$itemspkinfo_tooltip
[
$n
][
'class'
]
.
"
\"
"
;
$n
=
$itemspkinfo
[
$n
];
//如果传入的n为数组,且开启缩写模式,则输出一段缩写
if
(
$short
&&
is_array
(
$n
))
{
$p1
=
"title=
\"
"
;
$sk1
=
$itemspkinfo
[
current
(
$n
)];
$sk2
=
$itemspkinfo
[
end
(
$n
)];
$skn
=
''
;
foreach
(
$n
as
$sk_value
)
{
if
(
!
empty
(
$skn
))
$skn
.=
'+'
.
$itemspkinfo
[
$sk_value
];
else
$skn
=
$itemspkinfo
[
$sk_value
];
}
$p1
.=
$skn
;
$n
=
$sk1
.
'+...+'
.
$sk2
;
$p2
=
"
\"
"
;
}
else
{
if
(
isset
(
$itemspkinfo_tooltip
[
$n
][
'title'
]))
$p1
=
"title=
\"
"
.
$itemspkinfo_tooltip
[
$n
][
'title'
]
.
"
\"
"
;
if
(
isset
(
$itemspkinfo_tooltip
[
$n
][
'class'
]))
$p2
=
"class=
\"
"
.
$itemspkinfo_tooltip
[
$n
][
'class'
]
.
"
\"
"
;
$n
=
$itemspkinfo
[
$n
];
}
break
;
//处理名字
case
$t
==
'm'
:
...
...
@@ -122,15 +184,23 @@ function init_profile(){
$
{
$sk_value
.
'_words'
}
=
''
;
//取我数组斧来
$tmpsk
=
get_itmsk_array
(
${$sk_value}
);
foreach
(
$tmpsk
as
$sk
)
if
(
count
(
$tmpsk
)
>
3
)
{
if
(
!
empty
(
$
{
$sk_value
.
'_words'
}))
{
$
{
$sk_value
.
'_words'
}
.=
"+"
.
parse_itm_desc
(
$sk
,
'sk'
);
}
else
//在装备、道具栏内的道具超过3个属性时,显示为+...+的缩写……不然属性多起来太丑了!!
$
{
$sk_value
.
'_words'
}
=
parse_itm_desc
(
$tmpsk
,
'sk'
,
1
);
}
else
{
foreach
(
$tmpsk
as
$sk
)
{
$
{
$sk_value
.
'_words'
}
=
parse_itm_desc
(
$sk
,
'sk'
);
if
(
!
empty
(
$
{
$sk_value
.
'_words'
}))
{
$
{
$sk_value
.
'_words'
}
.=
"+"
.
parse_itm_desc
(
$sk
,
'sk'
);
}
else
{
$
{
$sk_value
.
'_words'
}
=
parse_itm_desc
(
$sk
,
'sk'
);
}
}
}
}
else
{
...
...
@@ -233,7 +303,9 @@ function init_profile(){
}
function
init_battle
(
$ismeet
=
0
){
global
$wep
,
$wepk
;
global
$w_type
,
$w_name
,
$w_gd
,
$w_sNo
,
$w_icon
,
$w_lvl
,
$w_rage
,
$w_hp
,
$w_sp
,
$w_mhp
,
$w_msp
,
$w_wep
,
$w_wepk
,
$w_wepe
,
$w_sNoinfo
,
$w_iconImg
,
$w_hpstate
,
$w_spstate
,
$w_ragestate
,
$w_wepestate
,
$w_isdead
,
$hpinfo
,
$spinfo
,
$rageinfo
,
$wepeinfo
,
$fog
,
$typeinfo
,
$sexinfo
,
$infinfo
,
$w_exp
,
$w_upexp
,
$baseexp
,
$w_pose
,
$w_tactic
,
$w_inf
,
$w_infdata
;
global
$n_type
,
$n_name
,
$n_gd
,
$n_sNo
,
$n_icon
,
$n_hp
,
$n_mhp
,
$n_sp
,
$n_msp
,
$n_rage
,
$n_wep
,
$n_wepk
,
$n_wepe
,
$n_lvl
,
$n_pose
,
$n_tactic
,
$n_inf
;
$w_upexp
=
round
((
$w_lvl
*
$baseexp
)
+
((
$w_lvl
+
1
)
*
$baseexp
));
if
(
CURSCRIPT
==
'botservice'
)
...
...
@@ -249,7 +321,6 @@ function init_battle($ismeet = 0){
$w_ragestate
=
"<span class=
\"
red
\"
>
$rageinfo[3]
</span>"
;
$w_isdead
=
true
;
if
(
CURSCRIPT
==
'botservice'
)
echo
"w_dead=1
\n
"
;
}
else
{
if
(
$w_hp
<
$w_mhp
*
0.2
)
{
$w_hpstate
=
"<span class=
\"
red
\"
>
$hpinfo[2]
</span>"
;
...
...
@@ -276,6 +347,38 @@ function init_battle($ismeet = 0){
$w_ragestate
=
"
$rageinfo[0]
"
;
}
}
if
(
$n_hp
<=
0
)
{
global
$n_hpstate
,
$n_spstate
,
$n_ragestate
,
$n_isdead
;
$n_hpstate
=
"<span class=
\"
red
\"
>
$hpinfo[3]
</span>"
;
$n_spstate
=
"<span class=
\"
red
\"
>
$spinfo[3]
</span>"
;
$n_ragestate
=
"<span class=
\"
red
\"
>
$rageinfo[3]
</span>"
;
$n_isdead
=
true
;
}
elseif
(
isset
(
$n_hp
))
{
global
$n_hpstate
,
$n_spstate
,
$n_ragestate
;
if
(
$n_hp
<
$n_mhp
*
0.2
)
{
$n_hpstate
=
"<span class=
\"
red
\"
>
$hpinfo[2]
</span>"
;
}
elseif
(
$n_hp
<
$n_mhp
*
0.5
)
{
$n_hpstate
=
"<span class=
\"
yellow
\"
>
$hpinfo[1]
</span>"
;
}
else
{
$n_hpstate
=
"<span class=
\"
clan
\"
>
$hpinfo[0]
</span>"
;
}
if
(
$n_sp
<
$n_msp
*
0.2
)
{
$n_spstate
=
"
$spinfo[2]
"
;
}
elseif
(
$n_sp
<
$n_msp
*
0.5
)
{
$n_spstate
=
"
$spinfo[1]
"
;
}
else
{
$n_spstate
=
"
$spinfo[0]
"
;
}
if
(
$n_rage
>=
100
)
{
$n_ragestate
=
"<span class=
\"
red
\"
>
$rageinfo[2]
</span>"
;
}
elseif
(
$n_rage
>=
30
)
{
$n_ragestate
=
"<span class=
\"
yellow
\"
>
$rageinfo[1]
</span>"
;
}
else
{
$n_ragestate
=
"
$rageinfo[0]
"
;
}
}
if
(
$w_wepe
>=
400
)
{
$w_wepestate
=
"
$wepeinfo[3]
"
;
...
...
@@ -291,9 +394,23 @@ function init_battle($ismeet = 0){
if
(
CURSCRIPT
==
'botservice'
)
echo
"w_wepestate=0
\n
"
;
}
//在战斗界面中加载敌我双方武器tooltip
global
$wep_words
,
$wepk_words
,
$w_wep_words
,
$w_wepk_words
;
$wep_words
=
parse_itm_desc
(
$wep
,
'm'
);
$wepk_words
=
parse_itm_desc
(
$wepk
,
'k'
);
if
(
!
$fog
||
$ismeet
)
{
//非雾天显示敌人武器情报
$w_wep_words
=
parse_itm_desc
(
$w_wep
,
'm'
);
$w_wepk_words
=
parse_itm_desc
(
$w_wepk
,
'k'
);
//如果有的话 初始化第三方武器情报
if
(
isset
(
$n_type
))
{
global
$n_wep_words
,
$n_wepk_words
,
$n_iconImg
;
$n_iconImg
=
$n_type
?
'n_'
.
$n_icon
.
'.gif'
:
$n_gd
.
'_'
.
$n_icon
.
'.gif'
;
$n_wep_words
=
parse_itm_desc
(
$n_wep
,
'm'
);
$n_wepk_words
=
parse_itm_desc
(
$n_wepk
,
'k'
);
}
$w_sNoinfo
=
"
$typeinfo[$w_type]({$sexinfo[$w_gd]
}
{
$w_sNo
}
号)"
;
$w_i
=
$w_type
>
0
?
'n'
:
$w_gd
;
$w_i
=
$w_type
>
0
?
'n'
:
$w_gd
;
$w_iconImg
=
$w_i
.
'_'
.
$w_icon
.
'.gif'
;
if
(
$w_inf
)
{
$w_infdata
=
''
;
...
...
@@ -329,6 +446,9 @@ function init_battle($ismeet = 0){
$w_infdata
=
''
;
}
}
else
{
//雾天显示???
$w_wep_words
=
'???'
;
$w_wepk_words
=
'???'
;
$w_sNoinfo
=
'???'
;
$w_iconImg
=
'question.gif'
;
$w_name
=
'???'
;
...
...
@@ -384,8 +504,19 @@ function player_save($data){
global
$db
,
$tablepre
;
if
(
isset
(
$data
[
'pid'
])){
$pid
=
$data
[
'pid'
];
unset
(
$data
[
'pid'
]);
$db
->
array_update
(
"
{
$tablepre
}
players"
,
$data
,
"pid='
$pid
'"
);
$ndata
=
player_format_with_db_structure
(
$data
);
unset
(
$data
);
$db
->
array_update
(
"
{
$tablepre
}
players"
,
$ndata
,
"pid='
$pid
'"
);
}
return
;
}
function
player_load
(
$data
)
{
$ndata
=
player_format_with_db_structure
(
$data
);
foreach
(
$ndata
as
$key
=>
$value
)
{
global
$$key
;
$$key
=
$value
;
}
return
;
}
...
...
@@ -411,5 +542,4 @@ function w_save2(&$data){
}
?>
include/game/elementmix.func.php
View file @
704ed5b1
This diff is collapsed.
Click to expand it.
include/game/item.func.php
View file @
704ed5b1
...
...
@@ -1815,7 +1815,7 @@ function itemuse($itmn) {
$club
=
20
;
//获取初始元素与第一条配方
$dice
=
rand
(
0
,
5
);
global
$
{
'element'
.
$dice
};
global
$
{
'element'
.
$dice
}
,
$clbpara
;
$
{
'element'
.
$dice
}
+=
200
+
$dice
;
//初始化元素合成缓存文件
include_once
GAME_ROOT
.
'./include/game/elementmix.func.php'
;
...
...
@@ -1904,6 +1904,15 @@ function itemuse($itmn) {
$itm
=
$itmk
=
$itmsk
=
''
;
$itme
=
$itms
=
0
;
//-----------------------//
}
elseif
(
$itm
==
'电子蛐蛐测试装置'
)
{
//这是一个测试用道具 设置好$nid(先手者pid)和$eid(挨打者pid)后可以看这两个人打架 把其中一个设置成自己的pid就可以亲自下场 //自己下场现在有BUG
//$nid:先手攻击者的pid;$eid:挨打者的pid
//如果$nid打死了$eid的话,尸体会由你来摸,这不是BUG,是一个暂时缺少条件判断的特性。
global
$pid
;
$nid
=
$pid
;
$eid
=
2
;
include_once
GAME_ROOT
.
'./include/game/revcombat.func.php'
;
rev_combat_prepare
(
$nid
,
$eid
);
return
;
}
elseif
(
$itm
==
'提示纸条A'
)
{
$log
.=
'你读着纸条上的内容:<br>“执行官其实都是幻影,那个红暮的身上应该有召唤幻影的玩意。”<br>“用那个东西然后打倒幻影的话能用游戏解除钥匙出去吧。”<br>'
;
}
elseif
(
$itm
==
'提示纸条B'
)
{
...
...
@@ -2061,19 +2070,23 @@ function itemuse($itmn) {
include_once
config
(
'elementmix'
,
$gamecfg
);
$log
.=
$emix_slip
[
array_rand
(
$emix_slip
)];
//除商店纸条外:提供一条元素特征(TODO)、或一条固定配方、或一条随机属性组合
$log
.=
"<br><span class='yellow'>附:见面有缘,再送你一条提示吧:<br>“将带有"
;
global
$itemspkinfo
;
include_once
GAME_ROOT
.
'./include/game/elementmix.func.php'
;
if
(
!
preg_match
(
'/(A|B|C|D)/'
,
$itm
))
{
$log
.=
"“附:见面有缘,再送你一条提示吧:”<br>"
;
/*** TODO:把这一块封装进一个函数里 ***/
$log
.=
"<span class='yellow'>“将带有"
;
global
$itemspkinfo
;
include_once
GAME_ROOT
.
'./include/game/elementmix.func.php'
;
//野生纸条:给随机属性组合提示
$s_list
=
merge_random_emix_list
(
1
);
$s_id
=
array_rand
(
$s_list
);
foreach
(
$s_list
[
$s_id
][
'stuff'
]
as
$skey
)
$log
.=
"【
$itemspkinfo[$skey]
】"
;
$s_result
=
$itemspkinfo
[
$random_submix_list
[
$s_id
][
'result'
]];
$log
.=
"特征的元素组合起来,就有机会组合出【
{
$s_result
}
】属性。”</span><br>"
;
/*** TODO:把这一块封装进一个函数里 ***/
}
else
{
//商店纸条:给固定属性组合提示
$s_list
=
$submix_list
;
$s_id
=
array_rand
(
$s_list
);
$s_result
=
$itemspkinfo
[
$s_list
[
$s_id
][
'result'
]];
}
foreach
(
$s_list
[
$s_id
][
'stuff'
]
as
$skey
)
$log
.=
"【
$itemspkinfo[$skey]
】"
;
$log
.=
"特征的元素组合起来,就有机会组合出【
{
$s_result
}
】属性。”</span><br>"
;
//阅后即焚
$log
.=
"<br>……说这么多鬼记得住啊!<br>你思考了一下,决定把
{
$itm
}
吃进肚子里,以便慢慢消化其中的知识。<br>"
;
$itms
--
;
...
...
include/game/revcombat.func.php
0 → 100644
View file @
704ed5b1
This diff is collapsed.
Click to expand it.
include/global.func.php
View file @
704ed5b1
...
...
@@ -492,4 +492,91 @@ function putmicrotime($t_s,$t_e,$file,$info)
writeover
(
$file
.
'.txt'
,
"
$info
;执行时间:
$mtime
毫秒
\n
"
,
'ab'
);
}
//----------------------------------------
// 字符串处理
//----------------------------------------
function
mgzdecode
(
$data
)
{
return
gzinflate
(
substr
(
$data
,
10
,
-
8
));
}
//数组压缩转化为纯字母数字
function
gencode
(
$para
){
return
base64_encode
(
gzencode
(
json_encode
(
$para
)));
}
//gencode函数的逆运算
function
gdecode
(
$para
,
$assoc
=
false
){
$assoc
=
$assoc
?
true
:
false
;
if
(
!
$para
)
return
array
();
else
return
json_decode
(
mgzdecode
(
base64_decode
(
$para
)),
$assoc
);
}
//字符串中段省略,取头部+尾部1字符
function
middle_abbr
(
$str
,
$len1
,
$len2
=
1
,
$elli
=
'...'
)
{
$str
=
(
string
)
$str
;
$len1
=
(
int
)
$len1
;
$len2
=
(
int
)
$len2
;
return
mb_substr
(
$str
,
0
,
$len1
)
.
$elli
.
mb_substr
(
$str
,
-
$len2
,
$len2
);
}
//mb_strlen()兼容替代函数,直接照抄的网络
if
(
!
function_exists
(
'mb_strlen'
)
)
{
function
mb_strlen
(
$text
,
$encode
=
'UTF-8'
)
{
if
(
$encode
==
'UTF-8'
)
{
return
preg_match_all
(
'%(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)%xs'
,
$text
,
$out
);
}
else
{
return
strlen
(
$text
);
}
}
}
//mb_substr()兼容替代函数,直接照抄的网络
if
(
!
function_exists
(
'mb_substr'
))
{
function
mb_substr
(
$str
,
$start
,
$len
=
''
,
$encoding
=
'UTF-8'
){
$limit
=
strlen
(
$str
);
for
(
$s
=
0
;
$start
>
0
;
--
$start
)
{
// found the real start
if
(
$s
>=
$limit
)
break
;
if
(
$str
[
$s
]
<=
"
\x7F
"
)
++
$s
;
else
{
++
$s
;
// skip length
while
(
$str
[
$s
]
>=
"
\x80
"
&&
$str
[
$s
]
<=
"
\xBF
"
)
++
$s
;
}
}
if
(
$len
==
''
)
return
substr
(
$str
,
$s
);
else
for
(
$e
=
$s
;
$len
>
0
;
--
$len
)
{
//found the real end
if
(
$e
>=
$limit
)
break
;
if
(
$str
[
$e
]
<=
"
\x7F
"
)
++
$e
;
else
{
++
$e
;
//skip length
while
(
$str
[
$e
]
>=
"
\x80
"
&&
$str
[
$e
]
<=
"
\xBF
"
&&
$e
<
$limit
)
++
$e
;
}
}
return
substr
(
$str
,
$s
,
$e
-
$s
);
}
}
?>
include/state.func.php
View file @
704ed5b1
...
...
@@ -91,7 +91,8 @@ function death($death, $kname = '', $ktype = 0, $annex = '') {
$deathtime
=
$now
;
$result
=
$db
->
query
(
"SELECT nick FROM
{
$tablepre
}
players WHERE name = '
$kname
' AND type = '
$type
'"
);
$knick
=
$db
->
result
(
$result
,
0
);
addnews
(
$now
,
'death'
.
$state
,
$name
,
$type
,
$knick
.
' '
.
$kname
,
$annex
,
$lastword
);
$knname
=
isset
(
$knick
)
?
$knick
.
' '
.
$kname
:
$kname
;
addnews
(
$now
,
'death'
.
$state
,
$name
,
$type
,
$knname
,
$annex
,
$lastword
);
//$alivenum = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}players WHERE hp>0 AND type=0"), 0);
if
(
$type
==
0
&&
$club
==
99
&&
(
$death
==
"N"
||
$death
==
"P"
||
$death
==
"K"
||
$death
==
"G"
||
$death
==
"C"
||
$death
==
"D"
||
$death
==
"F"
||
$death
==
"J"
||
$death
==
"trap"
))
...
...
templates/default/battle.htm
View file @
704ed5b1
...
...
@@ -201,9 +201,9 @@
<td
class=
"b2"
height=
20px
><span>
{lang wep}{lang effect}
</span></td>
<td
class=
"b3"
><span>
$w_wepestate
</span></td>
<td
class=
"b2"
><span>
{lang wep}{lang kind1}
</span></td>
<td
class=
"b3"
><span>
<!--{if $w_wepk != ''}-->
$
iteminfo[$w_wepk]
<!--{else}-->
???
<!--{/if}-->
</span></td>
<td
class=
"b3"
><span>
<!--{if $w_wepk != ''}-->
$
w_wepk_words
<!--{else}-->
???
<!--{/if}-->
</span></td>
<td
class=
"b2"
><span>
{lang wep}
</span></td>
<td
class=
"b3"
><span>
$w_wep
</span></td>
<td
class=
"b3"
><span>
$w_wep
_words
</span></td>
</tr>
<tr>
<td
class=
"b2"
height=
20px
><span>
{lang tactic}
</span></td>
...
...
@@ -243,9 +243,9 @@
</tr>
<tr>
<td
class=
"b2"
height=
20px
><span>
{lang wep}
</span></td>
<td
class=
"b3"
><span>
$wep
</span></td>
<td
class=
"b3"
><span>
$wep
_words
</span></td>
<td
class=
"b2"
><span>
{lang wep}{lang kind1}
</span></td>
<td
class=
"b3"
><span>
$
iteminfo[$wepk]
</span></td>
<td
class=
"b3"
><span>
$
wepk_words
</span></td>
<td
class=
"b2"
><span>
{lang wep}{lang effect}
</span></td>
<td
class=
"b3"
><span>
$wepe
</span></td>
</tr>
...
...
templates/default/revbattle.htm
0 → 100644
View file @
704ed5b1
This diff is collapsed.
Click to expand it.
templates/default/revbattleresult.htm
0 → 100644
View file @
704ed5b1
<input
type=
"hidden"
name=
"mode"
value=
"revcombat"
>
<input
type=
"hidden"
name=
"command"
value=
"enter"
>
<input
type=
"button"
class=
"cmdbutton"
name=
"submit"
value=
"确定"
onclick=
"postCmd('gamecmd','command.php');this.disabled=true;"
>
\ No newline at end of file
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