Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - robbo007

Pages: [1] 2 3 ... 7
1
SCI Syntax Help / Re: SCI0: Issues implementing Trite Phrase Menu item
« on: September 29, 2024, 03:09:55 PM »
Hi,
I did, I've got gExpletive defined in my main.sc. Recompiled all.
Regards,

2
SCI Syntax Help / SCI0: Issues implementing Trite Phrase Menu item
« on: September 26, 2024, 04:35:18 PM »
Hi guys,
I'm trying to implement something like the Trite Phrase used in LSL2 or the Expletive in LSL3. The LSL2 version seems a lot simpler but I'm getting a crash when using the code in my main.sc

I've added the following to my main.sc
Code: [Select]
(= gExpletive (Format @gExpletiveBuffer 976 0)) ; "Have a nice day."
and I've added the following to menubar.sc

Code: [Select]
(AddMenu
{ Action_}
{Pause Game`^p:Inventory`^I:Retype`#3:--! :Colors`^c :Ask about`^a :Boss Key`^b :Lowe-O-Meter\05`^h :Expletive`^x};:Expletive`^x
)

Code: [Select]
(MENU_EXPLETIVE
(GetInput (Format @temp4 gExpletive) 38
{Enter your favorite expletive:}
)
(if (> (StrLen @temp4) 4)
(Format gExpletive @temp4)
)
)

The game.sh has:
Code: [Select]
(define MENU_EXPLETIVE $0309)
And I have a text file created 976 with the 0 entry holding "Have a nice day"

I get the opps error when starting my game. Using the debug commands I see its getting stuck in room 290 init. This room runs a speed checker for real hardware at startup.

Code: [Select]
(method (init)
(ProgramControl)
(= gProgramControl FALSE)
(SL disable:)
(TheMenuBar hide:)
(super init:)
(gEgo
view: 290
posn: 20 100
setStep: 1 1
setMotion: MoveTo 3000 100
setCycle: Walk ;even though view.290 has only one frame, the overhead of a Cycler makes the simulation more realistic.
init:
)
(gGame setSpeed: 0)
)






3
SCI Syntax Help / Re: SCI0: Events claimed Flags etc
« on: August 11, 2024, 04:58:12 PM »
I think I was trying to use the events and flags for something that could easily be achieved with less hassle. I managed to do the following:

Code: [Select]
(if (== gPreviousRoomNumber 976)
(aTaxi init:)
else(aTaxi hide:)
)

This only runs the intro taxi sequence when coming from the Initroom at the start of the game.

I still don't understand how events claimed work or how to use flags and where to use all this.

4
SCI Syntax Help / Re: SCI0: Events claimed Flags etc
« on: August 03, 2024, 07:20:09 AM »
Here is the full taxi script:

Code: [Select]
(instance aTaxi of Act
(properties
view 607
x 9
y 97
loop 0
)

(method (init)
(super init:)
(self
setPri: 6
;setCycle: End
setScript: aTaxiScript
cycleSpeed: 4
;stopUpd:
)
)
)

(instance aTaxiScript of Script ;
  (method (handleEvent pEvent)
  (super handleEvent: pEvent)
 )
  (method (changeState newState)
    (switch (= state newState)
(0
(ProgramControl) ;hands off
(= seconds 5) ; wait 10 seconds
(Print {"A year later...})
)
(1
(Print {"Seeya round buddy", shouts the taxi driver.})
(client
illegalBits: 0
cycleSpeed: 0
setLoop: -1
setCycle: Rev
setMotion: MoveTo -52 97 self
)
(PlayerControl) ;hands on
(SetFlag 20)
)

)
)
)

So what I was trying to do with the setflag procedure was if not detected flag 20 (eg the changestate has not been run yet and the flag was not set)  then init the taxi. If the changestate has been run and the flag has been set then don't init the taxi.

Maybe there is a better way to do this? I was copying the setflag and testflag from some of the rooms in LSL3. I've also seen event claimed when using SAID but not sure if that can be used to control if a changestate like my taxi script has been run or not?
Regards,

5
SCI Syntax Help / SCI0: Events claimed Flags etc
« on: July 31, 2024, 06:33:36 PM »
Hi guys,
Could someone help out and shed some light on how flags and claimed events work? I'm trying to have a changestate run once in a room. When ego walks back into the room I don't want the changestate to run again. I was trying to copy the LSL3 source using a flag procedure but its not working.

Code: [Select]
(procedure (SetFlag flag)
(= [gFlagArray (/ flag 16)]
(| [gFlagArray (/ flag 16)] (>> $8000 (mod flag 16)))
)
)
(procedure (TestFlag flag)
(return
(if (& [gFlagArray (/ flag 16)] (>> $8000 (mod flag 16))) 1 else 0)
)
)

Code: [Select]
(if (not (TestFlag 20))
(aTaxi init:)
)

Code: [Select]
(method (changeState newState)
    (switch (= state newState)
(0
(ProgramControl) ;hands off
(= seconds 5) ; wait 10 seconds
(Print {"A year later...})
)
(1
(Print {"Seeya round buddy", shouts the taxi driver.})
(client
illegalBits: 0
cycleSpeed: 0
setLoop: -1
setCycle: Rev
setMotion: MoveTo -52 97 self
)
(PlayerControl) ;hands on
(SetFlag 20)
)
)
)
)

Thanks :)

6
SCI Syntax Help / Re: SCI0: RegionPath Wandering
« on: June 20, 2024, 04:42:39 PM »
Thanks everyone. I got it working. It was good to see how the debugging tools work a little more also.

The problem was with the nextRoom method. It seems to need to have the previous room set and not the actual room where the bikini lady starts. (In my case the bikini lady starts walking from room 28)

Code: [Select]
(method (nextRoom)
(if
(and
(== (self at: (+ 2 value)) 3)
(== gRoomNumber 32) ; Quicki Mart
(gCurRoom notify: 0)
)
(repeat
(-= value 2)
(breakif (== (self at: (+ 1 value)) 32767))
)
)
(super nextRoom: &rest)
)
)

7
SCI Syntax Help / Re: SCI0: RegionPath Wandering
« on: June 05, 2024, 03:32:25 PM »
BTW. scummvm does not seem to "recognise" my game hash. So I never got it running with it.

Edit: How did you see the error message in scumm if it wont run the game?

Thanks for the tips. I really appreciate this as it really helps me grasp the SCI language.
So I got the error from the SCIV debugger. I tried my game a while back in the scumm engine and that's when I got the hash error.

8
SCI Syntax Help / Re: SCI0: RegionPath Wandering
« on: June 05, 2024, 12:22:07 PM »
Clearly the stack is read bottoms-up, considering the bottom item is (LSL4 play:).

Just checking :)

9
SCI Syntax Help / Re: SCI0: RegionPath Wandering
« on: June 05, 2024, 11:58:43 AM »
ok thanks. Yeah I think I'm getting into deep waters here. I understand the concept of stacks from assembly but as there is still quite a bit for me to learn in SCI I'm getting a little lost. I might have to put this script on hold for the time being until I advance with the other rooms and hopefully learn more. Then I can come back to this. Ive been on it for days now. LOL

BTW. scummvm does not seem to "recognise" my game hash. So I never got it running with it.

PS: Is the stack read from bottom to top? Meaning last item to load is on the top? If so that might point to the nextroom method in the beachwalkers path script. hmmmm


10
SCI Syntax Help / Re: SCI0: RegionPath Wandering
« on: June 04, 2024, 05:47:00 PM »
The setRegions message is being sent to addToPics. Why is that? That bit got left out (and was probably a copy-paste error when you wrote the post). Was this as intended? You're supposed to send it to a Room instance (i.e. self in most cases).

Sorry yes I had the syntax wrong. I've now corrected it and added it under the (super init:) but now get an not an object error in debug. hmmm

Code: [Select]
(self setScript: RoomScript)
(self setRegions: 301)   ; Testing water bikini script

Debug error:
"PMachine
Not an object: 0$"


11
SCI Syntax Help / Re: SCI0: RegionPath Wandering
« on: June 04, 2024, 12:01:13 PM »
also: try scummvm

Amazing..That's much better. The error is:

"setRegions is not a selector for addToPics"

hmm....So do all instances of a view need to be a feature and the setFeature: used? Or maybe loaded with RSView?


12
SCI Syntax Help / Re: SCI0: RegionPath Wandering
« on: June 02, 2024, 04:52:16 PM »
Knowing exactly which oops error this is would help somewhat. Other than that... sprinkle debug prints through your code?

Its the "You tried something that we didn't think of... " error which does not help :(

13
SCI Syntax Help / Re: SCI0: RegionPath Wandering
« on: June 02, 2024, 04:30:27 PM »
ok thanks. I found them.

I've setup my "water.sc" equivalent script (script 301) which includes the bare basics. I've added the set regions to my room script (room 28) but not sure where its failing. I'm getting the "opps error". Is there any way to debug this to find out exactly which part of the code is triggering it?

Script 28:
Code: [Select]
setRegions: 301  ;Testing water bikini script

Code: [Select]
;;; Sierra Script 1.0 - (do not remove this comment)
;**
;** Logics for room 301 - RegPath, RegionPath et al (aka water.sc)
;**
;** Leisure Suit Larry 4 - Never say Nontoonyt (AKA The Missing Floppies)
;**        Copyright 2024
;** by Robbo
;**
;** Last Update: May 30th, 2024
;**
(script# 301)
(include sci.sh)
(use Main)
(include sci.sh)
(include game.sh)
(use Controls)
(use Cycle)
(use Door)
(use Extra)
(use Feature)
(use Follow)
(use Game)
(use Gauge)
(use InitRooms)
(use Inv)
(use Rev)
(use Jump)
(use MenuBar)
(use Obj)
(use RegionPath)
(use DPath)
(use Avoid)
(use Motion)
;these were in the original script
;(use Sight)
;(use Interface)
;(use n802)
;(use n962)
;(use Actor)
;(use System)

(public
Water 0
bikini3Lady 1
bikini4Lady 2
)

(local
local0
[local1 113] = [32767 28 8 133 45 118 258 110 259 75 176 50 -32768]
)

(procedure (OneOf what things &tmp i)
(for ((= i 0)) (< i (- argc 1)) ((++ i))
(if (== what [things i])
(return (or what 1))
)
)
)

(instance Water of Rgn
(properties)

(method (newRoom newRoomNumber)
(if (not (= keep (OneOf newRoomNumber 26 27 28 29))) ; beach, beach1, beach2, Vivir sin Domir
(gGame setScript: 0)
)
(= initialized 0)
(super newRoom: newRoomNumber &rest)
)

(method (init)
(Load rsVIEW 994) ;Brunette Babe
(Load rsVIEW 993) ;Blonde Babe
(super init: &rest)
(closeUpView init:)
(if (not script)
(self setScript: beachWalkerScript)
)
(if (IsObject (script register:))
((script register:) init: setMotion: beachWalkerPath)
)
(if (not (gGame script:))
;(gGame setScript: musicScript)
)
)

(method (notify param1 param2 &tmp temp0)
(switch param1
(0
(= temp0 0)
(while (< temp0 (- argc 2))
((Clone param2)
x: [param2 (++ temp0)]
y: [param2 (++ temp0)]
loop: [param2 (++ temp0)]
init:
)
)
)
(1
(beachWalkerScript register:)
(return)
)
)
)

(method (handleEvent event)
(cond
((super handleEvent: event))


)
)
)

(instance closeUpView of View
(properties
y 85
x 265
loop 4
)

(method (init)
(super init:)
(self hide: setPri: 15)
)

(method (show param1)
(self view: param1 setLoop: 4)
(super show:)
)
)

(instance bikini3Lady of Act ; Brunette babe
(properties
view 994
)

(method (init)
(super init:)
(self
setAvoider: Avoid 1
ignoreHorizon:
setCycle: Walk
observeControl: 2048
)
)

(method (handleEvent event)
(cond
((super handleEvent: event))

)
)
)
(instance bikini4Lady of Act ;Blonde Babe
(properties
view 993
)

(method (init)
(super init:)
(self
setAvoider: Avoid 1
ignoreHorizon:
setCycle: Walk
observeControl: 2048
)
)

(method (handleEvent event)
(cond
((super handleEvent: event))

)
)
)

(instance beachWalkerPath of RegionPath
(properties
value 29
endType 0
theRegion 301 ;refers to script 301
)

(method (at param1)
(return [local1 param1])
)

(method (nextRoom)
(if
(and
(== (self at: (+ 2 value)) 28)
(== gRoomNumber 28) ; Beach2
(gCurRoom notify: 0)
)
(repeat
(-= value 2)
(breakif (== (self at: (+ 1 value)) 32767))
)
)
(super nextRoom: &rest)
)
)

(instance beachWalkerScript of Script
(properties)

(method (changeState newState &tmp temp0)
(switch (= state newState)
(0
(= temp0
(switch (Random 2 3)
(2 bikini3Lady)
(3 bikini4Lady)
)
)
(beachWalkerPath value: -1)
(if (IsObject register)
(register dispose:)
)
(if (== temp0 register)
(self init:)
else
((= register temp0) init: setMotion: beachWalkerPath self)
)
)
(1
(self init:)
)
)
)
)


14
SCI Syntax Help / Re: SCI0: RegionPath Wandering
« on: May 30, 2024, 07:19:31 AM »
According to the opening comments in the original REGPATH.SC, both the path points, the Actors walking along said path, and the actual implementation of RegionPath (that's beachWalkerPath and it only needs to provide an at method -- the rest is just Iceman specific), must be contained in the same module/script file. It even straight-up tells you to look at Iceman's WATER.SC as an example.

Ok thanks. I'm using the decompiled code from sluicebox no comments in it :( Are you looking at different source code? As I can't see REGPATH.SH etc..

15
SCI Syntax Help / SCI0: RegionPath Wandering
« on: May 30, 2024, 06:25:42 AM »
Hi guys,
I'm trying to get an actor to wander around from room to room. Sort of like what they did with the BikiniLadies in Codename: Iceman.

I've found in the Iceman source code this code but don't really understand what its doing all the time.

Water.sc
Code: [Select]
(method (init)
(Load rsVIEW 217)
(Load rsVIEW 216)
(Load rsVIEW 215)
(Load rsVIEW 214)
(Load rsVIEW 702)
(Load rsVIEW 202)
(Load rsVIEW 902)
(super init: &rest)
(gEgo viewer: EgoWaterViewer)
(closeUpView init:)
(if (not script)
(self setScript: beachWalkerScript)
)
(if (IsObject (script register:))
((script register:) init: setMotion: beachWalkerPath)
)
(if (not (gGame script:))
(gGame setScript: musicScript)
)
)

(method (notify param1 param2 &tmp temp0)
(switch param1
(0
(= temp0 0)
(while (< temp0 (- argc 2))
((Clone param2)
x: [param2 (++ temp0)]
y: [param2 (++ temp0)]
loop: [param2 (++ temp0)]
init:
)
)
)
(1
(beachWalkerScript register:)
(return)
)
)
)

So here its loading the views for the BikiniLadies and checking to see if the beachWalkerScript is registered and registering it. I don't know what the method is doing really? I can only seem to get the method compiling if I include it after the (method (handleEvent pEvent) section in my RoomScript.

Code: [Select]
(instance closeUpView of View
(properties
y 85
x 265
view 993
loop 4
)

(method (init)
(super init:)
(self hide: setPri: 15)
)

(method (show param1)
(self view: param1 setLoop: 4)
(super show:)
)
)

(instance aBikini3Lady of Act
(properties
view 993
)

(method (init)
(super init:)
(self
setAvoider: Avoid 1
ignoreHorizon:
setCycle: Walk
observeControl: 2048
)
)

(method (handleEvent event)
(cond
((super handleEvent: event))
((IsOffScreen self))
((Said 'look[<at][/woman,brunette,native[<native,brunette]]')
(closeUpView show: view)
(Animate (gCast elements:) 0)
(Print { Whew, what a hot lookin' native girl!})
(closeUpView hide:)
(event claimed: 1)
)
)
)
)

(instance aBikini4Lady of Act
(properties
view 994
)

(method (init)
(super init:)
(self
setAvoider: Avoid 1
ignoreHorizon:
setCycle: Walk
observeControl: 2048
)
)

(method (handleEvent event)
(cond
((super handleEvent: event))
((IsOffScreen self))
((Said 'look[<at][/blond,woman[<blond]]')
(closeUpView show: view)
(Animate (gCast elements:) 0)
(Print {This blonde is definitely a babe.})
(closeUpView hide:)
(event claimed: 1)
)
((Said 'whistle')
(Print {She ignores your ancient ploy.})
)
((Said 'ask<out/woman')
(Print {She is out.})

)
;;; ((Said '[/bitch,cunt,boob,blond,woman[<blond]]>')
;;; (cond
;;; ((Said 'ask//date')
;;; (localproc_0)
;;; )
((Said 'ask//time')
(Print {Time has no meaning in Tahiti.})
)
;;; ((Said 'chase')
;;; (Print 301 18) ; "You can do that."
;;; )
((Said 'talk')
(Print {She's trying to ignore you.})
)
;;; ((Said 'kiss,suck,fuck,touch')
;;; (if (> (gEgo distanceTo: self) 50)
;;; (Print 301 20) ; "You'll have to get closer than this."
;;; else
;;; (QueScript self 353)
;;; )
)
)
)

(instance beachWalkerPath of RegionPath
(properties
value 29
endType 0
theRegion 028
)

(method (at param1)
(return [local1 param1])
)

(method (nextRoom)
(if
(and
(== (self at: (+ 2 value)) 3)
;(== gRoom newRoomNumber: 28) ; volleyRm
(gRoom newRoom: notify: 0)
)
(repeat
(-= value 2)
(breakif (== (self at: (+ 1 value)) 32767))
)
)
(super nextRoom: &rest)
)
)

(instance beachWalkerScript of Script
(properties)

(method (changeState newState &tmp temp0)
(switch (= state newState)
(0
(= temp0
(switch (Random 2 3)
(2 aBikini3Lady)
(3 aBikini4Lady)
)
)
(beachWalkerPath value: -1)
(if (IsObject register)
(register dispose:)
)
(if (== temp0 register)
(self init:)
else
((= register temp0) init: setMotion: beachWalkerPath self)
)
)
(1
(self init:)
)
)
)
)

So the CloseUp is how it shows the portrait of the bikinilady when looking at her.
The BikiniLadies instances seem more or less clear but I can't see how to get them appearing on screen. Everything compiles fine on my script.
Ive added the RegionPath script #809 also to my script folder. I'm not sure if the SC template has a build in one?
The Beachwalker script is more or less clear.

Here is my final roomscript including the Iceman code:

Code: [Select]
;;; Sierra Script 1.0 - (do not remove this comment)
;**
;** Logics for room 027 - Beach 1
;**
;** Leisure Suit Larry 4 - Never say Nontoonyt (AKA The Missing Floppies)
;**        Copyright 2024
;** by Robbo
;**
;** Last Update: March, 27th, 2024
;**
(script# 28)
(include sci.sh)
(include game.sh)
(use Controls)
(use Cycle)
(use Door)
(use Extra)
(use Feature)
(use FileIO)
(use Follow)
(use Game)
(use Gauge)
(use InitRooms)
(use Inv)
(use Rev)
(use Jump)
(use Main)
(use MenuBar)
(use Obj)
(use RegionPath)
(use DPath)
(use Avoid)

(public
rm028 0
)

(local
local0
[local1 113] = [32767 7 273 117 104 132 48 235 32767 5 72 104 135 104 325 184 32767 4 76 95 128 103 325 178 32767 3 -5 90 325 100 32767 2 -5 100 180 160 325 185 32767 12 -5 170 175 156 325 128 32767 13 -5 128 325 106 32767 24 -5 116 184 111 155 72 -5 130 32767 13 325 106 -5 128 32767 12 325 128 175 156 -5 170 32767 2 325 150 -5 100 32767 3 325 100 -5 90 32767 4 325 178 128 103 76 95 32767 5 325 184 135 104 72 104 32767 7 48 235 104 132 273 117 -32768]
)

(procedure (IsOffScreen theObj)
(return
(not (and (< 0 (theObj x:) 320) (< 0 (- (theObj y:) (theObj z:)) 200)))
)
)

(instance rm028 of Rm
(properties
picture 028
north 0
east 0
south 0
west 029
)

(method (init)
(closeUpView init:)
(if (not script)
(self setScript: beachWalkerScript)
)
(if (IsObject (script register:))
((script register:) init: setMotion: beachWalkerPath)
)


(super init:)
(gAddToPics ;This adds views to the background in a much nicer way :)
add: aUmbrella
add: aUmbrella2
add: aFatGuy
add: aLegs
add: aPalm
doit:
)
(self setScript: RoomScript)
(switch gPreviousRoomNumber
)
(cond
((== gPreviousRoomNumber 026) (gEgo posn: 250 63 loop: 0)
)
((== gPreviousRoomNumber 027) (gEgo posn: 239 67 loop: 0)
)
((== gPreviousRoomNumber 029) (gEgo posn: 9 77 loop: 0)
)
(else
(gEgo posn: 150 100 loop: 1)
)
)
(SetUpEgo)
(gEgo init:)
(if (> gMachineSpeed pc8088)
(aWave init:)
(aWave2 init:)
(aBikini3Lady init:)
(aBikini4Lady init:)


)
)
)

(instance RoomScript of Script
(properties)

(method (doit)
(super doit:)
; code executed each game cycle
(if (& ctlBLUE (gEgo onControl:))
(gRoom newRoom: 027)
)
)

(method (handleEvent pEvent)
(super handleEvent: pEvent)
; handle Said's, etc...
)

(method (notify param1 param2 &tmp temp0)
(switch param1
(0
(= temp0 0)
(while (< temp0 (- argc 2))
((Clone param2)
x: [param2 (++ temp0)]
y: [param2 (++ temp0)]
loop: [param2 (++ temp0)]
init:
)
)
)
(1
(beachWalkerScript register:)
(return)
)
)
)

(method (changeState newState)
(= state newState)
(switch state
(0 ; Handle state changes
)
)
)
)

(instance aFatGuy of View ;Kenowama
(properties
view 028
loop 1
cel 0
x 77
y 142
priority 11
signal ignAct ;16384
)
)

(instance aUmbrella of View ;Red umbrella with Kenowama under it.
(properties
view 028
loop 0
cel 0
x 55
y 153
priority 10
signal ignAct ;16384
)
)
(instance aUmbrella2 of View ;Blue umbrella with two pairs of legs bottom right
(properties
view 028
loop 2
cel 0
x 293
y 169
priority 12
signal ignAct ;16384
)
)
(instance aLegs of View ;Pair of legs under blue umbrella bottom right
(properties
view 028
loop 3
cel 0
x 275
y 157
priority 12
signal ignAct ;16384
)
)
(instance aPalm of View ;Palm tree right
(properties
view 028
loop 4
cel 0
x 285
y 131
priority 09
signal ignAct ;16384
)
)

(instance aWave of Prop ; left wave at bottom
(properties
view 28
loop 5
x 78
y 189
cycleSpeed 15
)

(method (init)
(super init:)
(self
setPri: 1
setScript:(if (> gMachineSpeed pcAT)aWaveScript) ;this stops wave script if PC is a IBM AT or slower.
stopUpd:
)
)
)

(instance aWave2 of Prop ;right wave at bottom
(properties
view 28
loop 6
x 238
y 189
cycleSpeed 15
)

(method (init)
(super init:)
(self
setPri: 1
setScript:(if (> gMachineSpeed pcAT)aWaveScript) ;this stops wave script if PC is a IBM AT or slower.
stopUpd:
)
)
)
(instance aWaveScript of Script ;Here the two wave views are merged together and played at the same time.
  (method (changeState newState)
    (switchto (= state newState)
      (
        (aWave stopUpd:)
        (aWave2 stopUpd:)
        ; Wait for 2 to 6 seconds...
        (= seconds (+ 1 (* (Random 0 3) 2)))
      )
      (
        ; Setting a cycler automatically restarts updating.
        (aWave setCycle: Fwd self)
        (aWave2 setCycle: Fwd self)
      )
      (
        (aWave setCycle: Rev self)
        (aWave2 setCycle: Rev self)
      )
      (
        ; Repeat.
        (self changeState: 0)
        ; A better way might be to (= state -1) (= cycles 1) but nyehh.
      )
    )
  )
)

(instance closeUpView of View
(properties
y 85
x 265
view 993
loop 4
)

(method (init)
(super init:)
(self hide: setPri: 15)
)

(method (show param1)
(self view: param1 setLoop: 4)
(super show:)
)
)

(instance aBikini3Lady of Act
(properties
view 993
)

(method (init)
(super init:)
(self
setAvoider: Avoid 1
ignoreHorizon:
setCycle: Walk
observeControl: 2048
)
)

(method (handleEvent event)
(cond
((super handleEvent: event))
((IsOffScreen self))
((Said 'look[<at][/woman,brunette,native[<native,brunette]]')
(closeUpView show: view)
(Animate (gCast elements:) 0)
(Print { Whew, what a hot lookin' native girl!})
(closeUpView hide:)
(event claimed: 1)
)
)
)
)

(instance aBikini4Lady of Act
(properties
view 994
)

(method (init)
(super init:)
(self
setAvoider: Avoid 1
ignoreHorizon:
setCycle: Walk
observeControl: 2048
)
)

(method (handleEvent event)
(cond
((super handleEvent: event))
((IsOffScreen self))
((Said 'look[<at][/blond,woman[<blond]]')
(closeUpView show: view)
(Animate (gCast elements:) 0)
(Print {This blonde is definitely a babe.})
(closeUpView hide:)
(event claimed: 1)
)
((Said 'whistle')
(Print {She ignores your ancient ploy.})
)
((Said 'ask<out/woman')
(Print {She is out.})

)
;;; ((Said '[/bitch,cunt,boob,blond,woman[<blond]]>')
;;; (cond
;;; ((Said 'ask//date')
;;; (localproc_0)
;;; )
((Said 'ask//time')
(Print {Time has no meaning in Tahiti.})
)
;;; ((Said 'chase')
;;; (Print 301 18) ; "You can do that."
;;; )
((Said 'talk')
(Print {She's trying to ignore you.})
)
;;; ((Said 'kiss,suck,fuck,touch')
;;; (if (> (gEgo distanceTo: self) 50)
;;; (Print 301 20) ; "You'll have to get closer than this."
;;; else
;;; (QueScript self 353)
;;; )
)
)
)

(instance beachWalkerPath of RegionPath
(properties
value 29
endType 0
theRegion 028
)

(method (at param1)
(return [local1 param1])
)

(method (nextRoom)
(if
(and
(== (self at: (+ 2 value)) 3)
;(== gRoom newRoomNumber: 28) ; volleyRm
(gRoom newRoom: notify: 0)
)
(repeat
(-= value 2)
(breakif (== (self at: (+ 1 value)) 32767))
)
)
(super nextRoom: &rest)
)
)

(instance beachWalkerScript of Script
(properties)

(method (changeState newState &tmp temp0)
(switch (= state newState)
(0
(= temp0
(switch (Random 2 3)
(2 aBikini3Lady)
(3 aBikini4Lady)
)
)
(beachWalkerPath value: -1)
(if (IsObject register)
(register dispose:)
)
(if (== temp0 register)
(self init:)
else
((= register temp0) init: setMotion: beachWalkerPath self)
)
)
(1
(self init:)
)
)
)
)


Pages: [1] 2 3 ... 7

SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.063 seconds with 20 queries.