★ UTSwap - Map Inventory Swapper ★

Search, find and discuss about Mutators!
User avatar
Que
Adept
Posts: 376
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

★ UTSwap - Map Inventory Swapper ★

Post by Que » Mon Oct 12, 2020 12:55 am

UTSwap gives admins the ability to exchange any item on any map with any other item including custom weapons/pickups.
ImageImage
Below is my Sample.ini entires.

Code: Select all

[UTSwap.UTSwap]
DefaultGun="Botpack.enforcer"
bDebug=True
SwapItem[0]=(bUse=False,GameName="",MapName="",OldItem="Invisibility",NewItem="Botpack.UDamage")
SwapItem[1]=(bUse=True,GameName="",MapName="DM-Deck16][",OldItem="WarheadLauncher",NewItem="BotPack.HealthPack")
SwapItem[2]=(bUse=True,GameName="",MapName="DM-Phobos,DM-Affinity,DM-AbandonedCity][",OldItem="Invisibility",NewItem="Botpack.HealthPack")
SwapItem[3]=(bUse=True,GameName="",MapName="DM-HyperBlast,DM-Barricade,DM-Morpheus,DM-Codex",OldItem="Invisibility",NewItem="Botpack.UDamage")
SwapItem[4]=(bUse=True,GameName="",MapName="DM-LastCrusader][",OldItem="Invisibility",NewItem="Botpack.WarheadLauncher")
SwapItem[5]=(bUse=False,GameName="",MapName="DM-Agony",OldItem="WarheadLauncher",NewItem="Botpack.Thighpads")
SwapItem[6]=(bUse=False,GameName="",MapName="DM-Agony",OldItem="WarheadLauncher",NewItem="BotPack.HealthPack")
SwapItem[7]=(bUse=True,GameName="",MapName="DM-Agony",OldItem="WarheadLauncher",NewItem="BotPack.UDamage")
Note how various Items have been replaced using UTSwap in different Maps.

Unable to Swap Invisi in Map DM-Codex as it appears to be Triggered and cannot be changed instead it will be removed if using UTSwap.
Alas Manually editing the map seems to be the only way around this for Codex.

Read More
Show
UTSwap Version 4

This Mutator does not require any ServerPackage.
However any Modified Items will need ServerPackages.

Mutator=UTSwap.UTSwap

Any Pickup Item can be swapped with any other Pickup Item.
The above item settings are not case sensitive.
The OldWhatever can be an abbreviation of the original but be
carefull not to make it too abreviated :)

In the ini you have a GameName and a MapName.
This is so you can swap something in a certain game and or map.
You can have several maps seperated with a comma ','
Leaving the Gamename and or Mapname blank the all games and maps will be used.

Should the level start with incorrect DefaultWeapon, means the Minigun ammo has changed.
Which ever weapon that has replaced the Minigun or Enforcer should become the DefaultWeapon:
DefaultGun=
For instance in SwapItem 2 below set DefaultGun="Mac10.uzi"

Examples
SwapItem[0]=(bUse=True,GameName="",MapName="Morpheus,Codex,",OldItem="Invisibility",NewItem="Botpack.ThighPads")
SwapItem[1]=(bUse=True,GameName="My DeathMatch Game",MapName="",OldItem="WarheadLauncher",NewItem="Botpack.Chainsaw")
SwapItem[2]=(bUse=True,GameName="",MapName="",OldItem="Minigun",NewItem="Mac10.uzi")
SwapItem[3]=(bUse=True,GameName="",MapName="",OldItem="Miniammo",NewItem="Mac10.macammo")

Items 2 and 3 will need a ServerPackage=Mac10

UnrealTournament
================

Inventory Items
---------------
Botpack.ThighPads
Botpack.UT_invisibility
Botpack.UT_JumpBoots
Botpack.UT_ShieldBelt
Botpack.UDamage
Botpack.Armor2
Botpack.HealthVial
Botpack.HealthPack
Botpack.MedBox

Weapon Items
------------
Botpack.WarheadLauncher
Botpack.UT_Eightball
Botpack.UT_FlakCannon
Botpack.SuperShockRifle
Botpack.ShockRifle
Botpack.Minigun2
Botpack.PulseGun
Botpack.SniperRifle
Botpack.Ripper
Botpack.UT_BioRifle
Botpack.Enforcer
Botpack.Impacthammer
Botpack.Chainsaw
Botpack.Translocator

Ammo Items
----------
Botpack.RocketPack
Botpack.FlakAmmo
Botpack.ShockCore
Botpack.MiniAmmo
Botpack.PAmmo
Botpack.RifleShell
Botpack.BulletBox
Botpack.BladeHopper
Botpack.Bioammo
Botpack.EClip

Old Unreal1
===========

Inventory Items
---------------
unrealshare.KevlarSuit
unreali.Invisibility
unreali.JumpBoots
unreali.PowerShield
unrealshare.Amplifier
unrealshare.SuperHealth
unrealshare.Armor
Unrealshare.Bandages
unrealshare.health

Weapons Items
-------------
unrealshare.Eightball
unreali.FlakCannon
unrealshare.asmd
unreali.Minigun
unrealshare.stinger
unreali.rifle
unreali.razorjack
unreali.GESBioRifle
unrealshare.automag

Ammo Items
----------
unrealshare.RocketCan
unreali.FlakBox
unrealshare.asmdammo
unrealshare.ShellBox
unrealshare.stingerAmmo
unreali.Rifleround
unreali.rifleAmmo
unreali.razorammo
unreali.Sludge
unrealshare.Clip
Created by ProASM
You do not have the required permissions to view the files attached to this post.
Last edited by Que on Thu Oct 22, 2020 2:53 am, edited 7 times in total.
Image Image Image
*Join our Discord Here.*

User avatar
esnesi
Inhuman
Posts: 792
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: ★ UTSwap4 - Map Inventory Swapper ★

Post by esnesi » Mon Oct 12, 2020 9:45 am

What are the advantages of this, opposed to Stuffswapper?

ProAsm
Skilled
Posts: 181
Joined: Sun Sep 29, 2013 7:12 am

Re: ★ UTSwap4 - Map Inventory Swapper ★

Post by ProAsm » Mon Oct 12, 2020 8:33 pm

This is purely an experiment to swap anything with anything and is not menu driven.
StuffSwapper is an excellent mod but has restrictions in that it is purely menu driven and running it on a server is very difficult.
It is also restricted to UT stuff only where we are trying to include external mods although it has a way to go :)

User avatar
OjitroC
Godlike
Posts: 2420
Joined: Sat Sep 12, 2015 8:46 pm

Re: ★ UTSwap4 - Map Inventory Swapper ★

Post by OjitroC » Mon Oct 12, 2020 9:10 pm

ProAsm wrote:
Mon Oct 12, 2020 8:33 pm
StuffSwapper is an excellent mod but has restrictions in that it is purely menu driven and running it on a server is very difficult.
It is also restricted to UT stuff only
I don't know anything about running StuffSwapper on a server. However I can say that it is not restricted to UT stuff only, though it depends what you mean by this. You can use anything from mods that is compatible with UT so I've got configurations that include weapons or pickups from a lot of mods (from Marathon Ressurection to Nali Chronicles to FLA to Legacy and so on).

Your mutator has the advantage of being map specific and so would be more useful than StuffSwapper to those wishing to swap certain items in certain maps which they played a lot - that would certainly be a big plus for some users.

User avatar
[rev]rato.skt
Adept
Posts: 359
Joined: Mon Aug 16, 2010 1:09 pm

Re: ★ UTSwap4 - Map Inventory Swapper ★

Post by [rev]rato.skt » Mon Oct 12, 2020 11:11 pm

Nice man :D
Brazilian Server:
Classic madruga.utbr.tk:7777
Duel x1.utbr.tk:6666
UT2004 2004.utbr.tk:5555

User avatar
esnesi
Inhuman
Posts: 792
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: ★ UTSwap4 - Map Inventory Swapper ★

Post by esnesi » Mon Oct 12, 2020 11:14 pm

You can indeed fill the SS ini with other mods.
But i see this can be useful for certain maps indeed which can't be edited.

User avatar
Que
Adept
Posts: 376
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: ★ UTSwap4 - Map Inventory Swapper ★

Post by Que » Wed Oct 14, 2020 5:40 am

added version 5 incase version 4 dont work for you.

version 4 works good for newnet pickups
Image Image Image
*Join our Discord Here.*

User avatar
sektor2111
Godlike
Posts: 5336
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: ★ UTSwap - Map Inventory Swapper ★

Post by sektor2111 » Wed Oct 14, 2020 9:14 pm

Is everything all right here ?

Code: Select all

function bool AlwaysKeep (Actor Other)
{
...
  if (  !Other.IsA('Inventory') )
  {
    return False;
  }

User avatar
Que
Adept
Posts: 376
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: ★ UTSwap - Map Inventory Swapper ★

Post by Que » Thu Oct 15, 2020 1:14 am

sektor2111 wrote:
Wed Oct 14, 2020 9:14 pm
Is everything all right here ?

Code: Select all

function bool AlwaysKeep (Actor Other)
{
...
  if (  !Other.IsA('Inventory') )
  {
    return False;
  }
please explain Sektor2111 what is problem here?
Image Image Image
*Join our Discord Here.*

User avatar
sektor2111
Godlike
Posts: 5336
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: ★ UTSwap - Map Inventory Swapper ★

Post by sektor2111 » Thu Oct 15, 2020 6:39 am

The problem is OTHER Actor from map which... is it removed ? Why ? AlwaysKeep can react against a wide range of actors which are doing relevance checks.
I would like to see FULL source-code as long as I might want using a complete INT file opening access to ALL config variables from PREFERENCES menu command. Right now not everything can be edited from there especially that "Struct" as long as it is not using BRACKETS and not having source-code in package. To be honest I'm not really 100% interested about such things which are "limited" like that with code stripped.

ProAsm
Skilled
Posts: 181
Joined: Sun Sep 29, 2013 7:12 am

Re: ★ UTSwap - Map Inventory Swapper ★

Post by ProAsm » Thu Oct 15, 2020 9:46 am

Here is the source for v5
I extract the source for obvious reasons but if anyone wants it in future, I'll mail or pm it to them.
My compiler, compiles and extracts at the same time, just the way I do things.
This version is a bit buggy but we getting there :)
UTSwap_Src.zip
You do not have the required permissions to view the files attached to this post.

User avatar
sektor2111
Godlike
Posts: 5336
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: ★ UTSwap - Map Inventory Swapper ★

Post by sektor2111 » Thu Oct 15, 2020 8:01 pm

Yep... Now I can use Dispersion and all configuration is accessible from Preferences...

One thing it's interesting:
This line is valid:

Code: Select all

SwapItem[3]=(bUse=True,GameName="",MapName="",OldItem="Armor1",NewItem="UnrealShare.Amplifier")
But item is called "BotPack.Armor2" - evidence in how did they mess up making a names soup...