Problem with $gameMap.eventIdXy inside another function

Status
Not open for further replies.

Ricksoaz

Villager
Member
Joined
Aug 6, 2016
Messages
11
Reaction score
0
Primarily Uses
I'm making a functon to highlight nearby events around the player, but for some reason $gameMap.eventIdXy doesn't work when I use it inside my function.


Game_System.prototype.searchNearbyEvents = function (range){

var MinX = $gamePlayer._x -= range;
var MinY = $gamePlayer._y -= range;
var MaxX = $gamePlayer._x += range;
var MaxY = $gamePlayer._y += range;
var BlType = 1;
var EvId;

for (x = MinX; x < MaxX; x++){
for (y = MinY; y < MaxY; y++){
EvId = $gameMap.eventIdXy(x, y); // <<<<< This one here never works.
if (EvId > 0) {
$gameMap.event(EvId).requestBalloon(BlType);
}
}
}
}


Edit: I'm using this inside my custom plugin. It works fine when I use inside script command, though.
 
Last edited by a moderator:

chalkdust

Resource Staff
Restaff
Joined
Mar 23, 2015
Messages
360
Reaction score
556
First Language
English
Primarily Uses
RMMV
var MinX = $gamePlayer._x -= range;
var MinY = $gamePlayer._y -= range;
var MaxX = $gamePlayer._x += range;
var MaxY = $gamePlayer._y += range;


Why are you using the assignment operators (-= and +=) here? I'm no expert but it looks like you just need - and +


Try printing EvID to the console and see if it is even detecting events that you think it should be detecting.
 
Last edited by a moderator:

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,108
Reaction score
13,713
First Language
English
Primarily Uses
RMMV
yes, if you do a console.log of MinX, MinY, MaxX and MaxY, you'll probably find they're all set to true, because your assignment operator (change $gamePlayer._x to be range less than it was before) is successful.  Internally, true is 1, so all those values are 1.


It's not the $gameMap.EventIdXy that's failing - it never goes into the loops because the minimum value is already equal to the maximum value.
 

Ricksoaz

Villager
Member
Joined
Aug 6, 2016
Messages
11
Reaction score
0
Primarily Uses
Thanks. I have no idea where I got the "-=" from. I guess I haven't coded in a while and forgot everything... You can close now. On another matter (I don't know if I need to open another topic but) I saw a few plugins work by adding a comment at the top of the page. How can I "use" the contents of comments like that?
 

chalkdust

Resource Staff
Restaff
Joined
Mar 23, 2015
Messages
360
Reaction score
556
First Language
English
Primarily Uses
RMMV
Yeah, generally you'd want to open a new topic for a new question so it can catch the attention of someone capable of addressing it. I know a little about it though...


This function will allow you to access an event's comments:


Game_Event.prototype.comments = function() {
if (!this.page() || !this.list()) {
return "";
}
var comments = this.list().filter(function(list) {
return list.code === 108 || list.code === 408;
});
comments = comments.map(function(list) {
return list.parameters;
});
return comments.join('\n');
};




But it won't be very helpful unless you also understand how to work with the strings. Here's an example:


Game_Event.prototype.hasTag = function() {
if (!this.isEvent()) return false;
var comments = this.comments();
return /<tag>/i.test(comments);
};


That should get you started.


To close this post, click "Report Post" on your original post to ask the mods to close it.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,108
Reaction score
13,713
First Language
English
Primarily Uses
RMMV
Best thing to do is to find a plugin that does it already, then take a peek inside.  Go for a nice, simple one, so you're not overwhelmed with all the "other" stuff it does, and can just concentrate on the part you're interested in.
 

mlogan

Global Moderators
Global Mod
Joined
Mar 18, 2012
Messages
15,374
Reaction score
8,536
First Language
English
Primarily Uses
RMMV
This thread is being closed, due to being solved. If for some reason you would like this thread re-opened, please report this post and leave a message why. Thank you.
 
Status
Not open for further replies.

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,035
Messages
1,018,455
Members
137,821
Latest member
Capterson
Top