Scripting in ET Pro 3

ET Pro Documentation Project

Moderators: Forum moderators, developers, ET Pro Documentation

User avatar
[MoB]Seany
Posts: 163
Joined: Thu Aug 05, 2004 9:57 am

Post by [MoB]Seany »

Sorry, let me clean it up a bit..
[MoB]Seany wrote:Ok, now I want to get it to show up on the command map
I already have

Code: Select all

game_manager
{
spawn
            {
create
		{
        targetname "ammo"
        scriptname "ammo"
        origin "-1373 -1100 192"
        classname "misc_cabinet_supply"
        angle "270"
        mins "-45 -45 -25"
        maxs "45 45 25"
        ammototal "100"
        modelscale "1"
        contents "1"
        clipmask "1"
        model "models/mapobjects/supplystands/stand_ammo.md3"
		}
create
		{
        target "ammo"
        ammototal "40"
        ammorate "1"
        origin "-1373 -1100 192"
        classname "trigger_ammo"
        targetname "ammoarea"
        scriptname "ammoarea"
        modelscale "1"
        contents "1"
        mins "-45 -45 -25"
        maxs "45 45 25"
        clipmask "1"
	  	}
create
		{
        targetname "health"
        scriptname "health"
        origin "-1488 -1175 192"
        classname "misc_cabinet_health"
        angle "360"
        mins "-45 -45 -25"
        maxs "45 45 25"
        modelscale "1"
        contents "1"
        clipmask "1"
        model "models/mapobjects/supplystands/stand_ammo.md3"
		}
create
		{
        target "health"
        scriptname "healtharea"
        targetname "healtharea"
        classname "trigger_heal"
        origin "-1488 -1175 192"
        healtotal "400"
        healrate "10"
        modelscale "1"
        contents "1"
        mins "-45 -45-25"
        maxs "45 45 25"
        clipmask "1"
		}
create
		{
        classname "trigger_objective_info"
        target "help_marker_toi"
        scriptname "ammo_info_toi"
        track "Health and Ammo Cabinets"
        targetname "ammo_info_toi"
        shortname "Health and Ammo Cabinets"
        spawnflags "is_healthammocabinet"
        customimage "gfx/limbo/cm_healthammo"
        origin "-1352 -1179 256"
        modelscale "1"
        contents "1"
        mins "-45 -45-25"
        maxs "45 45 25"
        clipmask "1"
	
		}
create
		{
        classname "misc_commandmap_marker"
        scriptname "help_marker_toi"
        targetname "help_marker_toi"
        contents "1"
        clipmask "1"
        origin "-1488 -1175 192"
		}
                 }
}
Its works and has a "You are near Health and Ammo" message, but what do I need to do to get it to show up ont he command map?
I did have script_mover parts as well before I removed them:

Code: Select all

create
		{
	  targetname "ammo_clip"
	  scriptname "ammo_clip"
	  classname "script_mover"
	  spawnflags "2"
		}
create
		{
	  targetname "health_clip"
	  scriptname "health_clip"
	  classname "script_mover"
    	  spawnflags "2"
        	                }
But, no matter what properties i removed, it still said a model was required for script_mover. Is a script_mover class really that important? And if so, what do I need to do to fix it? If not, then what must be done for it to show up on the command map? Thanks 8)
[MoB]

NetNut: "I never cheat on a FPS game, but i will use my aimbot for Minesweeper or Solitare."
User avatar
Rookie One
Posts: 28
Joined: Wed Nov 02, 2005 4:58 am
Location: Ruda Slaska, Poland
Contact:

Post by Rookie One »

Just a note - I transferred some info from this topic to the WolfWiki.
User avatar
Deus
Posts: 1053
Joined: Fri Mar 12, 2004 2:24 am
Location: Germany
Contact:

Post by Deus »

Rookie One wrote:Just a note - I transferred some info from this topic to the WolfWiki.
If everything is transferred leave a message, so it can be deleted here. :)
User avatar
WeblionX
Posts: 762
Joined: Sun Sep 08, 2002 1:03 pm
Contact:

Post by WeblionX »

Just make sure bani makes a backup of the wiki before deleting. XD
Got any old idtech3 tutorials you made or saved? Send them my way.
User avatar
Deus
Posts: 1053
Joined: Fri Mar 12, 2004 2:24 am
Location: Germany
Contact:

Post by Deus »

you mean, backup of the forum, don't you ?
User avatar
Rookie One
Posts: 28
Joined: Wed Nov 02, 2005 4:58 am
Location: Ruda Slaska, Poland
Contact:

Post by Rookie One »

I think I moved all the info to be found in this topic here.
BuLLitz
Posts: 10
Joined: Tue Feb 20, 2007 10:42 pm

Post by BuLLitz »

If I spawn a Dinghy on the shore where the ground is not flat, how do I get the clip to be at the same angles as the Dinghy?

I understand how to rotate and angle the dinghy and resize the clip (I think that's what you call the solid portion) does the clip does not angle with the dinghy.

Can this be done? Does anyone have an example?
User avatar
WeblionX
Posts: 762
Joined: Sun Sep 08, 2002 1:03 pm
Contact:

Post by WeblionX »

Fakebrushes cannot be created in the way necessary to cover a sloping object.
Got any old idtech3 tutorials you made or saved? Send them my way.
BuLLitz
Posts: 10
Joined: Tue Feb 20, 2007 10:42 pm

Post by BuLLitz »

Bummer dude.

We used to do that in MOHAA... We could spawn platforms with mounted MG's that circled the map and all kinds of other crazy stuff... On one map, when there was 3 minutes left, we turned everyone into Tanks and forced everyone to have bazookas. From a spectator perspective that looked quite cool.

No other way to spawn an object in ET as "solid" using the script file?
nUllSkillZ
Posts: 62
Joined: Mon Dec 29, 2003 12:25 pm

Post by nUllSkillZ »

Isn't contents 1 = solid?
User avatar
ReyalP
Posts: 1663
Joined: Fri Jul 25, 2003 11:44 am

Post by ReyalP »

nUllSkillZ wrote:Isn't contents 1 = solid?
You can't do it from mapscript. Everything that isn't a simple axis aligned bounding box has to come from the BSP file.

The spawnflag that makes md3 models solid is just a trick where the compiler creates (ugly) clip brushes from the model.
send lawyers, guns and money
User avatar
WeblionX
Posts: 762
Joined: Sun Sep 08, 2002 1:03 pm
Contact:

Post by WeblionX »

And by ugly he means 99.999% of them wind up with clip brushes that make no sense and cause problems, with 50% of those causing noticeable drops in FPS. Mind you, script_movers have a "solid" spawnflag but that's a different thing entirely, except that it is also a compiler flag.
Got any old idtech3 tutorials you made or saved? Send them my way.
User avatar
Hadr0
Posts: 5
Joined: Thu Dec 15, 2005 11:25 pm
Location: shiven

Post by Hadr0 »

running a modded mapscript on shiven.net:27960 fueldump only server.
its wouldn't have been possible without examples from this thread and http://games.chruker.dk/enemy_territory/entities.php
a hard core clanplayer was interested in the east-fence door so i thought i'd share this part with the community.

this stuff in the game_manager-spawn function:

Code: Select all

    //hadro - east fence door
    create
    {
      classname "path_corner"
      scriptname "mydoor_endpos"
      targetname "mydoor_endpos"
      origin "-10420 -7285 250"
    }
    create
    {
      classname "path_corner"
      scriptname "mydoor_begpos"
      targetname "mydoor_begpos"
      origin "-10420 -7185 250"
    }
    create
    {
      classname "func_invisible_user"
      scriptname "mydoor_button"
      targetname "mydoor_button"
      target "mydoor_handle"
      origin "-10420 -7185 250"
      ainame "player"
      cursorhint "hint_button"
      allowteams "5" //axis + disguised cvops
      mins "-6 -75 -75"
      maxs "6 75 75"
    }
    create
    {
      classname "trigger_multiple"
      scriptname "mydoor_keepopen"
      targetname "mydoor_keepopen"
      target "mydoor_handle"
      origin "-10420 -7185 250"
      mins "-6 -75 -75"
      maxs "6 75 75"
    }
    create
    {
      classname "target_script_trigger"
      scriptname "mydoor_handle"
      targetname "mydoor_handle"
      target "doit"
      origin "-10410 -7080 250"
    }
    create
    {
      classname "misc_gamemodel"
      scriptname "mydoor"
      targetname "mydoor"
      model "models/mapobjects/port.md3"
      origin "-10420 -7185 250"
      contents "65536"
      mins "-6 -75 -75"
      maxs "6 75 75"
    }
    create
    {
      classname "func_fakebrush"
      scriptName "mydoor_clip"
      targetname "mydoor_clip"
      origin "-10420 -7285 250"
      contents "65536"
      mins "-6 -75 -75"
      maxs "6 75 75"
    }
these as seperate functions:

Code: Select all

mydoor_handle
{
  trigger doit
  {
    trigger mydoor okidee
  }
}

mydoor
{
  spawn
  {
    wait 200
    setstate mydoor invisible
    setstate mydoor_button invisible
    setstate mydoor_keepopen invisible
    setstate mydoor_clip invisible
  }
  trigger opensnd
  {
    playsound sound/movers/doors/door2_open.wav
  }
  trigger okidee
  {
    resetscript
    setstate mydoor_button invisible
    setstate mydoor_keepopen default
    accum 0 trigger_if_equal 0 mydoor opensnd
    accum 0 set 1
    gotomarker mydoor_endpos 128 wait
    wait 2000
    accum 0 set 0
    gotomarker mydoor_begpos 128 wait
    playsound sound/movers/doors/door6_endc.wav volume 127
    setstate mydoor_keepopen invisible
    setstate mydoor_button default
  }
  trigger fastshut
  {
    resetscript
    halt
    accum 0 set 0
    setposition mydoor_begpos
  }
}
almost forgot :o

Code: Select all

// ============================================================================
// Fuel Dump Barricades
// ============================================================================
frontdump
{
  spawn
  {
    set
    {
      model "*28"
    }
    wait 200
    constructible_class 2
    setstate frontdumpmaterials_stage1 default
    setstate frontdumpmaterials_stage2 default
    setstate frontdump1_trighurt invisible
    setstate frontdump2_trighurt invisible
  }
  built stage1
  {
    setstate frontdumpmaterials_stage1 invisible
    setstate frontdump1_trighurt default
  }
  death
  {
    setstate frontdumpmaterials_stage1 default
    setstate frontdump1_trighurt invisible
    wm_announce	"Allied team has destroyed the East Axis Base Fortification!"
    wm_teamvoiceannounce 0 "fueldump_axis_depotdef_destroyed"
  }
  buildstart final
  {
    setstate mydoor underconstruction
  }
  decayed final
  {
    setstate mydoor invisible
  }
  built final
  {
    setstate frontdumpmaterials_stage2 invisible
    setstate mydoor_clip default
    setstate mydoor_keepopen invisible
    setstate mydoor_button default
    setstate mydoor default
    wm_announce	"Axis team has constructed the East Axis Base Fortification!"
    wm_addteamvoiceannounce 1 "fueldump_allies_depotdef_destroy"
    wm_teamvoiceannounce 0 "fueldump_axis_depotdef_constructed"
    wm_teamvoiceannounce 1 "fueldump_allies_depotdef_destroy"
    wm_removeteamvoiceannounce 0 "fueldump_axis_depotdef_construct"
  }
  destroyed final
  {
    trigger mydoor fastshut
    wait 20
    setstate frontdumpmaterials_stage2 default
    setstate mydoor invisible
    setstate mydoor_button invisible
    setstate mydoor_keepopen invisible
    setstate mydoor_clip invisible
    wm_announce "Allied team has damaged the East Axis Base Fortification!"
    wm_addteamvoiceannounce 0 "fueldump_axis_depotdef_construct"
    wm_teamvoiceannounce 0 "fueldump_axis_depotdef_breached"
    wm_teamvoiceannounce 1 "fueldump_allies_depotdef_destroyed"
    wm_removeteamvoiceannounce 1 "fueldump_allies_depotdef_destroy"
  }
}
NOTES
'fastshut' was a bugfix.. without it the door gets messy if it gets blown while open. i'm not sure if the 'resetscript' stuff is still useful atm but it doesnt seem to hurt.
Of course you won't see anything if you just copy-paste this.. you'll need to have "models/mapobjects/port.md3" which is a custom .md3 model (made with Milkshape) that you auto-download if you join shiven.net :>

The ladder was a dirty hack, based on the fueldump-ladder model. So its probably not possible on other maps.
I'd like to request the ETPro devs if they can make surface flags (minable, ladder) available somehow. also, more solid models/fakebrushes would be handsome ^^
BuLLitz
Posts: 10
Joined: Tue Feb 20, 2007 10:42 pm

Post by BuLLitz »

Would it be possible for you to package this so I can download it?
User avatar
Nail
Posts: 425
Joined: Fri Jan 02, 2004 3:47 pm
Contact:

Post by Nail »

Ctrl c, Ctrl v
Improvise, Adapt, Overcome
Post Reply