ScriptUO

Official ScriptUO EasyUO Scripts => Scripting Chat => Topic started by: _C2_ on October 03, 2009, 11:59:10 AM

Title: Dealing with Damage gumps!!!
Post by: _C2_ on October 03, 2009, 11:59:10 AM
Alright-  I was trying to farm in the cave of discarded and the constant damage gumps were rolling above the head non stop and making it hard for my looter to keep pulling corpses which started to slow the script.  I know I heard TM talk about them once - anyone else been dealing with them or have ideas.
Title: Re: Dealing with Damage gumps!!!
Post by: TrailMyx on October 03, 2009, 12:02:48 PM
You should dissect how I did it in the CLAw.  Khameleon and I did a bunch of work trying to filter it out and I think it's dead nuts now.  You might even think about grabbing my OpenContainer sub because that will also return the correct #CONTID for you to loot from.
Title: Re: Dealing with Damage gumps!!!
Post by: manwinc on October 03, 2009, 12:12:15 PM
I Played with using #contid for looting a while back, I just said F' It, and went with good old.


nextcpos 0 0
set #Lobjectid #findid
event macro 17 0
wait 20 (25)

and then I just loot from all containers (Excluding paperdoll and backpack.)
Title: Re: Dealing with Damage gumps!!!
Post by: TrailMyx on October 03, 2009, 12:21:33 PM
When you have streaming damage gumps, you run the risk of missing the correct #CONTID.  On OSI, you have to be aware that the #CONTID from the body is different than the ID that comes from the actual container when you open the body.  So you have to filter this value, and it becomes much harder when you have 3 energy vortexes spamming gumps.  My OpenContainer handles all this and will return the real #CONTID, and does it pretty fast as well.
Title: Re: Dealing with Damage gumps!!!
Post by: _C2_ on October 03, 2009, 12:48:02 PM
When you have streaming damage gumps, you run the risk of missing the correct #CONTID.  On OSI, you have to be aware that the #CONTID from the body is different than the ID that comes from the actual container when you open the body.  So you have to filter this value, and it becomes much harder when you have 3 energy vortexes spamming gumps.  My OpenContainer handles all this and will return the real #CONTID, and does it pretty fast as well.

That is basically my problem but it does eventually get the container pulled but with a lot of fuss
Title: Re: Dealing with Damage gumps!!!
Post by: TrailMyx on October 03, 2009, 12:57:01 PM

That is basically my problem but it does eventually get the container pulled but with a lot of fuss


Definitely check out my OpenContainer sub then.  I've optimized the crap out of it to handle things like looting rights, accessibility, container spamming, etc.  Also has timers to handle the un-openable.
Title: Re: Dealing with Damage gumps!!!
Post by: Cerveza on October 03, 2009, 02:14:44 PM
Isn't there a way to modify the client to eliminate them?
Title: Re: Dealing with Damage gumps!!!
Post by: TrailMyx on October 03, 2009, 02:17:51 PM
I don't think there was a setting for that in the setup.  Also, there would be no way for the script to know of anything, so it's best to optimize the script to just filter it out.  Makes for less, "Your script doesn't work." posts.  :)
Title: Re: Dealing with Damage gumps!!!
Post by: Cerveza on October 03, 2009, 03:57:17 PM
Right, but I think there is a way to modify the client to avoid the messages. I know there was a way of removing the "you can not gain any more valor" type messages. I suppose damage would be similiar.
Title: Re: Dealing with Damage gumps!!!
Post by: xapcx on October 03, 2009, 04:04:37 PM
have been working on the same issue for the past two days.
Title: Re: Dealing with Damage gumps!!!
Post by: TrailMyx on October 03, 2009, 04:09:17 PM
Right, but I think there is a way to modify the client to avoid the messages. I know there was a way of removing the "you can not gain any more valor" type messages. I suppose damage would be similiar.

Hmm, probably not.  This is actually data that comes through the #CONTNAME, #CONTSIZE variables.  This isn't journal spam, but rather packet level information that's coming from the server to the client.

If you quickly sample #CONTNAME and post the values, you'll see "damage_numbers_gump" show up, but then be replaced by whatever gump happens to be selected and is on "top".  I have a test script I wrote at one time to sample this so I could more effectively determine what checks I needed to put in.

Now if you are talking about a client hack or patch, then that's possible.  I don't talk much about those; I work just with EasyUO and the client to keep a scripts dependencies to a minimum.
Title: Re: Dealing with Damage gumps!!!
Post by: Thimotty on October 03, 2009, 05:18:35 PM
@TM I'm sorry i have to say this but i have just checked your OpenContainer sub and ...... why are you alway try to kill a fly with a tank :)

Here is the solution:
(this is something i just wrote here, don't try to use it directly, it is only to show the idea)

Code: [Select]
findItem YFM_JNF_QNF_YNF_MNF_LNF_WNF_VNF_KNF_PNF G_2
if #FINDTYPE <> X
   {
   set #LOBJECTID #FINDID
   try_again:
   event macro 17 0
   wait 5
   str right #FINDID 4
   if #STRRES notin #CONTID
      goto try_again
   event ExMsg #charID 3 %color body ignored
   set %real_body_cont_ID #CONTID
   }
Title: Re: Dealing with Damage gumps!!!
Post by: TrailMyx on October 03, 2009, 05:21:41 PM
Heh, it's amazing how similar your sub is to what mine started out as.  Put some mileage on yours and see how it performs in heavy spawns, invalid targets, etc, etc.  It LOOKS easy at the start... Trust me.  

And BTW, tanks are required so that I can release a script and KNOW I don't have to answer constant questions about little corner cases of function.  You tend to over-design something when you release it for mass-consumption. 
Title: Re: Dealing with Damage gumps!!!
Post by: Thimotty on October 03, 2009, 05:28:39 PM
Maybe you are correct but I do riki often alone and it never fails.

Edit: Yes you are correct about scripts designed for public use. I have never deal with that side of the problem :)
Title: Re: Dealing with Damage gumps!!!
Post by: TrailMyx on October 03, 2009, 05:33:18 PM
Maybe you are correct but I do riki often alone and it never fails.

Well what you have to do is release your script and let 100s of people use it to really see where the corner cases are.  That sub has been iterated from the beginnings (much like yours), but has taken into consideration much input from many different players with different playstyles.  It's probably still not perfect, so whenever someone else comes up with an issue I tend to incorporate that feedback.
Title: Re: Dealing with Damage gumps!!!
Post by: Thimotty on October 03, 2009, 05:36:03 PM
Heh we should stop writing and editing both in the same time :)
I agree mine is only good for personal use!
Title: Re: Dealing with Damage gumps!!!
Post by: TrailMyx on October 03, 2009, 05:44:37 PM
Heh we should stop writing and editing both in the same time :)
I agree mine is only good for personal use!

Heh, I hated Khameleon after a while.  When I thought I'd have certain bits of my scripts nailed dead nuts, he'd always find a way to push it so that it wouldn't work.  Cerveza was the same way, but between the two of them they made me really think about the mechanics that happen even during the execution BETWEEN lines of code.  20ms between lines of execution can really impact the answers you "think" you should get.  Nothing like getting bogus container sizes matched with incorrect container names.  There's lots of little nuggets of annoying information about EasyUO, but we all have to run over those particular potholes ourselves.
Title: Re: Dealing with Damage gumps!!!
Post by: Endless Night on October 03, 2009, 05:48:27 PM
The Tank-fly Ratio sound pretty bang on to me.  Looting while sounding easy in heavy spawn with lots of players and player pets and summons in the same area is probably one of the hardest things to accomplish seamlessly. And EUO slow drag and drop defaintly makes the whole thing that much more painstaking.

I dont envy the support problems on your looter TM...
Title: Re: Dealing with Damage gumps!!!
Post by: TrailMyx on October 03, 2009, 06:18:28 PM
The cool thing is the core of what Thimotty did and what I did are the same.  Noting that the bodies and the instanced container IDs are relatively similar.  That's the start of a great filter that's pretty darn foolproof.  Not many noticed this relationship.  It will also work when the instanced corpse changes to the actual corpse.  RunUO doesn't used instanced corpses, so this method also works on freeshards.

In the beginning, the looter was a pain in the butt.  That was back during the old version when Cerveza was really using the crap out of it. (those days you didn't even have the instanced corpses!)   However these days, it's been tweaked to the point where I don't get any additional feedback. 

In script release land, no problems means a good script, regardless of how ugly or tank-like it is.  :)
Title: Re: Dealing with Damage gumps!!!
Post by: Endless Night on October 03, 2009, 06:42:51 PM
In script release land, no problems means a good script, regardless of how ugly or tank-like it is.  :)

Sweet most of my scripts must be fool proof as i never hear anything back... :)

Alternatively are they being used ummm....
Title: Re: Dealing with Damage gumps!!!
Post by: Scrripty on October 05, 2009, 05:56:12 AM
In script release land, no problems means a good script, regardless of how ugly or tank-like it is.  :)

Sweet most of my scripts must be fool proof as i never hear anything back... :)

Alternatively are they being used ummm....

I might not use yours much EN but I sure learn a hell of a lot from them.  How's that? :)
Title: Re: Dealing with Damage gumps!!!
Post by: Endless Night on October 05, 2009, 06:59:46 AM
In script release land, no problems means a good script, regardless of how ugly or tank-like it is.  :)

Sweet most of my scripts must be fool proof as i never hear anything back... :)

Alternatively are they being used ummm....

I might not use yours much EN but I sure learn a hell of a lot from them.  How's that? :)

Why thank you .. as long as what you learn is  not what not to do lol
Title: Re: Dealing with Damage gumps!!!
Post by: _C2_ on October 05, 2009, 07:05:18 AM
I can only understand about 1/2 of what endless writes because I have zero programming background to transfer to this easy uo language.  All I know is it works wonderfully.  I, too, have learned a lot form EN, TM, and Cerv.  I appreciate you all taking me in when easy uo shut the door in my face and made me feel stupid for asking questions.  Now I have a crap load of iron proof stuff.
Title: Re: Dealing with Damage gumps!!!
Post by: Cerveza on October 05, 2009, 07:19:07 AM
That's exactly why SUO exists.

I can only understand about 1/2 of what endless writes because I have zero programming background to transfer to this easy uo language.  All I know is it works wonderfully.  I, too, have learned a lot form EN, TM, and Cerv.  I appreciate you all taking me in when easy uo shut the door in my face and made me feel stupid for asking questions.  Now I have a crap load of iron proof stuff.