Cloudee1's Problems scripting(ongoing)

cloudee1 Alright everybody I suck at programming, but I don't think that is any reason to give up, so with that said with a little perseverence and the help of many smart people who are knowledgable in this stuff like you I plan to finish "The Search: A Cannabus Concauction"

Right now my brain is buzzing from staring at scripts, when I am not actually thinking about something I have ifs and elses running around in my head.

Tonight after work I plan to sit down and do some scripting so I will probably have some problems to post, I have some now but I am going to try to conquer some of them first before asking

OS XP SCIstudio 3.0.1.29 :-*
cloudee1 My game is about smoking marijuana or at least attempting too (The Search: A Cannabis Concauction) and no it doesn't help my programming by first indulging

For instance the current problem I'm having, I drew a shell of a refrigerater,no door, in the room(2)

I have my refrigerater door which I drew as a view(200).

As a prop I can place the door on fridge, I can't place it as a door because I get an error when compiled that says it is looking for an integer, I tried (for experimenting) to have ego go to a different room(assuming that is the integer it wants) and it still says need integer when I compile.


(theFrig:init())

not right next to each other, each in it's own section

(instance theFrig of Door(properties y 128 x 211
entranceTo 5 locked False view 200))

I don't want to go to room 5 really all I want to do is switch to cel 1 on view
Please somebody help
Brian_Provinciano Hi! Good for you! Don't give up! Programming can be difficult at first, but the only way to learn it is to keep trying!

You problem is due to the fact that SCI is a case senstive language. This means that "A" is different from "a".

You code is...
(instance theFrig of Door
(properties
y 128
x 211
entranceTo 5
locked False
view 200)
)

You code should be...
(instance theFrig of Door
(properties
y 128
x 211
entranceTo 5
locked FALSE
view 200)
)

An integer is a number, but "FALSE" is a number as well. In SCI.SH it is defined as 0. 1 is "TRUE", 0 is "FALSE".
beyond infinity Hail to thee oh daring welcome amongst those who conquer the bits and bytes ... and earn their guts with this struggling stuff *rofl*

thus spoken I wish thee good lock with thee experiences and dont become distracted by programming language fuzzyness. It's not that hard.

stay safe
cloudee1 I have to work early on Saturday so i didn't have time to encounter my next problem but a quick update my refrigerater works great

/*I like many others grew up on sierra games I have always wanted to make one, while a subtrevert plot I intend on making a kick ass game, Your support will not be wasted many thanx for now and later*/

my frig door works!!!! small steps provide the greatest pleasure ;D
cloudee1 Alright I am almost done with my whole kitchen area,

Very small detail:

I tried to have seperate responses for "look fridge" and "look in fridge" but for "look in fridge" it responded with both I understand why this happens but how can I prevent it.

Regardless I've gotten rid of the look in path and instead have opted to just give that response when door opens:

(if(Said('open/frig,door'))
(theFrig:open(Print("Way in the back you see")Print("A box of Arm & Slammer baking soda"))))
(if(Said('close/frig,door'))
(theFrig:close()))


It gives response before animation I would of course like it after ;) Like I said small detail
Brian_Provinciano You are doing:

Door:open( Print(), Print() )

You most likely want something like:
Door:open()
Print()
Print()
cloudee1 Well good news I don't know what has happened but suddenly things are going very very well, in a couple of days i will probably have questions about inserting animated cut scenes but as for now I have it planned to complete everything else except for those by Thursday morning

That damn refrigerater is pissing me off Brian i followed the example and it still describes before animation

Heres what i got:
(if(Said('open/frig,door'))
(theFrig:open())
Print("Way in the back you see")
Print("A box of Arm & Slammer baking soda")
)

also when ego is to far away to open the door it replies that you are too far away, then it gives my "print" statements, I used the default door control line in view to set boundaries, I haven't been able to successfully insert those restrictions to apply to the print statements? :-\?
Brian_Provinciano The interpreter works on cycles. The animation takes a number of cycles to execute. So, when you say call door:open(), it begins the cycle, executing the first cycle/door frame, then the next cycle/door frame, etc. until the door's animation is done. If you want it to say the message when the door is completely open, you need to use states, or set flags and check them. For example, checking if the door is open, or opening (reading it's properites).
cloudee1 Alright so far so good almost all of my said statements control lines rooms inventorys are done by thursday is my goal for that misc. stuff I currently know how to do,

then it is creating cut/title screens and "The Search" demo will be ready (Hopefully by Saturday)

for now I have no problems to report or questons that need answered

I don't really understand why I don't though
cloudee1 Alright I can't see this piece anymore when I type in use hand in pipe while not holding the INV_HAND, I get "You don't have minute hand", so far so good, but then it replies "You've left me responseless". All other returns are the way they should be, does anybody notice the problem?

(if(Said('use>'))
(if(Said('/hand>'))
(if(send gEgo:has(INV_HAND))
(if(Said('//pipe'))
(if(send gEgo:has(INV_PIPE))
(if(send gEgo:has(INV_RESIN))Print("You have already scraped as much resin as you could!"))
(else Print("You scrape as much of the pipe as you can")Print("You pull out quite a chunk of resin!")(send gEgo:get(INV_RESIN))))
(else Print("You don't have a pipe!"))))
(else Print("You don't have the minute hand"))
))


I also tried to replace line 4 with
(if(Said('//(in<pipe,on<pipe)'))
:-\same results as above
Brian_Provinciano You see by doing:
(if(Said('/hand>'))

the ">" tells the compiler not to claim the Said statement. just "/hand" would cause it to claim it if the player does, infact, say "hand".
cloudee1 I don't get it

I thought that 'varx>' told it to look for next word match assuming they typed "varx vary "

or like i'm attempting for: "use hand in pipe"

if "use> " then
if "also hand>" depending if have hand, then
if "also pipe" depending if have pipe, then
depending on whether done before
determined by RESIN
then do

I plan to put in a (else(if(said '[ //* , !* ]' for the "use hand varZ" is it because I'm not giving it another option yet that it gives me the responseless error?

I have fought with that little stretch of script long enough that I don't want to go explore it more until I have a clear understanding first
Wilco23
cloudee1 wrote:

(if(Said('//pipe'))
(if(send gEgo:has(INV_PIPE))
results as above


Could it be because you've inserted:
(if(Said('//pipe'))

Instead of:
(if(Said('/pipe'))

Perhaps when you type "use hand pipe" the word pipe isn't properly recognised.
cloudee1 I don't know
I thought because it was the third word in sequence that it was searching for I needed the //
but like you I don't know programming so I don't know, I downloaded the AP2 script which was posted in your thread Wilco, I am hoping to get a better knowledge and understanding as I stare at more and more script examples, There are very few expressions which I have mastered. (but that isn't stopping me from pushing ahead) like the above bug in my programming, only happens when you don't have the minute hand, (and then it is just an extra response box) works fine "with hand" & "without pipe" or "with both" but what are the chances that someone would try to scrape the pipe without picking up the hand (let alone without my telling them that that is what they need to do )
so even though bugs suck will anybody but the tester ever really find them.

I don't know what to do to fix above just because I don't know what symbols or phrases really to use, but if no one tells me how, I can tell you that it probably won't get fixed.

But the game will go on.

My demo is almost ready all inventory items response, pick up, views(still not happy with ego) ,pics, controls are done.

I still need 2 death animations, and title screen, I suppose end game screen too since it's a demo and then I will be well on my way.




Wilco23 I think the more examples we have to use and look at the better. I'm definitely finding Eigen's source code very helpful.
Sounds like you've got a lot of work done on your game.
I've only got four rooms in my game so far, but I'm working on it!
FastaKilla Maybe instead of that you could just have the player type
"scrape pipe" or "scrape resin"
and have it work only if you have the hand and the pipe