SRL Archive - Help and Support

Help with records


Google

2012-11-13 18:13:57

So I followed abu's tutorial on records and I can't seem to figure out what I did wrong. Its not recognizing or withdrawing either foods. The bitmaps work perfect so that is not the issue.

Here is the code.


program TEST;
{$DEFINE SMART} {$i SRL/srl.simba}
{$i SPS/sps.simba} {$I SRL/SRL/Misc/SmartGraphics.Simba}
TYPE FOODINFO = RECORD
FOODDTM: INTEGER;
END;
VAR
FOOD: FOODINFO;

X, Y: INTEGER;
PROCEDURE DECLAREPLAYERS;
BEGIN
HOWMANYPLAYERS := 1; //[NUMBER OF ACC]
NUMBEROFPLAYERS(HOWMANYPLAYERS);
CURRENTPLAYER := 0; //[WHICH ACC TO USE]

WITH PLAYERS[0] DO
BEGIN
NAME := '';
PASS := '';
NICK := '';
PIN := '';
ACTIVE := TRUE;
STRINGS[0] := 'MONKFISH';
END;
END;
PROCEDURE LOADFOODINFO;
BEGIN
CASE LOWERCASE(PLAYERS[CURRENTPLAYER].STRINGS[0]) OF

'LOBSTER':
BEGIN
WRITELN('YOU HAVE CHOOSEN MONKFISH FOR YOUR FOOD');
FOOD.FOODDTM := BitmapFromString(4, 12, 'meJwTC1gkHrxSMnIbDw+vWMAS8ZDVktG7pBOPiwUukwhdJxW7Vzr5lHjQConwTVKx+2VSzoIVb+U3L+Q3ywcqFrAqF7CpFrCuBGoXtK0VcmgScu6AkMKuvSKeU0Ckx2RRrxmifvNBpO9csYBFQItAZOAyoMlAA0EoZLV46FqJsA0AQBou8A==');
END;

'MONKFISH':
BEGIN
WRITELN('YOU HAVE CHOOSEN MONKFISH FOR YOUR FOOD');
FOOD.FOODDTM := BitmapFromString(7, 6, 'meJzzCI5zC4wGIhf/SCsnHwiy9wi2cwsAIhsXPyAJFLFw8GzvmtPYMhUuDkRAcU/vPG+fguq6PggXgtw9sjy8cjp75pVVdgI1ApGZnXtxydTS8pnlFbMrq+eVlE3PL5hgamELAN1dKu4=');
END;
END;
END;
PROCEDURE EATFOOD;
BEGIN
IF FINDBITMAPTOLERANCEIN(FOOD.FOODDTM, X, Y, MSX1, MSY1, MSX2, MSY2, 35) THEN
BEGIN

// IF DEBUG THEN
WRITELN('WITHDRAWING FOOD');

MMOUSE(X, Y, 8, 8);
CLICKMOUSE2(FALSE);
WAITOPTION('Withdraw-5',100);
END ELSE
WRITELN('WAS UNABLE TO FIND THE FOOD, UPDATE BITMAP');
End;
BEGIN

SETUPSRL;
DECLAREPLAYERS;
LOGINPLAYER;
LOADFOODINFO;
END.

Footy

2012-11-13 18:19:15

Is it because you never call Eatfood? ;)

Le Jingle

2012-11-13 18:22:01

Your records are fine, you need to change the case statement.

You can't do lowercase(string) and have only UPPERCASE options, hence it won't load anything.

Kasi

2012-11-13 18:32:42

From: Le Jingle
Your records are fine, you need to change the case statement.

You can't do lowercase(string) and have only UPPERCASE options, hence it won't load anything.


This, may i ask why everything is in uppercase? well all your begin's end's etc?

Google

2012-11-13 18:33:14

I have also tried uppercase did not work I will give it another try.

E: I use uppercase because its easier for me to read.

@E: I edited somethings out I do but i call the eat process in the script @ footy.



Solved it, thanks jingle actually worked out this time.