VaultNetwork.netVault Network Boards
Author Topic: Looking for plugin authors and beta testers for a new Decal release [Locked]
Saloben_ign  3 stars
Posts: 826
Registered: 2003-10-30 15:53:21
There is a bug where it loses track of which tink its on and it continues to tinker even when given a tink number to stop at. Ex. A person hands it 10 bags of salvage with the item and it doesn't stop at the tink# the person tells it to stop at. Also, there is no gearcraft ability.

I spent the last couple months looking at the source code seeing if I could add in gearcrafting, but that wasn't possible with the old decal(at least by me). The new decal makes that possible now, but I would rather not try because my C# knowledge is very limited.

 

-----signature-----
Never! Never! Never! take a sleeping pill and a laxative at the same time.
Paraduck  2 stars
Title: quantum mechanic
Posts: 484
Registered: 2001-2-27 18:19:03
send me a pm, and let's discuss it in a more appropriate place instead of hijacking the thread

 

-----signature-----
We are like dwarfs sitting on the shoulders of giants. We see more and things that are more distant than they did,
not because our sight is superior or because we are taller than they, but because they raise us up and their
great stature adds to ours
Saloben_ign  3 stars
Posts: 826
Registered: 2003-10-30 15:53:21
ObjectClass.Trinket Should that be part of the wrapper?

 

-----signature-----
Never! Never! Never! take a sleeping pill and a laxative at the same time.
Virindi-Inquisitor  4 stars
Posts: 1,538
Registered: 2001-11-18 22:25:54
Saloben_ign posted:

ObjectClass.Trinket Should that be part of the wrapper?



Trinkets are jewelry.

 

-----signature-----
Virindi
---
****Virindi Plugins FAQ**** http://www.virindi.net/wiki/index.php/Virindi_Plugins_FAQ
http://www.virindi.net - Virindi Tank, Follower, Integrator, Reporter, VCS5, XPHelper, Item Tool, HUDs, etc...
Decal Core Dev - http://www.decaldev.com
mrFlipo  2 stars
Posts: 321
Registered: 2003-6-24 17:15:28
Trinkets
EquipableSlots = 67108864
Zegeger  1 star
Posts: 93
Registered: 2001-4-27 18:20:56
I've found an issue, but I'm not quite sure how I triggered it. I was unable to enable/disable some plugins, and it seemed specifically some that I developed. I went so far as to remove them from the registry and that caused my .NET plugins to stop loading, but my VB6 plugin still loaded.

I fired up procmon tonight and found that it was accessing the following store:
9:04:51.1668298 PM ACClient.exe 5620 RegQueryValue HKCU\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\Decal\Plugins\{359E547B-5302-4134-80F2-3BE5C31EC828}\Enabled SUCCESS Type: REG_DWORD, Length: 4, Data: 1

That is the key for my VB6 plugin, and I noted that it had a value of 1, even though in the normal location it was set to 0.

Per this article (http://msdn.microsoft.com/en-us/library/aa965884%28v=vs.85%29.aspx) it indicates this is a compatibility function, and it seems the VirtualStore key will take precedence over the normal location. Looking at that location in RegEdit, it only seemed to store some order and enabled values.

Looking further at it I see other plugins also were stuck with enabled values of 0 and I tried reenabling them and they still did not load so I guess it is not directly related to my plugins. Perhaps it was how decal was started?

I deleted the VirtualStore Decal tree and everything started behaving again.

 

-----signature-----
Zegeger - HG - 246 - Axe
AgentZ - http://decal.zegeger.net
"Ambition is a poor excuse for not having sense enough to be lazy." - Edgar Bergen
"Imagination is more important then knowledge." - Albert Einstein
Paraduck  2 stars
Title: quantum mechanic
Posts: 484
Registered: 2001-2-27 18:19:03
Are vendors broken in this beta?

I'm getting acclient crashes with the following code (specfiically, the GetEnumerator() line.)

Quote:

private void WorldFilter_ApproachVendor(object sender, ApproachVendorEventArgs e)
{
try
{
Vendor vend = e.Vendor;

IEnumerator<WorldObject> enumer = vend.GetEnumerator();
enumer.Reset();

while (enumer.MoveNext())
{
this.WriteToChat(enumer.Current.Name + " " + enumer.Current.Id);
}
}
catch (Exception ex)
{
CErrorLogging.LogError(errorLogFile, ex);
}
}

I've tried working around this by trying to use WorldFilter.GetAll(), but the vendor's object do not show up there after opening the vendor buy/sell window.

Crash info:

Faulting application name: ACClient.exe, version: 0.0.11.4009, time stamp: 0x4d01046c
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x02adb615
Faulting process id: 0x175c
Faulting application start time: 0x01cb9c19366fb8b0
Faulting application path: C:\Games\Turbine\Asheron's Call - Throne of Destiny\ACClient.exe
Faulting module path: unknown
Report Id: 9f86d3b0-080c-11e0-b35b-0018f35836ad

 

-----signature-----
We are like dwarfs sitting on the shoulders of giants. We see more and things that are more distant than they did,
not because our sight is superior or because we are taller than they, but because they raise us up and their
great stature adds to ours
mav_sc  1 star
Posts: 131
Registered:
I've been using the following code:


Quote:

foreach (WorldObject obj in Util.Core.WorldFilter.OpenVendor)
{
if (obj.Name.Contains(ItemName))
{
Item = obj;
break;
}
}


and


Quote:

if (Items.Money_Pyreals.Count >= Item.Values(LongValueKey.Value) * Util.Core.WorldFilter.OpenVendor.SellRate)



And haven't had any crashes yet or ran into any issues.


Another question I have for you. I noticed you converted your plugins to use V's wrappers. Can you write up a little how-to for others?
Paraduck  2 stars
Title: quantum mechanic
Posts: 484
Registered: 2001-2-27 18:19:03
Thanks mav, I'll give that a shot tomorrow.

As far as the wrappers go:

Add in her files from the SVN (the Wrapper... and ViewSystemSelector.cs files)

From the usual decal wrappers, convert all of your statements to:

MyClasses.MetaViewWrappers.MVView
MyClasses.MetaViewWrappers.MVWireUpControlEvents
MyClasses.MetaViewWrappers.MVControlReference
MyClasses.MetaViewWrappers.MVControlEvent

and update your controls as appropriate (e.g., CheckboxWrapper to MyClasses.MetaViewWrappers.ICheckBox.)

Edit: In Startup() add:

Quote:

MyClasses.MetaViewWrappers.MVWireupHelper.WireupStart(this, Host);

In Shutdown() add:

Quote:

MyClasses.MetaViewWrappers.MVWireupHelper.WireupEnd(this);

What I was missing was "VVS_REFERENCED" under conditional compilation symbols.

 

-----signature-----
We are like dwarfs sitting on the shoulders of giants. We see more and things that are more distant than they did,
not because our sight is superior or because we are taller than they, but because they raise us up and their
great stature adds to ours
Paraduck  2 stars
Title: quantum mechanic
Posts: 484
Registered: 2001-2-27 18:19:03
Mav: I just tried your code, it doesn't work.

Using the foreach loop doesn't give a crash, but Core.WorldFilter.OpenVendor.Count = 0, and Core.WorldFilter.OpenVendor.MerchantId = 0. Thus, there's nothing to iterate over, even though the vendor window is open and has items.

Again, trying to use GetEnumerator() leads to the same client crash.

 

-----signature-----
We are like dwarfs sitting on the shoulders of giants. We see more and things that are more distant than they did,
not because our sight is superior or because we are taller than they, but because they raise us up and their
great stature adds to ours

VaultNetwork.net is an independently operated community forum and is not affiliated with, endorsed by, or technically based on IGN, GameSpy, FilePlanet, GameStats, or the former IGN/GameSpy Vault Network.
References to VaultNetwork.net mean this site/domain. VNBoards-style presentation is a visual homage only. By using this site, you agree to the forum rules.