Author Topic: Plugin dev via Visual Basic 6 questions
KhaanVrenn 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
Hi = )

I'm well aware that Virindi Tank is the overwhelming choice for a combat macro, but I wanted to go into the code of LTx and play around with it.

I used Tortoise to go into Xeon's SVN and downloaded everything he has in there. I will reference this post, where Xeon gives a quick rundown on how to build from the SVN:
http://vnboards.ign.com/ac_utilities/b5432/97321172/p1 (about halfway down page 1).

I realize his post was from '06, and of course there are issues. If you click on the first link he provides, you get the repository with 2 folders, Source and Release. Many of the files he references in his 'build' notes do not exist. There is only one .SLN file, LifeTankX.sln, and no DarksideFilterMM.sln, among some of the differences.

I'm new to Visual Studio 6, so not sure what I'm really doing here... here's what's being done, and not working:
1. Load DarksideFilter.vbp into Visual Basic. Use File -> Build DarkSideFilter.dll - save to a new folder in My Documents called LTxBuild
2. Load Core.vbp, use File -> Build Core.dll - save to same folder as above
3. Load CoreInterface.vbp, use File -> Build CoreInterface.dll - save same place
4. Load LTEngine.vbp, use File -> Build LTEngine.dll

Now, about 3 years ago, I recall doing basically the same steps, and with a working LTx installation, I just renamed all of the installed LTx files in C:\Games\Lifetank X\ to .OLD, moved in the 4 new builds, and it was working. I'm not having the same luck here. If I do that now, I get the LTx icon on the Decal bar, and there's about an 8 second 'hang', then main chat says LTx couldn't initialize, the plugin is unloaded, and the icon is removed. If I took other steps before or after moving the new files to C:\Games a few years ago, I cannot remember, but I know it worked.

Here's a strange one... after deleting the new builds from C:\Games and renaming the .OLD files back to .DLL's, on login, LTx would load up, but not send the MOTD to chat (the author credits and quick shortcut key summary). The interface opens, but everything is blank. I logged out, went into Decal, removed LifeTank X and DarkSideFilter, closed Decal, went into Add/Remove programs, uninstalled Lifetank. I then re-installed Lifetank with the .MSI package, logged back into AC, and everything was working again. I checked the LTx Logs, and it was saying DarkSideFilter could not be found or loaded. Apparently the Core was initializing and making the GUI available in-game, albeit with no data available.

Ok, so with a working LTx in-game again, I logged everything out, loaded up DarkSideFilter.vbp into Visual Studio, and built the .DLL again, saving it to a different folder. I logged into AC, and got the blank interface again. Not sure how this is possible? How could building a new .DLL in VB 6, and saving it nowhere near LTx, cause the existing LTx to nerf? Strange.

Anyhow, I would actually like to be able to build the full installer when making changes, but I cannot get the 4 necessary .DLL builds working in-game, and just building them nerfs a working installation, so I'm a ways from figuring out how to actually build the .MSI installer... I realize this is long, but I figure many of these facts would end up being asked, so I'm just it all out up front. Can a kind soul hold my hand and help me through getting those source files built so that they work in-game? I can't change any of the code until I can do this and test the changes.

I'm on a Win 7 Ultimate 64bit machine... I Googled how the 'pros' are getting Visual Studio 6 to install and run correctly under Win7 64, and their instructions got me up and running without any hitches. I'm not getting any compiling errors, and anything weird whatsoever. Thanks for reading, and thanks in advance if you can offer some help!

 

-----signature-----
Link to this post
Drakier 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
I would highly recommend not messing with VB6 ever. It is pretty much a dead language for the most part, and I'm not sure how long things compiled in VB6 will continue to work with Decal long-term. Just a suggestion.

 

-----signature-----
Link to this post
KhaanVrenn 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
Thank you, good sir. Understood. This is just for my education and enjoyment. If it stopped working tomorrow, I'd be no worse for the wear. ; D

Awfully good to see you show up on the boards occasionally, Drak! Is there any chance ACDC could be updated quick enough to accommodate more player slots than 7? I can edit the ini file, but they still don't show up.. guess it's hard-coded into the program. I absolutely do not mind hand editing the ini file, so it's not necessary to program the main GUI for input/acceptance of new names, or anything fancy...

Ok... anyways... can any old school plugin programmer please help me here? When I have a VB6 project file open, all I can see to do with it is under the FILE tab, and that's to create a DLL.. is there something I'm missing? Do I need to physically register those new DLL's? Does something go haywire in the registry with the CLSID of the object?

 

-----signature-----
Link to this post
Virindi-Inquisitor 
Posts: 6,908
Registered: Nov 18, '01
Extended Info (if available)
Real Post Cnt: 6,646
User ID: 511,923
Subject: Plugin dev via Visual Basic 6 questions
>> How could building a new .DLL in VB 6, and saving it nowhere near LTx, cause the existing LTx to nerf? Strange.

It is COM. VB is probably registering the COM objects when it is done with the build, so they now point to the newly built dll instead of the original one.

 

-----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
Link to this post
KhaanVrenn 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
Thanks VI! A hint! Is this done inside the registry? Where would I peek at to see what's being changed? Is there a setting inside VB you can use to turn off that behavior? Seems you wouldn't necessarily want that while testing under some circumstances. Thanks again! Would be thrilled to move beyond this problem!

 

-----signature-----
Link to this post
Virindi-Inquisitor 
Posts: 6,908
Registered: Nov 18, '01
Extended Info (if available)
Real Post Cnt: 6,646
User ID: 511,923
Subject: Plugin dev via Visual Basic 6 questions
It goes in several places in the registry. For instance, on a 64-bit windows machine, VVS's dll location will be stored here:

HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{DBAC9286-B38D-4570-961F-D4D9349AE3D4}\InprocServer32

 

-----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
Link to this post
KhaanVrenn 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
Thank you again! Taking baby steps here, but VB was changing the CLSID... I exported the good one with regedit, built the new DLL, imported back the good one, and I'm in-game with LTx initialized and working. Of course, we're not using the newly built file yet, but at least the current install didn't quit. I'll test some more after dinner. Your help is most appreciated!

 

-----signature-----
Link to this post
KhaanVrenn 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
Well VI, the answer to why the current working LT became unusable became the answer to the whole issue. Everytime VB 6 builds a DLL, it registers that DLL.

The short story is here, the LTx source is now compiling correctly, and seems to be running fine... and I'm already making changes. I'm starting with how it works with Items (ID'ing, stats, and looting). For a really quick fix, Xeon just lumped Epics in with Majors, so I pulled those out and properly separated them. This helped fix the problem where if an Epic item was ID'd, it just said Epic Detected, and no other stats were displayed. Right now, I'm working on ID'ing weapon skills, which is going to require me to wade in chin-deep into that DarksideFilter. I have found where the old skill is pulled, and apparently that is still being sent by Turbine's server, so in LTx, a bow is ID'd as needing bow skill rather than Missile Weapon skill (Decal hook &H9E&). So... long road ahead... really really long road...

 

-----signature-----
Link to this post
joeblow8579 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
I applaud your effort, but is there any particular reason you are trying to get lifetank working (a humongous job), versus spending time fixing one of the many essential plugins that no longer work and that we don't have duplicate functionality for? I could come up with a list of six or eight plugins that could really use some development time before lifetank.

Ammogimp
Target Info
Quest Timer
Botshopper
Mule Trade It
Logwiz

Even my least favorite of all plugins, Alinco, would be a better bet with your time.

 

-----signature-----
Link to this post
KhaanVrenn 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
My response might seem selfish, but I want to fix some of LT's stuff for -me-. I'm not a power player, and what it does, it still does great (at least for me). It's just annoying to me that some of the features I've come to rely on (like ID'ing weaps and armor) are broken that badly. I already enjoy what little I've fixed so far. I'm also intimately familiar with almost every little thing LT does, which brings me to your list of plugins that could use updating... I haven't used any on that list besides Mule TradeIt!, so I have no idea what they're supposed to do, versus what needs fixed/updated. While I'd be all for spending my time and energy doing something that might benefit a wider audience, it also ultimately needs to serve me as well. I'm fixing LT to serve me for right now. If there was another plugin I wish I had the source to, in order to make 100% functional again, it'd be Imp Inventory.

I do realize that over the last year or two, LT has really fallen in grace, even to some of its most loyal users. When installed and configured correctly, it really does still work quite well, and this is also installed on a Win 7 64bit Ult machine. The extra memory I'm running has reduced the amount of crashes down to like maybe 1 or 2 a month, and this is also using ACDC with several accounts. I'm just calling myself lucky that I have everything installed and working as it ever was on any of my XP machines over the years. Knock on wood? I do that after reading the numerous stories of frustration back here..

Let me play with this.. learn some things... I might take on some other plugins soon. I really enjoy programming, but honestly, working with Decal is brand new for me. I'm gonna make a ton of rookie mistakes, and I'm thankful to have a community to ask questions.

 

-----signature-----
Link to this post
joeblow8579 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
While I have no doubt that it's possible to properly configure Lifetank to work *somewhat*, VTank already does everything (well, virtually everything) that Lifetank did, and does it much faster and more efficiently. I have used them side by side. VTank is faster, has more features, and is actually fully-functional.

As for identifying items, Mag-Tools already does that pretty efficiently when combined with Virindi's Classic Looter, and again, they are way, way faster than LT ever was.

I guess I just don't understand the drive to kludge something up to replace a perfectly functional pair of plugins. Like I said, I applaud your effort, and we need all the Decal developers we can get, but I just don't understand, and that's why I posted here.

 

-----signature-----
Link to this post
mrFlipo 
Posts: 476
Registered: Jun 24, '03
Extended Info (if available)
Real Post Cnt: 465
User ID: 815,685
Subject: Plugin dev via Visual Basic 6 questions
KhaanVrenn +1

 

-----signature-----
(none)
Link to this post
hggm 
Posts: 635
Registered: Dec 26, '06
Extended Info (if available)
Real Post Cnt: 627
User ID: 1,193,895
Subject: Plugin dev via Visual Basic 6 questions
Vtank won't buff others. I've requested it for VTank and Joe even remember your response was that it was not necessary. As someone who levels new characters all the time without the ability to buff, it is invaluable. I do not mind that it is not in Vtank as I can and do use LTx side by side with it and it does not cause any problems for me. Either way, that is just one point. People play with different needs and goals in mind. As great as Vtank is, it will never be "perfect" for every situation or play style. Options are always good.

I am not saying you were bagging on him, just giving more support for why someone might actually care to update something others may consider a waste of time.

I look forward to his changes and will use them. I would do it if I could, but I cannot. Same thing with Vtank though, there are changes there that would benefit my playstyle greatly that are of no need to others and thusly will probably never be implemented.

Oh, and on your list of plugins, I use Logwiz and Quest Timer every day without any issues at all. It might be nice to have updates there, but they are both at least functional presently.

 

-----signature-----
(none)
Link to this post
KhaanVrenn 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
Why people spend their unpaid free time on certain things, and why others judge that time spent, will both remain unanswered mysteries long after we are all gone, and matter less. If you re-read my original post, you'll see I at least made a weak attempt to bypass LTx vs VT politics, but we all know that's unavoidable. Yes, VT is quicker and better, she has spent how many thousands of hours over the last 4 years that LTx hasn't had a single byte of code changed? It should be better... lol!

I'm not here to argue efficiency or duplicate functionality. I just want to have some fun. I have been here since beta, so color me old school. One thing that comes with age, beside just pure drop dead sexiness, is a fondness for things labeled 'classic'. Why people would waste their time restoring a '69 Chevy Camaro will always mystify the younger hipsters who drool over a brand new showroom make and model - until they themselves start to grow older. My first son was 9 yrs old when AC was in beta, and for about 6 years he trolled the land of Dereth before moving on to more important things: women. ; ) He's now 23. A man. I'm raising a second set of kids, my next oldest boy is 6. Like his bigger brother, he is extremely interested in AC, and is already running toons around safe areas.

Again, I'm sorry, but if I spend my time on anything AC related, it's going to be something that I currently use. Here's a list of every plugin I use, and they all still function well enough that I don't need to lose sleep.

MiniMap and Radar Add-on
MakeIt!
FindIt!
SortIt!
Mule TradeIt!
DCS
SkunkVision
Fortune Hunter
LifetankX 11.9.9
Mob Tracker

 

-----signature-----
Link to this post
mrFlipo 
Posts: 476
Registered: Jun 24, '03
Extended Info (if available)
Real Post Cnt: 465
User ID: 815,685
Subject: Plugin dev via Visual Basic 6 questions
KhaanVrenn,
The answer to the unanswered mysteries is.......Insanity.. happy
"Everybody to their own taste!" said the old lady who kissed the cow.

Rest of yah,

Pretty much plugin authors write code that helps themselves in game. Its part of the fun
to see something they need and then tweak some code so they can use it. Course I don't run a portal bot so I must
be proof of the unanswered mystery. happy

Duplicity can be frown on in some situations but there is that 'Yellow school bus rule' which is part of disaster planning.
What if (god forbid) vtank went bye bye?

I would be interested in hearing about any plugin functionality that is no longer available.
Trade bot I keep hearing is broke but last I heard it is functional although limited a bit by amount of items.



 

-----signature-----
(none)
Link to this post
Virindi-Inquisitor 
Posts: 6,908
Registered: Nov 18, '01
Extended Info (if available)
Real Post Cnt: 6,646
User ID: 511,923
Subject: Plugin dev via Visual Basic 6 questions
mrFlipo posted:
Duplicity can be frown on in some situations but there is that 'Yellow school bus rule' which is part of disaster planning.
What if (god forbid) vtank went bye bye?


Heh. To quote myself, from the very first post of the VTank release thread, 2008:

Virindi-Inquisitor posted:
Approximately two years ago, I decided to take on the challenge of writing a new combat macro from scratch. The goal was to create something that could make up for a couple problems I had when using either ElTank or LifeTank for attended play. ElTank seemed a bit more suitable for the task, but when it was shut down and we were stuck with only a single option I decided this would be a bad situation for AC in the long run.


For the health of the game, it is important that there be options. Attempting to win people over from LTX has driven me to add many features over the years. Competition is good for everyone.

Since that time, I am proud of what I have added that LTX does not have...dual wield, autoselect of best spell level, navigation that works well even when looting, grenades, cast on strike debuffs, lenses, extensible monster rules, buffing from foods and gems, mana/stamina kit use, healer's heart support, casting stein type item use, a strong crafting engine, void magic, streak on low health, pea splitting, customizable nav waypoints, moving around corners when following a player, smallest turn based target selection when targets are nearby, and more. I only plan to keep adding features.

Hopefully in the end I can get you to choose my plugin tongue

 

-----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
Link to this post
joeblow8579 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
hggm posted:
Vtank won't buff others. I've requested it for VTank and Joe even remember your response was that it was not necessary. As someone who levels new characters all the time without the ability to buff, it is invaluable. I do not mind that it is not in Vtank as I can and do use LTx side by side with it and it does not cause any problems for me. Either way, that is just one point. People play with different needs and goals in mind. As great as Vtank is, it will never be "perfect" for every situation or play style. Options are always good.

I am not saying you were bagging on him, just giving more support for why someone might actually care to update something others may consider a waste of time.

I look forward to his changes and will use them. I would do it if I could, but I cannot. Same thing with Vtank though, there are changes there that would benefit my playstyle greatly that are of no need to others and thusly will probably never be implemented.

Oh, and on your list of plugins, I use Logwiz and Quest Timer every day without any issues at all. It might be nice to have updates there, but they are both at least functional presently.

I'm not sure where you got the idea that I don't think VTank should have a "buff buddy" feature, but I've actually bugged VI about this on quite a few occasions over the past couple of years. I think that feature would be invaluable, especially to my Item-only archer.

Addressing the larger picture, I have no problem with the OP working on LT. Any implication that I do is mistaken. There are just a few plugins that I wish someone (hint, hint) would put a bit of time into updating for the modern AC era.

Again, I applaud the OP's effort.

 

-----signature-----
Link to this post
KhaanVrenn 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
Well, there's not going to be a competition from me...

First off, the Visual Basic 6 aspect will prevent -anyone- from doing anything serious to LTx. If someone was going to be serious, they'd re-write it with today's modern language. VI did that already, and there's VTank.

Secondly, I had no intentions (not sure I even have the capability!) of adding any significant features that would be attractive enough to overcome the slowness of the bloatware it has become. Again, if you wanted to ADD things to it, in order to start attracting users, you'd really just start from scratch.

All I wanted to do was to fix some of the things that are blatantly in-your-face wrong, every time you load the plugin, even though it still does an adequate job of being a 'tank' and killing/looting stuffs.

Just want to make sure, for the benefit of anyone who stumbles upon this thread, I am NOT taking over 'development' of LTx, I simply intend to update it as much as possible to correctly interact with today's patches. That's it. Not sure I would ever even release those changes, it kind of depends on how much I can get done. I'm right now stuck on trying to figure out how information is exchanged between the engine and Decal, so I haven't made any changes in 2 days now, and my brain is suffering from code migraines.

 

-----signature-----
Link to this post
joeblow8579 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
What we really need is for Digero to come back and fix his plugins grin

 

-----signature-----
Link to this post
Maglett_of_FF 
Posts: 4,986
Registered: May 17, '02
Extended Info (if available)
Real Post Cnt: 4,900
User ID: 680,348
Subject: Plugin dev via Visual Basic 6 questions
joeblow8579 posted:
I applaud your effort, but is there any particular reason you are trying to get lifetank working (a humongous job), versus spending time fixing one of the many essential plugins that no longer work and that we don't have duplicate functionality for? I could come up with a list of six or eight plugins that could really use some development time before lifetank.

Ammogimp
Target Info
Quest Timer
Botshopper
Mule Trade It
Logwiz

Even my least favorite of all plugins, Alinco, would be a better bet with your time.


Logwiz still works atm. It would be nice to have it tweaked to ensure future compatibility, perhaps even converted over to use Virindi's VVS for it's displayed Window but it doesn't have a huge performance hit like certain other plug-ins.

 

-----signature-----
Edits are for spelling :^)
Trophy Compendium http://vnboards.ign.com/message.asp?topic=90389010
/a Devil's Saint says, "what we teach our Children we become" June 3, 2008
Link to this post
joeblow8579 
Posts: ????
Registered: ????
Extended Info (if available)
Real Post Cnt: 0
User ID: 0
Subject: Plugin dev via Visual Basic 6 questions
Maglett_of_FF posted:
joeblow8579 posted:
I applaud your effort, but is there any particular reason you are trying to get lifetank working (a humongous job), versus spending time fixing one of the many essential plugins that no longer work and that we don't have duplicate functionality for? I could come up with a list of six or eight plugins that could really use some development time before lifetank.

Ammogimp
Target Info
Quest Timer
Botshopper
Mule Trade It
Logwiz

Even my least favorite of all plugins, Alinco, would be a better bet with your time.


Logwiz still works atm. It would be nice to have it tweaked to ensure future compatibility, perhaps even converted over to use Virindi's VVS for it's displayed Window but it doesn't have a huge performance hit like certain other plug-ins.

I still use Logwiz all the time. The only problems with it, as with some of Digero's other plugins (namely Quest Timer) is that it doesn't always play nice with dual logging. I have it toss exceptions relating to file handling (probably the other instance of the plugin not releasing a file or something) pretty frequently - probably every couple of weeks. Quest Timer is much worse about that since it uses a single XML file to store all characters' info, but Logwiz isn't perfect.

I'd like to get rid of Decal views entirely, and the listed plugins are the ones preventing me from doing that.

 

-----signature-----
Link to this post

Valid XHTML 1.0 Transitional Powered by PHP