Jump to content
Rpg²S Forum
  • 0

Controllare in che regione sono gli eventi in mappa


The_Wolfman
 Share

Question

Salve gente, ogni tanto riappaio, stavolta sto cercando (sulla base anche di quello che realizzai su vx ace qui) di realizzare un plugin che in base alla regione della mappa in cui si trovano gli eventi avvengano dei cambiamenti agli eventi stessi. Come principio ho pensato ad un semplice ciclo for che controlla tutti gli eventi in mappa con vari if innestati al suo interno, il problema è che la mia conoscenza del javascript è quasi nulla e soprattutto non so più richiamare gli elementi di rpg (col RGSS3 mi era tutto più facile, almeno con l'editor).

 

Ho provato nella mia ignoranza a scrivere ciò:

Scene_Map.prototype.update = function() {
    this.updateDestination();
    this.updateMainMultiply();
	    this.updatemyregion();

    if (this.isSceneChangeOk()) {
        this.updateScene();
    } else if (SceneManager.isNextScene(Scene_Battle)) {
        this.updateEncounterEffect();
    }
    this.updateWaitCount();
    Scene_Base.prototype.update.call(this);
};

  

Scene_Map.prototype.updatemyregion = function() {
	
			if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 2){
		SpriteZoom.zoom(0, 0.95);
	} else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 3){
		SpriteZoom.zoom(0, 0.9);
	} else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 4){
		SpriteZoom.zoom(0, 0.85);
	} else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 5){
		SpriteZoom.zoom(0, 0.8);
		
		} else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 14){
		SpriteZoom.zoom(0, 0.9, 5);
			} else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 21){
		SpriteZoom.zoom(0, 3, 35);
	
		
		
		
	} else{
		SpriteZoom.zoom(0,1,10);
	}
	
 $gameMap.events().forEach(function(event) {
	 
				if ( $gameMap.regionId($gameMap.events(event).x, $gameMap.events(event).y) === 2){
			SpriteZoom.zoom(event, 0.95);
		} else if (  $gameMap.regionId($gameMap.events(event).x, $gameMap.events(event).y) === 3){
			SpriteZoom.zoom(event, 0.9);
		} else if (  $gameMap.regionId($gameMap.events(event).x, $gameMap.events(event).y) === 4){
			SpriteZoom.zoom(event, 0.85);
		} else if (  $gameMap.regionId($gameMap.events(event).x, $gameMap.events(event).y) === 5){
			SpriteZoom.zoom(event, 0.8);
		} 
  },this);
		
};

La dicitura SpriteZoom.zoom(........); è richiamata dal plugin di Aramis Sprite Zoom, l'ho usata come provare per vedere gli effettivi cambiamenti.

 

Insomma la prima parte che controlla il player va tranquilla, funziona senza problemi, per gli eventi invece non da segni, è sicuramente sbagliato qualcosa.

 

Illuminatemi vi prego, e anche se ci fossero errori altri al codice vi prego di segnarlarmeli, vorrei imparare xD

Grazie in anticipo

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

risolto, nel caso servisse a qualcuno

var alias_update = Scene_Map.prototype.update
		
Scene_Map.prototype.update = function() {
	alias_update.call(this);
	this.updatemyregion();


};

  

Scene_Map.prototype.updatemyregion = function() {
	
			if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 2){
		SpriteZoom.zoom(0, 0.95);
	} else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 3){
		SpriteZoom.zoom(0, 0.9);
	} else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 4){
		SpriteZoom.zoom(0, 0.85);
	} else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 5){
		SpriteZoom.zoom(0, 0.8);
	} else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 14){
		SpriteZoom.zoom(0, 0.9, 5);
	} else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 21){
		SpriteZoom.zoom(0, 3, 35);
	
		
				
	} else{
		SpriteZoom.zoom(0,1,10);
	}
	

	for (var i = 0; i < $gameMap.events().length; ++i) {

    	var ev = $gameMap.events()[i];

		if ( $gameMap.regionId(ev.x, ev.y) === 2){
			SpriteZoom.zoom(i+1, 0.95);
		} else if (  $gameMap.regionId(ev.x, ev.y) === 3){
			SpriteZoom.zoom(i+1, 0.9);
		} else if (  $gameMap.regionId(ev.x, ev.y) === 4){
			SpriteZoom.zoom(i+1, 0.65);
		} else if (  $gameMap.regionId(ev.x, ev.y) === 5){
			SpriteZoom.zoom(i+1, 0.6);
		} else if (  $gameMap.regionId(ev.x, ev.y) === 14){
			SpriteZoom.zoom(i+1, 0.9);
		} else if (  $gameMap.regionId(ev.x, ev.y) === 21){
			SpriteZoom.zoom(i+1, 3);

		} else{
			SpriteZoom.zoom(i+1,1,10);
		}
    }
	

	
};
Edited by The_Wolfman
Link to comment
Share on other sites

  • 0

Grazie per aver postato la soluzione, Wolf! ^ ^

 

Purtroppo non pulluliamo di scripter! >

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...