 |
Castle Paradox
|
View previous topic :: View next topic |
Author |
Message |
rarehunter41
Joined: 19 Jan 2008 Posts: 8
|
Posted: Sun Jan 20, 2008 11:28 am Post subject: |
|
|
Well, I tested it, and the renaming character one works best. Thanks for your help.
Quote: | This is akin to someone claiming they're going to go to Jupiter, then asking how the telescope works. I find it foolish for someone claiming to make an extremely advanced plotscripting project to not know even the general basics. |
If you are claiming that strings are the general basics, I disagree. But like I said, I figured out how to do everything else. I also probably should have said a game BASED on Animal Crossing, because there are some changes I have made. But I got the help I need now. |
|
Back to top |
|
 |
Calehay ...yeah. Class B Minstrel

Joined: 07 Jul 2004 Posts: 549
|
Posted: Sun Jan 20, 2008 11:54 am Post subject: |
|
|
Compared to the time engine you'd have to make, the minigames, and character relations, getting people to type in messages is a cakewalk.
But fine, if you think you can do it, be my guest.
EDIT:
I will apologize if I seem rude and curt, but I still feel the same way. _________________ Calehay |
|
Back to top |
|
 |
msw188
Joined: 02 Jul 2003 Posts: 1041
|
Posted: Sun Jan 20, 2008 5:33 pm Post subject: |
|
|
For what it's worth, I consider myself a pretty good plotscripter (I coded a full slot machine and poker 'machine' in Tales I, and I'm pretty proud of my item system in Tales II), but I also have problems with strings. For some reason they just seem to be the least intuitive things in Hamsterspeak. I think it is because we don't have the functionality to compare them 'on the fly'. What I mean is, if we want to ask a question with numbers, it's easy and intuitive:
Code: | if( hero x (me) >= 5) |
But, with strings, everything needs to be stored first, so we can't have something like:
Code: | if( get hero name(me) == "Bob" ) |
Just think, if variables worked like strings, all of our code would have to look like:
Code: | variable(coordinate)
coordinate:=hero x (me)
variable(lower bound)
lowerbound:=5
if( coordinate >= lowerbound ) |
I wonder if a page of these kinds of considerations would be helpful on the wiki. Something like: "How to use strings properly, and how they are unlike variables". I said that I would try to help improve the wiki, so if people think that something like this would be helpful, maybe I'll try to start a roughdraft of it. Or maybe I'm the only person who tends to think of plotscripting in this manner, and so the page wouldn't really be helpful at all. _________________ My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161
This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com |
|
Back to top |
|
 |
Pepsi Ranger Reality TV Host

Joined: 05 Feb 2003 Posts: 493 Location: South Florida
|
Posted: Sun Jan 20, 2008 7:17 pm Post subject: |
|
|
I'm actually a bit surprised by the "figure it out yourself" attitude that's cropped up here. The whole point of this forum is to help people who ask for it (assuming they already went down the channels of documentation).
If I can offer some perspective, there are many things that a person can figure out himself, but not everything. Sometimes documentation is clear enough, but sometimes it needs to come with examples. Personally, I found it difficult to understand how strings worked in plotscripting. The definitions were all there. I read them all. I comprehended about half of it.
For example, just looking at commands like "append ascii" and "append number," I could read them all day and not know what I'd use them for, whereas "show string" is pretty rudimentary, as several of commands I'm familiar with use "show" in the definition, and it's clear what they do.
Sometimes people just need to see something in action before they'll understand how it works. Both James and TMC can testify to having to spell things out for me in regard to certain plotscript functions because I'm not technically minded enough to use them correctly (not without much trial and error anyway). Some things are easy because they're already spelled out in their implication (who could think "show text box" means anything other than showing a text box?), while others (like using "current map" without "set variable") need explanation.
And sometimes, all the explanation in the world won't be enough. I've had script arguments explained to me a number of times and though I know what they are, I still can't comprehend how to use them (all those numbers don't make any sense to me).
In the end, sometimes people just need to be shown how something works instead of leaving them in the snow with just a fishing rod and a pair of shorts.
I suppose you could say that I wouldn't mind someone updating the plotscript dictionary to include more examples of how certain commands work. In fact, I think I'm gonna start a thread listing all the functions that could stand deeper explanation or examples on when they'd be used, which maybe James could officially update for Werewaffle.
I could use it anyway. _________________ Progress Report:
The Adventures of Powerstick Man: Extended Edition
Currently Updating: General sweep of the game world and dialogue boxes. Adding extended maps.
Tightfloss Maiden
Currently Updating: Chapter 2 |
|
Back to top |
|
 |
TMC On the Verge of Insanity
Joined: 05 Apr 2003 Posts: 3240 Location: Matakana
|
Posted: Sun Jan 20, 2008 7:18 pm Post subject: |
|
|
Edit: Oh, Pepsi responded. I guess I'll say something about that then.
Yes, strings are not a basic feature. They're hacked on, mostly aimed at people with experience, though they shouldn't be that way. The strings page on the wiki doesn't cover things very well. I, at least, am happy to answer questions like this one.
The fact is, you can do A LOT with the engine without ever touching plotscripting, but personally I think too much requires plotscripting. And look at Pepsi, though lost on the more convoluted topics, his games are adorned with some of the best scripting seen in any game, even though sticking with the basics.
I want to rewrite strings for the next-after-Voxhumana version, along with lots of other hamsterspeak improvements. First I'm going to try and work out the details on the mailinglist (sometime soon). I'm glad you (msw) at least will immediately appreciate the changes.
A page explaining strings in depth would be pretty helpful, but once we get a new syntax, we'll try and kill off the old one. The plotscripting dictionary is often very lacking. A thread to request specific improvements would be a great idea.
And, I'll try and remember to play Tales II today to see this item system you keep mentioning. _________________ "It is so great it is insanely great." |
|
Back to top |
|
 |
msw188
Joined: 02 Jul 2003 Posts: 1041
|
Posted: Sun Jan 20, 2008 8:00 pm Post subject: |
|
|
I don't know if it will help at all Pepsi, but one thing that I think is helpful to understanding arguments is to use them in simple scripts yourself, just as you are saying. Might I offer some advice on this?
First of all, I find arguments most sensible when explained using already familiar commands. For example, you use the command "show text box" fairly often, it seems. But notice that just typing the command
is useless. The command basically has no purpose without passing it an argument. A line like
Code: | show text box (123) |
has meaning because the argument tells the command which text box to show. I'm sure you already know all of that, but I put it here because this is what arguments do, and what you ALREADY use them for.
The next step is usually the difficult one, I think. Imagine writing scripts that work like commands instead of like 'plotscripts'. In other words, imagine writing a script with a name like "show text box" that you would want to use as a command a million times, but each time to show a different numbered thing. It might not be easy to come up with one on your own at first, so here is an idea.
I think that the easiest way to practice this is to come up with simplifications of already existing commands that get used together often. For example, there are probably lots of times that you would want to use the commands "show text box (number)" and "wait for text box" together. So instead of having to write those out every single time, imagine writing a command-style script that works just like "show text box", but also includes the wait. Here is what the code would look like:
Code: | plotscript, S W text box, TBnumber=0, begin
#I'm calling the script "S W text box" for "show and wait"
#I'm calling the argument "TBnumber" for "text box number"
#note the "=0". At first all of your arguments should probably have this
show text box (TBnumber)
#Here is the important part. This plotscript, when used as a command,
#should show the proper textbox. But how will it know which the proper
#one is? We will have to send it an argument when we use it.
#The number we send in when we use this plotscript (using parentheses)
#gets sent in and is called "TBnumber" here, so we write that in the
#parentheses for the regular "show text box" command
wait for text box
#If this wasn't here, this plotscript would work EXACTLY the same as the
#command "show text box", but we want this plotscript to mean that the
#computer should show the text box AND wait
end |
Then, to make use of this in a regular plotscript, we'd use it just like a "show text box" command:
Code: | plotscript, Story Script, begin
#fading screen stuff
#moving NPCs stuff
S W text box (123)
#This line will call our "S W text box" script and use it like a command,
#showing text box 123 AND waiting for it, without us having to manually
#type in the wait command again. Grand! In this example, the argument
#was 123.
|
Okay that was a lot. Do PM's have a 'code' button? I guess I should have checked first, but I don't feel like going through that, and there's always the off-chance that someone else reading this will be helped.
Pepsi Ranger, if you found this at all helpful and you'd like to continue discussing arguments, let me know. They really are very helpful and time-saving when used properly. We can discuss it in PM if there is a code button there. Then again, if this wasn't helpful at all, let me know that too. If I'm thinking about trying to help the wiki, I need to know when my explanations don't help.
PS: A list of plotscript explanations that need expanded upon would make for a very helpful thread, I think. _________________ My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161
This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com |
|
Back to top |
|
 |
msw188
Joined: 02 Jul 2003 Posts: 1041
|
Posted: Sun Jan 20, 2008 8:08 pm Post subject: |
|
|
To TMC:
Oh, it would be very nice to see a new syntax for strings that worked more like the variable syntax. Maybe a new comparison operator like "$==", meaning the same thing as what "string compare" means now? In any case, I will hold off on any wiki-ing, since it seems like it might be changing fairly soon. _________________ My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161
This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com |
|
Back to top |
|
 |
Calehay ...yeah. Class B Minstrel

Joined: 07 Jul 2004 Posts: 549
|
Posted: Sun Jan 20, 2008 8:25 pm Post subject: |
|
|
Quote: | (assuming they already went down the channels of documentation) |
And you assumed he did, considering:
Quote: | Look, I gave the way that would I prefer in the first post, and that is to check if a hero name is the same as something else. I either need a code that I can edit and it says what each thing means in plain English, or I need an explanation in plain English. |
Perhaps I'm reading too much into this, but it seems that he didn't even attempt to write his own script. I'm sorry, but I don't think it's fair to take advantage of the people here by asking them to write a script for you if you're not even willing to look through the documents.
I am more than willing to explain things to people. I am more than willing to correct plotscripts, but the two pages I linked were the exact same pages I used to create the script. I am not a good plotscripter by any means. In fact, I'm a terrible one, but I learned how to read the document before trying anything ambitious. I would never post here without attempting to script it myself first, or at least planning something that could remotely work, and most of the people who post here do that as well.
If I didn't wish to help people, why would I write the example script? I suggested he learn how to plotscript before taking on this ambitious task. If you can't master if...then statements, and then read two pages and not have at least a grasp of what he should do so that he can ask a more productive question than, "give me a script, please," I suggest not attempting to make Animal Crossing OHR. Do you not agree? Or would you rather he come here asking for every script?
But fine, I'll avoid this forum again, not because I'm as terrible in plotscripting as I once was, but because I apparently shouldn't expect others to take on just as tiny but of an effort to attempt to put two and two together, even if the answer's three. You can continue to do what you want, but in my opinion, you're being taken advantage of. _________________ Calehay |
|
Back to top |
|
 |
Pepsi Ranger Reality TV Host

Joined: 05 Feb 2003 Posts: 493 Location: South Florida
|
Posted: Sun Jan 20, 2008 9:32 pm Post subject: |
|
|
TMC wrote: | A page explaining strings in depth would be pretty helpful, but once we get a new syntax, we'll try and kill off the old one. The plotscripting dictionary is often very lacking. A thread to request specific improvements would be a great idea. |
Okay, I made a starter list at the link below. It's mostly easy stuff right now, but I think the plotscript dictionary should assume that everyone's a beginner. I'm gonna update the thread section by section, so hopefully that'll give people time to write out examples that James could use in the documentation.
http://www.castleparadox.com/ohr/viewtopic.php?t=5628
To MSW:
That's definitely a clearer explanation of how to use arguments than I'm used to seeing. I do know that they can be used as plotscript commands (James and/or TMC gave me an example some time ago). The part that always throws me is when numbers are involved, and especially when those arguments are used in define script headers. The latter probably isn't necessary anymore now that the syntax has changed, but that's where I've had the greatest hangups. Fortunately, I never had to use arguments (even in the midst of complicated stuff), so I never had to pull my hair out over them.
In any case, I think your explanation is helpful, and would dare request that you clean it up, expand it a bit, and submit it as a HamsterSpeak article for those having similar difficulties in understanding how they work. I've always been disappointed that there was never a great documented example for arguments on any forum (that I've found), so this would be a welcome addition.
Calehay wrote: | But fine, I'll avoid this forum again, not because I'm as terrible in plotscripting as I once was, but because I apparently shouldn't expect others to take on just as tiny but of an effort to attempt to put two and two together, even if the answer's three. You can continue to do what you want, but in my opinion, you're being taken advantage of. |
Is everything all right? Between this and the Rya thread, you seem way too agitated over OHR related stuff.
If he's taking advantage of us, then good, you called him out and maybe he won't do it again. But even so, he asked for help. There's no reason to avoid a forum over something like this, though.
Personally, I think he didn't understand how strings work.
It's okay, though. Really, this is no place to raise your blood pressure. Save the angst for the gas stations. _________________ Progress Report:
The Adventures of Powerstick Man: Extended Edition
Currently Updating: General sweep of the game world and dialogue boxes. Adding extended maps.
Tightfloss Maiden
Currently Updating: Chapter 2 |
|
Back to top |
|
 |
Moogle1 Scourge of the Seas Halloween 2006 Creativity Winner


Joined: 15 Jul 2004 Posts: 3377 Location: Seattle, WA
|
Posted: Sun Jan 20, 2008 11:05 pm Post subject: |
|
|
Plotscripting is probably the least intuitive aspect of the engine. My stance on this has always been to help people with simple scripts when I feel helpful and to ignore them otherwise.
I do find it odd that the OP has trouble with strings when he has a presumable working knowledge of other aspects of plotscripting, since this is the kind of thing I was programming in BASIC* when I was half his age (and he's half my current age, which makes me feel old), but then not everyone is as geekcore as I was.
So while I agree with Calehay that strings are pretty basic programming constructs (if maybe not for Hamsterspeak specifically), I'd still say there are three ways to deal with this kind of request: answer his question and explain what he's getting himself into, ignore his question and explain what he's getting himself into, or just ignore the thread entirely. It's not unreasonable to give newbies the benefit of the doubt with this kind of thing.
*Incidentally:
10 INPUT "What's the password", pass$
20 IF pass$ = "abc123" THEN PRINT "Yes" ELSE PRINT "NO" _________________
|
|
Back to top |
|
 |
msw188
Joined: 02 Jul 2003 Posts: 1041
|
Posted: Mon Jan 21, 2008 7:26 am Post subject: |
|
|
See, the problem I think there is with strings is, as TMC says, they were tacked on from a programmer's standpoint. To someone who has experience with programming in some other language, then, things like "append ascii" and "concatenate string" and "string compare", as functions, might seem intuitive (or at least, just as intuitive as any other aspect of plotscripting). But for someone who has never programmed in an outside language, I think that these kinds of storing and functional methods of accomplishing things feel much less natural than the variable methods, as I pointed out in an earlier post.
It's tough for me to say though, because I'm sort of in this middle position. I had one class on C+ using Visual Basic, and we didn't talk about anything more complicated than one-dimensional arrays. Other than that I did absolutely no programming before downloading the OHR, at which point I dove into a simple intro script pretty much right away. Also, I was a mathematician by trade, one of the best of my age group actually, so perhaps this sort of structural thinking comes naturally to me (I think I was most confident proceeding in Algebra, and got pretty far before I stopped).
EDIT1: Best of my age group, not "one of the best" period. Boy did that one sound conceited. Although maybe it still sounds so...
EDIT2: I forgot to respond to Pepsi Ranger:
Thanks for your compliments, I guess I have some time before the next issue's deadline to try to clean that mess up. I'm a decent 'on-the-spot' teacher, I think, but it will take me some work to put that advice into a worthwhile article for Hamsterspeak. And I'm not sure how well it would fit in the mag. I guess it would be like the Map-tutorial, kind of... _________________ My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161
This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com |
|
Back to top |
|
 |
TMC On the Verge of Insanity
Joined: 05 Apr 2003 Posts: 3240 Location: Matakana
|
Posted: Wed Jan 23, 2008 10:00 am Post subject: |
|
|
rarehunter41 wrote: | Well, I tested it, and the renaming character one works best. |
If you care, you can try inputstring again now that it works (in Voxhumana)
msw188 wrote: | #note the "=0". At first all of your arguments should probably have this |
Better to explain default values later, I think, and leave them out until then. By default, your scripts should not have default argument values! (Too bad that builtin commands always have defaults.)
msw188 wrote: | To TMC:
Oh, it would be very nice to see a new syntax for strings that worked more like the variable syntax. Maybe a new comparison operator like "$==", meaning the same thing as what "string compare" means now? In any case, I will hold off on any wiki-ing, since it seems like it might be changing fairly soon. |
Adding an alias like $== for stringcompare is the plan. But next versions, especially ones with no work done, serious bugs and ambitious plans never occur "fairly soon". Don't let me discourage you.
Calehay wrote: | Perhaps I'm reading too much into this, but it seems that he didn't even attempt to write his own script. I'm sorry, but I don't think it's fair to take advantage of the people here by asking them to write a script for you if you're not even willing to look through the documents. |
I don't feel taken advantage of, I answer pretty much any question in this forum that I'm not beaten to. I don't consider it exploitation until it's unreasonable. As a bonus, I find out about a great number of bugs by doing it. However, you feel you were, and that's fair. I'm sorry that I didn't give you any credit for taking more time than anyone to try and help him. He did apparently learn some plotscripting in the end.
Moogle1 wrote: | I do find it odd that the OP has trouble with strings when he has a presumable working knowledge of other aspects of plotscripting, since this is the kind of thing I was programming in BASIC* when I was half his age (and he's half my current age, which makes me feel old), but then not everyone is as geekcore as I was. |
I don't think so, he didn't know about if statements by his 6th post.
I remember writing the equivalent program in MS-DOS batch script at around 8. Too bad I didn't do anything decent for years and years.
msw188 wrote: | EDIT2: I forgot to respond to Pepsi Ranger:
Thanks for your compliments, I guess I have some time before the next issue's deadline to try to clean that mess up. I'm a decent 'on-the-spot' teacher, I think, but it will take me some work to put that advice into a worthwhile article for Hamsterspeak. |
If you're writing an article, why not try to cover many novel uses of arguments, so there's something new for most people: (all) arguments to script triggers, mixing defaulted and non-defaulted arguments, telling how many arguments were passed, for example.
When arrays are added, we may need a thorough explanation of passing them to scripts; feet may be exposed to gunshots. _________________ "It is so great it is insanely great." |
|
Back to top |
|
 |
msw188
Joined: 02 Jul 2003 Posts: 1041
|
Posted: Wed Jan 23, 2008 11:06 am Post subject: |
|
|
Wait, I thought that you HAD to set default values in the script declaration, because I thought that that was what alerted HSpeak that these words after the scriptname were arguments being sent in in the first place. Once again though, I have no idea why I thought that, so quite possibly I have been doing that in every script for some time for no reason. _________________ My first completed OHR game, Tales of the New World:
http://castleparadox.com/gamelist-display.php?game=161
This website link is for my funk/rock band, Euphonic Brew:
www.euphonicbrew.com |
|
Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|