Solved

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

Posted on 2009-03-30
7
245 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24027434
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
ID: 24033653
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
ID: 24034815
How is the script executed?  It sounds like you might want to use variables, instead of hard-coded strings...

0
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

 

Author Comment

by:Daniel112
ID: 24035926
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
ID: 24038706
That was what I was thinking--I meant macro expandable text before, not variables...
0
 

Author Comment

by:Daniel112
ID: 24045227
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
ID: 24048506
Hmmm...I heard String.Format...but, that will work...

0

Featured Post

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

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…
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.

751 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