[RMVX] ACTOR SELECT WINDOW HELP PLEAASE
Posts
Pages:
1
Please help me, I have been trying really hard but still no idea how to do it:
I want to change the actor selection screen when I choose an item or skill both outside and inside battles. In my game, when you choose to use an item or skill (skill that are for allies, like cure) if a specific actor is in party, the selection window of actors (to choose who you are going to use the skill or item) won't display that actor but other 2 actors in their place instead regardless if they are in party or not.
I would appreciate a lot any help, direction with this, really. Is it possible to add or remove actors from only the selection screen of actors when using an item or skill? I am really sorry if this might sound a bit complex (I hope it isn't)
I want to change the actor selection screen when I choose an item or skill both outside and inside battles. In my game, when you choose to use an item or skill (skill that are for allies, like cure) if a specific actor is in party, the selection window of actors (to choose who you are going to use the skill or item) won't display that actor but other 2 actors in their place instead regardless if they are in party or not.
I would appreciate a lot any help, direction with this, really. Is it possible to add or remove actors from only the selection screen of actors when using an item or skill? I am really sorry if this might sound a bit complex (I hope it isn't)
You edited your post and still never provided the code that is not working correctly, which should be as large as deemed necessary. How are we supposed to know what you have touched there?
author=kyonides
You edited your post and still never provided the code that is not working correctly, which should be as large as deemed necessary. How are we supposed to know what you have touched there?
I believe it's a mess, but I tried to create several copies of the windows status and others that are linked so then I could call it when I select an item but now it doesn't even open the select menu for actors. I think the problem is that I am not sure exactly what I am supposed to do to achieve what I want.
Scene_Battle.prototype.createActorBattleWindow= function() { this._actorBattleWindow = new Window_BattleSubActor(0, this._statusWindow.y); this._actorBattleWindow.setHandler('ok', this.onActorOkBattle.bind(this)); this._actorBattleWindow.setHandler('cancel', this.onActorCancelBattle.bind(this)); this.addWindow(this._actorBattleWindow); };
What I did like I said before was create several windows that are copies of the main battle status window (above It's my copy of the "Actorwindow" function, so I could edit everything as a different window and call it when I am selecting the item but now that I did it doesn't even open the selection screen for selecting the actor.
function Scene_Battle() { this.initialize.apply(this, arguments); } Scene_Battle.prototype = Object.create(Scene_Base.prototype); Scene_Battle.prototype.constructor = Scene_Battle; Scene_Battle.prototype.initialize = function() { Scene_Base.prototype.initialize.call(this); }; Scene_Battle.prototype.create = function() { Scene_Base.prototype.create.call(this); this.createDisplayObjects(); }; Scene_Battle.prototype.start = function() { Scene_Base.prototype.start.call(this); this.startFadeIn(this.fadeSpeed(), false); BattleManager.playBattleBgm(); BattleManager.startBattle(); }; Scene_Battle.prototype.update = function() { var active = this.isActive(); $gameTimer.update(active); $gameScreen.update(); this.updateStatusWindow(); this.updateWindowPositions(); if (active && !this.isBusy()) { this.updateBattleProcess(); } Scene_Base.prototype.update.call(this); }; Scene_Battle.prototype.updateBattleProcess = function() { if (!this.isAnyInputWindowActive() || BattleManager.isAborting() || BattleManager.isBattleEnd()) { BattleManager.update(); this.changeInputWindow(); } }; Scene_Battle.prototype.isAnyInputWindowActive = function() { return (this._partyCommandWindow.active || this._actorCommandWindow.active || this._skillWindow.active || this._itemWindow.active || this._actorWindow.active || this._enemyWindow.active); }; Scene_Battle.prototype.changeInputWindow = function() { if (BattleManager.isInputting()) { if (BattleManager.actor()) { this.startActorCommandSelection(); } else { this.startPartyCommandSelection(); } } else { this.endCommandSelection(); } }; Scene_Battle.prototype.stop = function() { Scene_Base.prototype.stop.call(this); if (this.needsSlowFadeOut()) { this.startFadeOut(this.slowFadeSpeed(), false); } else { this.startFadeOut(this.fadeSpeed(), false); } this._statusWindow.close(); this._partyCommandWindow.close(); this._actorCommandWindow.close(); }; Scene_Battle.prototype.terminate = function() { Scene_Base.prototype.terminate.call(this); $gameParty.onBattleEnd(); $gameTroop.onBattleEnd(); AudioManager.stopMe(); ImageManager.clearRequest(); }; Scene_Battle.prototype.needsSlowFadeOut = function() { return (SceneManager.isNextScene(Scene_Title) || SceneManager.isNextScene(Scene_Gameover)); }; Scene_Battle.prototype.updateStatusWindow = function() { if ($gameMessage.isBusy()) { this._statusWindow.close(); this._partyCommandWindow.close(); this._actorCommandWindow.close(); } else if (this.isActive() && !this._messageWindow.isClosing()) { this._statusWindow.open(); } }; Scene_Battle.prototype.updateWindowPositions = function() { var statusX = 0; if (BattleManager.isInputting()) { statusX = this._partyCommandWindow.width; } else { statusX = this._partyCommandWindow.width / 2; } if (this._statusWindow.x < statusX) { this._statusWindow.x += 16; if (this._statusWindow.x > statusX) { this._statusWindow.x = statusX; } } if (this._statusWindow.x > statusX) { this._statusWindow.x -= 16; if (this._statusWindow.x < statusX) { this._statusWindow.x = statusX; } } }; Scene_Battle.prototype.createDisplayObjects = function() { this.createSpriteset(); this.createWindowLayer(); this.createAllWindows(); BattleManager.setLogWindow(this._logWindow); BattleManager.setStatusWindow(this._statusWindow); BattleManager.setSpriteset(this._spriteset); this._logWindow.setSpriteset(this._spriteset); }; Scene_Battle.prototype.createSpriteset = function() { this._spriteset = new Spriteset_Battle(); this.addChild(this._spriteset); }; Scene_Battle.prototype.createAllWindows = function() { this.createLogWindow(); this.createStatusWindow(); this.createPartyCommandWindow(); this.createActorCommandWindow(); this.createHelpWindow(); this.createSkillWindow(); this.createItemWindow(); this.createActorWindow(); this.createActorBattleWindow(); this.createEnemyWindow(); this.createMessageWindow(); this.createScrollTextWindow(); }; Scene_Battle.prototype.createLogWindow = function() { this._logWindow = new Window_BattleLog(); this.addWindow(this._logWindow); }; Scene_Battle.prototype.createStatusWindow = function() { this._statusWindow = new Window_BattleStatus(); this.addWindow(this._statusWindow); }; Scene_Battle.prototype.createPartyCommandWindow = function() { this._partyCommandWindow = new Window_PartyCommand(); this._partyCommandWindow.setHandler('fight', this.commandFight.bind(this)); this._partyCommandWindow.setHandler('escape', this.commandEscape.bind(this)); this._partyCommandWindow.deselect(); this.addWindow(this._partyCommandWindow); }; Scene_Battle.prototype.createActorCommandWindow = function() { this._actorCommandWindow = new Window_ActorCommand(); this._actorCommandWindow.setHandler('attack', this.commandAttack.bind(this)); this._actorCommandWindow.setHandler('skill', this.commandSkill.bind(this)); this._actorCommandWindow.setHandler('guard', this.commandGuard.bind(this)); this._actorCommandWindow.setHandler('item', this.commandItem.bind(this)); this._actorCommandWindow.setHandler('cancel', this.selectPreviousCommand.bind(this)); this.addWindow(this._actorCommandWindow); }; Scene_Battle.prototype.createHelpWindow = function() { this._helpWindow = new Window_Help(); this._helpWindow.visible = false; this.addWindow(this._helpWindow); }; Scene_Battle.prototype.createSkillWindow = function() { var wy = this._helpWindow.y + this._helpWindow.height; var wh = this._statusWindow.y - wy; this._skillWindow = new Window_BattleSkill(0, wy, Graphics.boxWidth, wh); this._skillWindow.setHelpWindow(this._helpWindow); this._skillWindow.setHandler('ok', this.onSkillOk.bind(this)); this._skillWindow.setHandler('cancel', this.onSkillCancel.bind(this)); this.addWindow(this._skillWindow); }; Scene_Battle.prototype.createItemWindow = function() { var wy = this._helpWindow.y + this._helpWindow.height; var wh = this._statusWindow.y - wy; this._itemWindow = new Window_BattleItem(0, wy, Graphics.boxWidth, wh); this._itemWindow.setHelpWindow(this._helpWindow); this._itemWindow.setHandler('ok', this.onItemOk.bind(this)); this._itemWindow.setHandler('cancel', this.onItemCancel.bind(this)); this.addWindow(this._itemWindow); }; Scene_Battle.prototype.createActorWindow = function() { this._actorWindow = new Window_BattleActor(0, this._statusWindow.y); this._actorWindow.setHandler('ok', this.onActorOk.bind(this)); this._actorWindow.setHandler('cancel', this.onActorCancel.bind(this)); this.addWindow(this._actorWindow); }; Scene_Battle.prototype.createActorBattleWindow= function() { this._actorBattleWindow = new Window_BattleSubActor(0, this._statusWindow.y); this._actorBattleWindow.setHandler('ok', this.onActorOkBattle.bind(this)); this._actorBattleWindow.setHandler('cancel', this.onActorCancelBattle.bind(this)); this.addWindow(this._actorBattleWindow); }; Scene_Battle.prototype.createEnemyWindow = function() { this._enemyWindow = new Window_BattleEnemy(0, this._statusWindow.y); this._enemyWindow.x = Graphics.boxWidth - this._enemyWindow.width; this._enemyWindow.setHandler('ok', this.onEnemyOk.bind(this)); this._enemyWindow.setHandler('cancel', this.onEnemyCancel.bind(this)); this.addWindow(this._enemyWindow); }; Scene_Battle.prototype.createMessageWindow = function() { this._messageWindow = new Window_Message(); this.addWindow(this._messageWindow); this._messageWindow.subWindows().forEach(function(window) { this.addWindow(window); }, this); }; Scene_Battle.prototype.createScrollTextWindow = function() { this._scrollTextWindow = new Window_ScrollText(); this.addWindow(this._scrollTextWindow); }; Scene_Battle.prototype.refreshStatus = function() { this._statusWindow.refresh(); }; Scene_Battle.prototype.refreshStatusBattle = function() { this._statusWindow.refresh(); }; Scene_Battle.prototype.startPartyCommandSelection = function() { this.refreshStatus(); this._statusWindow.deselect(); this._statusWindow.open(); this._actorCommandWindow.close(); this._partyCommandWindow.setup(); }; Scene_Battle.prototype.commandFight = function() { this.selectNextCommand(); }; Scene_Battle.prototype.commandEscape = function() { BattleManager.processEscape(); this.changeInputWindow(); }; Scene_Battle.prototype.startActorCommandSelection = function() { this._statusWindow.select(BattleManager.actor().index()); this._partyCommandWindow.close(); this._actorCommandWindow.setup(BattleManager.actor()); }; Scene_Battle.prototype.commandAttack = function() { BattleManager.inputtingAction().setAttack(); this.selectEnemySelection(); }; Scene_Battle.prototype.commandSkill = function() { this._skillWindow.setActor(BattleManager.actor()); this._skillWindow.setStypeId(this._actorCommandWindow.currentExt()); this._skillWindow.refresh(); this._skillWindow.show(); this._skillWindow.activate(); }; Scene_Battle.prototype.commandGuard = function() { BattleManager.inputtingAction().setGuard(); this.selectNextCommand(); }; Scene_Battle.prototype.commandItem = function() { this._itemWindow.refresh(); this._itemWindow.show(); this._itemWindow.activate(); }; Scene_Battle.prototype.selectNextCommand = function() { BattleManager.selectNextCommand(); this.changeInputWindow(); }; Scene_Battle.prototype.selectPreviousCommand = function() { BattleManager.selectPreviousCommand(); this.changeInputWindow(); }; Scene_Battle.prototype.selectActorSelection = function() { this._actorWindow.refresh(); this._ActorWindow.show(); this._actorWindow.activate(); }; Scene_Battle.prototype.selectActorSelectionBattle = function() { this._ActorBattleWindow.refresh(); this._ActorBattleWindow.show(); this._ActorBattleWindow.activate(); }; Scene_Battle.prototype.onActorOk = function() { var action = BattleManager.inputtingAction(); action.setTarget(this._actorWindow.index()); this._actorWindow.hide(); this._skillWindow.hide(); this._itemWindow.hide(); this.selectNextCommand();}; //Battle Scene_Battle.prototype.onActorOkBattle = function() { var action = BattleManager.inputtingAction(); action.setTarget(this._ActorBattleWindow.index()); this._ActorBattleWindow.hide() this._skillWindow.hide(); this._itemWindow.hide(); this.selectNextCommand(); }; Scene_Battle.prototype.onActorCancel = function() { this._actorWindow.hide(); switch (this._actorCommandWindow.currentSymbol()) { case 'skill': this._skillWindow.show(); this._skillWindow.activate(); break; case 'item': this._itemWindow.show(); this._itemWindow.activate(); break; } }; //Battle Scene_Battle.prototype.onActorCancelBattle = function() { this._ActorBattleWindow.hide(); switch (this._actorCommandWindow.currentSymbol()) { case 'skill': this._skillWindow.show(); this._skillWindow.activate(); break; case 'item': this._itemWindow.show(); this._itemWindow.activate(); break; } }; Scene_Battle.prototype.selectEnemySelection = function() { this._enemyWindow.refresh(); this._enemyWindow.show(); this._enemyWindow.select(0); this._enemyWindow.activate(); }; Scene_Battle.prototype.onEnemyOk = function() { var action = BattleManager.inputtingAction(); action.setTarget(this._enemyWindow.enemyIndex()); this._enemyWindow.hide(); this._skillWindow.hide(); this._itemWindow.hide(); this.selectNextCommand(); }; Scene_Battle.prototype.onEnemyCancel = function() { this._enemyWindow.hide(); switch (this._actorCommandWindow.currentSymbol()) { case 'attack': this._actorCommandWindow.activate(); break; case 'skill': this._skillWindow.show(); this._skillWindow.activate(); break; case 'item': this._itemWindow.show(); this._itemWindow.activate(); break; } }; Scene_Battle.prototype.onSkillOk = function() { var skill = this._skillWindow.item(); var action = BattleManager.inputtingAction(); action.setSkill(skill.id); BattleManager.actor().setLastBattleSkill(skill); this.onSelectAction(); }; Scene_Battle.prototype.onSkillCancel = function() { this._skillWindow.hide(); this._actorCommandWindow.activate(); }; Scene_Battle.prototype.onItemOk = function() { var item = this._itemWindow.item(); var action = BattleManager.inputtingAction(); action.setItem(item.id); $gameParty.setLastItem(item); this.onSelectAction(); }; Scene_Battle.prototype.onItemCancel = function() { this._itemWindow.hide(); this._actorCommandWindow.activate(); }; Scene_Battle.prototype.onSelectAction = function() { var action = BattleManager.inputtingAction(); this._skillWindow.hide(); this._itemWindow.hide(); if (!action.needsSelection()) { this.selectNextCommand(); } else if (action.isForOpponent()) { this.selectEnemySelection(); } else { this.selectActorSelectionBattle } }; Scene_Battle.prototype.endCommandSelection = function() { this._partyCommandWindow.close(); this._actorCommandWindow.close(); this._statusWindow.deselect(); };
Here's my whole Scene Battle code. I am not getting errors but now the window for selecting an actor when using an item doesn't open.
Are you sure this is for VX? I'm not terribly familiar with it, but, that code kinda looks like it's for MV.
author=MarrendGod, I am sorry, I really have marked the wrong tag for it and I only noticed now. It's definitely MV.
Are you sure this is for VX? I'm not terribly familiar with it, but, that code kinda looks like it's for MV.
I have been trying a more simple way, editing the drawActorSimpleStatus to only draw certain itens from certain actors when the select actor window for using the item or skill is open but I get an error "Right-hand side of 'instanceof' is not an object"
Window_Base.prototype.drawActorSimpleStatus = function(actor, x, y, width) { var lineHeight = this.lineHeight(); var x2 = x + 180; var width2 = Math.min(200, width - 180 - this.textPadding()); this.drawActorName(actor, x, y); this.drawActorLevel(actor, x, y + lineHeight * 1); this.drawActorIcons(actor, x, y + lineHeight * 2); this.drawActorClass(actor, x2, y); this.drawActorHp(actor, x2, y + lineHeight * 1, width2); this.drawActorMp(actor, x2, y + lineHeight * 2, width2); if(SceneManager._scene instanceof Scene_Battle == true){ this.drawActorName(actor, x, y); } if (SceneManager._scene instanceof Scene_ItemBase._itemWindow == true){ this.drawActorName(actor, x, y);} };
Pages:
1














