How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)

Started by Norrin Radd, August 06, 2007, 04:12PM

Previous topic - Next topic
let there be fire...

if a fire entity doesnt convert properly (meaning that no fire appears even after you have changed the effects file so it points to a valid fire effect)

try changing it from this format:
   entity {
   actontouch = true ;
   actrescheduledelay = 0.4 ;
   actrescheduledelaymin = 0.4 ;
   boxdamage = true ;
   classname = affectableharment ;
   damage = 3 ;
   damagemods = dmgmod_no_pain ;
   damagetype = dmg_fire ;
   firstact = 1 ;
   health = 1 ;
   knockback = 200 ;
   loopfx = map/common/fire_small ;
   loopfxstarton = true ;
   name = fire ;
   reactpower = extinguish ;
   spawnsoundloop = zone_shared/effects/fire_med ;
   stophero = false ;
   stopnpcaltenemy = false ;
   stopnpcenemy = false ;
   stopnpcneutral = false ;
   targetlockable = true ;
   }


to this one:
   entity {
   boxdamage = true ;
   classname = affectableharment ;
   damage = 3 5 ;
   damagemods = dmgmod_no_pain dmgmod_unblockable ;
   damagetype = dmg_fire ;
   extent = -17 -17 0 17 17 28 ;
   health = 1 ;
   knockback = 200 ;
   loopfx = map/common/fire_small ;
   loopfxstarton = true ;
   name = fire ;
   radiusdamage = false ;
   reactpower = extinguish ;
   smartfire = true ;
   spawnsoundloop = zone_shared/effects/fire_med ;
   stopprojectile = false ;
   structure = 2 ;
   targetlockable = true ;
   }

get the correct extent values from its entinst call


heres a pic of what it looks like when properly converted:


edit:
there are also some tricks you can play so that you can make characters like iceman remove those fires

Thanks, Norrin Radd!
What does "actontouch" do? "act on touch"? (I know this isn't in the fixed version)

EDIT: Understood. Thanks alot!!!

there are at least two ways to activate something, one of them is "actontouch" and the other "actonuse"

for actonuse you need to press a button to activate the entity (usually a small text appears at the bottom of the screen)
for actontouch you just need to go in that entity's extent field and they you will make it "act"

in this case the fire entities in XML1 are setup so they are entities that "act" but in MUA they dont need to act, they can just "be" if you catch my drift

example code of a working fire wall (after conversion and editing to make it work):
   entity {
   boxdamage = true ;
   classname = affectableharment ;
   damage = 3 ;
   damagemods = dmgmod_no_pain ;
   damagetype = dmg_fire ;
   extent = -120 -65 0 120 65 90 ;
   health = 1 ;
   knockback = 200 ;
   loopfx = map/common/fire_wall ;
   loopfxstarton = true ;
   name = fire_wall ;
   radiusdamage = false ;
   reactpower = extinguish ;
   smartfire = true ;
   spawnsoundloop = zone_shared/effects/fire_large ;
   startenabled = true ;
   stopprojectile = false ;
   structure = 2 ;
   targetlockable = true ;
   }


an example of a working entity that is made to harm something (after conversion and editing to make it work):
   entity {
   boxdamage = true ;
   classname = affectableharment ;
   damage = 3 ;
   damagemods = dmgmod_no_pain ;
   damagetype = dmg_fire ;
   extent = -14 -14 0 14 14 28 ;
   health = 1 ;
   knockback = 200 ;
   loopfx = map/common/fire_small ;
   loopfxstarton = true ;
   name = fire ;
   radiusdamage = false ;
   reactpower = extinguish ;
   smartfire = true ;
   spawnsoundloop = zone_shared/effects/fire_med ;
   stopprojectile = false ;
   structure = 2 ;
   targetlockable = true ;
   }

it appears that cable can also build bridges, although only with his extreme:


it just so happens that his extreme is the only power with dmg_telekinesis in it

have you gotten magma to build bridges?
Please search the forum before asking a question. I dont answer
PMs about modding, those questions should be posted in a public thread.
What im currently working on: http://marvelmods.com/forum/index.php?topic=2275.0
My mods are mine to booster/update, I will not give anybody permission to do it

no none of her powers make bridges for the converted magma version, but
i think it is related to this:
dmgmod_environment

because these are the entries iceman and cable have for the moves that make bridges:

      trigger {
      arc = 180 ;
      attacktype = psionic ;
      damage = %cable_psycho_dmg ;
      damagelevel = 1 ;
      damagetype = dmg_telekinesis ;
      knockback = 190 ;
      maxrange = 350 ;
      name = psycho_slam ;
      time = 0.225 ;
      type = ce_atk ;
      victimeventtag = 100 ;
         damageMod {
         name = dmgmod_popup ;
         }

         damageMod {
         name = dmgmod_environment ;
         }

      }


      trigger {
      actorbolt = Bip01 L Hand ;
      attack_bone_angles = 0 0 0 ;
      attack_bone_pos = 28 3 41 ;
      attacktype = projectile ;
      damage = %iceman_p2_dmg ;
      damagescale = none ;
      damagetype = dmg_cold ;
      entity = iceman_p2_proj ;
      filename = ents_iceman ;
      fulltargeting = true ;
      maxrange = 800 ;
      name = projectile ;
      powerusage = %iceman_p2_pwr ;
      speed = 1000 ;
      targetable = true ;
      time = 0.25 ;
      victimeventtag = 10 ;
         damageMod {
         name = dmgmod_environment ;
         }

         damageMod {
         name = dmgmod_extinguish ;
         }

      }


i see a similar entry in magma's xml1 version, but not the MUA converted version

<event name="lava_rift" inherit="blast_ranged" HitEffect="powers/magma_power2_rift" fxlevel="1" maxrange="250" DamageType="dmg_fire" damage="L3" radius="48" targetable="true" powerup_tag="magma_power">
<damageMod name="dmgmod_environment"/>
</event>

Norrin Radd, can you upload the UltimateAlphabetizer and extentConverter again? I couldn't find them in my backup when I formated my computer... @_@ The sendspace links are all expired now.

EDIT: Thanks alot!!!

Sure, just remember you only need to run the extent converter for level eng's

Extent converter
Download Here

Ultimate alphabetizer
Download Here

   entinst {
   type = player_start_all01 ;
      inst {
      extents = -48.0243 -95.2953 0 71.9757 48.7833 83.9544 ;
      name = player_start_all01 ;
      orient = 0 0 -1.22173 ;
      pos = -1880.12 -187.904 -117.522 ;
      }

   }


Norrin, can you clarify a few things real quick?

      extents = [a "box" containing six points] (really mostly useful for things that need invisible walls, etc - but always needed)
      orient = Pitch / Yaw / Roll (confused as to why a player spawn would need a roll value)
      pos = X / Y / Z


yes, but i don't remember 100% if the orient is what you posted. It may be correct, but I possibly remember moving characters angles in the x and y by changing the last value in the orient. It has been a while since i played with it, so i can't remember clearly

Hmm, I'll have to play with it.  I need to make a few invisible lines to cross for stuff like Pyro's AI and the like.  Maybe I'll ask Overload or someone with 3DSMax to export a XML1 map, take an overhead screenshot and make some distance markings for reference.


Yes, but I need something to trigger that script.  Techncially that's what the little cutscene script does, but until you hit the trigger Pyro can still come after you.  So you could stand just outside the trigger and Pyro will chase you.  So to combat that I'm going to probably put a second trigger on the bridge just before you see Pyro, or move the first further away from Pyro.

or, you can just make him initially start as not going after your guys, so either in his spawn script, his entry in the eng, or the level zone script