Di base ci sono solo 3 posizioni per la finestra delle scelte.
Comunque prova questo plugin.
Ho sistemato alcune parti di codice trovato sul web in modo da essere personalizzabile e funzionale per ciò che vuoi fare.
Questo è un plugin sperimentale quindi provalo prima su un progetto di copia.
Il file devi nominarlo esattamente: Position_choice_window
Altrimenti non funziona.
Ovviamente estensione js.
In alternativa cambia tutti i nomi con quello che vuoi, da fare prima di inserire il plugin, mi raccomando.
Il plugin funziona se un interruttore viene acceso. Ho fatto in modo che puoi scegliere questo interruttore(ID) e le posizioni tramite i parametri del plugin.
Fammi sapere se funziona.
var Imported = Imported || {};
Imported.Position_choice_window = true;
var Isc = Isc || {};
Isc.POS = Isc.POS || {};
Isc.POS.version = 1.00
/*:
* @target MZ
* @plugindesc v1.00 Position_choice_window
* Permette all'utente di riposizionare la finestra delle scelte.
* @author Web + Ischenderun
*
*
* @param position x
* @type number
* @min 100
* @text position x
* @desc Number for position x
* @default 100
*
* @param position y
* @type number
* @min 100
* @text position y
* @desc Number position y
* @default 320
*
* @param Switch
* @type number
* @min 1
* @text Switch number Id
* @desc Switch ID
* @default 21
* @help Position_choice_window
*
* This plugin provides to change position to choice window
* Add Parameters: Ischenderun
* Scegli posizione X, posizione Y in pixel
* Scegli quale interruttore deve essere acceso per il funzionamento.
*/
Isc.Parameters = PluginManager.parameters('Position_choice_window');
Isc.Param = Isc.Param || {};
Isc.Param.POSpositionx = Number(Isc.Parameters['position x']);
Isc.Param.POSpositiony = Number(Isc.Parameters['position y']);
Isc.Param.POSSwitch = Number(Isc.Parameters['Switch']);
Window_ChoiceList.prototype.updatePlacement = function() {
var positionType = $gameMessage.choicePositionType();
var messageY = this._messageWindow.y;
this.width = this.windowWidth();
this.height = this.windowHeight();
if ($gameSwitches.value(Isc.Param.POSSwitch) === true){
this.y = Isc.Param.POSpositiony;
this.x = Isc.Param.POSpositionx;
}else{
switch(positionType){
case 0:
this.x = 0;
break;
case 1:
this.x = (Graphics.boxWidth - this.width) / 2;
break;
case 2:
this.x = Graphics.boxWidth - this.width;
break;
}
if (messageY >= Graphics.boxHeight / 2){
this.y = messageY - this.height;
}else{
this.y = messageY + this._messageWindow.height;
}
};
};
Il plugin funziona alla grande! Era proprio quello che mi serviva!
Usando il plugin Game Over Events di Himeworks sono riuscito a creare il Gamer Over a eventi, facendo funzionare sia la scelta per tornare al titolo, sia quella per caricare i file. Ora mi rimane un ultimo problema: la scelta per riprovare la battaglia .
Le mie conoscenze di Javascript sono moooolto scarse, quindi non so se quello che ho provato a fare abbia effettivamente senso o se sia una completa stupidaggine: la mia idea è stata quella di copia-incollare il codice che il plugin di SumRndmDde utilizzava per definire la funzione per riprovare la battaglia.
Precisamente, il codice che ho copia-incollato in uno script che si attivava quando si selezionava la scelta "Riprova" è questo:
if($gameTemp._setUpRetry) {
BattleManager.playBattleBgm();
BattleManager.setup($gameTemp._setUpRetry[0], $gameTemp._setUpRetry[1], $gameTemp._setUpRetry[2]);
$gameParty = JsonEx.makeDeepCopy($gameTemp._setUpRetry[3]);
$gameActors = JsonEx.makeDeepCopy($gameTemp._setUpRetry[4]);
$gamePlayer.makeEncounterCount();
SceneManager.goto(Scene_Battle);
}
Non ha funzionato; quando si selezionava la scelta, non accadeva nulla.
Come ho detto, le mie conoscenze di Javascript sono quasi inesistenti, quindi non conosco i motivi per cui non abbia funzionato.