Commit d5bdd4f2 authored by hisuinohoshi's avatar hisuinohoshi

Update & Fix

update:{elementmix.func.php,elementmix_1.php,game.func.php,item.func.php}
fix:{chat.php,state.func.php}
更改了缓存文件的生成方式以节约性能(希望能!);
显示在装备、道具栏界面中的道具属性超过3个时,会被省略为“+...+”的格式,将鼠标悬浮其上可以看到详细属性(不然太丑了!);
为元素大师增加了安雅、移动PC的获取方式,并增加了一点配方;
修复:
现在元素合成不会再让攻击属性生成在防具/道具上;
修复了分解道具后不能立刻治疗异常状态的问题;
修复了没加入游戏却能在游戏里发言的作祟事件。
parent 38923e68
...@@ -10,6 +10,8 @@ if(!$cuser || !defined('IN_GAME')) { ...@@ -10,6 +10,8 @@ if(!$cuser || !defined('IN_GAME')) {
} }
if(($sendmode == 'send')&&$chatmsg) { 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) { if(strpos($chatmsg,'/') === 0) {
$result = $db->query("SELECT groupid FROM {$tablepre}users WHERE username='$cuser'"); $result = $db->query("SELECT groupid FROM {$tablepre}users WHERE username='$cuser'");
$groupid = $db->result($result); $groupid = $db->result($result);
......
...@@ -48,6 +48,8 @@ ...@@ -48,6 +48,8 @@
'十字发卡' => 'r_4-1', '十字发卡' => 'r_4-1',
//分解琉璃血 获得随机配方_5 的第 1 条素材 //分解琉璃血 获得随机配方_5 的第 1 条素材
'琉璃血' => 'r_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=>77,1=>77,2=>77,3=>77,4=>77,5=>77), //全元素+77
'白色方块' => Array(0=>110), //昼闪闪+100 '白色方块' => Array(0=>110), //昼闪闪+100
...@@ -57,6 +59,8 @@ ...@@ -57,6 +59,8 @@
'树叶' => Array(3=>88), //郁萌萌+88 '树叶' => Array(3=>88), //郁萌萌+88
'毒药' => Array(5=>21), //夜静静+21 '毒药' => Array(5=>21), //夜静静+21
'电池' => Array(0=>15,4=>17), //亮晶晶+15、昼闪闪+17 '电池' => Array(0=>15,4=>17), //亮晶晶+15、昼闪闪+17
'手机' => Array(0=>20,),
'笔记本电脑' => Array(4=>20,),
'バカ⑨制冰块' => Array(2=>19,5=>21), //冷冰冰+19、夜静静+21 'バカ⑨制冰块' => Array(2=>19,5=>21), //冷冰冰+19、夜静静+21
); );
//拆解【特定道具】(关键词匹配,顺序越靠前优先级越高) 固定会获得的元素、数量 //拆解【特定道具】(关键词匹配,顺序越靠前优先级越高) 固定会获得的元素、数量
...@@ -196,6 +200,8 @@ ...@@ -196,6 +200,8 @@
( (
//子弹杯里伏特加加冰 兑小可可乐 //子弹杯里伏特加加冰 兑小可可乐
Array('stuff'=>Array(1=>58,5=>18),'result'=>Array('大卫·马丁内斯','HB',58,18,'p'),), 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份 //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'),), Array('stuff'=>Array(0=>1,1=>1,2=>1,3=>1,4=>1,5=>1,),'result'=>Array('Untainted Glory','A',1,1,'Z'),),
//仪水镜:投入全种类元素各7份 //仪水镜:投入全种类元素各7份
...@@ -235,6 +241,8 @@ ...@@ -235,6 +241,8 @@
Array('stuff'=>Array('HH','HS'),'result'=>'HB','obbs'=>77,), //回命+回体=命体回复 Array('stuff'=>Array('HH','HS'),'result'=>'HB','obbs'=>77,), //回命+回体=命体回复
Array('stuff'=>Array('HH','WF'),'result'=>'HM','obbs'=>77,), //回命+灵=歌魂增加 Array('stuff'=>Array('HH','WF'),'result'=>'HM','obbs'=>77,), //回命+灵=歌魂增加
Array('stuff'=>Array('HS','WD'),'result'=>'HT','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%概率) Array('stuff'=>Array('WG','WG'),'result'=>'WJ','obbs'=>30,), //射+射=重枪(30%概率)
//我认为这里应该有一个配方 可以合出有毒补给或者地雷( //我认为这里应该有一个配方 可以合出有毒补给或者地雷(
); );
...@@ -242,21 +250,21 @@ ...@@ -242,21 +250,21 @@
$submix_list = array $submix_list = array
( (
Array('stuff'=>Array('x','z'),'result'=>'Z','obbs'=>13), //奇迹+天然=菁英 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('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('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('w','i'),'result'=>'d','obbs'=>Array('default'=>30,'WD'=>98,'WDG'=>75,'WDF'=>75),), //音+冻=爆炸
//冴冴来发挥奇思妙想吧 //冴冴来发挥奇思妙想吧
); );
//随机的次要特征组合配方 注意:指定属性(sk_*)一定要放到最前面 //随机的次要特征组合配方 注意:指定属性(sk_*)一定要放到最前面
//可能会生成重复配方,但是也无所谓~ //可能会生成重复配方,但是也无所谓~
$random_submix_list = Array $random_submix_list = Array
( (
//连击:随机1个价值在10以上,1个价值在20以上,1个价值在30以上的次要特征 //连击:随机1个价值在20以上,1个价值在30以上的次要特征
Array('stuff'=>Array(0=>'v_10',1=>'v_20',2=>'v_30'),'result'=>'r','obbs'=>50), Array('stuff'=>Array(0=>'v_20',1=>'v_30'),'result'=>'r','obbs'=>33),
//冲击:随机1个价值在20以上特征+1个随机“攻击”标签特征 //冲击:随机1个价值在20以上特征+1个随机“攻击”标签特征
Array('stuff'=>Array(0=>'tags_W',1=>'v_20'),'result'=>'N','obbs'=>50), Array('stuff'=>Array(0=>'tags_W',1=>'v_20'),'result'=>'N','obbs'=>50),
//贯穿:重击辅助+随机2个价值在30以上的次要特征 //贯穿:重击辅助+随机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个随机“防御”标签特征 //属性防御:随机1个价值在30以上+2个随机“防御”标签特征
Array('stuff'=>Array(0=>'v_30',1=>'tags_D',2=>'tags_D'),'result'=>'a','obbs'=>50), Array('stuff'=>Array(0=>'v_30',1=>'tags_D',2=>'tags_D'),'result'=>'a','obbs'=>50),
//全系防御:随机2个价值在30以上的次要特征+1个随机“防御”标签特征 //全系防御:随机2个价值在30以上的次要特征+1个随机“防御”标签特征
...@@ -268,7 +276,7 @@ ...@@ -268,7 +276,7 @@
//合成过程中随机产生的东西 //合成过程中随机产生的东西
$emix_tips_arr = Array('天然','喜悦','灵感','奇迹','爱','期待','愤怒','悲伤','乐子','苦闷','既视感','疯狂','幸运','RP','罪业'); $emix_tips_arr = Array('天然','喜悦','灵感','奇迹','爱','期待','愤怒','悲伤','乐子','苦闷','既视感','疯狂','幸运','RP','罪业');
//括在名字外围的符号 //括在名字外围的符号
$emix_name_brackets_arr = Array('☆+☆','★+★','〖+〗','【+】','『+』','「+」','《+》','○+○','●+●'); $emix_name_brackets_arr = Array('☆+☆','★+★','〖+〗','【+】','『+』','「+」','✦+✦','☾+☽','☼+☼');
//修饰前缀,由主元素决定,有多个主元素时随机抽取。主元素组合成功时再抽取通用前缀。 //修饰前缀,由主元素决定,有多个主元素时随机抽取。主元素组合成功时再抽取通用前缀。
$emix_name_prefix_arr = Array $emix_name_prefix_arr = Array
( (
...@@ -283,13 +291,13 @@ ...@@ -283,13 +291,13 @@
//元词缀,随便挑一个非主元素的 //元词缀,随便挑一个非主元素的
$emix_name_meta_arr = Array $emix_name_meta_arr = Array
( (
0 => Array('乱序之','宝石纹','镭射型','镜面纹','藏书','晶化','化合型','糖浆','石纹','杂糅','透明纹'),//'亮晶晶' 0 => Array('乱序之','宝石纹','镭射型','镜面纹','藏书','晶化','化合型','糖浆','石纹','杂糅','透明纹','印花','蕾丝缀','简约'),//'亮晶晶'
1 => Array('燃素之','篝火之','黄昏之','晌午','凤凰型','猩红之','暖石','强袭型','破坏型','苹果制','血纹'),//'暖洋洋' 1 => Array('燃素之','篝火之','黄昏之','晌午','凤凰','猩红','暖石','强袭型','破坏型','苹果','血纹','酒红'),//'暖洋洋'
2 => Array('迅捷化','鱼纹','操弄之','碎心','旁观之','路人之','狡黠之','凛风之','北极星','雾之','魔咒','激流之'),//'冷冰冰' 2 => Array('迅捷化','鱼纹','操弄之','碎心','旁观之','路人之','狡黠之','凛风之','北极星','雾之','魔咒','激流之'),//'冷冰冰'
3 => Array('生命之','蔷薇纹','根须','咖啡','妖精','吱吱乱叫之','生姜','拿铁','叶形纹','风化','仿制','纺锤状'),//'郁萌萌' 3 => Array('生命之','蔷薇纹','根须','咖啡','妖精','吱吱乱叫之','生姜','拿铁','叶形纹','风化','仿制','纺锤状'),//'郁萌萌'
4 => Array('启示之','神之','王国制','旭日之','英雄之','荣光之','灯笼状','萤火之','神父之','麻将','骑士之'),//'昼闪闪' 4 => Array('启示之','神之','王国制','旭日之','英雄之','荣光之','灯笼状','萤火之','教条','麻将','骑士之','亮片'),//'昼闪闪'
5 => Array('怪异化','黑洞之','视界之','牧人羊型','往事之','循环之','吊诡之','小鬼之','刻奇之','五芒星','爬行'),//'夜静静' 5 => Array('怪异化','黑洞之','视界之','牧人羊','往事之','循环之','吊诡之','小鬼之','刻奇之','五芒星','爬行者'),//'夜静静'
6 => Array('空白之','留声型','映像型','回响型','气动型','姐妹之','差分机','飞艇型','纸制','彩玻璃制','以太制','黄铜制','贤者之'),//拓展1 6 => Array('空白','留声型','映像型','回响型','气动型','双生之','差分机','飞艇型','纸之','琉璃','以太制','黄铜制','贤者之'),//拓展1
); );
//词尾 //词尾
$emix_name_tail_arr = Array $emix_name_tail_arr = Array
...@@ -302,10 +310,13 @@ ...@@ -302,10 +310,13 @@
'WD' => Array('炸弹','地雷','打击','此面向敌','贝蒂','绳','陷坑','抽卡游戏','短视频','胜负欲','这是什么?摸一下'),//'爆炸物' 'WD' => Array('炸弹','地雷','打击','此面向敌','贝蒂','绳','陷坑','抽卡游戏','短视频','胜负欲','这是什么?摸一下'),//'爆炸物'
'WF' => Array('符','手环','节杖','触','法书','纸人','信徒','精神性','理论','天赋','秘录','蟑螂'),//'灵武' 'WF' => Array('符','手环','节杖','触','法书','纸人','信徒','精神性','理论','天赋','秘录','蟑螂'),//'灵武'
//TODO:复合武器 //TODO:复合武器
'D' => Array('物','加护','轨迹','尾巴','鱼鳞','灯笼裤','胖次','朋友','匣子','投影','力场盾','假说','抑制器','弹药包'),//不分类防具 'D' => Array('物'),//不分类防具
//TODO:身体、手部、头部、足部防具 'DB' => Array('甲','衣','装','翼','西装','洋装','裙','死库水','灯笼裤','胖次','纸箱','弹药包','战甲B'),
'H' => Array('糊糊','杏仁豆腐','烤鱼面包','章鱼须','乌鸡肉','生海带','幸运饼干','长芽土豆','眼泪','趣味'),//补给 'DH' => Array('盔','镜','帽','风帽','缎带','发卡','护目镜','投影','假说','抑制器','检测装置','战甲H'),
'0' => Array('怪东西','???','竟然是它','■■■','数据削除'),//泛用性词尾 'DA' => Array('盾','掌','手套','朋友','匣子','鱼鳞','力场盾','鱼竿','手表','手环','镣铐','命数','战甲A'),
'DF' => Array('鞋','靴','爪','加护','轨迹','脚步','飞毯','马靴','草鞋','触手','尾巴','滑板','战甲F'),
'H' => Array('秘药','罐头','糊糊','杏仁豆腐','烤鱼面包','章鱼须','乌鸡肉','生海带','幸运饼干','长芽土豆','眼泪','趣味'),//补给
'0' => Array('怪东西','???','竟然是它','■■■','数据削除'),//BUG词尾:没有找到类别的情况下会变成这个
); );
/********研究模式配置********/ /********研究模式配置********/
...@@ -331,5 +342,8 @@ ...@@ -331,5 +342,8 @@
4 => '“如果实在不知道该合成什么的话,不妨试试把每种元素都丢1份进去看看。”<br>“说实话我也不知道会发生什么,所以出了事不要怨我啊!”<br>', 4 => '“如果实在不知道该合成什么的话,不妨试试把每种元素都丢1份进去看看。”<br>“说实话我也不知道会发生什么,所以出了事不要怨我啊!”<br>',
5 => '“据说元素们在变化成具体形状时会发出奇怪的动静……说不定是在用元素语骂人呢?”<br>', 5 => '“据说元素们在变化成具体形状时会发出奇怪的动静……说不定是在用元素语骂人呢?”<br>',
6 => '“据说要将元素的‘次要特征’附着在物品上时,会产生某种奇特的发酵物的味道。”<br>“其实元素合成的原理和腌咸菜也差不多吧?”<br>', 6 => '“据说要将元素的‘次要特征’附着在物品上时,会产生某种奇特的发酵物的味道。”<br>“其实元素合成的原理和腌咸菜也差不多吧?”<br>',
7 => '“有种有趣的说法是:‘在数字1-10里,7是最孤独的——因为只有它既不能成为因子、也不能被整除。’”<br>“如果你很闲的话,应该还能找到很多这样的规律。”<br>“或者你也可以试试把每种元素都丢进去7份看看?”<br>',
8 => '“你有没有试着分解过‘手机’和‘笔记本电脑’?”<br>“虽然不知道为什么这些东西上也会有元素。但寄宿在其上的元素数量与种类似乎是固定的。如果把这些固定的元素重新组合起来的话……?”<br>',
9 => '“你有没有试过把带有‘生命恢复’与‘体力恢复’特征的元素组合起来?”<br>“嘛,就算没试过,你应该一眼就能看出来会发生什么了。但是如果把它们分别与更有‘攻击性’的元素组合起来的话……?”<br>',
); );
?> ?>
...@@ -81,7 +81,8 @@ function get_itmsk_strlen($sk_value,$max_length=5) ...@@ -81,7 +81,8 @@ function get_itmsk_strlen($sk_value,$max_length=5)
return $ret; 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,$itemspkinfo;
global $iteminfo_tooltip,$itemkinfo_tooltip,$itemspkinfo_tooltip; global $iteminfo_tooltip,$itemkinfo_tooltip,$itemspkinfo_tooltip;
...@@ -96,9 +97,24 @@ function parse_itm_desc($n,$t) ...@@ -96,9 +97,24 @@ function parse_itm_desc($n,$t)
break; break;
//处理属性 //处理属性
case $t=='sk': case $t=='sk':
if(isset($itemspkinfo_tooltip[$n]['title'])) $p1 = "title=\"".$itemspkinfo_tooltip[$n]['title']."\""; //如果传入的n为数组,且开启缩写模式,则输出一段缩写
if(isset($itemspkinfo_tooltip[$n]['class'])) $p2 = "class=\"".$itemspkinfo_tooltip[$n]['class']."\""; if($short && is_array($n))
$n = $itemspkinfo[$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; break;
//处理名字 //处理名字
case $t=='m': case $t=='m':
...@@ -168,15 +184,23 @@ function init_profile(){ ...@@ -168,15 +184,23 @@ function init_profile(){
${$sk_value.'_words'} = ''; ${$sk_value.'_words'} = '';
//取我数组斧来 //取我数组斧来
$tmpsk = get_itmsk_array(${$sk_value}); $tmpsk = get_itmsk_array(${$sk_value});
foreach($tmpsk as $sk) if(count($tmpsk)>3)
{ {
if(!empty(${$sk_value.'_words'})) //在装备、道具栏内的道具超过3个属性时,显示为+...+的缩写……不然属性多起来太丑了!!
{ ${$sk_value.'_words'} = parse_itm_desc($tmpsk,'sk',1);
${$sk_value.'_words'} .= "+".parse_itm_desc($sk,'sk'); }
} else
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 { } else {
...@@ -370,12 +394,14 @@ function init_battle($ismeet = 0){ ...@@ -370,12 +394,14 @@ function init_battle($ismeet = 0){
if (CURSCRIPT == 'botservice') echo "w_wepestate=0\n"; 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) { if(!$fog||$ismeet) {
//在战斗界面中加载敌我双方武器tooltip //非雾天显示敌人武器情报
global $wep_words,$wepk_words,$w_wep_words,$w_wepk_words; $w_wep_words = parse_itm_desc($w_wep,'m');
$wep_words = parse_itm_desc($wep,'m'); $w_wep_words = parse_itm_desc($w_wep,'m'); $w_wepk_words = parse_itm_desc($w_wepk,'k');
$wepk_words = parse_itm_desc($wepk,'k'); $w_wepk_words = parse_itm_desc($w_wepk,'k'); //如果有的话 初始化第三方武器情报
//初始化第三方信息 如果有的话
if(isset($n_type)) if(isset($n_type))
{ {
global $n_wep_words,$n_wepk_words,$n_iconImg; global $n_wep_words,$n_wepk_words,$n_iconImg;
...@@ -420,6 +446,9 @@ function init_battle($ismeet = 0){ ...@@ -420,6 +446,9 @@ function init_battle($ismeet = 0){
$w_infdata = ''; $w_infdata = '';
} }
} else { } else {
//雾天显示???
$w_wep_words = '???';
$w_wepk_words = '???';
$w_sNoinfo = '???'; $w_sNoinfo = '???';
$w_iconImg = 'question.gif'; $w_iconImg = 'question.gif';
$w_name = '???'; $w_name = '???';
...@@ -481,6 +510,16 @@ function player_save($data){ ...@@ -481,6 +510,16 @@ function player_save($data){
} }
return; return;
} }
function player_load($data)
{
$ndata = player_format_with_db_structure($data);
foreach ($ndata as $key => $value)
{
global $$key;
$$key = $value;
}
return;
}
function w_save($id){ function w_save($id){
global $db,$tablepre,$w_name,$w_pass,$w_type,$w_endtime,$w_deathtime,$w_gd,$w_sNo,$w_icon,$w_club,$w_hp,$w_mhp,$w_sp,$w_msp,$w_att,$w_def,$w_pls,$w_lvl,$w_exp,$w_money,$w_bid,$w_inf,$w_rage,$w_pose,$w_tactic,$w_killnum,$w_state,$w_wp,$w_wk,$w_wg,$w_wc,$w_wd,$w_wf,$w_teamID,$w_teamPass,$w_wep,$w_wepk,$w_wepe,$w_weps,$w_arb,$w_arbk,$w_arbe,$w_arbs,$w_arh,$w_arhk,$w_arhe,$w_arhs,$w_ara,$w_arak,$w_arae,$w_aras,$w_arf,$w_arfk,$w_arfe,$w_arfs,$w_art,$w_artk,$w_arte,$w_arts,$w_itm0,$w_itmk0,$w_itme0,$w_itms0,$w_itm1,$w_itmk1,$w_itme1,$w_itms1,$w_itm2,$w_itmk2,$w_itme2,$w_itms2,$w_itm3,$w_itmk3,$w_itme3,$w_itms3,$w_itm4,$w_itmk4,$w_itme4,$w_itms4,$w_itm5,$w_itmk5,$w_itme5,$w_itms5,$w_itm6,$w_itmk6,$w_itme6,$w_itms6,$w_wepsk,$w_arbsk,$w_arhsk,$w_arask,$w_arfsk,$w_artsk,$w_itmsk0,$w_itmsk1,$w_itmsk2,$w_itmsk3,$w_itmsk4,$w_itmsk5,$w_itmsk6,$w_rp,$w_action,$w_achievement,$w_skillpoint; global $db,$tablepre,$w_name,$w_pass,$w_type,$w_endtime,$w_deathtime,$w_gd,$w_sNo,$w_icon,$w_club,$w_hp,$w_mhp,$w_sp,$w_msp,$w_att,$w_def,$w_pls,$w_lvl,$w_exp,$w_money,$w_bid,$w_inf,$w_rage,$w_pose,$w_tactic,$w_killnum,$w_state,$w_wp,$w_wk,$w_wg,$w_wc,$w_wd,$w_wf,$w_teamID,$w_teamPass,$w_wep,$w_wepk,$w_wepe,$w_weps,$w_arb,$w_arbk,$w_arbe,$w_arbs,$w_arh,$w_arhk,$w_arhe,$w_arhs,$w_ara,$w_arak,$w_arae,$w_aras,$w_arf,$w_arfk,$w_arfe,$w_arfs,$w_art,$w_artk,$w_arte,$w_arts,$w_itm0,$w_itmk0,$w_itme0,$w_itms0,$w_itm1,$w_itmk1,$w_itme1,$w_itms1,$w_itm2,$w_itmk2,$w_itme2,$w_itms2,$w_itm3,$w_itmk3,$w_itme3,$w_itms3,$w_itm4,$w_itmk4,$w_itme4,$w_itms4,$w_itm5,$w_itmk5,$w_itme5,$w_itms5,$w_itm6,$w_itmk6,$w_itme6,$w_itms6,$w_wepsk,$w_arbsk,$w_arhsk,$w_arask,$w_arfsk,$w_artsk,$w_itmsk0,$w_itmsk1,$w_itmsk2,$w_itmsk3,$w_itmsk4,$w_itmsk5,$w_itmsk6,$w_rp,$w_action,$w_achievement,$w_skillpoint;
......
This diff is collapsed.
...@@ -1815,7 +1815,7 @@ function itemuse($itmn) { ...@@ -1815,7 +1815,7 @@ function itemuse($itmn) {
$club = 20; $club = 20;
//获取初始元素与第一条配方 //获取初始元素与第一条配方
$dice = rand(0,5); $dice = rand(0,5);
global ${'element'.$dice}; global ${'element'.$dice},$clbpara;
${'element'.$dice} += 200+$dice; ${'element'.$dice} += 200+$dice;
//初始化元素合成缓存文件 //初始化元素合成缓存文件
include_once GAME_ROOT.'./include/game/elementmix.func.php'; include_once GAME_ROOT.'./include/game/elementmix.func.php';
...@@ -1908,7 +1908,8 @@ function itemuse($itmn) { ...@@ -1908,7 +1908,8 @@ function itemuse($itmn) {
//这是一个测试用道具 设置好$nid(先手者pid)和$eid(挨打者pid)后可以看这两个人打架 把其中一个设置成自己的pid就可以亲自下场 //自己下场现在有BUG //这是一个测试用道具 设置好$nid(先手者pid)和$eid(挨打者pid)后可以看这两个人打架 把其中一个设置成自己的pid就可以亲自下场 //自己下场现在有BUG
//$nid:先手攻击者的pid;$eid:挨打者的pid //$nid:先手攻击者的pid;$eid:挨打者的pid
//如果$nid打死了$eid的话,尸体会由你来摸,这不是BUG,是一个暂时缺少条件判断的特性。 //如果$nid打死了$eid的话,尸体会由你来摸,这不是BUG,是一个暂时缺少条件判断的特性。
$nid = 1; $eid = 15; global $pid;
$nid = $pid; $eid = 2;
include_once GAME_ROOT.'./include/game/revcombat.func.php'; include_once GAME_ROOT.'./include/game/revcombat.func.php';
rev_combat_prepare($nid,$eid); rev_combat_prepare($nid,$eid);
return; return;
...@@ -2069,19 +2070,23 @@ function itemuse($itmn) { ...@@ -2069,19 +2070,23 @@ function itemuse($itmn) {
include_once config('elementmix',$gamecfg); include_once config('elementmix',$gamecfg);
$log.= $emix_slip[array_rand($emix_slip)]; $log.= $emix_slip[array_rand($emix_slip)];
//除商店纸条外:提供一条元素特征(TODO)、或一条固定配方、或一条随机属性组合 //除商店纸条外:提供一条元素特征(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)) 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); $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']]; $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>"; $log .="<br>……说这么多鬼记得住啊!<br>你思考了一下,决定把{$itm}吃进肚子里,以便慢慢消化其中的知识。<br>";
$itms--; $itms--;
......
...@@ -8,10 +8,9 @@ ...@@ -8,10 +8,9 @@
include_once GAME_ROOT.'./include/game/attr.func.php'; include_once GAME_ROOT.'./include/game/attr.func.php';
/*这个文件里的函数是供npc与npc战斗使用的。 /*这个文件里的函数是供npc与npc战斗使用的。
但是只要提供了正确的pa和pd当然也可以给玩家使用。 //哈哈!不行!玩家数据存不回去!傻了吧! //虽然不能直接替换掉原版战斗函数,但是也许能用做这个的思路对原版进行一些优化…… 但是只要提供了正确的pa和pd当然也可以给玩家使用。 //哈哈!不行!玩家数据存不回去!傻了吧! //搞定了! //没搞定啊!!不能100%保证不出怪问题,所以还是不要给玩家使用
本质上就是一套整理过的原版战斗函数。*/ 本质上就是一套整理过的原版战斗函数。*/
//战斗准备流程:通过传入的战斗双方ID初始化 //战斗准备流程:通过传入的战斗双方ID初始化
function rev_combat_prepare($nid,$eid) function rev_combat_prepare($nid,$eid)
{ {
...@@ -174,7 +173,7 @@ ...@@ -174,7 +173,7 @@
$log .= "<span class=\"red\">{$pd['name']}攻击范围不足,不能反击,逃跑了!</span><br>"; $log .= "<span class=\"red\">{$pd['name']}攻击范围不足,不能反击,逃跑了!</span><br>";
} }
} }
elseif($pd['hp']>0) elseif($pd['hp']>0 && !$att_result)
{ {
$log .= "<span class=\"red\">{$pd['name']}逃跑了!</span><br>"; $log .= "<span class=\"red\">{$pd['name']}逃跑了!</span><br>";
} }
...@@ -227,6 +226,8 @@ ...@@ -227,6 +226,8 @@
$log = str_replace('你',$pa['name'],$log); //偷懒做法 如果NPC的台词里有“你”出现的话 会变得很怪23333 $log = str_replace('你',$pa['name'],$log); //偷懒做法 如果NPC的台词里有“你”出现的话 会变得很怪23333
//保存两个人的状态 //保存两个人的状态
player_save($pa);player_save($pd); player_save($pa);player_save($pd);
if(!$pa['type']) player_load($pa);
if(!$pd['type']) player_load($pd);
//刷新界面状态 //刷新界面状态
global $n_iconImg,$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,$n_wep_words,$n_wepk_words; global $n_iconImg,$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,$n_wep_words,$n_wepk_words;
global $w_type,$w_name,$w_gd,$w_sNo,$w_icon,$w_hp,$w_mhp,$w_wep,$w_wepk,$w_wepe,$w_lvl,$w_pose,$w_tactic,$w_inf; global $w_type,$w_name,$w_gd,$w_sNo,$w_icon,$w_hp,$w_mhp,$w_wep,$w_wepk,$w_wepe,$w_lvl,$w_pose,$w_tactic,$w_inf;
......
...@@ -91,7 +91,8 @@ function death($death, $kname = '', $ktype = 0, $annex = '') { ...@@ -91,7 +91,8 @@ function death($death, $kname = '', $ktype = 0, $annex = '') {
$deathtime = $now; $deathtime = $now;
$result = $db->query("SELECT nick FROM {$tablepre}players WHERE name = '$kname' AND type = '$type'"); $result = $db->query("SELECT nick FROM {$tablepre}players WHERE name = '$kname' AND type = '$type'");
$knick = $db->result($result, 0); $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); //$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")) if ($type==0 && $club==99 && ($death=="N" || $death=="P" || $death=="K" || $death=="G" || $death=="C" || $death=="D" || $death=="F" || $death=="J" || $death=="trap"))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment