!Inkeeper script..
! Copyright (c)1997 AbyssWare
! By: AbyssDragon
! abyssdragon@juno.com http://www.geocities.com/TimesSquare/2795
! Modified from civilian.scr by DCSoftware
!
! This creates an inkeeper where the player can stay the night. It restores
! all statistics to full. If you've ever played the Final Fantasy series of
! games, this will be familiar. This shouldn't be too hard to figure out.
! Npc.value contains the cost for 1 night
!
!------------------------------------------------------------------------!
:@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;
! First, say hello.. !
if npc.picture >= 0 then
viewpcx(npc);
endif;
if NPC.V0 > 0 then
S1 = swriteln( "Hello ", player.name, "." );
L0 = msgbox( EXCLAMATION, 1, "Okay", S1 );
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
S1 = swriteln( "Rooms cost ", npc.value, ". Do you want to buy one?");
L0 = MSGBOX( EXCLAMATION, 2, "Yes", "No", S1 );
on L0 goto INNROOM, CSTOP;
! ESCape and BYE get's us out of here..
:CSTOP
L0 = msgbox( EXCLAMATION, 1, "Okay", "Good bye. Come back again!");
stats(-1); ! Refresh Statistics !
goto XSTOP;
:INNROOM
if group.gold < npc.value then
L0 = msgbox( EXCLAMATION, 1, "Okay", "You don't have enough money to pay for a room!");
goto CSTOP;
endif;
dec( group.gold, npc.value );
! music( "sleep.mid" ):
wait( 3 );
foreach player do ! Refresh stats
player.hp = player.mhp;
player.man = player.mman;
player.ac = player.mac + player.armor.ac + player.shield.ac;
player.str = player.mstr;
player.dex = player.mdex;
player.int = player.mint;
endfor;
inc( minute, 480); ! 8 hours of sleep
inc(G150, 480); ! This probably means nothing to you, in my script this
! represents how long it has been since the player ate.
goto CSTOP;
!-----------------------------------------------------------------!
! All STOPs now lead here so the screen can be restored if needed !
!-----------------------------------------------------------------!
:XSTOP
paint( large );
STOP;
               (
geocities.com/timessquare)