Anything I can do?

Rising ourselves by our own hair.
Post Reply
Joshex
Posts: 5
Joined: Tue Jul 02, 2013 6:17 pm

Anything I can do?

Post by Joshex » Tue Jul 02, 2013 6:23 pm

I may not be an expert programmer, but I can design entire games.

I am familiar with python object oriented language. I can also edit php and html.

my main skill is in my ability to create and rig models in blender, and of course texture work.

I program most of my games witha combination of logic bricks and python.

User avatar
nemerle
Posts: 359
Joined: Thu Jan 10, 2013 3:40 pm

Re: Anything I can do?

Post by nemerle » Tue Jul 02, 2013 10:35 pm

Greetings.

How are You at puzzles ? :)

There are quite a few text files available client-side, containing contact/story-arc/mission texts. Sadly they are in a form of a simple mapping from short-id to actual text, and as such are not very useful.
If You, or anyone else would like to start the Content-Team going, recovering/formatting those text files into more usable form would be a great start. ( people having trouble extracting those files and wanting to help out with this, PM me please ).

Now what an usable form is ? Something that can be easily used as a self-contained server's content-pack. First step imho would be to add some additional info for each of this messages ( when is it shown, is it mission related, what conditions must be met/unmet for given text to be visible etc. ).

As for target file format, I personally would prefer a text version of Protocol Buffers, or something we could easily transform to PB's format, but I'm open to suggestions.

If there are more people interested in helping out, then this will require some coordination effort, so thoughts and ideas welcome :)

Example message set follows:

Code: Select all

"K1075700373" "You've actually managed to impress me, {HeroName}. I am happy to do anything within my power to <A HREF=CONTACTLINK_GOTOSTORE>assist you.</a> Don't hesitate to call."
"K1227307958" "We're done, {HeroName}. You're on your own now."
"K1279537911" "On the surface, Susan Davies is a quiet, unassuming government liaison working in the ELITE section of the Federal Bureau of Super-powered Affairs. ELITE stands for Enhanced Logistics for Insight and Tactical Excellence. Some say that Susan has much more power than she lets on. One thing is certain: she has no shortage of well-placed contacts. Her brother, Rick, once the hero known as Horatio, is now the liaison for new technology heroes. Susan knows about everything going on in Paragon City, and she keeps an especially close watch on gang activities. She shares her knowledge with new heroes, but she believes that no amount of advice can substitute for training and determination."
"K196097607" "Susan Davies"
"K2184898938" "I don't deal with {HeroOrigin} heroes. Maybe {LastContactName} can use your help."
"K2356645115" "<A HREF=CONTACTLINK_MISSIONS>I have a new assignment for you.</a>"
"K2427252731" "Atlas Park, City Hall"
"K2856075939" "I have something, but it's very hush-hush. Try me when you reach Security Level {Level}."
"K2900231248" "I have nothing to say to you. Why not try {LastContactName}?"
"K2923158222" "I don't have any more tasks that would interest you. Check with your other contacts."
"K3023871630" "Natural Hero Liaison"
"K3676958549" "This should not appear for this contact."
"K3686154128" "You're doing well, my friend. Don't let up. Remember, <A HREF=CONTACTLINK_GOTOSTORE>preparation</a> is the key to success."
"K3851086962" "Do your job and we'll get along fine, {HeroName}."
"K3969078126" "<A HREF=CONTACTLINK_MISSIONS>Are you ready for some action?</a>"
"K692246627" "You're far too busy to take on another task, {HeroName}."
"K704986600" "I have a <A HREF=CONTACTLINK_INTRODUCE>new contact</A> for you to meet. I think you can help each other out."
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

Joshex
Posts: 5
Joined: Tue Jul 02, 2013 6:17 pm

Re: Anything I can do?

Post by Joshex » Wed Jul 03, 2013 5:50 pm

sure, I can do that, sounds less of a puzzle and more of a repetitive thing.

I can put the mission information in an unread block:

#For completion of {ContactName} arch
#First Mission, Introduction {MissionName}

or would you like it visible? "text {here}"

as for extracting the text, just tell me where to look for it. I should be able to find it with a file name.

also, if this is indeed the information format of the contact text any that are not already written can be copy pastaed from titan wiki. what say you?

User avatar
nemerle
Posts: 359
Joined: Thu Jan 10, 2013 3:40 pm

Re: Anything I can do?

Post by nemerle » Wed Jul 03, 2013 6:44 pm

The texts are a part of misc.pigg file. ( texts/English/Contacts and texts/English/StoryArcs )
And the puzzle part comes when you recreate the Npcs and their interaction scripts : ( forgive my Ruby bend :P )

Code: Select all

:npc => {
    :name => "K217806906",    # mapped by client to : Officer Wright
    :description => "K3144347311",
    :triggers => {
        :whenInteractedWith => Proc.new {|npc,hero|
            if(hero.xp>hero.has_enough_xp_for_level(2))
                 hero.showDialog(npc,"K2197857727")
            end
        },
        ...
    }
}
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

Joshex
Posts: 5
Joined: Tue Jul 02, 2013 6:17 pm

Re: Anything I can do?

Post by Joshex » Thu Jul 04, 2013 12:39 am

nemerle wrote:The texts are a part of misc.pigg file. ( texts/English/Contacts and texts/English/StoryArcs )
And the puzzle part comes when you recreate the Npcs and their interaction scripts : ( forgive my Ruby bend :P )

Code: Select all

:npc => {
    :name => "K217806906",    # mapped by client to : Officer Wright
    :description => "K3144347311",
    :triggers => {
        :whenInteractedWith => Proc.new {|npc,hero|
            if(hero.xp>hero.has_enough_xp_for_level(2))
                 hero.showDialog(npc,"K2197857727")
            end
        },
        ...
    }
}

ok sounds fun, usually I do a trial and error on this sorta thing. would be handy to be able to test a script once it's written, am I to assume the formatting you've given here is the correct syntax?

User avatar
nemerle
Posts: 359
Joined: Thu Jan 10, 2013 3:40 pm

Re: Anything I can do?

Post by nemerle » Thu Jul 04, 2013 8:41 am

Well 'correct' in that it's both human and machine readable, it's not complete though.
As for testing, that's a good point, we could create a piece of software, and have it load the re-created npc/quest definitions, and allow us to interact with them, hmmm...

WIP Req:
Load CoH's messagestore files (*.ms)
Loading/Saving SEGS content files ( they are actually a valid ruby syntax for hash maps :P )
Text editing. ( in the future it would be nice to have some UI goodness, like showing MessageStore text when hovering over it's short form in the SEGS content text etc. )
Test run - running the test on the SEGS content file, like creating the defined NPC/Quest object, and see if it works when prodded and poked.


Great... now I want to write that :)
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

Joshex
Posts: 5
Joined: Tue Jul 02, 2013 6:17 pm

Re: Anything I can do?

Post by Joshex » Sat Jul 06, 2013 3:47 am

Very well I'll work on it as I find time. I will be entertaning till the 24th of july so might not have much time till then.

Joshex
Posts: 5
Joined: Tue Jul 02, 2013 6:17 pm

Re: Anything I can do?

Post by Joshex » Tue Jun 30, 2015 9:25 pm

Hey, Nemerle, I wanted to say, sorry for bailing with no warning. To be honest at the time I was not upto the task given.

I knew VB and python, VB was capable of it but I hadn't used it in years, so I tried python, python has NO inherent text rasterization options outside of the console window and not even a printscreen option in sight. so I spent time building my own graphical text typing program in blender/python. all of it's 15 character slots and pages and pages of code and problematic backspace.

yeah... so...

that's why I bailed. sorry... I know that's a bit late now.

I wonder if you have seen Codewalker and Leandro's newest project ParagonChat, leandro was wondering if you would be interested working on that. no, he didn't send me but mentioned it in a thread.

Again sorry for bailing without word.

broxen
Posts: 12
Joined: Tue Jun 07, 2016 8:26 am

Re: Anything I can do?

Post by broxen » Mon Sep 11, 2017 8:13 am

Is there some kind of master xls with every key/value pair?

Do we know how these random pairs are associated? Is there a sort of codex or index? Or is that the "puzzle" really?

Seems like connecting these manually would be extremely difficult, as all contemporary sources for this info (ParagonWiki, RedTomax) would refer to the I23+ versions of this information. I suppose I'm making the assumption that these quests changed at some point, but it just seems likely.

Thinking out loud, a data dump from Tomax would probably net faster results, with the relationships already in place. But maybe there is Piggs data that Tomax didn't capture?

User avatar
nemerle
Posts: 359
Joined: Thu Jan 10, 2013 3:40 pm

Re: Anything I can do?

Post by nemerle » Mon Sep 11, 2017 3:57 pm

Tomax data is pretty close to what we'd want as a source, although texts from the client have additional information in form of tags such as

Code: Select all

{HeroName}
etc.

What we're going to need is a format of Contact/Task description that is readable by the MapServer, and that can be 'converted' into actual in-game quests.

The actual Contact/Task description will have to be fleshed out but:

Code: Select all

Contact:
  Location: "Map name + npc map tag "
  Name: "Contact name"
  NpcCostume: "An unique ID that identifies the given npc's costume"   <-- Those ID's will be taken almost exclusively from the VillainCostumes.bin
  Prerequisites: [ A list of condition a player has to meet to be allowed to speak to the contact]
  Offered Tasks: { "TaskPrerequisites" => "Unique Task ID", "TaskPrerequisites" => "Unique Task ID",...}
While task descriptions will be a bit more complicated :)
Having NPC's from the tutorial zone will help in identifing at least a subset of all Prerequisites/TaskPrerequisites conditions we're going to need to handle in MapServer code.
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest