[code]unit BotMForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
const
BATTLELIST_START = $005F7994;
BATTLELIST_END = $005FD460;
PLAYER_X = $00602B08;
PLAYER_Y = $00602B04;
PLAYER_Z = $00602B00;
PLAYER_LEVEL = $005F7920;
PLAYER_EXP = $00605A04; // zmieniony - Tibia 7.9
STATUS_TEXT = $0074F1D0;
STATUS_TIMER = $0074F1CC;
SPEED_USE = $0074DBD0;
implementation
{$R *.dfm}
function MemoryReadInt(Address: Cardinal): Longword;
var
ProcId: Cardinal;
tProc: THandle;
NBR: Cardinal;
value: Longword;
begin
GetWindowThreadProcessId(FindWindow('TibiaClient', Nil), @ProcId);
tProc:= OpenProcess(PROCESS_ALL_ACCESS, False, ProcId);
ReadProcessMemory(tProc, Ptr($605A04), @value, 4, NBR);
CloseHandle(tProc);
Result := Value;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Tibia: Cardinal;
begin
Tibia := FindWindow('TibiaClient',nil);
SetWindowText(Tibia,PChar('Tibia Yaboo ^^'));
end;
function CalculateLeftExp: string;
var
Tibia: Cardinal;
AExp, ALevel, ANextLevelExp, AExpLeft: Cardinal;begin
{Obliczamy zawartość zmiennych}
Tibia := FindWindow('TibiaClient',nil);
AExp := MemoryReadInt(Tibia,PLAYER_EXP,Len,Rdd);
ALevel := MemoryReadInt(Tibia,PLAYER_LEVEL,Len,Rdd);
ANextLevelExp := ExpToLevel(ALevel+1);
AExpLeft := ANextLevelExp-AExp;
{Formatujemy wyjściowy ciąg tekstowy}
Result := Format('Level: %d. Ilość exp.: %d. Pozostały exp. do levelu %d: %d.',[ALevel,AExp,ALevel+1,AExpLeft]);
end;
end.[/code]
Po napisaniu tego wszystkiego i próbie kompilacji wywala mi taki błąd? Gdzie jest jego źródło?
[code][Error] BotMForm.pas(69): Too many actual parameters
[Error] BotMForm.pas(69): Too many actual parameters
[Error] BotMForm.pas(70): Too many actual parameters
[Error] BotMForm.pas(70): Too many actual parameters
[Error] BotMForm.pas(71): Undeclared identifier: 'ExpToLevel'
[Fatal Error] bot.dpr(5): Could not compile used unit 'BotMForm.pas'
[/code]
Próbowałem na konkurencyjnym serwisie lecz nie uzyskałem odpowiedzi, może dlatego że nie chcieli jej podać a może dlatego że nie potrafili, no ale nvm liczę natomiast że tu znajdzie się ktoś kto będzie umiał powiedzieć w czym rzecz. Ofc ten error z ExpToLevel to wiem o co chodzi ;P Bardziej chciał bym się dowiedzieć co zmienić aby nie było too many actual parameters tylko żeby ktoś nie podał tak jak jeden inteligent z innego forum zamiast ALevel := MemoryReadInt(Tibia,PLAYER_LEVEL,Len,Rdd); to ALevel := MemoryReadInt(PLAYER_LEVEL); i twierdzi że jest dobrze bo się skompilowało xdd