You can use it to create NPC's fast and simple.
It already have the standard things as you can see.
I will implent more functions later, to make it more userfriendly, but this is what I got now.
It can also load npcs. If you write the general things, then it won't make them automatical, but if it detects, that you haven't made it, then it will automatical write them in.
Features now:
Code:
-Save warning before you're making a new npc. -Madeby, NPCID & NPCName defined by textboxes. -Standard class for NPCScripting in vb. -Open NPCScripts (.vb). -SaveNPCScripts in the default folder NPCScripts\file.vb.
Code:
Autoscripting for LUA, with eg. Moneys, Items, Levels etc. Create dialog automatical. Add npc's automatical into process.vb, once they are saved. More functions, then only NPCScripting.
Download:

is not obfuscated, so you can deobfuscate it, if you want.
It requires .NET Framework 4, didn't bother to make it lower.
Sourcecode:
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.IO;
namespace NPCDialogCreator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (txtDialog.Text.Length > 2)
{
DialogResult dlgResult = MessageBox.Show("Do you want to save current NPCFirst?",
"SAVE WARNING",
MessageBoxButtons.YesNoCancel);
if (dlgResult == System.Windows.Forms.DialogResult.Yes)
{
MadeBy = txtMade.Text;
NPCID = txtID.Text;
NPCName = txtName.Text;
WriteDialog();
txtDialog.Text = "";
}
else if (dlgResult == System.Windows.Forms.DialogResult.Cancel)
{
}
else if (dlgResult == System.Windows.Forms.DialogResult.No)
{
txtDialog.Text = "";
}
}
else
txtDialog.Text = "";
}
private void button2_Click(object sender, EventArgs e)
{
bool Have = false;
OpenFileDialog ofn = new OpenFileDialog();
ofn.Filter = "VisualBasic Files (*.vb)|*.vb";
ofn.Title = "Open NPCDialog";
while (Have == false)
{
if (ofn.ShowDialog() == DialogResult.Cancel)
return;
string file = ofn.FileName;
try
{
FileStream fs = new FileStream(@"" + file, FileMode.Open);
StreamReader sr = new StreamReader(fs);
string text = sr.ReadToEnd();
sr.Close();
fs.Close();
txtDialog.Text = text;
Have = true;
}
catch (IOException io)
{
MessageBox.Show(io.ToString());
}
}
}
private string MadeBy = "";
private string NPCID = "";
private string NPCName = "";
private string General = "\nImports System\nImports ConquerScriptLinker\n\nPartial Public Class NpcEngine\n";
private string End = "\nEnd Class";
private void WriteDialog()
{
string dialog = MadeBy +
"\n' Npc: " + NPCID +
NPCName + "\n" +
General + "\n";
if (txtDialog.Text.Contains(dialog) && dialog.Length > 10)
{
dialog = txtDialog.Text;
}
else
dialog = dialog + txtDialog.Text + "\n" + End;
try
{
FileStream fs = new FileStream(@"NPCScripts\" + NPCID + ".vb", FileMode.CreateNew);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(dialog);
sw.Flush(); fs.Flush();
sw.Close(); fs.Close();
}
catch
{
FileStream fs = new FileStream(@"NPCScripts\" + NPCID + ".vb", FileMode.Truncate);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(dialog);
sw.Flush(); fs.Flush();
sw.Close(); fs.Close();
}
}
private void button3_Click(object sender, EventArgs e)
{
MadeBy = "' By: " + txtMade.Text;
NPCID = txtID.Text;
NPCName = "\n' Name: " + txtName.Text;
WriteDialog();
}
}
}






