Jump to content

dialogs in S3?


damocles

Recommended Posts

Som has anyone tried playing around with these yet? I'm at a stage where I would liek to include some dialog into a map, but am not sure how. So far all I know is that it uses excel files for the dialog, but I have no idea what to add into the file.

 

I assume it will contain info about who is speaking, what they say, etc. Probably also contains links to the audio file to play for each sentence. It seems Nival didn't see fit to include an example file, so I have no idea where to start.

 

Perhaps I'll go badger them for an example...

Link to comment
Share on other sites

In editor manual there is something about heads...

(Additional features../Creating 3D objects and bottom)

 

If you wanna edit heads (are my lips moving in my head :huh: ) you need LifeStudio:HEAD editor (http//:www.lifemi.com)...(?)

 

I do my 'dialogs' in HTML-format: like comics... there is photo on the left side and words on the right side :D and you can scroll comics down and up... I know some thight arses doesn't accept that solution, but I will do it that way anyway... hah! After all one of my hobbys is drawing black and white UG-comixs (some from our very small UG-scene here in Finland even knows KoMik...)

 

If you find out how to use those Exel-files to make no lips moving dialogs... let me know.

Link to comment
Share on other sites

The idea of comic books is not really much use to me. I need to be able to use all the dialog scripting functions in the lua scripts. The comic idea would be good for just telling the story, but I am more interested in the interactive stuff. Getting certain actions to start after and during cartain dialog lines are spoken. That kind of thing. I also want to be able to create dialogs to ploay as acknowledgements.

 

Without dialogs, there's not much point continuing my mod. So many of the missions are already heavily reliant on dialogs and dialog feedback scripting.

Link to comment
Share on other sites

It would be great if Nival helps us a bit with this...

 

Damocles, I know what u mean... now I have only one way to tell the story and I think it's not enough: I use those 'hints' in every mission and I fill them with words (my friend helps in spelling... so all may even understand them). Proper dialogs would be useful to make small couple sentences and clauses conversations which would look kinda stupid in that big hint interface.

 

I haven't managed to 'pop up' those clue-interfaces in Sentinels (letters and folders) but they work well in orginal. I know that Sentinels doesnt use clues/objectives but is there any way to 'pop them up' with some function (I'm bored to that hint interface)?

 

"You must help me... the horrorfreaknazizombies are trying to suck my blood" :example of small dialog which I would like to make in my scenario :D if I just know how...

Link to comment
Share on other sites

Yeah, one more - ask them if it's possible to disable or somehow bypass the custom character screen. It's not vital, but it would save me a lot of work.

 

The dialogs are the biggest thing though. Ask them if they have a dialog .xls file they could give us. I'm sure I could figure out how to use them from that.

 

Thanks.

Link to comment
Share on other sites

  • 2 weeks later...

Would this be more simple question for Nival :huh: ?

 

In game when your characters say something like "Can't do that." there pop-up that black long box under text (Duke:" Can't do that."). I would like to know what is those table in editor and how to make those happen with script function.

 

In audio options you can choose on/off character responses and those are what I mean here.

 

I think I can't never make dialogs because I don't have that HeadSeq-program to make lips-sync so "responses" would be enough for me and my small campaing mod.

 

SOUND AND TEXT plz!?! :P (now I have to use just sound (PlaySound or Play3DSound) or text (ShowHint or MessageBox) and it's not so multimedia)

Link to comment
Share on other sites

Would this be more simple question for Nival :huh: ?

 

In game when your characters say something like "Can't do that." there pop-up that black long box under text (Duke:" Can't do that."). I would like to know what is those table in editor and how to make those happen with script function.

 

I believe this text is being referenced from the Strings table.

The 'String' column of the record with ID = 12095 is:

 

"Zovsim zelenyi... I cannot do that."

 

I guess that the 'Zovsim zelenyi' text could be substituted with any unit's name.

 

You can then display the text by using the Message() function, passing the required String ID, ie.

 

Message(12095)

 

Hope that helps!

Link to comment
Share on other sites

Thanks FryWalker! I somehow have missed that function during sneaking around in orginal scripts...

 

It is not actually what I was looking for. Messagefunction begins sequence, it's like a pause and player can return to game only by pressing Escape-button. During that seguence next functions just wait... but it is one way to 'subtitle' and show text. I'm sure I will use it because sound can be launched before Messagefunction and game plays that sound during sequence (but that Esc-pressing sucks).

 

I read you (FryWalker) have a problem with OnEndOfTurn-Function and I would like to help you but I didn't find such function from orginal scripts... sorry (It should be OnEndOfTurn() but it's not... :P ).

 

..........thx for new way to tell the story.

---Bender:"Kiss my shiny metal ass."--- :huh:

Link to comment
Share on other sites

ehhehehe... I found out one unofficial way to do 'dialog'

 

--------

Create 4 strings and 2 sounds:

Strings:

1000001 = <br><center>Richie Rich: Do you want these 1000$ without doing nothing?

1000002 = <br><center>next

1000003 = <br><center>Dumbass: I dunno...

1000004 = <br><center>end

Sounds: Same like 1 and 3 strings

 

Write these functions to script:

WaitForUI(DialogModeBegin())

PlaySound(ID####)

WaitForUI(DialogModeSet(1000001,1,1,1000002))

PlaySound(ID####)

WaitForUI(DialogModeSet(1000003,1,1,1000004))

WaitForUI(DialogModeEnd())

----------

 

Now your mission got no heads dialog:

Richie Rich: Do you want these 1000$ without doing nothing?

next

(pressing 'next' open next...)

 

Dumbass: I dunno...

end

(pressing 'end' ends dialogmode)

 

If someone knows how to include head to this... just let me know. Se on moro! (c u)

Link to comment
Share on other sites

  • 1 month later...

KoMik,

 

Thanks for the script samples; have you (or any one reading this) messed around with the other parameters of the 'DialogModeSet' function? I've successfully gotten multiple choices to show up;

 

(with strings from your example)

WaitForUI(DialogModeSet(1000001,2,2,1000002,1000004)) would put

 

Richie Rich: Do you want these 1000$ without doing nothing?

next

end

 

and you could chose between next or end, but I have no idea how to get the info on which one was clicked.

I have a hunch that there is not a way, because in the game it brings up a yes no dialogue rather than going this route.

 

Hey slaughter, any luck on getting an .xls dialog file from nival?

-vs

Link to comment
Share on other sites

  • 2 weeks later...

So I've been using KoMik's method for dialog and wile in some situation it works fine, but if you trigger the dialog from inside BeginSequence() ...EndSequence() block and the player hits escape then the game (and the computer freezes). I have hit escape while not inside a sequence and some error flag is thrown up(did not mean for that to be gross) in the console window.

I just really wished I could get at the .xls files- does any know of a way to extract them from the game?

 

-vs

Link to comment
Share on other sites

Yuppy. That was VERY unofficial way to make dialogs... ;)

 

I have seen some H&S screenshots were is dialogs like that. I hoped that I could do same with Sentinels but there seems to be lots of problems (I don't know if S&H makers have used xls-files or what). It is very good thing to make multiple choices because those make these stuffs possible:

 

-You can make weapons/items dealers in scenario zones

-You can try bribing with different mount of money (10$, 50$, 100$ etc.)

-You can try different(friedly, direct, threaten etc.) questions/answers when talking to pc-characters ((Jagged Alliance(still my fafourite tb-game) is a very GOOD example))

-More RPG-elements and non-linearity to game/dialogs

 

So I'm looking ways to make these stuffs possible but my knowledge just end up to crash. I hope that H&S-editor shows how they have made those work. I think xls-file is needed :) .

Link to comment
Share on other sites

Yea, It's really the more RPG elements that I want to work with- I've been making my maps and just doing the scripting to allow for choices(made by dialogs), but have no way for the user to actually make those sort of decisions.

I also just like being able to tell a story in a way other then hints or journal entries, you know?

You say that you have seen hammer + sickle screens with branching dialog? Perhaps it would be worth tracking Novic(sp) down... I think that the ss engine has so much possibility and that I can almost get what I want out of it... this is like the last thing I need to figure out to do all the stuff that I want with it.

-vs

Link to comment
Share on other sites

I do now have 25 scripted 'ready' missions and about 20 waiting to be scripted so I still have lots of 'basic scripting' work to do. My missions usually starts with little 'movie'(camera moves and animations) and then comes texts(ShowObjectives) where players can read main goals. It is just eneugh mission-story telling for me. I have also used hints as dialogs and yes-no-dialogs as some kind of non-linearity bringers... Do you want to have fun? YES or NO? (...why I should even ask... dialogs like that are for braindeads or something :) )

 

One thing what I like in SS-modding is the fact that after proper dialogs knowhow I could update my old missions to be more non-linear and make whole new events/ways to complete objectives WITHOUT making new maps (which is nice and 'funny' work but takes lots of time too). Interactivity with npcs is always welcome to game worlds... it make those more lively.

 

I can't do my gampaing too non-linear because my mod is going/supposed to be for 'coop'. Playing multiple choices game with friends can/may end up to fistfight... if you know what I mean?

 

I'm still learning new ways (but all roads still takes me to Rome) of interesting. ;)

Link to comment
Share on other sites

  • 3 weeks later...

Ok- progress:

 

Messing around with the DialogModeSet command and have had a breakthrough! I can't believe that I didn't try it earlier. Anyway here is an example of code I mad for a door that requires a number to open it:

 

( the nums table is just strings like: <center>#1 ect.

sEnter: Enter first number

sNext: enter next number

sError: ERROR: wrong number

sCorrect: Correct.

sClose: close)

 

function switch2()

out('2 click')

WaitForUI(DialogModeBegin())

WaitForUI(DialogModeSet(sEnter,5,1,nums[1],nums[2],nums[3],nums[4],nums[5]))

local Code_1=GetLastDialogResult()

WaitForUI(DialogModeSet(sNext,5,1,nums[1],nums[2],nums[3],nums[4],nums[5]))

local Code_2=GetLastDialogResult()

WaitForUI(DialogModeSet(sNext,5,1,nums[1],nums[2],nums[3],nums[4],nums[5]))

local Code_3=GetLastDialogResult()

 

if Code_1==3 and Code_2==5 and Code_3==1 then

WaitForUI(DialogModeSet(sCorrect,1,1,sClose))

switch()

else

WaitForUI(DialogModeSet(sError,1,1,sClose))

end

WaitForUI(DialogModeEnd())

end

 

The thing is GetLastDialogResult() gives you the parameter number that was clicked, starting with 1. (you specify the number of choices in the second argument) So I keep Those numbers in the Code_1,2,3 variables then check them against the numbers at the end. This opens up full dialog trees!

 

Now if only I can figure out what to do with the CUICmdDialogSet error when someone presses Esc during a dialog. Anyone figured that out?

-vs

Link to comment
Share on other sites

Nice info vs!

 

I tested it like that and it seems to work pretty well. But there is some things what have to and must not do:

-DialogModeBegin() must not be started in sequence (esc cause crash). So allways EndSequence() before DialogModeBegin. It makes little camera movement but camera can be locked with command CameraLock( true ).

-If you press esc during dialog game count it as DialogResult #0 so don't use command elseif... just else (so pressing esc doesn't cause crash).

-Don't start mission script with command DelayGameStartEx() or game won't count DialogResults (don't know why) so just use DelayGameStart().

 

That CUICmdDialogSet error is a bad thing... it is unexpected and it means there was no command for #0 DialogResult... so just make:

 

if fResult == 1 then

 

Link to comment
Share on other sites

That Camera lock trick is a good idea. I had already realized that you can't do dialogs inside of a sequence... so I would have the sequence end-after I had the camera placed perfectly- then jerk away (especially if the camera's focus was not on floor 0)-Thanks!

 

I'll play around with CUICmdDialogSet being 0.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...