求助!强弓脚本(弓射程+1)无效,求指点
srpgstudio吧
全部回复
仅看楼主
level 8
月下戰鬼L 楼主
脚本是从网上下载的...但是却没有效果而且是乱码。。。求助...
/*--------------------------------------------------------------------------
丂嫮媩丒嬤愙幩寕僗僋儕僾僩 嶌1-239
亂奣梫亃
嫮媩僗僉儖庢摼幰偼{wtype:3}偺晲婍偺嵟戝幩掱偑侾憹偊傑偡
嬤愙幩寕僗僉儖庢摼幰偼{wtype:3}偺晲婍偺嵟掅幩掱偑侾偵側傝傑偡
憰旛偟偰傞晲婍傛傝幩掱偑挿偄晲婍帩偭偰偰傕
憰旛偟偰傞晲婍偺幩掱偟偐峴摦斖埻偱昞帵偝傟側偄"巇條"傪廋惓
傢偞傢偞if暥偱暘婒偝偣偰傞偺傪尒傞偵僶僌偠傖側偄傫偩傛側偀乧
偙偺僗僋儕僾僩傪摫擖偡傞応崌
幩掱昞帵廋惓僗僋儕僾僩偼摫擖偟側偄偱偔偩偝偄
嫮媩僗僉儖偺僉乕儚乕僪仺'superbow'
嬤愙幩寕僗僉儖偺僉乕儚乕僪仺'Proximity_fire'
1/16 1050懳墳
4/21 嬤愙幩寕捛壛丂揋偑幩掱3峌寕傪偡傞傛偆偵丂偁偲斀寕
--------------------------------------------------------------------------*/
AttackChecker.getAttackIndexArray = function(unit, weapon, isSingleCheck) {
var i, index, x, y, targetUnit;
var indexArrayNew = [];
flag = 0;
var skill = SkillControl.getPossessionCustomSkill(unit,'superbow');
if(skill){flag += 1;}
var skill = SkillControl.getPossessionCustomSkill(unit,'Proximity_fire');
if(skill){flag += 10;}
if(flag !== 0){
var indexArray = IndexArray.createsuperbow(unit.getMapX(), unit.getMapY(), weapon, flag);}
else{
var indexArray = IndexArray.createIndexArray(unit.getMapX(), unit.getMapY(), weapon);}
var count = indexArray.length;
for (i = 0; i < count; i++) {
index = indexArray[i];
x = CurrentMap.getX(index);
y = CurrentMap.getY(index);
targetUnit = PosChecker.getUnitFromPos(x, y);
if (targetUnit !== null && unit !== targetUnit) {
if (FilterControl.isReverseUnitTypeAllowed(unit, targetUnit)) {
indexArrayNew.push(index);
if (isSingleCheck) {
return indexArrayNew;
}
}
}
}
return indexArrayNew;
}
IndexArray.createsuperbow = function(x, y, item, flag) {
var startRange = item.getStartRange();
var endRange = item.getEndRange();
if(flag == 11){
if(item.custom.wtype == 3){startRange = 1;endRange += 1;}}
if(flag == 10){
if(item.custom.wtype == 3){startRange = 1;}}
if(flag == 1){
if(item.custom.wtype == 3){endRange += 1;}}
return this.getBestIndexArray(x, y, startRange, endRange);
}
CombinationCollector.Weapon.collectCombination = function(misc) {
var i, weapon, filter, rangeMetrics;
var unit = misc.unit;
var itemCount = UnitItemControl.getPossessionItemCount(unit);
for (i = 0; i < itemCount; i++) {
weapon = UnitItemControl.getItem(unit, i);
if (weapon === null) {
continue;
}
// 晲婍偱側偄偐丄晲婍傪憰旛偱偒側偄応崌偼懕峴偟側偄
if (!weapon.isWeapon() || !this._isWeaponEnabled(unit, weapon, misc)) {
continue;
}
misc.item = weapon;
rangeMetrics = StructureBuilder.buildRangeMetrics();
rangeMetrics.startRange = weapon.getStartRange();
rangeMetrics.endRange = weapon.getEndRange();
var skill = SkillControl.getPossessionCustomSkill(unit,'superbow');
if(skill){
if(item.custom.wtype == 3){rangeMetrics.endRange += 1;}}
var skill = SkillControl.getPossessionCustomSkill(unit,'Proximity_fire');
if(skill){
if(item.custom.wtype == 3){rangeMetrics.startRange = 1;}}
filter = this._getWeaponFilter(unit);
this._setUnitRangeCombination(misc, filter, rangeMetrics);
}
}
AttackChecker.isCounterattack = function(unit, targetUnit) {
var weapon, indexArray, flag;
if (!root.getUserExtension().isCounterattackAllowed()) {
return false;
}
weapon = ItemControl.getEquippedWeapon(unit);
if (weapon !== null && weapon.isOneSide()) {
// 峌寕偡傞懁偑乽堦曽岦乿偺晲婍傪憰旛偟偰偄傞応崌偼丄斀寕偼敪惗偟側偄
return false;
}
// 峌寕傪庴偗傞懁偺憰旛晲婍傪庢摼
weapon = ItemControl.getEquippedWeapon(targetUnit);
// 晲婍傪憰旛偟偰偄側偄応崌偼丄斀寕偱偒側偄
if (weapon === null) {return false;}
// 乽堦曽岦乿偺晲婍偼斀寕偱側偄
if (weapon.isOneSide()) {return false;}
flag = 0;
var skill = SkillControl.getPossessionCustomSkill(targetUnit,'superbow');
if(skill){flag += 1;}
var skill = SkillControl.getPossessionCustomSkill(targetUnit,'Proximity_fire');
if(skill){flag += 10;}
if(flag !== 0){
var indexArray = IndexArray.createsuperbow(targetUnit.getMapX(), targetUnit.getMapY(), weapon, flag);}
else{
var indexArray = IndexArray.createIndexArray(targetUnit.getMapX(), targetUnit.getMapY(), weapon);}
return IndexArray.findUnit(indexArray, unit);
}
UnitRangePanel._setRangeData = function() {
var i, item, count;
var startRange = 99;
var endRange = 0;
var isWeapon = false;
var mov = ParamBonus.getMov(this._unit);
// 帺孯偱側偄応崌偼丄嵟傕幩掱偑偁傞晲婍傪嶲徠偡傞
count = UnitItemControl.getPossessionItemCount(this._unit);
for (i = 0; i < count; i++) {
item = UnitItemControl.getItem(this._unit, i);
if (ItemControl.isWeaponAvailable(this._unit, item)) {
if (item.getStartRange() < startRange) {
startRange = item.getStartRange();
var skill = SkillControl.getPossessionCustomSkill(this._unit,'Proximity_fire');
if(skill){if(item.custom.wtype == 3){startRange = 1;}}}
if (item.getEndRange() > endRange) {
endRange = item.getEndRange();
var skill = SkillControl.getPossessionCustomSkill(this._unit,'superbow');
if(skill){if(item.custom.wtype == 3){endRange += 1;}}}
isWeapon = true;
}
}
if (isWeapon) {
this._simulator.startSimulationWeapon(this._unit, mov, startRange, endRange);
}
else {
this._simulator.startSimulation(this._unit, mov);
}
this._setLight(isWeapon);
}
2020年12月21日 15点12分 1
level 5
可能更新了就無效了[惊讶]
2020年12月22日 07点12分 2
level 5
就算是版本没更新,这个也不是直接用的脚本- -!
那些乱码实际上就是脚本使用说明……
你用能翻译乱码的软件打开,有些浏览器自带这种功能
我只有一个旧版本的
里面文字内容是
*--------------------------------------------------------------------------
 強弓?近接射撃スクリプト 作1-239
【概要】
強弓スキル取得者は{wtype:3}の武器の最大射程が1増えます
近接射撃スキル取得者は{wtype:3}の武器の最低射程が1になります
装備してる武器より射程が長い武器持ってても
装備してる武器の射程しか行動範囲で表示されない"仕様"を修正
わざわざif文で分岐させてるのを見るにバグじゃないんだよなぁ…
このスクリプトを導入する場合
射程表示修正スクリプトは導入しないでください
強弓スキルのキーワード→'superbow'
近接射撃スキルのキーワード→'Proximity_fire'
1/16 1050対応
4/21 近接射撃追加 敵が射程3攻撃をするように あと反撃
19/04/05 敵AIの思考ルーチンが自軍?同盟軍の強弓スキル所持を考慮していなかった点を修正(名前未定(仮))
敵が反撃武器選択.jsとの競合対策実施(名前未定(仮))
这个是需要技能和武器相对应才能有效的脚本
武器上是需要你在武器自定义参数(就是软件里武器页面 新建武器右边那个按钮)里
写上{wtype:3}
技能上你新建一个技能,然后选自定义,技能效果里写上superbow或者Proximity_fire
superbow是有技能的角色持有对应武器射程增加
Proximity_fire是有技能的角色持有对应武器可以近程射击
2020年12月25日 12点12分 3
感谢大神赐教,我去试试
2020年12月29日 19点12分
1