Report Broken Maps Here
- SC]-[WARTZ_{HoF}
- Site Admin
- Posts: 426
- Joined: Wed May 10, 2017 7:08 am
Re: Report Broken Maps Here
It's up to you how you want to handle it.
Re: Report Broken Maps Here
That thing it's solved, I want to see next mod doing damage in "maps". No mismatch was encountered, mod is now Generation 2.
If is damaging for whatever redeemer I'll proceed to adjust relevance for replaced class - KeepIt mutator might be helpful, else WarHeadLauncher can be excepted from any deal.
Code: Select all
class PlasmaArena expands Mutator config(EvilPR_001);
var bool bInitialized;
var() config bool bDoubleJump, //Adding brackets for a better control in Editor + Preferences when INT file has all requirements
bLowGrav, // Low Gravity
bNoFallDam; // No Fall Damage
var() config int maxJumps,
jumpType;
var() config float jumpHeight;
var() name WeaponName, //The name of our custom weapon.
AmmoName; //The name of our custom ammo.
var() string WeaponString, //The string Package.Class name of our custom weapon.
AmmoString; //The string Package.Class name of our custom ammo.
//XC_GameEngine interface
native(1718) final function bool AddToPackageMap( optional string PkgName);
// 1719 would check if it's not already a package...
event PreBeginPlay()
{
Level.Game.DefaultWeapon=class'EvilPR_001.StealthTrans';
}
event PostBeginPlay()
{
// Super.PostBeginPlay(); //Not needed at all
if ( bInitialized ) //Moved here
return;
if ( int(ConsoleCommand("get ini:Engine.Engine.GameEngine XC_Version")) >= 11 )
AddToPackageMap();
bInitialized = True;
SaveConfig();
}
function ModifyPlayer(Pawn Other) //Not needed as a simulated thing, it works as it is in Mutator.uc
{ //Actually as alternate method these can be server-side and only weapon as package, works guaranteed...
local Inventory Inv;
local class<DJ_InventoryItem> InventoryClass;
local DJ_InventoryItem DJ_Inv;
// Make sure we don't break anything
Super.ModifyPlayer(Other);
DeathMatchPlus(Level.Game).GiveWeapon(Other,WeaponString);
// Create a DJ_InventoryItem
InventoryClass = class<DJ_InventoryItem>(DynamicLoadObject("EvilPR_001.DJ_InventoryItem", class'Class'));
if(bDoubleJump)
{
DJ_Inv = Spawn(class'DJ_InventoryItem', Other,, Other.Location);
if( DJ_Inv != None )
{
DJ_Inv.RespawnTime = 0.0;
DJ_Inv.GiveTo(Other);
DJ_Inv.maxJumps = maxJumps;
DJ_Inv.jumpType = jumpType;
DJ_Inv.jumpHeight = jumpHeight;
}
}
Inv = Other.FindInventoryType(class'PlasmaRifle');
if ( Inv == None )
{
Inv = Spawn(class'PlasmaRifle');
if( inv != None )
{
Inv.GiveTo(Other);
Ammo(Inv).AmmoAmount = 999;
Ammo(Inv).MaxAmmo = 999;
}
}
for( Inv=other.Inventory; Inv!=None; Inv=Inv.Inventory )
{
if (Ammo(Inv)!=None)
{
Ammo(Inv).AmmoAmount = 999;
Ammo(Inv).MaxAmmo = 999;
}
}
}
function bool CheckReplacement(Actor Other, out byte bSuperRelevant)
{
if (Other.IsA('ZoneInfo'))
{
if (bLowGrav)
{
ZoneInfo(Other).ZoneGravity = vect(0,0,-200); // low gravity
}
if (bNoFallDam)
{
ZoneInfo(Other).ZoneTerminalVelocity = 1000; // no fall damage yo
}
}
if ((Other.IsA('StealthTrans')) )
return true;
if (Other.Class==Class'Translocator')
{
ReplaceWith(Other,"EvilPR_001.StealthTrans");
return false;
}
if (Other.IsA('Ammo'))
{
if (Other.IsA('PlasmaAmmo')) //Nelsona - Our item is here out of replacing job
return True;
if ((Other.IsA('ShockCore'))
// || (Other.IsA('RifleShell')) // RifleShell Is child of BulletBox
|| (Other.IsA('BulletBox'))
|| (Other.IsA('RocketPack'))
|| (Other.IsA('BladeHopper'))
|| (Other.IsA('FlakAmmo'))
|| (Other.IsA('BioAmmo'))
|| (Other.IsA('MiniAmmo'))
// || (Other.IsA('EClip')) //This is under MiniAmmo deal as well
|| (Other.IsA('WarheadAmmo'))
|| (Other.IsA('PAmmo')))
{
//ReplaceWith(Other,"EvilPR_001.PlasmaAmmo");
return false;
}
}
if(Other.IsA('Weapon'))
{
if ( Other.IsA('PlasmaRifle') ) //Nelsona - same as above
return True;
if ((Other.IsA('ShockRifle'))
|| (Other.IsA('UT_BioRifle'))
|| (Other.IsA('SniperRifle'))
|| (Other.IsA('PulseGun'))
|| (Other.IsA('Ripper'))
|| (Other.IsA('Minigun2'))
|| (Other.IsA('UT_Eightball'))
|| (Other.IsA('UT_FlakCannon'))
|| (Other.IsA('Enforcer'))
|| (Other.IsA('WarheadLauncher'))
|| (Other.IsA('ImpactHammer'))
|| (Other.IsA('ChainSaw')))
{
//ReplaceWith(Other,"EvilPR_001.PlasmaRifle");
return false;
}
}
return true;
}
UncodeX Stuff
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
- SC]-[WARTZ_{HoF}
- Site Admin
- Posts: 426
- Joined: Wed May 10, 2017 7:08 am
Re: Report Broken Maps Here
I'll factor this in next mods. Thanks for pointing these out.
- SC]-[WARTZ_{HoF}
- Site Admin
- Posts: 426
- Joined: Wed May 10, 2017 7:08 am
Re: Report Broken Maps Here
What do you think about this block.
Code: Select all
// Modified version of the ReplaceWith function
// Replaces an inventory Other with an inventory of class aClassName and
// returns a reference to it
final function Inventory ReplaceWithItem(Inventory Other, coerce string aClassName)
{
local Inventory A;
local class<Inventory> aClass;
local bool bAllowItemFall, bForceItemFall;
local bool bAllowItemRotation, bForceItemRotation;
if ( Other.Location == vect(0,0,0) )
return None;
aClass = class<Inventory>(DynamicLoadObject(aClassName, class'Class'));
if ( aClass != None )
A = Spawn(aClass, Other.Owner, Other.Tag, Other.Location + (aClass.Default.CollisionHeight - Other.CollisionHeight) * vect(0,0,1), Other.Rotation);
if ( Other.MyMarker != None ) {
Other.MyMarker.markedItem = A;
if ( A != None )
A.MyMarker = Other.MyMarker;
Other.MyMarker = None;
}
else if ( A != None ) {
A.bHeldItem = true;
A.Respawntime = 0.0;
}
if ( A != None ) {
if ( Other.Physics != Other.Class.Default.Physics ) {
if ( Other.Physics == PHYS_Falling )
bForceItemFall = True;
else if ( Other.Class.Default.Physics == PHYS_Falling )
bAllowItemFall = False;
}
if ( (!Other.bRotatingPickup || Other.RotationRate == rot(0,0,0))
&& (Other.Rotation.Pitch != 0 || Other.Rotation.Roll != 0) )
bAllowItemRotation = False;
else
bAllowItemRotation = (Other.RotationRate != rot(0,0,0) && Other.bRotatingPickup)
|| !Other.default.bRotatingPickup || Other.default.RotationRate == rot(0,0,0);
bForceItemRotation = Other.RotationRate != rot(0,0,0) && Other.bRotatingPickup
&& (!Other.default.bRotatingPickup || Other.default.RotationRate == rot(0,0,0));
if ( A.Physics == PHYS_Falling && !bAllowItemFall )
A.SetPhysics(PHYS_None);
else if ( A.Physics != PHYS_Falling && bForceItemFall )
A.SetPhysics(PHYS_Falling);
A.bRotatingPickup = bAllowItemRotation && (A.bRotatingPickup || bForceItemRotation);
A.Event = Other.Event;
A.Tag = Other.Tag;
return A;
}
return None;
}
Re: Report Broken Maps Here
Copy maybe Respawntime if has MyMarker ? In case that replacement class doesn't exist ? What if older is bStatic bNoDelete ? Idk, it looks a bit advanced anyway.
Else I'm asking you politely to try as much as possible to remove even from backups maps like Urban_Ascent.
#1 First of all duplicated actors/movers might crash server - here crashed in a recursive code call.
#2 No insults, no offenses but this is full time BULLSHIT.
Let's take a look: Why in hell a server would need this mess ? Let's see what I found with Mr Garbage.Maps ? Huh Mr. who talk about bullies in server ? Maps my A$$...
I guess I was funny when I was looking at ScreenShot hosted in myLevel - textured - but Dark as hell. I was wondering where was from that ScreenShot because it's not from this map. This is COPY-PASTE not mapping...
Else I'm asking you politely to try as much as possible to remove even from backups maps like Urban_Ascent.
#1 First of all duplicated actors/movers might crash server - here crashed in a recursive code call.
#2 No insults, no offenses but this is full time BULLSHIT.
Let's take a look: Why in hell a server would need this mess ? Let's see what I found with Mr Garbage.
Code: Select all
VoidCheck: --- Void placement report ---
VoidCheck: Light36 looks placed into void.
VoidCheck: Light203 looks placed into void.
VoidCheck: Light39 looks placed into void.
VoidCheck: Light40 looks placed into void.
VoidCheck: 4 actors look placed into void, check those.
GarbageLord: Found Level's Map: MyLevel.LevelInfo0
GarbageLord: Found Level's Map: MyLevel.LevelInfo0
Duplicated: AmbientSound2 was found 2 times.
Duplicated: AmbientSound3 was found 2 times.
Duplicated: AmbientSound4 was found 2 times.
Duplicated: AmbientSound5 was found 2 times.
Duplicated: AmbientSound6 was found 2 times.
Duplicated: AmbientSound7 was found 2 times.
Duplicated: AmbientSound8 was found 2 times.
Duplicated: AmbientSound9 was found 2 times.
Duplicated: AmbientSound10 was found 2 times.
Duplicated: AmbientSound11 was found 2 times.
Duplicated: Mover17 was found 2 times.
Duplicated: Mover18 was found 2 times.
Duplicated: Light233 was found 2 times.
Duplicated: Light234 was found 2 times.
Duplicated: Light235 was found 2 times.
Duplicated: Light236 was found 2 times.
Duplicated: Light237 was found 2 times.
Duplicated: Light238 was found 2 times.
Duplicated: Actors might be removed by using subsequent bTryFixDuplicates set to True.
Duplicated: Operation recommended in another clean editing session with both values set True.
Duplicated: Found 18 duplicated Actors.
Duplicated: Duplicated Actors scanning is being finished.
I guess I was funny when I was looking at ScreenShot hosted in myLevel - textured - but Dark as hell. I was wondering where was from that ScreenShot because it's not from this map. This is COPY-PASTE not mapping...
UncodeX Stuff
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
- SC]-[WARTZ_{HoF}
- Site Admin
- Posts: 426
- Joined: Wed May 10, 2017 7:08 am
Re: Report Broken Maps Here
No doubt you are gonna find a mess of garbage maps on the sniper servers. Many of them need to be examined.
Edit: I told Blue that if she wants new maps on her server to have them looked at first.
Edit: I told Blue that if she wants new maps on her server to have them looked at first.