Dear visitor, welcome to AnnoZone Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
Source code |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
void ScanBuildings(DWORD start, DWORD end) { ...... player = 0; if (!ReadProcessMemory(procHandle, (LPCVOID)(ptr+0xc0), &player, 1, &dwRead)) break; ...... if (!player) { if (exportitems) { isl = GetIslandForBuilding(ptr, &iptr); GetIslandName(iptr, buf); sprintf(STATUS, "\n%X, %s, %s (%02X)", ptr, nProds[i], buf, isl); dbout(STATUS); strcpy(STATUS,""); } SetIDPtr(ptr); } |
This post has been edited 1 times, last edit by "Larnak" (Mar 24th 2010, 11:00pm)
This post has been edited 1 times, last edit by "Gaoshou" (Mar 26th 2010, 12:06am)
This post has been edited 3 times, last edit by "moecki" (Mar 27th 2010, 2:45pm)
Source code |
|
1 2 |
if (HandleMouseAction(wParam, lParam, _px, _py) = false) then RetVal := CallNextHookEx(my_hMouseHook, nCode, wParam, lParam ); |
Source code |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
procedure TAnnoPlugin.asmOutCursor; begin case mCode[16] of $57FE15: // Addon begin asm mov eax,[ebx+$B0] end; end; $54DC35: // Version 1.2 begin asm mov eax,[ebp+$B0] end; end; $54C8D5: // Version 1.1 begin asm mov eax,[ebp+$B0] end; end; $53DFC5: // Version 1.0 begin asm mov eax,[ebp+$B0] end; end; end; itemUnderCursor := -1; end; |
This post has been edited 1 times, last edit by "GOOFY" (Mar 29th 2010, 12:16am)
This post has been edited 2 times, last edit by "moecki" (Mar 31st 2010, 9:23am)
Source code |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
void GetTooltipAddress() { //ermittelt die Adresse, in der die Adresse für das in Anno //verwendete Tooltipformat hinterlegt ist //die Prozedur ab GetValueForVersion(30) wird mit zwei Argumenten aufgerufen //Arg. 1 mit Inhalt 0x9B3857 kennzeichnet den zu suchenden Tooltip //Arg. 2 ist ein Pointer zum Speichern der Tooltip-Format-Adresse //zusätzlich muss in ecx der Inhalt der Adresse GetValueForVersion(29) stehen int callAdr = GetValueForVersion(30); int basisAdr = GetValueForVersion(29); DWORD_PTR tmpAdr = 0; DWORD_PTR *tmpPtr = &tmpAdr; _asm { push tmpPtr //Arg.2 push 0x9B3857 //Arg.1 mov eax,basisAdr mov ecx,[eax] //ecx füllen call callAdr lea eax,[ecx+0x14] //die gesuchte Adresse speichern mov tooltipAdr,eax } //Adresse des Original-Tooltips speichern tooltipOriginalAdr = tmpAdr; } |
This post has been edited 1 times, last edit by "moecki" (Apr 1st 2010, 10:44pm)
2 guests