设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2771|回复: 10
打印 上一主题 下一主题

[已经过期] 能否为MOG_ChainCommands连携技设置触发概率?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1246
在线时间
153 小时
注册时间
2006-2-12
帖子
226
跳转到指定楼层
1
发表于 2016-11-4 16:41:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
代码如下,这个连携技触发是100%的,所以我想问能否设置一个触发几率?

  1. //=============================================================================
  2. // MOG_ChainCommands.js
  3. //=============================================================================

  4. /*:
  5. * @plugindesc (v1.3) Sistema de link de ações.
  6. * @author Moghunter
  7. *
  8. * @param X-Axis
  9. * @desc Definição X-axis geral.
  10. * @default 0
  11. *
  12. * @param Y-Axis
  13. * @desc Definição Y-axis geral.
  14. * @default 0
  15. *
  16. * @param Key X-Axis
  17. * @desc Definição X-axis do botão.
  18. * @default 16
  19. *
  20. * @param Key Y-Axis
  21. * @desc Definição Y-axis do botão.
  22. * @default -32
  23. *
  24. * @param Gauge X-Axis
  25. * @desc Definição X-axis do medidor de tempo.
  26. * @default 17
  27. *
  28. * @param Gauge Y-Axis
  29. * @desc Definição Y-axis do medidor de tempo.
  30. * @default 1  
  31. *
  32. * @param Name X-Axis
  33. * @desc Definição X-axis do nome da habilidade.
  34. * @default 15
  35. *
  36. * @param Name Y-Axis
  37. * @desc Definição Y-axis do nome da habilidade.
  38. * @default 18
  39. *
  40. * @help  
  41. * =============================================================================
  42. * +++ MOG - Chain Commands (v1.3) +++
  43. * By Moghunter
  44. * https://atelierrgss.wordpress.com/
  45. * =============================================================================
  46. * O sistema permite executar combos através da execução da sequência de botões.
  47. *
  48. * Serão necessários os arquivos. (img/system/)
  49. *
  50. * Chain_A.png
  51. * Chain_B.png
  52. * Chain_B.png
  53. *
  54. * =============================================================================
  55. * UTILIZAÇÃO
  56. * =============================================================================
  57. * Utilize o comentário abaixo na caixa de notas da habilidade.
  58. *
  59. * Chain Action: SKILL_ID : NUMBER_OF_INPUTS : INPUT_TIME
  60. *
  61. * SKILL_ID         - ID da habilidade.
  62. * NUMBER_OF_INPUTS - Numero de vezes para apertar o botão.
  63. * INPUT_TIME       - Tempo para apertar os botões.
  64. *
  65. * (Exemplo)
  66. *
  67. * Chain Action: 10:5:60
  68. * =============================================================================
  69. *  HITÓRICO
  70. * =============================================================================
  71. * (1.3) - Corrigido o erro de ativar o comando no fim da batalha.  
  72. * (1.2) - Corrigido o código de compatibilidade.
  73. * (1.1) - Corrigido o erro de permitir o input durante o collapso do inimigo.
  74. *
  75. */

  76. //=============================================================================
  77. // ** PLUGIN PARAMETERS
  78. //=============================================================================
  79.   var Imported = Imported || {};
  80.   Imported.MOG_ChainCommands = true;
  81.   var Moghunter = Moghunter || {};

  82.    Moghunter.parameters = PluginManager.parameters('MOG_ChainCommands');
  83.         Moghunter.chainCom_x = Number(Moghunter.parameters['X-Axis'] || 0);
  84.         Moghunter.chainCom_y = Number(Moghunter.parameters['Y-Axis'] || 0);
  85.         Moghunter.chainCom_Key_x = Number(Moghunter.parameters['Key X-Axis'] || 16);
  86.         Moghunter.chainCom_Key_y = Number(Moghunter.parameters['Key Y-Axis'] || -32);
  87.         Moghunter.chainCom_Meter_x = Number(Moghunter.parameters['Gauge X-Axis'] || 17);
  88.         Moghunter.chainCom_Meter_y = Number(Moghunter.parameters['Gauge Y-Axis'] || 1);
  89.         Moghunter.chainCom_Name_x = Number(Moghunter.parameters['Name X-Axis'] || 15);
  90.         Moghunter.chainCom_Name_y = Number(Moghunter.parameters['Name Y-Axis'] || 18);
  91.        
  92. //=============================================================================
  93. // ** Game Temp
  94. //=============================================================================

  95. //==============================
  96. // * Initialize
  97. //==============================
  98. var _alias_mog_bchain_gtemp_initialize = Game_Temp.prototype.initialize;
  99. Game_Temp.prototype.initialize = function() {
  100.         _alias_mog_bchain_gtemp_initialize.call(this);
  101.         this._bchainTemp = false;
  102.         this.clearBchain();
  103. };

  104. //==============================
  105. // * Clear Bchain
  106. //==============================
  107. Game_Temp.prototype.clearBchain = function() {
  108.     this._bchainData = [false,null,null,null,null,0,0,null,false,false,false,false];
  109. };

  110. //=============================================================================
  111. // ** Game Action
  112. //=============================================================================

  113. //==============================
  114. // * applyItemUserEffect
  115. //==============================
  116. var _mog_bchain_gaction_applyItemUserEffect = Game_Action.prototype.applyItemUserEffect;
  117. Game_Action.prototype.applyItemUserEffect = function(target) {
  118.         $gameTemp._bchainData[11] = true;
  119.         _mog_bchain_gaction_applyItemUserEffect.call(this,target)
  120. };

  121. //=============================================================================
  122. // ** Battle Manager
  123. //=============================================================================

  124. //==============================
  125. // * Start Action
  126. //==============================
  127. var _mog_bchain_bmngr_startAction = BattleManager.startAction;
  128. BattleManager.startAction = function() {
  129.          $gameTemp.clearBchain();
  130.          if (this.canCheckChainCommands()) {this.checkChainAction()};
  131.         _mog_bchain_bmngr_startAction.call(this);
  132. };

  133. //==============================
  134. // * Can Check Chain Commands
  135. //==============================
  136. BattleManager.canCheckChainCommands = function() {
  137.         if (this._subject.isEnemy()) {return false};
  138.     if (!this._subject.currentAction()) {return false};
  139.         if (!this._subject.currentAction().item()) {return false};
  140.         return true;
  141. };

  142. //==============================
  143. // * Check Chain Action
  144. //==============================
  145. BattleManager.checkChainAction = function() {       
  146.         var item = this._subject.currentAction().item();
  147.         var item_notes = item.note.split(/[\r\n]+/);
  148.     item_notes.forEach(function(note) {
  149.          var note_data = note.split(': ')
  150.                  if (note_data[0].toLowerCase() == "chain action"){                         
  151.                          var par = note_data[1].split(':');
  152.                          var action = $dataSkills[Number(par[0])];
  153.                       var times = Math.min(Math.max(Number(par[1]),1),999);
  154.                          var duration = Math.min(Math.max(Number(par[2]),10),999);                         
  155.                          if (action) {
  156.                             $gameTemp._bchainData[1] = action;
  157.                                 $gameTemp._bchainData[6] = times;
  158.                                 $gameTemp._bchainData[7] = duration;
  159.                          };
  160.          };
  161.         },this);
  162. };

  163. //==============================
  164. // * Invoke Action
  165. //==============================
  166. var _mog_bchain_bmngr_invokeAction = BattleManager.invokeAction;
  167. BattleManager.invokeAction = function(subject, target) {
  168.     if ($gameTemp._bchainData[1]) {BattleManager.setBchainPosition(subject, target)};
  169.         _mog_bchain_bmngr_invokeAction.call(this,subject, target);       
  170. };

  171. //==============================
  172. // * set Bchain Position
  173. //==============================
  174. BattleManager.setBchainPosition = function(subject, target) {
  175.         if (this._subject.isActor()) {
  176.                 $gameTemp._bchainData[8] = target;
  177.                 if ($gameTemp._bchainData[1].scope === 1 ||
  178.                     $gameTemp._bchainData[1].scope === 7 ||
  179.                         $gameTemp._bchainData[1].scope === 9) {
  180.                         $gameTemp._bchainData[4] = target;
  181.                 } else {
  182.                 if ($gameSystem.isSideView()) {
  183.                             $gameTemp._bchainData[4] = this._subject;
  184.                         } else {
  185.                                 $gameTemp._bchainData[2] = Graphics.boxWidth / 2;
  186.                                 $gameTemp._bchainData[3] = Graphics.boxHeight / 2;               
  187.                         };       
  188.                 };
  189.         };
  190. };       
  191.        
  192. //==============================
  193. // * End Action
  194. //==============================
  195. var _mog_bchain_bmngr_endAction = BattleManager.endAction;
  196. BattleManager.endAction = function() {
  197.         if (BattleManager.canUseChainAction()) {
  198.                 $gameTemp._bchainData[0] = true;
  199.                 $gameTemp._bchainTemp = true;
  200.                 if ($gameTemp._bchainData[9]) {this.executeChainAction()};
  201.                 return;
  202.           };
  203.          _mog_bchain_bmngr_endAction.call(this);
  204.          $gameTemp.clearBchain();
  205.          $gameTemp._bchainTemp = false;
  206. };

  207. //==============================
  208. // * can Use Chain Action
  209. //==============================
  210. BattleManager.canUseChainAction = function() {
  211.         if (!$gameTemp._bchainData[1]) {return false};
  212.         if (!$gameTemp._bchainData[11]) {return false};
  213.         if (!this._subject) {return false};
  214.         if (!this._subject.canInput()) {return false};
  215.         if (this._subject.isDead()) {return false};
  216.         if ($gameParty.isAllDead()) {return false};
  217.         if ($gameTroop.isAllDead()) {return false};
  218.         if (!this._subject.canUse($gameTemp._bchainData[1])) {return false};
  219.         if ($gameTemp._bchainData[1].scope === 1 ||
  220.                  $gameTemp._bchainData[1].scope === 7 ||
  221.                  $gameTemp._bchainData[1].scope === 9) {
  222.              if (!$gameTemp._bchainData[8]) {return false};
  223.                  if ($gameTemp._bchainData[8].isDead()) {return false};
  224.     }
  225.         return true;
  226. };

  227. //==============================
  228. // * execute Chain Action
  229. //==============================
  230. BattleManager.executeChainAction = function() {
  231.         if ($gameTemp._bchainData[10]) {
  232.             this._subject.forceAction($gameTemp._bchainData[1].id, -2);               
  233.                 $gameTemp.clearBchain();
  234.             BattleManager.processTurn();
  235.         } else {
  236.                 $gameTemp.clearBchain();
  237.         };
  238. };

  239. //=============================================================================
  240. // ** Sprite Battler
  241. //=============================================================================

  242. //==============================
  243. // * update Main
  244. //==============================
  245. var _mog_bchain_sprbattler_updateMain = Sprite_Battler.prototype.updateMain;
  246. Sprite_Battler.prototype.updateMain = function() {
  247.         _mog_bchain_sprbattler_updateMain.call(this);
  248.         if (this.needUpdateBchainPosition()) {this.updateBchainPosition()};
  249. };

  250. //==============================
  251. // * need Update Bchain Pos
  252. //==============================
  253. Sprite_Battler.prototype.needUpdateBchainPosition = function() {
  254.    if (!$gameTemp._bchainData[4]) {return false};
  255.    if ($gameTemp._bchainData[4] != this._battler) {return false};
  256.    return true;       
  257. };

  258. //==============================
  259. // * update B Chain Position
  260. //==============================
  261. Sprite_Battler.prototype.updateBchainPosition = function() {
  262.         $gameTemp._bchainData[2] = this.x;
  263.         $gameTemp._bchainData[3] = this.y;
  264.         if (this._mainSprite) {
  265.         $gameTemp._bchainData[3] -= this._mainSprite.height;
  266.         } else if (this._bitmap) {       
  267.             $gameTemp._bchainData[3] -= this._bitmap.height / 2;
  268.         };
  269. };

  270. //=============================================================================
  271. // ** Spriteset Battle
  272. //=============================================================================

  273. //==============================
  274. // * create Upper Layer
  275. //==============================
  276. var _mog_bchain_sprset_createUpperLayer = Spriteset_Battle.prototype.createUpperLayer;
  277. Spriteset_Battle.prototype.createUpperLayer = function() {
  278.         _mog_bchain_sprset_createUpperLayer.call(this);
  279.     this.createBchain();       
  280. };

  281. //==============================
  282. // * create B Chain
  283. //==============================
  284. Spriteset_Battle.prototype.createBchain = function() {
  285.     this._bchain = new BattleChainSprite();
  286.         this._bchain.z = 25;
  287.         this.addChild(this._bchain);
  288. };

  289. //==============================
  290. // * Update
  291. //==============================
  292. var _mog_bchain_sprtbat_update = Spriteset_Battle.prototype.update;
  293. Spriteset_Battle.prototype.update = function() {
  294.     _mog_bchain_sprtbat_update.call(this)
  295.         if (this._bchain && Imported.MOG_BattleCamera) {
  296.            this._bchain.x = this._battleField.x;
  297.            this._bchain.y = this._battleField.y;
  298.         };
  299. };

  300. if (Imported.MOG_BattleCamera) {
  301.         //==============================
  302.         // * Update Focus
  303.         //==============================
  304.         var _mog_bchaincom_sprbat_updateFocus = Spriteset_Battle.prototype.updateFocus;
  305.         Spriteset_Battle.prototype.updateFocus = function() {
  306.                 if ($gameTemp._bchainTemp) {$gameTemp._bcam_user[2] = 0};
  307.                 _mog_bchaincom_sprbat_updateFocus.call(this);
  308.         };
  309. };

  310. //=============================================================================
  311. // * Battle Chain Sprite
  312. //=============================================================================
  313. function BattleChainSprite() {
  314.     this.initialize.apply(this, arguments);
  315. };

  316. BattleChainSprite.prototype = Object.create(Sprite.prototype);
  317. BattleChainSprite.prototype.constructor = BattleChainSprite;

  318. //==============================
  319. // * Initialize
  320. //==============================
  321. BattleChainSprite.prototype.initialize = function() {
  322.     Sprite.prototype.initialize.call(this);       
  323.         this.z = 25;
  324.         this._data = [-1,-1,false];
  325.         this._keyIndex = 0;
  326.         this._duration = 0;
  327.     this.loadImages();
  328.         this.createLayout();
  329.         this.createMeter();       
  330.         this.createKeys();
  331.         this.createName();
  332. };

  333. //==============================
  334. // * Load Images
  335. //==============================
  336. BattleChainSprite.prototype.loadImages = function() {
  337.         this._keysImg = ImageManager.loadSystem("Chain_A");
  338.         this._layoutImg = ImageManager.loadSystem("Chain_B");
  339.         this._meterImg = ImageManager.loadSystem("Chain_C");
  340. };

  341. //==============================
  342. // * getData
  343. //==============================
  344. BattleChainSprite.prototype.getData = function() {       
  345.     this._data[0] = Math.floor(this._keysImg.width / 6);
  346.         this._data[1] = this._keysImg.height;
  347. };

  348. //==============================
  349. // * create Layout
  350. //==============================
  351. BattleChainSprite.prototype.createLayout = function() {       
  352.         this._layout = new Sprite(this._layoutImg);
  353.         this._layout.opacity = 0;
  354.         this._layout.anchor.x = 0.5;
  355.         this._layout.anchor.y = 0.5;
  356.         this.addChild(this._layout);
  357. };

  358. //==============================
  359. // * create Name
  360. //==============================
  361. BattleChainSprite.prototype.createName = function() {
  362.         this._name = new Sprite(new Bitmap(100,32));
  363.         this._name.opacity = 0;
  364.         this._name.anchor.x = 0.5;
  365.         this._name.anchor.y = 0.5;
  366.         this._name.bitmap.fontSize = 20;
  367.         this.addChild(this._name);
  368. };

  369. //==============================
  370. // * create Keys
  371. //==============================
  372. BattleChainSprite.prototype.createKeys = function() {
  373.         this._keys = new Sprite(this._keysImg);
  374.         this._keys.opacity = 0;
  375.         this._keys.anchor.x = 0.5;
  376.         this._keys.anchor.y = 0.5;       
  377.         this.addChild(this._keys);
  378. };

  379. //==============================
  380. // * create Meter
  381. //==============================
  382. BattleChainSprite.prototype.createMeter = function() {
  383.         this._meter = new Sprite(this._meterImg);
  384.         this._meter.opacity = 0;
  385.         this._meter.anchor.x = 0;
  386.         this._meter.anchor.y = 0.5;       
  387.         this.addChild(this._meter);       
  388. };

  389. //==============================
  390. // * Need Refresh
  391. //==============================
  392. BattleChainSprite.prototype.needRefresh = function() {
  393.         if ($gameTemp._bchainData[0] == this._data[2]) {return false};
  394.         if (!this.item()) {return false};
  395.         if (!this.posX()) {return false};
  396.         return true;
  397. };

  398. //==============================
  399. // * Item
  400. //==============================
  401. BattleChainSprite.prototype.item = function() {
  402.    return $gameTemp._bchainData[1];
  403. };

  404. //==============================
  405. // * posX
  406. //==============================
  407. BattleChainSprite.prototype.posX = function() {
  408.    return $gameTemp._bchainData[2] + Moghunter.chainCom_x;
  409. };

  410. //==============================
  411. // * posY
  412. //==============================
  413. BattleChainSprite.prototype.posY = function() {
  414.    return $gameTemp._bchainData[3] + Moghunter.chainCom_y;
  415. };

  416. //==============================
  417. // * Times
  418. //==============================
  419. BattleChainSprite.prototype.times = function() {
  420.    return $gameTemp._bchainData[6];
  421. };

  422. //==============================
  423. // * Duration
  424. //==============================
  425. BattleChainSprite.prototype.duration = function() {
  426.    return $gameTemp._bchainData[7];
  427. };

  428. //==============================
  429. // * Refresh
  430. //==============================
  431. BattleChainSprite.prototype.refresh = function() {       
  432.         this._data[2] = $gameTemp._bchainData[0];
  433.         this._duration = this.duration();
  434.         this._layout.opacity = 255;
  435.         this._keys.opacity = 255;
  436.         this._keys.scale.x = 2.0;
  437.         this._keys.scale.y = 2.0;
  438.         this._meter.opacity = 255;
  439.         this._name.opacity = 255;
  440.         this._name.bitmap.clear();
  441.         this._name.bitmap.drawText(this.item().name,0,0,100,32,"center");
  442.         this._keys.setFrame(this._data[0] * this._keyIndex,0,this._data[0],this._data[1]);
  443. };

  444. //==============================
  445. // * need Update Action
  446. //==============================
  447. BattleChainSprite.prototype.needUpdateAction = function() {
  448.         if (!this.item()) {return false};
  449.         if (!this.posX()) {return false};
  450.         if (this._layout.opacity == 0) {return false};
  451.         return true;
  452. };

  453. //==============================
  454. // * Update Action
  455. //==============================
  456. BattleChainSprite.prototype.updateAction = function() {
  457.      this.updatePosition();
  458.          this.updateCommands();
  459.          if (this._duration > 0) {this.updateTime()};
  460. };

  461. //==============================
  462. // * Update Action
  463. //==============================
  464. BattleChainSprite.prototype.updateTime = function() {
  465.       this._duration --
  466.       this.updateMeter();
  467.           if (this._duration <= 0) {this.setWrong();};
  468. };

  469. //==============================
  470. // * Update Meter
  471. //==============================
  472. BattleChainSprite.prototype.updateMeter = function() {
  473.           var rate = this._duration * this._meterImg.width / this.duration();
  474.           this._meter.setFrame(0,0,rate,this._meterImg.height)
  475. };

  476. //==============================
  477. // * Update Action
  478. //==============================
  479. BattleChainSprite.prototype.check_key = function(value) {
  480.     if (value == this._keyIndex) {               
  481.             this.nextKey();
  482.         } else {
  483.         this.setWrong();
  484.         };
  485. };

  486. //==============================
  487. // * set Wrong
  488. //==============================
  489. BattleChainSprite.prototype.setWrong = function(value) {
  490.         SoundManager.playBuzzer();
  491.         this.clearCommands();
  492. };

  493. //==============================
  494. // * Next Key
  495. //==============================
  496. BattleChainSprite.prototype.nextKey = function(value) {
  497.         if (this.times() <= 0) {this.enableAction();return};       
  498.         SoundManager.playCursor();
  499.     this._keyIndex = Math.randomInt(6);
  500.         $gameTemp._bchainData[6] -= 1;
  501.         this.refresh();
  502. };

  503. //==============================
  504. // * enable Action
  505. //==============================
  506. BattleChainSprite.prototype.enableAction = function(value) {
  507.         SoundManager.playUseSkill();
  508.         $gameTemp._bchainData[10] = true;
  509.         this.clearCommands();
  510. };

  511. //==============================
  512. // * Set Wrong
  513. //==============================
  514. BattleChainSprite.prototype.clearCommands = function() {
  515.         this._layout.opacity = 0;
  516.         this._keys.opacity = 0;
  517.         this._meter.opacity = 0;
  518.         this._name.opacity = 0;       
  519.         this._duration = 0;
  520.         this._data[2] = false;
  521.         $gameTemp._bchainData[9] = true;
  522. };

  523. //==============================
  524. // * Update Commands
  525. //==============================
  526. BattleChainSprite.prototype.updateCommands = function() {
  527.         if (Input.isTriggered("right")) {this.check_key(0)}
  528.         else if (Input.isTriggered("left")) {this.check_key(1)}
  529.         else if (Input.isTriggered("down")) {this.check_key(2)}
  530.         else if (Input.isTriggered("up")) {this.check_key(3)}
  531.         else if (Input.isTriggered("ok")) {this.check_key(4)}
  532.         else if (Input.isTriggered("cancel")) {this.check_key(5)}        ;
  533. };

  534. //==============================
  535. // * Update Position
  536. //==============================
  537. BattleChainSprite.prototype.updatePosition = function() {
  538.         this._layout.x = this.posX();
  539.         this._layout.y = this.posY();
  540.         this._keys.x = this.posX() + Moghunter.chainCom_Key_x;
  541.         this._keys.y = this.posY() + Moghunter.chainCom_Key_y;       
  542.         this._meter.x = this.posX() - (this._meterImg.width / 2) + Moghunter.chainCom_Meter_x;
  543.         this._meter.y = this.posY() + Moghunter.chainCom_Meter_y;                
  544.     this._name.x = this.posX() + Moghunter.chainCom_Name_x;
  545.     this._name.y = this.posY() + Moghunter.chainCom_Name_y;
  546. };

  547. //==============================
  548. // * Update
  549. //==============================
  550. BattleChainSprite.prototype.update = function() {
  551.     Sprite.prototype.update.call(this);       
  552.         if (this._data[0] === -1) {
  553.            if (this._keysImg.isReady() && this._meterImg.isReady()) {this.getData()};
  554.            return;
  555.     };
  556.         if (this.needRefresh()) {this.nextKey()};
  557.         if (this.needUpdateAction()) {this.updateAction()};
  558.         if (this._keys.scale.x > 1.00) {this._keys.scale.x -= 0.1};
  559.         this._keys.scale.y = this._keys.scale.x
  560. };
复制代码

Lv1.梦旅人

梦石
0
星屑
55
在线时间
112 小时
注册时间
2008-12-9
帖子
166
2
发表于 2016-11-6 10:18:23 | 只看该作者
同求 哈哈!我也正想着如何概率触发。因为每次都要按很麻烦。这样就不算福利加成了。

点评

顶顶帖子……求了几天了……我也是觉得 每次都触发的话战斗节奏很慢,对于加成也不好,游戏生态破坏了,怪物都太容易打……  发表于 2016-11-7 16:51
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1246
在线时间
153 小时
注册时间
2006-2-12
帖子
226
3
 楼主| 发表于 2016-11-8 14:43:56 | 只看该作者
顶顶……有人吗
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1206
在线时间
561 小时
注册时间
2014-11-30
帖子
155
4
发表于 2016-11-10 10:14:43 | 只看该作者
有没有大神研究啊,这插件应该每个人都想要,几率是关键,100%就没意思了

点评

确实是,因为每次都蹦出来就没意思了,所以把这个插件关闭了,如果是随机的话或者根据技能出现就有意思了。  发表于 2016-11-11 14:22
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
407 小时
注册时间
2011-4-10
帖子
359
5
发表于 2016-11-13 23:46:38 | 只看该作者
这个插件本来就是可以自定义哪些技能有连携效果呀,又不是默认所有技能都触发。而且二连比较好出,三连、四连就不是那么容易了。如果嫌太容易,还可以改短按键等待时间。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
407 小时
注册时间
2011-4-10
帖子
359
6
发表于 2016-11-13 23:54:25 | 只看该作者
我感觉这插件挺适合做武侠游戏。比如起手使一招有凤来仪,然后按键,成功再接一招苍松迎客,再按键,再成功的话再接一招金雁横空,继续按键,还成功的话接一招无边落木,不是很带感吗?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1246
在线时间
153 小时
注册时间
2006-2-12
帖子
226
7
 楼主| 发表于 2016-11-18 13:20:02 | 只看该作者
sutao80216 发表于 2016-11-13 23:46
这个插件本来就是可以自定义哪些技能有连携效果呀,又不是默认所有技能都触发。而且二连比较好出,三连、四 ...

如何自定义?另外除了自定义那些技能有连携技,还得要有 触发几率 不是每次用都触发的
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1246
在线时间
153 小时
注册时间
2006-2-12
帖子
226
8
 楼主| 发表于 2017-1-29 16:51:42 | 只看该作者
sutao80216 发表于 2016-11-13 23:46
这个插件本来就是可以自定义哪些技能有连携效果呀,又不是默认所有技能都触发。而且二连比较好出,三连、四 ...

请问如何自定义哪些技能可以触发连携效果? 我找了一圈没找到
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
440
在线时间
679 小时
注册时间
2014-3-15
帖子
292

开拓者

9
发表于 2017-1-29 17:10:03 | 只看该作者
can Use Chain Action段中定义了在何种情况下可以使用技能。即return true。
想法为在retrun true前加限定条件。
例如 (user.luk > target.luk) 即,使用者幸运值大于目标幸运值,可以发动。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-29 07:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表