查看单个帖子
旧 2012-02-10   #3
kimmina
黄金会员
黄金会员四级会员
级别:22 | 在线时长:1334小时 | 升级还需:46小时级别:22 | 在线时长:1334小时 | 升级还需:46小时级别:22 | 在线时长:1334小时 | 升级还需:46小时级别:22 | 在线时长:1334小时 | 升级还需:46小时
 
kimmina 的头像
 
注册: 07年11月28日
来自: 川崎
帖子: 447
声望力: 22
声望: 52 kimmina 初领妙道
积分:19
精华:3
现金:23两梁山币
资产:117616两梁山币
致谢数: 3
获感谢文章数:2
获会员感谢数:2
回复: 【杀怪技能】选择分析

把下面的内容考下来,做个skills.html文件就可以用了。好像只能用IE打开的时候正常...
<HTML><HEAD><TITLE>skills</TITLE>
<META charset="gbk">
<script type="text/javascript">
function func_onload() {
attack_onChange();
yaoLev_onChange();

var skillProp = new Array();
var idx=0;
skillProp[idx++]="bainiao-jian";
skillProp[idx++]="-9.17";
skillProp[idx++]="-0.83";
skillProp[idx++]="23.33";
skillProp[idx++]="fengbo-cha";
skillProp[idx++]="-1.25";
skillProp[idx++]="-7.92";
skillProp[idx++]="28.33";
skillProp[idx++]="hellfire-whip";
skillProp[idx++]="-10";
skillProp[idx++]="-10.83";
skillProp[idx++]="20.83";
skillProp[idx++]="huntian-hammer";
skillProp[idx++]="12.5";
skillProp[idx++]="-15";
skillProp[idx++]="28.33";
skillProp[idx++]="jinglei-mace";
skillProp[idx++]="-5";
skillProp[idx++]="-5";
skillProp[idx++]="25";
skillProp[idx++]="jueqingbian";
skillProp[idx++]="-9.17";
skillProp[idx++]="-1.67";
skillProp[idx++]="24.58";
skillProp[idx++]="kaishan-chui";
skillProp[idx++]="7.5";
skillProp[idx++]="-7.5";
skillProp[idx++]="26.67";
skillProp[idx++]="kugu-blade";
skillProp[idx++]="-5.83";
skillProp[idx++]="-5.83";
skillProp[idx++]="25.83";
skillProp[idx++]="kusang-bang";
skillProp[idx++]="-4.17";
skillProp[idx++]="-10";
skillProp[idx++]="25";
skillProp[idx++]="liangyi-sword";
skillProp[idx++]="-10";
skillProp[idx++]="-10";
skillProp[idx++]="15";
skillProp[idx++]="lunhui-zhang";
skillProp[idx++]="5";
skillProp[idx++]="-10";
skillProp[idx++]="25";
skillProp[idx++]="qianjun-bang";
skillProp[idx++]="3.57";
skillProp[idx++]="-11.43";
skillProp[idx++]="30";
skillProp[idx++]="qiankun";
skillProp[idx++]="-50";
skillProp[idx++]="-50";
skillProp[idx++]="200";
skillProp[idx++]="pili";
skillProp[idx++]="-1.67";
skillProp[idx++]="-8.33";
skillProp[idx++]="31.67";
skillProp[idx++]="qixiu-jian";
skillProp[idx++]="5";
skillProp[idx++]="-13.33";
skillProp[idx++]="30.83";
skillProp[idx++]="sanban-axe";
skillProp[idx++]="10";
skillProp[idx++]="-7.5";
skillProp[idx++]="35";
skillProp[idx++]="sanqing-jian";
skillProp[idx++]="-5";
skillProp[idx++]="15";
skillProp[idx++]="20";
skillProp[idx++]="skyriver-rake";
skillProp[idx++]="-30";
skillProp[idx++]="-15";
skillProp[idx++]="25";
skillProp[idx++]="snowsword";
skillProp[idx++]="-20";
skillProp[idx++]="-10";
skillProp[idx++]="15";
skillProp[idx++]="wusi-mace";
skillProp[idx++]="5";
skillProp[idx++]="-5";
skillProp[idx++]="25";
skillProp[idx++]="xiaofeng-sword";
skillProp[idx++]="-10";
skillProp[idx++]="0";
skillProp[idx++]="20";
skillProp[idx++]="yange-blade";
skillProp[idx++]="-10";
skillProp[idx++]="0";
skillProp[idx++]="20";
skillProp[idx++]="zhuihun-sword";
skillProp[idx++]="-14.17";
skillProp[idx++]="-8.33";
skillProp[idx++]="26.67";
skillProp[idx++]="three";
skillProp[idx++]="-15";
skillProp[idx++]="-15";
skillProp[idx++]="30";

this.HiddenSkillProp=skillProp;

skill_onChange();

}

function skill_onChange(){
var index = this.skillNames.selectedIndex;

if (index == 0){
this.dodge.value = "";
this.parry.value = "";
this.damage.value = "";
return;
}
var str = this.skillNames.options[index].value;

var getStr;
for(var i = 0; i < this.HiddenSkillProp.length; i++) {

if(this.HiddenSkillProp[i] == str) {
this.HiddenSkillProp[i];
this.dodge.value = this.HiddenSkillProp[++i];
this.parry.value = this.HiddenSkillProp[++i];
this.damage.value = this.HiddenSkillProp[++i];
click_success(0);
return;
}
}
alert("木有找到技能!!!");
}

function attack_onChange(){

var exp = (this.attack_exp.value);
var enable = (this.attack_skill_enable.value);

if ( exp == "" || enable == ""){
return;
}

exp = parseInt(exp);
enable = parseInt(enable);

var skillPower = 0;
skillPower = parseInt(enable*enable/3*enable + exp);

this.attack_skill_power.value = skillPower;
click_success(0);
}

function victim_onChange(){

var exp = (this.victim_exp.value);
var enable = (this.victim_skill_enable.value);

if ( exp == "" || enable == ""){
return;
}

exp = parseInt(exp);
enable = parseInt(enable);

var skillPower = 0;
skillPower = parseInt(enable*enable/3*enable + exp);

this.victim_skill_power.value = skillPower;
click_success(0);

}

function yaoLev_onChange(){

var index = this.yao_level.selectedIndex;
var yaoLevel = parseInt(this.yao_level.options[index].value);

var beilv = (20-4+yaoLevel)/20;

var attackSkillLev = this.attack_skill_lev.value;

if (attackSkillLev != ""){
attackSkillLev = parseInt(attackSkillLev);

this.victim_skill_lev.value = parseInt(attackSkillLev*beilv) + 14;
this.victim_skill_enable.value = parseInt(parseInt(this.victim_skill_lev.value)*3/2);
}

var attackExp = this.attack_exp.value;

if (attackExp != ""){
attackExp = parseInt(attackExp);

this.victim_exp.value = parseInt(attackExp*beilv);
}

victim_onChange();
}

function click_success(buttonFlg){

var attackPower = this.attack_skill_power.value;
var victimPower = this.victim_skill_power.value;

if (attackPower=="" || victimPower == ""){
if (buttonFlg == "1"){
alert("请填写[武学],[有效技能]");
}
return;
}

attackPower = parseInt(attackPower);
victimPower = parseInt(victimPower);

var actionDodge = this.dodge.value;
var actionParry = this.parry.value;
if (actionDodge=="" || actionParry == ""){
if (buttonFlg == "1"){
alert("请选择 [攻击 技能]");
}
return;
}

var successDodge = mathSuccessRate(attackPower,victimPower,actionDodge,"1");
var successParry = mathSuccessRate(attackPower,victimPower,actionParry,"0");

this.success_dodge_AB.value = parseInt(successDodge*10000)/100;
this.success_parry_AB.value = parseInt(successParry*10000)/100;
this.success_all_AB.value = parseInt(successDodge*successParry*10000)/100;;

successDodge = mathSuccessRate(victimPower,attackPower,actionDodge,"1");
successParry = mathSuccessRate(victimPower,attackPower,actionParry,"0");

this.success_dodge_BA.value = parseInt(successDodge*10000)/100;
this.success_parry_BA.value = parseInt(successParry*10000)/100;
this.success_all_BA.value = parseInt(successDodge*successParry*10000)/100;;

}

function mathSuccessRate(attackPower,victimPower,actionDP,dodgeFlg){

var retRate = 1;
var index = this.victim_status.selectedIndex;
var status = this.victim_status.options[index].value;

if (status == "1"){ // 正常
retRate = (attackPower-victimPower*(actionDP/100))/(attackPower+victimPower);
} else if (status == "2"){ // busy
retRate = (attackPower-victimPower/3*(actionDP/100))/(attackPower+victimPower/3);
} else if (status == "3"){ // 没拿武器
if (dodgeFlg == "1"){
retRate = (attackPower-victimPower*(actionDP/100))/(attackPower+victimPower);
}
} else if (status == "4"){ // busy&没拿武器
if (dodgeFlg == "1"){
retRate = (attackPower-victimPower/3*(actionDP/100))/(attackPower+victimPower/3);
}
}

return retRate;
}

</script>
<body onload="func_onload()">
<input type="hidden" name="HiddenSkillProp">

<table border="1">
<tr>
<td>
<table bgcolor>

<tr>
<td>
&nbsp;
</td>
</tr>
</table>
</td>
<td>
<table bgcolor align="center">

<tr>
<td>
角色A
</td>
</tr>
</table>
</td>
<td>
<table bgcolor align="center">

<tr>
<td>
角色B
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table bgcolor>

<tr>
<td>
最高等级:
</td>
</tr>
</table>
</td>
<td>
<table bgcolor>

<tr>
<td>
<input name="attack_skill_lev" value="600" size= 10>
</td>
</tr>
</table>
</td>
<td>
<table bgcolor>

<tr>
<td>
<input name="victim_skill_lev" size= 10>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table bgcolor>

<tr>
<td>
武学:
</td>
</tr>
</table>
</td>
<td>
<table bgcolor>

<tr>
<td>
<input name="attack_exp" size= 10 value="21600000" onchange="attack_onChange()">
</td>
</tr>
</table>
</td>
<td>
<table bgcolor>

<tr>
<td>
<input name="victim_exp" size= 10 onchange="victim_onChange()">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table bgcolor>

<tr>
<td>
有效技能(enable):
</td>
</tr>
</table>
</td>
<td>
<table bgcolor>

<tr>
<td>
<input name="attack_skill_enable" value="900" size= 10 onchange="attack_onChange()">
</td>
</tr>
</table>
</td>
<td>
<table bgcolor>

<tr>
<td>
<input name="victim_skill_enable" size= 10 onchange="victim_onChange()">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table bgcolor>

<tr>
<td>
skill_power<br>(=有效技能^3/3+武学):
</td>
</tr>
</table>
</td>
<td>
<table bgcolor>

<tr>
<td>
<input name="attack_skill_power" disabled="disabled" size= 20>
</td>
</tr>
</table>
</td>
<td>
<table bgcolor>

<tr>
<td>
<input name="victim_skill_power" disabled="disabled" size= 20>
</td>
</tr>
</table>
</td>
</tr>
</table >

<br>
<br>
<table border="1">

<tr>
<td>
选择[怪物等级]计算[角色B]的状态:&nbsp;
<SELECT size="1" name="yao_level" style="width: 50px" onchange="yaoLev_onChange()">

<OPTION value="0">0</OPTION>
<OPTION value="1">1</OPTION>
<OPTION value="2">2</OPTION>
<OPTION value="3">3</OPTION>
<OPTION value="4">4</OPTION>
<OPTION value="5">5</OPTION>
<OPTION value="6">6</OPTION>
<OPTION value="7">7</OPTION>
<OPTION value="8">8</OPTION>
<OPTION value="9" selected>9</OPTION>
</SELECT>
<br>
怪物的技能=玩家最高技能*(20-4+怪物等级)/20+random(15)。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;random(15)按最高的14算。
</td>
</tr>
</table>

<br>
<br>
<table border="1">

<tr>
<td>
攻击技能:&nbsp;
<SELECT size="1" name="skillNames" onchange="skill_onChange()">
<OPTION value="none">(清除)</OPTION>
<OPTION value="bainiao-jian">百鸟剑法</OPTION>
<OPTION value="fengbo-cha">风波十二叉</OPTION>
<OPTION value="hellfire-whip">烈火鞭</OPTION>
<OPTION value="huntian-hammer">混天锤</OPTION>
<OPTION value="jinglei-mace">惊雷鞭法</OPTION>
<OPTION value="jueqingbian">绝情鞭法</OPTION>
<OPTION value="kaishan-chui">开山锤</OPTION>
<OPTION value="kugu-blade">枯骨刀</OPTION>
<OPTION value="kusang-bang">哭丧棒</OPTION>
<OPTION value="liangyi-sword">两仪剑法</OPTION>
<OPTION value="lunhui-zhang">轮回杖</OPTION>
<OPTION value="pili">霹雳三打</OPTION>
<OPTION value="qianjun-bang">千钧棒</OPTION>
<OPTION value="qiankun" selected>乾坤一棒</OPTION>
<OPTION value="qixiu-jian">七修剑法</OPTION>
<OPTION value="sanban-axe">三板斧</OPTION>
<OPTION value="sanqing-jian">三清剑</OPTION>
<OPTION value="skyriver-rake">天河钯法</OPTION>
<OPTION value="snowsword">风回雪舞剑法</OPTION>
<OPTION value="three">神·人·鬼</OPTION>
<OPTION value="wusi-mace">无私锏法</OPTION>
<OPTION value="xiaofeng-sword">晓风残月剑</OPTION>
<OPTION value="yange-blade">雁歌刀法</OPTION>
<OPTION value="zhuihun-sword">追魂剑</OPTION>
</SELECT>
</td>
<td>
<table>
<tr>
<td align="center" colspan="2">
技能属性
</td>
</tr>
<tr>
<td>
dodge:&nbsp;</td><td><input name="dodge" size= 10>
</td>
</tr>
<tr>
<td>
parry:&nbsp;</td><td><input name="parry" size= 10>
</td>
</tr>
<tr>
<td>
damage:&nbsp;</td><td><input name="damage" size= 10>
</td>
</tr>
</table>
</td>
</tr>
</table>

<br>
<br>
<table bgcolor border="1">

<tr>
<td>
<input type="button" value=" 計算 " onclick="click_success(1)">
</td>
<td>
<table>
<tr>
<td align="center" colspan="2">
A 攻击 B
</td>
</tr>
<tr>
<td>
破dodge率:&nbsp;</td><td><input name="success_dodge_AB" disabled="disabled" size= 10>
</td>
</tr>
<tr>
<td>
破parry率:&nbsp;</td><td><input name="success_parry_AB" disabled="disabled" size= 10>
</td>
</tr>
<tr>
<td>
总成功率:&nbsp;</td><td><input name="success_all_AB" disabled="disabled" size= 10>
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td align="center" colspan="2">
B 攻击 A
</td>
</tr>
<tr>
<td>
破dodge率:&nbsp;</td><td><input name="success_dodge_BA" disabled="disabled" size= 10>
</td>
</tr>
<tr>
<td>
破parry率:&nbsp;</td><td><input name="success_parry_BA" disabled="disabled" size= 10>
</td>
</tr>
<tr>
<td>
总成功率:&nbsp;</td><td><input name="success_all_BA" disabled="disabled" size= 10>
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td align="center" colspan="2">
被攻击者状态
</td>
</tr>
<tr>
<td>
<SELECT size="1" name="victim_status" onchange="click_success()">
<OPTION value="1" selected>正常</OPTION>
<OPTION value="2">busy</OPTION>
<OPTION value="3">没拿武器</OPTION>
<OPTION value="4">busy&没拿武器</OPTION>
</SELECT>
</td>
</tr>
</table>
</td>
</tr>
</table>

</body>
</html>

此帖于 2012-05-09 01:34 被 kimmina 编辑.
kimmina 当前离线  
回复时引用此帖