Brotein
02-20-2012, 05:04 AM
Create an on screen Progress Report
Hi guys, this is my first tutorial. I hope it helps you guys improve your scripts!
Intro
This tutorial will cover the basics behind implementing an onscreen Progress Report for your script. Similar to the tutorial that teaches your Paint on SMART, this tutorial will teach you how to place text, and images on your script. I find this method to be simpler, and that’s why I wish to share it with all you.
Getting text on our screen
First we must include paintsmart.simba in our script header, this can be done by adding the following code to our script…
{$i SRL/SRL/misc/paintsmart.simba}
Once we add that, we can start writing our procedure, we’ll call it SmartProggy.
procedure SmartProggy;
begin
end;
Next, we want to declare some variables for our text. Since it’s text, we’ll want to store that in a String object.
var
info,info2 : String;
Now that we have our variables set up for 2 lines of text, we’ll get to filling in those variables.
begin
info:= ‘This is the first line of our text';
info2:= 'This is our second line of text kk';
…….
Now that our strings are filled, we will want to display them on the screen. For this we will use the SMART_DrawText procedure. The procedure looks like this….
procedure SMART_DrawText(x, y: Integer; font, Text: string; Color: TColor);
x, and y of type integer will be our coordinates within the client.
font is obviously the font that will be used. A list of available fonts can be found at the bottom of this tutorial.
text of type string will be where we insert our string variables from earlier.
color of type TColor is the color that the text will take on. A list of some colors can be found at the bottom of the tutorial.
Now our procedure will use this code to print our text on the screen.
……
SMART_DrawText(0,0,LoginChars,info,clTeal);
SMART_DrawText(0,20,LoginChars,info2,clTeal);
This code will display our info text at 0,0 and info2 at 0,20 of the client. I use 20 pixel spacing for the font, so there is a good distance between the lines. LoginChars is the font type I chose, and clTeal is the color I chose.
So if you followed right, your code should like this for the procdure
procedure SmartProggy;
var
info,info2: String;
begin
info:= 'This is the first line of our text';
info2:= 'This is our second line of text kk';
SMART_DrawText(0,0,LoginChars,info,clTeal);
SMART_DrawText(0,20,LoginChars,info2,clTeal);
end;
And here is the full code if you wish to test…
program tester;
{$i srl/srl/misc/smart.simba}
{$i srl/srl.simba}
{$i SRL/SRL/misc/paintsmart.simba}
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Pin := '';
Players[0].Active := True;
end;
procedure SetupLogin;
begin
ClearDebug;
Smart_Server := 114;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LoginPlayer;
end;
procedure SmartProggy;
var
info,info2: String;
begin
info:= 'This is the first line of our text';
info2:= 'This is our second line of text kk';
SMART_DrawText(0,0,LoginChars,info,clTeal);
SMART_DrawText(0,20,LoginChars,info2,clTeal);
end;
begin
SetupSRL;
ActivateClient;
SmartProggy;
repeat
until(false)
end.
Results
http://i40.tinypic.com/qn7law.jpg
Getting images on our screen
Similar to what we did for the text, our procedure will be slightly modified though. First we want to create an integer object in our variables, well call it ourPhoto….
[/COLOR]ourPhoto : Integer;
Now we will fill that integer with a BMP.
ourPhoto := BitmapFromString(20, 18, 'meJz7/x8dvH37eu2a9ZW1bUk5Ne' +
'mFTbUtvWvWb3j37h2GQig4fuJsaV3flp0HlixfY+Seq+HVohU yWTd' +
'yvo5Pm4x5qpi6t7aJ05q16/79+4em8f379xYJbbbJXaJqTiqOpSbx' +
'S01iF5jEzDOOmC5vk2KV2GOX0a9kky6pG9TeNQlN+4cPHyJ6t jmmd' +
'au7FBpFzjGOnmscDSTnGEXNMgidpu9b4Vu9QC+wXM25SNmlbt ny1X' +
'CNv379ApIN3dNU3RrMklabwDQCkWnsQvO4pQbRc7RdyzXsM9V di0w' +
'SVipapz99+gSit7lrcnFli71fpkHYdC3vRiOYRqCbDYJ6dHxb jaPn' +
'A72g4VJhGD4d6CS90BkV9b1Qvb0z5SzT1ZwLxFUdGBgYND2qT OIWm' +
'YD1CogqMzEw6gV2m8QvMgzsAFqtYBKmYB5r6Fn++fNnoN5Xr1/KqZ' +
'nqeDaq2eSIyFto+3dbpqywTloGdICcUYSEqqNhxHRt90p12zT 94In' +
'avk2KlvGavl0nT5+BWL1v7x5l5wrT+CXGUf2B7XvUbcN1nKLC eg5Y' +
'p881jZhhFDPPMHiCaex805i5yiZResF9WsHTZi1YAtH75MkTJ YcCg' +
'8jZBn6FSTOOqVr6Kpu5piy66F+zUMO53DR2sVEM2MtOuVpeta bxiz' +
'WDps5fthai9927tzpOmSZxy7R825QtIvKatlW1bzdyS1BzTDM KmWI' +
'KjGhw6BlGTDOOnW8cM1fdf+LWXfshev/+/RuZUqYfMd8kbom8TUZe' +
'8/aW/iNyxlE6fj1msYtNYubAYm0uOPzn6wb1r9+0FR7LGzduVfFoN' +
'k1YrBvQpmKTrO2Qpe5WahQ7Gx7XcAR0vLp369kzZ758+QLR++ XzZ0' +
'OnRIPYRaax8/SC+vUCOk2jZxnDXIuiN2auUcQ065Ama98CuNUHDhy' +
'Utys0BiVmYMjMM0ZKYCgoZq5h7EK1gCkltb3ICXvDpi2y9gUG 0QtM' +
'4oDenAdOn3OBFgHVgwyMW2gUt1AzeIqRX/WiJat///6NlqcOHjzsF' +
'JCl4lyp5T9BJ2SGVvBU/fCZOsFTNHy7Nd2rbAKKJkxf9PbtG1x5+e' +
'vXLwcPHpw2fVZpRXN5TVduUU1H14SVK9eAwgecFOEAAHYnQt8 =');
Next we will paint this bmp on our client use the procedure SMART_DrawBitmap…
procedure SMART_DrawBitmap(Clear: Boolean; Bitmap: Integer; Placement: TPoint);
Clear of type Boolean will clear the canvas before the image is drawn if set to true
Bitmap of type Integer will be the picture we wish to display
Placement of type TPoint will be the coordinates of the client we wish to print to(upper left hand)
SMART_DrawBitmap(true, proggy,Point(5,5));
This will clear the canvas, and display our photo at pixel 5,5 of our client.
Before we end the procedure we want to add FreeBitmap(ourPhoto);
So our procedure should now look like
procedure SmartProggy;
var
ourPhoto : Integer;
begin
ourPhoto := BitmapFromString(20, 18, 'meJz7/x8dvH37eu2a9ZW1bUk5Ne' +
'mFTbUtvWvWb3j37h2GQig4fuJsaV3flp0HlixfY+Seq+HVohU yWTd' +
'yvo5Pm4x5qpi6t7aJ05q16/79+4em8f379xYJbbbJXaJqTiqOpSbx' +
'S01iF5jEzDOOmC5vk2KV2GOX0a9kky6pG9TeNQlN+4cPHyJ6t jmmd' +
'au7FBpFzjGOnmscDSTnGEXNMgidpu9b4Vu9QC+wXM25SNmlbt ny1X' +
'CNv379ApIN3dNU3RrMklabwDQCkWnsQvO4pQbRc7RdyzXsM9V di0w' +
'SVipapz99+gSit7lrcnFli71fpkHYdC3vRiOYRqCbDYJ6dHxb jaPn' +
'A72g4VJhGD4d6CS90BkV9b1Qvb0z5SzT1ZwLxFUdGBgYND2qT OIWm' +
'YD1CogqMzEw6gV2m8QvMgzsAFqtYBKmYB5r6Fn++fNnoN5Xr1/KqZ' +
'nqeDaq2eSIyFto+3dbpqywTloGdICcUYSEqqNhxHRt90p12zT 94In' +
'avk2KlvGavl0nT5+BWL1v7x5l5wrT+CXGUf2B7XvUbcN1nKLC eg5Y' +
'p881jZhhFDPPMHiCaex805i5yiZResF9WsHTZi1YAtH75MkTJ YcCg' +
'8jZBn6FSTOOqVr6Kpu5piy66F+zUMO53DR2sVEM2MtOuVpeta bxiz' +
'WDps5fthai9927tzpOmSZxy7R825QtIvKatlW1bzdyS1BzTDM KmWI' +
'KjGhw6BlGTDOOnW8cM1fdf+LWXfshev/+/RuZUqYfMd8kbom8TUZe' +
'8/aW/iNyxlE6fj1msYtNYubAYm0uOPzn6wb1r9+0FR7LGzduVfFoN' +
'k1YrBvQpmKTrO2Qpe5WahQ7Gx7XcAR0vLp369kzZ758+QLR++ XzZ0' +
'OnRIPYRaax8/SC+vUCOk2jZxnDXIuiN2auUcQ065Ama98CuNUHDhy' +
'Utys0BiVmYMjMM0ZKYCgoZq5h7EK1gCkltb3ICXvDpi2y9gUG 0QtM' +
'4oDenAdOn3OBFgHVgwyMW2gUt1AzeIqRX/WiJat///6NlqcOHjzsF' +
'JCl4lyp5T9BJ2SGVvBU/fCZOsFTNHy7Nd2rbAKKJkxf9PbtG1x5+e' +
'vXLwcPHpw2fVZpRXN5TVduUU1H14SVK9eAwgecFOEAAHYnQt8 =');
SMART_DrawBitmap(true, ourPhoto,Point(5,5));
FreeBitmap(ourPhoto);
end;
And the result on screen should be….
http://i41.tinypic.com/mizdf.jpg
Creating text and photo for a progress report
By combining the techniques from before, we can create a progress report that is visually pleasing, with minimum code(with the exception of the bitmap ofcourse).
program tester;
{$i srl/srl/misc/smart.simba}
{$i srl/srl.simba}
{$i SRL/SRL/misc/paintsmart.simba}
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Pin := '';
Players[0].Active := True;
end;
procedure SetupLogin;
begin
ClearDebug;
Smart_Server := 114;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LoginPlayer;
end;
procedure SmartProggy;
var
info,info2: String;
ourPhoto : Integer;
begin
info:= 'This is the first line of our text';
info2:= 'This is our second line of text kk';
ourPhoto := BitmapFromString(508, 130, 'meJztnQtwVeW1x/FWZVrtoIXS' +
'UcHLgJVSkKk6TUdltLcqj7EVuSO9XHt1eil2WkQuPqrWsT6uU AShv' +
'lAe8ioKJpFH0wCSBrEUITaIMZADBgIhwUBuwkseIhDI/Z8sXH58+5' +
'x91j6PvXdy1p7fZE722fvb61v77P/6vm/vvb7uva7qriiKomQNtww' +
'ZpiiKorR5WPPv/f2ziqIoShvG0vw//nmJoiiK0iaJqfm5/9ymKIqi' +
'tDFU8xVFUbIH1XxFUZTsQTVfURQle1DNVxRFyR5U8xOSV7qto Ky6q' +
'KI2FZaW73x7fRWKCrw6iqJkM6r57kDt11c37D5w5PAXJ1Jh/9Hj2x' +
's+A5G6fWBd1Z4Vm2oWfrg98AoqipJVqOa7sHjD9sr6g6dPN6d 9QZm' +
'fHTuBEICAsry8JvCaKoqSJajmu4DWeNOpDCj+2Qu6AGU1jar8 iqL4' +
'gGp+PPJKt0Xq9pnKnCIJlR8hpqCsOvCKK4rShlHNj8fb66u2N 3zGm' +
'lxcuS8trK46sKH2UGXD0YZDxyzZR58CR1TZVxQlc6jmxyNDmm 8B8T' +
'92oslU/pp9h1X2ldbOyCcn3DnifgKSYn418Y1C/gq8+pfVWLlg3Sf' +
'YrO+1PwRQodnFH7qX/7vnZlxz0wBsjL8oMN63KMr5bZYTKs1/64Ot' +
'OPUAHwL3jKX5K7bszRxVjZ+r7CttCYh5O2MxJQVqzOs7f6cLy TuUx' +
'9j8HGiRi+wjoJiFX3DhN01hd/82WMIgcSHRfHhg7qqy2UUlYFZBMc' +
'C/wSq/n5oPSqoPnmw6xYerrD8YYN0VJUWg2BBbFl4IC13OaNWbggx' +
'9xno0y9s5Ft7FvWSOHS7fosEfuEPCI3Fh0Hz2xqo3Xy6aMBos nvZ8' +
'/rxZcMsb/6gI6hxZmr8ssjfTrK46wLJ//GRTUUVtUHVXlBShsRpTe' +
'KH2uNLN9jwJNS40bvnjW26lQ7pjlswbQK+gVKzwaMybB3V+G6 A3Qi' +
'VxYdB8nCnUHX5YNPxHucN6L7itC/7OHzkIa2bNmRdUNLQ0v7Ci0Qd' +
'M2W84dExf2lJaL7iuoepmu93ZyKcteTNsgL0gRPGE2owaUCps zINI' +
'+IBvOXyg74BvzY2DdUV4JC5wzUdlKfxNHXbjQwOvmTGkLxxCj L+z3' +
'8pHhiAawif+n6ZANB9E9hyhI546fXpd1R7/K64o6cIaWrdG8nkzXk' +
'n/8mYQIqilVWbfa39ofsuHgOab3yJeQFu42Y9vnUX5Q9gkLnDN5w h' +
'4f07Xb3+9fc7lHcf170EO+dPA3uwT/3tAluYXbGzwDX6YHx98rrWi' +
'pBezqR+zkZ/7peZDf6i5y013tNVxGVoFsqpPWVic26JgMTU/t0VsW' +
'+4UnMPfBkLYJC5wzY8GuPx8dHkQ/q6+5MJeHb/Rr1sHDoXwCTpB8A' +
'mc5nOYtjR/UXmDb6yuOkAHPdl0St/PVVo1VlOf5d3chkfd6V+znW+' +
'VZo7t0Lfm2I61Ly5h/jbAsZ2wSVywmo86vr5sDSIgDXCNyvnKJwiF' +
'WAOHALhr8bTnEz6ym14C1Hzw2bETdFzY4GetFSXtOJv6lsKYQ m0+e' +
'MPPNPK1b96lpQd7Whr25/BQjzWYYw4EBXJbMIQSF6zmozuDTg0qPr' +
'X/pfAJKn57n+/26X0FfALuvrYb1pBPEAcRK/0c4bE0P6+sXsKG2kO' +
'RPUcY/ItGOzRcuLtZDh0X4u9blSXklUZTz63YVFNUUbsysmtd1R5A' +
'+aLRJfHzpjMswTliAsxTHR5LwonV1IcOWw+omxuw4POzmvQkJ 9bT2' +
'1tTFhY7N0ZYoTLjfRtU3UMocQFqPk4QRUDUFyEPdQcPDbwGP4 mbL+' +
'sAEBAHf68zh0Js6WdTPznN3/PZF82xloZDx1Zs2SvX/MKKRtrx6PG' +
'TEFJhDn+n6tKOLM4M1kC65a6AyGOvSN2+yvqDNfsOIxId/uIEbGs6' +
'dRqY+aKxTVlN498/qZOXLwdlouT11Q1kCaWnJvAvjgsjl5bv5O3hD' +
'QpPLmCDJExFydg3niXOdNnwIQxLaAm/iyfZ3rmXp5+3vPzUT6XZ1I' +
'95Z5af1WG5JoXPPfO61jntvnxQJ9fxwle7lpF/DiK8vflt2n+KEsI' +
'pcQFqPk7fa/OXzB85aOCVF1Pd8Rmeua5nT0RAOARr6C+8MWNIX3w7' +
'Z2Ghb6P6luYv2FAvwZlFx1zQ5heWAyCozS1JeKAewhz+pLrYG CIAS' +
'KWxo5XegUIJpBv66eIBihcoDWVC5E+dPi1PKw3jUT5EGMEl9X YvlB' +
'Omoi4ok9wSb4G7cApIcmE5hycXsAGZagYLF59AA7ExfIJ9XSz hdNk' +
'UZPEBZyehJThZZLxke2svGCZxJgTca/ly/8S70iEplFeh/62DnJdw' +
'9MmW4g8hPtQyp3QKrOH4DGnCSlMPIfsUR/CVKfh0jly+9ZNwSlyAm' +
'o9ezOJpz4+/s9/YGy8BqDt6Pfh3VE5f8glc8as+nSggohMEn2B734' +
'Z3LM2fV7pbArfz6UrEZQV1NZUQbXivRaEQrzn8cWhwKtFuMDJ mEw5' +
'XDS5wXOawIWEh7guqj3Zv0spPao8S3KXeucBqr5ZD2VwsIbWH tPKt' +
'FrklXjNyJ+dzBLuEd/zhT5zW5DKEu/vHHTPhQDwFdslIgPVEvK/iH' +
'df920wTTokLSvOp1zP74RELbutCI12Aqv/7H3dH9wfOQWTEGvx7f0' +
'5Xckj+vFmI9f6cxBQ1H41MKgdNZbOckuqDXovKXA5/SAvbyVA70L3' +
'DgjAE80BV4+fldYfpM4inzFB+qKXXhiJch728qn3SCw4Uz0L4 BI5K' +
'mBA78CWhLCOAJu1P9BYzMV7XVgmtxAWo+ejFoC+Dyg69qhPAB 4RCe' +
'AB+uLlHJzgETsAHrIcrFg3/ETamd9b8OWWW5s/5oE6CU/NzWy40fr' +
's2sueIsCi+jcsLS6sLMa9orKcbygxndYO2m7WG6KFR7YwyKBa 7rK4' +
'6ULCxwd3sBRvqiyv3YWOnJTiW+2iSCZqsUDBngxfCC/tXbNmLA1mH' +
'xkp8ZSkzhycXDn9xxlSEGKclCD0xfYK94FVUFn03yxJ4CcG9d v8xa' +
'/uElpjGS7a39sLPzGWEB418VCSJ8sk/6H3IT58SWokLSvOj7ynMmY' +
'dgh6g38MqL0cdB9RHvAHyCXk/Xiy6495abR99x+5hf/AZ/4RZsHOB' +
'4/sySOgkxNX9lZBeP8GADYVFOzfdkAF3UUGl0GZybLf3yHrH5XBD k' +
'YveBI9ZBUSAKEdpsAT20bmrDD5KXi2GJs6NR2XAU6io5LmrHM ojPc' +
'lej+pYlCIIIPU6fSIoFMJiVH0eRWG4eRe5qDlvOKjBWI1/oTP5Rqe' +
'Z7IrQSF5TmI5ZNf/YpOAHVpziI2JdzeUesQcXp3/+6K5r7enZRyWv' +
'zlzzx9NhJE6f4NrCT69D8GevqJMTUfKgcj9BCuIRFOTXfkwHY 3WWz' +
'QofmO2UWMoKWs9BaF1AIK1JzS1vUXfadlqBSaNV7PS5c3dySN EPua' +
'kswnYKPikgKNJm+ro5esnM/I9Z5oUXuf/M9vphN/cUbtpu/Z/nvED' +
'Z8WfcTmgBKTmglLhDN55EuurUxrn8P+kC9HoQ/em0BDoE3KOM0HAj' +
'8fBXX0vyp738qgSW3rKaRHnWDvpmNZ3T5vRblyQbaCw1s980K NjaY' +
'mr+83JZZaAIaeEJTE4KiSIFZl+K1GCGzVsUhlUkfF35ATRNuF lPzL' +
'ZHEUtX4edI+QaNacur5vHCIkR/CbOo775jjd2gm60bvz2ux+En7dv' +
'W1dsIscYFoPupFI11T+1/KTBrcjdyCCNi9c9c+va+IOqQl6oUhr+a' +
'UNbskcEeennOjJ9jNqxjXmteiPNmAvSB0CTdbVP6V5heUVVtD OpIS' +
'koDbos0tgzzOZNFOmc2QJRZQY0vz0aCN1O0zn5+J7DnigyV8X niB0' +
'4T7wle0izOkwrFmh0VeFy4TvxNt5MsJs8QFovn0btr4O/v9/sfdEQ' +
'FNtxDoCl3XsyccMmWh32l2GEvzX169S4JTqM2lvO6wsBzgfCZ Qstf' +
'SikbJZqwt9CylJbNyI73CGtLcckvXfJkITVO0JE2ZzaglJk7N t4a+' +
'IZL+WOLUfJgxbe2nwt35N2Ml4jYb+UkUiJPifL5LcSHMEue/5vO7a' +
'TTGhb90XwNBEJhuufvabmMeeJj6Pv6fNUvzX/h7rQQXzd9Qe0hYCE' +
'Cf2lmCfPeE5JXVc7Fmlx+tyjQeJSbmfQpzOrAVm2rMMOfJXSl iab7' +
'VKoZ++maJeV6ScAXfDjATcVvVQWW9ukXzu3oi5BLnv+ZTr2fl I0NQ' +
'ZX4fYeCVF9PjTACficHf6zz6jttfmx/jTW0fsDR/8ns1EnB5QvZN6' +
'BHHmSV1whIIa1zXkw0SYmoLTE3jIVzgyMiPxMPbkbqzugD+WE JYmg' +
'+15BE5WOj13KXlvCAQm3dY5DawbyHU1NS3GvlT1uySlIPNqKe j8zh' +
'4JeQS57/mz11VRkmHKNHcnwb2RhyEZ1B9OOHmHlGfPDTwGoCeEbo/' +
'QTX1Lc2fsHKnn5TXHeaLNBM2LNhgaz4OhKadP7VDL4brRYlDi ypqz' +
'UY+zPPT23yjAZpvtYrxlZ+W8HmBN6zHvbyWQFqddHXYJ9YbHE pCQi' +
'5xPmu+mXQInR3EwRlD+k4ddiO9j0B/8e+4/j3wbc7lHdufd27/Wwf' +
'NKigOXPPHF1f7BlpZlCEHzTPz7moaD+HU/KUVjX7WkSUFNS0oqy6r' +
'+eoZRcQ7Py0xjYG3zRfoILw+W2JqvnVvHV8JCzGb+uurG7g6c DV+W' +
'pISXluzi36B6O/oM/meCL/E+az50VQS+fmo8t3XduNhLrrNgb/8OB' +
'NlnOt+0XldL7qg77U/DGR4x9L8sUU7fMN8kDJDNswr3W0KPg7kafe' +
'J7+6EkWh80vgVVBr/YqWnEjjzW6Run5XmwlM5K7bshQ1U2p7Pviip' +
'PvjKP2o9VcfUfHOICeu9njj4hDos+Au3eKqLeV7oGVrzVjLqm MTJN' +
'RPByavD3Uxt5Hsl/BLnp+bzvJCoe3SMq0e0s0MDXDzkFe37tHzGt/' +
'SqGoj2ffydMCXXofnPrNjhD+hWk3zRwxKp2IBrHxevOWZCkjh t7ae' +
'W5kMN5MVC2ZyJOqkZmVdWLy+HR9HREGVpgrXyEnC4mJZ4rZE5 jmGO' +
'hLy4ulZYAlwaL402DcvITxn7IbflkVFrgk5hOc5nCeAooRmoN Z+Xl' +
'ZFdPl93rZpWIXF+aj7PC1ky8np0fKJ5RHt0AnR3g2IijXr169 aBXE' +
'Gg74Puks/DO5bmP7l8uz+wEkJ/krZh3N+iV71LekbrQVB0+YUlOx8' +
'mtBZsICzqtTW7nLuj+slZgvaw+QBSc8vjLsKi+AlSFMLRBxou r4gZ' +
'emAGyjF9j6JwRiRFzfmgjk8Q/Q7NOx34kLRvUUfhvvxgVSqJNLOTV' +
'iFxfmo+9Xqi08EMi84FBrfgLz6DaT+Pdn8omzTFPvylV9W+/fX2gQ' +
'zvWHr7xLIqH2Ado9dqkrbBbHOiKCgSsCSRFyiJsFjzLsD+o8c jdfv' +
'QEymradx94Ij56hk2ExbobKUL95206quhIRq1Xlq+c3l5NNex Weay' +
'yF5JaeZbA7wg+nj1Ng4Nb6zYVANjYJIZWCN7jkiKmlliaz4wb 3bAV' +
'KFV5jOxMGxs0Q5PBiBsaSPfK61C4vzU/LmryhZPe37GkL40a8zYGy' +
'+hka5ocrnLOnS/6DwAJyAmUmbRnMs7Yg0c0vk7Xajv42dT39Lbxwq' +
'rMg0/p4cmIiV4TM4G833MyvqDNM8RgBChWCgkFMBshUKOJMU+/c4O' +
'llOrBZhXug0Sx7KPQwhN5fSevOAokh1Z0KyXj3JbxsA5ox0Ml hQYU' +
'/Pnle72dNZwLEsk4XkzT+b0dXUJS8M2Ts1HLONyhDUCE1buNCOF 1z' +
'NivjqhCGkVEueb5tNIFxwCb4zK6QtQZXB7n++i78OphwBFQ/R96DY' +
'HHBJIU9/S20cKtmUUU3ZYUZOwAX1zvh0Q77Fq6L95pxKHlpTM4hbz' +
'NXzIvlkmNpaUaWZj8FRH2jjegLPZMJZYElPzp639VGJMzKx6j PkUE' +
'OJUwtJwUKfmWzWSlENQZMTvAR6TbM9HR9BMYr7FLKe1SJwPmk/ZJN' +
'DrmfhG4Zhf/IZiH/kEUBzESjgEfohmlr6sw6/6dMK/lIwIwCHwWDT' +
'pXMtTrIHMmfLgkq0ZYsrZqXXMJnQSNvDwi/u7kwgHXOyKLXslJfOz' +
'HDGTzOee/ZAJ1EZSJudspAV+EHrMvY6m0iKseDWDlseXVkmMYZGMm' +
'Y7GfN4S1sqrZmk++mjmK1rPFu2Q2IbN5OcXcCM/3ilWYtK6JC5Dms' +
'9OQG/l9WVrAELYTx+dfMOTFRfeN6n/rYMQ++i+Bg1w0bgWuQK9HoD' +
'IiDhIjzP16X3FnSPu/91zM2bNmTeroBilUQK6jHrG0tsxiyvTy8R3' +
'dy4qP2vqpaZTp60OdRI2cMvZvW9uab6kZBaEeKlXiipq+QYoN paUa' +
'Ymt173i5Yr3aklMzZdY8so/amNKdNJn0KVA8xUtoaPo9/BY4TbJlt' +
'xagOu0kZ+Q1itxadf8M34oKoHlcxYWogro7IB7b7m530uld32 yf3z' +
'xzqff2QHPXDzogc7f6UL9GtQa3oB/yCH4C3fBIT279L7mpgHwJP6i' +
'hHG/HU5Mf/YpeBhHwbEypPzW1TpqYaWEeaW7l0X2uoDWsplVmBdca' +
'M6hmCRs4MLdk2KZmg+rPJUcL6euOTUMNpaUiUObThDuxXe6Xd r53O' +
'OQlGmZIfc2fsy0saSdLymTn5N0ar5VFLYU/iaFUPND06klpLVLXLo' +
'0n0Me+QEegM2zHx5B9o+/s1/Pq3r+oHQPnICqjXxywjPvrB1UfLDr' +
'U2suu+gGdG26d+4KruvZk4AfenUaenW3/+531Sj8xTbfan8ZNkA5/' +
'3HldfdcPRCgD0VuieapLv4w7THR0tuR+VskxNRzlwWXGK5udK Vjtq' +
'ySsCEJzV9a0Sgpmcd2YqZnp9u43BAtqT4oKXPp2VOEwHjJXi+ 8V0P' +
'bQ9id84NQGmRPtbPM8HTG+TzGvHuClWb0kVctZsfBekVLaKEE fi8g' +
'qHRq7dqdYxGIGS60GYlLi+bDFbAqNz8ffiiaMBp+oCSio3L6j r7jd' +
'ny++9pu8AMcgqpdcOE3Ubvo+NWkPHSC8BkrufpDfvIkID8ArA fYgH' +
'zCd0bgFvIMzSw2aeKUKQuLyS3pOsWW3v46b4sEieZDH9AsxEV ds++' +
'we/aqJGyQaz4/ZlNY0SgpmR8dx45W4RB8NPLNRxOxsaRM6+YpBEfo' +
'Z+5QNBw6Zk5cDsFH1fhbLK++vythaYWxNP+xwiqJJRwK0VOzZ gSAY' +
'WbLHJVNWNqkVTtdNN+a0Fbo5ISMWVxJHguwkQ+Rf+LpsaAyUg 7Cpv' +
'ltSeJS1HzEnbmryhD1Vr35MvwwddiNM4b0pfeLaXpHIufyjj8 Yfi8' +
'6PujpULwjh6DiToeM+Pnz+OD0yblf63V7n+/CIfgLyCfsGXLLq39Z' +
'HX1ENh1n2dLbEW9tlsCSi2sW17sFRL6sphGtNeH0E0nYINR88/E/7' +
'CIpGd1/1tKTTaeoIlA5qL31LDo28+our342845C9mEAjAFo4ZuCj8' +
'aw19J4mfjuTsm+2Ix3gRPILYBeWzB98uhft8lLi3eDwMw4jTJ xUoQ' +
'ek1Q/2EwL7c87F5cwZD9Ugt/2JC4VzadnkxD7EPjgiqn9L11wWxf8' +
'JYfwg6k0t/tPH50MD6D61IWBZ/Av6ms5BN549L7pzjgI4BA4lqYSJ' +
'p+gi2S5BT8Y+CQtrX1Lb385PyIhsueIRHIzZ4PQAPOlfkiHsH Y82k' +
'wLvbWK3a0XfrGZsEBTn2l56C9bJTuOzN9ipRdAGHK+dPaH5ds lpcX' +
'U/JkldcJaWE+c0nu4VmkLNtRLihpfXE3bx9P83LOf24TlQiNdPEl n' +
'IfB0au3atYOmhaqR3yYlLhXNp5Sh0TTRw27808Bo4lAAV9AsM JRKi' +
'HJNoCJDZ+Zf/+L6iwc9wCNXcMj537/B6ZD/Gf4KBUHyCQdBbEnPuM' +
'IV+AAnW6GQfELzCKcu+5be3vNmREJGNT+9BpiD3k8sqxJWcMa XLw3' +
'FW7CBsCgcNMXdzaeeUimKbwpDqzkMQcmFu/86bwu7PeYiL2rc33bQ' +
'Li6abz63CWsfXLJVWLh73QNPpwapD5vmt0mJS1rzEQFnFRSjs wNXU' +
'OAz53+hOEg+GXjlxVdfcmH0Bsfwe195d11eWT2cA28AxDV2CC CHOD' +
's+5A0UAg8gCMIb7BCnT9ADSktT39Lbu+ZVSMio5qfXAHNIf8W WvcI' +
'KgmlrP3W2z0l/Jr9XIy+Hn5CEvplKKy9hxFubzQwDvEC+Hiuskpdj' +
'6h7nWMNneQlmIZZP4C55IfREvbvmA5xcM6B4stNk9KJKKsRlV nrfC' +
'Jvmt1WJS1rzaS6Y0XfcDgspdxx9oHkBKI8cPX1K9Or4je4XnY e//W' +
'8dBIf82/vb6O6Gyw0OcgUlpqA5Zeh1NoJ6QAT8MCqnLztk4huFqY/' +
'qW3o7bO4mCRnV/PQaYD77B30TVpAYvmDza2t2QW9xOADZwb9Y6akE' +
'0nlSG1ZarPRUDqBHZGED7MHlNmnVTk+7A37F2Mql/MyKHUm4ZVlkL' +
'3yCMr36BOCIEs23ntt89K/bvFaZ4FGpwNOpQWBpPD88mt9WJS7Fdv' +
'69t9zMKUPP5AjtccYVDPuE3j4487Rq5649u/TGB7rHTf8y8ACBXVA' +
'Czy9DrsAa/As/8Jtu5A38Rcfnd8/NyEQ7f+icjRIyqvlpN8AcGZ6y' +
'ZpewjmmBZZaGFAK0xDTGmjMFkuizJZxWwl3zc8+e8RAnPYlj8 YOmg' +
'edMbnk4MzqYT5pPsh+48rdViUtF82cXlYx54GHKJkE+4SBION 1C1a' +
'RcQ/EgP5ArCPIDraEDUVZSeq+ZfYKzk8ZHdyy9/ffZGyVkVPPTboD' +
'1EMg9b0aE1UwRHMi6b2hagijgjxmMqfnWZIK/ztvipyV/EGs+mvqm' +
'ndjR67H4pxJsIx96iIZxbn4+qT3Y+3+v4C+u5WBlv61KXCr3c BFoc' +
'HT45KGB19AM79wJIlz8YwVH8pX5L8c7gnNQI/bx1DPsCnqQicJful' +
'5bs/R28OvlEvhp7UxofiYMsPL0CquZIuYcATEtWbCh3h9LCE47wHO' +
'g85NI8Kefljy+tEqo+blnv6IFTyZ3oMBzJp//rfaLpz0PkW8yFpL9' +
'wJv6bVLiUnw+n31CLyZQBlGYSgklftWnE9/XdoedZkJf0RRj1ixjg' +
'KIejvvE02PhCiKNc81YevuzGR9LyKjmZ8IAK3nXC3+vFdY0af jJH+' +
'u+ofnKAJbRiyozbQljab41Wg6DfbPksUIPmm/NouXJzoQZ89LFuV/' +
'rZeJcc95VHaw1CLidNt4K2cff8Mh+m5G41N/DpVeSyS2IRON+O3z2' +
'wyMYc8qASYO7AUoxR59NyJMWVHcLmi8eB6IBQH5DLb2JKSy9H TStT' +
'EJGNT9DBpgJ55tb5swSVjYJJn+ZWwDXtTNvj/koEUwaOmdj5iwx4c' +
'wDnLTNnJ2quSXDsz+W4EByzbfyV6P35PUomc6ZDAFvOlp91yf 7Qad' +
'FpRfeN0my5l/OuRRq//n7/9l+cIfANT+3zUlcevPtzF1VBsOiFJVQ' +
'ojlEKMpHwS4qmjB65SNDAPkKjmLgFvabBcIrnEAlTH/2KQA/WDmIM' +
'ppvZ8DUjyRkVPMzZ4B5QxDLpFU7hfX1BCcWwIJ6Oc2A/pj1rWr8/J' +
'43I6kcke4dJNzMqfm5Zwegw180PVywNcXqj8zfknAbHEWu+eZ NECx' +
'yCznnf0Yb+SzmF753iMXcWmNt0+HlfKykLaH56AKEQfOJNiNx 6c2r' +
'SflFOf8zukXkJXYUvDRnYSElo8ufNwvOYf+A+SMHcdAksAawH 7AX4' +
'h1lLuVcoxlKN23p7S2vfiQho5qfUQMs2V9U3iCssoTBr5eb+Y pdbh' +
'paOWogtg8u2ZrcQe+aV4GoIdk9puZbyW2aWx4oSqX6OErCLTk hf0L' +
'Nt8zDeRcaw/NnZTpnMvScxRxcPOiBhGtI8Gk9NP/8b7UPj+YTbUDi' +
'/JknyzSbPpCvyEWUpy43Px/AS5Stjj2AbymhNL16lum0+Yyltz+Zs' +
'kFCRjU/0wZYsk9J2oUVdwGFcMPy1OnTCZ8SQfPVnM+3ueWVsZ/N+N' +
'jTQZ9YVoV40dySsj7hxpw+zkrIT/0OM7ME3Dvirc2eLMH2NPUAjiL' +
'xlVDzzRu4wmoS5Fsf0qmhrU7DNdR6Z4V3WWNqfqga+QlpRRLn 53y4' +
'TufQv1RNchGBAEcf/BR5i7zSbWY76qaXP5RAkosLKi1vNSZhQ4oGY' +
'C+ebYRV7vGlVcLqW2BHjkHNLTdtEw4moMqIdGjtIzSYYgsBzy urH7' +
'5gs9eDjl5UmXAX1nwzHpElkP2ymkYrfw5ikMQnsNbs3eAoCXf hF2P' +
'dNd9q5OMowjPCc7L4kDM5OixviDmUPOEagM+0vnVpvknIJc5/zXdx' +
'lPkhEJ23MN9w97TEnDHWTxtSMQDNbDR3rbRpaBxCch8r3DZ0z sZ+L' +
'5W6gA2w2bLIXmpmmya5hCEILI6LyiIooGkNIL/mYLVpCQp3zhgys6' +
'QO660OAhZ3awmeM4VC0uIN0YTMbAloOHTsbH9EF1RwddUBHNc 57wl' +
'85UwZiq8SWsL5dtyz31iN/IQnhRgw9SM6KS5zJacR6Pb537+BlZxG' +
'6d3X0IAP1mB9u3btfL7eM01IJC48mh9ClpfXmM8xChdcjGnsN SdhQ' +
'+oGUBZ6NAX5Jqa1bKg9REDcAP8bc2N0HOJNCkNA8OlwXl0tWa 5/cX' +
'1C2HL4DQ6HyMereCrLfW9/ktASRBDaON60j7ktIcl8GwsBS1JHs3D' +
'f0qmRpJtI1kDt8deH2cCzE9V8d6AAuL6gWsdONCXk6PGTuJrS 3oKS' +
'25BeAyDFaE+iQJSchMQh9EDGy2oaE/Y40MJPl+BbrXGIec7k0oSQ5' +
'mNfaL55AyW9i8QSfnnB5a6HedsF7fbBM8slJd/y6plGvs85k6nFTr' +
'kU8Bk/qvhrzqykwRDfLMw2VPMl4GeJxlVC0jWek7QNGTKAxrTR8qQ' +
'EmM409bTQ/F+ITQgTaNgjVAnLT3oMzVpgHg5tjko9/c4OiR6SGCJI' +
'mVMZprKgEFhiOqqwolFiCSc9izfpsNXIR4yQFAt4LrDAcyYrw aKar' +
'3iCB95p7B36U1l/kP6Vz/9lYb5YNOKtzVdP/KcE59C9tVQ2HJWUc9' +
'PLH9L2NA09h4xpaz8VWhJzakVzQUy5bfrHkqLoLgCa4vHyIVh vDcB' +
'4SbE4Ou0ShpzJSrCo5iuBAx3jtvnEd3cKlXbM4q3ugt/vpVJP5aAB' +
'bL7lVFy5T2jJoGll1g1rS/B/PneTpBwYzNEnpqOspBBT35dGJZ4IL' +
'PCcyUrgqOYrgWMpbd8JHwjhh/CtZV7p7utfXC8shPUQ3Q0zgw1Kll' +
'sydM7GmP2ODbWHBkwtk1eHo09MR6Ezxd0QHE5YR9hGuwSeM1k JA6r' +
'5SuBYucIGTP2oz3MlQqB7oxdVTlmzi3h8aRXWeNqdDnr8ZBPd gDDT' +
'e6I0eVHgl/MjbMlzK6s9VQTQwE68t6WsRr7cNn4qKWa+CyXbUM1Xw' +
'oA5kI6m/vf/WOIPzqwLZqejdv+xnMml/lgy6u1P6KAx38bKK40GIx' +
'4Bg2HCYu95M0K7HDvRhKoFfqKVwFHNV8KA1Yh9rLDqe+NKMs0 dr5f' +
'zoId5Z9Ns6i8qb/DBEkQWyDgdMeYTO1Y6Nbl/eKqCTOdMVloLqvlK' +
'SFgZ2cVpH6Bvg18vv3Lsusxx9cR/ssxagx7WnAKP/nVbRi0B6NrQs' +
'fYfPe589smZM1lYLCynXTKdTk1pRajmK+HBfFAfsv+zGR9f8e zaTA' +
'DB55kBoYfOQQ9rToFHCrZlyBKArkTM7gZjNfLvmrdJWDIFNR/SqSm' +
'tCNV8JTxYc7xC6H46/ePu/7s2vZiCf+xEU7zn1a0so5D9tFsCWPCb' +
'TsWYRCbXkU4NjXxhyTwxig/p1JRWhGq+Eios2cfyzIodadTYYXM3c' +
'ZuZXrx1McaS/byy+r4TPkiXJf1eKuXQg6Z4vPF2K50a7JcUDju1ka' +
'/ERDVfCRtO2UfjdsDUsn99+v1U6D2+BKLNZaKFL0lMZGVjgJCOe Gt' +
'zipaAF977arjGJcX02+urzEY+7JeXr418JSaq+UoIgexDBp1Z 66G3' +
'XZ9a4xXEC6ilOSTuntjZAltaWZ3RPn9wyVYEEa+WYJfJ79Xwv ePml' +
'hlpXUKPNZJ//YvrhUehvXxOp6a0ClTzldBSVFHrzCMNNYOAj1lcOW' +
'DqRy66B3kcvmDzzJI6Hj/hRjVazl4fYqE5XJzJ5RCGnly+feicjS6' +
'W9Bpfgg0g9fzYJC2nTp9G7dxfjMW3fCsZtRZGFp5oXtOpKU5U 85Uw' +
'Qyk9ofOnnHOWfBkCoKUmZivaUntoYNLtXs4sHS+taHPLGJSJF W54Q' +
'fN7/9HjkpElK4ump0XTqSkxUc1Xwg/N4QK9RaM3jvbHXSCwh784sb' +
'3hs3S9hYpyaDqDeGEo3kK5pncfOOJJip0jS8JaozsT+IlTQoh qvtK' +
'KoFkLadpE6Ofxk03OCa3QvuU0/tC9DGUVQxiCGiOUoMVO09k42/+w' +
'DevxLbbBlknnmg7DxD1Km0E1X2ml5JVGR34g6ZS9n4DWoR2e0 clrY' +
'lqCYMTTCjCwLY2WhGHiHqUNoJqvKIqSPajmK4qiZA+q+YqiKN mDar' +
'6iKEr2oJqvKIqSPajmK4qiZA+q+YqiKNmDar6iKEr2oJqvKIq SPaj' +
'mK4qiZA+q+YqiKNmDar6iKEr2oJqvKIqSPajmK4qiZA+q+Yqi KNmD' +
'ar6iKEr2oJqvKIqSPajmK4qiZA+q+YqiKNmDar6iKEr2oJqvK IqSP' +
'ajmK4qiZA+q+YqiKNmDar6iKEr2oJqvKIqSPajmK4qiZA+q+Y qiKN' +
'mDar6iKEr2oJqvKIqSPajmK4qiZA+q+YqiKNmDar6iKEr2oJq vKIq' +
'SPajmK4qiZA+q+YqiKNmDar6iKEr2oJqvKIqSPajmK4qiZA+q +Yqi' +
'KNmDar6iKEr2oJqvKIqSPcTTfEVRFKVN4tR8RVEUpQ1jar6iK IrS5' +
'iHNVxRFUbKE/wc9X4bh');
SMART_DrawBitmap(true, ourPhoto,Point(6,344));
SMART_DrawText(9,415,LoginChars,info,clTeal);
SMART_DrawText(9,435,LoginChars,info2,clTeal);
FreeBitmap(ourPhoto);
end;
begin
SetupSRL;
ActivateClient;
SmartProggy;
repeat
until(false)
end.
http://i42.tinypic.com/vhynht.jpg
Text Types
BigChars
CharsNPC
CharsTrade
FriendChars
LoginChars
SmallChars
SmallCharsNS
StatChars
UpChars
UpCharsEx
XPChars
Color Examples
clBlack
clMaroon
clGreen
clOlive
clNavy
clPurple
clTeal
clGray
clSilver
clRed
clLime;
clYellow
clBlue
clFuchsia
clAqua
clLtGray
clDkGray
clWhite
Closing Thoughts
I hope this tutorial helped. It was the first one I've written in a very long time, so please let me know of any errors, or what I can do to improve it. I hope more people can incorporate some nice progress reports like this into their scripts now :)
INTERESTED IN LEARNING HOW TO CREATE THE ACTUAL PROGRESS REPORT DATA?
abu_jwka has made a brilliant tutorial that should cover how to get all your data to display the proper information you want such as xp/hour, xp gained, etc.
Check this link out! (http://villavu.com/forum/showthread.php?t=78116)
Hi guys, this is my first tutorial. I hope it helps you guys improve your scripts!
Intro
This tutorial will cover the basics behind implementing an onscreen Progress Report for your script. Similar to the tutorial that teaches your Paint on SMART, this tutorial will teach you how to place text, and images on your script. I find this method to be simpler, and that’s why I wish to share it with all you.
Getting text on our screen
First we must include paintsmart.simba in our script header, this can be done by adding the following code to our script…
{$i SRL/SRL/misc/paintsmart.simba}
Once we add that, we can start writing our procedure, we’ll call it SmartProggy.
procedure SmartProggy;
begin
end;
Next, we want to declare some variables for our text. Since it’s text, we’ll want to store that in a String object.
var
info,info2 : String;
Now that we have our variables set up for 2 lines of text, we’ll get to filling in those variables.
begin
info:= ‘This is the first line of our text';
info2:= 'This is our second line of text kk';
…….
Now that our strings are filled, we will want to display them on the screen. For this we will use the SMART_DrawText procedure. The procedure looks like this….
procedure SMART_DrawText(x, y: Integer; font, Text: string; Color: TColor);
x, and y of type integer will be our coordinates within the client.
font is obviously the font that will be used. A list of available fonts can be found at the bottom of this tutorial.
text of type string will be where we insert our string variables from earlier.
color of type TColor is the color that the text will take on. A list of some colors can be found at the bottom of the tutorial.
Now our procedure will use this code to print our text on the screen.
……
SMART_DrawText(0,0,LoginChars,info,clTeal);
SMART_DrawText(0,20,LoginChars,info2,clTeal);
This code will display our info text at 0,0 and info2 at 0,20 of the client. I use 20 pixel spacing for the font, so there is a good distance between the lines. LoginChars is the font type I chose, and clTeal is the color I chose.
So if you followed right, your code should like this for the procdure
procedure SmartProggy;
var
info,info2: String;
begin
info:= 'This is the first line of our text';
info2:= 'This is our second line of text kk';
SMART_DrawText(0,0,LoginChars,info,clTeal);
SMART_DrawText(0,20,LoginChars,info2,clTeal);
end;
And here is the full code if you wish to test…
program tester;
{$i srl/srl/misc/smart.simba}
{$i srl/srl.simba}
{$i SRL/SRL/misc/paintsmart.simba}
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Pin := '';
Players[0].Active := True;
end;
procedure SetupLogin;
begin
ClearDebug;
Smart_Server := 114;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LoginPlayer;
end;
procedure SmartProggy;
var
info,info2: String;
begin
info:= 'This is the first line of our text';
info2:= 'This is our second line of text kk';
SMART_DrawText(0,0,LoginChars,info,clTeal);
SMART_DrawText(0,20,LoginChars,info2,clTeal);
end;
begin
SetupSRL;
ActivateClient;
SmartProggy;
repeat
until(false)
end.
Results
http://i40.tinypic.com/qn7law.jpg
Getting images on our screen
Similar to what we did for the text, our procedure will be slightly modified though. First we want to create an integer object in our variables, well call it ourPhoto….
[/COLOR]ourPhoto : Integer;
Now we will fill that integer with a BMP.
ourPhoto := BitmapFromString(20, 18, 'meJz7/x8dvH37eu2a9ZW1bUk5Ne' +
'mFTbUtvWvWb3j37h2GQig4fuJsaV3flp0HlixfY+Seq+HVohU yWTd' +
'yvo5Pm4x5qpi6t7aJ05q16/79+4em8f379xYJbbbJXaJqTiqOpSbx' +
'S01iF5jEzDOOmC5vk2KV2GOX0a9kky6pG9TeNQlN+4cPHyJ6t jmmd' +
'au7FBpFzjGOnmscDSTnGEXNMgidpu9b4Vu9QC+wXM25SNmlbt ny1X' +
'CNv379ApIN3dNU3RrMklabwDQCkWnsQvO4pQbRc7RdyzXsM9V di0w' +
'SVipapz99+gSit7lrcnFli71fpkHYdC3vRiOYRqCbDYJ6dHxb jaPn' +
'A72g4VJhGD4d6CS90BkV9b1Qvb0z5SzT1ZwLxFUdGBgYND2qT OIWm' +
'YD1CogqMzEw6gV2m8QvMgzsAFqtYBKmYB5r6Fn++fNnoN5Xr1/KqZ' +
'nqeDaq2eSIyFto+3dbpqywTloGdICcUYSEqqNhxHRt90p12zT 94In' +
'avk2KlvGavl0nT5+BWL1v7x5l5wrT+CXGUf2B7XvUbcN1nKLC eg5Y' +
'p881jZhhFDPPMHiCaex805i5yiZResF9WsHTZi1YAtH75MkTJ YcCg' +
'8jZBn6FSTOOqVr6Kpu5piy66F+zUMO53DR2sVEM2MtOuVpeta bxiz' +
'WDps5fthai9927tzpOmSZxy7R825QtIvKatlW1bzdyS1BzTDM KmWI' +
'KjGhw6BlGTDOOnW8cM1fdf+LWXfshev/+/RuZUqYfMd8kbom8TUZe' +
'8/aW/iNyxlE6fj1msYtNYubAYm0uOPzn6wb1r9+0FR7LGzduVfFoN' +
'k1YrBvQpmKTrO2Qpe5WahQ7Gx7XcAR0vLp369kzZ758+QLR++ XzZ0' +
'OnRIPYRaax8/SC+vUCOk2jZxnDXIuiN2auUcQ065Ama98CuNUHDhy' +
'Utys0BiVmYMjMM0ZKYCgoZq5h7EK1gCkltb3ICXvDpi2y9gUG 0QtM' +
'4oDenAdOn3OBFgHVgwyMW2gUt1AzeIqRX/WiJat///6NlqcOHjzsF' +
'JCl4lyp5T9BJ2SGVvBU/fCZOsFTNHy7Nd2rbAKKJkxf9PbtG1x5+e' +
'vXLwcPHpw2fVZpRXN5TVduUU1H14SVK9eAwgecFOEAAHYnQt8 =');
Next we will paint this bmp on our client use the procedure SMART_DrawBitmap…
procedure SMART_DrawBitmap(Clear: Boolean; Bitmap: Integer; Placement: TPoint);
Clear of type Boolean will clear the canvas before the image is drawn if set to true
Bitmap of type Integer will be the picture we wish to display
Placement of type TPoint will be the coordinates of the client we wish to print to(upper left hand)
SMART_DrawBitmap(true, proggy,Point(5,5));
This will clear the canvas, and display our photo at pixel 5,5 of our client.
Before we end the procedure we want to add FreeBitmap(ourPhoto);
So our procedure should now look like
procedure SmartProggy;
var
ourPhoto : Integer;
begin
ourPhoto := BitmapFromString(20, 18, 'meJz7/x8dvH37eu2a9ZW1bUk5Ne' +
'mFTbUtvWvWb3j37h2GQig4fuJsaV3flp0HlixfY+Seq+HVohU yWTd' +
'yvo5Pm4x5qpi6t7aJ05q16/79+4em8f379xYJbbbJXaJqTiqOpSbx' +
'S01iF5jEzDOOmC5vk2KV2GOX0a9kky6pG9TeNQlN+4cPHyJ6t jmmd' +
'au7FBpFzjGOnmscDSTnGEXNMgidpu9b4Vu9QC+wXM25SNmlbt ny1X' +
'CNv379ApIN3dNU3RrMklabwDQCkWnsQvO4pQbRc7RdyzXsM9V di0w' +
'SVipapz99+gSit7lrcnFli71fpkHYdC3vRiOYRqCbDYJ6dHxb jaPn' +
'A72g4VJhGD4d6CS90BkV9b1Qvb0z5SzT1ZwLxFUdGBgYND2qT OIWm' +
'YD1CogqMzEw6gV2m8QvMgzsAFqtYBKmYB5r6Fn++fNnoN5Xr1/KqZ' +
'nqeDaq2eSIyFto+3dbpqywTloGdICcUYSEqqNhxHRt90p12zT 94In' +
'avk2KlvGavl0nT5+BWL1v7x5l5wrT+CXGUf2B7XvUbcN1nKLC eg5Y' +
'p881jZhhFDPPMHiCaex805i5yiZResF9WsHTZi1YAtH75MkTJ YcCg' +
'8jZBn6FSTOOqVr6Kpu5piy66F+zUMO53DR2sVEM2MtOuVpeta bxiz' +
'WDps5fthai9927tzpOmSZxy7R825QtIvKatlW1bzdyS1BzTDM KmWI' +
'KjGhw6BlGTDOOnW8cM1fdf+LWXfshev/+/RuZUqYfMd8kbom8TUZe' +
'8/aW/iNyxlE6fj1msYtNYubAYm0uOPzn6wb1r9+0FR7LGzduVfFoN' +
'k1YrBvQpmKTrO2Qpe5WahQ7Gx7XcAR0vLp369kzZ758+QLR++ XzZ0' +
'OnRIPYRaax8/SC+vUCOk2jZxnDXIuiN2auUcQ065Ama98CuNUHDhy' +
'Utys0BiVmYMjMM0ZKYCgoZq5h7EK1gCkltb3ICXvDpi2y9gUG 0QtM' +
'4oDenAdOn3OBFgHVgwyMW2gUt1AzeIqRX/WiJat///6NlqcOHjzsF' +
'JCl4lyp5T9BJ2SGVvBU/fCZOsFTNHy7Nd2rbAKKJkxf9PbtG1x5+e' +
'vXLwcPHpw2fVZpRXN5TVduUU1H14SVK9eAwgecFOEAAHYnQt8 =');
SMART_DrawBitmap(true, ourPhoto,Point(5,5));
FreeBitmap(ourPhoto);
end;
And the result on screen should be….
http://i41.tinypic.com/mizdf.jpg
Creating text and photo for a progress report
By combining the techniques from before, we can create a progress report that is visually pleasing, with minimum code(with the exception of the bitmap ofcourse).
program tester;
{$i srl/srl/misc/smart.simba}
{$i srl/srl.simba}
{$i SRL/SRL/misc/paintsmart.simba}
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Pin := '';
Players[0].Active := True;
end;
procedure SetupLogin;
begin
ClearDebug;
Smart_Server := 114;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LoginPlayer;
end;
procedure SmartProggy;
var
info,info2: String;
ourPhoto : Integer;
begin
info:= 'This is the first line of our text';
info2:= 'This is our second line of text kk';
ourPhoto := BitmapFromString(508, 130, 'meJztnQtwVeW1x/FWZVrtoIXS' +
'UcHLgJVSkKk6TUdltLcqj7EVuSO9XHt1eil2WkQuPqrWsT6uU AShv' +
'lAe8ioKJpFH0wCSBrEUITaIMZADBgIhwUBuwkseIhDI/Z8sXH58+5' +
'x91j6PvXdy1p7fZE722fvb61v77P/6vm/vvb7uva7qriiKomQNtww' +
'ZpiiKorR5WPPv/f2ziqIoShvG0vw//nmJoiiK0iaJqfm5/9ymKIqi' +
'tDFU8xVFUbIH1XxFUZTsQTVfURQle1DNVxRFyR5U8xOSV7qto Ky6q' +
'KI2FZaW73x7fRWKCrw6iqJkM6r57kDt11c37D5w5PAXJ1Jh/9Hj2x' +
's+A5G6fWBd1Z4Vm2oWfrg98AoqipJVqOa7sHjD9sr6g6dPN6d 9QZm' +
'fHTuBEICAsry8JvCaKoqSJajmu4DWeNOpDCj+2Qu6AGU1jar8 iqL4' +
'gGp+PPJKt0Xq9pnKnCIJlR8hpqCsOvCKK4rShlHNj8fb66u2N 3zGm' +
'lxcuS8trK46sKH2UGXD0YZDxyzZR58CR1TZVxQlc6jmxyNDmm 8B8T' +
'92oslU/pp9h1X2ldbOyCcn3DnifgKSYn418Y1C/gq8+pfVWLlg3Sf' +
'YrO+1PwRQodnFH7qX/7vnZlxz0wBsjL8oMN63KMr5bZYTKs1/64Ot' +
'OPUAHwL3jKX5K7bszRxVjZ+r7CttCYh5O2MxJQVqzOs7f6cLy TuUx' +
'9j8HGiRi+wjoJiFX3DhN01hd/82WMIgcSHRfHhg7qqy2UUlYFZBMc' +
'C/wSq/n5oPSqoPnmw6xYerrD8YYN0VJUWg2BBbFl4IC13OaNWbggx' +
'9xno0y9s5Ft7FvWSOHS7fosEfuEPCI3Fh0Hz2xqo3Xy6aMBos nvZ8' +
'/rxZcMsb/6gI6hxZmr8ssjfTrK46wLJ//GRTUUVtUHVXlBShsRpTe' +
'KH2uNLN9jwJNS40bvnjW26lQ7pjlswbQK+gVKzwaMybB3V+G6 A3Qi' +
'VxYdB8nCnUHX5YNPxHucN6L7itC/7OHzkIa2bNmRdUNLQ0v7Ci0Qd' +
'M2W84dExf2lJaL7iuoepmu93ZyKcteTNsgL0gRPGE2owaUCps zINI' +
'+IBvOXyg74BvzY2DdUV4JC5wzUdlKfxNHXbjQwOvmTGkLxxCj L+z3' +
'8pHhiAawif+n6ZANB9E9hyhI546fXpd1R7/K64o6cIaWrdG8nkzXk' +
'n/8mYQIqilVWbfa39ofsuHgOab3yJeQFu42Y9vnUX5Q9gkLnDN5w h' +
'4f07Xb3+9fc7lHcf170EO+dPA3uwT/3tAluYXbGzwDX6YHx98rrWi' +
'pBezqR+zkZ/7peZDf6i5y013tNVxGVoFsqpPWVic26JgMTU/t0VsW' +
'+4UnMPfBkLYJC5wzY8GuPx8dHkQ/q6+5MJeHb/Rr1sHDoXwCTpB8A' +
'mc5nOYtjR/UXmDb6yuOkAHPdl0St/PVVo1VlOf5d3chkfd6V+znW+' +
'VZo7t0Lfm2I61Ly5h/jbAsZ2wSVywmo86vr5sDSIgDXCNyvnKJwiF' +
'WAOHALhr8bTnEz6ym14C1Hzw2bETdFzY4GetFSXtOJv6lsKYQ m0+e' +
'MPPNPK1b96lpQd7Whr25/BQjzWYYw4EBXJbMIQSF6zmozuDTg0qPr' +
'X/pfAJKn57n+/26X0FfALuvrYb1pBPEAcRK/0c4bE0P6+sXsKG2kO' +
'RPUcY/ItGOzRcuLtZDh0X4u9blSXklUZTz63YVFNUUbsysmtd1R5A' +
'+aLRJfHzpjMswTliAsxTHR5LwonV1IcOWw+omxuw4POzmvQkJ 9bT2' +
'1tTFhY7N0ZYoTLjfRtU3UMocQFqPk4QRUDUFyEPdQcPDbwGP4 mbL+' +
'sAEBAHf68zh0Js6WdTPznN3/PZF82xloZDx1Zs2SvX/MKKRtrx6PG' +
'TEFJhDn+n6tKOLM4M1kC65a6AyGOvSN2+yvqDNfsOIxId/uIEbGs6' +
'dRqY+aKxTVlN498/qZOXLwdlouT11Q1kCaWnJvAvjgsjl5bv5O3hD' +
'QpPLmCDJExFydg3niXOdNnwIQxLaAm/iyfZ3rmXp5+3vPzUT6XZ1I' +
'95Z5af1WG5JoXPPfO61jntvnxQJ9fxwle7lpF/DiK8vflt2n+KEsI' +
'pcQFqPk7fa/OXzB85aOCVF1Pd8Rmeua5nT0RAOARr6C+8MWNIX3w7' +
'Z2Ghb6P6luYv2FAvwZlFx1zQ5heWAyCozS1JeKAewhz+pLrYG CIAS' +
'KWxo5XegUIJpBv66eIBihcoDWVC5E+dPi1PKw3jUT5EGMEl9X YvlB' +
'Omoi4ok9wSb4G7cApIcmE5hycXsAGZagYLF59AA7ExfIJ9XSz hdNk' +
'UZPEBZyehJThZZLxke2svGCZxJgTca/ly/8S70iEplFeh/62DnJdw' +
'9MmW4g8hPtQyp3QKrOH4DGnCSlMPIfsUR/CVKfh0jly+9ZNwSlyAm' +
'o9ezOJpz4+/s9/YGy8BqDt6Pfh3VE5f8glc8as+nSggohMEn2B734' +
'Z3LM2fV7pbArfz6UrEZQV1NZUQbXivRaEQrzn8cWhwKtFuMDJ mEw5' +
'XDS5wXOawIWEh7guqj3Zv0spPao8S3KXeucBqr5ZD2VwsIbWH tPKt' +
'FrklXjNyJ+dzBLuEd/zhT5zW5DKEu/vHHTPhQDwFdslIgPVEvK/iH' +
'df920wTTokLSvOp1zP74RELbutCI12Aqv/7H3dH9wfOQWTEGvx7f0' +
'5Xckj+vFmI9f6cxBQ1H41MKgdNZbOckuqDXovKXA5/SAvbyVA70L3' +
'DgjAE80BV4+fldYfpM4inzFB+qKXXhiJch728qn3SCw4Uz0L4 BI5K' +
'mBA78CWhLCOAJu1P9BYzMV7XVgmtxAWo+ejFoC+Dyg69qhPAB 4RCe' +
'AB+uLlHJzgETsAHrIcrFg3/ETamd9b8OWWW5s/5oE6CU/NzWy40fr' +
's2sueIsCi+jcsLS6sLMa9orKcbygxndYO2m7WG6KFR7YwyKBa 7rK4' +
'6ULCxwd3sBRvqiyv3YWOnJTiW+2iSCZqsUDBngxfCC/tXbNmLA1mH' +
'xkp8ZSkzhycXDn9xxlSEGKclCD0xfYK94FVUFn03yxJ4CcG9d v8xa' +
'/uElpjGS7a39sLPzGWEB418VCSJ8sk/6H3IT58SWokLSvOj7ynMmY' +
'dgh6g38MqL0cdB9RHvAHyCXk/Xiy6495abR99x+5hf/AZ/4RZsHOB' +
'4/sySOgkxNX9lZBeP8GADYVFOzfdkAF3UUGl0GZybLf3yHrH5XBD k' +
'YveBI9ZBUSAKEdpsAT20bmrDD5KXi2GJs6NR2XAU6io5LmrHM ojPc' +
'lej+pYlCIIIPU6fSIoFMJiVH0eRWG4eRe5qDlvOKjBWI1/oTP5Rqe' +
'Z7IrQSF5TmI5ZNf/YpOAHVpziI2JdzeUesQcXp3/+6K5r7enZRyWv' +
'zlzzx9NhJE6f4NrCT69D8GevqJMTUfKgcj9BCuIRFOTXfkwHY 3WWz' +
'QofmO2UWMoKWs9BaF1AIK1JzS1vUXfadlqBSaNV7PS5c3dySN EPua' +
'kswnYKPikgKNJm+ro5esnM/I9Z5oUXuf/M9vphN/cUbtpu/Z/nvED' +
'Z8WfcTmgBKTmglLhDN55EuurUxrn8P+kC9HoQ/em0BDoE3KOM0HAj' +
'8fBXX0vyp738qgSW3rKaRHnWDvpmNZ3T5vRblyQbaCw1s980K NjaY' +
'mr+83JZZaAIaeEJTE4KiSIFZl+K1GCGzVsUhlUkfF35ATRNuF lPzL' +
'ZHEUtX4edI+QaNacur5vHCIkR/CbOo775jjd2gm60bvz2ux+En7dv' +
'W1dsIscYFoPupFI11T+1/KTBrcjdyCCNi9c9c+va+IOqQl6oUhr+a' +
'UNbskcEeennOjJ9jNqxjXmteiPNmAvSB0CTdbVP6V5heUVVtD OpIS' +
'koDbos0tgzzOZNFOmc2QJRZQY0vz0aCN1O0zn5+J7DnigyV8X niB0' +
'4T7wle0izOkwrFmh0VeFy4TvxNt5MsJs8QFovn0btr4O/v9/sfdEQ' +
'FNtxDoCl3XsyccMmWh32l2GEvzX169S4JTqM2lvO6wsBzgfCZ Qstf' +
'SikbJZqwt9CylJbNyI73CGtLcckvXfJkITVO0JE2ZzaglJk7N t4a+' +
'IZL+WOLUfJgxbe2nwt35N2Ml4jYb+UkUiJPifL5LcSHMEue/5vO7a' +
'TTGhb90XwNBEJhuufvabmMeeJj6Pv6fNUvzX/h7rQQXzd9Qe0hYCE' +
'Cf2lmCfPeE5JXVc7Fmlx+tyjQeJSbmfQpzOrAVm2rMMOfJXSl iab7' +
'VKoZ++maJeV6ScAXfDjATcVvVQWW9ukXzu3oi5BLnv+ZTr2fl I0NQ' +
'ZX4fYeCVF9PjTACficHf6zz6jttfmx/jTW0fsDR/8ns1EnB5QvZN6' +
'BHHmSV1whIIa1zXkw0SYmoLTE3jIVzgyMiPxMPbkbqzugD+WE JYmg' +
'+15BE5WOj13KXlvCAQm3dY5DawbyHU1NS3GvlT1uySlIPNqKe j8zh' +
'4JeQS57/mz11VRkmHKNHcnwb2RhyEZ1B9OOHmHlGfPDTwGoCeEbo/' +
'QTX1Lc2fsHKnn5TXHeaLNBM2LNhgaz4OhKadP7VDL4brRYlDi ypqz' +
'UY+zPPT23yjAZpvtYrxlZ+W8HmBN6zHvbyWQFqddHXYJ9YbHE pCQi' +
'5xPmu+mXQInR3EwRlD+k4ddiO9j0B/8e+4/j3wbc7lHdufd27/Wwf' +
'NKigOXPPHF1f7BlpZlCEHzTPz7moaD+HU/KUVjX7WkSUFNS0oqy6r' +
'+eoZRcQ7Py0xjYG3zRfoILw+W2JqvnVvHV8JCzGb+uurG7g6c DV+W' +
'pISXluzi36B6O/oM/meCL/E+az50VQS+fmo8t3XduNhLrrNgb/8OB' +
'NlnOt+0XldL7qg77U/DGR4x9L8sUU7fMN8kDJDNswr3W0KPg7kafe' +
'J7+6EkWh80vgVVBr/YqWnEjjzW6Run5XmwlM5K7bshQ1U2p7Pviip' +
'PvjKP2o9VcfUfHOICeu9njj4hDos+Au3eKqLeV7oGVrzVjLqm MTJN' +
'RPByavD3Uxt5Hsl/BLnp+bzvJCoe3SMq0e0s0MDXDzkFe37tHzGt/' +
'SqGoj2ffydMCXXofnPrNjhD+hWk3zRwxKp2IBrHxevOWZCkjh t7ae' +
'W5kMN5MVC2ZyJOqkZmVdWLy+HR9HREGVpgrXyEnC4mJZ4rZE5 jmGO' +
'hLy4ulZYAlwaL402DcvITxn7IbflkVFrgk5hOc5nCeAooRmoN Z+Xl' +
'ZFdPl93rZpWIXF+aj7PC1ky8np0fKJ5RHt0AnR3g2IijXr169 aBXE' +
'Gg74Puks/DO5bmP7l8uz+wEkJ/krZh3N+iV71LekbrQVB0+YUlOx8' +
'mtBZsICzqtTW7nLuj+slZgvaw+QBSc8vjLsKi+AlSFMLRBxou r4gZ' +
'emAGyjF9j6JwRiRFzfmgjk8Q/Q7NOx34kLRvUUfhvvxgVSqJNLOTV' +
'iFxfmo+9Xqi08EMi84FBrfgLz6DaT+Pdn8omzTFPvylV9W+/fX2gQ' +
'zvWHr7xLIqH2Ado9dqkrbBbHOiKCgSsCSRFyiJsFjzLsD+o8c jdfv' +
'QEymradx94Ij56hk2ExbobKUL95206quhIRq1Xlq+c3l5NNex Weay' +
'yF5JaeZbA7wg+nj1Ng4Nb6zYVANjYJIZWCN7jkiKmlliaz4wb 3bAV' +
'KFV5jOxMGxs0Q5PBiBsaSPfK61C4vzU/LmryhZPe37GkL40a8zYGy' +
'+hka5ocrnLOnS/6DwAJyAmUmbRnMs7Yg0c0vk7Xajv42dT39Lbxwq' +
'rMg0/p4cmIiV4TM4G833MyvqDNM8RgBChWCgkFMBshUKOJMU+/c4O' +
'llOrBZhXug0Sx7KPQwhN5fSevOAokh1Z0KyXj3JbxsA5ox0Ml hQYU' +
'/Pnle72dNZwLEsk4XkzT+b0dXUJS8M2Ts1HLONyhDUCE1buNCOF 1z' +
'NivjqhCGkVEueb5tNIFxwCb4zK6QtQZXB7n++i78OphwBFQ/R96DY' +
'HHBJIU9/S20cKtmUUU3ZYUZOwAX1zvh0Q77Fq6L95pxKHlpTM4hbz' +
'NXzIvlkmNpaUaWZj8FRH2jjegLPZMJZYElPzp639VGJMzKx6j PkUE' +
'OJUwtJwUKfmWzWSlENQZMTvAR6TbM9HR9BMYr7FLKe1SJwPmk/ZJN' +
'DrmfhG4Zhf/IZiH/kEUBzESjgEfohmlr6sw6/6dMK/lIwIwCHwWDT' +
'pXMtTrIHMmfLgkq0ZYsrZqXXMJnQSNvDwi/u7kwgHXOyKLXslJfOz' +
'HDGTzOee/ZAJ1EZSJudspAV+EHrMvY6m0iKseDWDlseXVkmMYZGMm' +
'Y7GfN4S1sqrZmk++mjmK1rPFu2Q2IbN5OcXcCM/3ilWYtK6JC5Dms' +
'9OQG/l9WVrAELYTx+dfMOTFRfeN6n/rYMQ++i+Bg1w0bgWuQK9HoD' +
'IiDhIjzP16X3FnSPu/91zM2bNmTeroBilUQK6jHrG0tsxiyvTy8R3' +
'dy4qP2vqpaZTp60OdRI2cMvZvW9uab6kZBaEeKlXiipq+QYoN paUa' +
'Ymt173i5Yr3aklMzZdY8so/amNKdNJn0KVA8xUtoaPo9/BY4TbJlt' +
'xagOu0kZ+Q1itxadf8M34oKoHlcxYWogro7IB7b7m530uld32 yf3z' +
'xzqff2QHPXDzogc7f6UL9GtQa3oB/yCH4C3fBIT279L7mpgHwJP6i' +
'hHG/HU5Mf/YpeBhHwbEypPzW1TpqYaWEeaW7l0X2uoDWsplVmBdca' +
'M6hmCRs4MLdk2KZmg+rPJUcL6euOTUMNpaUiUObThDuxXe6Xd r53O' +
'OQlGmZIfc2fsy0saSdLymTn5N0ar5VFLYU/iaFUPND06klpLVLXLo' +
'0n0Me+QEegM2zHx5B9o+/s1/Pq3r+oHQPnICqjXxywjPvrB1UfLDr' +
'U2suu+gGdG26d+4KruvZk4AfenUaenW3/+531Sj8xTbfan8ZNkA5/' +
'3HldfdcPRCgD0VuieapLv4w7THR0tuR+VskxNRzlwWXGK5udK Vjtq' +
'ySsCEJzV9a0Sgpmcd2YqZnp9u43BAtqT4oKXPp2VOEwHjJXi+ 8V0P' +
'bQ9id84NQGmRPtbPM8HTG+TzGvHuClWb0kVctZsfBekVLaKEE fi8g' +
'qHRq7dqdYxGIGS60GYlLi+bDFbAqNz8ffiiaMBp+oCSio3L6j r7jd' +
'ny++9pu8AMcgqpdcOE3Ubvo+NWkPHSC8BkrufpDfvIkID8ArA fYgH' +
'zCd0bgFvIMzSw2aeKUKQuLyS3pOsWW3v46b4sEieZDH9AsxEV ds++' +
'we/aqJGyQaz4/ZlNY0SgpmR8dx45W4RB8NPLNRxOxsaRM6+YpBEfo' +
'Z+5QNBw6Zk5cDsFH1fhbLK++vythaYWxNP+xwiqJJRwK0VOzZ gSAY' +
'WbLHJVNWNqkVTtdNN+a0Fbo5ISMWVxJHguwkQ+Rf+LpsaAyUg 7Cpv' +
'ltSeJS1HzEnbmryhD1Vr35MvwwddiNM4b0pfeLaXpHIufyjj8 Yfi8' +
'6PujpULwjh6DiToeM+Pnz+OD0yblf63V7n+/CIfgLyCfsGXLLq39Z' +
'HX1ENh1n2dLbEW9tlsCSi2sW17sFRL6sphGtNeH0E0nYINR88/E/7' +
'CIpGd1/1tKTTaeoIlA5qL31LDo28+our342845C9mEAjAFo4ZuCj8' +
'aw19J4mfjuTsm+2Ix3gRPILYBeWzB98uhft8lLi3eDwMw4jTJ xUoQ' +
'ek1Q/2EwL7c87F5cwZD9Ugt/2JC4VzadnkxD7EPjgiqn9L11wWxf8' +
'JYfwg6k0t/tPH50MD6D61IWBZ/Av6ms5BN549L7pzjgI4BA4lqYSJ' +
'p+gi2S5BT8Y+CQtrX1Lb385PyIhsueIRHIzZ4PQAPOlfkiHsH Y82k' +
'wLvbWK3a0XfrGZsEBTn2l56C9bJTuOzN9ipRdAGHK+dPaH5ds lpcX' +
'U/JkldcJaWE+c0nu4VmkLNtRLihpfXE3bx9P83LOf24TlQiNdPEl n' +
'IfB0au3atYOmhaqR3yYlLhXNp5Sh0TTRw27808Bo4lAAV9AsM JRKi' +
'HJNoCJDZ+Zf/+L6iwc9wCNXcMj537/B6ZD/Gf4KBUHyCQdBbEnPuM' +
'IV+AAnW6GQfELzCKcu+5be3vNmREJGNT+9BpiD3k8sqxJWcMa XLw3' +
'FW7CBsCgcNMXdzaeeUimKbwpDqzkMQcmFu/86bwu7PeYiL2rc33bQ' +
'Li6abz63CWsfXLJVWLh73QNPpwapD5vmt0mJS1rzEQFnFRSjs wNXU' +
'OAz53+hOEg+GXjlxVdfcmH0Bsfwe195d11eWT2cA28AxDV2CC CHOD' +
's+5A0UAg8gCMIb7BCnT9ADSktT39Lbu+ZVSMio5qfXAHNIf8W WvcI' +
'KgmlrP3W2z0l/Jr9XIy+Hn5CEvplKKy9hxFubzQwDvEC+Hiuskpdj' +
'6h7nWMNneQlmIZZP4C55IfREvbvmA5xcM6B4stNk9KJKKsRlV nrfC' +
'Jvmt1WJS1rzaS6Y0XfcDgspdxx9oHkBKI8cPX1K9Or4je4XnY e//W' +
'8dBIf82/vb6O6Gyw0OcgUlpqA5Zeh1NoJ6QAT8MCqnLztk4huFqY/' +
'qW3o7bO4mCRnV/PQaYD77B30TVpAYvmDza2t2QW9xOADZwb9Y6akE' +
'0nlSG1ZarPRUDqBHZGED7MHlNmnVTk+7A37F2Mql/MyKHUm4ZVlkL' +
'3yCMr36BOCIEs23ntt89K/bvFaZ4FGpwNOpQWBpPD88mt9WJS7Fdv' +
'69t9zMKUPP5AjtccYVDPuE3j4487Rq5649u/TGB7rHTf8y8ACBXVA' +
'Czy9DrsAa/As/8Jtu5A38Rcfnd8/NyEQ7f+icjRIyqvlpN8AcGZ6y' +
'ZpewjmmBZZaGFAK0xDTGmjMFkuizJZxWwl3zc8+e8RAnPYlj8 YOmg' +
'edMbnk4MzqYT5pPsh+48rdViUtF82cXlYx54GHKJkE+4SBION 1C1a' +
'RcQ/EgP5ArCPIDraEDUVZSeq+ZfYKzk8ZHdyy9/ffZGyVkVPPTboD' +
'1EMg9b0aE1UwRHMi6b2hagijgjxmMqfnWZIK/ztvipyV/EGs+mvqm' +
'ndjR67H4pxJsIx96iIZxbn4+qT3Y+3+v4C+u5WBlv61KXCr3c BFoc' +
'HT45KGB19AM79wJIlz8YwVH8pX5L8c7gnNQI/bx1DPsCnqQicJful' +
'5bs/R28OvlEvhp7UxofiYMsPL0CquZIuYcATEtWbCh3h9LCE47wHO' +
'g85NI8Kefljy+tEqo+blnv6IFTyZ3oMBzJp//rfaLpz0PkW8yFpL9' +
'wJv6bVLiUnw+n31CLyZQBlGYSgklftWnE9/XdoedZkJf0RRj1ixjg' +
'KIejvvE02PhCiKNc81YevuzGR9LyKjmZ8IAK3nXC3+vFdY0af jJH+' +
'u+ofnKAJbRiyozbQljab41Wg6DfbPksUIPmm/NouXJzoQZ89LFuV/' +
'rZeJcc95VHaw1CLidNt4K2cff8Mh+m5G41N/DpVeSyS2IRON+O3z2' +
'wyMYc8qASYO7AUoxR59NyJMWVHcLmi8eB6IBQH5DLb2JKSy9H TStT' +
'EJGNT9DBpgJ55tb5swSVjYJJn+ZWwDXtTNvj/koEUwaOmdj5iwx4c' +
'wDnLTNnJ2quSXDsz+W4EByzbfyV6P35PUomc6ZDAFvOlp91yf 7Qad' +
'FpRfeN0my5l/OuRRq//n7/9l+cIfANT+3zUlcevPtzF1VBsOiFJVQ' +
'ojlEKMpHwS4qmjB65SNDAPkKjmLgFvabBcIrnEAlTH/2KQA/WDmIM' +
'ppvZ8DUjyRkVPMzZ4B5QxDLpFU7hfX1BCcWwIJ6Oc2A/pj1rWr8/J' +
'43I6kcke4dJNzMqfm5Zwegw180PVywNcXqj8zfknAbHEWu+eZ NECx' +
'yCznnf0Yb+SzmF753iMXcWmNt0+HlfKykLaH56AKEQfOJNiNx 6c2r' +
'SflFOf8zukXkJXYUvDRnYSElo8ufNwvOYf+A+SMHcdAksAawH 7AX4' +
'h1lLuVcoxlKN23p7S2vfiQho5qfUQMs2V9U3iCssoTBr5eb+Y pdbh' +
'paOWogtg8u2ZrcQe+aV4GoIdk9puZbyW2aWx4oSqX6OErCLTk hf0L' +
'Nt8zDeRcaw/NnZTpnMvScxRxcPOiBhGtI8Gk9NP/8b7UPj+YTbUDi' +
'/JknyzSbPpCvyEWUpy43Px/AS5Stjj2AbymhNL16lum0+Yyltz+Zs' +
'kFCRjU/0wZYsk9J2oUVdwGFcMPy1OnTCZ8SQfPVnM+3ueWVsZ/N+N' +
'jTQZ9YVoV40dySsj7hxpw+zkrIT/0OM7ME3Dvirc2eLMH2NPUAjiL' +
'xlVDzzRu4wmoS5Fsf0qmhrU7DNdR6Z4V3WWNqfqga+QlpRRLn 53y4' +
'TufQv1RNchGBAEcf/BR5i7zSbWY76qaXP5RAkosLKi1vNSZhQ4oGY' +
'C+ebYRV7vGlVcLqW2BHjkHNLTdtEw4moMqIdGjtIzSYYgsBzy urH7' +
'5gs9eDjl5UmXAX1nwzHpElkP2ymkYrfw5ikMQnsNbs3eAoCXf hF2P' +
'dNd9q5OMowjPCc7L4kDM5OixviDmUPOEagM+0vnVpvknIJc5/zXdx' +
'lPkhEJ23MN9w97TEnDHWTxtSMQDNbDR3rbRpaBxCch8r3DZ0z sZ+L' +
'5W6gA2w2bLIXmpmmya5hCEILI6LyiIooGkNIL/mYLVpCQp3zhgys6' +
'QO660OAhZ3awmeM4VC0uIN0YTMbAloOHTsbH9EF1RwddUBHNc 57wl' +
'85UwZiq8SWsL5dtyz31iN/IQnhRgw9SM6KS5zJacR6Pb537+BlZxG' +
'6d3X0IAP1mB9u3btfL7eM01IJC48mh9ClpfXmM8xChdcjGnsN SdhQ' +
'+oGUBZ6NAX5Jqa1bKg9REDcAP8bc2N0HOJNCkNA8OlwXl0tWa 5/cX' +
'1C2HL4DQ6HyMereCrLfW9/ktASRBDaON60j7ktIcl8GwsBS1JHs3D' +
'f0qmRpJtI1kDt8deH2cCzE9V8d6AAuL6gWsdONCXk6PGTuJrS 3oKS' +
'25BeAyDFaE+iQJSchMQh9EDGy2oaE/Y40MJPl+BbrXGIec7k0oSQ5' +
'mNfaL55AyW9i8QSfnnB5a6HedsF7fbBM8slJd/y6plGvs85k6nFTr' +
'kU8Bk/qvhrzqykwRDfLMw2VPMl4GeJxlVC0jWek7QNGTKAxrTR8qQ' +
'EmM409bTQ/F+ITQgTaNgjVAnLT3oMzVpgHg5tjko9/c4OiR6SGCJI' +
'mVMZprKgEFhiOqqwolFiCSc9izfpsNXIR4yQFAt4LrDAcyYrw aKar' +
'3iCB95p7B36U1l/kP6Vz/9lYb5YNOKtzVdP/KcE59C9tVQ2HJWUc9' +
'PLH9L2NA09h4xpaz8VWhJzakVzQUy5bfrHkqLoLgCa4vHyIVh vDcB' +
'4SbE4Ou0ShpzJSrCo5iuBAx3jtvnEd3cKlXbM4q3ugt/vpVJP5aAB' +
'bL7lVFy5T2jJoGll1g1rS/B/PneTpBwYzNEnpqOspBBT35dGJZ4IL' +
'PCcyUrgqOYrgWMpbd8JHwjhh/CtZV7p7utfXC8shPUQ3Q0zgw1Kll' +
'sydM7GmP2ODbWHBkwtk1eHo09MR6Ezxd0QHE5YR9hGuwSeM1k JA6r' +
'5SuBYucIGTP2oz3MlQqB7oxdVTlmzi3h8aRXWeNqdDnr8ZBPd gDDT' +
'e6I0eVHgl/MjbMlzK6s9VQTQwE68t6WsRr7cNn4qKWa+CyXbUM1Xw' +
'oA5kI6m/vf/WOIPzqwLZqejdv+xnMml/lgy6u1P6KAx38bKK40GIx' +
'4Bg2HCYu95M0K7HDvRhKoFfqKVwFHNV8KA1Yh9rLDqe+NKMs0 dr5f' +
'zoId5Z9Ns6i8qb/DBEkQWyDgdMeYTO1Y6Nbl/eKqCTOdMVloLqvlK' +
'SFgZ2cVpH6Bvg18vv3Lsusxx9cR/ssxagx7WnAKP/nVbRi0B6NrQs' +
'fYfPe589smZM1lYLCynXTKdTk1pRajmK+HBfFAfsv+zGR9f8e zaTA' +
'DB55kBoYfOQQ9rToFHCrZlyBKArkTM7gZjNfLvmrdJWDIFNR/SqSm' +
'tCNV8JTxYc7xC6H46/ePu/7s2vZiCf+xEU7zn1a0so5D9tFsCWPCb' +
'TsWYRCbXkU4NjXxhyTwxig/p1JRWhGq+Eios2cfyzIodadTYYXM3c' +
'ZuZXrx1McaS/byy+r4TPkiXJf1eKuXQg6Z4vPF2K50a7JcUDju1ka' +
'/ERDVfCRtO2UfjdsDUsn99+v1U6D2+BKLNZaKFL0lMZGVjgJCOe Gt' +
'zipaAF977arjGJcX02+urzEY+7JeXr418JSaq+UoIgexDBp1Z 66G3' +
'XZ9a4xXEC6ilOSTuntjZAltaWZ3RPn9wyVYEEa+WYJfJ79Xwv ePml' +
'hlpXUKPNZJ//YvrhUehvXxOp6a0ClTzldBSVFHrzCMNNYOAj1lcOW' +
'DqRy66B3kcvmDzzJI6Hj/hRjVazl4fYqE5XJzJ5RCGnly+feicjS6' +
'W9Bpfgg0g9fzYJC2nTp9G7dxfjMW3fCsZtRZGFp5oXtOpKU5U 85Uw' +
'Qyk9ofOnnHOWfBkCoKUmZivaUntoYNLtXs4sHS+taHPLGJSJF W54Q' +
'fN7/9HjkpElK4ump0XTqSkxUc1Xwg/N4QK9RaM3jvbHXSCwh784sb' +
'3hs3S9hYpyaDqDeGEo3kK5pncfOOJJip0jS8JaozsT+IlTQoh qvtK' +
'KoFkLadpE6Ofxk03OCa3QvuU0/tC9DGUVQxiCGiOUoMVO09k42/+w' +
'DevxLbbBlknnmg7DxD1Km0E1X2ml5JVGR34g6ZS9n4DWoR2e0 clrY' +
'lqCYMTTCjCwLY2WhGHiHqUNoJqvKIqSPajmK4qiZA+q+YqiKN mDar' +
'6iKEr2oJqvKIqSPajmK4qiZA+q+YqiKNmDar6iKEr2oJqvKIq SPaj' +
'mK4qiZA+q+YqiKNmDar6iKEr2oJqvKIqSPajmK4qiZA+q+Yqi KNmD' +
'ar6iKEr2oJqvKIqSPajmK4qiZA+q+YqiKNmDar6iKEr2oJqvK IqSP' +
'ajmK4qiZA+q+YqiKNmDar6iKEr2oJqvKIqSPajmK4qiZA+q+Y qiKN' +
'mDar6iKEr2oJqvKIqSPajmK4qiZA+q+YqiKNmDar6iKEr2oJq vKIq' +
'SPajmK4qiZA+q+YqiKNmDar6iKEr2oJqvKIqSPajmK4qiZA+q +Yqi' +
'KNmDar6iKEr2oJqvKIqSPcTTfEVRFKVN4tR8RVEUpQ1jar6iK IrS5' +
'iHNVxRFUbKE/wc9X4bh');
SMART_DrawBitmap(true, ourPhoto,Point(6,344));
SMART_DrawText(9,415,LoginChars,info,clTeal);
SMART_DrawText(9,435,LoginChars,info2,clTeal);
FreeBitmap(ourPhoto);
end;
begin
SetupSRL;
ActivateClient;
SmartProggy;
repeat
until(false)
end.
http://i42.tinypic.com/vhynht.jpg
Text Types
BigChars
CharsNPC
CharsTrade
FriendChars
LoginChars
SmallChars
SmallCharsNS
StatChars
UpChars
UpCharsEx
XPChars
Color Examples
clBlack
clMaroon
clGreen
clOlive
clNavy
clPurple
clTeal
clGray
clSilver
clRed
clLime;
clYellow
clBlue
clFuchsia
clAqua
clLtGray
clDkGray
clWhite
Closing Thoughts
I hope this tutorial helped. It was the first one I've written in a very long time, so please let me know of any errors, or what I can do to improve it. I hope more people can incorporate some nice progress reports like this into their scripts now :)
INTERESTED IN LEARNING HOW TO CREATE THE ACTUAL PROGRESS REPORT DATA?
abu_jwka has made a brilliant tutorial that should cover how to get all your data to display the proper information you want such as xp/hour, xp gained, etc.
Check this link out! (http://villavu.com/forum/showthread.php?t=78116)