Solved

Visual Studio 2008 Generating Custom Code Off Of a User Interface from User Input

Posted on 2009-03-30
7
222 Views
Last Modified: 2013-11-26
Hello,  I am trying to figure out how to generate code from user input. In Visual Studio 2008, Visual Basic
I am new to this so I will try to explain the best I can. Thank you.
My script always begins with:

function Init(Quest)

Then from here a user would input a quest name, type and zone in a interface.

Ex:
RegisterQuest(Quest, "Kill Zombies", "Heritage", "Firestorm")
end

This part a user would enter in his interface what would an NPC say if accepted.

Ex:
function Accepted(Quest, QuestGiver, Player)
      if QuestGiver ~= nil then
            if GetDistance(Player, QuestGiver) < 30 then
                  FaceTarget(QuestGiver, Player)
                  Say(QuestGiver, "Thank you for accepting this task " .. GetName(Player) .. ".  Please return to me when you have completed it.")
                  Emote(QuestGiver, " thanks you warmly.", Player)
            end
      end
end

If the quest is denied

Ex:
function Declined(Quest, QuestGiver, Player)
      if QuestGiver ~= nil then
            if GetDistance(Player, QuestGiver) < 30 then
                  FaceTarget(QuestGiver, Player)
                  Say(QuestGiver, "If you change your mind " .. GetName(Player) .. ", you know where to find me.")
                  Emote(QuestGiver, " glares at you.", Player)
            end
      end
end

Last if the quest is completed

Ex:
function KilledAllCrabs(Quest, QuestGiver, Player)
      UpdateQuestStepDescription(Quest, 1, "I killed the zombies as Daniel requested.")
      UpdateQuestDescription(Quest, "I killed some of the zombies in the tomb.  Return to Daniel for your reward.")
end

What I need is a few text boxs that a user can input "Kill Zombies" or whatever they like and when they push a generate button it will create a file with a .quest extension.
All of the code remains the same except for the quotes that would be the user input from the interface.

Basically everything in quotes can be changed by the user in an interface.
I have created my own functions for when a user accepts, denys and completes a quest.
The user just needs to input what should happen then click a generate button to throw it all together as a .quest file to be saved in his or her quest folder for the server to call on later.

I also have many other functions like:
AddQuestRewardFaction --- (Quest, Faction ID, Amount)
AddQuestRewardCoin --- (Quest, Copper, Silver, Gold, Plat)
AddQuestStepObtainItem --- (Quest, Step ID, Description, Quantity, Percentage, TaskGroupText, Item ID(s))
Etc
Etc
I would also like to have these available on the UI but wont generate unless a user checks a box to add them or there is a box already for them but wont step into the code unless the user enters something into the box.

Is there anyone that can explain how I would go about doing this. Or maybe some kind of visual studio plugin that will help me out.  

Thank you again for taking the time to read.  I hope I explained my substitution well enough.
0
Comment
Question by:Daniel112
  • 4
  • 3
7 Comments
 
LVL 96

Expert Comment

by:Bob Learned
Comment Utility
Are you asking for a way to add dynamic TextBox controls to a form, and place them relative to other controls?
0
 

Author Comment

by:Daniel112
Comment Utility
What im asking is how do I add a txtbox to a windows form to only edit what is in the "quoted" text of my script while keeping the code untouched.
This way when a user generates a .quest file it will have only edited the quoted text while keeping the script template intact.


0
 
LVL 96

Expert Comment

by:Bob Learned
Comment Utility
How is the script executed?  It sounds like you might want to use variables, instead of hard-coded strings...

0
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 

Author Comment

by:Daniel112
Comment Utility
The script is LUA as far as how it is excuted I dont know.  I dont do server side stuff.  Im just trying to create a program for my team to create quests without having to copy and paste the same script over and over and only edit the whats in the quotes.

I am wanting to create a form that, when filled out, and when a button is pushed, will write a file out to disk for you.

If its more helpful I think I will be using
String.Format
File.WriteAllText

0
 
LVL 96

Expert Comment

by:Bob Learned
Comment Utility
That was what I was thinking--I meant macro expandable text before, not variables...
0
 

Author Comment

by:Daniel112
Comment Utility
So would something like this work?

Dim s As String = "function Init(Quest)" & Environment.NewLine

Then based on the users values:
s &= "RegisterQuest(Quest, " & txtQuest.Text & ", " & txtType.Text & ", " & txtZone.Text & ")" & Environment.NewLine
s &= "end" & Environment.NewLine
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 500 total points
Comment Utility
Hmmm...I heard String.Format...but, that will work...

0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now