! My Banker Script.
!
! (c) Wolfpack Software, 1997
!
!------------------------------------------------------------------------!
:@TALK ! Talk to the character !
!------------------------------------------------------------------------!
if player.hp = 0 then
writeln( player.name, " is dead!" );
STOP;
endif;
if npc.count = 0 then
L0 = msgbox( ERROR, 1, "Ok", "ERROR: NPC Script called with no NPC selected!" );
STOP;
endif;
loadtext( npc.text ); ! Get the NPC's text block !
loadvfl( npc.voice ); ! Get the NPC's voice block !
! First, say hello.. !
if npc.picture >= 0 then
viewpcx(npc);
endif;
if NPC.V0 > 0 then
view_pcx( "ANYFRAM3.PCX" );
set_frame( "ANYFRAM3.PCX", 10, 10, 10, 10, 0 );
pwriteln("Hello, ", player.name, "!");
pause;
paint(window);
else
G78 = 0;
view_pcx( "ANYFRAM2.PCX" );
set_frame( "ANYFRAM2.PCX", 10, 10, 10, 10, 0 );
pwriteln("Monsters take your money when you are defeated.");
pause;
paint(window);
view_pcx( "ANYFRAM3.PCX" );
set_frame( "ANYFRAM3.PCX", 10, 10, 10, 10, 0 );
pwriteln("Leave it here for safe keeping.");
pause;
paint(window);
endif;
! Now, set some variables..
NPC.V0 = 1; ! From know on, remember we've been here
! Then start a loop and show a menu..
:LOOP
L3 = select( "Deposit", "Withdraw" );
on L3 goto BUY, WDRAW;
! ESCape and BYE get's us out of here..
:CSTOP
writeln( "Oh. You changed your mind." );
stats(-1); ! Refresh Statistics !
goto XSTOP;
!-------------------------------------------------!
! Player want's to buy something from us.. !
!-------------------------------------------------!
:BUY
writeln( "How many gold pieces do you wish to deposit?");
L0 = getnum( "How much?");
if L0 * 10 > group.gold or L0 < 1 then
writeln ("That transaction is invalid! Please try again.");
timeck(18);
goto BUY;
endif;
inc (G78, L0);
dec (group.gold, L0 * 10) ;
writeln("Thank you for your deposit.");
pause;
writeln("It will be here for you when you need it.");
goto XSTOP;
:WDRAW
if G78 = 0 then
writeln("You have none deposited!");
goto LOOP;
endif;
writeln("Your current balance is: ", G78, " gold pieces.");
pause;
writeln("How many GP do you wish to withdraw?");
L1 = getnum("How much?");
if L1 < 0 or L1 > G78 then
writeln("That transaction is invalid. Please try again.");
goto XSTOP;
endif;
dec (G78, L1);
inc (group.gold, L1 * 10);
writeln("Thank you for your business!");
goto XSTOP;
!-----------------------------------------------------------------!
! All STOPs now lead here so the screen can be restored if needed !
!-----------------------------------------------------------------!
:XSTOP
paint( large );
STOP;
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Now following Procedures included by DCGLink
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
               (
geocities.com/timessquare)