Author Topic: Help with minigame events  (Read 1837 times)

I'm trying to make a megawalls server, as seen on this topic

I need OnMinigameEnd to work so that the walls go back up at the end of a round. It doesn't seem to do anything, though.

use onMinigameReset; seems to be more reliable.

It turns out that a lot of events don't agree too well with public bricks.

It turns out that a lot of events don't agree too well with public bricks.

I beg to differ.

Well, for one, the event OnMinigamereset>NamedBrick[wall_top]>fireRelay doesn't seem to trigger if I load the save as public, even though manually firing the relay using OnActivate works.

Make sure that you disable Event_Minigame. Slayer has its own version that conflicts with it.

I don't even have Event_Minigame.

Here's what I have set up:



There is a relay stack that acts as a timer. If the events worked, then I'd see those chat messages pop up when I start the minigame.

could be because public bricks are not part of the minigame, since no client with the blid of public bricks is inside the minigame. possible to fix with a custom script, though i believe this shouldnt be necessary.

shouldn't be necessary in the first place since there should be default support already*

its weird that it doesn't.

Are you using a default minigame created by the gamemode?

You'll have to attribute bricks to your name otherwise.

Are you using a default minigame created by the gamemode?

You'll have to attribute bricks to your name otherwise.

But if I attribute bricks to my name, the ClearPlayerBricks event (which is in another brick) will clear my bricks. I sent a message to Shift Kitty to ask if he could modify it to clear Non-Host/Non-SA bricks, but I haven't gotten a response. Is it possible to modify this:

Quote
function MiniGameSO::clearPlayerBricks(%this)
{
   if(($DefaultMiniGame != %this && !%this.isDefaultMinigame) || !isObject(%this))
      return; //don't let random players troll with this. only trigger the event if it was activated in the default minigame
   %count = mainBrickGroup.getCount();
   for(%x=0;%x<%count;%x++)
   {
      %bg = mainBrickGroup.getObject(%x);
      if(%bg == Brickgroup_888888.getID())
         continue;
      %bg.chainDeleteAll();
   }
}
to do that?

I've already tried replacing 888888 with my ID, but it doesn't seem to have done anything. Of course, I know almost nothing about modifying add-on code, other than adjusting damage and vehicle health.

Try surrounding the build with the slayer boundary bricks.

Try surrounding the build with the slayer boundary bricks.

Didn't work, unless I didn't do it right. I have four stacks of boundary bricks at each corner of the area, each going as tall as the arena is, and all are the color of the minigame.

Must be a slayer related issue, then.

I don't recommend setting the event to clear all but your own bricks, as you wouldn't be able to play yourself in that case.