More Random Word Options

Hello
I was wondering if anyone could help me with the random word macro. I would like to add a start text field for the random word. Basically I would like the back end of the random word macro to have the same options at the start. Please let me know if i need to be more specific.
Thanks,
Brian Williams.

Hi Brian,
so you have a random word generator and want to have control over what the first and last words are? Is that what you're after?
I don't have access to Shake at the moment but if you send me the macro I can have a look.

cheers,
frank

Frank thanks for the reply,
Yeah there are a few options I would like to have but the main one is first word controll. One other great thing would be a letter limiter option that only randomizes the letters put into the first word. Like RAMDOM would be ADOMRN not ZXYQGB.
There is a stop frame difference that works from the first letter to the last letter ie: WRT, YJG ,YEZ, YES.
that example would be a stopframedifference of 1.
A start full random difference would be helpfull as well. ie: YES, YEZ, YJG, WRT.

I would also like to know if there is a way to just have a anagram macro. Give it a word or words and let the macro generate other words based off the letters fed in to it.

Any help you can give would be greatlly appreciated.

Random word uses random letter to do its thing so here is random letter:

image RandomLetter(
int width=720,
int height=486,
int bytes=1,
const char * letter="A",
int staticFrame=10,
float seed=time,
const char * font="Courier",
float xFontScale=100,
float yFontScale=100,
float xPos=width/2,
float yPos=height/2,
float red=1,
float green=1,
float blue=1,
float alpha=1
)
{

curve string rdLetter = stringf("%c", 'A'+(int)floor(rnd1d(seed,time)*26));
return Text(
width, height, bytes, time<staticFrame?"{rdLetter}":"{letter}", font, 
xFontScale, yFontScale, 1, xPos, yPos, 
0, 2, 2, red, green, blue, alpha, 0, 0, 0, 45
);

}

And here is Random Letter Word:

/* This file downloaded from Highend3d.com
''
'' Highend3d.com File Information:
''
'' Script Name: Random Letter Word v1.0 v1.0
'' Author: George Sagiakos
'' Last Updated: January 15, 2002
'' Update/Change this file at:
'' http://www.highend3d.com/shake/macros/?section=image#1438
''
'' Please do not alter any information above this line
'' it is generated dynamically by Highend3d.com and will
'' be changed automatically on any updates.
*/

//
//
// Random Letter Word v1.0
//
// Created by George Sagiakos
//
//
//
// This Recursive Macro is based on the
// Random Letter Macro v1.0 created by Peter Warner
//
// You need to have the Random Letter
// Macro installed in order to work
//
//

image RndLetterWord (
int width=GetDefaultWidth(),
int height=GetDefaultHeight(),
int bytes=1,
const char * finalText="Random",
const char * font="Courier",
float xFontScale=100,
float yFontScale=xFontScale,
float xPos=width/2,
float yPos=height/2,
float characterSpacing=50,
float red=1,
float green=1,
float blue=1,
float alpha=1,
int seed=1,
int seedDifference=0,
int stopFrame=50,
int stopFrameDifference=0
)

{
image Rest;
image RndLtr;

if (strlen(finalText) > 1)
{
Rest = RndLetterWord( width, height, bytes, strsub(finalText,1,strlen(finalText)-1),
font, xFontScale, yFontScale,
xPos+characterSpacing, yPos, characterSpacing,
red, green, blue, alpha,
seed + seedDifference, seedDifference,
stopFrame + stopFrameDifference, stopFrameDifference);
}
RndLtr = RandomLetter(width, height, bytes, strsub(finalText,0,1),
stopFrame,
seed, font,
xFontScale, yFontScale,
xPos, yPos,
red, green, blue, alpha);
Over1 = Over(RndLtr, Rest, 1, 0, 0);
return Over1;
}

it's gonna be a bit tricky without having Shake and I'm not a programmer but I think the key is in the first line of the RandomLetter macro:

curve string rdLetter = stringf("%c", 'A'+(int)floor(rnd1d(seed,time)*26));

this generates one of the 26 letters of the alphabet based on time and a random seed value (without the seed you would always get the same letter at the same frame). So if you muliplied the expression by 3 instead of 26 you will probably only get 'A', 'B' and 'C' as potential output strings.
So if you change that line to something less random you should be able to get the control you need.

Sorry, I know this is extremely vague but without being able to see what the macros do exactly and not being able to do some trial&error runs myself I won't be able to figure it out.

Maybe somebody with a bit more C knowledge and a license could help out?!

frank