Problem with excecuting macros on European server

Need help running MacroQuest2? Ask your questions about how to get things to work on your computer.

Moderator: MacroQuest Developers

EQ_Nutzer
a lesser mummy
a lesser mummy
Posts: 36
Joined: Tue Dec 23, 2003 2:39 pm

Problem with excecuting macros on European server

Post by EQ_Nutzer » Sun Dec 28, 2003 7:00 am

First of all I am trying to get MQ2 to work on the Eurpean server Kael Drakkal and therefore used the *.zip from 12/10/03 (as KD is one major patch behind the us servers). Compiling and installing worked fine. MQ2 window shows up within EQ and runs stable.

Basic macroquest commands work (like /whotarget e.g.).

Here is my problem:
When I am trying to run a more sophisticated macro e.g. one of the supplied generic macros like "follow.mac" they do not work.

What happens is this: Whenever I try to start follow.mac by typing in /macro follow.mac MQwindow tells me that "The current macro has ended" and nothing happens.

As soon as there is a "SubMain ...command... /return" in a macro, NOTHING happens at all, no error message just the message "you current macro has ended".

I tried to find an answer in the forums but could not so far, any ideas on this?

Help would be greatly appreciated!

Greetings

EQ_Nutzer
Last edited by EQ_Nutzer on Fri Jan 02, 2004 11:08 am, edited 3 times in total.

User avatar
MDewHead
orc pawn
orc pawn
Posts: 28
Joined: Fri Oct 31, 2003 4:08 am

Post by MDewHead » Thu Jan 01, 2004 11:10 am

I hope to god you have something targeted when you type /macro follow.mac


...

EQ_Nutzer
a lesser mummy
a lesser mummy
Posts: 36
Joined: Tue Dec 23, 2003 2:39 pm

Post by EQ_Nutzer » Thu Jan 01, 2004 11:44 am

*cough* Yes, I do have something targeted.... ;)

Seems to be more of a generic type of problem with MQ2 and the european servers.
MQ2 actually works and runs stable, the offsets I could check are the same (alas 1-2 patches behind), what does not work for me so far is:

- *complex* macros (e.g. allmost all basic MQ2 commands work, but as soon as they are embedded in a "Sub main.... Command..../return" structure they do no longer work and only give out " The current macro has ended" with no error message and nothing happening at all (/echo $macro shows the macro as running and yes /filter macros is set to all...).

- /sendkey does not seem to work

Trying to narrow this down as it seems to be related to the fact MQ2 is running on a European client.

MQ1 could be modified to work with the european servers, does anybody have experience concerning MQ2 and above mentioned problem?

Greetings

EQ_Nutzer

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Thu Jan 01, 2004 12:20 pm

MQ2 is MQ1, most people don't seem to realize that. All the code from MQ1 was moved over, but about 5% of it was changed and some things were added...
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

EQ_Nutzer
a lesser mummy
a lesser mummy
Posts: 36
Joined: Tue Dec 23, 2003 2:39 pm

Post by EQ_Nutzer » Thu Jan 01, 2004 1:41 pm

What needed change with MQ 1 was the EQLib_Hooks.cpp


class CChatHook
{
public:
VOID Trampoline(PCHAR szMsg, DWORD dwColor, DWORD dwUnknown);
VOID Detour(PCHAR szMsg, DWORD dwColor, DWORD dwUnknown)
{
DebugSpew("CChatHook::Detour(%s)",szMsg);
gbInChat = TRUE;
if ((!strncmp(szMsg,"You have entered ",17)) || (strstr(szMsg," saved."))) {
if (gZoning) {
gDelayZoning += gZoneDelay;
gZoning=FALSE;
}

to (thanks to Rand)

if ((!strncmp(szMsg,"You have entered ",17)) || (strstr(szMsg," saved."))) {
"you have entered" , '17' & " saved" needed to be changed into the correct server language for MQ1 macros to work as MQ1 seemed to have waited for the correct chat trigger even though it loaded itself up.

I cannot find that code so far in MQ2, maybe one of the developers knows where to find it or what else is needed to get rid of the dreaded
"You current macro has ended" message. I would of course be willing to look further into it by myself in the future and keep the needed changes up to date with future patches but currently I am not gettign any further without "proffesional" help I fear.

Greetings

EQ_Nutzer

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Thu Jan 01, 2004 1:49 pm

You could try the obvious places like .. oh.. MQ2ChatHook.cpp .. wait thats too obvious. You could look for something with the word hook in it

I'll get rid of that part entirely for next update.
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

EQ_Nutzer
a lesser mummy
a lesser mummy
Posts: 36
Joined: Tue Dec 23, 2003 2:39 pm

Post by EQ_Nutzer » Thu Jan 01, 2004 5:10 pm

Thanks Lax!!!

*cough* must have overseen that MQ2chathook.cpp before... "search" is/should be everybodies friend even mine ;)

Anyways looking forward to the next update as I think it migth fix some of the problems for us europeans.

McKorr mentioned way back in NOV that MQ2chat might be changed to recognize the ("activation code") language the european servers use, as the euro version works fine with the english commands [SOE only added a translated allias for each EQ command).

The european servers have a Eqstr_de (for german) EQstr_fr (for french) file with the same structure than the EQstr_en (us) file: e.g. in eqstr_en there is:
12357 You have entered %1.
and in eqstr_de, there is:
12357 Ihr habt %1 betreten. => Which means You have entered %1. (in german).

Maybe language can be grabbed just from there.

Do you have any ideas why /press and /sentkey do not work on the european servers?

Greetings

EQ_Nutzer

User avatar
Bad Karma
a snow griffon
a snow griffon
Posts: 346
Joined: Sat Nov 22, 2003 9:34 pm
Contact:

Post by Bad Karma » Thu Jan 01, 2004 8:19 pm

Do you have any ideas why /press and /sentkey do not work on the european servers?
Keyboard language translations? Try changing your keyboard language in windows?

Yeah, I'm just pulling shit outta my ass here. Dead tired and bored at work.

ml2517
a grimling bloodguard
a grimling bloodguard
Posts: 1216
Joined: Wed Nov 12, 2003 1:12 am

Post by ml2517 » Thu Jan 01, 2004 8:26 pm

Sounds plausable to me Bad Karma.

EQ_Nutzer
a lesser mummy
a lesser mummy
Posts: 36
Joined: Tue Dec 23, 2003 2:39 pm

Post by EQ_Nutzer » Fri Jan 02, 2004 5:01 am

Well basically MQ is working as it should (command wise), the only commands not working are /press and /sendkey and /face and EVERY command as soon as it is not executed standalone and embedded in a "Sub main... command.../return" structure which yields "The current macro has ended".

Interestingly if I do a /echo $macro at that point it shows me the macro as running but nothing has happened/is happening, no error messages, no output (besides "the current macro has ended"), nada.

I will try an englisch version of XP, but do not think that will fix it, seems to me that some form of "actual trigger" is missing.

Well, I thought about /press and /sendkey being a problem with the keyboard setup but using a us setup did not change anything.
What could probably be done is having a *.ini file where you define which key is needed for what, as the keyboard setup actually differs of course in french and german from the standard us setup.

Greetings

EQ_Nutzer

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Fri Jan 02, 2004 11:22 am

Interesting... I'll see if i can find that problem. Also, I've been meaning to rewrite the hotkey and maybe keyboard stuff, so maybe I can get that working for you..
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

EQ_Nutzer
a lesser mummy
a lesser mummy
Posts: 36
Joined: Tue Dec 23, 2003 2:39 pm

Post by EQ_Nutzer » Fri Jan 02, 2004 2:10 pm

You rock Lax!!!

Is it possible to let me know what you find/change so I can have a learning curve for myself?

I tried a few further things:

1)
First of all I made a fresh and clean German EQ install in a new directory and used patcher to update it to US runnable version (to see if my problems have anything to do with my computer setup as mentioned before (like the german XP, keyboard and such).
I then tested the current MQ2-latest.zip on an US Server and it worked for me like a charm without ANY errors, /face worked, /sendkey and /press all worked and the more complex macros also did function perfectly.

=> My problem really has something to do with the European server settings being not correctly recognized by MQ I think (amybe a missing trigger or such), as the eqgame.exe binaries and offsets are the same (alas one patch behind).

=> By the way anybody wishing to verify my above mentioned problems can do so by making a copy of your EQ folder and setting the language in the patcher under advanced options to German or French => Will allow you to log onto Sebilis or Kael Drakkal, which is actually a fun thing to do ;)

2) As /face is also not working I tried changing the MQ2DInput.cpp to:

Code: Select all

HRESULT (__stdcall *DInputDataTrampoline)(IDirectInputDevice8A* This, DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags); 
HRESULT __stdcall DInputDataDetour(IDirectInputDevice8A* This, DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) 
{ 
   gbInDInput = TRUE; 
   HRESULT hResult = 0; 
   PKEYPRESS pNext = NULL; 
   DWORD didAdd = 0; 
   BOOL bLoop; 
   BOOL bRemoveItem = FALSE; 
   DWORD dwInOutSave = *pdwInOut; 
   static DWORD dwTimeStamp = 0; 
   static DWORD dwSequence   = 0; 
   static DWORD LastGetTick = 0; 


   if (!gbUnload) 
   { 
      if (!gKeyStack) 
      { 
         //DebugSpewAlways("DInputDataDetour::GetTickCount"); 
         DWORD Tick = GetTickCount(); 
         if (Tick<LastGetTick) LastGetTick=Tick; 
         while (Tick>LastGetTick+100) { 
            LastGetTick+=100; 
            if (gDelay>0) gDelay--; 
            if (gDelayZoning>0)   gDelayZoning--; 
            DropTimers(); 
         } 
         bRunNextCommand   = TRUE; 
         DWORD CurTurbo=0; 
         while ((!gKeyStack)   && (bRunNextCommand)) { 
            //DebugSpewAlways("DInputDataDetour::Pulse"); 
            bRunNextCommand   = FALSE; 
            Pulse(); 
            if (!gTurbo) bRunNextCommand = FALSE; 
            if (++CurTurbo>gMaxTurbo) bRunNextCommand =   FALSE; 
         } 
      } 
      if   (EQADDR_DIKEYBOARD && (This   == *EQADDR_DIKEYBOARD)) 
      { 
         DebugSpewAlways("DInputDataDetour::Keyboard pdwInOut = %lu", *pdwInOut); 
          
         if (*pdwInOut >   0) 
         { 
             
            if (gKeyStack) 
            { 
               DebugSpewAlways("DInputDataDetour::KeyStack");    

               pNext =   gKeyStack->pNext; 
               //DebugSpew("Faking   '%s' as   %s...",gDiKeyID[gKeyStack->KeyId].szName,(gKeyStack->Pressed)?"down":"up"); 
               rgdod[didAdd].dwOfs   = gDiKeyID[gKeyStack->KeyId].Id; 
               rgdod[didAdd].dwData = (gKeyStack->Pressed)?0x80:0; 
               rgdod[didAdd].dwSequence = dwSequence; 
               rgdod[didAdd].dwTimeStamp =   dwTimeStamp; 
               rgdod[didAdd].uAppData = 0; 
               (*pdwInOut)--; 
               free(gKeyStack); 
               gKeyStack =   pNext; 
               didAdd++; 

               (*pdwInOut)   = didAdd; 
               gbInDInput = FALSE; 
               return (HRESULT)DI_OK; 
            } 
             

         } 
      }else if (EQADDR_DIMOUSE && (This == *EQADDR_DIMOUSE)) 
      { 

         if (*pdwInOut >   0) 
         { 
            if (gKeyStack) 
            { 
               DebugSpewAlways("DInputDataDetour::KeyStack");    

               pNext =   gKeyStack->pNext; 
               //DebugSpew("Faking   '%s' as   %s...",gDiKeyID[gKeyStack->KeyId].szName,(gKeyStack->Pressed)?"down":"up"); 
               rgdod[didAdd].dwOfs   = gDiKeyID[gKeyStack->KeyId].Id; 
               rgdod[didAdd].dwData = (gKeyStack->Pressed)?0x80:0; 
               rgdod[didAdd].dwSequence = dwSequence; 
               rgdod[didAdd].dwTimeStamp =   dwTimeStamp; 
               rgdod[didAdd].uAppData = 0; 
               (*pdwInOut)--; 
               free(gKeyStack); 
               gKeyStack =   pNext; 
               didAdd++; 

               (*pdwInOut)   = didAdd; 
               gbInDInput = FALSE; 
               return (HRESULT)DI_OK; 
            } 
         } 


         //DebugSpewAlways("DInputDataDetour::Mouse pdwInOut = %lu", *pdwInOut); 
         // If we are waiting for a click-event to be confirmed by EQ, don't 
         // pull any data, just return DI_OK and set the pdwInOut value to 0 
         if (IsMouseWaitingForButton()) 
         { 
            hResult   = DI_OK; 
            *pdwInOut =   0; 
            gbInDInput   = FALSE; 
            return hResult;    
         } 

         if (EQADDR_MOUSE && gMouseData) { 
            *pdwInOut = 0; 
            //            PMOUSEINFO MouseInfo = EQADDR_MOUSE; 
            bLoop = TRUE; 
            while ((bLoop == TRUE) && (gMouseData)) { 
               bRemoveItem = TRUE; 
               if (*pdwInOut < dwInOutSave) { 
                  rgdod[*pdwInOut].dwSequence = dwSequence; 
                  rgdod[*pdwInOut].dwTimeStamp = dwTimeStamp; 
                  rgdod[0].uAppData = 0; 
                  switch (gMouseData->mdType) { 
                case MD_Button0Click: 
                   DebugSpew("Trying to click left button."); 
                   rgdod[*pdwInOut].dwData = 0x80; 
                   rgdod[*pdwInOut].dwOfs = DIMOFS_BUTTON0; 
                   gMouseData->mdType = MD_Button0; 
                   gMouseData->dwData = 0x00; 
                   bRemoveItem = FALSE; 
                   bLoop = FALSE; 
                   (*pdwInOut)++; 
                   break; 
                case MD_Button1Click: 
                   DebugSpew("Trying to click right button."); 
                   rgdod[*pdwInOut].dwData = 0x80; 
                   rgdod[*pdwInOut].dwOfs = DIMOFS_BUTTON1; 
                   gMouseData->mdType = MD_Button1; 
                   gMouseData->dwData = 0x00; 
                   bRemoveItem = FALSE; 
                   bLoop = FALSE; 
                   (*pdwInOut)++; 
                   break; 
                case MD_Button0: 
                   rgdod[*pdwInOut].dwData = gMouseData->dwData; 
                   rgdod[*pdwInOut].dwOfs = DIMOFS_BUTTON0; 
                   (*pdwInOut)++; 
                   break; 
                case MD_Button1: 
                   rgdod[*pdwInOut].dwData = gMouseData->dwData; 
                   rgdod[*pdwInOut].dwOfs = DIMOFS_BUTTON1; 
                   (*pdwInOut)++; 
                   break; 
                case MD_Unknown: 
                   break; 
                  } 
                  if (bRemoveItem==TRUE) { 
                     PMOUSESPOOF pTemp = gMouseData; 
                     gMouseData = gMouseData->pNext; 
                     free(pTemp); 
                  } 
               } else { 
                  bLoop = FALSE; 
               } 
            } 
            gbInDInput = FALSE; 
            return (HRESULT)DI_OK; 
         } 
      } 
   } 
   //DebugSpewAlways("DInputDataDetour::None pdwInOut = %lu", *pdwInOut); 
   // If we didn't add any keyboard data, and we aren't waiting for a click, 
   // and we didn't add any mouse data 
   hResult = DInputDataTrampoline(This, cbObjectData, rgdod, pdwInOut, dwFlags); 
   if (gbUnload) { 
      gbInDInput = FALSE; 
      return hResult; 
   } 
   if (EQADDR_DIKEYBOARD && (This == *EQADDR_DIKEYBOARD) && EQADDR_NOTINCHATMODE && *EQADDR_NOTINCHATMODE && pHotkey) TestHotkeys(&(rgdod[didAdd]),*pdwInOut); 
   gbInDInput = FALSE; 
   return hResult; 
} 
But well it did not help.... /face and /macro still not working for me.

If you need any further information or if I can be of any assistance please let me know, I will gladly help.

Greetings

EQ_Nutzer

EQ_Nutzer
a lesser mummy
a lesser mummy
Posts: 36
Joined: Tue Dec 23, 2003 2:39 pm

Post by EQ_Nutzer » Tue Jan 06, 2004 12:22 pm

I got a bit further (I think) narrowing stuff down over the last days with trying around a bit:

What I did:

- As MQ was working as it should on an US server, I tried the different european servers afterwards:

=> MQ worked on Sebilis (French server) besides /press and /sendkey (with the zip from 12/10/03 which matches the current european patch status)

=> On Kael Drakkal it did not work correctly (as described above with complex macros not working).

Next I patched the German EQ directory with the French patcher and then patched back to German =>

After this the current status changed to the following (on Kael Drakkal/german server):

=> MQ works as before (all commands besides /press and /sendkey).
=> More complex macros now WORK (e.g. Sub Main /echo $macro /return (named e.g. testecho.mac), now gives me A correct OUTPUT which it did not before)

=> After running the macro once it cannot be run again. When I excecute it again, I again receive the message I had before: "The current macro has ended" and nothing happens (/echo $macro showing the macro as running at that point). When I minimize EQ at that point and then maximize it again, the macro (e.g. above mentioned Testecho.mac) is excecuted again without me typing anything (seemed to be in some sort of loop).

=> Another problem is that "Umlauts" like Ä, Ü, Ö, ä. ü, ö are not recognized by MQ (there exist items in german like
"Früheste Velium-Streitaxt" = "Primal Velium Battleaxe) and everything with an (Ä, Ü, Ö, ä. ü, ö) in it cannot be found with /finditem.
=> /echo $equip (primary,name) yields [MQ2] Früheste Velium-Streitaxt (for Primal Velium Battleaxe when equipped) but trying to use that string "Früheste Velium-Streitaxt" for anything in a macro does not)

=> Transforming an "Ä" to an "Ae" (e.g. "früheste" to "frueheste" which is the usual international way to do this does not work either.

As an example: /finditem "Früheste Velium-Streitaxt" yields an error "item could not be found". Items without an "Umlaut" can be found.

=> After zoning once /macro again does not work as does /face.
To get it running at that point again I have to /unload, minimize EQ, close MQ and then start it again and maximize EQ again = /macro and /face again working (once for every macro).

Hope, I managed to explain properly what is happening as it is quite complicated ;)

Seems to me like some sort of loop/ missing trigger /misinterpretation of strings.
Maybe the correct strings can be found within the corresponding text files as the numbers exactly match (like item_id) the US numbers just with the translated german name.

What do the experts think?

Greetings

EQ_Nutzer

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Tue Jan 06, 2004 1:16 pm

Users of French and German servers will probably want to insert this line into MQ2Main.h at the end:

Code: Select all

#define stricmp stricoll
This is the case insensitive string comparison that MQ uses. However, it does not allow for locale-specific comparison. In addition to this, you will want to place this line inside MQ2Start:

Code: Select all

DWORD WINAPI MQ2Start(LPVOID lpParameter)
{
    [color=red]setlocale(LC_COLLATE,"French");[/color]
    PCHAR lpINIPath = (PCHAR)lpParameter;
    strcpy(gszINIPath, lpINIPath);
    CHAR szBuffer[MAX_STRING] = {0};
Change the "French" to "German" for the German server of course...

That "should" solve a bunch of problems, I havent looked at the end macro thing yet but i'll get it fixed. Give the above a try and let me know.
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

EQ_Nutzer
a lesser mummy
a lesser mummy
Posts: 36
Joined: Tue Dec 23, 2003 2:39 pm

Post by EQ_Nutzer » Tue Jan 06, 2004 2:45 pm

Tried your changes by modifying the uncompiled MQ2main.h and MQ2main.cpp as proposed in the post above in the relase zip from 10/12/03:

MQ2MAin.h:

Code: Select all

EQLIB_API VOID ZapVars                             (PSPAWNINFO,PCHAR);
// OTHER SHIT


#define LIGHT_COUNT     13
#define MAX_COMBINES    52
#define MAX_ITEMTYPES   53

#define GAMESTATE_CHARSELECT    1
#define GAMESTATE_SOMETHING     4
#define GAMESTATE_INGAME        5
#define GAMESTATE_PRECHARSELECT 6
#define GAMESTATE_LOGGINGIN     253
#define GAMESTATE_UNLOADING     255

#define XWM_LCLICK				1
#define XWM_RCLICK				3
#define XWM_NEWVALUE	        14

#define MAX_ITEM4xx			416
#define stricmp stricoll
#include "MQ2Auth2.h"
and compiled the package afterwards with the following results:


--------------------Configuration: MQ2Main - Win32 Release--------------------
Compiling...
EQClasses.cpp
MQ2Auth.cpp
MQ2Benchmarks.cpp
MQ2ChatHook.cpp
MQ2CleanUI.cpp
MQ2CommandAPI.cpp
C:\MQtest\MQ2Main\MQ2CommandAPI.cpp(55) : error C2065: 'stricoll' : undeclared identifier
MQ2Commands.cpp
C:\MQtest\MQ2Main\MQ2Commands.cpp(238) : error C2065: 'stricoll' : undeclared identifier
MQ2DetourAPI.cpp
MQ2DInput.cpp
MQ2Globals.cpp
MQ2MacroCommands.cpp
C:\MQtest\MQ2Main\MQ2MacroCommands.cpp(594) : error C2065: 'stricoll' : undeclared identifier
MQ2Main.cpp
EQLIB_EXPORTS
C:\MQtest\MQ2Main\MQ2Main.cpp(54) : error C2065: 'stricoll' : undeclared identifier
C:\MQtest\MQ2Main\MQ2Main.cpp(362) : error C2065: 'setlocale' : undeclared identifier
C:\MQtest\MQ2Main\MQ2Main.cpp(362) : error C2065: 'LC_COLLATE' : undeclared identifier
MQ2Mouse.cpp
C:\MQtest\MQ2Main\MQ2Mouse.cpp(268) : error C2065: 'stricoll' : undeclared identifier
MQ2Parms.cpp
C:\MQtest\MQ2Main\MQ2Parms.cpp(1723) : error C2065: 'stricoll' : undeclared identifier
MQ2ParseAPI.cpp
C:\MQtest\MQ2Main\MQ2ParseAPI.cpp(72) : error C2065: 'stricoll' : undeclared identifier
MQ2PluginHandler.cpp
C:\MQtest\MQ2Main\MQ2PluginHandler.cpp(119) : error C2065: 'stricoll' : undeclared identifier
MQ2Pulse.cpp
MQ2UserVars.cpp
C:\MQtest\MQ2Main\MQ2UserVars.cpp(431) : error C2065: 'stricoll' : undeclared identifier
MQ2Utilities.cpp
C:\MQtest\MQ2Main\MQ2Utilities.cpp(658) : error C2065: 'stricoll' : undeclared identifier
MQ2Windows.cpp
C:\MQtest\MQ2Main\MQ2Windows.cpp(35) : error C2065: 'stricoll' : undeclared identifier
Error executing cl.exe.

MQ2Chat.dll - 13 error(s), 0 warning(s)

Did you mean your instructions otherwise?

Greetings

EQ_Nutzer
Last edited by EQ_Nutzer on Fri Jan 09, 2004 11:48 am, edited 1 time in total.