Announcement

Collapse

The Infinity Blade Forums Have Moved

We've launched brand new Infinity Blade forums with improved features and revamped layout. We've also included a complete archive of the previous posts. Come check out the new Infinity Blade forums.
See more
See less

Pickup Replacer

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

    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.

    #2
    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)

    Comment


      #3
      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.

      Comment


        #4
        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.

        Comment


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

          Comment


            #6
            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.

            Comment


              #7
              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.

              Comment


                #8
                - 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.

                Comment


                  #9
                  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.

                  Comment


                    #10
                    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.

                    Comment


                      #11
                      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

                      Comment


                        #12
                        Thank you very much

                        Comment


                          #13
                          Hi, here is my latest build/source. Careful folks, I've not even renamed it, so don't put it on any server without building from source with new name. For personal experimentation/use, just overwrite the .u file;
                          SDPSMAY4.zip
                          Notes/News:
                          NewClassType= handler is gone. It is no longer necessary and will no longer work lest you script it back in for some reason (building this up into an adder rather than just a replacer, for example.)
                          MapName= specifier works like this:
                          Code:
                          ReplaceThisStuff=(OldClassName="UTWeap_Redeemer_Content",NewClassPath="SuperDuperPickupSwitcher.NUTWeap_InstagibRifle",MapName="vCTF-Rails")
                          ReplaceThisStuff=(OldClassName="UTPickupFactory_Invisibility",NewClassPath="SuperDuperPickupSwitcher.NUTPickupFactory_UDamage",MapName="vCTF-Rails")
                          ReplaceThisStuff=(OldClassName="UTWeap_Redeemer_Content",NewClassPath="SuperDuperPickupSwitcher.NUTPickupFactory_UDamage")
                          ReplaceThisStuff=(OldClassName="UTWeap_Redeemer_Content",NewClassPath="UTGameContent.UTDeployableSpiderMineTrap",MapName="DM-Deck")
                          in the above example, playing Deck we get a spidermine pickup instead of redeemer pickup, playing Rails we get my ammo-limited subclass of instagib rifle instead of redeemer and udamage on the boat instead of invisibility, playing all other maps we get a udamage instead of redeemer pickup. The MapName specifier is case-insensitive but be warned it is not always = filename-minus-extension. It can be viewed in webadmin, worldinfo in editor, utmaplists.ini, and some other places.
                          I can try to explain the hierarchy further, but hopefully the above example should suffice. Just know that the mutator may replace the oldclass with the newclass of any generic set you have included (w/o mapname) if the MapName cannot be found. IF one were to add two lines with same oldclassname , generic or map-specific, like:
                          Code:
                          ReplaceThisStuff=(OldClassName="UTWeap_Redeemer_Content",NewClassPath="SuperDuperPickupSwitcher.NUTPickupFactory_UDamage")
                          ReplaceThisStuff=(OldClassName="UTWeap_Redeemer_Content",NewClassPath="UTGameContent.UTDeployableSpiderMineTrap")
                          he or she may receive less predictable results (may even crash, but the latest value in the array should take precedence in this case).

                          I have introduced some kismet tests in this build. They should be off by default if I did not overlook something (highly likely, still in ┬┐rapid? early development) You should be able to enable them by setting ,bDoSomeKismets="True") in the array, or, if I messed up, they will happen anyway. Some properties may propagate to kismet without my interference, also. I am still exploring possibilities here, will probably have to employ some actions to kill some sequences linked to the original pickups in some cases and/or even replace some sequences with script-behavior on a conditional basis, later. Simple Things, like PickupStatusChange->Taken should work presently. I cannot presently remember why weapon pickups do not activate the "available" outputlink of a pickupstatuschange. It has been a while.

                          Spawned Pickups should now be scaled,rotated,based and attached, and properly movable/moving. when replacing others. If this is not the case for some replacements (haven't taken time to test all, yet), please inform me. I opted not to forward some properties such as relativerotation,relativelocation,drawscale3d,phys ics, as I've yet to see an example in which these are utilized but unuse may not be the case.

                          NUTWeaponPickupFactory should now be movable as above, and now spawns with a default weapon if the newclasspath is invalid, same goes for NUTDeployablePickupFactory, spawns a slowvolume or something, if newclasspath becomes invalid. These two are the classes which will spawn when ~NewClassPath="SomeWeaponBasePath.SomeWeapon" ,or ~NewClassPath="SomeDeployableBasePath.SomeDeployab le, respectively. I added two weapon classes which can be spawned, "SuperDuperPickupSwitcher.NUTWeap_Enforcer" - just to to include pickup mesh, and, "SuperDuperPickupSwitcher.NUTWeap_InstagibRifl e", to include pickup mesh (no fancies) and employ an ammo limit (used as powerup, maybe too unbalanced for normal gametypes, as-is)
                          The remainder of classes included by me which can be spawned as newclass can be viewed in source folder, I have added no other new ones, but I have removed the two dummy classes.

                          Comment


                            #14
                            Cool, thanks for your hard work making this mod so configurable.
                            I did test the older version, it seems AI are avoiding the new pickup (DM-Deck). Is it going to be AI compatible?
                            I'm going to test out the new update. Thanks again.

                            edit: I can't DL the attachment, got an error.

                            Comment


                              #15
                              okay, updated the link. I do not know if this will ever have full compatibility with bots. I still need to read a bit to see what is feasible, what is accessible at run time.

                              Comment

                              Working...
                              X