typewriter text

Blitz3D Forums/Blitz3D Beginners Area/typewriter text

Guy Fawkes(Posted 2008) [#1]
Hi all! =) I'm new to Blitz3D, and was wondering if anyone would be kind enough to help me fix this to do the following:

1) Text ALWAYS aligned correctly in textbox at the top left, center, or top right corner.

2) The sentence will continue only if you press enter.

3) When the end of the sentence is reached, play a sound like in Zelda.

4) When the entire paragraph is finished, play an end text sound.

5) box fades in after started, and fades out when ended.

6) The box is completely centered in the middle of the screen no matter what graphics mode you're in.

7) If the text goes out of the box, increase the box width & height.

If anyone at all can help, that'd be GREATLY appreciated! =)

Anyway, here is the code:

Graphics3D 800,600,0,2

SetBuffer=BackBuffer()

Global box_x

Global box_y

Global box_width

Global box_height

Global box_transparent

Global box_transparency

Global box_solid

box_width = GraphicsWidth()/4

box_height = 40

box_x = box_height+GraphicsWidth()/3

box_y = box_width+GraphicsHeight()/3

box_transparent = 0

box_transparency = 0

box_solid = 1

AmbientLight 255, 255, 255

Global type_player = 1
Global type_object = 1

Global cam = CreateCamera()
PositionEntity cam, 0, 1, 0

CameraRange cam, .1, 1000000

Global player = CreateCube()
EntityRadius player, .1, .7

EntityType player, 1

Global playercollision_sphere = CreateSphere(100)
HideEntity playercollision_sphere

Global Sky = CreateSphere(100)
EntityColor Sky,180,180,245

ScaleEntity Sky, 500000, 500000, 500000
EntityFX Sky, 1

EntityOrder Sky, 9
FlipMesh Sky

Global land = CreatePlane()
EntityColor land, 127, 127, 127

EntityType land, 1
EntityOrder land, 9

Global block = CreateCube()
PositionEntity block, 0, 1, 12

EntityRadius block, .1, .7

EntityType block, 1

Global objcollision_sphere = CreateSphere(100)

EntityColor block, 68, 207, 252
;EntityAlpha block, .7

EntityOrder block, 9
EntityShininess block, 1.0

FlipMesh block

Type Letter

	Field Letter$,Xpos,Ypos,Time#,Sound
	
End Type

;--------------;
; Type Letters ;----------------------------------------------------------
;--------------;

Function textbox(x,y,w,h,transparent,transparency,solid)
Rect x,y,w,h,s
End Function

Function TypeText (Xpos=0,Ypos=0,MaxX=100,MaxY=100,Texts$="",Space=10,Height=12,Time=5,Tolerance=10,Sound=0)

Local LR.Letter,A,L

For A = 1 To Len (Texts)

	LR.Letter 	= New Letter
	LR\Letter 	= Mid (Texts,A,1)
	LR\Xpos		= Xpos + (L*Space)
	LR\Ypos		= Ypos
	LR\Time		= A*Time
	LR\Sound	= Sound

	L = L + 1

	If LR\Letter = Chr (13) Or LR\Letter = Chr (10)

		LR\Xpos = Xpos
		LR\Ypos = Ypos + Height
		LR\Letter = " "

		Ypos	= Ypos + Height
		L 		= 1
			
	EndIf
	
	If LR\Xpos >= (MaxX-Tolerance)
	
		If LR\Letter = " "
	
			LR\Xpos = Xpos
			LR\Ypos = Ypos + Height

			Ypos	= Ypos + Height
			L 		= 1
			
		EndIf
		
	EndIf

	If LR\Xpos >= MaxX
	
		LR\Xpos = Xpos
		LR\Ypos = Ypos + Height

		Ypos	= Ypos + Height
		L 		= 1
		
	EndIf
			
	If LR\Xpos = Xpos
	
		If LR\Letter = " "
		
			Delete LR
			
			L = 0
			
		EndIf

	EndIf
		
Next

End Function

;------------------;
; Draw all Letters ;------------------------------------------------------
;------------------;

Function DrawLetters()

Local LR.Letter

For LR.Letter = Each Letter

	LR\Time = LR\Time - 1

	If LR\Time = 0 And LR\Sound <> 0
	
		PlaySound LR\Sound
		
	EndIf

	If LR\Time <= 0

		Text LR\Xpos,LR\Ypos,LR\Letter
		
		If LR\Xpos > box_width Then box_width = box_width + 1
		If LR\Ypos > box_height Then box_height = box_height + 1
		
	EndIf
	
Next

End Function

;--------------------;
; Remove all Letters ;----------------------------------------------------
;--------------------;

Function DeleteLetters()

Local LR.Letter

For LR.Letter = Each Letter
	
	Delete LR
		
Next
	
End Function

Function SuperCam(cam,ent,cspeed#,dist#,hite#,xrot#,tilt#)

TFormPoint 0,hite#,-dist#,ent,0

cx#=(TFormedX()-EntityX(cam))*cspeed#*2
cy#=(TFormedY()-EntityY(cam))*cspeed#*2
cz#=(TFormedZ()-EntityZ(cam))*cspeed#*2

TranslateEntity cam,cx,cy,cz
PointEntity cam,ent
RotateEntity cam,xrot#,EntityYaw(cam),tilt#

End Function

;---------;
; Example ;---------------------------------------------------------------
;---------;

; Text from Wikipedia :)
;
; Xpos		= Xpos of text start
; Ypos		= Ypos of text start
; MaxX		= Width of text box
; MaxY		= Height of text box
; Texts		= Text to type
; Space		= Space between letters
; Height	= Height of each line
; Time		= Delay between letters
; Tolerance = Max word size from end of line (?)
; Sound		= Sound to play for each letter

Local Txt$ = "The Waterboys are a band formed in 1983 by Mike Scott. The band's membership, past and present, has been composed mainly of musicians from Scotland and Ireland. London, Dublin, Spiddal, New York and Findhorn have all served as a home for the group."+Chr(13)+Chr(13)+"The band has played in a number of different styles, but most often their music can be described as a mix of Celtic folk music with rock and roll, or folk rock. After ten years of recording and touring, the band dissolved in 1993 and Scott pursued a solo career."+Chr(13)+Chr(13)+"The band reformed in 2000, and continues to release albums and tour worldwide. The early Waterboys sound was dubbed `The Big Music' after a song on their second album, A Pagan Place. This musical style was described by Scott as `a metaphor For seeing God's signature in the world'. Their songs, largely written by Scott, often contain literary references And are frequently concerned with spirituality."+Chr(13)+Chr(13)+"Both the group and its members' solo careers have received much praise from both rock and folk music critics, but The Waterboys as a band has never received the commercial success that some of its members have had independently."

TypeText (20,20,600,440,Txt,10,12,5,50,0)

While Not KeyDown (1)

 PositionEntity Sky, EntityX(cam), EntityY(cam), EntityZ(cam)

 cspeed# = .012
  cdist# = 8
  cheight# = EntityY(player)+2
  croll# = 4
  cyaw# = 0

SuperCam(cam,player,cspeed#,cdist#,cheight#,croll#,cyaw#)

block_rotation_y# = block_rotation_y# + 0.5

If block_rotation_y# > 360.0 Then block_rotation_y# = 0.0

If block_rotation_y# < -360.0 Then block_rotation_y# = 0.0

RotateEntity block, 0, block_rotation_y#, 0

speed# = 0.4
tspeed# = 0.4

 MoveEntity player, 0, 0, speed#*(KeyDown(200)-KeyDown(208))
 TurnEntity player, 0, tspeed#*(KeyDown(6203)-KeyDown(205)), 0

  Collisions type_player, type_object, 1, 1
  Collisions type_object, type_player, 1, 1

   If EntityCollided(player, type_object)
   
   coll_x = CountCollisions(player)
    coll_y = CountCollisions(player)
     coll_z = CountCollisions(player)
     ShowEntity playercollision_sphere
    PositionEntity playercollision_sphere, CollisionX(player, coll_x), CollisionY(player, coll_y), CollisionZ(player, coll_z)
  Else
   HideEntity playercollision_sphere

   EndIf

  obj = block

   If EntityCollided(obj, type_player)
   
   coll_x = CountCollisions(obj)
    coll_y = CountCollisions(obj)
     coll_z = CountCollisions(obj)
     ShowEntity objcollision_sphere
    PositionEntity objcollision_sphere, CollisionX(obj, coll_x), CollisionY(obj, coll_y), CollisionZ(obj, coll_z)
  Else
   HideEntity objcollision_sphere

   EndIf
	
    UpdateWorld
	 RenderWorld
      textbox(box_x, box_y, box_width, box_height, box_transparent, box_transparency, box_solid)	  
     DrawLetters()

	Flip
	
Wend

DeleteLetters()

End


Thanks again, all! =)

~DarkShadowWing~


Guy Fawkes(Posted 2008) [#2]
Here's a small fix for what I need help on. :)

I hope it is a bit more understandable. =)

Graphics3D 800,600,0,2

SetBuffer=BackBuffer()

Global box_x

Global box_y

Global box_width

Global box_height

Global box_transparent

Global box_transparency

Global box_solid

box_width = GraphicsWidth()/4

box_height = 40

box_x = 10 ;box_height+GraphicsWidth()/2-box_width/2

box_y = 10 ;box_width+GraphicsHeight()/2-box_height/2

box_transparent = 0

box_transparency = 0

box_solid = 1

AmbientLight 255, 255, 255

Global type_player = 1
Global type_object = 1

Global cam = CreateCamera()
PositionEntity cam, 0, 1, 0

CameraRange cam, .1, 1000000

Global player = CreateCube()
EntityRadius player, .1, .7

EntityType player, 1

Global playercollision_sphere = CreateSphere(100)
HideEntity playercollision_sphere

Global Sky = CreateSphere(100)
EntityColor Sky,180,180,245

ScaleEntity Sky, 500000, 500000, 500000
EntityFX Sky, 1

EntityOrder Sky, 9
FlipMesh Sky

Global land = CreatePlane()
EntityColor land, 127, 127, 127

EntityType land, 1
EntityOrder land, 9

Global block = CreateCube()
PositionEntity block, 0, 1, 12

EntityRadius block, .1, .7

EntityType block, 1

Global objcollision_sphere = CreateSphere(100)

EntityColor block, 68, 207, 252
;EntityAlpha block, .7

EntityOrder block, 9
EntityShininess block, 1.0

FlipMesh block

Type Letter

	Field Letter$,Xpos,Ypos,Time#,Sound
	
End Type

;--------------;
; Type Letters ;----------------------------------------------------------
;--------------;

Function textbox(x,y,w,h,transparent,transparency,solid)
Rect x,y,w,h,s
End Function

Function TypeText (Xpos=0,Ypos=0,MaxX=100,MaxY=100,Texts$="",Space=10,Height=12,Time=5,Tolerance=10,Sound=0)

Local LR.Letter,A,L

For A = 1 To Len (Texts)

	LR.Letter 	= New Letter
	LR\Letter 	= Mid (Texts,A,1)
	LR\Xpos		= Xpos + (L*Space)
	LR\Ypos		= Ypos
	LR\Time		= A*Time
	LR\Sound	= Sound

	L = L + 1

	If LR\Letter = Chr (13) Or LR\Letter = Chr (10)

		LR\Xpos = Xpos
		LR\Ypos = Ypos + Height
		LR\Letter = " "

		Ypos	= Ypos + Height
		L 		= 1
			
	EndIf
	
	If LR\Xpos >= (MaxX-Tolerance)
	
		If LR\Letter = " "
	
			LR\Xpos = Xpos
			LR\Ypos = Ypos + Height

			Ypos	= Ypos + Height
			L 		= 1
			
		EndIf
		
	EndIf

	If LR\Xpos >= MaxX
	
		LR\Xpos = Xpos
		LR\Ypos = Ypos + Height

		Ypos	= Ypos + Height
		L 		= 1
		
	EndIf
			
	If LR\Xpos = Xpos
	
		If LR\Letter = " "
		
			Delete LR
			
			L = 0
			
		EndIf

	EndIf
		
Next

End Function

;------------------;
; Draw all Letters ;------------------------------------------------------
;------------------;

Function DrawLetters()

Local LR.Letter

For LR.Letter = Each Letter

	LR\Time = LR\Time - 1

	If LR\Time = 0 And LR\Sound <> 0
	
		PlaySound LR\Sound
		
	EndIf

	If LR\Time <= 0

		Text LR\Xpos,LR\Ypos,LR\Letter
		
		If LR\Xpos > box_width Then box_width = box_width+12
		If LR\Ypos > box_height Then box_height = box_height+12

		If box_width < 0 Then box_width = 0
		If box_width > GraphicsWidth() Then box_width = GraphicsWidth()
		
	EndIf
	
Next

End Function

;--------------------;
; Remove all Letters ;----------------------------------------------------
;--------------------;

Function DeleteLetters()

Local LR.Letter

For LR.Letter = Each Letter
	
	Delete LR
		
Next
	
End Function

Function SuperCam(cam,ent,cspeed#,dist#,hite#,xrot#,tilt#)

TFormPoint 0,hite#,-dist#,ent,0

cx#=(TFormedX()-EntityX(cam))*cspeed#*2
cy#=(TFormedY()-EntityY(cam))*cspeed#*2
cz#=(TFormedZ()-EntityZ(cam))*cspeed#*2

TranslateEntity cam,cx,cy,cz
PointEntity cam,ent
RotateEntity cam,xrot#,EntityYaw(cam),tilt#

End Function

;---------;
; Example ;---------------------------------------------------------------
;---------;

; Text from Wikipedia :)
;
; Xpos		= Xpos of text start
; Ypos		= Ypos of text start
; MaxX		= Width of text box
; MaxY		= Height of text box
; Texts		= Text to type
; Space		= Space between letters
; Height	= Height of each line
; Time		= Delay between letters
; Tolerance = Max word size from end of line (?)
; Sound		= Sound to play for each letter

Local Txt$ = "The Waterboys are a band formed in 1983 by Mike Scott. The band's membership, past and present, has been composed mainly of musicians from Scotland and Ireland. London, Dublin, Spiddal, New York and Findhorn have all served as a home for the group."+Chr(13)+Chr(13)+"The band has played in a number of different styles, but most often their music can be described as a mix of Celtic folk music with rock and roll, or folk rock. After ten years of recording and touring, the band dissolved in 1993 and Scott pursued a solo career."+Chr(13)+Chr(13)+"The band reformed in 2000, and continues to release albums and tour worldwide. The early Waterboys sound was dubbed `The Big Music' after a song on their second album, A Pagan Place. This musical style was described by Scott as `a metaphor For seeing God's signature in the world'. Their songs, largely written by Scott, often contain literary references And are frequently concerned with spirituality."+Chr(13)+Chr(13)+"Both the group and its members' solo careers have received much praise from both rock and folk music critics, but The Waterboys as a band has never received the commercial success that some of its members have had independently."

TypeText (20,20,600,440,Txt,10,12,5,50,0)

While Not KeyDown (1)

 PositionEntity Sky, EntityX(cam), EntityY(cam), EntityZ(cam)

 cspeed# = .012
  cdist# = 8
  cheight# = EntityY(player)+2
  croll# = 4
  cyaw# = 0

SuperCam(cam,player,cspeed#,cdist#,cheight#,croll#,cyaw#)

block_rotation_y# = block_rotation_y# + 0.5

If block_rotation_y# > 360.0 Then block_rotation_y# = 0.0

If block_rotation_y# < -360.0 Then block_rotation_y# = 0.0

RotateEntity block, 0, block_rotation_y#, 0

speed# = 0.4
tspeed# = 0.4

 MoveEntity player, 0, 0, speed#*(KeyDown(200)-KeyDown(208))
 TurnEntity player, 0, tspeed#*(KeyDown(6203)-KeyDown(205)), 0

  Collisions type_player, type_object, 1, 1
  Collisions type_object, type_player, 1, 1

   If EntityCollided(player, type_object)
   
   coll_x = CountCollisions(player)
    coll_y = CountCollisions(player)
     coll_z = CountCollisions(player)
     ShowEntity playercollision_sphere
    PositionEntity playercollision_sphere, CollisionX(player, coll_x), CollisionY(player, coll_y), CollisionZ(player, coll_z)
  Else
   HideEntity playercollision_sphere

   EndIf

  obj = block

   If EntityCollided(obj, type_player)
   
   coll_x = CountCollisions(obj)
    coll_y = CountCollisions(obj)
     coll_z = CountCollisions(obj)
     ShowEntity objcollision_sphere
    PositionEntity objcollision_sphere, CollisionX(obj, coll_x), CollisionY(obj, coll_y), CollisionZ(obj, coll_z)
  Else
   HideEntity objcollision_sphere

   EndIf
	
    UpdateWorld
	 RenderWorld
      textbox(box_x, box_y, box_width, box_height, box_transparent, box_transparency, box_solid)	  
     DrawLetters()

	Flip
	
Wend

DeleteLetters()

End


Thanks all! =)


Ross C(Posted 2008) [#3]
It's quite alot to ask for :o) May take a look when i get in.


Guy Fawkes(Posted 2008) [#4]
I know, and I'm sorry, but I REALLY need this. :) I would GREATLY appreciate if you would do that for me =) I've tried & tried & tried, and no matter what, I still couldnt get it.

Thanks again =)

~DarkShadowWing~


amitjf(Posted 2008) [#5]
I suggest you to look at WB3D(search) and modify/add for your needs.


Guy Fawkes(Posted 2008) [#6]
um, amitjf. it seems that the link is out for WB3D. But thank you for trying anyway. =)

Can anyone else please help me?

Thanks again! =)

~DarkShadowWing~


Ross C(Posted 2008) [#7]
I have ran your code. It seems to work fine. I'm not quite sure what you need?


Guy Fawkes(Posted 2008) [#8]
try running the 1st code, and you'll see what i mean. basically, i can't position it in the middle using graphicswidth()/2, graphicsheight()/2. i have to use an integer. and it MUST be in the middle of the screen regardless of the size of the textbox. the other prob is after every line, i want to be able to 1st have it a play a continue sound which notifies the user to press enter. then i need it so if u press enter when the textbox is up, it will then scroll to the next line until it reaches the end. then when it reaches the end & after enter is pressed, then play and ending sound, and make the box disappear.

thanks again!

~DarkShadowWing~


Ross C(Posted 2008) [#9]
Right i get you now :o)


Guy Fawkes(Posted 2008) [#10]
So you can help Ross? =)

I REALLY need this fixed, and you do NOT know how much I appreciate it =)

Thanks again! =)

~DarkShadowWing~


Ross C(Posted 2008) [#11]
12th line of your code at the top:

box_x = box_height+GraphicsWidth()/3

box_y = box_width+GraphicsHeight()/3


Shouldn't that be "box_WIDTH + GraphicsWIDTH()/2"?

and same with box_y. Shouldn't that have box_HEIGHT<<<?


Ross C(Posted 2008) [#12]
Ok, well, your setting the max width of your box, with:

TypeText (20,20,600,440,Txt,10,12,5,50,0)


Now, because you don't actually know this till after the box width has been set up, your TypeText function should be setting the box width based on this. To centre a box in the middle of the screen you need to:

Start_x = centre_screen_x - ( box_width /2)


That will get you an x co-ord to set. Let me look somemore.


Guy Fawkes(Posted 2008) [#13]
well yes. but the prob is. it doesn't totally center, as i need to add or subtract the coordinates of each line of the box to be completely in the middle no matter what. and thats the closest i get without it going outside the screen..

the box must always be centered, and the text must always stay in the box.

~DarkShadowWing~


Ross C(Posted 2008) [#14]
Ok, i'll probably just rewrite the text function stuff. Unfortunetly, you'll need to wait till tomorrow. I'm getting grief from the missus, and it's pretty late here.
Def do this tomorrow, Promise!


Guy Fawkes(Posted 2008) [#15]
Thanks alot Ross! =) You honestly do not know how much this means to me! =)

Thanks again! =)

~DarkShadowWing~


Guy Fawkes(Posted 2008) [#16]
Hi, Ross! =) How's the progress going? =)

~DarkShadowWing~


Ross C(Posted 2008) [#17]
Hey that's me just back from work. So i've yet to start. I'm just about to :o)


Ross C(Posted 2008) [#18]
Btw, does the box need to increase in size as the text scrolls?

Can't the textbox just goto the size that is needed for the text?

Oh and are you wanting 2d or 3d? 2d being using rect and text commands. Or 3D? that being drawing all text to a texture and building a mesh. Advantage of 3d being the transparency.


Guy Fawkes(Posted 2008) [#19]
well, i really need it EXACTLY like legend of zelda: twilight princess really =) if u wish to see a video i can hunt 1 down for you =)

i need it to function exactly like the 1 from loz tp. as for the scrolling box thing. i just need the text to stay within the box at ALL times, not touching any borders =)

so here's an example:
________________________________
|Text Text Text Text Text Text Text Text |
|Text Text Text Text Text Text Text Text |
|Text Text Text Text Text Text Text Text |
|Text Text Text Text Text Text Text Text |
|Text Text Text Text Text Text Text Text |

~DarkShadowWing~


Ross C(Posted 2008) [#20]
A video would be great thanks :o)

I've created it in 3d so far, so you can fade the window if you wish. Plus you can use custom border and backround texture.


Guy Fawkes(Posted 2008) [#21]
Sure thing! =) Also, Ross, I honestly can't thank you enough for what you are doing for me though! =) Would it be alright if I emailed you? If so, shall I email to your hotmail account that I see is in your profile? =) You may add me to Windows Live if you wish =)

Thanks again, Ross! =)

And I shall post a link to the video shortly =)

~DarkShadowWing~


Ross C(Posted 2008) [#22]
yeah, sure add me to your MSN messenger. I'm usually always offline, so message me, and i'll usually respond. in about an hours time is when i'll be offline.


Guy Fawkes(Posted 2008) [#23]
Ok, cool! =) As for the video, I hope you can see it. It's the brightest I could find and the only 1 I could find so far that has the sound for each letter of text typed out, and it waits until you press a button. then it plays another sound when you press a button, and typing out the text.

anyway, here is the video:

http://www.youtube.com/watch?v=p3koXJFHgKc&feature=related

Thanks again! =)

~DarkShadowWing~


Ross C(Posted 2008) [#24]
Excellent thanks. This should be alot easier, now the text box remains the same size.

Only thing you'll need to do is set up the text inputs properly.

I mean, you can't pass a string across saying

"blah blah...................................etc etc etc blah.....................blah.................blah"

If it was cut off halfway through, it wouldn't make much sense to the person reading. As you can see from the zelda video, the makers have made sure the text fits into the box height wise.


Guy Fawkes(Posted 2008) [#25]
No prob =) Well that is fine =) You know alot more than me. So I shall trust your judgement =)

If possible, I'd also like to keep what you already have in it as well. Transparency, etc.. =)

Thanks again! =)

~DarkShadowWing~


Ross C(Posted 2008) [#26]
Yeah, no worries.


Guy Fawkes(Posted 2008) [#27]
Hi, Ross! =) How's it comin along? =)

~DarkShadowWing~


Ross C(Posted 2008) [#28]
Just in from work. not worked on it since i went to sleep, which was 17 hours agao :o) I work 8 hours and sleep for about 8 hours, so i don't get much time for coding :o)


Guy Fawkes(Posted 2008) [#29]
Oh, that is completely understandable, Ross. No need to worry I understand completely ^_^

Hey, I have an idea. I'll email you my MySpace.

You can add me as a friend if you like.

Whenever you're done, feel free to send a message on my MS, or email it to me.

Take your time on it, you can't rush perfection B)

Thanks again! ^_^

~DarkShadowWing~


Ross C(Posted 2008) [#30]
Ok man. I've nailed most of it. It's pure 3d, except the text, which is drawn to a texture :o)

Still have to add the sounds, and fix the Y scale for the window, and make it easier to change the border.

http://www.rosscrooks.pwp.blueyonder.co.uk/textscoller.zip

The data statements at the bottom are the ten different paragraphs it will display. Want more? Change the first DATA statement to however many you need and obviously put in the correct amount of DATA statements containing the strings :o)


Ross C(Posted 2008) [#31]
Oh, and you can customise the textures by altering the frame texture. The grid texture was just for my reference. For now the text backround texture must be 512x256. I'll change that later too. Plus the texture. I think i have a bitmap font library kicking about. It would look alot nicer.


Guy Fawkes(Posted 2008) [#32]
WOW! Ross! This is PERFECT! I hate to ask, but could you add 2 more small things if it is ok w/u? Can you have it control the text speed with a float & control how many sentences per line it's aloud to read before pressing enter?

Thanks again, Ross! =)

~DarkShadowWing~


Ross C(Posted 2008) [#33]
You control the text speed with the variable:

p\time


on line 39. The lower you make that, the faster it goes. The higher, the slower it goes.

And it reads from the data statements, so just don't put as many sentences in the data statements :o)
Each data statement line, contains all the text that will appear in the window at once.

And it's not completely done. Just thought i'd post this so you could see i am actually doing some thing ;o)


Ross C(Posted 2008) [#34]
Oh and something i noticed about your code.

CreateSphere(100)


Is a bad idea. That creates a sphere with 100 segments, with roughly 39,000 polygons.


Guy Fawkes(Posted 2008) [#35]
Thanks alot, Ross! =) And I trust you, lol. I knew u would do it =)

~DarkShadowWing~


Guy Fawkes(Posted 2008) [#36]
Yo, Ross =) Check mail, mate =)

Thanks! =)

DarkShadowWing


Ross C(Posted 2008) [#37]
will do


Guy Fawkes(Posted 2008) [#38]
Yo, it is the same code you are usin =)

~DarkShadowWing~


Ross C(Posted 2008) [#39]
nope i was playing about with it a bit


Guy Fawkes(Posted 2008) [#40]
Yo, sure, I'll send it to you then =) Try 1024 768 0 1 & 800 600 0 1 & 1024 768 0 2 and 800 600 0 2 & activate the text menu, you will see why =)

Thanks again! =)

~DarkShadowWing~


Guy Fawkes(Posted 2008) [#41]
Yo, check your messages =)

~DarkShadowWing~


Ross C(Posted 2008) [#42]
OK man will do. Sorry for the slow responses, but i got other stuff going on just now :o)


Guy Fawkes(Posted 2008) [#43]
Yo, Ross! =) Check your messages =)

~DarkShadowWing~


Ross C(Posted 2008) [#44]
I'm really confused to what the issue is here.

I walk up to the first object. Press the enter key. It fades in. I read the text, press enter and on the last one, it fades out.

I approach the second object, do the same and get the same results.

And the window is always centred regards of what resolution i use.

; The 3rd item is the "wait till finished" flag. Basically, pressing the continue key will either cause the text
;     piece to advance before it's done, or wait till everything has been displayed before continuing.
;     set to True or False.

Data 1,2,False,"This is the first paragraph of ten. This code should word wrap the letters round so that they all fit in the window. And let the user press a button to continue to the next text."


In the bottom of the code.bb. The help text (commented out) describes that in order for enter to skip the text WITHOUT finishing, you must set the false flag, on the text you want to skip.


Guy Fawkes(Posted 2008) [#45]
Hi, Ross! =) That may very well be why I can't get it to skip. I'll take a look @ it =) As for the window, I will look at this also, but I think I asked about centering windows the wrong way. I will take a look at that and get back to you A.S.A.P.! =)

Sorry for confusing you!

Thanks again! =)

~DarkShadowWing~


Ross C(Posted 2008) [#46]
s'ok :o)


Guy Fawkes(Posted 2008) [#47]
Ok, figured out the enter problem. Now the only prob is getting it to whatever X or Y value I want it on the screen, here is what needs turned from auto to manual:

PositionEntity rc_window\mesh,0,-0.55,1.1

Thanks Ross! =)

~DarkShadowWing~


Ross C(Posted 2008) [#48]
You can't position the window on the x-position if it is to be centred, which is what your wanting? The y co-ord is just a simple positional co-ord. Try changing it :o)


Guy Fawkes(Posted 2008) [#49]
Yo! No worries on the x coord =) Just thought I'd see if that was possible. But the Y value, I'm working on now =)

Anyways, can you get on MSN? =) I need to talk to ya =)

Thanks, Ross! =)

~DarkShadowWing~


Ross C(Posted 2008) [#50]
I'll be on most of today. i think i'm in a different time zone too you though.


Guy Fawkes(Posted 2008) [#51]
Ok, lets meet on msn =) And you are right, hehe. it's 7:52 AM here =)

~DarkShadowWing~


Guy Fawkes(Posted 2008) [#52]
Check your email! =)

~DarkShadowWing~


Guy Fawkes(Posted 2008) [#53]
Check ur email again! =)

~DarkShadowWing~


Guy Fawkes(Posted 2008) [#54]
Hi Ross =)

Check your mail! =)

Thx! =)

~DarkShadowWing~


Ross C(Posted 2008) [#55]
Re-emailed.


Guy Fawkes(Posted 2008) [#56]
Hi Ross! =)

Check ur email again. I found a small glitch that I need fixed.

I need ' </RGB> ' (w/ space inbetween) to end the color for the word before </RGB>.

I started it. so check ur email =)

~DarkShadowWing~


Ross C(Posted 2008) [#57]
Just put a new colour code at the end. It's not hard to work around.


Guy Fawkes(Posted 2008) [#58]
well i tried. nothing worked. u dont have to. thats ok.

~DarkShadowWing~


Ross C(Posted 2008) [#59]
What did you try doing. You just need to do:

BLAH BLAH <RGB(100,100,100)> BLAH BLAH <RGB(200,200,200)> BLAH BLAH


Basically, the first BLAH BLAH will be normal text colour. The second BLAH BLAH will be in RGB(100,100,100) and the third BLAH BLAH will be in RGB(200,200,200).

You must leave a space at either end of <RBG(100,100,100)>


Guy Fawkes(Posted 2008) [#60]
i added ' </RGB> ' but it doesnt change to the default color after </RGB>.

~DarkShadowWing~


Guy Fawkes(Posted 2008) [#61]
still wont work. just tried what u said, and it was the same color after the colorized word. and when i exit and chat again. it stays that color. not the default color & the colored word.

~DarkShadowWing~


Ross C(Posted 2008) [#62]
Yeah, you need to change the colour back to the default color.

</RGB> isn't a command. You can only set colours.


Guy Fawkes(Posted 2008) [#63]
i have it working w/ </RGB> but it wont change colors after it.

~DarkShadowWing~


Ross C(Posted 2008) [#64]
I'll take a look at the code. I've maybe put something wrong in the color part.


Ross C(Posted 2008) [#65]
Ok, i fixed it. Emailing you a copy of the file.


Guy Fawkes(Posted 2008) [#66]
thanks! =)

~DarkShadowWing~


Guy Fawkes(Posted 2008) [#67]
found 2 more problems. 1 press enter real fast and talk to the object twice. it stays the same color. 2 the 1st color does not change back to normal the 2nd time u chat. otha than that, its perfect =)

~DarkShadowWing~


Ross C(Posted 2008) [#68]
You need to manually change it back. As i say, i'm setting the COLOR, a blitz command, when writing text to the texture, so you'll need to change that back using the <RGB(x,x,x)> command i'm afraid.


Guy Fawkes(Posted 2008) [#69]
ok. i think we completed it. i just need u to help me test it completely.

i need u to press enter a few times fast then slow and so on with true & false on the data line. and tell me if any colors mess up.

i emailed to u the file =)

thanks again! =)

~DarkShadowWing~


Guy Fawkes(Posted 2008) [#70]
it worked like a dream! =)

thanks! =)

~DarkShadowWing~