Announcement

Collapse
No announcement yet.

Pickup Replacer

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Thank you very much

    Leave a comment:


  • replied
    The following list is quite completed and contains mostly all items/weapons/etc. of UT3. The green values are supported. For pickup factories, use the values NickG mentioned in the ini file of the mutator.


    // not used
    () use the child class
    ; not implemented
    -is base class; not implemented to use this


    Weapons
    ======================
    UTGame
    -----------------
    -UTDeployable
    -UTBeamWeapon
    -UTVehicleWeapon
    (UTWeap_Avril)
    // UTWeap_BioRifle
    UTWeap_Enforcer
    UTWeap_FlakCannon
    UTWeap_ImpactHammer
    UTWeap_InstagibRifle
    UTWeap_LinkGun

    (UTWeap_Redeemer)
    UTWeap_RocketLauncher
    UTWeap_ShockRifle
    UTWeap_SniperRifle
    UTWeap_Stinger

    (UTWeap_Translocator)


    UTGameContent
    -----------------
    UTWeap_Avril_Content
    UTWeap_BioRifle_Content
    UTWeap_Physicsgun
    UTWeap_Redeemer_Content
    UTWeap_Translocator_Content





    Deployables
    ======================

    UTGame
    -----------------
    (UTDeployableXRayVolumeBase)


    UTGameContent
    -----------------
    UTDeployableEMPMine
    UTDeployableEnergyShield
    UTDeployableShapedCharge
    UTDeployableSlowVolume
    UTDeployableSpiderMineTrap



    UT3Gold
    -----------------
    UTDeployableLinkGenerator
    UTDeployableXRayVolume





    Vehicles (not supported)
    ======================
    Engine
    -----------------
    -Vehicle
    -SVehicle


    GameFramework
    -----------------
    // -GameVehicle


    UTGame
    -----------------
    ;-UTVehicleBase
    ;-UTVehicle
    ;-UTAirVehicle
    ;-UTHoverVehicle
    ;-UTVehicle_Deployable
    ;-UTStealthVehicle
    ;-(UTVehicle_TrackTurretBase)
    ;-(UTVehicle_Walker)
    ;(UTVehicle_Cicada)
    ;(UTVehicle_DarkWalker)
    ;(UTVehicle_Eradicator)
    ;(UTVehicle_Fury)
    ;(UTVehicle_Goliath)
    ;(UTVehicle_HellBender)
    ;UTVehicle_Hoverboard
    ;(UTVehicle_Leviathan)
    ;(UTVehicle_Manta)
    ;(UTVehicle_NightShade)
    ;(UTVehicle_Raptor)
    ;(UTVehicle_Scavenger)
    ;(UTVehicle_Scorpion)
    ;(UTVehicle_SPMA)
    ;(UTVehicle_StealthBender)
    ;(UTVehicle_Viper)
    ;(UTRemoteRedeemer)


    UTGameContent
    -----------------
    ;-(UTVehicle_ShieldedTurret)
    ;-(UTVehicle_Turret)
    ;UTRemoteRedeemer_Content
    ;UTVehicle_Cicada_Content
    ;UTVehicle_DarkWalker_Content
    ;UTVehicle_Fury_Content
    ;UTVehicle_Goliath_Content
    ;UTVehicle_HellBender_Content
    ;UTVehicle_Leviathan_Content
    ;UTVehicle_Manta_Content
    ;UTVehicle_Nemesis
    ;UTVehicle_NightShade_Content
    ;UTVehicle_Paladin
    ;UTVehicle_Raptor_Content
    ;UTVehicle_Scavenger_Content
    ;UTVehicle_Scorpion_Content
    ;UTVehicle_ShieldedTurret_Rocket
    ;UTVehicle_ShieldedTurret_Shock
    ;UTVehicle_ShieldedTurret_Stinger
    ;UTVehicle_SPMA_Content
    ;UTVehicle_StealthBender_Content
    ;UTVehicle_Viper_Content


    UT3Gold
    -----------------
    ;UTVehicle_Eradicator_Content
    ;UTVehicle_StealthBenderGold_Content




    Vehicles weapons (not supported)
    ======================
    UTGame
    -----------------
    // -UTWeaponPawn
    // -UTClientSideWeaponPawn
    ;UTVWeap_NightshadeGun
    ;(UTVWeap_SPMACannon)
    ;UTVWeap_TowCable


    UTGameContent
    -----------------
    ;UTVWeap_CicadaMissileLauncher
    ;UTVWeap_CicadaTurret
    ;UTVWeap_DarkWalkerPassGun
    ;UTVWeap_DarkWalkerTurret
    ;UTVWeap_FuryGun
    ;UTVWeap_GoliathMachineGun
    ;UTVWeap_GoliathTurret
    ;UTVWeap_HellBenderPrimary
    ;UTVWeap_LeviathanPrimary
    ;(UTVWeap_LeviathanTurretBase)
    ;UTVWeap_LeviathanTurretBeam
    ;UTVWeap_LeviathanTurretRocket
    ;UTVWeap_LeviathanTurretShock
    ;UTVWeap_LeviathanTurretStinger
    ;UTVWeap_MantaGun
    ;UTVWeap_NemesisTurret
    ;UTVWeap_NightshadeGun_Content
    ;UTVWeap_PaladinGun
    ;UTVWeap_RaptorGun
    ;UTVWeap_RocketTurret
    ;UTVWeap_SPMACannon_Content
    ;UTVWeap_ScavengerGun
    ;UTVWeap_ScorpionTurret
    ;UTVWeap_ShockTurret
    ;(UTVWeap_ShockTurretBase)
    ;UTVWeap_SPMACannon_Content
    ;UTVWeap_SPMAPassengerGun
    ;UTVWeap_ShockTurret
    ;UTVWeap_StealthbenderGun
    ;(UTVWeap_StealthGunContent)
    ;UTVWeap_TurretPrimary
    ;UTVWeap_TurretShock
    ;UTVWeap_TurretStinger
    ;UTVWeap_ViperGun


    UT3Gold
    -----------------
    ;UTVWeap_EradicatorCannon_Content
    ;UTVWeap_StealthBenderGold_Content




    Pickup Factories
    ======================
    UTGame
    -----------------
    -UTAmmoPickupFactory
    -UTArmorPickupFactory
    -UTHealthPickupFactory
    -(UTDeployableNodeLocker)
    -UTDeployablePickupFactory
    -UTItemPickupFactory
    -UTPickupFactory
    -UTPowerupPickupFactory
    -(UTWeaponLocker)
    -UTWeaponPickupFactory
    UTArmorPickup_Helmet
    UTArmorPickup_Thighpads
    UTArmorPickup_Vest
    // UTAmmo_BioRifle
    UTAmmo_Enforcer
    UTAmmo_FlakCannon
    UTAmmo_LinkGun
    UTAmmo_RocketLauncher
    UTAmmo_ShockRifle
    UTAmmo_SniperRifle
    UTAmmo_Stinger
    UTPickupFactory_HealthVial
    UTPickupFactory_MediumHealth


    UTGameContent
    -----------------
    -UTWeaponLocker_Content
    UTArmorPickup_ShieldBelt
    UTAmmo_AVRiL
    UTAmmo_BioRifle_Content
    UTPickupFactory_Berserk
    UTPickupFactory_Invisibility
    UTPickupFactory_Invulnerability
    UTPickupFactory_JumpBoots
    UTPickupFactory_SuperHealth
    UTPickupFactory_UDamage


    UT3Gold
    -----------------
    UTPickupFactory_SlowField




    Vehicle factories
    ======================
    UTGame
    -----------------
    -UTVehicleFactory
    ;(UTVehicleFactory_TrackTurretBase)


    UTGameContent
    -----------------
    ;UTVehicleFactory_Cicada
    ;UTVehicleFactory_DarkWalker
    ;UTVehicleFactory_Fury
    ;UTVehicleFactory_Goliath
    ;UTVehicleFactory_HellBender
    ;UTVehicleFactory_Leviathan
    ;UTVehicleFactory_Manta
    ;UTVehicleFactory_Nemesis
    ;UTVehicleFactory_NightShade
    ;UTVehicleFactory_Paladin
    ;UTVehicleFactory_Raptor
    ;UTVehicleFactory_Scavenger
    ;UTVehicleFactory_Scorpion
    ;UTVehicleFactory_ShieldedTurret_Rocket
    ;UTVehicleFactory_ShieldedTurret_Shock
    ;UTVehicleFactory_ShieldedTurret_Stinger
    ;UTVehicleFactory_SPMA
    // UTVehicleFactory_StealthBender
    ;UTVehicleFactory_Turret
    ;UTVehicleFactory_Viper


    UT3Gold
    -----------------
    ;UTVehicleFactory_Eradicator
    ;UTVehicleFactory_StealthBenderGold

    Leave a comment:


  • replied
    Thanks !

    But......

    You can post the name of everything "ITEM" and of everything "DEPLOYABLE" please. Or you can say to me where to find them, I have the name of all the weapons but no items nor deployable.

    Leave a comment:


  • replied
    Just a quick howto:
    In order to replace specific items/pickups/powerups/etc. you have to add a line to your ini under the section "[SuperDuperPickupSwitcher.SuperDuperPickupSwitcher]".
    This line has 3 custom values you have to edit. Each line begins with "ReplaceThisStuff=" which represents one type of item to be replaced/removed. To let the mutator know, what item to be replaced/removed, you have to change the property "OldClassName" to your class name. In order to get the correct class names, you need to know a bit of the unrealscript or the INI system. The class name needs to be exact.

    Some of the available stock class names can be found on this post by NickG (these are not all):
    http://forums.epicgames.com/threads/...1#post27582011

    Because factories (this thing which will spawn a item/weapon/powerup/pickup/etc.) are different for each type of item, you have to define the type in of the factory by changing the property "NewClassType" of the INI line. Possible values: "ITEM" or "WEAPON" or "DEPLOYABLE" (more to come - hopefully)
    Some items do have a custom/own factory, so this needs to be spawned directly.

    The property "NewClassPath" defines the objects to be spawned instead. IF you set it to "", the object of type set by "OldClassName" will be removed. Otherwise, the value has to be set to a fully qualified name. Every "NewClassPath" looks like this: PACKAGENAME.CLASSNAME. For custom or stock values, you can check the ini files.
    Example LoTrap weapon.
    Code:
    [Weap_LoTrap UTUIDataProvider_Weapon]
    ClassName=LoTrap.Weap_LoTrap
    AmmoClassPath=
    Flags=
    FriendlyName=Weap_LoTrap
    Description="Lotrap Gun"
    MeshReference=
    bRemoveOn360=False
    bRemoveOnPC=False
    bRemoveOnPS3=False
    So if you set the property "NewClassType" to "ITEM", you need to use a given custom factory (can be found in the ini file; they start with N).


    Some examples:
    Removing X
    Code:
    ReplaceThisStuff=(OldClassName="UTPickupFactory_HealthVial",NewClassPath="",NewClassType="")
    Code:
    ReplaceThisStuff=(OldClassName="UTWeap_Stinger",NewClassPath="",NewClassType="")
    Code:
    ReplaceThisStuff=(OldClassName="UTAmmo_Stinger",NewClassPath="",NewClassType="")
    Replacing Jumpboots with ShieldBelt
    Code:
    ReplaceThisStuff=(OldClassName="UTPickupFactory_JumpBoots",NewClassPath="SuperDuperPickupSwitcher.NUTArmorPickup_ShieldBelt",NewClassType="ITEM")
    Replacing Redeemer with InstaGibRifle
    Code:
    ReplaceThisStuff=(OldClassName="UTWeap_Redeemer_Content",NewClassPath="UTGame.UTWeap_InstagibRifle",NewClassType="WEAPON")
    Replacing EMP with SLOW
    Code:
    ReplaceThisStuff=(OldClassName="UTDeployableEMPMine",NewClassPath="UTGameContent.UTDeployableSlowVolume",NewClassType="DEPLOYABLE")
    Enforcer + Hammer Arena (default inventory) // will remove every Weapon, WeaponLocker, Ammo, PowerUp, PickUp, Health and Shield item (and every other item which is spawned into the map by a UTPickupFactory)
    (not implemented to remove "child" objects - *wink* NickG)
    Code:
    ReplaceThisStuff=(OldClassName="UTPickupFactory",NewClassPath="",NewClassType="")
    Removing Goliath/Tank
    Code:
    ReplaceThisStuff=(OldClassName="UTVehicleFactory_Goliath",NewClassPath="",NewClassType="")
    Replacing Goliath with Manta (not implemented - *wink* NickG)
    Code:
    ReplaceThisStuff=(OldClassName="UTVehicleFactory_Goliath",NewClassPath="UTVehicleFactory_Manta",NewClassType="VEHICLE")
    Removing vehicles (not implemented to remove "child" objects - *wink* NickG)
    Code:
    ReplaceThisStuff=(OldClassName="UTVehicleFactory",NewClassPath="",NewClassType="")
    Removing nodes (kismet needs to be deactivated, like CountDown - *wink* NickG)
    Code:
    ReplaceThisStuff=(OldClassName="UTOnslaughtPowernode",NewClassPath="UTVehicleFactory_Manta",NewClassType="VEHICLE")
    Code:
    ReplaceThisStuff=(OldClassName="UTOnslaughtCountdownNode",NewClassPath="UTVehicleFactory_Manta",NewClassType="VEHICLE")

    -----------------------
    @NickG:
    Some features, mentioned above, could be added.

    As you check for an the direct name, it's not possible to remove all "child" objects (currently possible by adding several lines).
    You could check the child class.
    Code:
    ClassIsChildOf(class TestClass, class ParentClass)
    .


    I didn't understand at first why you added custom factories (when i looked at the compiled U files in the notepad - no defaultproperties). But it may be possible to set bStatic and bNoDelete by using an Actor template

    Code:
    class NStaticActorTemplace extends Actor
    
    defaultproperties
    {
        bNoDelete=False
        bStatic=False
    }
    Code:
    class MyMut extends UTMutator;
    
    var Actor MyTemplate;
    
    function PostBeginPlay()
    {    
        local Actor a;
        MyTemplate = Spawn(class'NStaticActorTemplace');
        a = Spawn(class'UTDeployablePickupFactory',,,,,MyTemplate);
    }
    Don't know if this works.
    -----------------------

    @TKBS
    The FairSpawnTime mutator isn't published. That's why there is no in depth explanation. There were basic examples.

    ----------------------------

    Originally posted by NickG via ini file
    Donsider this an alpha and feel free to build upon source and fix for bots, add UI, etc. I may not get around to it, myself.
    UI would include a config scene imo. But config scenes are not very handy to code. An in-depth explanation is not needed if a config scene exists tbh.


    PS: i'm not a coder/creator of this mutator. All work is done by NickG.

    Leave a comment:


  • replied
    - I have noticed many people have problems with "custom INI mutators"; - i can recall at least 2 other occasions where users get very confused
    by this type of mutator.

    @ RattleSN4k3 @ Nick.G; it might be beneficial to include a more in depth explanation [read me] with these and similar mutators.
    - given that for users it is clearly more difficult than the average mutator

    -an example @ RS = [fair spawn time]-i remember having the same 'confusion' issues with this.


    - now //@ the confused people.....this might help gain understanding

    read this by Nick.G maybe it will help

    http://forums.epicgames.com/threads/...acing-powerups


    - hopefully this will help until the creators [RS + Nick] find a suitable method of explanation.


    - i have not used the mutator; but it sounds like a good idea.

    Leave a comment:


  • replied
    I does not understand very well your explanation in the ini file.

    How is it necessary to configure your mutateur to replace a weapon by a deployable? Can you explain me it with example please?

    Thanks.

    Leave a comment:


  • replied
    Sweet! I was hoping somebody would make this type of mutator.
    How do I use it? I tried just playing with the mutator on (with lots of others), also I couldn't really understand any thing in the ini file.
    What is breaking pathing for bots? haha does it just mean bots won't use it? Thanks for making the mutator.

    Leave a comment:


  • replied
    UGH! ...finally got it. forgot about "bMovable"... set it in the default properties of the spawned class and everything is working now.

    Leave a comment:


  • replied
    ended up adding rotation and drawscale: (DM-CBP3-SALVATION has a scaled and rotated one shown here.)
    Click image for larger version

Name:	ScreenShot00004.jpg
Views:	1
Size:	21.0 KB
ID:	3248992
    Will probably eventually add the rest like Drawscale3d, relativeblahblah, translation, etc.
    I still have not implemented actor template. Think I will try it next. I cannot complete a SetBase on the original pickup nor the original pickups Base (I get a SetBase failed! blah blah is a static actor.) I have added some logs before/after setbase and set some properties on the spawned actor before running setbase. My spawned actor is static despite bStatic is set to false before and after I attempt setbase ( I think bStatic may not even relate to the "static actor" in the scriptlog message anyway.) I also tried setting PHYS_Interpolating on my spawned actor before setbase, and checking the condition before running setbase, yet the actor is still not movable; cannot complete setbase. Not sure what I am missing. On the plus side, bots are ok and can use the new pickups, at least this is true in the cases I have tested thus far.

    Leave a comment:


  • replied
    Thanks. I uploaded a new zip with source in the original post; did not make any changes yet. I forgot about all sideways/moving/scaled pickups, I will definitely see about setting base, and rotation, and scaling. I am not sure what I can do about any directly animated ones (those which do not rely on a base, if any) apart from setting the original pickup as base of the new pickup and hiding/disabling the orginal, or perhaps iterating through kismet and setting as sequence obj vars and attaching to any events, which I suppose I should do anyway for some of the fancy maps. How do I spawn with template of the old class; should setting owner to other take care of this? I will add it. Also I can try adding the originalfactory/replacementfactory stuff to see if helps the bots. I've done some map-specific stuff before but I did not finish adding it to this. Going further and checking name/tag are a good idea and a step toward the goal of later creating a generic content replacer/adder. With such a later mod, I wish to also extend some gametypes, allow for addition of the parent class game objectives to specific pathnode or vector, then play on existing maps without forcing clients to download another copy of basically the same map. AI might have trouble with some gametypes, but at the least, pathing for reliquary BR should probably still work.

    Leave a comment:


  • replied
    Great. Good work. Works like intended.Some things to add/correct.

    • The source code is missing
    • Hard attached actors may not work always on moving base actors (like in VCTF-Rails which isn't working for Invis and Jumpboots on the boat)
      something like this (and for all other spawning code)
      Code:
      local bool SpawnAttached;
      SpawnAttached = Other.bHardAttach;
      DEPLOYABLEPICKUPTOSPAWN.SetHardAttach(SpawnAttached);
      would change this (didn't test it though). Plus changing/applying the Base field.
    • Rotation should be applied as well (for top down pickups etc.)
    • didn't test it if it's working for non-static actors, but spawning the new classes with the template of the old class could apply all other properties (editable and non-etiable props)
    • Code:
      DEPLOYABLEPICKUPTOSPAWN = Spawn(class'NUTDeployablePickupFactory',Other.Owner,,SpawnLocation,SpawnRotation,Other);
    • As you tried to implement something like a map-specific replacement, you could add name replacement, in order to replace specific objects.
    • New feature: generic actor replacement/removal
    • New feature: Adding ever actor class on specific locations (/navpoints)

    Leave a comment:


  • started a topic Pickup Replacer

    Pickup Replacer

    SUPERDUPERPICKUPSWITCHER.zip
    Hi. This is a mutator which removes config-specified pickps and spawns other config-specified pickups in their place. Feel free to improve upon this mutator or create task-oriented jobs from the included source. It may be a while before I get around to any improvements, myself. Do contact me if you have come up with something nice. This method of replacement currently probably breaks pathing for bots. (this is perhaps fixable ala the ammo replacement in stock weapon replacement mutator) Usage info is included in the ini which currently must be hand-edited.
Working...
X