RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Client Patch Warning

Kamron

Knight
The reason is simple... ClientVerification's Initialize() function is being set AFTER ClientPatchGump's Initialize() function (cause they are executed by class in alphabetic order). There are two options, move the ClientEnforcement to OnLogin where it is executed many times (probably no harm), or set it yourself in ClientVerification.
 

Joeku

Lord
And... XxSP1DERxX and I won't be able to update this for a while because we're both preoccupied with RL issues. Sorry!
 

Kamron

Knight
Updated to 1.50
- Fixed the problem with EnforceClientVerification. It will now work without any other file modifications
 

Attachments

  • ClientPatchWarning.cs
    6.3 KB · Views: 12

Erica

Knight
XxSP1DERxX said:
Updated to 1.50
- Fixed the problem with EnforceClientVerification. It will now work without any other file modifications
Got A error
Code:
 - Error: Scripts\Custom Scripts\ClientPatcher\ClientPatchWarning.cs: CS0246: (l
ine 39, column 35) The type or namespace name 'ServerStartedHandler' could not b
e found (are you missing a using directive or an assembly reference?)
 

Kamron

Knight
Line 39 should look like
Code:
EventSink.ServerStarted += new ServerStartedEventHandler( ServerStarted );

I will reupload the file promptly.
 

Joeku

Lord
I stand corrected...

Thanks again so much for your help with this XxSP1DERxX! It's really a great script now. I have a few ideas to add that I'll also release soon.

***EDIT***
New version added to front page. Thanks again!
 

Joeku

Lord
v1.5 > v1.6
Client Patch Warning v1.6 now posted, please replace the following: "Client Patch Warning.cs" with the updated version.
Info: updated to allow a certain amount of seconds for invulnerability protection. Default protection is 15 seconds.
 

Kamron

Knight
This won't work.. as I have tested it on major shards, and all it provides is a sanctuary for PvPers in the heat of battle... hence why I removed blessing to begin with *sigh*
 

Joeku

Lord
XxSP1DERxX said:
This won't work.. as I have tested it on major shards, and all it provides is a sanctuary for PvPers in the heat of battle... hence why I removed blessing to begin with *sigh*
I could modify it to make it not-work in certain circumstances, but it would require a PlayerMobile edit (which I was trying to avoid). Either way, if the owner doesn't want that, he can set it to "0" and remove any possible exploits. Note that the player will still be able to be attacked after 15 seconds, so either way he can still get attacked. Before, if you didn't press the button, it simply didn't un-invul you. This provides a better alternative.

I could make a check to see if the player already has combatants before the gump is sent, if you think that'd help.
 

Kamron

Knight
The problem is that despite many checks I have done (I haven't your code yet, as I do not have a computer anymore), I could not get it to establish when to properly uninvul and when to invul them, as well as with freezing.
 

Joeku

Lord
As long as the timer to unbless doesn't stop when a player disconnects, which it shouldn't, everything should be fine. I added a failsafe, so that when any player logs in, they are unblessed. Note that this does not apply to staff members. This feature works well with default RunUO, but it might conflict with some custom scripts that have anything to do with blessing the player. The way I see it: that's not my problem. :p The reason I had to add the failsafe was because, whenever the shard gets shut down/restarted, all of the timers are stopped and the player is left blessed. While there is a shut down event, there is no such thing as a restart event, so I had to add the login failsafe. It's possible to get this script to work in a much more organized fashion than it currently does, but that would require distro files and I'm trying to avoid that. This way, it covers everything.

Please tell me if the timer would stop when the player disconnects, I believe it wouldn't.

P.S. I didn't add freezing, I forgot it! :eek: I'll add it in the next update.
 

Kamron

Knight
That does not change the fact that someone could use this as protection from PvP, by logging in and out (even if its every 15 seconds), until they got to an instant logout spot (or hot-recalled to one?)
 

Joeku

Lord
XxSP1DERxX said:
That does not change the fact that someone could use this as protection from PvP, by logging in and out (even if its every 15 seconds), until they got to an instant logout spot (or hot-recalled to one?)
There's still a delay from when they log out to when they log in... that's fast enough for them to die, because their hit points stay the same...

You may also want to note that not all shards are PvP.
 

Kamron

Knight
This is true... I will look into this further. I do suggest anyone who has a shard where blessing can be exploited, to disable it.
 

Joeku

Lord
I don't see why it wouldn't work for the 3D client, although I haven't been able to test it out because I only use 2D...

Can you give me any specifics? What exactly isn't working? Does it just not detect old versions?
 

Erica

Knight
Joeku said:
I don't see why it wouldn't work for the 3D client, although I haven't been able to test it out because I only use 2D...

Can you give me any specifics? What exactly isn't working? Does it just not detect old versions?
I think its cause in 3d the client isnt 5.0.1j it would be on 3d client 0.0.0
 
Top