Post Reply Home » Forums » Final Fantasy XI » FFXI General Discussions

Sending input throu Windowerhelper to FFXI : FFXI General Discussions

Posted: April 15th, 2007
hokuten
Hey, been messing around with various experiements. But for the most part I haven't been able to get anywhere. The biggest problem is that I don't know how to send information to FFXI through WindowerHelper. I thought I had it, but it wouldn't compile.

So I was wondering if someone could give a little quick tutorial on how to do this in C++.

Code: Select all

	CKeyboardHelper* pKeyboardHelper;
	CTextHelper* pTextHelper;
	
	pKeyboardHelper = new CKeyboardHelper("WindowerMMFKeyboardHandler");
	pTextHelper = new CTextHelper("WindowerMMFTextHandler");
Is that code necessary? Also...

Code: Select all

pKeyboardHelper->SendString(sInput) ;
I thought this is how u actually send the char array sInupt to WindowerHelper. But when I try to compile I get a whole bunch of errors about odd things being undefined in the TEMP folder. Maybe I need to use a different compiler? I am using MinGW.

Code: Select all

In file included from RandomCaster.cpp:2:
WindowerHelper.h: In function `void DeleteTextHelper(void*)':
WindowerHelper.h:131: warning: deleting `void*' is undefined
WindowerHelper.h: In function `void DeleteKeyboardHelper(void*)':
WindowerHelper.h:151: warning: deleting `void*' is undefined
WindowerHelper.h: In function `void DeleteConsoleHelper(void*)':
WindowerHelper.h:159: warning: deleting `void*' is undefined
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x59): und
efined reference to `_imp___ZN11CTextHelperC1EPc'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0xde): und
efined reference to `_imp___ZN11CTextHelper16CreateTextObjectEPc'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0xfa): und
efined reference to `_imp___ZN11CTextHelper16DeleteTextObjectEPc'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x11d): un
defined reference to `_imp___ZN11CTextHelper7SetTextEPcS0_'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x148): un
defined reference to `_imp___ZN11CTextHelper13SetVisibilityEPcb'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x172): un
defined reference to `_imp___ZN11CTextHelper7SetFontEPcS0_i'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x1c7): un
defined reference to `_imp___ZN11CTextHelper8SetColorEPchhhh'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x1f6): un
defined reference to `_imp___ZN11CTextHelper11SetLocationEPcff'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x220): un
defined reference to `_imp___ZN11CTextHelper7SetBoldEPcb'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x24a): un
defined reference to `_imp___ZN11CTextHelper7SetBoldEPcb'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x29f): un
defined reference to `_imp___ZN11CTextHelper10SetBGColorEPchhhh'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x2c7): un
defined reference to `_imp___ZN11CTextHelper15SetBGBorderSizeEPcf'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x2f2): un
defined reference to `_imp___ZN11CTextHelper15SetBGVisibilityEPcb'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x31c): un
defined reference to `_imp___ZN11CTextHelper17SetRightJustifiedEPcb'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x331): un
defined reference to `_imp___ZN11CTextHelper13FlushCommandsEv'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x393): un
defined reference to `_imp___ZN15CKeyboardHelperC1EPc'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x42d): un
defined reference to `_imp___ZN15CKeyboardHelper6SetKeyEhb'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x451): un
defined reference to `_imp___ZN15CKeyboardHelper10BlockInputEb'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x46e): un
defined reference to `_imp___ZN15CKeyboardHelper10SendStringEPc'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x4cf): un
defined reference to `_imp___ZN14CConsoleHelperC1EPc'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x54d): un
defined reference to `_imp___ZN14CConsoleHelper12IsNewCommandEv'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x565): un
defined reference to `_imp___ZN14CConsoleHelper11GetArgCountEv'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x589): un
defined reference to `_imp___ZN14CConsoleHelper6GetArgEiPc'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x719): un
defined reference to `_imp___ZN15CKeyboardHelperC1EPc'
C:\DOCUME~1\KELLYG~1\LOCALS~1\Temp/ccsVbaaa.o:RandomCaster.cpp:(.text+0x77c): un
defined reference to `_imp___ZN11CTextHelperC1EPc'
collect2: ld returned 1 exit status
thats all the error messages I am getting :/. Trying to model it off of the CHelperDemo that is distributed by FFXI Windower, but I think they are using some developing environment while I only have a dos prompt.

New to C++ so I don't really know where to start tryingt o fix this. Any help would be great.


Also, on another note...would anyone know how to access/find the clock that is managed within the game? Its not the same as the system time I don't think b/c I changed the system time and FFXI's time remained unchanged. I tried using artmoney to search through the memory, but couldn't turn anything up :/ Any help would be appreciated and also possibly could benefit u in the future.
Posted: April 15th, 2007
User avatar
Total Posts:1974 Joined:2006
I tested this out a long, long time ago. I think this is it: The problem is the different compilers, as you thought. The c++ language for the GNU compiler isn't the quite same as it is for the Microsoft compiler. Try just compiling the original example using a GNU based compiler, It will most likely spit out errors. Your going to need MSVC++ http://msdn.microsoft.com/vstudio/express/ theres the express versions from 2005. Now, you probably could change the example to work with the GNU compiler, but thats a more advanced level.

keep going the way your going, also, consider reading a book on c++ before tackling something like this. It will help a lot to have a basic understanding of the entire language.

_________________
EX-TU member. For my own reasons, I will no longer play a role as an active member. Goodbye.


RIP kourath. 5/21/08
Posted: April 15th, 2007
hokuten
I am working my way through a C++ book now, but it hasn't really explained how to work with something like WindowerHelper. I don't know how the .dll is actually setup, so I am not sure about all the technicalities involved with it...so its hard to be sure about what I am doing.
Posted: April 15th, 2007
User avatar
Total Posts:1974 Joined:2006
Well, the reason for the book is really only to help you get a basic understanding of the entire language so you can at least read and understand most of the code. Its just much easier than trying to fumble throughout the entire code

_________________
EX-TU member. For my own reasons, I will no longer play a role as an active member. Goodbye.


RIP kourath. 5/21/08
Posted: April 16th, 2007
Total Posts:795 Joined:2006
Try looking in the documentation provided. They give a full example of how to use it.

To be totally honest, if you're not up to figuring out how to use it (don't need to understand how it works, just how to use it), you should try using a simpler language. Persevere though; and you will be able to make it work.

To my mind, the most immediate problem with your code is you haven't actually imported anything from the dll. (__declspec(dllimport)), but if you use the header file the windower people provide, it won't be needed (they've done it for you).


Basically, moral of the story is: Check the official site for documentation.
Posted: April 17th, 2007
hokuten
Well, I downloaded MSVC++ and have it all installed. It's wierd, I can modify the code in the original folders and rebuild it all with no problems...but if I try to move it all into a different directory it doesn't build. I get the same error messages.

All I am doing is picking up the folder and moving it and it makes it not work...that I don't understand...

these are what the example is using:
#include "stdafx.h"
#include "WindowerHelper.h"
#include <iostream>

these are the includes I have:
#include "stdafx.h"
#include "WindowerHelper.h"
#include <windows>
#include <iostream>


I am including the WidowerHelper.h and it is in the same directory as everything else, but it says it cannot find it or that it doesn't exist...

-------------------------------------

They don't have any documentation on their site that I have been able to find and I think they stopped releasing the examples at all.
To be totally honest, if you're not up to figuring out how to use it (don't need to understand how it works, just how to use it), you should try using a simpler language. Persevere though; and you will be able to make it work.
I am up to figuring it all out, but I figured it might be easier and quicker if someone gave me a quick point in the right direction instead of !@#$%^&* around for hours trying to teach myself everything.
Ready to join the community? Click here and see all of the benefits!
blue large dotWho is online
Users browsing this forum: No registered users and 92 guests
Post Reply