Author Topic: Crippling Schedules Limit With An Unknown Cause  (Read 4734 times)

      TL:DR- when i reset my minigame, i get the "too many events at once! (onrelay)" message. I do not know where to find the event causing this. The build cannot function with this error.

     SO. I've run into a problem lately, that has prevented my build from working entirely. Every time I reset the minigame, I get the massage "Too many events at once! (Onrelay)". And yes, I'm well aware of the fact that I can raise my schedules limit in the advanced settings. I'm also aware of the fact that the limit is only 1000, and that has been a thorn in my side for years. The one-time zombie spawns don't reset, the doors and timers in the crescendo don't reset, the glass in the bank doesn't respawn, the items don't spawn, so basically I can't host my map anymore because of it.

     And yes, I've looked into this extensively. I have examined and checked all the events that affect the mini game (Which I've learned by experience to keep organized in one room instead of scattered around the build), and I have not found anything out of the ordinary. Onminigamereset>doorA>Dissapear>0 and Onminigamereset>Self>setservermusic>none isn't going to overload the schedules limit. In fact, I have not found any trace of any sort of relay out of place that could be causing 1000 events to fire when I reset the minigame. I've struggled with the schedules limit in the past and found workarounds before, such as making the items spawn when the player opens the safehouse door instead of when the minigame resets, but this whole "Relay" it's attributing the schedules to is incredibly vague.

     I've run various tests on the build to try to weed out the cause of the problem. Fortunately, I have four saves of the build, and I overwrite the oldest one when I finish an update. So, I have the current save that DOES display "Too many relay events!" and won't work, and I have an older save from December that does work. The December save worked without a problem, and last night I spent four hours breaking the builds apart and examining the spawns and testing different numbers. The results made no sense.
     So, I first thought it might be because of something in the zombie spawns' events. The events on the bots are fine and should only trigger when a trigger brick is touched, so they couldn't be the problem. Nevertheless, I deleted the ones that I had built in the time between the December save and the January save. and, alas! it started working.
So I figured the limit was somehow passed by the number of zombie spawns on the map. So, I deleted 16 spawns - The build worked. I duplicated 16 spawns in my control room and reset - And I got the schedules error again. So, I deleted them and duplicated one with no name in the name slot - I still got the schedules error. That meant that the error was NOT caused by one event targeting many named bricks.
Then I built 16 spawns and disabled all the events - The reset worked. Then I enabled events 0 and 1 - the reset worked. I Mechanically tested each event to see if somehow I could single out some event that was causing the problem. I couldn't; the results were too complex and no one particular event could be disabled to make it work. I mean, disabling the event Onbotspawn>Self>Setcolor>Red had the same effect as disabling the event Onminigamereset>self>setcolor>blue.

I'm getting tired of typing.

     So, after seeing how mixed the results were from the event testing, I just decided to test the December save. Remember how the January save only worked if there the zombie spawn number was under a certain amount? I duplicated 16 spawns in the functional December save and it worked. I duplicated 128, and the reset still worked. I duplicated 500 spawns, and they did not prevent the December save from resetting.
So I guess there isn't some imaginary spawn limit.

     So in the January save I just deleted the portion of the map that I had built and left a gaping hole in the map, then loaded the December build to overlap it and replace the removed part with the old version. This worked; I duplicated another 500 spawns and reset the game and it did not give me the error. Apparently something I changed between December and January caused the problem, and now it was solved.

Or was it?

    Welcome to today, the February save. After taking the functional January save and updating it, I decided to host. But somehow, the "You've got too many relay events!" Still came up and prevented us from even getting out the door. And I know for a fact that I didn't do anything but duplicate spawns and build bricks in that update; Bricks without events and Duplicate spawns that should've worked in light of the 500 spawn test just a day prior. But no. So, Instead I loaded the functional January save and hosted that instead. And, to my surprise, it mystically stopped working again. Seriously, It gave me "Too much relays!" even though it gave me no trouble before. That is frustrating.

     So, I need help here. I need someone to tell me how to find whatever is causing this. I can't see how it can be a brick, but I need a method of somehow weeding out what bricks are contributing to the problem. I need someone to tell me how on earth these zombie spawns are related to some relay event thats firing 1000 events, or I need someone to give me a hacky script that'll raise the schedules limit so I can breathe. Any help would be appreciated, I can give you console if you need it, Thanks for reading.

Also, this is not the first time this happened: http://forum.blockland.us/index.php?topic=261938.msg7673063#msg7673063
It's just that last time, I had two versions of the minigamereset event enabled at the same time, firing the event twice and doubling the schedules.

Okay, I tried to get a console for you guys, but it went really weird. I loaded the disfunctional January save and when I pasted Trace (1) and reset, there was no error message. I reset again without an error, then disabled trace. When I reset with trace disabled, the schedules limit error DID appear. The console is apparently too big to post on here. How do I post it


pastebin.com
Here's the January save acting weird and suddenly working when trace is on file:///C:/Users/Daemen/Desktop/Non-School%20Papers%20stuff/console.log

And here's the February save
file:///C:/Program%20Files%20(x86)/Steam/steamapps/common/Blockland/console.log

Thanks

Here's the January save acting weird and suddenly working when trace is on file:///C:/Users/Daemen/Desktop/Non-School%20Papers%20stuff/console.log

And here's the February save
file:///C:/Program%20Files%20(x86)/Steam/steamapps/common/Blockland/console.log
...
...
...

*ahem*

What I meant to say was:
Here's the January save acting weird and only not working when trace is off:
https://www.dropbox.com/s/3wtqzuq2vge70q0/console%20January%20Hattleton.log?dl=0

Here is the Febuary save:
https://www.dropbox.com/s/ljok0jqj3ifigqy/console%20Febuary%20Hattleton.log?dl=0

Alright, I went on Blockland and tried for another five hours to find the cause of the problem. First of all, for some reason, the December save failed to reset anymore.

Here is a link to the Microsoft word document in which I recorded what actions I took:
https://www.dropbox.com/s/x1s3hpear1dqnu3/Blockland%20Hattleton%20Troubleshooting.docx?dl=0

Here is a link to the first saved console mentioned in the record:
https://www.dropbox.com/s/ex8e6d6999myjjg/Blockland%20console%20Hattleton%20Febuary17.log?dl=0
Here is a link to the second console at the end of the record:
https://www.dropbox.com/s/47thk5pc7leep3l/Blockland%20Console%20Hattleton%20Febuary17B.log?dl=0

Thanks

when you say you disabled onminigamereset>self>setcolor and onbotspawn>self>setcolor, they have the same effect
if you disable something with a DIFFERENT input, does it still have this error?
the minigame reset respawns the bot, and calls both onminigamereset and onbotspawn

Yes. Disabling events with the input onbotkilled and onrelay had the same effect, to the best of my recollection. If you need a certain answer, I'd be willing to repeat the experiment and record the results.

The bot spawns have 17 events I believe, and I started testing them by Disabling them all, and it worked.
Then I enebled 0 and 1, which worked,
then tried with 0 1 2 and 3, which worked,
then 0 1 2 3 4 and 5
then 0-7, 0-9, 0-11, and it stopped working when I tested 0-15.
But then I tried with only 2-17, which is the same number of enabled events, and it didn't work.
then I tried 0-1, and 4-17 which worked.
then 0-3, and 6-17
then 0-5 and 8-17
Etc.

Mind messaging me a .bls file of the January save that isn't working? If it's an onRelay error I should be able to easily find the event, and give you information on where it is and what it's doing.

Alright. My friend Buddy (BLID 28116) recently asked me to host a server. I gave him access to the console, and he used scripts to highlight bricks that use relay events and minigame reset events. no abnormalities were found.

I will message you the link to Blockland Hattleton January. You are going to need the original Bot events and VCE.

Here is the console log of all the actions Buddy took while we were searching for any problems.
https://www.dropbox.com/s/qxrclk3lej4ddef/Blockland%20console%20Hattleton%20Febuary17C.log?dl=0

If you look for bricks that fire relays when the minigame resets, you will find invisible "Trigger" bricks. these yellow bricks are named "Trigger".
They have onminigamereset>self>firerelay
and onrelay>self>setcolliding>yes
There are only like 25 of these bricks.

The PM I sent isn't in my outbox for some reason. let me know if you didn't get it

are the relays being called near the time of the minigame reset and the bots respawning?
like, post the full events of the bot bricks
just saying which lines of events you enable/disable isn't enough
I need to know which events are actually being called

The relays are not being called when the minigame resets. The relays are only triggered by "Trigger" bricks. There are only around 26 trigger bricks throughout the map, and they only fire relays to the zombies when they are touched by a player.

As you requested, I wrote down all the events used by the Zombie spawns, along with an explanation as to why they are necessary.
I did the same for the trigger bricks, so you understand when only relays involved are fired.

They are at the last pages of this record I kept:
https://www.dropbox.com/s/9hbi4wci2dortzg/Blockland%20Hattleton%20Troubleshooting%20B.docx?dl=0

Thanks

The relays are not being called when the minigame resets.
Code: [Select]
1x6F" 77 76.75 0.3 1 0 13  0 0 0 1 0
+-NTOBJECTNAME _Trigger
+-EVENT 0 1 onPlayerTouch 0 Self setColliding 0
+-EVENT 1 1 onMiniGameReset 33 Self fireRelay
+-EVENT 2 1 onRelay 0 Self setColliding 1
+-EVENT 3 1 onPlayerTouch 33 -1 _Zombie4 fireRelay
+-EVENT 4 0 onPlayerTouch 0 MiniGame ChatMsgAll <color:0000ff>%1<color:ffffff>: There are zombies inside this building, too.
+-EVENT 5 1 onPlayerTouch 0 -1 _SpawnBox setEventEnabled 12 1
Your trigger bricks do in fact fire a relay upon the resetting of a minigame.
Quote
Search "onMiniGameReset" (911 hits in 1 file)
24 of which fire relays.

Great so now we only need to find the other 887?