Right now with TruePVE, you can damage anyones JPipes. Is there a way we could get a flag to prevent damage to these? Not sure exactly how to go about this as I have EntityOwner but when you look at the JPipes and type in /prod it comes back as Owner being unknown. Or would another plugin help prevent this like DamageControl? If anyone has any ideas please let me know or if the Owner could add a flag some how that would be awesome. Thanks in advance for anything.
Flags for JPipes
post your config
It's the normal/default TruePVE settings
alright. i will need you to use tpve.trace and then destroy a pipe, and send me the log. i do not use the plugin nor know how :p
======================
== STARTING TRACE ==
== 09:12:33.56983 ==
======================
From: BasePlayer, player
To: BuildingBlock, wall.low
No shared locations (empty location) - no exclusions
No exclusion found - looking up RuleSet...
Using RuleSet "default"
Initiator is player who does not own non-player target; block and return
Merged post
The other thing is when you hit the pipe with a Hammer it shows who the Owner is but when you type in /prod to see the Owner it says unknown.
Initiator is player who does not own non-player target; block and returnthis states the damage was blocked. i need a trace showing the damage was allowed
But that's just it, damage was dealt to the pipe. Nothing else can be damaged except the JPipes
nah, that's not possible. damage was blocked in that trace because it had an owner.
it's what you've been saying all along. the damage is not blocked when it has no owner.
use this to confirm:
replace
if (entity.OwnerID == 0 || entity is BaseHelicopter)
{
return false;
}with
if (entity.OwnerID == 0 || entity is BaseHelicopter)
{
return entity.prefabID == 310235277 && !entity.enableSaving;
}in the CS
I'll give that a try when I get back home
Merged post
https://i.imgur.com/IyGfJrT.jpg
Copied that exact text and tried to find it in the .cs file with No Results
ah right, that only applies to my test version. my apologies. damage was blocked regardless of having an owner then.
start a trace, do damage for a few seconds, end the trace, and post the entire trace file to pastebin and give me the link. then i can sort out the blocked damage from the allowed damage myself
I'm unfamiliar with pastebin and how it works. I tried before and couldn't get the thing pasted on here. I'll do another trace
watch a video. it's far better to paste large texts from there than posting them here. they lose all format and look awful
there is also ways to insert snippets of code but you have to click the button to use it :D
buttons are <> and {;} when you're editing or replying
So I placed a Quarry, Furnace, and TC down and then created a JPipe. I then had the player throw C4 at it and it caused damage. This is what the trace came back as. He did not have Auth on the TC either
======================
== STARTING TRACE ==
== 06:44:45.08421 ==
======================
From: BasePlayer, player
To: BuildingBlock, wall.low
Checking exclusions between [empty] and [empty]
Shared locations: none
No shared locations, or no matching exclusion mapping - no exclusions
No exclusion found - looking up RuleSet...
Using RuleSet "default"
Initiator is player with authorization over non-player target; allow and return
======================
== STARTING TRACE ==
== 06:44:46.66032 ==
======================
From: BasePlayer, player
To: BuildingBlock, wall.low
Checking exclusions between [empty] and [empty]
Shared locations: none
No shared locations, or no matching exclusion mapping - no exclusions
No exclusion found - looking up RuleSet...
Using RuleSet "default"
Initiator is player with authorization over non-player target; allow and return
ok perfect. you can replace to fix this yourself after all. I would post an update, but it must wait until I fix other issues with it. this solution will likely be temporary as well
if (entity.OwnerID == player.userID || entity.OwnerID == 0)
{
return true; // allow damage to entities that the player owns
}replace with
if (entity.OwnerID == player.userID || entity.OwnerID == 0)
{
return entity.prefabID != 310235277 && entity.enableSaving;
}this happens because of the AuthorizedDamage flag. no surprise there.
this wouldn't be an issue if JPipes properly assigned the OwnerID to each pipe. you should request this bug be fixed :p
Thanks boss. I'll try this later this afternoon. I posted something in the JPipes section asking for an Owner to be assigned when the pipe is placed. Thanks again and I'll let you know later if it worked or not.
- 1
- 2