Lv 显示免疫 显示AI 掉落物品ID 经验 不处理权重
message as $message) { $mid=strval($message->attributes()); $data=strval($message); $uistring[$mid]=$data; } if(isset($_REQUEST['diff'])) $diff=$_REQUEST['diff']; else $diff=4; if(isset($_REQUEST['file'])) $mobarray=ext2array($_REQUEST['file']); else die(); $mobwarray=wext2array('monsterweighttable.ext',$diff); ///////////////////////// //table build ///////////////////////// echo ''; echo ''; echo ''; if($_REQUEST['state']) echo ''; if($_REQUEST['AI']) echo ''; if($_REQUEST['ItemDropGroupID']) echo ''; if($_REQUEST['EXP']) echo ''; //未实装 echo ''; foreach($mobarray as $mobdata) { $outputstring=''; $outputstring.=''; $outputstring.=''; $outputstring.=''; $outputstring.=''; for($i=4;$i<=16;$i++) { $outputstring.=''; } $outputstring.=''; for($i=18;$i<=22;$i++) { $outputstring.=''; } $outputstring.=''; if($_REQUEST['state']) { $outputstring.=''; $outputstring.=''; } if($_REQUEST['AI']) { $outputstring.=''; } if($_REQUEST['ItemDropGroupID']) { $outputstring.=''; } if($_REQUEST['EXP']) { $outputstring.=''; $outputstring.=''; } $outputstring.=''; echo $outputstring; set_time_limit(60); } echo '
怪物ID怪物名LV等级HP最小物攻最大物攻最小魔攻最大魔攻物防魔防硬直致命眩晕硬直抵抗致命抵抗眩晕抵抗属性攻击类型属性攻击火抗水抗光抗暗抗超级盔甲免疫类型免疫概率AI文件名掉落物品ID经验通关经验
'; $outputstring.=$mobdata[0]; //MonsterID $outputstring.=''; switch($mobdata[1]) { case 1000003651: { $mobnameID=$mobdata[2]; $mobnameID=str_replace('{','',$mobnameID); $mobnameID=str_replace('}','',$mobnameID); $mobnameID=str_replace('"','',$mobnameID); $mobname=$uistring[$mobnameID]; break; } case 1000004083: { $mobnameID=$mobdata[2]; $mobnameID=str_replace('{','',$mobnameID); $mobnameID=str_replace('}','',$mobnameID); $mobnameID=str_replace('"','',$mobnameID); $mobnameIDArray=explode(',',$mobnameID); $mobname=$uistring[$mobnameIDArray[0]].$uistring[$mobnameIDArray[1]]; break; } case 0: { $mobname='[NULL]'; break; } default: { $mobname=$uistring[$mobdata[1]]; break; } } $outputstring.=$mobname; $outputstring.=''; if($_REQUEST['level']) if($_REQUEST['level']!=$mobdata[3]) continue; else; $outputstring.=$mobdata[3]; $outputstring.=''; if($_REQUEST['grade']!=$mobdata[58]) continue; $outputstring.=$mobdata[58]; $outputstring.=''; if($_REQUEST['noweight']) $outputstring.=round($mobdata[$i]); else $outputstring.=round($mobdata[$i]*$mobwarray[$mobdata[0]][$i+2]); $outputstring.=''; $outputstring.=$mobdata[17]; $outputstring.=''; if($_REQUEST['noweight']) $outputstring.=round($mobdata[$i],2); else $outputstring.=round($mobdata[$i]*$mobwarray[$mobdata[0]][$i+2],2); $outputstring.=''; if($_REQUEST['noweight']) $outputstring.=$mobdata[47]; else $outputstring.=$mobdata[47]*$mobwarray[$mobdata[0]][19]; $outputstring.=''; $outputstring.=$mobdata[48]; $outputstring.=''; $outputstring.=$mobdata[49]; $outputstring.=''; $outputstring.=$mobdata[31]; $outputstring.=''; $outputstring.=$mobdata[61]; $outputstring.=''; if(!$_REQUEST['noweight']) $outputstring.=$mobdata[23]; else $outputstring.=$mobdata[23]*$mobwarray[$mobdata[0]][4]; $outputstring.=''; if(!$_REQUEST['noweight']) $outputstring.=$mobdata[24]; else $outputstring.=$mobdata[24]*$mobwarray[$mobdata[0]][5]; $outputstring.='
'; ///////////////////////// function ext2array($filename) { $file=fopen($filename,"rb"); $extcode_array=unpack(l,fread($file,4)); $column_array=unpack(l,fread($file,4)); $line_array=unpack(l,fread($file,4)); $extcode=$extcode_array[1]; $column=$column_array[1]; $line=$line_array[1]; $type[0]=3; for($i=1;$i<=$column;$i++) { $columntitle_array=unpack('a*',fread($file,64)); $columntype_array=unpack(l,fread($file,4)); $type[$i]=$columntype_array[1]; $tempstring.=$columntitle_array[1]."[$type[$i]]"."\t"; } $tempstring=Array(); for($j=0;$j<$line;$j++) { for($i=0;$i<=$column;$i++) { switch($type[$i]) { case 1: { $stringlength_array=unpack(v,fread($file,2)); if($stringlength_array[1]>0) $string='"'.iconv("euc-kr","UTF-8",fread($file,$stringlength_array[1])).'"'; else $string='"[NULL]"'; $tempstring[$j][$i]=$string; break; } case 2: { $unsignedlong_array=unpack(V,fread($file,4)); $tempstring[$j][$i]=$unsignedlong_array[1]; break; } case 3: { $signedlong_array=unpack(l,fread($file,4)); $tempstring[$j][$i]=$signedlong_array[1]; break; } case 4: { $floatlong_array=unpack(f,fread($file,4)); $tempstring[$j][$i]=$floatlong_array[1]; break; } case 5: { $floatlong_array=unpack(f,fread($file,4)); $tempstring[$j][$i]=$floatlong_array[1]; break; } default: { $WTF_array=unpack(i,fread($file,4)); $tempstring[$j][$i]=$WTF_array[1].'(WTF)'; break; } } } set_time_limit(60); } fclose($file); return $tempstring; } function wext2array($filename,$diff) { $file=fopen($filename,"rb"); $extcode_array=unpack(l,fread($file,4)); $column_array=unpack(l,fread($file,4)); $line_array=unpack(l,fread($file,4)); $extcode=$extcode_array[1]; $column=$column_array[1]; $line=$line_array[1]; $type[0]=3; for($i=1;$i<=$column;$i++) { $columntitle_array=unpack('a*',fread($file,64)); $columntype_array=unpack(l,fread($file,4)); $type[$i]=$columntype_array[1]; $tempstring.=$columntitle_array[1]."[$type[$i]]"."\t"; } $tempstring=Array(); $tempmobwarray=Array(); for($j=0;$j<$line;$j++) { /*$signedlong_array=unpack(l,fread($file,4)); $signedlong_array=unpack(l,fread($file,4)); $mobID=$signedlong_array[1]; $tempstring[$mobID][1]=$mobID; $signedlong_array=unpack(l,fread($file,4)); $tempstring[$mobID][2]=$signedlong_array[1]; if($tempstring[$mobID][2]!=$diff) { unset($tempstring[$mobID]); continue; }*/ for($i=0;$i<=$column;$i++) { switch($type[$i]) { case 1: { $stringlength_array=unpack(v,fread($file,2)); if($stringlength_array[1]>0) $string='"'.iconv("euc-kr","UTF-8",fread($file,$stringlength_array[1])).'"'; else $string='"[NULL]"'; $tempstring[$i]=$string; break; } case 2: { $unsignedlong_array=unpack(V,fread($file,4)); $tempstring[$i]=$unsignedlong_array[1]; break; } case 3: { $signedlong_array=unpack(l,fread($file,4)); $tempstring[$i]=$signedlong_array[1]; break; } case 4: { $floatlong_array=unpack(f,fread($file,4)); $tempstring[$i]=$floatlong_array[1]; break; } case 5: { $floatlong_array=unpack(f,fread($file,4)); $tempstring[$i]=$floatlong_array[1]; break; } default: { $WTF_array=unpack(i,fread($file,4)); $tempstring[$i]=$WTF_array[1].'(WTF)'; break; } } } if($tempstring[2]!=$diff) { unset($tempstring); } else $tempmobwarray[$tempstring[1]]=$tempstring; set_time_limit(60); } fclose($file); return $tempmobwarray; } ?>