If there exists common general way for detect installed double jump on server?
I want embed double jump actor in map, but turn it on only if on server not already own double jump.
Is this achievable goal?
OFC I talk about detection by behavior, not by silly list of classes well-known double jump mutators.
Detect installed double jump on server
- sektor2111
- Godlike
- Posts: 6423
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Detect installed double jump on server
My first try would be a mutator using ModifyPlayer.
Calling a checker with a short life for testing Inventories owned by Player. Whatever is not an armor, weapon and/or ammo, perhaps is other thing - but it might be that old stuff delegated to track NetSpeed which was using an inventory...
Calling a checker with a short life for testing Inventories owned by Player. Whatever is not an armor, weapon and/or ammo, perhaps is other thing - but it might be that old stuff delegated to track NetSpeed which was using an inventory...
Re: Detect installed double jump on server
Do you mean something like this?sektor2111 wrote: ↑Wed Apr 13, 2022 3:51 pm Calling a checker with a short life for testing Inventories owned by Player. Whatever is not an armor, weapon and/or ammo, perhaps is other thing
Spoiler
Code: Select all
class SmallStatue extends Pickup;
defaultproperties {
bActivatable=False
bBlockActors=True
bBlockPlayers=True
bBounce=True
bCollideActors=True
bCollideWorld=True
bStatic=False
Buoyancy=1.000000
CollisionHeight=22
CollisionRadius=5
DrawScale=0.25
DrawType=DT_Mesh
ItemName=small Statue
Mass=20
Mesh=LodMesh'UnrealShare.MonkStatueM'
PickupMessage="You picked up a small Statue"
PickupViewScale=0.25
RemoteRole=ROLE_DumbProxy
RespawnTime=300
}
"If Origin not in center it be not in center." --Buggie
- sektor2111
- Godlike
- Posts: 6423
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Detect installed double jump on server
May I ask something: Why would be needed a PIckup (Inventory) after all ? Why not keypoints, info, etc. ?
If you ask me why, I must reply something simple. A short living pickup might mess up Inventory chain owned by Player (or whatever alien) - is that simple.
The thing owned can be used depending on player timer used in game - in first 3-5 seconds and then, no more using it.
But this is what I would try as first stage. If thing is not too productive perhaps it needs re-thinking of strategy.
If you ask me why, I must reply something simple. A short living pickup might mess up Inventory chain owned by Player (or whatever alien) - is that simple.
Code: Select all
class Pawn extends Actor
abstract
native
nativereplication;
...
...
function bool AddInventory( inventory NewItem )
{
// Skip if already in the inventory.
local inventory Inv;
// The item should not have been destroyed if we get here.
if (NewItem ==None )
log("tried to add none inventory to "$self);
for( Inv=Inventory; Inv!=None; Inv=Inv.Inventory )
if( Inv == NewItem )
return false;
// Add to front of inventory chain.
NewItem.SetOwner(Self);
NewItem.Inventory = Inventory;
Inventory = NewItem;
return true;
}
...
But this is what I would try as first stage. If thing is not too productive perhaps it needs re-thinking of strategy.
Re: Detect installed double jump on server
From my observation and dig over Double Jump mutators, there next picture:
1. most mutatos derived from one and use DJ_InventoryItem.
2. Some others use DoubleJumpBoots and DoubleJumpItem.
3. Usually present mutator with DJ in name or DoubleJump.
4. most hard case is NewNet and similar things. There override core classes and use custom jump code inside.
5. It can be UTPure mutator with field bDoubleJump
So for detect need check all Inventory items to some well-know items. After that need check name of core classes and presence UTPure.
Also need check mutators name.
No way for detect by behavior unfortunately.
1. most mutatos derived from one and use DJ_InventoryItem.
2. Some others use DoubleJumpBoots and DoubleJumpItem.
3. Usually present mutator with DJ in name or DoubleJump.
4. most hard case is NewNet and similar things. There override core classes and use custom jump code inside.
5. It can be UTPure mutator with field bDoubleJump
So for detect need check all Inventory items to some well-know items. After that need check name of core classes and presence UTPure.
Also need check mutators name.
No way for detect by behavior unfortunately.
Re: Detect installed double jump on server
You could call "DoubleJump" command for Player twice-triple and then check changes on Z axis within next 1-2 seconds...
But some DoubleJump inventories probably may use another command string...
Alternatively, could use config file like in the map MH-Kittara, where admin can specify DoubleJump class name being used on the server in case if it is some of non-usual class that was not properly detected, or, if needed, can also disable DoubleJump built-in in the map.
There are some maps that are unplayable without DoubleJump inventory and don't have any similar built-in solution discussed in this thread. So it already has been a headache for admins since a long time ago. Some delete such maps, some enable DoubleJump inventory for all maps, some use mutators that enable DoubleJump only for such maps, or enable DoubleJumps for all maps except those where DoubleJump allows players to cheat (e.g., bypassing locations and locked doors).
But some DoubleJump inventories probably may use another command string...
Alternatively, could use config file like in the map MH-Kittara, where admin can specify DoubleJump class name being used on the server in case if it is some of non-usual class that was not properly detected, or, if needed, can also disable DoubleJump built-in in the map.
There are some maps that are unplayable without DoubleJump inventory and don't have any similar built-in solution discussed in this thread. So it already has been a headache for admins since a long time ago. Some delete such maps, some enable DoubleJump inventory for all maps, some use mutators that enable DoubleJump only for such maps, or enable DoubleJumps for all maps except those where DoubleJump allows players to cheat (e.g., bypassing locations and locked doors).
Re: Detect installed double jump on server
Well. Mutator can scan local player bind, search all additional commands placed to "Jump" bind, try call each and log changes on velocity, JumpZ. Same for few fast called Jump calls. but it look very awful. And need a lot interaction between client and server parts. Also need do this when player on ground, game started and so on. Jump in air and water not work, jump before game start not work.
And we (ideally) need know this before game start.
Also it look very weird when player start jump by self for detect presence double jump on server.
And we (ideally) need know this before game start.
Also it look very weird when player start jump by self for detect presence double jump on server.
Re: Detect installed double jump on server
At analysing the jump height take into account:
Adrenaline also increases jump height.
Code: Select all
Pawn(Owner).Jumpz = Pawn(Owner).default.Jumpz * 2;
Also this one may modify jump hight:
Code: Select all
function float PlayerJumpZScaling() {
return 1.0;
}
Automatically merged
"If Origin not in center it be not in center." --Buggie
Re: Detect installed double jump on server
Perhaps we can also get a Double jump actor for use in maps (bot support).
X .. timed delay .. Y
X .. timed delay .. Y
*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers
Re: Detect installed double jump on server
Unfortunately bot support highly depends from navigation network. Which build in really crappy way. In fact UnrealEd not built paths for jump where current bots able go.
So there be no any path and bots not go there, even if able use double jump.
So there be no any path and bots not go there, even if able use double jump.