ScriptUO
Official ScriptUO EasyUO Scripts => Scripting Chat => Topic started 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.
-
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.
-
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.)
-
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.
-
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
-
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.
-
Isn't there a way to modify the client to eliminate them?
-
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. :)
-
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.
-
have been working on the same issue for the past two days.
-
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.
-
@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)
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
}
-
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.
-
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 :)
-
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.
-
Heh we should stop writing and editing both in the same time :)
I agree mine is only good for personal use!
-
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.
-
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...
-
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. :)
-
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....
-
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? :)
-
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
-
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.
-
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.