Creating a rotating portalgun

From Valve Developer Community
Revision as of 11:01, 5 January 2008 by Rullaf (talk | contribs)
Jump to navigation Jump to search
Under construction.png
This page is actively undergoing a major edit.
As a courtesy, please do not edit this while this message is displayed.
If this page has not been edited for at least several hours to a few days, please remove this template. This message is intended to help reduce edit conflicts; please remove it between editing sessions to allow others to edit the page.

The person who added this notice will be listed in its edit history should you wish to contact them.

Introduction

Width:64

So, we are going to create rotating stand with portalgun shooting portals.

Prepare models

You will need:

prop_dynamic, world model: models/props/pedestal_base_reference.mdl, name: stand_bottom_model

prop_dynamic, world model: models/props/pedestal_center_reference.mdl, name: stand_top_model

Just create and name them, we will move them after next step

Prepare brushes

Create:

32 to 32 square, height 4, using nodraw texture.

4 to 32 sq, height 55 with nodraw texture too.

Moving

Illustration 1.

Move stand_bottom_model where you want to have the stand, that small doors on it have to be under ground. Then move stand_top_model above stand_bottom_model, as on picture //soon// . Center 1st brush, that 32x32, with stand_top_model, Z axis to half of stand_top_model (approximately). And move 2nd brush as on picture.

PortalGun

Create new entity, weapon_portalgun and name it weapon_portalgun. Move it exactly to top of stand_top_model, a front part of portalgun has to be on left when you’re loking on stand_top_model from that part with blue display.

Logic

Make entity logic_timer named timer_stand and set interval to 5 sec. Make sure that initial state is on. Now go to outputs and write:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTimer stand_func_rotating Start <none> 0.00 No
Io11.png OnTimer stand_func_rotating Stop <none> 3.00 No
Io11.png OnTimer weapon_portalgun FirePortal1 <none> 3.00 No

Select 32x32 brush and tie it to entity func_rotating. Name: stand_func_rotating | Friction: 0 | Max Rotation Speed: 30 | In Flags, unmark Start ON.

Tie 2nd brush to func_door. Name: stand_func_door | Speed: 25 | Move direction: 90 0 0 //Down. Create new output:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnFullyOpen stand_bottom_model SetAnimation close 0.00 No


Now, we will make outputs of stand_bottom_model:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnAnimationDone stand_bottom_model SetAnimation inactive 0.00 No


And few outputs for weapon_portalgun:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnPlayerPickup timer_stand Kill 0.00 No
Io11.png OnPlayerPickup stand_top_model SetParent stand_func_door 0.00 No
Io11.png OnPlayerPickup stand_func_door Open 0.80 No

Parents and the Hole

Illustration 2. I moved all, just for illustration of hole.

Now, just set parent of weapon_portalgun and stand_top_model to stand_func_rotating. When your done, make hole under stand_bottom_models overground part.

End

You may create prop_static with model of models/props/autoportal_frame/autoportal_frame.mdl for framing autofired portals, just move them to wall and rotate.