MVUniversal Remote Control: Search, Retrieve, Control *Assassin's Creed Guard AI Demo Added* 09/25
BMM Archive · July 15, 2026
Original Source
- Original title: Universal Remote Control: Search, Retrieve, Control *Assassin's Creed Guard AI Demo Added* 09/25
- Original author: dahlys
- Original date: September 24, 2017
- Source thread: https://forums.rpgmakerweb.com/threads/universal-remote-control-search-retrieve-control-assassins-creed-guard-ai-demo-added-09-25.84792/
- Source forum path: Game Development Engines > RPG Maker Javascript Plugins > JS Plugin Releases (RMMV)
Summary
Universal Remote Control by Dahlys Search Engine, Mass Data Retrieval, Mass Self Switch/Variable Setting a.k.a Remote Event Counting and Control by Name v2.0, but literally already a completely different beast
Archived First Post
by Dahlys
Search Engine, Mass Data Retrieval, Mass Self Switch/Variable Setting
a.k.a Remote Event Counting and Control by Name v2.0, but literally already a completely different beast
Introduction and Features
"Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk, agh burzum-ishi krimpatul" - J.R.R Tolkien
Live Search Engine: Search In-game for Groups of Event IDs by setting conditions, using their names, notes and even self-switches! Do searches even in conditional branches!
Mass Data Retrieval: Get custom self switch values quickly and use them in conditional branches. Get the values of multiple self switches/variables and store them in a variable. Quickly obtain a namelist/notelist of all events on the map, or a subset defined by a source array.
Remote Control: Remotely change the values of self switches/variables en masse and set conditions for the change. No more need for eventIds, use their Names and Notes.
Search, Get and Manipulate: Yanfly's self switches and self variables en masse. Hime's self variables en masse.
How to Use
Download the .js file at Github
Put it in your plugin folder and activate it in your game. There is no help file in the plugin, because it would be an insurmountable wall of text with 40+ different functions, each with script calls, plugin commands, and different parameters.
Use the following page instead for a plugin guide: https://dahlys.000webhostapp.com/dahlysRemoteControl.html
The guide is currently a massive wall of text but I will add pictures gradually. There are too many things in there to do it all at once.
Demo - Assassin's Creed Style Guard AI Detection using URC
Download Demo Here
3 Switches, 5 Variables, and 6 Common Events. That's all it takes to pull off Assassin's Creed style Guard AI Detection. Guards get suspicious when you loiter around them, culminating in an all-out chase unless you go away. Murder someone in public? The witnesses running away/chasing you will report you to the guards. Trying to walk into a bank? Get accosted at the door. Need to escape? Go to a hiding place for 10 seconds. A warning though, you will be found if guards are near your hiding place. No one saw you murdering somebody? Muhahahaha yaaaaay.
◆Wait:10 frames
◆Comment:Group Events by their Identity
◆Control Variables:#0001 All Living NPC = this.SearchNotes('NPC', 0, 0, '!this.get(\"Dead\", eventId)');
◆Control Variables:#0002 All Guards = this.SearchNotes('Guard', 0, 0, 'S1')
◆Control Variables:#0003 Normal Guards = this.SearchNotes('Normal Guard', 0, 0, 'S2')
◆Control Variables:#0004 Bank Guards = this.SearchNotes('Bank Guard', 0, 0, 'S2')
◆Comment:Check if Hostile Guards Mode
◆If:Guards Guards! is ON
◆If:Hiding is ON
◆Comment:Player is hiding, low detection range
◆Comment:Guards, not chasing, show balloon before they start
◆Control Variables:#0005 Temporary = this.SearchCondition('!this.get(\"Chase\", eventId) && Galv.DETECT.event(eventId,3,false)', 0, 0, 'S2')
◆Script:var angrybirds = $gameVariables.value(5);
: :if ( angrybirds.length > 0 ) {
: : for ( i = 0; i < angrybirds.length; i++ ) {
: : $gameMap.event(angrybirds).requestBalloon(5);
: : }
: :}
◆Comment:If not chasing, start chasing player when player gets close
◆Script:this.SetSSw('Alert', false, 'S2', 'thisM', 'this.get(\'Alert\',eventId) && Galv.DETECT.event(eventId,3,false)')
: :this.SetSSw('Chase', true, 'S2', 'thisM', '!this.get(\'Chase\',eventId) && Galv.DETECT.event(eventId,3,false)')
◆
:Else
◆Comment:Player in full sight, high detection range
◆Comment:Guards, not chasing, show balloon before they start
◆Control Variables:#0005 Temporary = this.SearchCondition('!this.get(\"Chase\", eventId) && Galv.DETECT.event(eventId,5,false)', 0, 0, 'S2')
◆Script:var angrybirds = $gameVariables.value(5);
: :if ( angrybirds.length > 0 ) {
: : for ( i = 0; i < angrybirds.length; i++ ) {
: : $gameMap.event(angrybirds).requestBalloon(5);
: : }
: :}
◆Comment:If not chasing, start chasing player when player gets close
◆Script:this.SetSSw('Alert', false, 'S2', 'thisM', 'this.get(\'Alert\',eventId) && Galv.DETECT.event(eventId,5,false)')
: :this.SetSSw('Chase', true, 'S2', 'thisM', '!this.get(\'Chase\',eventId) && Galv.DETECT.event(eventId,5,false)')
◆
:End
◆
:Else
◆Comment:Normal Guards AI
◆Comment:Get suspicious when player is too close
◆Script:this.SetSSw('Alert', true, 'S3', 'thisM', '!this.get(\'Alert\',eventId) && Galv.DETECT.event(eventId,3,false)')
◆Comment:Stop being suspicious if player goes away
◆Script:this.SetSSw('Alert', false, 'S3', 'thisM', 'this.get(\'Alert\',eventId) && !Galv.DETECT.event(eventId,4,false)')
◆Comment:All Guards AI
◆Comment:Attack when player next to guard
◆Script:this.SetSSw('Chase', true, 'S2', 'thisM', '!this.get(\'Chase\',eventId) && Galv.DETECT.event(eventId,1,false)')
◆
:End
This isn't a plugin that works great on its own. The demo comes with:
- Galv's event detector, move route extras, timed message popup
- Yanfly's event encounter aid, force advantage, event mini label, and gab window
- Hime's custom page conditions, self variables
FAQ
Constant bug-fixing is happening on Github. Go download the latest er... beta.
Terms of Use
Credit Dahlys for the plugin. It is free to use for commercial and non-commercial games. I'd like you to send me your games but that is entirely optional. I thank Yanfly and Hime for their useful self variable plugins that made this degree of control over rmmv possible. I also thank Soulpour777 for his plugin writing tutorials. Last but not least, Enterbrain for RMMV.
Knowledge is power and it can command obedience. A man of knowledge during his lifetime can make people obey and follow him and he is praised and venerated after his death. Remember that knowledge is a ruler and wealth is its subject.
— Imam Ali
Important
I need someone with some coding knowledge to help me write a more readable help file.
p.s. no copyright infringement from random references intended. video music was recorded from my piano
Downloads / Referenced Files
Log in, then follow the RPG Maker Developers Group to see these download links.
Log in to downloadLicense / Terms Note
Terms of Use Credit Dahlys for the plugin. It is free to use for commercial and non-commercial games. I'd like you to send me your games but that is entirely optional. I thank Yanfly and Hime for their useful self variable plugins that made this degree of control over rmmv possible. I also thank Soulpour777 for his plugin writing tutorials. Last but not least, Enterbrain for RMMV. Knowledge is power and it can command obedience. A man of knowledge during...
Creator Claims / Removal
If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.
Replies (0)
No replies yet.
Topic Summary
Loading summary...