Blockland Forums > Suggestions & Requests

taking event requests

Pages: << < (3/15) > >>

MARBLE MAN:


--- Quote from: Ducky duck on October 27, 2013, 11:07:15 PM ---
--- End quote ---
you're an idiot.


--- Quote from: TristanLuigi on October 27, 2013, 11:12:55 PM ---
--- End quote ---
how would I link this to a brick?


TristanLuigi:


--- Quote from: MARBLE MAN on October 28, 2013, 12:12:24 AM ---you're an idiot.
how would I link this to a brick?


--- End quote ---
It's not specific to the brick, it's like the other onMinigame_____ events.

MARBLE MAN:


--- Quote from: TristanLuigi on October 28, 2013, 12:14:58 AM ---It's not specific to the brick, it's like the other onMinigame_____ events.

--- End quote ---

registerInputEvent(fxDtsBrick,"onMinigameActivate","Self fxDtsBrick\tTargetPlayer Player\tTargetClient GameConnection\tSourcePlayer Player\tSourceClient GameConnection\tMinigame Minigame");
$Event_Minigame::onMinigameActivateList = inputEvent_GetInputEventIdx("onMinigameActivate");
package Event_MinigameActivate
{
   function Player::ActivateStuff(%obj)
   {
      %r=containerRaycast(%obj.getEyePoint(),vectorAdd(%obj.getEyePoint(),vectorScale(%obj.getEyeVector(),10)),%mask,%obj);
      if(isObject(%col=firstWord(%r)))
      {
         if(!isObject(%col.client)||!isObject(%obj.client))
            return;
         if(getMinigameFromObject(%col)==%mini=getMinigameFromObject(%obj))
         {
            for(%i=0;%i<getWordCount($Event_Minigame::onMinigameActivateList);%i++)
            {
               %brick = getWord($Event_Minigame::onMinigameActivateList,%i);
               if(isObject(%brick))
               {
                  if(getMinigameFromObject(getBrickGroupFromObject(%brick)) == %mini)
                  {
                     if(%mini.useAllPlayersBricks || (!%mini.useAllPlayersBricks && getBrickGroupFromObject(%brick) == getBrickGroupFromObject(%client)))
                     {
                        $inputTarget_Self = %brick;
                        $inputTarget_TargetPlayer = %col;
                        $inputTarget_TargetClient = %col.client;
                        $inputTarget_SourcePlayer = %obj;
                        $inputTarget_SourceClient = %obj.client;
                        $inputTarget_Minigame = %mini;
                        %brick.processInputEvent("onMinigameActivate",%obj.client);
                     }
                  }
               }
            }
         }
      }
   }
   function serverCmdAddEvent(%client,%delay,%input,%target,%a,%b,%output,%para1,%para2,%para3,%para4)
   {
      if(%input == $Event_Minigame::onMinigameActivateList)
         $Event_Minigame::onMinigameActivateList = addItemToList($Event_Minigame::onMinigameActivateList,%client.wrenchBrick);
      return Parent::serverCmdAddEvent(%client,%delay,%input,%target,%a,%b,%output,%para1,%para2,%para3,%para4);
   }
   function serverCmdClearEvents(%client)
   {
      if(hasItemOnList($Event_Minigame::onMinigameActivateList,%client.wrenchBrick))
         $Event_Minigame::onMinigameActivateList = removeItemFromList($Event_Minigame::onMinigameActivateList,%client.wrenchBrick);
      Parent::serverCmdClearEvents(%client);
   }
   function fxDtsBrick::onDeath(%brick)
   {
      if(hasItemOnList($Event_Minigame::onMinigameActivateList,%brick))
         $Event_Minigame::onMinigameActivateList = removeItemFromList($Event_Minigame::onMinigameActivateList,%brick);
      Parent::onDeath(%brick);
   }
};
activatePackage(Event_MinigameActivate);
function addItemToList(%string,%item)
{
   if(hasItemOnList(%string,%item))
      return %string;

   if(%string $= "")
      return %item;
   else
      return %string SPC %item;
}
function hasItemOnList(%string,%item)
{
   for(%i=0;%i<getWordCount(%string);%i++)
   {
      if(getWord(%string,%i) $= %item)
         return 1;
   }
   return 0;
}
function removeItemFromList(%string,%item)
{
   if(!hasItemOnList(%string,%item))
      return %string;

   for(%i=0;%i<getWordCount(%string);%i++)
   {
      if(getWord(%string,%i) $= %item)
      {
         if(%i $= 0)
            return getWords(%string,1,getWordCount(%string));
         else if(%i $= getWordCount(%string)-1)
            return getWords(%string,0,%i-1);
         else
            return getWords(%string,0,%i-1) SPC getWords(%string,%i+1,getWordCount(%string));
      }
   }
}

untested... good luck..

.:FancyPants:.:

Type: Output
Name: Brick > TransposeBrick
Description: Moves a brick a certain number of studs according to XYZ output paramaters, Z is in plates height.

ex. OnActivate > Self > Brick > TransposeBrick > 0, 0, 15
would move the brick the events belonged to five whole 1x1 bricks upwards.


i have no clue how add-on making works, but i figure this is possible? i don't see it made anywhere else.

SWAT One:


--- Quote from: MARBLE MAN on October 27, 2013, 05:41:11 PM ---1.1 exists as "Prompt events" or something

--- End quote ---
It does, but the point is that it does not give enough space for writing.  I would like to have enough space for paragraphs.  I've never dealt with GUIs, but I'm pretty sure this should be easy.

Pages: << < (3/15) > >>

Go to full version