Game
Information






News
Submit News
Search / Archives

Community
Forums
Articles
Interviews
Links

Editing
Tutorials:
  Chronicles
  Mapping
  Skinning
  Storytelling

Game Info
Downloads
FAQ
System Requirements
Engine Info
Game Facts
Screenshots
Story
Settings
Antagonists (Enemies)
Characters
Clans

Guides
Walkthrough [incomplete]
Console
Cheats
Armor Database
Weapons Database

Pen & Paper Info
Introduction
World of Darkness
History
Rules
Lexicon
Paths of Enlightenment
Reading Tips

Hosting
WoD Mod
Within The Darkness
Noir Mod
Fleshcraft
Death in Prague
Sin Factory
Spirit's Touch
Saints & Sinners

GameSpy
  GameSpy.com
  Founders' Club
  GameSpy Comrade
  GameSpy Store
Services
  FilePlanet
  ForumPlanet
3DActionPlanet
RPGPlanet
  Planet Diablo
  Planet Elder Scrolls
SportPlanet
StrategyPlanet
MMORPG
  Vault Network
Classic/Console
  ClassicGaming
  Planet Dreamcast
  Planet Nintendo
  Planet PS2
  Planet Xbox
Community
  LANParty.com


   

Making a Chronicle Script


Longhair

Below is the entire chronicle script file I used. Nothing fancy. No triggered quests or anything like that but it will advance the scenes in the St mode scene pane. Before I explain it I'd better point out that it was modified from the Multiplayer chronicle scripts made by Nihilistic.

Anyone who knows programming reasonably well can probably skip the rest of this and jump down to the code. There might be an easier way to do it but every time I tried to simplify the code more,(like putting it all in the advance handler) it didnt work.

First off follow Darklords tutorial until your ready to create the Chronicle Script or this wont help you one bit. http://www.planetvampire.com/darklord/vtmr_chronicleswithscenes.shtml

For the sake of those people who know little or no programming I'll try to refrain from using programming terms. (I've never programmed in Java before myself, but i do know some C)

Start with the advance handler.(The line that reads "public void advance(int scene, int subscene)"

My (uncompleted) chronicle contains these scenes and subscenes 1_1, 1_2, 1_3, 1_4, 2_1, 2_2, and 2_3

Think of the first "case 1" in the advance handler as representing Scene 1(Switch-Case actually compares that number to the one thats passed to the function, but thats another story). The 1 needs to be changed to YOUR first scene number.

Think of the "case 1" through "case 4" that follows it as your subscene numbers for your first scene. These need to be changed to match YOUR subscene numbers. You may need to copy and paste more case keywords in if you have a scene 1_5 or delete some if your scenes only go to 1_3 etc. Just remember to follow the format in the rest of the function and everything should work fine.

Think of the "case 2" after "case 4" as representing scene 2.......I think you get the idea.

One more thing before I move on. The "Step(1), Step(2), Step(3)," must continue to increase by 1 for every case keyword you add, as seen below.

Now go back up to: THE STEP FUNCTION (the line that reads "public void Step(int stepId)"

The number of case keywords you use in the step function should be equal to the number of scene-subscene combinations you have. I have 7 (1_1, 1_2, 1_3, 1_4, 2_1, 2_2, and 2_3) so I have case 1 through case 7. No need to change the numbers here. just add or delete case keywords and thier contents.

The "CodexSequence.SetNSSIndex(0);" statement in the code should also should increased by 1 for every case keyword. Just follow the format below.(This is the one thing I'm not sure I need but I'm not prepared to take any chances after I just got it working :) )

The "CodexSequence.ChangeScene("ch1PragueInn", "ch1PragueInn_1_1.nsd");" statement is the final thing that needs changed. The first "ch1PragueInn" should be changed to the map file for your first scene. The "ch1PragueInn_1_1.nsd" should be changed to the nsd file of your first scene. The line ("ch1PragueInn", "ch1PragueInn_1_2.nsd"); should be changed to match your second map and scene and so on.

Thats it. Save it as MPHelpChronicle.java and compile it into a class file. This is your chronicle script. Oh.....You also need to have the Codex.class and CodexSequence.class files in the directory you compile it in.

Go back to Darklords tutorial and finish up.

public class MPHelpChronicle extends Codex
{


	public MPHelpChronicle()
	{
	}

	public void Step(int stepId)
	{
		switch(stepId)
		{


			case 1:

				CodexSequence.SetChronicleFlag(stepId);

				// set current NSS index to 0
				CodexSequence.SetNSSIndex(0);
				CodexSequence.ChangeScene("ch1PragueInn", "ch1PragueInn_1_1.nsd");
				break;

			case 2:

				CodexSequence.SetChronicleFlag(stepId);

				// set current NSS index to 1
				CodexSequence.SetNSSIndex(1);
				CodexSequence.ChangeScene("ch1PragueInn", "ch1PragueInn_1_2.nsd");
				break;


			case 3:

				CodexSequence.SetChronicleFlag(stepId);

				// set current NSS index to 2
				CodexSequence.SetNSSIndex(2);
				CodexSequence.ChangeScene("ch1PragueInn", "ch1PragueInn_1_3.nsd");
				break;

			case 4:

				CodexSequence.SetChronicleFlag(stepId);

				// set current NSS index to 3
				CodexSequence.SetNSSIndex(3);

				CodexSequence.ChangeScene("ch1PragueInn", "ch1PragueInn_1_4.nsd");
				break;

			case 5:

				CodexSequence.SetChronicleFlag(stepId);

				// set current NSS index to 4
				CodexSequence.SetNSSIndex(4);

				CodexSequence.ChangeScene("ch1LaserusAbode", "ch1LaserusAbode_2_1.nsd");
				break;


			case 6:

				CodexSequence.SetChronicleFlag(stepId);

				// set current NSS index to 5
				CodexSequence.SetNSSIndex(5);

				CodexSequence.ChangeScene("ch1LaserusAbode", "ch1LaserusAbode_2_2.nsd");
				break;

			case 7:

				CodexSequence.SetChronicleFlag(stepId);

				// set current NSS index to 6
				CodexSequence.SetNSSIndex(6);

				CodexSequence.ChangeScene("ch1LaserusAbode", "ch1LaserusAbode_2_3.nsd");
				break;
		}
	}

	public void advance(int scene, int subscene)
	{
		switch(scene)
		{
			case 1:
				switch(subscene)
				{
					case 1:
						Step(1);
						break;

					case 2:
						Step(2);
						break;

					case 3:
						Step(3);
						break;

					case 4:
						Step(4);
						break;
				}
				break;
			case 2:
				switch(subscene)
				{
					case 1:
						Step(5);
						
						break;
					case 2:
						Step(6);
						
						break;
	
					case 3:
						Step(7);
						
						break;


					
				}
				break;
	
		}
	}
}


[Main Page] [Forums] [Downloads] [Walkthrough]

IGN.com | GameSpy | Comrade | Arena | FilePlanet | GameSpy Technology
TeamXbox | Planets | Vaults | VE3D | CheatsCodesGuides | GameStats | GamerMetrics
AskMen.com | Rotten Tomatoes | Direct2Drive | Green Pixels
By continuing past this page, and by your continued use of this site, you agree to be bound by and abide by the User Agreement.
Copyright 1996-2009, IGN Entertainment, Inc.   About Us | Support | Advertise | Privacy Policy | User Agreement Subscribe to RSS Feeds RSS Feeds
IGN's enterprise databases running Oracle, SQL and MySQL are professionally monitored and managed by Pythian Remote DBA.