SRL Archive - OSR Help

Variables not getting declared?


shadowcon

2010-05-09 09:11:20

Okay, I'm writing a script for autoroom joining in Garena, but it doesn't work because my variables won't get declared by FindBitmap.
I used Writeln to find where it went wrong and what went wrong.

program GarenaRoomJoiner;

Var
HlSweMid,NHlSweMid,InRoom,Close,w,e,a,s,o,y,q,p:Integer;
notInRoom:Boolean;
Preset:string;

Procedure setPreset;
begin
Preset := 'SwedenMidLevel'; //write in the preset you want to use
end;

Procedure BmpDeclarations;
begin
Close := BitmapFromString(5, 6, 'beNpjYHB2dnYBAyCDgYHB2tpaX' +
'VlZQ0XF3t4eyFVXVV28aPGyZcv09PSA3A0bNuzZs8fLy0tfXx/I/f' +
'L5S3R0tLKysoGBAQMaAAD0tBTf');
InRoom := BitmapFromString(203, 138, 'beNrt0jEBAAAIwKD1L62P' +
'FfwgAzXwpgRDMAQDwRAMwUAwBEMwEAzBEAwEQzAQDMEQDARDMAQDw' +
'RAMwUAwBAPBEAzBQDAEQzAQDMEQDARDMAQDwRAMBEMwBAPBEAzBQD' +
'AEQzAQDMFAMARDMBAMwRAMBEMwBAPBEAzBQDAEA8EQDMFAMARDMBA' +
'MwRAMBEMwEAzBEAwEQzAEA8EQDMFAMARDMMEQDMFAMARDMBAMwRAM' +
'BEMwBAPBEAwEQzAEA8EQDMFAMARDMBAMwUAwBEMwEAzBEAwEQzAEA' +
'8EQDMFAMAQDwRAMwUAwBEMwEAzBEAwEQzC4YPBoAee/HKA=');
NHlSweMid := BitmapFromString(44, 7, 'beNrNzv1PEnEcB3D+tDb/' +
'gmpzZGtWi8FchmDAJlnplB4ENNJMEs1pTk3n0hT0eEYejgMPBA4wv' +
'g93x3HnqevJ3/qhDpab65d+rM9P7+3z/ny/L5UK/OtRqZoGKEi4jv' +
'/WhUiUWVnGR0dYFCD8Y8tiiT+PPJZEAC8cNmQscs3IN9hjCQIE69z' +
'5FikG7uvxgV0TmIxigUcNEUsSYhGALGo0mt8J3O93QClpUW9cve67' +
'0bFrdJYqEGKlIyl9yPKsuB3UTNdORSVXAm99t83lCmgxIEIlsu/yp' +
'mWVOz2qLg2tX+pi5BLp9DA11LLRisGn1Qc118ILVL1eTA4ZvJrudA' +
'hwkIg+fxpSq3dcm2yTAVGtkHDa8hTmv50UJqyx5TgG+wnrne1bXXR' +
'OYKYMa23qxFocySeUU5ccsCX8DOZQy1CkXMNE7wt4hrOzE9HOfkau' +
'ZNxLVVDL2LTbPQOKoXrKZwdvhudSuZfmoG06t+whuvXl1MpOxzj4C' +
'ZPthnxdhLBlsA/SkSISxBoxuetYP3j1IPaORCwR0j46rGz5jfPgy2' +
'dYmAlbtvgfh7Ge/hKWm4eokB4do2xmKkSnl17v6Z6VpUzU5MjMWMO' +
'jQYz9igHyErP4MLYY3x83R8bm6LXVHEHC/AJhmAff2fQ9bbYoQXTB' +
'0BAr759EPP6c+3HKW0CfivFhUzn9gdDPgjNA3W3f6OwOGu97r7SF3' +
'uwBgVMM5IiDDsxETO79jyup3pGylI31uUi7LrEDEM+p/of5Ba+aV/' +
'Q=');
HlSweMid :=BitmapFromString(44, 5, 'beNpjYDA2NtTRUFXV1DPGD' +
'wwNNNWUlJSUVYBATUPXwBBF1khHTVXLAMQw0tfVAqrQgyswMtACal' +
'TTBrL0tdUVFVV0DQ20tbT1DY3A0voMDAyyUsqJE/bv7g1UUdPUUFN' +
'VUVHV0NY1MtBRUVVVVVFWVtUygjjAyKZtw+U7l08eOnHmyKapQeYG' +
'Ojra6qogF2lqaSiopW092GYmp6qjq+USWXX6zAZfMwOQM4AOMLBpW' +
'nHr4cYcaVkl15I5L14eCFCxaZjY7GWkq6qqoKLqBnTD6T07j9z5dK' +
'zXS8YicMKiTQd3bu7I8Za1zNy3bd364xcur69XU9EyMjTQMHGYsWZ' +
'XToCJmIRc3OQdBzoiNBwjl2w/debosZYE+9COff//P+jL8FOTU5+2' +
'/dKU5SvXVXopq+sZGRloGDh0L9566dwaU0njlr5F+54fCFW07Zrd6' +
'W3j1r/xzOmdW4BusJBTyZh7dl+3X86S608u7F6+ftfzq3t9Ilrv3p' +
'yqw6Q35+G1GjMlbX0DDWOHaWt3l0Y7aqipmKdNvbKiPGP24UWlnko' +
'6ofvO7XLzKDx/stdQTMIua+OptcnyYiaLztyo8FDW1gO5oX/J8qYl' +
'xxZU+rTWTFp9aW2gqs/GYyv755/b2O6rqOXJMBgAAH40vfo=');
end;

Procedure SwedenMid;
begin
If(FindBitmap(NHlSweMid,w,e)) then
begin
o := w;
y := e;
end else if(FindBitmap(HlSweMid,w,e)) then
begin
o := w;
y := e;
end;
end;

Procedure declareXY;
begin
//i wantz c++ structs
if(Preset = 'SwedenMidLevel') then
begin
SwedenMid();
end else if(Preset = 'SwedenDota1') then
begin
o:= 73;
y:= 262;
end else
begin
o:= 27;//Enter Room X here
y:= 233;//Enter Room Y here
end;
end;

Procedure checkRoomStatus;
begin
If(FindBitmap(InRoom,a,s)) then
begin
Writeln('Room joined, cancelling...');
notInRoom:=true;
end;
Writeln('Room checked')
end;

Procedure doubleClickOnRoom;
begin
ClickMouse(o,y,true);
ClickMouse(o,y,true);
end;

Procedure closePopup;
begin
FindBitmap(Close, q,p);
ClickMouse(q,p,true);
Writeln('Clicked on ' + IntToStr(q) + ', ' + IntToStr(p));
end;

begin
ClearDebug();
Writeln('Debug Cleared');
notInRoom:=true;
Writeln('notInRoom variable set');
BmpDeclarations();
Writeln('BMPs declared');
setPreset(); //comment out if you dont want to use it
Writeln('Preset set to ' + Preset);
while notInRoom do
begin
CheckRoomStatus();
if notInRoom then
DoubleClickOnRoom();
Writeln('Clicked on '+ IntToStr(o) +', '+ IntToStr(y));
Wait(5100);
Writeln('Waited 5100 ms');
ClosePopup();
Writeln('Attemped to close popup');
Wait(150);
Writeln('Waited 150 ms');
end
end.


Anyone knows what might be wrong?
e: btw i get this output

Debug Cleared
notInRoom variable set
BMPs declared
Preset set to SwedenMidLevel
Room checked
Clicked on 0, 0
Successfully executed

Dgby714

2010-05-09 10:14:38

From: shadowcon
Okay, I'm writing a script for autoroom joining in Garena, but it doesn't work because my variables won't get declared by FindBitmap.
I used Writeln to find where it went wrong and what went wrong.

program GarenaRoomJoiner;

Var
HlSweMid,NHlSweMid,InRoom,Close,w,e,a,s,o,y,q,p:Integer;
notInRoom:Boolean;
Preset:string;

Procedure setPreset;
begin
Preset := 'SwedenMidLevel'; //write in the preset you want to use
end;

Procedure BmpDeclarations;
begin
Close := BitmapFromString(5, 6, 'beNpjYHB2dnYBAyCDgYHB2tpaX' +
'VlZQ0XF3t4eyFVXVV28aPGyZcv09PSA3A0bNuzZs8fLy0tfXx/I/f' +
'L5S3R0tLKysoGBAQMaAAD0tBTf');
InRoom := BitmapFromString(203, 138, 'beNrt0jEBAAAIwKD1L62P' +
'FfwgAzXwpgRDMAQDwRAMwUAwBEMwEAzBEAwEQzAQDMEQDARDMAQDw' +
'RAMwUAwBAPBEAzBQDAEQzAQDMEQDARDMAQDwRAMBEMwBAPBEAzBQD' +
'AEQzAQDMFAMARDMBAMwRAMBEMwBAPBEAzBQDAEA8EQDMFAMARDMBA' +
'MwRAMBEMwEAzBEAwEQzAEA8EQDMFAMARDMMEQDMFAMARDMBAMwRAM' +
'BEMwBAPBEAwEQzAEA8EQDMFAMARDMBAMwUAwBEMwEAzBEAwEQzAEA' +
'8EQDMFAMAQDwRAMwUAwBEMwEAzBEAwEQzC4YPBoAee/HKA=');
NHlSweMid := BitmapFromString(44, 7, 'beNrNzv1PEnEcB3D+tDb/' +
'gmpzZGtWi8FchmDAJlnplB4ENNJMEs1pTk3n0hT0eEYejgMPBA4wv' +
'g93x3HnqevJ3/qhDpab65d+rM9P7+3z/ny/L5UK/OtRqZoGKEi4jv' +
'/WhUiUWVnGR0dYFCD8Y8tiiT+PPJZEAC8cNmQscs3IN9hjCQIE69z' +
'5FikG7uvxgV0TmIxigUcNEUsSYhGALGo0mt8J3O93QClpUW9cve67' +
'0bFrdJYqEGKlIyl9yPKsuB3UTNdORSVXAm99t83lCmgxIEIlsu/yp' +
'mWVOz2qLg2tX+pi5BLp9DA11LLRisGn1Qc118ILVL1eTA4ZvJrudA' +
'hwkIg+fxpSq3dcm2yTAVGtkHDa8hTmv50UJqyx5TgG+wnrne1bXXR' +
'OYKYMa23qxFocySeUU5ccsCX8DOZQy1CkXMNE7wt4hrOzE9HOfkau' +
'ZNxLVVDL2LTbPQOKoXrKZwdvhudSuZfmoG06t+whuvXl1MpOxzj4C' +
'ZPthnxdhLBlsA/SkSISxBoxuetYP3j1IPaORCwR0j46rGz5jfPgy2' +
'dYmAlbtvgfh7Ge/hKWm4eokB4do2xmKkSnl17v6Z6VpUzU5MjMWMO' +
'jQYz9igHyErP4MLYY3x83R8bm6LXVHEHC/AJhmAff2fQ9bbYoQXTB' +
'0BAr759EPP6c+3HKW0CfivFhUzn9gdDPgjNA3W3f6OwOGu97r7SF3' +
'uwBgVMM5IiDDsxETO79jyup3pGylI31uUi7LrEDEM+p/of5Ba+aV/' +
'Q=');
HlSweMid :=BitmapFromString(44, 5, 'beNpjYDA2NtTRUFXV1DPGD' +
'wwNNNWUlJSUVYBATUPXwBBF1khHTVXLAMQw0tfVAqrQgyswMtACal' +
'TTBrL0tdUVFVV0DQ20tbT1DY3A0voMDAyyUsqJE/bv7g1UUdPUUFN' +
'VUVHV0NY1MtBRUVVVVVFWVtUygjjAyKZtw+U7l08eOnHmyKapQeYG' +
'Ojra6qogF2lqaSiopW092GYmp6qjq+USWXX6zAZfMwOQM4AOMLBpW' +
'nHr4cYcaVkl15I5L14eCFCxaZjY7GWkq6qqoKLqBnTD6T07j9z5dK' +
'zXS8YicMKiTQd3bu7I8Za1zNy3bd364xcur69XU9EyMjTQMHGYsWZ' +
'XToCJmIRc3OQdBzoiNBwjl2w/debosZYE+9COff//P+jL8FOTU5+2' +
'/dKU5SvXVXopq+sZGRloGDh0L9566dwaU0njlr5F+54fCFW07Zrd6' +
'W3j1r/xzOmdW4BusJBTyZh7dl+3X86S608u7F6+ftfzq3t9Ilrv3p' +
'yqw6Q35+G1GjMlbX0DDWOHaWt3l0Y7aqipmKdNvbKiPGP24UWlnko' +
'6ofvO7XLzKDx/stdQTMIua+OptcnyYiaLztyo8FDW1gO5oX/J8qYl' +
'xxZU+rTWTFp9aW2gqs/GYyv755/b2O6rqOXJMBgAAH40vfo=');
end;

Procedure SwedenMid;
begin
If(FindBitmap(NHlSweMid,w,e)) then
begin
o := w;
y := e;
end else if(FindBitmap(HlSweMid,w,e)) then
begin
o := w;
y := e;
end;
end;

Procedure declareXY;
begin
//i wantz c++ structs
if(Preset = 'SwedenMidLevel') then
begin
SwedenMid();
end else if(Preset = 'SwedenDota1') then
begin
o:= 73;
y:= 262;
end else
begin
o:= 27;//Enter Room X here
y:= 233;//Enter Room Y here
end;
end;

Procedure checkRoomStatus;
begin
If(FindBitmap(InRoom,a,s)) then
begin
Writeln('Room joined, cancelling...');
notInRoom:=true;
end;
Writeln('Room checked')
end;

Procedure doubleClickOnRoom;
begin
ClickMouse(o,y,true);
ClickMouse(o,y,true);
end;

Procedure closePopup;
begin
FindBitmap(Close, q,p);
ClickMouse(q,p,true);
Writeln('Clicked on ' + IntToStr(q) + ', ' + IntToStr(p));
end;

begin
ClearDebug();
Writeln('Debug Cleared');
notInRoom:=true;
Writeln('notInRoom variable set');
BmpDeclarations();
Writeln('BMPs declared');
setPreset(); //comment out if you dont want to use it
Writeln('Preset set to ' + Preset);
while notInRoom do
begin
CheckRoomStatus();
if notInRoom then
DoubleClickOnRoom();
Writeln('Clicked on '+ IntToStr(o) +', '+ IntToStr(y));
Wait(5100);
Writeln('Waited 5100 ms');
ClosePopup();
Writeln('Attemped to close popup');
Wait(150);
Writeln('Waited 150 ms');
end
end.


Anyone knows what might be wrong?
e: btw i get this output

Debug Cleared
notInRoom variable set
BMPs declared
Preset set to SwedenMidLevel
Room checked
Clicked on 0, 0
Successfully executed


I cleaned it up and made a few modifications and noticed you never call "declareXY;"

....

Edit: Made a better one =)

program GarenaRoomJoiner;
{$DEFINE DEBUG}

const
Preset = 'SwedenMidLevel';

procedure dWriteLn(x: string);
begin
{$IFDEF DEBUG}WriteLn(x);{$ENDIF}
end;

procedure JoinRoom;
var
HlSweMid, NHlSweMid, x, y, I: integer;
begin
if (Preset = 'SwedenMidLevel') then
begin
NHlSweMid := BitmapFromString(44, 7, 'beNrNzv1PEnEcB3D+tDb/' +
'gmpzZGtWi8FchmDAJlnplB4ENNJMEs1pTk3n0hT0eEYejgMPBA4wv' +
'g93x3HnqevJ3/qhDpab65d+rM9P7+3z/ny/L5UK/OtRqZoGKEi4jv' +
'/WhUiUWVnGR0dYFCD8Y8tiiT+PPJZEAC8cNmQscs3IN9hjCQIE69z' +
'5FikG7uvxgV0TmIxigUcNEUsSYhGALGo0mt8J3O93QClpUW9cve67' +
'0bFrdJYqEGKlIyl9yPKsuB3UTNdORSVXAm99t83lCmgxIEIlsu/yp' +
'mWVOz2qLg2tX+pi5BLp9DA11LLRisGn1Qc118ILVL1eTA4ZvJrudA' +
'hwkIg+fxpSq3dcm2yTAVGtkHDa8hTmv50UJqyx5TgG+wnrne1bXXR' +
'OYKYMa23qxFocySeUU5ccsCX8DOZQy1CkXMNE7wt4hrOzE9HOfkau' +
'ZNxLVVDL2LTbPQOKoXrKZwdvhudSuZfmoG06t+whuvXl1MpOxzj4C' +
'ZPthnxdhLBlsA/SkSISxBoxuetYP3j1IPaORCwR0j46rGz5jfPgy2' +
'dYmAlbtvgfh7Ge/hKWm4eokB4do2xmKkSnl17v6Z6VpUzU5MjMWMO' +
'jQYz9igHyErP4MLYY3x83R8bm6LXVHEHC/AJhmAff2fQ9bbYoQXTB' +
'0BAr759EPP6c+3HKW0CfivFhUzn9gdDPgjNA3W3f6OwOGu97r7SF3' +
'uwBgVMM5IiDDsxETO79jyup3pGylI31uUi7LrEDEM+p/of5Ba+aV/' +
'Q=');
if (not (FindBitmap(NHlSweMid, x, y))) then
begin
HlSweMid := BitmapFromString(44, 5, 'beNpjYDA2NtTRUFXV1DPGD' +
'wwNNNWUlJSUVYBATUPXwBBF1khHTVXLAMQw0tfVAqrQgyswMtACal' +
'TTBrL0tdUVFVV0DQ20tbT1DY3A0voMDAyyUsqJE/bv7g1UUdPUUFN' +
'VUVHV0NY1MtBRUVVVVVFWVtUygjjAyKZtw+U7l08eOnHmyKapQeYG' +
'Ojra6qogF2lqaSiopW092GYmp6qjq+USWXX6zAZfMwOQM4AOMLBpW' +
'nHr4cYcaVkl15I5L14eCFCxaZjY7GWkq6qqoKLqBnTD6T07j9z5dK' +
'zXS8YicMKiTQd3bu7I8Za1zNy3bd364xcur69XU9EyMjTQMHGYsWZ' +
'XToCJmIRc3OQdBzoiNBwjl2w/debosZYE+9COff//P+jL8FOTU5+2' +
'/dKU5SvXVXopq+sZGRloGDh0L9566dwaU0njlr5F+54fCFW07Zrd6' +
'W3j1r/xzOmdW4BusJBTyZh7dl+3X86S608u7F6+ftfzq3t9Ilrv3p' +
'yqw6Q35+G1GjMlbX0DDWOHaWt3l0Y7aqipmKdNvbKiPGP24UWlnko' +
'6ofvO7XLzKDx/stdQTMIua+OptcnyYiaLztyo8FDW1gO5oX/J8qYl' +
'xxZU+rTWTFp9aW2gqs/GYyv755/b2O6rqOXJMBgAAH40vfo=');
FindBitmap(HlSweMid, x, y);
FreeBitmap(HlSweMid);
end;
FreeBitmap(NHlSweMid);
end else
begin
if (Preset = 'SwedenDota1') then
begin
x := 73;
y := 262;
end else
begin
x := 27;
y := 233;
end;
end;
dWriteLn('Debug in JoinRoom: Clicking on (' + IntToStr(x) + ', ' + IntToStr(y) + ')');
for I := 0 to 1 do
begin
{$IFDEF Simba}ClickMouse(x, y, VK_Left);{$ELSE}ClickMouse(x, y, True);{$ENDIF}
Wait(50);
end;
end;

function InRoom: boolean;
var
BMPRoom, x, y: integer;
begin
BMPRoom := BitmapFromString(203, 138, 'beNrt0jEBAAAIwKD1L62P' +
'FfwgAzXwpgRDMAQDwRAMwUAwBEMwEAzBEAwEQzAQDMEQDARDMAQDw' +
'RAMwUAwBAPBEAzBQDAEQzAQDMEQDARDMAQDwRAMBEMwBAPBEAzBQD' +
'AEQzAQDMFAMARDMBAMwRAMBEMwBAPBEAzBQDAEA8EQDMFAMARDMBA' +
'MwRAMBEMwEAzBEAwEQzAEA8EQDMFAMARDMMEQDMFAMARDMBAMwRAM' +
'BEMwBAPBEAwEQzAEA8EQDMFAMARDMBAMwUAwBEMwEAzBEAwEQzAEA' +
'8EQDMFAMAQDwRAMwUAwBEMwEAzBEAwEQzC4YPBoAee/HKA=');
if (FindBitmap(BMPRoom, x, y)) then
Result := True
else
Result := False;

FreeBitmap(BMPRoom);
dWriteLn('Debug in InRoom: Result = ' + BoolToStr(Result));
end;

procedure ClosePopup;
var
BMPClose, x, y: integer;
begin
BMPClose := BitmapFromString(5, 6, 'beNpjYHB2dnYBAyCDgYHB2tpaX' +
'VlZQ0XF3t4eyFVXVV28aPGyZcv09PSA3A0bNuzZs8fLy0tfXx/I/f' +
'L5S3R0tLKysoGBAQMaAAD0tBTf');
if (FindBitmap(BMPClose, x, y)) then
begin
{$IFDEF Simba}ClickMouse(x, y, VK_Left);{$ELSE}ClickMouse(x, y, True);{$ENDIF}
dWriteLn('Debug in ClosePopup: Clicked on (' + IntToStr(x) + ', ' + IntToStr(y) + ')');
end;
FreeBitmap(BMPClose);
end;

begin
ClearDebug;
WriteLn('Preset is ' + Preset);
while (not (InRoom)) do
begin
JoinRoom;
Wait(5100);
ClosePopup;
Wait(150);
end;
end.

shadowcon

2010-05-09 10:39:34

Thanks! :)

How could I miss declaring xy xd

Dgby714

2010-05-09 10:41:11

From: shadowcon
Thanks! :)

How could I miss declaring xy xd


I cleaned more and reorganized posted new one in my last post =)