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

Quote
Search "onMiniGameReset   0   Self      setColor" (432 hits in 1 file)
Apparently 432 of those set the colours to bricks.
Quote
Search "onMiniGameReset   0   Self      setVehicle" (429 hits in 1 file)
And 429 are set vehicle events. So that makes up 861 of the 887.
Meaning there are 16 more that are not part of the main reset events you have.
And those are music and other random events, example:
Code: [Select]
4x Cube" -44 -1 1.2 0 0 45  6 0 1 1 1
+-NTOBJECTNAME _Music_Omnibrick
-snip-
+-EVENT 8 1 onMiniGameReset 0 Self toggleEventEnabled 9 10
+-EVENT 9 1 onMiniGameReset 2500 Self setServerMusic 1 musicData_SongTerran_3
+-EVENT 10 0 onMiniGameReset 2500 Self setServerMusic 1 musicData_SongPrayfordeath_L4d2

I do not have 429 spawns!
I just hosted a server real quick, with Zombie mod disabled to find the difference in bricks.
The January save typically consists of 73267 bricks
With zombie mod disabled (and therefore the zombie spawns not loading), 72836!
73267-72836=431

. . . . .

I say re-setup your spawns and lets see how well it works then.

That's quite a task if there are in fact 400 spawns.
Is there any way to make a script able to disable all minigame reset events on a certain type of brick?

Or just a script to disable all minigame reset events for that matter?

If I knew more about how events are scripted into bricks then I could help you out, however I don't know much about it. You'll have to ask a better code. You could try the Coding Help board.

Wait, if that accounted for 911 hits, what about the other 89? and why does the error display "Too many events on relay"? That was terribly misleading.

That accounts for the 911 bricks firing their events, but doesn't add the onRelay events that get fired as well. There are at a minimum 24 other events that have an onRelay event triggered by the reset, and that's only if each of the bricks that fire relay upon resetting only have one relay event, which they don't. So that pushes it past your 1k limit.

That actually makes sense.
I guess we actually found the problem now.

Thanks allot, Thorfin. I'd pay you if I had money.

Now all I need is a method to disable 400 events.
Worst case scenario is me and some friends go around with wrenches manually disabling the events on each of the 400 spawns, and resetting to see which ones still turn blue.
Best case scenario is somebody provides me with a script one way or another that automatically disables all minigamereset events.

I'll take a crack at a script for it.
Code: [Select]
function DisableOnMinigameReset()
{
for(%i=0;%i<MainBrickGroup.getCount();%i++)
{
%obj = MainBrickGroup.getObject(%i);
if(%obj.numEvents > 0)
{
for(%q=0;%i<%obj.numEvents;%q++)
{
if(%obj.eventInput[%q] $= "OnMinigameReset")
{
%obj.eventEnabled[%q] = 0;
}
}
}
}
}
You can copy that, then type into the console eval(getClipboard()); then type in DisableOnMinigameReset();

Code: [Select]
function DisableOnMinigameReset()
{
for(%i=0;%i<MainBrickGroup.getCount();%i++)
{
%obj = MainBrickGroup.getObject(%i);
if(%obj.numEvents > 0)
{
for(%q=0;%q<%obj.numEvents;%q++)
{
if(%obj.eventInput[%q] $= "OnMinigameReset")
{
%obj.eventEnabled[%q] = 0;
}
}
}
}
}

Had to fix a mistake.

How exactly does one enter that into console. Copying and pasting the whole thing doesn't work. Do I enter it by hand?

Well I entered it by hand, copied it so it'd work with the clipboard, and typed the stuff in, but it did not disable the events.

Problem being I can't use the mainBrickGroup for this .-.
Code: [Select]
function DisableOnMinigameReset()
{
for(%i=0;%i<BrickGroup_999999.getCount();%i++)
{
%obj = BrickGroup_999999.getObject(%i);
if(%obj.numEvents > 0)
{
for(%q=0;%q<%obj.numEvents;%q++)
{
if(%obj.eventInput[%q] $= "OnMinigameReset")
{
%obj.eventEnabled[%q] = 0;
}
}
}
}
}
If you're on single player then that should work just fine, if not change out 999999 for your BL_ID.

Sorry, It's 11:30 where I am right now. I think I'll be calling it a night for now. Thanks for the help though!

Same time for me too, and not a problem.