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
7663b1b6
Commit
7663b1b6
authored
Mar 24, 2023
by
hisuinohoshi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add itemmix_tips
新增: - 在合成界面会显示可合成配方以及已有部分素材但无法合成的配方,点击配方中指定素材/结果可查看进一步合成;
parent
6b5954ed
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
716 additions
and
31 deletions
+716
-31
command.php
command.php
+13
-3
gamedata/cache/overlay_1.php
gamedata/cache/overlay_1.php
+9
-9
gamedata/cache/synitem_1.php
gamedata/cache/synitem_1.php
+10
-10
include/game/itemmix.func.php
include/game/itemmix.func.php
+382
-0
include/game/itemplace.func.php
include/game/itemplace.func.php
+187
-0
include/global.func.php
include/global.func.php
+39
-6
include/resources.func.php
include/resources.func.php
+24
-0
templates/default/game.htm
templates/default/game.htm
+10
-1
templates/default/itemmerge.htm
templates/default/itemmerge.htm
+2
-2
templates/default/itemmix_result.htm
templates/default/itemmix_result.htm
+14
-0
templates/default/itemmix_tips.htm
templates/default/itemmix_tips.htm
+26
-0
No files found.
command.php
View file @
7663b1b6
...
@@ -57,7 +57,6 @@ if(!empty($llist)){
...
@@ -57,7 +57,6 @@ if(!empty($llist)){
$llist
=
'('
.
substr
(
$llist
,
0
,
-
1
)
.
')'
;
$llist
=
'('
.
substr
(
$llist
,
0
,
-
1
)
.
')'
;
$db
->
query
(
"UPDATE
{
$tablepre
}
log SET prcsd=1 WHERE toid = '
$pid
' AND lid IN
$llist
"
);
$db
->
query
(
"UPDATE
{
$tablepre
}
log SET prcsd=1 WHERE toid = '
$pid
' AND lid IN
$llist
"
);
}
}
//var_dump($_POST);
//var_dump($_POST);
if
(
$hp
>
0
){
if
(
$hp
>
0
){
//显示枪声信息
//显示枪声信息
...
@@ -120,6 +119,13 @@ if($hp > 0){
...
@@ -120,6 +119,13 @@ if($hp > 0){
$mode
=
'command'
;
$mode
=
'command'
;
}
else
{
}
else
{
//进入指令判断
//进入指令判断
if
(
!
empty
(
$itemindex
))
{
$opendialog
=
'itemmix_tips'
;
$mode
=
'command'
;
$command
=
'itemmain'
;
$itemcmd
=
'itemmix'
;
}
if
(
strpos
(
$action
,
'chase'
)
===
false
&&
strpos
(
$action
,
'dfight'
)
===
false
&&
$mode
!==
'combat'
&&
$mode
!==
'revcombat'
&&
$mode
!==
'corpse'
&&
strpos
(
$action
,
'pacorpse'
)
===
false
&&
$mode
!==
'senditem'
){
if
(
strpos
(
$action
,
'chase'
)
===
false
&&
strpos
(
$action
,
'dfight'
)
===
false
&&
$mode
!==
'combat'
&&
$mode
!==
'revcombat'
&&
$mode
!==
'corpse'
&&
strpos
(
$action
,
'pacorpse'
)
===
false
&&
$mode
!==
'senditem'
){
$action
=
''
;
$action
=
''
;
}
}
...
@@ -158,6 +164,9 @@ if($hp > 0){
...
@@ -158,6 +164,9 @@ if($hp > 0){
$emax
=
get_emix_itme_max
();
$emax
=
get_emix_itme_max
();
foreach
(
$elements_info
as
$e_key
=>
$e_info
)
$
{
'etaginfo'
.
$e_key
}
=
"<span tooltip=
\"
"
.
print_elements_tags
(
$e_key
)
.
"
\"
>"
;
foreach
(
$elements_info
as
$e_key
=>
$e_info
)
$
{
'etaginfo'
.
$e_key
}
=
"<span tooltip=
\"
"
.
print_elements_tags
(
$e_key
)
.
"
\"
>"
;
}
}
elseif
(
$itemcmd
==
'itemmix'
){
$main
=
'itemmix_tips'
;
}
$mode
=
$itemcmd
;
$mode
=
$itemcmd
;
}
}
}
elseif
(
$command
==
'song'
)
{
}
elseif
(
$command
==
'song'
)
{
...
@@ -339,9 +348,10 @@ if($hp > 0){
...
@@ -339,9 +348,10 @@ if($hp > 0){
if
(
$mixmask
&
(
1
<<
(
$i
-
1
)))
if
(
$mixmask
&
(
1
<<
(
$i
-
1
)))
$mixlist
[]
=
$i
;
$mixlist
[]
=
$i
;
}
}
include_once
GAME_ROOT
.
'./include/game/itemmix.func.php'
;
if
(
isset
(
$itemselect
))
if
(
isset
(
$itemselect
))
itemmix
(
$mixlist
,
$itemselect
);
itemmix
_rev
(
$mixlist
,
$itemselect
);
else
itemmix
(
$mixlist
);
else
itemmix
_rev
(
$mixlist
);
}
}
}
elseif
(
$command
==
'elementmix'
)
{
}
elseif
(
$command
==
'elementmix'
)
{
if
(
$club
==
20
){
if
(
$club
==
20
){
...
...
gamedata/cache/overlay_1.php
View file @
7663b1b6
No91
.
雷闪龙
☆
4
,
WC
,
380
,
∞
,
Aar
,
4
,
5
,
No91
.
雷闪龙
☆
4
,
WC
,
380
,
∞
,
Aar
,
4
,
5
No39
.
希望皇
霍普
☆
4
,
WC
,
240
,
∞
,
A
,
4
,
2
,
No39
.
希望皇
霍普
☆
4
,
WC
,
240
,
∞
,
A
,
4
,
2
No9
.
天盖星
戴森球
☆
9
,
WC
,
233
,
∞
,
ea
,
9
,
2
,
No9
.
天盖星
戴森球
☆
9
,
WC
,
233
,
∞
,
ea
,
9
,
2
星圣
欧米伽星云
☆
4
,
WC
,
251
,
∞
,
Mi
,
4
,
2
,
星圣
欧米伽星云
☆
4
,
WC
,
251
,
∞
,
Mi
,
4
,
2
机甲忍者
刃心
☆
4
,
WC
,
160
,
∞
,
cr
,
4
,
2
,
机甲忍者
刃心
☆
4
,
WC
,
160
,
∞
,
cr
,
4
,
2
英豪冠军
草雉剑王
,
WK
,
150
,
200
,
nc
,
4
,
3
,
英豪冠军
草雉剑王
,
WK
,
150
,
200
,
nc
,
4
,
3
始祖守护者
提拉斯
☆
5
-
仮
,
WC
,
200
,
∞
,,
5
,
2
,
始祖守护者
提拉斯
☆
5
-
仮
,
WC
,
200
,
∞
,,
5
,
2
NO7
.
幸运条纹人
☆
7
,
WC
,
300
,
∞
,
rc
,
7
,
3
,
NO7
.
幸运条纹人
☆
7
,
WC
,
300
,
∞
,
rc
,
7
,
3
超次元机器人
银河破坏王
☆
10
,
WC
,
800
,
∞
,
rdcm
,
10
,
3
,
超次元机器人
银河破坏王
☆
10
,
WC
,
800
,
∞
,
rdcm
,
10
,
3
\ No newline at end of file
\ No newline at end of file
gamedata/cache/synitem_1.php
View file @
7663b1b6
星尘龙
★
8
,
WC08
,
170
,
100
,
wMc
,
8
,
-
1
,
-
1
,
星尘龙
★
8
,
WC08
,
170
,
100
,
wMc
,
8
,,
救世星龙
-
仮
,
WC
,
100
,
∞
,
cZ
,
9
,
救世龙
★
1
,
星尘龙
★
8
,
救世星龙
-
仮
,
WC
,
100
,
∞
,
cZ
,
9
,
救世龙
★
1
+
星尘龙
★
8
,
救世魔龙
-
仮
,
WC
,
100
,
∞
,
cd
,
9
,
救世龙
★
1
,
红莲魔龙
★
8
,
救世魔龙
-
仮
,
WC
,
100
,
∞
,
cd
,
9
,
救世龙
★
1
+
红莲魔龙
★
8
,
红莲魔龙
★
8
-
仮
,
WC
,
130
,
∞
,
cu
,
8
,
-
1
,
-
1
,
红莲魔龙
★
8
-
仮
,
WC
,
130
,
∞
,
cu
,
8
,,
正义盟军
光明守望者
★
8
-
仮
,
WC
,
101
,
∞
,
Z
,
8
,
-
1
,
-
1
,
正义盟军
光明守望者
★
8
-
仮
,
WC
,
101
,
∞
,
Z
,
8
,,
阿尔法大日
★
9
,
WC09
,
33
,
99
,
ebrj
,
9
,
-
1
,
-
1
,
阿尔法大日
★
9
,
WC09
,
33
,
99
,
ebrj
,
9
,,
超念力枪手
★
9
,
WC09
,
180
,
∞
,
NH
,
9
,
-
1
,
-
1
,
超念力枪手
★
9
,
WC09
,
180
,
∞
,
NH
,
9
,,
黑蔷薇龙
★
7
,
WC07
,
180
,
70
,
u
,
7
,
-
1
,
-
1
,
黑蔷薇龙
★
7
,
WC07
,
180
,
70
,
u
,
7
,,
机巧将军
无零
★
7
,
WC07
,
252
,
∞
,
Z
,
7
,
-
1
,
-
1
,
机巧将军
无零
★
7
,
WC07
,
252
,
∞
,
Z
,
7
,,
流星龙
★
10
-
仮
,
WC
,
120
,
∞
,
c
,
10
,
-
1
,
-
1
,
流星龙
★
10
-
仮
,
WC
,
120
,
∞
,
c
,
10
,,
\ No newline at end of file
\ No newline at end of file
include/game/itemmix.func.php
0 → 100644
View file @
7663b1b6
<?php
if
(
!
defined
(
'IN_GAME'
))
{
exit
(
'Access Denied'
);
}
include_once
GAME_ROOT
.
'./include/game/itemmain.func.php'
;
$mix_type
=
Array
(
'normal'
=>
'通常'
,
'sync'
=>
'同调'
,
'overlay'
=>
'超量'
);
// 合成功能
function
itemmix_rev
(
$mlist
,
$itemselect
=-
1
,
&
$data
=
NULL
)
{
global
$log
,
$mode
,
$cmd
;
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
# 合成队列合法性检查
if
(
!
itemmix_place_check
(
$mlist
,
$data
))
return
;
# 合成结果检查
$mix_res
=
itemmix_get_result
(
$mlist
,
$data
);
# 尝试进行合成操作时 合成操作计数+1
if
(
empty
(
$clbpara
[
'achvars'
][
'immix'
]))
$clbpara
[
'achvars'
][
'immix'
]
=
1
;
$mixitemname
=
array
();
foreach
(
$mlist
as
$val
)
$mixitemname
[]
=
$
{
'itm'
.
$val
};
$itmstr
=
implode
(
' '
,
$mixitemname
);
$mixmask
=
calc_mixmask
(
$mlist
);
//没有合成选项
if
(
!
$mix_res
)
{
$log
.=
"<span class=
\"
yellow
\"
>
{
$itmstr
}
</span>不能合成!<br>"
;
$mode
=
'itemmix'
;
}
elseif
(
count
(
$mix_res
)
>
1
)
{
//合成选项2个以上
if
(
$itemselect
>=
0
)
{
//有选择则合成
itemmix_proc
(
$mlist
,
$mix_res
[
$itemselect
],
$itmstr
,
$data
);
}
else
{
//否则显示合成选项
$cmd
.=
itemmix_option_show
(
$mix_res
,
$mixmask
);
}
}
else
{
//只有1个合成选项则直接合成
itemmix_proc
(
$mlist
,
$mix_res
[
0
],
$itmstr
,
$data
);
}
return
;
}
function
itemmix_get_result
(
$mlist
,
&
$data
=
NULL
)
{
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
$mixitem
=
array
();
foreach
(
$mlist
as
$val
){
$mixitem
[
$val
]
=
array
(
'itm'
=>
$
{
'itm'
.
$val
},
'itmk'
=>
$
{
'itmk'
.
$val
},
'itme'
=>
$
{
'itme'
.
$val
},
'itms'
=>
$
{
'itms'
.
$val
},
'itmsk'
=>
$
{
'itmsk'
.
$val
},
);
}
//常规合成
$mixresult
=
itemmix_recipe_check
(
$mixitem
);
//同调合成
$chc_res
=
itemmix_sync_check
(
$mlist
);
if
(
$chc_res
){
foreach
(
$chc_res
as
$cv
)
{
foreach
(
$cv
as
$v
){
$mixresult
[]
=
$v
;
}
}
}
//超量合成
$chc_res
=
itemmix_overlay_check
(
$mlist
);
if
(
$chc_res
){
foreach
(
$chc_res
as
$cv
)
{
foreach
(
$cv
as
$v
){
$mixresult
[]
=
$v
;
}
}
}
return
$mixresult
;
}
//用户界面暂存的合成素材列表
function
calc_mixmask
(
$mlist
)
{
$mask
=
0
;
foreach
(
$mlist
as
$k
)
if
(
$k
>=
1
&&
$k
<=
6
)
$mask
|=
(
1
<<
((
int
)
$k
-
1
));
return
$mask
;
}
function
itemmix_option_show
(
$mix_res
,
$mixmask
)
{
global
$mix_type
;
ob_start
();
include
template
(
'itemmix_result'
);
$res
=
ob_get_contents
();
ob_end_clean
();
return
$res
;
}
function
itemmix_place_check
(
$mlist
,
&
$data
=
NULL
)
{
global
$mode
,
$log
,
$main
;
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
if
(
$club
==
20
){
$log
.=
"<span class=
\"
yellow
\"
>无法使用合成功能!</span><br>"
;
$mode
=
'command'
;
$main
=
''
;
return
false
;
}
$main
=
'itemmix_tips'
;
$mlist2
=
array_unique
(
$mlist
);
if
(
count
(
$mlist
)
!=
count
(
$mlist2
))
{
$log
.=
'相同道具不能进行合成!<br>'
;
$mode
=
'itemmix'
;
return
false
;
}
if
(
count
(
$mlist
)
<
2
){
$log
.=
'至少需要2个道具才能进行合成!'
;
$mode
=
'itemmix'
;
return
false
;
}
foreach
(
$mlist
as
$val
){
if
(
!
$data
[
'itm'
.
$val
]){
$log
.=
'所选择的道具'
.
$val
.
'不存在!'
;
$mode
=
'itemmix'
;
return
false
;
}
}
return
true
;
}
//查看哪些合成公式符合要求
//$mi已改为道具数组
function
itemmix_recipe_check
(
$mixitem
)
{
$mixinfo
=
get_mixinfo
();
$res
=
array
();
if
(
count
(
$mixitem
)
>=
2
){
$mi_names
=
array
();
foreach
(
$mixitem
as
$i
)
$mi_names
[]
=
itemmix_name_proc
(
$i
[
'itm'
]);
sort
(
$mi_names
);
foreach
(
$mixinfo
as
$minfo
){
$ms
=
$minfo
[
'stuff'
];
sort
(
$ms
);
if
(
count
(
$mi_names
)
==
count
(
$ms
)
&&
$mi_names
==
$ms
)
{
$minfo
[
'type'
]
=
'normal'
;
$res
[]
=
$minfo
;
}
}
}
return
$res
;
}
//查看是否符合同调要求
function
itemmix_sync_check
(
$mlist
)
{
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
//判断是否存在调整,并计算总星数
$star
=
$star2
=
0
;
$tunner
=
$stuff
=
array
();
foreach
(
$mlist
as
$mval
){
$stuff
[]
=
$
{
'itm'
.
$mval
};
list
(
$mstar
,
$mtunner
)
=
itemmix_star_culc_sync
(
$mval
);
if
(
$mstar
==
0
){
$star
=
0
;
break
;
}
else
{
$star
+=
$mstar
;
}
if
(
$mtunner
){
$tunner
[]
=
$mval
;
}
/*if(in_array('^002',get_itmsk_array(${'itmsk'.$mval})))//生命肌瘤龙变星效果
{
$streamstar = $mstar;
}*/
}
$chc_res
=
array
();
if
(
$star
&&
count
(
$tunner
)
==
1
){
if
(
!
empty
(
$streamstar
)){
//生命肌瘤龙的变星实际上提供两个星数分支
$star2
=
$streamstar
+
count
(
$mlist
)
-
1
;
}
//然后判断是否存在对应的同调成果
$prp_res
=
get_syncmixinfo
();
foreach
(
$prp_res
as
$pra
){
$pstar
=
$pra
[
5
];
$preq
=
$pra
[
6
];
$preqflag
=
true
;
if
(
$preq
){
//检查是不是有特殊需求
$req
=
explode
(
'+'
,
$preq
);
$mname
=
array
();
foreach
(
$mlist
as
$mi
){
$mname
[]
=
itemmix_name_proc
(
$
{
'itm'
.
$mi
});
}
//如果素材没有满足则认为无法合成
foreach
(
$req
as
$rv
){
if
(
'st'
==
$rv
){
//调整要求是同调
$tunnersk
=
$
{
'itmsk'
.
$tunner
[
0
]};
if
(
!
in_array
(
's'
,
get_itmsk_array
(
$tunnersk
)))
$preqflag
=
false
;
}
elseif
(
strpos
(
$rv
,
'sm'
)
===
0
){
//调整以外要求是同调
$smnum
=
(
int
)
substr
(
$rv
,
2
);
foreach
(
$mlist
as
$mi
){
if
(
!
in_array
(
$mi
,
$tunner
)){
$misk
=
$
{
'itmsk'
.
$mi
};
if
(
!
in_array
(
's'
,
get_itmsk_array
(
$misk
)))
{
$preqflag
=
false
;
break
;
}
}
}
if
(
count
(
$mlist
)
<=
$smnum
)
$preqflag
=
false
;
//素材数目不足
}
else
{
//其他,认为是名字要求
if
(
!
in_array
(
$rv
,
$mname
))
$preqflag
=
false
;
}
}
}
if
((
$pstar
==
$star
||
$pstar
==
$star2
)
&&
$preqflag
){
if
(
$pstar
==
$star2
)
list
(
$star
,
$star2
)
=
array
(
$star2
,
$star
);
if
(
empty
(
$chc_res
[
$star
]))
$chc_res
[
$star
]
=
array
();
//用键名记录星数和素材数方便提示
$chc_res
[
$star
][]
=
array
(
'stuff'
=>
$stuff
,
'list'
=>
$mlist
,
'result'
=>
$pra
,
'type'
=>
'sync'
);
}
}
}
return
$chc_res
;
}
function
itemmix_star_culc_sync
(
$itmn
)
{
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
$star
=
0
;
$tunner
=
false
;
if
(
$
{
'itms'
.
$itmn
}){
$star
=
itemmix_get_star
(
$
{
'itmk'
.
$itmn
});
if
(
strpos
(
$
{
'itmsk'
.
$itmn
},
's'
)
!==
false
)
$tunner
=
true
;
}
return
array
(
$star
,
$tunner
);
}
function
itemmix_get_star
(
$z
){
$star
=
0
;
for
(
$i
=
0
;
$i
<
strlen
(
$z
);
$i
++
)
if
(
'0'
<=
$z
[
$i
]
&&
$z
[
$i
]
<=
'9'
)
$star
=
$star
*
10
+
(
int
)
$z
[
$i
];
return
$star
;
}
function
itemmix_overlay_check
(
$mlist
)
{
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
//先判断是否是同星素材2张以上
$star
=
$num
=
0
;
$stuff
=
array
();
foreach
(
$mlist
as
$mval
){
$stuff
[]
=
$
{
'itm'
.
$mval
};
$mstar
=
itemmix_star_culc_overlay
(
$mval
);
if
((
$star
&&
$mstar
!=
$star
)
||
$mstar
==
0
){
$star
=
0
;
break
;
}
else
{
$star
=
$mstar
;
$num
++
;
}
}
$chc_res
=
array
();
if
(
$star
&&
$num
>
1
){
//然后判断是否存在对应的超量成果
$prp_res
=
get_overlaymixinfo
();
foreach
(
$prp_res
as
$pra
){
$pstar
=
$pra
[
5
];
$pnum
=
$pra
[
6
];
if
(
$star
==
$pstar
&&
$num
==
$pnum
){
if
(
empty
(
$chc_res
[
$star
.
'-'
.
$num
]))
$chc_res
[
$star
.
'-'
.
$num
]
=
array
();
//用键名记录星数和素材数方便提示
$chc_res
[
$star
.
'-'
.
$num
][]
=
array
(
'stuff'
=>
$stuff
,
'list'
=>
$mlist
,
'result'
=>
$pra
,
'type'
=>
'overlay'
);
}
}
}
return
$chc_res
;
}
function
itemmix_star_culc_overlay
(
$itmn
)
{
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
$star
=
0
;
if
(
$
{
'itms'
.
$itmn
}){
$star
=
itemmix_get_star
(
$
{
'itmk'
.
$itmn
});
if
(
!
check_valid_overlay_material
(
$
{
'itm'
.
$itmn
},
$
{
'itmsk'
.
$itmn
},
$star
)){
$star
=
0
;
}
}
return
$star
;
}
//有效的超量素材:带有“超量素材”属性,或者是真卡(名称里有★数字,数字与星数一致,并且没有“-仮”字样)
function
check_valid_overlay_material
(
$itm
,
$itmsk
,
$star
)
{
if
(
strpos
(
$itmsk
,
'J'
)
!==
false
)
return
true
;
preg_match
(
'/★(\d+)/s'
,
$itm
,
$matches
);
//gwrite_var('a.txt',$matches);
if
(
!
empty
(
$matches
)
&&
$star
==
$matches
[
1
]
&&
strpos
(
$itm
,
'-仮'
)
===
false
)
return
true
;
return
false
;
}
function
itemmix_name_proc
(
$n
){
$n
=
trim
(
$n
);
$itmname_ignore
=
Array
(
'/锋利的/si'
,
'/电气/si'
,
'/毒性/si'
,
'/-改/si'
);
foreach
(
Array
(
$itmname_ignore
)
as
$value
){
$n
=
preg_replace
(
$value
,
''
,
$n
);
}
if
(
strpos
(
$n
,
'小黄的'
)
!==
false
)
$n
=
preg_replace
(
'/\[\+[0-9]+?\]/si'
,
''
,
$n
);
//小黄强化特判可以合成
$n
=
str_replace
(
'钉棍棒'
,
'棍棒'
,
$n
);
return
$n
;
}
//执行合成
function
itemmix_proc
(
$mlist
,
$minfo
,
$itmstr
,
&
$data
=
NULL
)
{
global
$log
,
$main
,
$now
,
$mix_type
;
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
foreach
(
$mlist
as
$val
){
itemreduce
(
'itm'
.
$val
);
}
$itm0
=
$minfo
[
'result'
][
0
];
$itmk0
=
$minfo
[
'result'
][
1
];
$itme0
=
$minfo
[
'result'
][
2
];
$itms0
=
$minfo
[
'result'
][
3
];
if
(
isset
(
$minfo
[
'result'
][
4
]))
$itmsk0
=
$minfo
[
'result'
][
4
];
else
{
$itmsk0
=
''
;
}
$uip
[
'mixcls'
]
=
!
empty
(
$minfo
[
'class'
])
?
$minfo
[
'class'
]
:
''
;
$uip
[
'mixtp'
]
=
$minfo
[
'type'
];
//合成成功
$main
=
''
;
//“通常”合成当动词实在是太奇怪了
$tpstr
=
(
empty
(
$uip
[
'mixtp'
])
||
$uip
[
'mixtp'
]
==
$mix_type
[
'normal'
])
?
''
:
$mix_type
[
$uip
[
'mixtp'
]];
$log
.=
"<span class=
\"
yellow
\"
>
$itmstr
</span>
{
$tpstr
}
合成了<span class=
\"
yellow
\"
>
{
$itm0
}
</span>。<br>"
;
addnews
(
$now
,
'itemmix'
,
$name
,
$itm0
,
$tpstr
);
$wd
+=
1
;
if
((
strpos
(
$itmk0
,
'H'
)
===
0
)
&&
(
$club
==
16
)
&&
(
$itms0
!==
$nosta
)){
$itms0
=
ceil
(
$itms0
*
2
);
}
elseif
((
$itmk0
==
'EE'
||
$itmk0
==
'ER'
)
&&
(
$club
==
7
)){
$itme0
*=
5
;
}
//检查成就
include_once
GAME_ROOT
.
'./include/game/achievement.func.php'
;
check_mixitem_achievement_rev
(
$name
,
$itm0
);
itemget
(
$data
);
}
?>
\ No newline at end of file
include/game/itemplace.func.php
View file @
7663b1b6
...
@@ -3,6 +3,193 @@ if (! defined ( 'IN_GAME' )) {
...
@@ -3,6 +3,193 @@ if (! defined ( 'IN_GAME' )) {
exit
(
'Access Denied'
);
exit
(
'Access Denied'
);
}
}
//以道具名反查mixinfo数据
//tp & 1 以原料反查,tp & 2 以产物反查
//返回mixinfo里的单个array
function
smartmix_find_recipe
(
$itm
,
$tp
=
0
)
{
include_once
GAME_ROOT
.
'./include/game/itemmix.func.php'
;
$mix_res
=
array
();
$itm
=
htmlspecialchars_decode
(
itemmix_name_proc
(
$itm
));
$mixinfo
=
get_mixinfo
();
foreach
(
$mixinfo
as
$ma
)
{
$ma
[
'type'
]
=
'normal'
;
//隐藏合成是无法查到的
if
((
$tp
&
1
&&
in_array
(
$itm
,
$ma
[
'stuff'
])
&&
$ma
[
'class'
]
!=
'hidden'
)
||
(
$tp
&
2
&&
$itm
==
$ma
[
'result'
][
0
])){
$mix_res
[]
=
$ma
;
}
}
return
$mix_res
;
}
//检查玩家包裹,返回可合成的道具列表
function
smartmix_check_available
(
$data
)
{
include_once
GAME_ROOT
.
'./include/game/itemmix.func.php'
;
extract
(
$data
);
//itms为零的道具不参与判断
$packn
=
array
();
for
(
$i
=
1
;
$i
<=
6
;
$i
++
){
if
(
!
empty
(
$
{
'itms'
.
$i
})){
$packn
[]
=
$i
;
//$packname[] = \itemmix\itemmix_name_proc(${'itm'.$i});
}
}
//生成道具序号的全组合
$fc
=
full_combination
(
$packn
,
2
);
//所有的组合全部判断一遍是否可以合成,最简单粗暴和兼容
$mix_available
=
$mix_overlay_available
=
$mix_sync_available
=
array
();
foreach
(
$fc
as
$fcval
){
$mix_res
=
itemmix_get_result
(
$fcval
,
$data
);
if
(
$mix_res
){
//$mix_res['type'] = 'normal';
$mix_available
[]
=
$mix_res
;
}
}
foreach
(
$fc
as
$fval
){
$mix_overlay_res
=
itemmix_overlay_check
(
$fval
);
if
(
$mix_overlay_res
){
foreach
(
$mix_overlay_res
as
$mkey
=>
$mval
){
//$mval['type'] = 'overlay';
if
(
!
isset
(
$mix_overlay_available
[
$mkey
])){
$mix_overlay_available
[
$mkey
]
=
array
(
$mval
);
}
else
{
$mix_overlay_available
[
$mkey
][]
=
$mval
;
}
}
}
$mix_sync_res
=
itemmix_sync_check
(
$fval
);
if
(
$mix_sync_res
){
foreach
(
$mix_sync_res
as
$mkey
=>
$mval
){
//$mval['type'] = 'sync';
if
(
!
isset
(
$mix_sync_available
[
$mkey
])){
$mix_sync_available
[
$mkey
]
=
array
(
$mval
);
}
else
{
$mix_sync_available
[
$mkey
][]
=
$mval
;
}
}
}
}
return
array
(
$mix_available
,
$mix_overlay_available
,
$mix_sync_available
);
}
function
init_itemmix_tips
(
$itemindex
=
''
,
&
$data
=
NULL
)
{
if
(
!
isset
(
$data
))
{
global
$pdata
;
$data
=
&
$pdata
;
}
extract
(
$data
,
EXTR_REFS
);
$mix_type
=
Array
(
'normal'
=>
'通常'
,
'sync'
=>
'同调'
,
'overlay'
=>
'超量'
);
$mhint
=
''
;
$smhint
=
''
;
if
(
!
empty
(
$itemindex
))
{
$mix_res
=
smartmix_find_recipe
(
$itemindex
,
1
+
2
);
if
(
$mix_res
){
$smhint
.=
'<span class="blueseed b">'
.
$itemindex
.
'</span>涉及的合成公式:<br><ul>'
;
foreach
(
$mix_res
as
$mval
){
if
(
!
isset
(
$mval
[
'type'
])
||
$mval
[
'type'
]
==
'normal'
){
foreach
(
$mval
[
'stuff'
]
as
$key
=>
$ms
){
if
(
$key
==
0
)
$smhint
.=
'<li>'
;
if
(
$ms
==
$itemindex
)
$smhint
.=
parse_smartmix_recipelink
(
$ms
)
.
' + '
;
else
$smhint
.=
parse_smartmix_recipelink
(
$ms
,
''
,
'grey'
)
.
' + '
;
}
$smhint
=
substr
(
$smhint
,
0
,
-
3
);
}
$mr
=
$mval
[
'result'
][
0
];
$smhint
.=
' → '
.
parse_smartmix_recipelink
(
$mr
,
parse_itemmix_resultshow
(
$mval
[
'result'
]),
'grey'
)
.
'</li>'
;
}
$smhint
.=
"</ul>"
;
}
else
{
$smhint
.=
'没有找到<span class="blueseed b">'
.
$itemindex
.
'</span>的相关合成公式<span class="grey">(不会显示隐藏公式)</span>'
;
}
return
$smhint
;
}
list
(
$mix_available
,
$mix_overlay_available
,
$mix_sync_available
)
=
smartmix_check_available
(
$data
);
if
(
empty
(
$mix_available
)
&&
empty
(
$mix_overlay_available
)
&&
empty
(
$mix_sync_available
)){
$mhint
.=
''
;
}
else
{
$mhint
.=
'<span class="blueseed b">可合成</span>:<br>'
;
$shown_list
=
array
();
foreach
(
$mix_available
as
$mlist
){
//第一层:不同配方
$mstuff
=
$mresult
=
''
;
$o_type
=
''
;
foreach
(
$mlist
as
$mval
){
//第二层:不同结果
if
(
!
empty
(
$o_type
)
&&
$o_type
!=
$mval
[
'type'
])
{
//换类型时把上一合成类别显示,并且清空显示的配方和结果列表
$mtstr
=
''
;
if
(
isset
(
$mix_type
[
$o_type
]))
$mtstr
=
$mix_type
[
$o_type
];
$show_str
=
'<span>'
.
$mstuff
.
'</span>可'
.
$mtstr
.
'合成:<ul>'
.
$mresult
.
'</ul><br>'
;
if
(
!
in_array
(
$show_str
,
$shown_list
)){
$shown_list
[]
=
$show_str
;
$mhint
.=
$show_str
;
}
$mstuff
=
$mresult
=
''
;
}
$o_type
=
$mval
[
'type'
];
if
(
!
$mstuff
)
{
//配方只显示1次
sort
(
$mval
[
'stuff'
]);
foreach
(
$mval
[
'stuff'
]
as
$ms
){
$mstuff
.=
parse_smartmix_recipelink
(
$ms
)
.
' + '
;
}
$mstuff
=
substr
(
$mstuff
,
0
,
-
3
);
}
$mresult
.=
'<li>'
.
parse_smartmix_recipelink
(
$mval
[
'result'
][
0
],
parse_itemmix_resultshow
(
$mval
[
'result'
]),
'yellow'
)
.
'</li>'
;
}
$mtstr
=
''
;
if
(
isset
(
$mix_type
[
$o_type
]))
$mtstr
=
$mix_type
[
$o_type
];
$show_str
=
'<span class="b">'
.
$mstuff
.
'</span>可'
.
$mtstr
.
'合成:<ul>'
.
$mresult
.
'</ul>'
;
if
(
!
in_array
(
$show_str
,
$shown_list
)){
$shown_list
[]
=
$show_str
;
$mhint
.=
$show_str
;
}
}
}
for
(
$i
=
0
;
$i
<=
6
;
$i
++
)
{
$itemindex
=
$
{
'itm'
.
$i
};
$mix_res
=
smartmix_find_recipe
(
$itemindex
,
1
+
2
);
if
(
$mix_res
){
$smhint
.=
'<span class="blueseed b">'
.
$itemindex
.
'</span>涉及的合成公式:<br><ul>'
;
foreach
(
$mix_res
as
$mval
){
if
(
!
isset
(
$mval
[
'type'
])
||
$mval
[
'type'
]
==
'normal'
){
foreach
(
$mval
[
'stuff'
]
as
$key
=>
$ms
){
if
(
$key
==
0
)
$smhint
.=
'<li>'
;
if
(
$ms
==
$
{
'itm'
.
$i
})
$smhint
.=
parse_smartmix_recipelink
(
$ms
)
.
' + '
;
else
$smhint
.=
parse_smartmix_recipelink
(
$ms
,
''
,
'grey'
)
.
' + '
;
}
$smhint
=
substr
(
$smhint
,
0
,
-
3
);
}
$mr
=
$mval
[
'result'
][
0
];
$smhint
.=
' → '
.
parse_smartmix_recipelink
(
$mr
,
parse_itemmix_resultshow
(
$mval
[
'result'
]),
'grey'
)
.
'</li>'
;
}
$smhint
.=
"</ul>"
;
}
}
if
(
!
empty
(
$smhint
))
{
//$smhint = "<span class=\"b\">素材不足:</span><br>".$smhint;
$mhint
.=
$smhint
;
}
$mhint
.=
'<br>'
;
return
$mhint
;
}
function
parse_smartmix_recipelink
(
$itemindex
,
$stext
=
''
,
$sstyle
=
''
){
return
"<a "
.
(
$sstyle
?
"class=
\"
{
$sstyle
}
\"
"
:
''
)
.
"onclick=
\"
$('itemindex').value='
$itemindex
';postCmd('maincmd','command.php');
\"
>"
.
(
$stext
?
$stext
:
$itemindex
)
.
'</a>'
;
}
function
parse_itemmix_resultshow
(
$rarr
){
$ret
=
$rarr
[
0
]
.
'/'
.
parse_info_desc
(
$rarr
[
1
],
'k'
,
''
,
0
,
'tooltip2'
)
.
'/'
.
$rarr
[
2
]
.
'/'
.
$rarr
[
3
];
$itmskw
=
!
empty
(
$rarr
[
4
])
?
parse_info_desc
(
$rarr
[
4
],
'sk'
,
$rarr
[
1
],
0
,
'tooltip2'
)
:
''
;
if
(
$itmskw
)
$ret
.=
'/'
.
$itmskw
;
return
$ret
;
}
function
get_npc_helpinfo
(
$nlist
,
$tooltip
=
1
)
function
get_npc_helpinfo
(
$nlist
,
$tooltip
=
1
)
{
{
global
$plsinfo
,
$hplsinfo
,
$gamecfg
,
$iteminfo
,
$clubinfo
;
global
$plsinfo
,
$hplsinfo
,
$gamecfg
,
$iteminfo
,
$clubinfo
;
...
...
include/global.func.php
View file @
7663b1b6
...
@@ -567,11 +567,12 @@ function player_format_with_db_structure($data){
...
@@ -567,11 +567,12 @@ function player_format_with_db_structure($data){
}
}
return
$ndata
;
return
$ndata
;
}
}
function
parse_info_desc
(
$info
,
$type
,
$vars
=
''
,
$short
=
0
)
function
parse_info_desc
(
$info
,
$type
,
$vars
=
''
,
$short
=
0
,
$tiptype
=
0
)
{
{
global
$iteminfo
,
$itemspkinfo
,
$cskills
;
global
$iteminfo
,
$itemspkinfo
,
$cskills
;
global
$tps_name
,
$tps_names
,
$tps_ik
,
$tps_isk
;
global
$tps_name
,
$tps_names
,
$tps_ik
,
$tps_isk
;
$ttypes
=
$tiptype
?
$tiptype
:
'tooltip'
;
# 处理名字
# 处理名字
if
(
$type
==
'm'
)
if
(
$type
==
'm'
)
{
{
...
@@ -580,13 +581,13 @@ function parse_info_desc($info,$type,$vars='',$short=0)
...
@@ -580,13 +581,13 @@ function parse_info_desc($info,$type,$vars='',$short=0)
{
{
$ts
=
$tps_names
[
$tps_name
[
$tinfo
]];
$ts
=
$tps_names
[
$tps_name
[
$tinfo
]];
$tinfo_f
=
isset
(
$ts
[
'class'
])
?
"class=
\"
{
$ts
[
'class'
]
}
\"
"
:
''
;
$tinfo_f
=
isset
(
$ts
[
'class'
])
?
"class=
\"
{
$ts
[
'class'
]
}
\"
"
:
''
;
$tinfo_tp
=
isset
(
$ts
[
'title'
])
?
"
tooltip
=
\"
{
$ts
[
'title'
]
}
\"
"
:
''
;
$tinfo_tp
=
isset
(
$ts
[
'title'
])
?
"
{
$ttypes
}
=
\"
{
$ts
[
'title'
]
}
\"
"
:
''
;
return
"<span
{
$tinfo_tp
}
{
$tinfo_f
}
>
{
$info
}
</span>"
;
return
"<span
{
$tinfo_tp
}
{
$tinfo_f
}
>
{
$info
}
</span>"
;
}
}
elseif
(
isset
(
$tps_name
[
$tinfo
]))
elseif
(
isset
(
$tps_name
[
$tinfo
]))
{
{
$tinfo_f
=
isset
(
$tps_name
[
$tinfo
][
'class'
])
?
"class=
\"
{
$tps_name
[
$tinfo
][
'class'
]
}
\"
"
:
''
;
$tinfo_f
=
isset
(
$tps_name
[
$tinfo
][
'class'
])
?
"class=
\"
{
$tps_name
[
$tinfo
][
'class'
]
}
\"
"
:
''
;
$tinfo_tp
=
isset
(
$tps_name
[
$tinfo
][
'title'
])
?
"
tooltip
=
\"
{
$tps_name
[
$tinfo
][
'title'
]
}
\"
"
:
''
;
$tinfo_tp
=
isset
(
$tps_name
[
$tinfo
][
'title'
])
?
"
{
$ttypes
}
=
\"
{
$tps_name
[
$tinfo
][
'title'
]
}
\"
"
:
''
;
return
"<span
{
$tinfo_tp
}
{
$tinfo_f
}
>
{
$info
}
</span>"
;
return
"<span
{
$tinfo_tp
}
{
$tinfo_f
}
>
{
$info
}
</span>"
;
}
}
return
$info
;
return
$info
;
...
@@ -605,7 +606,7 @@ function parse_info_desc($info,$type,$vars='',$short=0)
...
@@ -605,7 +606,7 @@ function parse_info_desc($info,$type,$vars='',$short=0)
# 类别不存在样式或提示时,用大类尝试一下
# 类别不存在样式或提示时,用大类尝试一下
if
(
!
isset
(
$tps_ik
[
$info
]))
$info
=
$v_info
;
if
(
!
isset
(
$tps_ik
[
$info
]))
$info
=
$v_info
;
$info_f
=
isset
(
$tps_ik
[
$info
][
'class'
])
?
"class=
\"
{
$tps_ik
[
$info
][
'class'
]
}
\"
"
:
''
;
$info_f
=
isset
(
$tps_ik
[
$info
][
'class'
])
?
"class=
\"
{
$tps_ik
[
$info
][
'class'
]
}
\"
"
:
''
;
$info_tp
=
isset
(
$tps_ik
[
$info
][
'title'
])
?
"
tooltip
=
\"
{
$tps_ik
[
$info
][
'title'
]
}
\"
"
:
''
;
$info_tp
=
isset
(
$tps_ik
[
$info
][
'title'
])
?
"
{
$ttypes
}
=
\"
{
$tps_ik
[
$info
][
'title'
]
}
\"
"
:
''
;
if
(
!
isset
(
$iteminfo
[
$info
]))
$info
=
$v_info
;
if
(
!
isset
(
$iteminfo
[
$info
]))
$info
=
$v_info
;
return
"<span
{
$info_tp
}
{
$info_f
}
>
{
$iteminfo
[
$info
]
}
</span>"
;
return
"<span
{
$info_tp
}
{
$info_f
}
>
{
$iteminfo
[
$info
]
}
</span>"
;
}
}
...
@@ -621,7 +622,7 @@ function parse_info_desc($info,$type,$vars='',$short=0)
...
@@ -621,7 +622,7 @@ function parse_info_desc($info,$type,$vars='',$short=0)
if
(
!
empty
(
$info
)
&&
isset
(
$cskills
[
$info
]))
if
(
!
empty
(
$info
)
&&
isset
(
$cskills
[
$info
]))
{
{
$sk
=
$cskills
[
$info
];
$sknm
=
$cskills
[
$info
][
'name'
];
$sk
=
$cskills
[
$info
];
$sknm
=
$cskills
[
$info
][
'name'
];
return
"<span
tooltip
=
\"
阅读后可习得技能「
{
$sknm
}
」
\"
>知识</span>"
;
return
"<span
{
$ttypes
}
=
\"
阅读后可习得技能「
{
$sknm
}
」
\"
>知识</span>"
;
}
}
return
"--"
;
return
"--"
;
}
}
...
@@ -670,7 +671,7 @@ function parse_info_desc($info,$type,$vars='',$short=0)
...
@@ -670,7 +671,7 @@ function parse_info_desc($info,$type,$vars='',$short=0)
if
(
$sk_max
>
$short_nums
&&
$short
)
$ret
=
$itemspkinfo
[
$info
[
0
]]
.
"+...+"
.
$itemspkinfo
[
end
(
$info
)];
if
(
$sk_max
>
$short_nums
&&
$short
)
$ret
=
$itemspkinfo
[
$info
[
0
]]
.
"+...+"
.
$itemspkinfo
[
end
(
$info
)];
if
(
!
empty
(
$sk_tp
))
if
(
!
empty
(
$sk_tp
))
{
{
$ret
=
"<span
tooltip
=
\"
{
$sk_tp
}
\"
>
{
$ret
}
</span>"
;
$ret
=
"<span
{
$ttypes
}
=
\"
{
$sk_tp
}
\"
>
{
$ret
}
</span>"
;
}
}
}
}
return
$ret
;
return
$ret
;
...
@@ -765,6 +766,38 @@ function generate_ndnumbers($min, $max, $count = 10)
...
@@ -765,6 +766,38 @@ function generate_ndnumbers($min, $max, $count = 10)
return
$numbers
;
return
$numbers
;
}
}
function
full_combination
(
$a
,
$min
)
{
$r
=
array
();
$n
=
count
(
$a
);
if
(
$n
>=
$min
){
for
(
$i
=
$min
;
$i
<=
$n
;
$i
++
){
$r
=
array_merge
(
$r
,
combination
(
$a
,
$i
));
}
}
return
$r
;
}
function
combination
(
$a
,
$m
)
{
$r
=
array
();
$n
=
count
(
$a
);
if
(
$m
<=
0
||
$m
>
$n
)
{
return
$r
;
}
for
(
$i
=
0
;
$i
<
$n
;
$i
++
)
{
$t
=
array
(
$a
[
$i
]);
if
(
$m
==
1
)
{
$r
[]
=
$t
;
}
else
{
$b
=
array_slice
(
$a
,
$i
+
1
);
$c
=
combination
(
$b
,
$m
-
1
);
foreach
(
$c
as
$v
)
{
$r
[]
=
array_merge
(
$t
,
$v
);
}
}
}
return
$r
;
}
function
mgzdecode
(
$data
)
function
mgzdecode
(
$data
)
{
{
return
gzinflate
(
substr
(
$data
,
10
,
-
8
));
return
gzinflate
(
substr
(
$data
,
10
,
-
8
));
...
...
include/resources.func.php
View file @
7663b1b6
...
@@ -31,6 +31,30 @@ function get_mixinfo()
...
@@ -31,6 +31,30 @@ function get_mixinfo()
if
(
!
empty
(
$vn_mixinfo
))
$mixinfo
=
array_merge
(
$mixinfo
,
$vn_mixinfo
);
if
(
!
empty
(
$vn_mixinfo
))
$mixinfo
=
array_merge
(
$mixinfo
,
$vn_mixinfo
);
return
$mixinfo
;
return
$mixinfo
;
}
}
function
get_syncmixinfo
()
{
global
$gamecfg
;
$file
=
config
(
"synitem"
,
$gamecfg
);
$slist
=
openfile
(
$file
);
$n
=
count
(
$slist
);
$prp_res
=
array
();
for
(
$i
=
0
;
$i
<
$n
;
$i
++
){
$prp_res
[]
=
explode
(
','
,
$slist
[
$i
]);
}
return
$prp_res
;
}
function
get_overlaymixinfo
()
{
global
$gamecfg
;
$file
=
config
(
"overlay"
,
$gamecfg
);
$olist
=
openfile
(
$file
);
$n
=
count
(
$olist
);
$prp_res
=
array
();
for
(
$i
=
0
;
$i
<
$n
;
$i
++
){
$prp_res
[]
=
explode
(
','
,
$olist
[
$i
]);
}
return
$prp_res
;
}
# achievement_1.php
# achievement_1.php
function
get_achtype
()
function
get_achtype
()
...
...
templates/default/game.htm
View file @
7663b1b6
...
@@ -4,7 +4,14 @@
...
@@ -4,7 +4,14 @@
<!--{eval $bgm = init_bgm(1)}-->
<!--{eval $bgm = init_bgm(1)}-->
$bgm
$bgm
</div>
</div>
<!--{loop $plsinfo $places $info}-->
<!--{if (CURSCRIPT == 'game' && $pls==$places)}-->
<!--{eval $bgurl = "img/location/".$places.".jpg"}-->
<style>
body
{
background-image
:
url("$bgurl")
;
background-position
:
center
;}
</style>
<!--{/if}-->
<!--{/loop}-->
<table
border=
"0"
cellspacing=
"10"
cellpadding=
"0"
align=
"center"
>
<table
border=
"0"
cellspacing=
"10"
cellpadding=
"0"
align=
"center"
>
<tr
valign=
top
>
<tr
valign=
top
>
<td>
<td>
...
@@ -13,6 +20,8 @@
...
@@ -13,6 +20,8 @@
{template battle}
{template battle}
<!--{elseif $main=='battle_rev'}-->
<!--{elseif $main=='battle_rev'}-->
{template battle_rev}
{template battle_rev}
<!--{elseif $main=='itemmix_tips'}-->
{template itemmix_tips}
<!--{else}-->
<!--{else}-->
{template profile}
{template profile}
<!--{/if}-->
<!--{/if}-->
...
...
templates/default/itemmerge.htm
View file @
7663b1b6
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
<div
style=
"padding: 5px;"
>
<div
style=
"padding: 5px;"
>
<span
class=
"grey"
>
先选择要移位的道具,再选择要移动到的位置。
</span><br>
<span
class=
"grey"
>
先选择要移位的道具,再选择要移动到的位置。
</span><br>
将:
将:
<select
name=
"from"
>
<select
name=
"from"
onclick=
sl('itemmove');
href=
"javascript:void(0);"
>
<option
value=
"0"
>
■ 道 具 ■
<option
value=
"0"
>
■ 道 具 ■
<!--{if $itms1}-->
<option
value=
"1"
>
$itm1/$itme1/$itms1
<!--{/if}-->
<!--{if $itms1}-->
<option
value=
"1"
>
$itm1/$itme1/$itms1
<!--{/if}-->
<!--{if $itms2}-->
<option
value=
"2"
>
$itm2/$itme2/$itms2
<!--{/if}-->
<!--{if $itms2}-->
<option
value=
"2"
>
$itm2/$itme2/$itms2
<!--{/if}-->
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
</select>
</select>
<br>
<br>
移动至/与之交换:
移动至/与之交换:
<select
name=
"to"
>
<select
name=
"to"
onclick=
sl('itemmove');
href=
"javascript:void(0);"
>
<option
value=
"0"
>
■ 位 置 ■
<option
value=
"0"
>
■ 位 置 ■
<!--{if $itms1}-->
<option
value=
"1"
>
包裹1:$itm1/$itme1/$itms1
<!--{else}-->
<option
value=
"1"
>
包裹1
<!--{/if}-->
<!--{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 $itms2}-->
<option
value=
"2"
>
包裹2:$itm2/$itme2/$itms2
<!--{else}-->
<option
value=
"2"
>
包裹2
<!--{/if}-->
...
...
templates/default/itemmix_result.htm
0 → 100644
View file @
7663b1b6
<input
type=
"hidden"
id=
"mode"
name=
"mode"
value=
"itemmain"
>
<input
type=
"hidden"
id=
"command"
name=
"command"
value=
"itemmix"
>
<input
type=
"hidden"
id=
"mixmask"
name=
"mixmask"
value=
"{$mixmask}"
>
<input
type=
"hidden"
id=
"itemselect"
name=
"itemselect"
value=
"999"
>
<!--{eval $mt0='';}-->
<!--{loop $mix_res $mi $mv}-->
<!--{if $mv['type']!=$mt0}-->
<!--{eval $mtype = $mix_type[$mv['type']];}-->
可{$mtype}合成:
<br>
<!--{eval $mt0=$mv['type'];}-->
<!--{/if}-->
<!--{eval $mname=$mv['result'][0];}-->
<input
type=
"button"
class=
"cmdbutton"
style=
"width:200"
value=
"{$mname}"
onclick=
"$('itemselect').value='$mi';postCmd('gamecmd','command.php');this.disabled=true;"
><br>
<!--{/loop}-->
\ No newline at end of file
templates/default/itemmix_tips.htm
0 → 100644
View file @
7663b1b6
<div
style=
"width:720px"
>
<div
class=
"b1"
style=
"height:20px"
><span>
合成笔记
</span></div>
<div
class=
"b3"
style=
"min-height:380px;display: flex;position:relative;justify-content: center;"
>
<div
style=
"min-width: 500px;max-width:700px;max-height:400px;text-align:left;word-break:break-all;overflow:auto;"
>
<!--{eval include_once GAME_ROOT.'./include/game/itemplace.func.php';$mixhint = init_itemmix_tips();}-->
<form
method=
"post"
id=
"maincmd"
name=
"maincmd"
>
<input
type=
"hidden"
name=
"itemindex"
id=
"itemindex"
value=
""
>
{$mixhint}
</form>
</div>
</div>
</div>
<!--{if !empty($itemindex)}-->
<!--{eval include_once GAME_ROOT.'./include/game/itemplace.func.php';$mixhint2 = init_itemmix_tips($itemindex);}-->
<dialog
id=
"itemmix_tips"
style=
"min-width: fit-content; min-height: fit-content;max-width: 400px;max-height: 600px;"
>
<div
id=
"tipsinfo"
>
<div
class=
"b3"
style=
"mdisplay: flex;position:relative;justify-content: center;"
>
<div
style=
"text-align:left;word-break:break-all;overflow:auto;"
>
{$mixhint2}
</div>
</div>
</div>
<img
class=
"dialog-background"
src=
"img/profile.gif"
onclick=
"closeDialog($('itemmix_tips'));this.disabled=true;"
>
</dialog>
<!--{/if}-->
\ 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