MapChecker
-
- Godlike
- Posts: 3127
- Joined: Sat Mar 21, 2020 5:32 am
Re: MapChecker
Then you can select all plants and uncheck this flag (bCollideWorld). Or somehow change collision of it. If collision not same as default, there no warning.
You can't place InventorySpots manually. So this pointless tell this. It just hint about missing it. This mean you need rebuild paths.
You can't place InventorySpots manually. So this pointless tell this. It just hint about missing it. This mean you need rebuild paths.
-
- Godlike
- Posts: 2911
- Joined: Fri Sep 25, 2015 9:01 pm
- Location: moved without proper hashing
Re: MapChecker
Suggestion for check: is ScriptedPawn.RangedProjectile of class projectile?
code
Code: Select all
function bool CheckRangedProjectile(out int ErrCount) {
/*********************************************************************************************
Checks if ScriptedPawn.RangedProjectile is a projectile and issues a warning for other classes.
ScriptedPawn.RangedProjectile==None may be correct.
*********************************************************************************************/
local ScriptedPawn SP;
ErrCount = 0;
foreach AllActors(class'ScriptedPawn', SP)
{
if (SP.RangedProjectile != None && ! ClassIsChildOf(SP.RangedProjectile, class'Projectile'))
{
logger(LOG_Warning, "CheckRangedProjectile", SP $ ".RangedProjectile ==" @ SP.RangedProjectile @ "is not of type 'Projectile'");
ErrCount++;
}
}
return ErrCount == 0;
}
"If Origin not in center it be not in center." --Buggie
-
- Godlike
- Posts: 3127
- Joined: Sat Mar 21, 2020 5:32 am
Re: MapChecker
Added more checks:
Improved some checks:
- checkScriptedPawnRangedProjectile
Add modular system for connect modules which make check required create dependency.
Updated in first post: viewtopic.php?f=5&t=14809
Code: Select all
checkWeaponLockerWeaponOrder();
- checkScriptedPawnRangedProjectile
Add modular system for connect modules which make check required create dependency.
Updated in first post: viewtopic.php?f=5&t=14809
-
- Godlike
- Posts: 2911
- Joined: Fri Sep 25, 2015 9:01 pm
- Location: moved without proper hashing
Re: MapChecker
I noticed your comment "Plasma too?" - yes, that also needs a fix, because Plasma@UnrealShare.u has a damage of 0 (do devs have forgotten to set property?)
FYI my fix of RangedProjectiles
Code: Select all
function int FixRangedProjectiles(ELogType LogLevel) {
/*******************************************************************************
Changes RangedProjectile for all ScriptedPawns, if RangedProjectile.Class is
equal to:
* "class'UnrealShare.Plasma'" -> ScriptedPawn.Default.RangedProjectile
* "class'BotPack.GuidedWarShell'" -> ScriptedPawn.Default.RangedProjectile
* "class'UnrealShare.EnergyBolt'" -> Class'EnergyBoltSB'
* "class'UnrealShare.ShellCase'" -> ScriptedPawn.Default.RangedProjectile
If a stock SkaarjTrooper has no weapon, the default weapon is assigned.
Log a warning if
ScriptedPawn.bHasRangedAttack != ScriptedPawn.Default.bHasRangedAttack
ScriptedPawn.RangedProjectile != None && ! ScriptedPawn.bHasRangedAttack
Returns the number of modified ScriptedPawns.
*******************************************************************************/
local ScriptedPawn SP;
local int result;
// log("Entered FixRangedProjectiles, Level.PawnList=" $ Level.PawnList);
foreach AllActors(class'ScriptedPawn', SP)
if (SkaarjTrooper(SP) != None && SkaarjTrooper(SP).WeaponType == None)
{
if (SP.Class == class'SkaarjTrooper') SkaarjTrooper(SP).WeaponType = class'SkaarjTrooper'.Default.WeaponType;
else if (SP.Class == class'SkaarjGunner') SkaarjGunner(SP).WeaponType = class'SkaarjGunner'.Default.WeaponType;
else if (SP.Class == class'SkaarjInfantry') SkaarjInfantry(SP).WeaponType = class'SkaarjInfantry'.Default.WeaponType;
else if (SP.Class == class'SkaarjOfficer') SkaarjOfficer(SP).WeaponType = class'SkaarjOfficer'.Default.WeaponType;
else if (SP.Class == class'SkaarjSniper') SkaarjSniper(SP).WeaponType = class'SkaarjSniper'.Default.WeaponType;
// other types are custom and should not be changed
}
else if (SP.RangedProjectile == class'UnrealShare.Plasma')
FixRangedProjectile(LOG_Info, SP, SP.Default.RangedProjectile, result);
else if (SP.RangedProjectile == class'BotPack.GuidedWarShell')
FixRangedProjectile(LOG_Info, SP, SP.Default.RangedProjectile, result);
else if (SP.RangedProjectile == class'UnrealShare.EnergyBolt')
FixRangedProjectile(LOG_Info, SP, Class'EnergyBoltSB', result);
else if (SP.RangedProjectile == class'UnrealShare.ShellCase' || SP.RangedProjectile == class'Botpack.UT_ShellCase')
FixRangedProjectile(LOG_Info, SP, SP.Default.RangedProjectile, result);
// if *RangedProjectile==None* then *bHasRangedAttack* is not necessarily FALSE - see Titan for example. Such cases cannot be detected.
else if (SP.bHasRangedAttack != SP.Default.bHasRangedAttack)
logger(LOG_Warning, "FixRangedProjectiles", "bHasRangedAttack=" $ SP.bHasRangedAttack @ "is not the default value for" @ SP $ "; RangedProjectile=" $ SP.RangedProjectile);
else if (SP.RangedProjectile != None && ! SP.bHasRangedAttack)
logger(LOG_Warning, "FixRangedProjectiles", "bHasRangedAttack=false for" @ SP @ "although it has a RangedProjectile=" $ SP.RangedProjectile);
return result;
}
----- snip -----
class EnergyBoltSB extends EnergyBolt;
simulated function Explode(vector HitLocation, vector HitNormal) {
/******************************************************************************
EnergyBolt.Explode() is not "simulated".
******************************************************************************/
Destroy();
}
defaultproperties {
RemoteRole=ROLE_SimulatedProxy
LifeSpan=7
}
"If Origin not in center it be not in center." --Buggie
-
- Godlike
- Posts: 3127
- Joined: Sat Mar 21, 2020 5:32 am
Re: MapChecker
Plasma work for some scripted stuff. It blown and make damage if touch DispersionAmmo
Auto merged new post submitted 3 minutes later
Improved some checks:
- checkScriptedPawnRangedProjectile
Updated in first post: viewtopic.php?f=5&t=14809
Code: Select all
simulated function Explode(vector HitLocation, vector HitNormal)
{
if ( Role == ROLE_Authority )
HurtRadius(Damage,150.0, 'exploded', MomentumTransfer, HitLocation );
Destroy();
}
simulated function ProcessTouch (Actor Other, vector HitLocation)
{
If ( (Other!=Instigator) && Other.IsA('DispersionAmmo') )
Explode(HitLocation, HitLocation);
}
Auto merged new post submitted 3 minutes later
Improved some checks:
- checkScriptedPawnRangedProjectile
Updated in first post: viewtopic.php?f=5&t=14809
-
- Godlike
- Posts: 2911
- Joined: Fri Sep 25, 2015 9:01 pm
- Location: moved without proper hashing
Re: MapChecker
But Plasma has a damage of zero - then
And if it had a none zero damage: would really anybody shoot other player's or ScriptedPawns' dispersion pistol's projectiles?
HurtRadius(Damage,150.0, …)
does not really hurt.And if it had a none zero damage: would really anybody shoot other player's or ScriptedPawns' dispersion pistol's projectiles?
"If Origin not in center it be not in center." --Buggie
-
- Godlike
- Posts: 3127
- Joined: Sat Mar 21, 2020 5:32 am
-
- Godlike
- Posts: 3127
- Joined: Sat Mar 21, 2020 5:32 am
-
- Godlike
- Posts: 2194
- Joined: Sun Oct 05, 2008 3:31 am
Re: MapChecker
Long time ago I sort of gave the thought (total nube), and after reading some code, the whole dispersion thing only works for ,,,momentum more-so,,, but somehow it delivers damage like a bullet. (based on momentum)
Something more, a lot more, going on with that weapon.
I could be full of shit, but ,,,,,,,,,,,,,,,,,
Binary Space Partitioning
-
- Godlike
- Posts: 6435
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: MapChecker
Plasma is not a Dispersion projectile - it looks like a sort of, but it's not the same, it's another class and frankly useless for both human player and A.I. players/monsters - and there are others too... We can build elsewhere a list with these junks that are useless in maps or... they are not exactly mapping actors... because it's off-topic to discuss them here.
-
- Godlike
- Posts: 3127
- Joined: Sat Mar 21, 2020 5:32 am
-
- Godlike
- Posts: 3127
- Joined: Sat Mar 21, 2020 5:32 am
Re: MapChecker
Added more checks:
Updated in first post: viewtopic.php?f=5&t=14809
Code: Select all
checkMoverLiftInitialState();
-
- Godlike
- Posts: 3127
- Joined: Sat Mar 21, 2020 5:32 am
Re: MapChecker
Added more checks:
Updated in first post: viewtopic.php?f=5&t=14809
Code: Select all
checkBadStandingCount();
-
- Godlike
- Posts: 2194
- Joined: Sun Oct 05, 2008 3:31 am
Re: MapChecker
When it says pathbides are too high or too low with that number.
What does the number mean
1 UU unit ?
It finds a lot of those but the numbers seem so low, like 12, or 1, ur 40, how large does the number have to be to be worth messing around with all those nodes. ?
It has helped me on things and fixxed most of them.
Not sure about scaled movers complaint or the , no delete complaints, like , smallsmokepuff.
What does the number mean
1 UU unit ?
It finds a lot of those but the numbers seem so low, like 12, or 1, ur 40, how large does the number have to be to be worth messing around with all those nodes. ?
It has helped me on things and fixxed most of them.
Not sure about scaled movers complaint or the , no delete complaints, like , smallsmokepuff.
Binary Space Partitioning
-
- Godlike
- Posts: 3746
- Joined: Sat Sep 12, 2015 8:46 pm