├── LICENSE
├── README.md
├── SCFEditor
├── Account
│ ├── Account.Designer.cs
│ ├── Account.cs
│ ├── Account.resx
│ ├── ExtraAcc.Designer.cs
│ ├── ExtraAcc.cs
│ ├── ExtraAcc.resx
│ ├── VIP.Designer.cs
│ ├── VIP.cs
│ ├── VIP.resx
│ ├── Warehouse.Designer.cs
│ ├── Warehouse.cs
│ └── Warehouse.resx
├── Character
│ ├── Add.Designer.cs
│ ├── Add.cs
│ ├── Add.resx
│ ├── Edit.Designer.cs
│ ├── Edit.cs
│ ├── Edit.resx
│ ├── Item.Designer.cs
│ ├── Item.cs
│ ├── Item.resx
│ ├── Skills.Designer.cs
│ ├── Skills.cs
│ └── Skills.resx
├── DBLite.cs
├── Extra.cs
├── Find.Designer.cs
├── Find.cs
├── Find.resx
├── Form1.Designer.cs
├── Form1.cs
├── Form1.resx
├── Items
│ ├── CharPanel.Designer.cs
│ ├── CharPanel.cs
│ ├── CharPanel.resx
│ ├── EquipEditor.Designer.cs
│ ├── EquipEditor.cs
│ ├── EquipEditor.resx
│ ├── EquipImageCache.cs
│ ├── EquipItem.cs
│ ├── EquipPanel.Designer.cs
│ ├── EquipPanel.cs
│ ├── EquipPanel.resx
│ ├── EquipProperty.Designer.cs
│ ├── EquipProperty.cs
│ ├── EquipProperty.resx
│ ├── Serial.Designer.cs
│ ├── Serial.cs
│ └── Serial.resx
├── Logo Small.png
├── Megaman.ico
├── Program.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── Resources
│ ├── char-1.jpg
│ ├── package-1.jpg
│ ├── unknownItem.jpg
│ └── warehouse-1.jpg
├── Reward.Designer.cs
├── Reward.cs
├── Reward.resx
├── Splash.Designer.cs
├── Splash.cs
├── Splash.resx
├── TitanEditor.csproj
├── bin
│ └── x86
│ │ └── Release
│ │ └── Config.ini
└── ini.cs
├── TitanEditor.sln
├── TitanEditor.suo
└── TitanEditorAdds.exe
/README.md:
--------------------------------------------------------------------------------
1 | # TitanEditor
2 | TitanEditor
3 |
--------------------------------------------------------------------------------
/SCFEditor/Account/Account.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor.Account
10 | {
11 | public partial class Account : Form
12 | {
13 | public Account()
14 | {
15 | InitializeComponent();
16 | }
17 |
18 | public string name;
19 | bool edit = false;
20 |
21 | private void Account_Load(object sender, EventArgs e)
22 | {
23 | if (name != null)
24 | {
25 | edit = true;
26 | tbox_Account.Text = name;
27 | tbox_Account.ReadOnly = true;
28 | if (ini.MD5 == false)
29 | {
30 | DBLite.dbMe.Read("SELECT memb__pwd,memb_name,mail_addr,fpas_ques,fpas_answ FROM MEMB_INFO WHERE memb___id = '" + name + "'");
31 | DBLite.dbMe.Fetch();
32 | tbox_Password.Text = DBLite.dbMe.GetAsString("memb__pwd");
33 | tbox_Name.Text = DBLite.dbMe.GetAsString("memb_name");
34 | tbox_Email.Text = DBLite.dbMe.GetAsString("mail_addr");
35 | tbox_Question.Text = DBLite.dbMe.GetAsString("fpas_ques");
36 | tbox_Answer.Text = DBLite.dbMe.GetAsString("fpas_answ");
37 | }
38 | else
39 | {
40 | DBLite.dbMe.Read("SELECT memb_name,mail_addr,fpas_ques,fpas_answ FROM MEMB_INFO WHERE memb___id = '" + name + "'");
41 | DBLite.dbMe.Fetch();
42 | tbox_Name.Text = DBLite.dbMe.GetAsString("memb_name");
43 | tbox_Email.Text = DBLite.dbMe.GetAsString("mail_addr");
44 | tbox_Question.Text = DBLite.dbMe.GetAsString("fpas_ques");
45 | tbox_Answer.Text = DBLite.dbMe.GetAsString("fpas_answ");
46 | }
47 | DBLite.dbMe.Close();
48 | }
49 | }
50 |
51 | private void button_Ok_Click(object sender, EventArgs e)
52 | {
53 | if (edit == false)
54 | {
55 | if (ini.MD5 == false)
56 | {
57 | DBLite.dbMe.Exec("INSERT INTO MEMB_INFO (memb___id,memb__pwd,memb_name,sno__numb,mail_addr,fpas_ques,fpas_answ,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('" + tbox_Account.Text + "','" + tbox_Password.Text + "','" + tbox_Name + "','1','" + tbox_Email.Text + "','" + tbox_Question.Text + "','" + tbox_Answer.Text + "','20080101','20080101','20080101','20080101','1','0','0')");
58 | DBLite.dbMe.Close();
59 | }
60 | else
61 | {
62 | DBLite.dbMe.Exec("INSERT INTO MEMB_INFO (memb___id,memb_name,sno__numb,mail_addr,fpas_ques,fpas_answ,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('" + tbox_Account.Text + "','" + tbox_Name.Text + "','1','" + tbox_Email.Text + "','" + tbox_Question.Text + "','" + tbox_Answer.Text + "','20080101','20080101','20080101','20080101','1','0','0')");
63 | DBLite.dbMe.Close();
64 | DBLite.dbMe.Exec("EXEC Encript '" + tbox_Password.Text + "','" + tbox_Account.Text + "'");
65 | DBLite.dbMe.Close();
66 | }
67 | MessageBox.Show("Account Added", "Titan Editor", MessageBoxButtons.OK);
68 | DialogResult = DialogResult.OK;
69 | Close();
70 | }
71 | else
72 | {
73 | if (ini.MD5 == false)
74 | {
75 | string Pass = "";
76 | if(tbox_Password.Text.Length > 0)
77 | Pass = "memb__pwd = '" + tbox_Password.Text + "',";
78 | DBLite.dbMe.Exec("UPDATE MEMB_INFO SET " + Pass + "memb_name = '" + tbox_Name.Text + "',mail_addr = '" + tbox_Email.Text + "',fpas_ques = '" + tbox_Question.Text + "',fpas_answ = '" + tbox_Answer.Text + "' WHERE memb___id = '" + name + "'");
79 | DBLite.dbMe.Close();
80 | }
81 | else
82 | {
83 | DBLite.dbMe.Exec("UPDATE MEMB_INFO SET memb_name = '" + tbox_Name.Text + "',mail_addr = '" + tbox_Email.Text + "',fpas_ques = '" + tbox_Question.Text + "',fpas_answ = '" + tbox_Answer.Text + "' WHERE memb___id = '" + name + "'");
84 | DBLite.dbMe.Close();
85 | if (tbox_Password.Text.Length > 0)
86 | {
87 | DBLite.dbMe.Exec("EXEC Encript '" + tbox_Password.Text + "','" + tbox_Account.Text + "'");
88 | DBLite.dbMe.Close();
89 | }
90 | }
91 | MessageBox.Show("Account Updated","Titan Editor",MessageBoxButtons.OK);
92 | DialogResult = DialogResult.Cancel;
93 | Close();
94 | }
95 | }
96 |
97 | private void button_Cancel_Click(object sender, EventArgs e)
98 | {
99 | DialogResult = DialogResult.Cancel;
100 | Close();
101 | }
102 | }
103 | }
104 |
--------------------------------------------------------------------------------
/SCFEditor/Account/Account.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/Account/ExtraAcc.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor.Account
10 | {
11 | public partial class ExtraAcc : Form
12 | {
13 | public string name;
14 |
15 | public ExtraAcc()
16 | {
17 | InitializeComponent();
18 | }
19 |
20 | private void button_Ok_Click(object sender, EventArgs e)
21 | {
22 | DBLite.dbMe.Exec("UPDATE MEMB_INFO SET SCFLuckyCoins = " + tbox_LuckyCoins.Text + ",SCFExtWarehouse = " + tbox_ExtWare.Text + ",WCoin = " + tbox_WCoins.Text + ",WCoinP = " + tbox_WCoinsP.Text + ",GoblinCoin = " + tbox_GoblinCoins.Text + " WHERE memb___id = '" + name + "'");
23 | DBLite.dbMe.Close();
24 |
25 | MessageBox.Show("Account Updated", "Titan Editor", MessageBoxButtons.OK);
26 | DialogResult = DialogResult.OK;
27 | Close();
28 | }
29 |
30 | private void Extra_Load(object sender, EventArgs e)
31 | {
32 | DBLite.dbMe.Read("SELECT SCFLuckyCoins,SCFExtWarehouse,WCoin,WCoinP,GoblinCoin FROM MEMB_INFO WHERE memb___id = '" + name + "'");
33 | DBLite.dbMe.Fetch();
34 | tbox_LuckyCoins.Text = DBLite.dbMe.GetAsString("SCFLuckyCoins");
35 | tbox_ExtWare.Text = DBLite.dbMe.GetAsString("SCFExtWarehouse");
36 | tbox_WCoins.Text = DBLite.dbMe.GetAsString("WCoin");
37 | tbox_WCoinsP.Text = DBLite.dbMe.GetAsString("WCoinP");
38 | tbox_GoblinCoins.Text = DBLite.dbMe.GetAsString("GoblinCoin");
39 | DBLite.dbMe.Close();
40 | }
41 |
42 | private void button_Cancel_Click(object sender, EventArgs e)
43 | {
44 | DialogResult = DialogResult.Cancel;
45 | Close();
46 | }
47 |
48 | private void tbox_LuckyCoins_KeyPress(object sender, KeyPressEventArgs e)
49 | {
50 | if ((e.KeyChar < '0' || e.KeyChar > '9') || (e.KeyChar == 8))
51 | e.Handled = true;
52 | }
53 |
54 | private void tbox_ExtWare_KeyPress(object sender, KeyPressEventArgs e)
55 | {
56 | if ((e.KeyChar < '0' || e.KeyChar > '9') || (e.KeyChar == 8))
57 | e.Handled = true;
58 | }
59 |
60 | private void tbox_WCoins_KeyPress(object sender, KeyPressEventArgs e)
61 | {
62 | if ((e.KeyChar < '0' || e.KeyChar > '9') || (e.KeyChar == 8))
63 | e.Handled = true;
64 | }
65 |
66 | private void tbox_WCoinsP_KeyPress(object sender, KeyPressEventArgs e)
67 | {
68 | if ((e.KeyChar < '0' || e.KeyChar > '9') || (e.KeyChar == 8))
69 | e.Handled = true;
70 | }
71 |
72 | private void tbox_GoblinCoins_KeyPress(object sender, KeyPressEventArgs e)
73 | {
74 | if ((e.KeyChar < '0' || e.KeyChar > '9') || (e.KeyChar == 8))
75 | e.Handled = true;
76 | }
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/SCFEditor/Account/ExtraAcc.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/Account/VIP.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor.Account
10 | {
11 | public partial class VIP : Form
12 | {
13 | public VIP()
14 | {
15 | InitializeComponent();
16 | }
17 |
18 | private bool ReloadAccount = false;
19 | private int VIPDays = 0;
20 |
21 | private void vipmoneyBtn_KeyPress(object sender, KeyPressEventArgs e)
22 | {
23 | if ((e.KeyChar < '0' || e.KeyChar > '9') || (e.KeyChar == 8))
24 | e.Handled = true;
25 | }
26 |
27 | private void vipdaysBtn_KeyPress(object sender, KeyPressEventArgs e)
28 | {
29 | if ((e.KeyChar < '0' || e.KeyChar > '9') || (e.KeyChar == 8))
30 | e.Handled = true;
31 | }
32 |
33 | private void account_Rld_Click(object sender, EventArgs e)
34 | {
35 | comboAccount.Items.Clear();
36 | string Values = "";
37 |
38 | if (normalRBtn.Checked == true)
39 | Values = "<=";
40 | else
41 | Values = ">";
42 |
43 | DBLite.dbMe.Read("SELECT memb___id FROM MEMB_INFO WHERE (SCFVIPDays-DateDiff(dd , out__days,getdate())) " + Values + " 0 ORDER BY memb___id");
44 | while (DBLite.dbMe.Fetch())
45 | {
46 | comboAccount.Items.Add(DBLite.dbMe.GetAsString("memb___id"));
47 | }
48 | DBLite.dbMe.Close();
49 |
50 | ReloadAccount = true;
51 | }
52 |
53 | private void comboAccount_SelectedIndexChanged(object sender, EventArgs e)
54 | {
55 | SearchData();
56 | }
57 |
58 | private void normalRBtn_CheckedChanged(object sender, EventArgs e)
59 | {
60 | comboAccount.Items.Clear();
61 | vipmoneyTxt.Text = "0";
62 | vipdaysTxt.Text = "0";
63 | wareTxt.Text = "0";
64 | VIPDays = 0;
65 | ReloadAccount = false;
66 | }
67 |
68 | private void vipRBtn_CheckedChanged(object sender, EventArgs e)
69 | {
70 | comboAccount.Items.Clear();
71 | vipmoneyTxt.Text = "0";
72 | vipdaysTxt.Text = "0";
73 | wareTxt.Text = "0";
74 | VIPDays = 0;
75 | ReloadAccount = false;
76 | }
77 |
78 | private void SearchData()
79 | {
80 | VIPDays = 0;
81 | vipmoneyTxt.Text = "0";
82 | vipdaysTxt.Text = "0";
83 | wareTxt.Text = "0";
84 | if (comboAccount.Text != "")
85 | {
86 | DBLite.dbMe.Read("SELECT SCFVipDays,SCFVipMoney,SCFWareVipCount FROM MEMB_INFO WHERE memb___id = '" + comboAccount.Text + "'");
87 | if (DBLite.dbMe.Fetch())
88 | {
89 | vipdaysTxt.Text = DBLite.dbMe.GetAsString("SCFVipDays");
90 | VIPDays = Convert.ToInt32(vipdaysTxt.Text);
91 | vipmoneyTxt.Text = DBLite.dbMe.GetAsString("SCFVipMoney");
92 | wareTxt.Text = DBLite.dbMe.GetAsString("SCFWareVipCount");
93 | }
94 | DBLite.dbMe.Close();
95 | }
96 | }
97 |
98 | private void button_Save_Click(object sender, EventArgs e)
99 | {
100 | if(vipmoneyTxt.Text == "")
101 | {
102 | MessageBox.Show("ERROR: Please add vip money");
103 | return;
104 | }
105 | if (vipdaysTxt.Text == "")
106 | {
107 | MessageBox.Show("ERROR: Please add vip days");
108 | return;
109 | }
110 | if (wareTxt.Text == "")
111 | {
112 | MessageBox.Show("ERROR: Please add Ware Count");
113 | return;
114 | }
115 |
116 | string Value = " ";
117 | if (VIPDays.ToString() != vipdaysTxt.Text && VIPDays == 0)
118 | Value = ",out__days=getdate() ";
119 |
120 | if (Convert.ToInt32(vipdaysTxt.Text) == 0)
121 | {
122 | Value += ",SCFIsVip = 0 ";
123 | }else
124 | {
125 | Value += ",SCFIsVip = 1 ";
126 | }
127 |
128 | DBLite.dbMe.Exec("UPDATE MEMB_INFO SET SCFWareVipCount = " + wareTxt.Text + ",SCFVipMoney = " + vipmoneyTxt.Text + ",SCFVipDays = " + vipdaysTxt.Text + Value + "WHERE memb___id = '" + comboAccount.Text + "'");
129 | DBLite.dbMe.Close();
130 |
131 | if (comboAccount.SelectedItem != null)
132 | {
133 | if (normalRBtn.Checked == true && Convert.ToInt32(vipdaysTxt.Text) != 0)
134 | {
135 | comboAccount.Items.Remove(comboAccount.SelectedItem);
136 | vipmoneyTxt.Text = "0";
137 | vipdaysTxt.Text = "0";
138 | wareTxt.Text = "0";
139 | VIPDays = 0;
140 | }
141 | else if (vipRBtn.Checked == true && Convert.ToInt32(vipdaysTxt.Text) == 0)
142 | {
143 | comboAccount.Items.Remove(comboAccount.SelectedItem);
144 | vipmoneyTxt.Text = "0";
145 | vipdaysTxt.Text = "0";
146 | wareTxt.Text = "0";
147 | VIPDays = 0;
148 | }
149 | }
150 |
151 | MessageBox.Show("Account Updated", "Titan Editor", MessageBoxButtons.OK);
152 | }
153 |
154 | private void accountFind_Click(object sender, EventArgs e)
155 | {
156 | Find formFind = new Find();
157 | formFind.isAccount = true;
158 | if (formFind.ShowDialog() == DialogResult.OK)
159 | {
160 | comboAccount.Text = Extra.FindResult.AccountID;
161 | SearchData();
162 | }
163 | }
164 | }
165 | }
166 |
--------------------------------------------------------------------------------
/SCFEditor/Account/VIP.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
--------------------------------------------------------------------------------
/SCFEditor/Account/Warehouse.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TitanEditor.Account
2 | {
3 | partial class Warehouse
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Warehouse));
32 | this.button2 = new System.Windows.Forms.Button();
33 | this.button1 = new System.Windows.Forms.Button();
34 | this.comboVault = new System.Windows.Forms.ComboBox();
35 | this.equipPanel1 = new TitanEditor.EquipPanel();
36 | this.equipEditor1 = new TitanEditor.EquipEditor();
37 | this.label1 = new System.Windows.Forms.Label();
38 | this.tbox_zen = new System.Windows.Forms.TextBox();
39 | this.Label22 = new System.Windows.Forms.Label();
40 | this.equipPanel2 = new TitanEditor.EquipPanel();
41 | this.SuspendLayout();
42 | //
43 | // button2
44 | //
45 | this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
46 | this.button2.Location = new System.Drawing.Point(529, 434);
47 | this.button2.Name = "button2";
48 | this.button2.Size = new System.Drawing.Size(75, 23);
49 | this.button2.TabIndex = 6;
50 | this.button2.Text = "&Close";
51 | this.button2.UseVisualStyleBackColor = true;
52 | this.button2.Click += new System.EventHandler(this.button2_Click);
53 | //
54 | // button1
55 | //
56 | this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
57 | this.button1.Location = new System.Drawing.Point(448, 434);
58 | this.button1.Name = "button1";
59 | this.button1.Size = new System.Drawing.Size(75, 23);
60 | this.button1.TabIndex = 5;
61 | this.button1.Text = "&Save";
62 | this.button1.UseVisualStyleBackColor = true;
63 | this.button1.Click += new System.EventHandler(this.button1_Click);
64 | //
65 | // comboVault
66 | //
67 | this.comboVault.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
68 | this.comboVault.FormattingEnabled = true;
69 | this.comboVault.Location = new System.Drawing.Point(121, 12);
70 | this.comboVault.Name = "comboVault";
71 | this.comboVault.Size = new System.Drawing.Size(88, 21);
72 | this.comboVault.TabIndex = 7;
73 | this.comboVault.SelectedIndexChanged += new System.EventHandler(this.comboVault_SelectedIndexChanged);
74 | //
75 | // equipPanel1
76 | //
77 | this.equipPanel1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("equipPanel1.BackgroundImage")));
78 | this.equipPanel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
79 | this.equipPanel1.Cursor = System.Windows.Forms.Cursors.Cross;
80 | this.equipPanel1.Location = new System.Drawing.Point(9, 66);
81 | this.equipPanel1.Margin = new System.Windows.Forms.Padding(0);
82 | this.equipPanel1.Name = "equipPanel1";
83 | this.equipPanel1.Size = new System.Drawing.Size(200, 406);
84 | this.equipPanel1.TabIndex = 1;
85 | //
86 | // equipEditor1
87 | //
88 | this.equipEditor1.DefaultDurability = ((byte)(255));
89 | this.equipEditor1.Location = new System.Drawing.Point(422, 36);
90 | this.equipEditor1.Margin = new System.Windows.Forms.Padding(0);
91 | this.equipEditor1.Name = "equipEditor1";
92 | this.equipEditor1.Size = new System.Drawing.Size(231, 395);
93 | this.equipEditor1.TabIndex = 0;
94 | //
95 | // label1
96 | //
97 | this.label1.AutoSize = true;
98 | this.label1.Location = new System.Drawing.Point(10, 16);
99 | this.label1.Name = "label1";
100 | this.label1.Size = new System.Drawing.Size(105, 13);
101 | this.label1.TabIndex = 8;
102 | this.label1.Text = "Warehouse Number:";
103 | //
104 | // tbox_zen
105 | //
106 | this.tbox_zen.Location = new System.Drawing.Point(47, 39);
107 | this.tbox_zen.MaxLength = 10;
108 | this.tbox_zen.Name = "tbox_zen";
109 | this.tbox_zen.Size = new System.Drawing.Size(162, 20);
110 | this.tbox_zen.TabIndex = 24;
111 | //
112 | // Label22
113 | //
114 | this.Label22.AutoSize = true;
115 | this.Label22.ForeColor = System.Drawing.Color.Black;
116 | this.Label22.Location = new System.Drawing.Point(12, 42);
117 | this.Label22.Name = "Label22";
118 | this.Label22.Size = new System.Drawing.Size(29, 13);
119 | this.Label22.TabIndex = 23;
120 | this.Label22.Text = "Zen:";
121 | //
122 | // equipPanel2
123 | //
124 | this.equipPanel2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("equipPanel2.BackgroundImage")));
125 | this.equipPanel2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
126 | this.equipPanel2.Cursor = System.Windows.Forms.Cursors.Cross;
127 | this.equipPanel2.Location = new System.Drawing.Point(214, 66);
128 | this.equipPanel2.Margin = new System.Windows.Forms.Padding(0);
129 | this.equipPanel2.Name = "equipPanel2";
130 | this.equipPanel2.Size = new System.Drawing.Size(200, 406);
131 | this.equipPanel2.TabIndex = 25;
132 | //
133 | // Warehouse
134 | //
135 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
136 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
137 | this.ClientSize = new System.Drawing.Size(666, 469);
138 | this.Controls.Add(this.equipPanel2);
139 | this.Controls.Add(this.tbox_zen);
140 | this.Controls.Add(this.Label22);
141 | this.Controls.Add(this.label1);
142 | this.Controls.Add(this.comboVault);
143 | this.Controls.Add(this.button2);
144 | this.Controls.Add(this.button1);
145 | this.Controls.Add(this.equipPanel1);
146 | this.Controls.Add(this.equipEditor1);
147 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
148 | this.Name = "Warehouse";
149 | this.ShowInTaskbar = false;
150 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
151 | this.Text = "Warehouse";
152 | this.Load += new System.EventHandler(this.Warehouse_Load);
153 | this.ResumeLayout(false);
154 | this.PerformLayout();
155 |
156 | }
157 |
158 | #endregion
159 |
160 | private EquipEditor equipEditor1;
161 | private EquipPanel equipPanel1;
162 | private System.Windows.Forms.Button button2;
163 | private System.Windows.Forms.Button button1;
164 | private System.Windows.Forms.ComboBox comboVault;
165 | private System.Windows.Forms.Label label1;
166 | internal System.Windows.Forms.TextBox tbox_zen;
167 | internal System.Windows.Forms.Label Label22;
168 | private EquipPanel equipPanel2;
169 | }
170 | }
--------------------------------------------------------------------------------
/SCFEditor/Account/Warehouse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor.Account
10 | {
11 | public partial class Warehouse : Form
12 | {
13 | public Warehouse()
14 | {
15 | InitializeComponent();
16 | }
17 |
18 | public string AccountName;
19 |
20 | struct warehouses
21 | {
22 | public int Num;
23 | public byte[] items;
24 | public int Money;
25 | }
26 | warehouses[] ware = new warehouses[1];
27 |
28 | protected void loadAllWare(string accountName)
29 | {
30 | try
31 | {
32 | DBLite.dbMu.Read("select Items,money from warehouse where AccountID = '" + accountName + "'");
33 | DBLite.dbMu.Fetch();
34 | ware[0].Num = 0;
35 | ware[0].items = DBLite.dbMu.GetAsBinary("Items");
36 | ware[0].Money = DBLite.dbMu.GetAsInteger("money");
37 | DBLite.dbMu.Close();
38 | comboVault.Items.Add("0");
39 |
40 | DBLite.dbMu.Read("SELECT items,SCFExtWare,money FROM ExtendedWarehouse WHERE AccountID = '" + accountName + "'");
41 | while (DBLite.dbMu.Fetch())
42 | {
43 | int val = ware.Length;
44 | Array.Resize(ref ware, val + 1);
45 | ware[val].items = DBLite.dbMu.GetAsBinary("Items");
46 | ware[val].Num = DBLite.dbMu.GetAsInteger("SCFExtWare");
47 | ware[val].Money = DBLite.dbMu.GetAsInteger("money");
48 | comboVault.Items.Add(ware[val].Num.ToString());
49 | }
50 | DBLite.dbMu.Close();
51 | }
52 | catch (Exception ex)
53 | {
54 | MessageBox.Show(ex.Message);
55 | }
56 | }
57 |
58 | public int GetWareNum(int index)
59 | {
60 | for (int i = 0; i < ware.Length; i++)
61 | {
62 | if (ware[i].Num == index)
63 | return i;
64 | }
65 | return -1;
66 | }
67 |
68 | private void Warehouse_Load(object sender, EventArgs e)
69 | {
70 | Text = AccountName + " Warehouse";
71 | equipPanel1.setSize(8, 15);
72 | equipPanel1.Editor = equipEditor1;
73 | equipPanel2.setSize(8, 15);
74 | equipPanel2.Editor = equipEditor1;
75 | equipEditor1.LoadData();
76 |
77 | loadAllWare(AccountName);
78 | if (ware[0].items != null)
79 | {
80 | comboVault.SelectedIndex = 0;
81 | }
82 | else
83 | {
84 | MessageBox.Show("Vault its not created!", "Titan Editor", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
85 | Close();
86 | }
87 | }
88 |
89 | private void button2_Click(object sender, EventArgs e)
90 | {
91 | Close();
92 | }
93 |
94 | private void button1_Click(object sender, EventArgs e)
95 | {
96 | int index = GetWareNum(comboVault.SelectedIndex);
97 | if(index != -1)
98 | {
99 | string sql;
100 | if (comboVault.SelectedIndex == 0)
101 | sql = string.Format("update warehouse set Items=0x{0}{1}, Money = {2} where AccountId = '{3}'", equipPanel1.getEquipCodes(), equipPanel2.getEquipCodes(), tbox_zen.Text, AccountName);
102 | else
103 | sql = string.Format("update ExtendedWarehouse set Items=0x{0}{1}, Money = {2} where AccountId = '{3}' AND SCFExtWare = {4}", equipPanel1.getEquipCodes(), equipPanel2.getEquipCodes(), tbox_zen.Text, AccountName, index);
104 |
105 | DBLite.dbMu.Exec(sql);
106 | DBLite.dbMu.Close();
107 | MessageBox.Show("Warehouse Edited", "Titan Editor", MessageBoxButtons.OK);
108 | Close();
109 | }else
110 | {
111 | MessageBox.Show(string.Format("[{0}] Error: Saving Warehouse!", AccountName));
112 | }
113 | }
114 |
115 | private void comboVault_SelectedIndexChanged(object sender, EventArgs e)
116 | {
117 | int index = GetWareNum(comboVault.SelectedIndex);
118 | if (index != -1)
119 | {
120 | equipPanel1.clearData();
121 | if (!equipPanel1.loadItemsByCodes(ware[index].items, 0, ware[index].items.Length/2))
122 | {
123 | MessageBox.Show(string.Format("[{0}] Error: Loading Warehouse!", AccountName));
124 | }
125 | equipPanel2.clearData();
126 | //if (!equipPanel2.loadItemsByCodes(ware[index].items, CharPanel.EquipNum * EquipItem.ITEM_SIZE, ware[index].items.Length - CharPanel.EquipNum * EquipItem.ITEM_SIZE - equipPanel2.XNum * equipPanel2.YNum * EquipItem.ITEM_SIZE))
127 | if (!equipPanel2.loadItemsByCodes(ware[index].items, ware[index].items.Length / 2, ware[index].items.Length))
128 | {
129 | MessageBox.Show(string.Format("[{0}] Error: Loading Warehouse ex!", AccountName));
130 | }
131 | tbox_zen.Text = ware[index].Money.ToString();
132 | }
133 | else
134 | {
135 | comboVault.SelectedIndex = 0;
136 | }
137 | }
138 | }
139 | }
140 |
--------------------------------------------------------------------------------
/SCFEditor/Character/Add.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TitanEditor.Character
2 | {
3 | partial class Add
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.groupBox1 = new System.Windows.Forms.GroupBox();
32 | this.radioButton1 = new System.Windows.Forms.RadioButton();
33 | this.radioButton2 = new System.Windows.Forms.RadioButton();
34 | this.radioButton3 = new System.Windows.Forms.RadioButton();
35 | this.radioButton4 = new System.Windows.Forms.RadioButton();
36 | this.radioButton5 = new System.Windows.Forms.RadioButton();
37 | this.radioButton6 = new System.Windows.Forms.RadioButton();
38 | this.radioButton7 = new System.Windows.Forms.RadioButton();
39 | this.label1 = new System.Windows.Forms.Label();
40 | this.textBox1 = new System.Windows.Forms.TextBox();
41 | this.button1 = new System.Windows.Forms.Button();
42 | this.groupBox1.SuspendLayout();
43 | this.SuspendLayout();
44 | //
45 | // groupBox1
46 | //
47 | this.groupBox1.Controls.Add(this.radioButton7);
48 | this.groupBox1.Controls.Add(this.radioButton6);
49 | this.groupBox1.Controls.Add(this.radioButton5);
50 | this.groupBox1.Controls.Add(this.radioButton4);
51 | this.groupBox1.Controls.Add(this.radioButton3);
52 | this.groupBox1.Controls.Add(this.radioButton2);
53 | this.groupBox1.Controls.Add(this.radioButton1);
54 | this.groupBox1.ForeColor = System.Drawing.Color.Blue;
55 | this.groupBox1.Location = new System.Drawing.Point(5, 7);
56 | this.groupBox1.Name = "groupBox1";
57 | this.groupBox1.Size = new System.Drawing.Size(110, 183);
58 | this.groupBox1.TabIndex = 0;
59 | this.groupBox1.TabStop = false;
60 | this.groupBox1.Text = "Class";
61 | //
62 | // radioButton1
63 | //
64 | this.radioButton1.AutoSize = true;
65 | this.radioButton1.ForeColor = System.Drawing.Color.Black;
66 | this.radioButton1.Location = new System.Drawing.Point(6, 19);
67 | this.radioButton1.Name = "radioButton1";
68 | this.radioButton1.Size = new System.Drawing.Size(84, 17);
69 | this.radioButton1.TabIndex = 1;
70 | this.radioButton1.TabStop = true;
71 | this.radioButton1.Text = "Dark Wizard";
72 | this.radioButton1.UseVisualStyleBackColor = true;
73 | //
74 | // radioButton2
75 | //
76 | this.radioButton2.AutoSize = true;
77 | this.radioButton2.ForeColor = System.Drawing.Color.Black;
78 | this.radioButton2.Location = new System.Drawing.Point(6, 42);
79 | this.radioButton2.Name = "radioButton2";
80 | this.radioButton2.Size = new System.Drawing.Size(81, 17);
81 | this.radioButton2.TabIndex = 2;
82 | this.radioButton2.TabStop = true;
83 | this.radioButton2.Text = "Dark Knight";
84 | this.radioButton2.UseVisualStyleBackColor = true;
85 | //
86 | // radioButton3
87 | //
88 | this.radioButton3.AutoSize = true;
89 | this.radioButton3.ForeColor = System.Drawing.Color.Black;
90 | this.radioButton3.Location = new System.Drawing.Point(6, 65);
91 | this.radioButton3.Name = "radioButton3";
92 | this.radioButton3.Size = new System.Drawing.Size(62, 17);
93 | this.radioButton3.TabIndex = 3;
94 | this.radioButton3.TabStop = true;
95 | this.radioButton3.Text = "Fairy Elf";
96 | this.radioButton3.UseVisualStyleBackColor = true;
97 | //
98 | // radioButton4
99 | //
100 | this.radioButton4.AutoSize = true;
101 | this.radioButton4.ForeColor = System.Drawing.Color.Black;
102 | this.radioButton4.Location = new System.Drawing.Point(6, 88);
103 | this.radioButton4.Name = "radioButton4";
104 | this.radioButton4.Size = new System.Drawing.Size(75, 17);
105 | this.radioButton4.TabIndex = 4;
106 | this.radioButton4.TabStop = true;
107 | this.radioButton4.Text = "Summoner";
108 | this.radioButton4.UseVisualStyleBackColor = true;
109 | //
110 | // radioButton5
111 | //
112 | this.radioButton5.AutoSize = true;
113 | this.radioButton5.ForeColor = System.Drawing.Color.Black;
114 | this.radioButton5.Location = new System.Drawing.Point(6, 111);
115 | this.radioButton5.Name = "radioButton5";
116 | this.radioButton5.Size = new System.Drawing.Size(99, 17);
117 | this.radioButton5.TabIndex = 5;
118 | this.radioButton5.TabStop = true;
119 | this.radioButton5.Text = "Magic Gladiator";
120 | this.radioButton5.UseVisualStyleBackColor = true;
121 | //
122 | // radioButton6
123 | //
124 | this.radioButton6.AutoSize = true;
125 | this.radioButton6.ForeColor = System.Drawing.Color.Black;
126 | this.radioButton6.Location = new System.Drawing.Point(6, 134);
127 | this.radioButton6.Name = "radioButton6";
128 | this.radioButton6.Size = new System.Drawing.Size(72, 17);
129 | this.radioButton6.TabIndex = 6;
130 | this.radioButton6.TabStop = true;
131 | this.radioButton6.Text = "Dark Lord";
132 | this.radioButton6.UseVisualStyleBackColor = true;
133 | //
134 | // radioButton7
135 | //
136 | this.radioButton7.AutoSize = true;
137 | this.radioButton7.ForeColor = System.Drawing.Color.Black;
138 | this.radioButton7.Location = new System.Drawing.Point(6, 157);
139 | this.radioButton7.Name = "radioButton7";
140 | this.radioButton7.Size = new System.Drawing.Size(86, 17);
141 | this.radioButton7.TabIndex = 7;
142 | this.radioButton7.TabStop = true;
143 | this.radioButton7.Text = "Rage Fighter";
144 | this.radioButton7.UseVisualStyleBackColor = true;
145 | //
146 | // label1
147 | //
148 | this.label1.AutoSize = true;
149 | this.label1.Location = new System.Drawing.Point(2, 202);
150 | this.label1.Name = "label1";
151 | this.label1.Size = new System.Drawing.Size(38, 13);
152 | this.label1.TabIndex = 1;
153 | this.label1.Text = "Name:";
154 | //
155 | // textBox1
156 | //
157 | this.textBox1.Location = new System.Drawing.Point(5, 218);
158 | this.textBox1.Name = "textBox1";
159 | this.textBox1.Size = new System.Drawing.Size(110, 20);
160 | this.textBox1.TabIndex = 2;
161 | //
162 | // button1
163 | //
164 | this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
165 | this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
166 | this.button1.Location = new System.Drawing.Point(5, 244);
167 | this.button1.Name = "button1";
168 | this.button1.Size = new System.Drawing.Size(110, 23);
169 | this.button1.TabIndex = 3;
170 | this.button1.Text = "&Add";
171 | this.button1.UseVisualStyleBackColor = true;
172 | this.button1.Click += new System.EventHandler(this.button1_Click);
173 | //
174 | // Add
175 | //
176 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
177 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
178 | this.ClientSize = new System.Drawing.Size(120, 274);
179 | this.Controls.Add(this.button1);
180 | this.Controls.Add(this.textBox1);
181 | this.Controls.Add(this.label1);
182 | this.Controls.Add(this.groupBox1);
183 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
184 | this.Name = "Add";
185 | this.ShowInTaskbar = false;
186 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
187 | this.Text = "New Character";
188 | this.Load += new System.EventHandler(this.Add_Load);
189 | this.groupBox1.ResumeLayout(false);
190 | this.groupBox1.PerformLayout();
191 | this.ResumeLayout(false);
192 | this.PerformLayout();
193 |
194 | }
195 |
196 | #endregion
197 |
198 | private System.Windows.Forms.GroupBox groupBox1;
199 | private System.Windows.Forms.RadioButton radioButton7;
200 | private System.Windows.Forms.RadioButton radioButton6;
201 | private System.Windows.Forms.RadioButton radioButton5;
202 | private System.Windows.Forms.RadioButton radioButton4;
203 | private System.Windows.Forms.RadioButton radioButton3;
204 | private System.Windows.Forms.RadioButton radioButton2;
205 | private System.Windows.Forms.RadioButton radioButton1;
206 | private System.Windows.Forms.Label label1;
207 | private System.Windows.Forms.TextBox textBox1;
208 | private System.Windows.Forms.Button button1;
209 | }
210 | }
--------------------------------------------------------------------------------
/SCFEditor/Character/Add.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor.Character
10 | {
11 | public partial class Add : Form
12 | {
13 | public Add()
14 | {
15 | InitializeComponent();
16 | }
17 |
18 | public string name;
19 |
20 | private void Add_Load(object sender, EventArgs e)
21 | {
22 |
23 | }
24 |
25 | private void button1_Click(object sender, EventArgs e)
26 | {
27 | int clase = 0;
28 |
29 | if (radioButton1.Checked == true)
30 | clase = 0;
31 | else if (radioButton2.Checked == true)
32 | clase = 16;
33 | else if (radioButton3.Checked == true)
34 | clase = 32;
35 | else if (radioButton4.Checked == true)
36 | clase = 80;
37 | else if (radioButton5.Checked == true)
38 | clase = 48;
39 | else if (radioButton6.Checked == true)
40 | clase = 64;
41 | else if (radioButton7.Checked == true)
42 | clase = 96;
43 |
44 | DBLite.dbMu.Exec("EXEC WZ_CreateCharacter '" + name + "','" + textBox1.Text + "'," + clase);
45 | DBLite.dbMu.Close();
46 |
47 | MessageBox.Show("Character Added", "Titan Editor", MessageBoxButtons.OK);
48 | DialogResult = DialogResult.OK;
49 | Close();
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/SCFEditor/Character/Add.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/Character/Edit.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/Character/Item.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TitanEditor.Character
2 | {
3 | partial class Item
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Item));
32 | this.button1 = new System.Windows.Forms.Button();
33 | this.button2 = new System.Windows.Forms.Button();
34 | this.equipPanel4 = new TitanEditor.EquipPanel();
35 | this.equipPanel3 = new TitanEditor.EquipPanel();
36 | this.equipPanel2 = new TitanEditor.EquipPanel();
37 | this.equipPanel1 = new TitanEditor.EquipPanel();
38 | this.equipEditor1 = new TitanEditor.EquipEditor();
39 | this.charPanel1 = new TitanEditor.CharPanel();
40 | this.SuspendLayout();
41 | //
42 | // button1
43 | //
44 | this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
45 | this.button1.Location = new System.Drawing.Point(239, 409);
46 | this.button1.Name = "button1";
47 | this.button1.Size = new System.Drawing.Size(75, 23);
48 | this.button1.TabIndex = 3;
49 | this.button1.Text = "&Save";
50 | this.button1.UseVisualStyleBackColor = true;
51 | this.button1.Click += new System.EventHandler(this.button1_Click);
52 | //
53 | // button2
54 | //
55 | this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
56 | this.button2.Location = new System.Drawing.Point(320, 409);
57 | this.button2.Name = "button2";
58 | this.button2.Size = new System.Drawing.Size(75, 23);
59 | this.button2.TabIndex = 4;
60 | this.button2.Text = "&Close";
61 | this.button2.UseVisualStyleBackColor = true;
62 | this.button2.Click += new System.EventHandler(this.button2_Click);
63 | //
64 | // equipPanel4
65 | //
66 | this.equipPanel4.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("equipPanel4.BackgroundImage")));
67 | this.equipPanel4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
68 | this.equipPanel4.Cursor = System.Windows.Forms.Cursors.Cross;
69 | this.equipPanel4.Location = new System.Drawing.Point(209, 438);
70 | this.equipPanel4.Margin = new System.Windows.Forms.Padding(0);
71 | this.equipPanel4.Name = "equipPanel4";
72 | this.equipPanel4.Size = new System.Drawing.Size(200, 100);
73 | this.equipPanel4.TabIndex = 7;
74 | //
75 | // equipPanel3
76 | //
77 | this.equipPanel3.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("equipPanel3.BackgroundImage")));
78 | this.equipPanel3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
79 | this.equipPanel3.Cursor = System.Windows.Forms.Cursors.Cross;
80 | this.equipPanel3.Location = new System.Drawing.Point(0, 541);
81 | this.equipPanel3.Margin = new System.Windows.Forms.Padding(0);
82 | this.equipPanel3.Name = "equipPanel3";
83 | this.equipPanel3.Size = new System.Drawing.Size(200, 100);
84 | this.equipPanel3.TabIndex = 6;
85 | //
86 | // equipPanel2
87 | //
88 | this.equipPanel2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("equipPanel2.BackgroundImage")));
89 | this.equipPanel2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
90 | this.equipPanel2.Cursor = System.Windows.Forms.Cursors.Cross;
91 | this.equipPanel2.Location = new System.Drawing.Point(0, 438);
92 | this.equipPanel2.Margin = new System.Windows.Forms.Padding(0);
93 | this.equipPanel2.Name = "equipPanel2";
94 | this.equipPanel2.Size = new System.Drawing.Size(200, 100);
95 | this.equipPanel2.TabIndex = 5;
96 | //
97 | // equipPanel1
98 | //
99 | this.equipPanel1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("equipPanel1.BackgroundImage")));
100 | this.equipPanel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
101 | this.equipPanel1.Cursor = System.Windows.Forms.Cursors.Cross;
102 | this.equipPanel1.Location = new System.Drawing.Point(0, 202);
103 | this.equipPanel1.Margin = new System.Windows.Forms.Padding(0);
104 | this.equipPanel1.Name = "equipPanel1";
105 | this.equipPanel1.Size = new System.Drawing.Size(200, 227);
106 | this.equipPanel1.TabIndex = 2;
107 | //
108 | // equipEditor1
109 | //
110 | this.equipEditor1.DefaultDurability = ((byte)(255));
111 | this.equipEditor1.Location = new System.Drawing.Point(209, 9);
112 | this.equipEditor1.Margin = new System.Windows.Forms.Padding(0);
113 | this.equipEditor1.Name = "equipEditor1";
114 | this.equipEditor1.Size = new System.Drawing.Size(232, 399);
115 | this.equipEditor1.TabIndex = 1;
116 | //
117 | // charPanel1
118 | //
119 | this.charPanel1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("charPanel1.BackgroundImage")));
120 | this.charPanel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
121 | this.charPanel1.Cursor = System.Windows.Forms.Cursors.Cross;
122 | this.charPanel1.Location = new System.Drawing.Point(0, 0);
123 | this.charPanel1.Margin = new System.Windows.Forms.Padding(0);
124 | this.charPanel1.Name = "charPanel1";
125 | this.charPanel1.Prof = -1;
126 | this.charPanel1.Size = new System.Drawing.Size(200, 202);
127 | this.charPanel1.TabIndex = 0;
128 | //
129 | // Item
130 | //
131 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
132 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
133 | this.ClientSize = new System.Drawing.Size(444, 653);
134 | this.Controls.Add(this.equipPanel4);
135 | this.Controls.Add(this.equipPanel3);
136 | this.Controls.Add(this.equipPanel2);
137 | this.Controls.Add(this.button2);
138 | this.Controls.Add(this.button1);
139 | this.Controls.Add(this.equipPanel1);
140 | this.Controls.Add(this.equipEditor1);
141 | this.Controls.Add(this.charPanel1);
142 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
143 | this.Name = "Item";
144 | this.ShowInTaskbar = false;
145 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
146 | this.Text = "Item";
147 | this.Load += new System.EventHandler(this.Item_Load);
148 | this.ResumeLayout(false);
149 |
150 | }
151 |
152 | #endregion
153 |
154 | private CharPanel charPanel1;
155 | private EquipEditor equipEditor1;
156 | private EquipPanel equipPanel1;
157 | private System.Windows.Forms.Button button1;
158 | private System.Windows.Forms.Button button2;
159 | private EquipPanel equipPanel2;
160 | private EquipPanel equipPanel3;
161 | private EquipPanel equipPanel4;
162 |
163 |
164 |
165 | }
166 | }
--------------------------------------------------------------------------------
/SCFEditor/Character/Item.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor.Character
10 | {
11 | public partial class Item : Form
12 | {
13 | public Item()
14 | {
15 | InitializeComponent();
16 | }
17 |
18 | public string CharName;
19 |
20 | protected byte[] loadInventory(string charName)
21 | {
22 | if (charName == "")
23 | {
24 | return null;
25 | }
26 |
27 | byte[] inventory = null;
28 |
29 | DBLite.dbMu.Read("select Inventory from character where Name = '" + charName + "'");
30 | DBLite.dbMu.Fetch();
31 | inventory = DBLite.dbMu.GetAsBinary("Inventory");
32 | DBLite.dbMu.Close();
33 |
34 | return inventory;
35 | }
36 |
37 | private void Item_Load(object sender, EventArgs e)
38 | {
39 | Text = CharName + " Inventory";
40 | charPanel1.Editor = equipEditor1;
41 | equipPanel1.setSize(8, 8);
42 | equipPanel1.Editor = equipEditor1;
43 | equipPanel2.setSize(8, 4);
44 | equipPanel2.Editor = equipEditor1;
45 |
46 | equipPanel3.setSize(8, 4);
47 | equipPanel3.Editor = equipEditor1;
48 | equipPanel4.setSize(8, 4);
49 | equipPanel4.Editor = equipEditor1;
50 | equipEditor1.LoadData();
51 |
52 | byte[] inventory = loadInventory(CharName);
53 | if (inventory != null)
54 | {
55 | charPanel1.clearData();
56 | if (!charPanel1.loadItemsByCodes(inventory, 0, CharPanel.EquipNum * EquipItem.ITEM_SIZE))
57 | {
58 | MessageBox.Show(string.Format("[{0}] Error loading body equipment", CharName));
59 | }
60 |
61 | equipPanel1.clearData();
62 | if (!equipPanel1.loadItemsByCodes(inventory, CharPanel.EquipNum * EquipItem.ITEM_SIZE, inventory.Length - CharPanel.EquipNum * EquipItem.ITEM_SIZE - equipPanel2.XNum * equipPanel2.YNum * EquipItem.ITEM_SIZE))
63 | {
64 | MessageBox.Show(string.Format("[{0}] Error loading inventory equipment", CharName));
65 | }
66 |
67 | equipPanel2.clearData();
68 | if (!equipPanel2.loadItemsByCodes(inventory, CharPanel.EquipNum * EquipItem.ITEM_SIZE + equipPanel1.XNum * equipPanel1.YNum * EquipItem.ITEM_SIZE, inventory.Length))
69 | {
70 | MessageBox.Show(string.Format("[{0}] Error loading inventory ex1 equipment", CharName));
71 | }
72 |
73 | equipPanel3.clearData();
74 | if (!equipPanel3.loadItemsByCodes(inventory, CharPanel.EquipNum * EquipItem.ITEM_SIZE + equipPanel1.XNum * equipPanel1.YNum * EquipItem.ITEM_SIZE + equipPanel2.XNum * equipPanel2.YNum * EquipItem.ITEM_SIZE, inventory.Length))
75 | {
76 | MessageBox.Show(string.Format("[{0}] Error loading inventory ex2 equipment", CharName));
77 | }
78 |
79 | equipPanel4.clearData();
80 | if (!equipPanel4.loadItemsByCodes(inventory, CharPanel.EquipNum * EquipItem.ITEM_SIZE + equipPanel1.XNum * equipPanel1.YNum * EquipItem.ITEM_SIZE + (equipPanel2.XNum * equipPanel2.YNum * EquipItem.ITEM_SIZE + equipPanel3.XNum * equipPanel3.YNum * EquipItem.ITEM_SIZE)*2, inventory.Length))
81 | {
82 | MessageBox.Show(string.Format("[{0}] Error loading pshop equipment", CharName));
83 | }
84 | }
85 | }
86 |
87 | private void button1_Click(object sender, EventArgs e)
88 | {
89 | EquipPanel tmp1 = new EquipPanel();
90 | tmp1.setSize(8, 4);
91 |
92 | string sql = string.Format("update character set Inventory=0x{0}{1}{2}{3}{4}{5}{6} where Name='{7}'", charPanel1.getEquipCodes(), equipPanel1.getEquipCodes(), equipPanel2.getEquipCodes(), equipPanel3.getEquipCodes(), tmp1.getEquipCodes(), tmp1.getEquipCodes(), equipPanel4.getEquipCodes(), CharName);
93 | DBLite.dbMu.Exec(sql);
94 | DBLite.dbMu.Close();
95 | MessageBox.Show("Inventory Edited", "Titan Editor", MessageBoxButtons.OK);
96 | Close();
97 | }
98 |
99 | private void button2_Click(object sender, EventArgs e)
100 | {
101 | Close();
102 | }
103 | }
104 | }
105 |
--------------------------------------------------------------------------------
/SCFEditor/Character/Skills.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor.Character
10 | {
11 | public partial class SkillsEdition : Form
12 | {
13 | const int skillCount = 1024;
14 |
15 | public SkillsEdition()
16 | {
17 | InitializeComponent();
18 | }
19 | public string CharacterName;
20 | public string AccountName;
21 |
22 | private byte[] mlist = new byte[180];
23 |
24 | private struct skillstruct
25 | {
26 | public string clase;
27 | public string name;
28 | }
29 | private skillstruct[] slist = new skillstruct[skillCount];
30 |
31 | private void Button5_Click(object sender, EventArgs e)
32 | {
33 | Close();
34 | }
35 |
36 | private void GetMDBSkills()
37 | {
38 | DBLite.mdb.Read("SELECT DISTINCT CLASS FROM SKILLS");
39 | while (DBLite.mdb.Fetch())
40 | {
41 | ComboBox1.Items.Add(DBLite.mdb.GetAsString("CLASS"));
42 | }
43 | DBLite.mdb.Close();
44 |
45 | DBLite.mdb.Read("SELECT ID,Class,Name FROM SKILLS");
46 | while (DBLite.mdb.Fetch())
47 | {
48 | int id = DBLite.mdb.GetAsInteger("ID");
49 |
50 | slist[id].clase = DBLite.mdb.GetAsString("CLASS");
51 | slist[id].name = DBLite.mdb.GetAsString("Name");
52 | }
53 | DBLite.mdb.Close();
54 | }
55 |
56 | private void Skills_Load(object sender, EventArgs e)
57 | {
58 | GetMDBSkills();
59 | DBLite.dbMu.Read("SELECT magiclist FROM Character WHERE Name='" + CharacterName + "'");
60 | DBLite.dbMu.Fetch();
61 | mlist = DBLite.dbMu.GetAsBinary("magiclist");
62 | DBLite.dbMu.Close();
63 | for (int i = 0; i < 45; i++)
64 | {
65 | StringBuilder sb = new StringBuilder();
66 | sb.AppendFormat("{0:X2}{1:X2}", mlist[i * 3 + 1], mlist[i * 3]);
67 |
68 | int skillNum = int.Parse(sb.ToString(), System.Globalization.NumberStyles.AllowHexSpecifier);
69 | if (skillNum != 65535)
70 | {
71 | listView1.Items.Add(skillNum.ToString()).SubItems.Add(slist[skillNum].name);
72 | }
73 | }
74 | }
75 |
76 | private void Button2_Click(object sender, EventArgs e)
77 | {
78 | listView1.Items.Remove(listView1.SelectedItems[0]);
79 | }
80 |
81 | private void Button3_Click(object sender, EventArgs e)
82 | {
83 | listView1.Items.Clear();
84 | }
85 |
86 | private void Button4_Click(object sender, EventArgs e)
87 | {
88 | byte[] tmp = new byte[180];
89 | for (int i = 0; i < 45; i++)
90 | {
91 | if (i >= listView1.Items.Count)
92 | {
93 | tmp[i * 3] = 255;
94 | tmp[i * 3 + 1] = 255;
95 | }
96 | else
97 | {
98 | byte[] bskill = BitConverter.GetBytes(Convert.ToInt32(listView1.Items[i].SubItems[0].Text));
99 | tmp[i * 3] = bskill[0];
100 | tmp[i * 3 + 1] = bskill[1];
101 | }
102 | }
103 | string magiclistStr = "0x" + System.BitConverter.ToString(tmp).Replace("-", "");
104 | DBLite.dbMu.Exec("UPDATE Character SET magiclist=" + magiclistStr + " WHERE Name='" + CharacterName + "'");
105 | DBLite.dbMu.Close();
106 | MessageBox.Show("Skill Saved", "Titan Editor", MessageBoxButtons.OK);
107 | Close();
108 | }
109 |
110 | private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
111 | {
112 | ComboBox2.Items.Clear();
113 | for (int i = 0; i < skillCount; i++)
114 | {
115 | if (slist[i].clase == ComboBox1.Text)
116 | ComboBox2.Items.Add(slist[i].name);
117 | }
118 | }
119 |
120 | private void Button1_Click(object sender, EventArgs e)
121 | {
122 | for (int i = 0; i < skillCount; i++)
123 | {
124 | if (slist[i].clase == ComboBox1.Text && slist[i].name == ComboBox2.Text)
125 | listView1.Items.Add(i.ToString()).SubItems.Add(slist[i].name);
126 | }
127 | }
128 | }
129 | }
130 |
--------------------------------------------------------------------------------
/SCFEditor/Character/Skills.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/Extra.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace TitanEditor
6 | {
7 | class Extra
8 | {
9 | public struct Find
10 | {
11 | public string AccountID;
12 | public string Character;
13 | };
14 | public static Find FindResult = new Find();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SCFEditor/Find.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TitanEditor
2 | {
3 | partial class Find
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.listView1 = new System.Windows.Forms.ListView();
32 | this.Account = new System.Windows.Forms.ColumnHeader();
33 | this.Character = new System.Windows.Forms.ColumnHeader();
34 | this.button1 = new System.Windows.Forms.Button();
35 | this.textBox1 = new System.Windows.Forms.TextBox();
36 | this.label1 = new System.Windows.Forms.Label();
37 | this.SuspendLayout();
38 | //
39 | // listView1
40 | //
41 | this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
42 | this.Account,
43 | this.Character});
44 | this.listView1.FullRowSelect = true;
45 | this.listView1.GridLines = true;
46 | this.listView1.Location = new System.Drawing.Point(2, 22);
47 | this.listView1.MultiSelect = false;
48 | this.listView1.Name = "listView1";
49 | this.listView1.Size = new System.Drawing.Size(287, 166);
50 | this.listView1.TabIndex = 0;
51 | this.listView1.UseCompatibleStateImageBehavior = false;
52 | this.listView1.View = System.Windows.Forms.View.Details;
53 | this.listView1.DoubleClick += new System.EventHandler(this.listView1_DoubleClick);
54 | //
55 | // Account
56 | //
57 | this.Account.Text = "Account";
58 | this.Account.Width = 138;
59 | //
60 | // Character
61 | //
62 | this.Character.Text = "Character";
63 | this.Character.Width = 109;
64 | //
65 | // button1
66 | //
67 | this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
68 | this.button1.Location = new System.Drawing.Point(214, 196);
69 | this.button1.Name = "button1";
70 | this.button1.Size = new System.Drawing.Size(75, 20);
71 | this.button1.TabIndex = 1;
72 | this.button1.Text = "Search";
73 | this.button1.UseVisualStyleBackColor = true;
74 | this.button1.Click += new System.EventHandler(this.button1_Click);
75 | //
76 | // textBox1
77 | //
78 | this.textBox1.Location = new System.Drawing.Point(2, 197);
79 | this.textBox1.Name = "textBox1";
80 | this.textBox1.Size = new System.Drawing.Size(206, 20);
81 | this.textBox1.TabIndex = 2;
82 | //
83 | // label1
84 | //
85 | this.label1.AutoSize = true;
86 | this.label1.Location = new System.Drawing.Point(87, 6);
87 | this.label1.Name = "label1";
88 | this.label1.Size = new System.Drawing.Size(44, 13);
89 | this.label1.TabIndex = 3;
90 | this.label1.Text = "Search ";
91 | //
92 | // Find
93 | //
94 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
95 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
96 | this.ClientSize = new System.Drawing.Size(291, 221);
97 | this.Controls.Add(this.label1);
98 | this.Controls.Add(this.textBox1);
99 | this.Controls.Add(this.button1);
100 | this.Controls.Add(this.listView1);
101 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
102 | this.Name = "Find";
103 | this.ShowInTaskbar = false;
104 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
105 | this.Text = "Search...";
106 | this.Load += new System.EventHandler(this.Find_Load);
107 | this.ResumeLayout(false);
108 | this.PerformLayout();
109 |
110 | }
111 |
112 | #endregion
113 |
114 | private System.Windows.Forms.ListView listView1;
115 | private System.Windows.Forms.ColumnHeader Account;
116 | private System.Windows.Forms.ColumnHeader Character;
117 | private System.Windows.Forms.Button button1;
118 | private System.Windows.Forms.TextBox textBox1;
119 | private System.Windows.Forms.Label label1;
120 | }
121 | }
--------------------------------------------------------------------------------
/SCFEditor/Find.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor
10 | {
11 | public partial class Find : Form
12 | {
13 | public Find()
14 | {
15 | InitializeComponent();
16 | }
17 |
18 | public bool isAccount = false;
19 |
20 | private void button1_Click(object sender, EventArgs e)
21 | {
22 | listView1.Items.Clear();
23 | if (isAccount == false)
24 | {
25 | DBLite.dbMu.Read("SELECT AccountID,Name FROM Character WHERE Name Like '" + textBox1.Text + "%' ORDER BY Name");
26 | while (DBLite.dbMu.Fetch())
27 | {
28 | listView1.Items.Add(DBLite.dbMu.GetAsString("AccountID")).SubItems.Add(DBLite.dbMu.GetAsString("Name"));
29 | }
30 | DBLite.dbMu.Close();
31 | }
32 | else
33 | {
34 | DBLite.dbMe.Read("SELECT memb___id FROM MEMB_INFO WHERE memb___id Like '" + textBox1.Text + "%' ORDER BY memb___id");
35 | while (DBLite.dbMe.Fetch())
36 | {
37 | listView1.Items.Add(DBLite.dbMe.GetAsString("memb___id"));
38 | }
39 | DBLite.dbMe.Close();
40 | }
41 | }
42 |
43 | private void Find_Load(object sender, EventArgs e)
44 | {
45 | Extra.FindResult.AccountID = "";
46 | Extra.FindResult.Character = "";
47 |
48 | if (isAccount == false)
49 | label1.Text += "Character";
50 | else
51 | label1.Text += "Account";
52 | }
53 |
54 | private void listView1_DoubleClick(object sender, EventArgs e)
55 | {
56 | if (listView1.FocusedItem != null)
57 | {
58 | Extra.FindResult.AccountID = listView1.FocusedItem.Text;
59 | if (isAccount == false)
60 | Extra.FindResult.Character = listView1.FocusedItem.SubItems[1].Text;
61 |
62 | DialogResult = DialogResult.OK;
63 | Close();
64 | }
65 | }
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/SCFEditor/Find.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/Items/CharPanel.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TitanEditor
2 | {
3 | partial class CharPanel
4 | {
5 | ///
6 | /// 必需的设计器变量。
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// 清理所有正在使用的资源。
12 | ///
13 | /// 如果应释放托管资源,为 true;否则为 false。
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region 组件设计器生成的代码
24 |
25 | ///
26 | /// 设计器支持所需的方法 - 不要
27 | /// 使用代码编辑器修改此方法的内容。
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | this.popMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
33 | this.DeleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
34 | this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
35 | this.CloseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
36 | this.editorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
37 | this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
38 | this.popMenu.SuspendLayout();
39 | this.SuspendLayout();
40 | //
41 | // popMenu
42 | //
43 | this.popMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
44 | this.editorToolStripMenuItem,
45 | this.toolStripSeparator1,
46 | this.DeleteToolStripMenuItem,
47 | this.toolStripMenuItem2,
48 | this.CloseToolStripMenuItem});
49 | this.popMenu.Name = "popMenu";
50 | this.popMenu.Size = new System.Drawing.Size(153, 104);
51 | //
52 | // DeleteToolStripMenuItem
53 | //
54 | this.DeleteToolStripMenuItem.Name = "DeleteToolStripMenuItem";
55 | this.DeleteToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
56 | this.DeleteToolStripMenuItem.Text = "Delete";
57 | this.DeleteToolStripMenuItem.Click += new System.EventHandler(this.DeleteToolStripMenuItem_Click);
58 | //
59 | // toolStripMenuItem2
60 | //
61 | this.toolStripMenuItem2.Name = "toolStripMenuItem2";
62 | this.toolStripMenuItem2.Size = new System.Drawing.Size(149, 6);
63 | //
64 | // CloseToolStripMenuItem
65 | //
66 | this.CloseToolStripMenuItem.Name = "CloseToolStripMenuItem";
67 | this.CloseToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
68 | this.CloseToolStripMenuItem.Text = "Close";
69 | //
70 | // editorToolStripMenuItem
71 | //
72 | this.editorToolStripMenuItem.Name = "editorToolStripMenuItem";
73 | this.editorToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
74 | this.editorToolStripMenuItem.Text = "&Edit";
75 | this.editorToolStripMenuItem.Click += new System.EventHandler(this.editorToolStripMenuItem_Click);
76 | //
77 | // toolStripSeparator1
78 | //
79 | this.toolStripSeparator1.Name = "toolStripSeparator1";
80 | this.toolStripSeparator1.Size = new System.Drawing.Size(149, 6);
81 | //
82 | // CharPanel
83 | //
84 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
85 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
86 | this.BackgroundImage = global::TitanEditor.Properties.Resources.char_1;
87 | this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
88 | this.Cursor = System.Windows.Forms.Cursors.Cross;
89 | this.DoubleBuffered = true;
90 | this.Margin = new System.Windows.Forms.Padding(0);
91 | this.Name = "CharPanel";
92 | this.Size = new System.Drawing.Size(200, 202);
93 | this.MouseLeave += new System.EventHandler(this.CharPanel_MouseLeave);
94 | this.Paint += new System.Windows.Forms.PaintEventHandler(this.CharPanel_Paint);
95 | this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.CharPanel_MouseMove);
96 | this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.CharPanel_MouseClick);
97 | this.MouseEnter += new System.EventHandler(this.CharPanel_MouseEnter);
98 | this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.CharPanel_KeyDown);
99 | this.popMenu.ResumeLayout(false);
100 | this.ResumeLayout(false);
101 |
102 | }
103 |
104 | #endregion
105 |
106 | private System.Windows.Forms.ContextMenuStrip popMenu;
107 | private System.Windows.Forms.ToolStripMenuItem DeleteToolStripMenuItem;
108 | private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
109 | private System.Windows.Forms.ToolStripMenuItem CloseToolStripMenuItem;
110 | private System.Windows.Forms.ToolStripMenuItem editorToolStripMenuItem;
111 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/SCFEditor/Items/CharPanel.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
--------------------------------------------------------------------------------
/SCFEditor/Items/EquipEditor.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/Items/EquipImageCache.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Data;
4 | using System.IO;
5 | using System.Drawing;
6 | using System.Collections.Generic;
7 | using System.Windows.Forms;
8 | using System.Resources;
9 | using System.Reflection;
10 |
11 | namespace TitanEditor
12 | {
13 | public class EquipImageCache
14 | {
15 | Hashtable cache = new Hashtable();
16 |
17 | EquipImageCache()
18 | {
19 | }
20 | //Singleton Object
21 | public static EquipImageCache Instance
22 | {
23 | get
24 | {
25 | return Nested.instance;
26 | }
27 | }
28 | class Nested
29 | {
30 |
31 | static Nested()
32 | {
33 | }
34 |
35 | internal static readonly EquipImageCache instance = new EquipImageCache();
36 | }
37 |
38 | public EquipItem getItem(string name)
39 | {
40 | EquipItem item = null;
41 | if ((item = (EquipItem)cache[name]) == null)
42 | {
43 | lock(cache)
44 | {
45 | if ((item = (EquipItem)cache[name]) == null)
46 | {
47 | string sql = string.Format("select UniQue, Name, Hand, Type, Wide, High, DW, DK, ELF, MG, DL, SU, RF, Pic from MuItem where Name = '{0}'", name);
48 | item = getItemFromDb(sql);
49 | if (item == null)
50 | {
51 | item = EquipItem.UnknownItem;
52 | }
53 | cache[name] = item;
54 | cache[item.CodeType] = item;
55 | }
56 | }
57 | }
58 |
59 | return item;
60 | }
61 |
62 | public EquipItem getItemByCodeType(string codeType)
63 | {
64 | EquipItem item = null;
65 | if ((item = (EquipItem)cache[codeType]) == null)
66 | {
67 | lock (cache)
68 | {
69 | if ((item = (EquipItem)cache[codeType]) == null)
70 | {
71 | try
72 | {
73 | string sql = string.Format("select UniQue, Name, Hand, Type, Wide, High, DW, DK, ELF, MG, DL, SU, RF, Pic from MuItem where UniQue = {0} and Type = {1}", EquipItem.getItemCode(codeType), EquipItem.getItemType(codeType));
74 | item = getItemFromDb(sql);
75 | if (item == null)
76 | {
77 | item = item = EquipItem.UnknownItem;
78 | }
79 | cache[codeType] = item;
80 | cache[item.Name] = item;
81 | }
82 | catch (Exception)
83 | {
84 | MessageBox.Show("Item: [" + EquipItem.getItemType(codeType) + ", " + EquipItem.getItemCode(codeType) + "]. Doesnt exist in DB", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
85 | }
86 | }
87 | }
88 | }
89 |
90 | return item;
91 | }
92 |
93 | protected EquipItem getItemFromDb(string sql)
94 | {
95 | MemoryStream stream = null;
96 | Image img = null;
97 | EquipItem item = null;
98 |
99 | try
100 | {
101 | DBLite.mdb.Read(sql);
102 | DBLite.mdb.Fetch();
103 | //
104 | int profs = DBLite.mdb.GetAsInteger("DW") + DBLite.mdb.GetAsInteger("DK") << 1 + DBLite.mdb.GetAsInteger("ELF") << 2 + DBLite.mdb.GetAsInteger("MG") << 3 + DBLite.mdb.GetAsInteger("DL") << 4 + DBLite.mdb.GetAsInteger("SU") << 5 + DBLite.mdb.GetAsInteger("RF") << 6;
105 | item = new EquipItem (DBLite.mdb.GetAsInteger("UniQue"), DBLite.mdb.GetAsString("Name"), DBLite.mdb.GetAsInteger("Hand"), DBLite.mdb.GetAsInteger("Type"), DBLite.mdb.GetAsInteger("Wide"), DBLite.mdb.GetAsInteger("High"), profs);
106 | Byte[] data = DBLite.mdb.GetAsBinary("Pic");
107 | if (data != null)
108 | {
109 | stream = new MemoryStream(data);
110 | img = Image.FromStream(stream);
111 | stream.Close();
112 | item.Img = img;
113 | }
114 | else
115 | {
116 | ResourceManager rmgr = new ResourceManager("TitanEditor.Properties.Resources", Assembly.GetExecutingAssembly());
117 | item.Img = (Image)rmgr.GetObject("unknownItem");
118 | }
119 | DBLite.mdb.Close();
120 | }
121 | catch(Exception ex)
122 | {
123 | MessageBox.Show("MDB Query:" + sql + "\nError:" + ex.Message + "\nSource:" + ex.Source + "\nTrace:" + ex.StackTrace);
124 | }
125 | return item;
126 | }
127 | }
128 | }
129 |
--------------------------------------------------------------------------------
/SCFEditor/Items/EquipPanel.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TitanEditor
2 | {
3 | partial class EquipPanel
4 | {
5 | ///
6 | /// 必需的设计器变量。
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// 清理所有正在使用的资源。
12 | ///
13 | /// 如果应释放托管资源,为 true;否则为 false。
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region 组件设计器生成的代码
24 |
25 | ///
26 | /// 设计器支持所需的方法 - 不要
27 | /// 使用代码编辑器修改此方法的内容。
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | this.popMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
33 | this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
34 | this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
35 | this.DeleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
36 | this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
37 | this.CloseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
38 | this.popMenu.SuspendLayout();
39 | this.SuspendLayout();
40 | //
41 | // popMenu
42 | //
43 | this.popMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
44 | this.editToolStripMenuItem,
45 | this.toolStripSeparator1,
46 | this.DeleteToolStripMenuItem,
47 | this.toolStripMenuItem2,
48 | this.CloseToolStripMenuItem});
49 | this.popMenu.Name = "popMenu";
50 | this.popMenu.Size = new System.Drawing.Size(108, 82);
51 | //
52 | // editToolStripMenuItem
53 | //
54 | this.editToolStripMenuItem.Name = "editToolStripMenuItem";
55 | this.editToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
56 | this.editToolStripMenuItem.Text = "&Edit";
57 | this.editToolStripMenuItem.Click += new System.EventHandler(this.editToolStripMenuItem_Click);
58 | //
59 | // toolStripSeparator1
60 | //
61 | this.toolStripSeparator1.Name = "toolStripSeparator1";
62 | this.toolStripSeparator1.Size = new System.Drawing.Size(104, 6);
63 | //
64 | // DeleteToolStripMenuItem
65 | //
66 | this.DeleteToolStripMenuItem.Name = "DeleteToolStripMenuItem";
67 | this.DeleteToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
68 | this.DeleteToolStripMenuItem.Text = "Delete";
69 | this.DeleteToolStripMenuItem.Click += new System.EventHandler(this.DeleteToolStripMenuItem_Click);
70 | //
71 | // toolStripMenuItem2
72 | //
73 | this.toolStripMenuItem2.Name = "toolStripMenuItem2";
74 | this.toolStripMenuItem2.Size = new System.Drawing.Size(104, 6);
75 | //
76 | // CloseToolStripMenuItem
77 | //
78 | this.CloseToolStripMenuItem.Name = "CloseToolStripMenuItem";
79 | this.CloseToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
80 | this.CloseToolStripMenuItem.Text = "Close";
81 | //
82 | // EquipPanel
83 | //
84 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
85 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
86 | this.BackgroundImage = global::TitanEditor.Properties.Resources.warehouse_1;
87 | this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
88 | this.Cursor = System.Windows.Forms.Cursors.Cross;
89 | this.DoubleBuffered = true;
90 | this.Margin = new System.Windows.Forms.Padding(0);
91 | this.Name = "EquipPanel";
92 | this.Size = new System.Drawing.Size(200, 217);
93 | this.MouseLeave += new System.EventHandler(this.EquipPanel_MouseLeave);
94 | this.Paint += new System.Windows.Forms.PaintEventHandler(this.EquipPanel_Paint);
95 | this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.EquipPanel_MouseMove);
96 | this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.EquipPanel_MouseClick);
97 | this.MouseEnter += new System.EventHandler(this.EquipPanel_MouseEnter);
98 | this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.EquipPanel_KeyDown);
99 | this.popMenu.ResumeLayout(false);
100 | this.ResumeLayout(false);
101 |
102 | }
103 |
104 | #endregion
105 |
106 | private System.Windows.Forms.ContextMenuStrip popMenu;
107 | private System.Windows.Forms.ToolStripMenuItem DeleteToolStripMenuItem;
108 | private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
109 | private System.Windows.Forms.ToolStripMenuItem CloseToolStripMenuItem;
110 | private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem;
111 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/SCFEditor/Items/EquipPanel.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TitansTech/TitanEditor/2047372b71e3bd38c343f0841797c6683f8d9bb6/SCFEditor/Items/EquipPanel.cs
--------------------------------------------------------------------------------
/SCFEditor/Items/EquipPanel.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
--------------------------------------------------------------------------------
/SCFEditor/Items/EquipProperty.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor
10 | {
11 | public partial class EquipProperty : Form
12 | {
13 | EquipItem item = null;
14 |
15 | public EquipProperty()
16 | {
17 | InitializeComponent();
18 | }
19 |
20 | public EquipProperty(EquipItem item)
21 | {
22 | InitializeComponent();
23 | this.item = item;
24 | }
25 |
26 | private void button2_Click(object sender, EventArgs e)
27 | {
28 | chkEquipZY1.Checked = true;
29 | chkEquipZY2.Checked = true;
30 | chkEquipZY3.Checked = true;
31 | chkEquipZY4.Checked = true;
32 | chkEquipZY5.Checked = true;
33 | chkEquipZY6.Checked = true;
34 | }
35 |
36 | private void button3_Click(object sender, EventArgs e)
37 | {
38 | chkEquipZY1.Checked = false;
39 | chkEquipZY2.Checked = false;
40 | chkEquipZY3.Checked = false;
41 | chkEquipZY4.Checked = false;
42 | chkEquipZY5.Checked = false;
43 | chkEquipZY6.Checked = false;
44 | }
45 |
46 | public void updateUI(EquipItem item)
47 | {
48 | txtName.Text = item.Name;
49 | txtEquipCodes.Text = item.ToString();
50 | cboEquipLevel.SelectedIndex = item.Level;
51 | cboEquipExt.SelectedIndex = item.Ext;
52 | chkEquipJN.Checked = item.JN;
53 | chkEquipXY.Checked = item.XY;
54 | chkEquipZY1.Checked = item.ZY1;
55 | chkEquipZY2.Checked = item.ZY2;
56 | chkEquipZY3.Checked = item.ZY3;
57 | chkEquipZY4.Checked = item.ZY4;
58 | chkEquipZY5.Checked = item.ZY5;
59 | chkEquipZY6.Checked = item.ZY6;
60 | txtSerial.Text = item.Serial.ToString();
61 | //chkEquipSet.Checked = item.Set;
62 |
63 | int set = item.Set;
64 |
65 | if (set == 0)
66 | chkEquipSet.Checked = false;
67 | else
68 | {
69 | chkEquipSet.Checked = true;
70 | txtSet.Text = set.ToString();
71 | }
72 |
73 | txtDurability.Text = Convert.ToString(item.Durability);
74 | GetSocketVal(item.Socket1, ref comboSock1, ref numericSock1);
75 | GetSocketVal(item.Socket2, ref comboSock2, ref numericSock2);
76 | GetSocketVal(item.Socket3, ref comboSock3, ref numericSock3);
77 | GetSocketVal(item.Socket4, ref comboSock4, ref numericSock4);
78 | GetSocketVal(item.Socket5, ref comboSock5, ref numericSock5);
79 | //comboHarmony.SelectedIndex = (item.Harmony & 0xF0) >> 4;
80 | }
81 |
82 | public void updateData(EquipItem item)
83 | {
84 | item.Level = (byte)(cboEquipLevel.SelectedIndex);
85 | item.Ext = cboEquipExt.SelectedIndex;
86 | item.JN = chkEquipJN.Checked;
87 | item.XY = chkEquipXY.Checked;
88 | item.ZY1 = chkEquipZY1.Checked;
89 | item.ZY2 = chkEquipZY2.Checked;
90 | item.ZY3 = chkEquipZY3.Checked;
91 | item.ZY4 = chkEquipZY4.Checked;
92 | item.ZY5 = chkEquipZY5.Checked;
93 | item.ZY6 = chkEquipZY6.Checked;
94 | item.Serial = Convert.ToInt64(txtSerial.Text);
95 | //item.Set = chkEquipSet.Checked;
96 |
97 | if (chkEquipSet.Checked == false)
98 | item.Set = 0;
99 | else
100 | {
101 | item.Set = Convert.ToByte(txtSet.Text);
102 | }
103 |
104 | item.Durability = Convert.ToByte(txtDurability.Text);
105 | item.Socket1 = GetSocketNum(comboSock1, numericSock1.Value);
106 | item.Socket2 = GetSocketNum(comboSock2, numericSock2.Value);
107 | item.Socket3 = GetSocketNum(comboSock3, numericSock3.Value);
108 | item.Socket4 = GetSocketNum(comboSock4, numericSock4.Value);
109 | item.Socket5 = GetSocketNum(comboSock5, numericSock5.Value);
110 |
111 | item.Harmony = 0;
112 | if (comboHarmony.SelectedItem != null)
113 | {
114 | if (comboHarmony.SelectedIndex > 0)
115 | {
116 | item.Harmony |= Convert.ToByte((comboHarmony.SelectedIndex) << 4);
117 | item.Harmony |= Convert.ToByte(item.Level & 0x0F);
118 | }
119 | }
120 | }
121 |
122 | private void btnOK_Click(object sender, EventArgs e)
123 | {
124 | if (null != item)
125 | updateData(item);
126 | item = null;
127 | this.Close();
128 | }
129 |
130 | private void btnCancel_Click(object sender, EventArgs e)
131 | {
132 | item = null;
133 | }
134 |
135 | public void GetSocketVal(byte Sock, ref ComboBox combo, ref NumericUpDown numeric)
136 | {
137 | byte Lvl = Convert.ToByte(Sock / 50);
138 | byte Val = Convert.ToByte(Sock - (Lvl * 50));
139 |
140 | if (Lvl == 0)
141 | Lvl++;
142 | else if (Lvl != 5)
143 | Lvl++;
144 | numeric.Value = Lvl;
145 |
146 | if (Sock == 0xFF)
147 | {
148 | combo.SelectedIndex = 28;
149 | numeric.Value = 1;
150 | return;
151 | }
152 | else if (Sock == 0)
153 | {
154 | combo.SelectedIndex = 0;
155 | numeric.Value = 1;
156 | return;
157 | }
158 |
159 | if (Val >= 1 && Val <= 6)
160 | {
161 | combo.SelectedIndex = Val;
162 | }
163 | else if (Val >= 11 && Val <= 15)
164 | {
165 | combo.SelectedIndex = Val - 4;
166 | }
167 | else if (Val >= 17 && Val <= 21)
168 | {
169 | combo.SelectedIndex = Val - 5;
170 | }
171 | else if (Val >= 22 && Val <= 27)
172 | {
173 | combo.SelectedIndex = Val - 5;
174 | }
175 | else if (Val >= 30 && Val <= 33)
176 | {
177 | combo.SelectedIndex = Val - 7;
178 | }
179 | else if (Val == 37)
180 | {
181 | combo.SelectedIndex = Val - 10;
182 | }
183 | }
184 |
185 | public byte GetSocketNum(ComboBox combo, decimal Level)
186 | {
187 | byte sock1 = 0;
188 | if (combo.SelectedItem == null)
189 | {
190 | sock1 = 0;
191 | }
192 | else
193 | {
194 | byte sockVal = Convert.ToByte(combo.SelectedIndex);
195 | byte mult = Convert.ToByte(Level - 1);
196 | if (sockVal >= 1 && sockVal <= 6)
197 | {
198 | sock1 = Convert.ToByte(sockVal + (50 * mult));
199 | }
200 | else if (sockVal >= 7 && sockVal <= 11)
201 | {
202 | sock1 = Convert.ToByte((sockVal + 4) + (50 * mult));
203 | }
204 | else if (sockVal >= 12 && sockVal <= 16)
205 | {
206 | sock1 = Convert.ToByte((sockVal + 5) + (50 * mult));
207 | }
208 | else if (sockVal >= 17 && sockVal <= 22)
209 | {
210 | sock1 = Convert.ToByte((sockVal + 5) + (50 * mult));
211 | }
212 | else if (sockVal >= 23 && sockVal <= 26)
213 | {
214 | sock1 = Convert.ToByte((sockVal + 7) + (50 * mult));
215 | }
216 | else if (sockVal == 27)
217 | {
218 | sock1 = Convert.ToByte((sockVal + 10) + (50 * mult));
219 | }
220 | else if (sockVal == 28)
221 | {
222 | sock1 = 255;
223 | }
224 | }
225 | return sock1;
226 | }
227 |
228 | private void EquipProperty_Load(object sender, EventArgs e)
229 | {
230 | comboSock1.SelectedIndex = 0;
231 | comboSock2.SelectedIndex = 0;
232 | comboSock3.SelectedIndex = 0;
233 | comboSock4.SelectedIndex = 0;
234 | comboSock5.SelectedIndex = 0;
235 |
236 | comboHarmony.Items.Add("None");
237 |
238 | if (item.Type >= 0 && item.Type <= 4)
239 | {
240 | comboHarmony.Items.Add("Min Attack Power");
241 | comboHarmony.Items.Add("Max Attack Power");
242 | comboHarmony.Items.Add("Strength Requirement");
243 | comboHarmony.Items.Add("Agility Requirement");
244 | comboHarmony.Items.Add("Attack (Max,Min)");
245 | comboHarmony.Items.Add("Critical Damage");
246 | comboHarmony.Items.Add("Skill Power");
247 | comboHarmony.Items.Add("Attack % Rate");
248 | comboHarmony.Items.Add("SD - Rate");
249 | comboHarmony.Items.Add("SD Ignore Rate");
250 | }
251 | else if (item.Type >= 6 && item.Type <= 11)
252 | {
253 | comboHarmony.Items.Add("Defense Power");
254 | comboHarmony.Items.Add("Max AG");
255 | comboHarmony.Items.Add("Max HP");
256 | comboHarmony.Items.Add("HP Auto Rate");
257 | comboHarmony.Items.Add("MP Auto Rate");
258 | comboHarmony.Items.Add("Defense Success Rate");
259 | comboHarmony.Items.Add("Damage Reduction Rate");
260 | comboHarmony.Items.Add("SD Rate");
261 | }
262 | else if (item.Type == 5)
263 | {
264 | comboHarmony.Items.Add("Magic Power");
265 | comboHarmony.Items.Add("Strength Requirement");
266 | comboHarmony.Items.Add("Agility Requirement");
267 | comboHarmony.Items.Add("Skill Power");
268 | comboHarmony.Items.Add("Critical Damage");
269 | comboHarmony.Items.Add("SD - Rate");
270 | comboHarmony.Items.Add("Attack % Rate");
271 | comboHarmony.Items.Add("SD Ignore Rate");
272 | }
273 | updateUI(item);
274 | comboHarmony.SelectedIndex = (item.Harmony & 0xF0) >> 4;
275 | }
276 |
277 | private void button1_Click(object sender, EventArgs e)
278 | {
279 | txtSerial.Text = item.AutoSerialize().ToString();
280 | }
281 | }
282 | }
--------------------------------------------------------------------------------
/SCFEditor/Items/EquipProperty.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/Items/Serial.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TitanEditor.Items
2 | {
3 | partial class Serial
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.radioF = new System.Windows.Forms.RadioButton();
32 | this.radioE = new System.Windows.Forms.RadioButton();
33 | this.radioD = new System.Windows.Forms.RadioButton();
34 | this.radioC = new System.Windows.Forms.RadioButton();
35 | this.radio0 = new System.Windows.Forms.RadioButton();
36 | this.groupBox1 = new System.Windows.Forms.GroupBox();
37 | this.button1 = new System.Windows.Forms.Button();
38 | this.groupBox1.SuspendLayout();
39 | this.SuspendLayout();
40 | //
41 | // radioF
42 | //
43 | this.radioF.AutoSize = true;
44 | this.radioF.Location = new System.Drawing.Point(27, 19);
45 | this.radioF.Name = "radioF";
46 | this.radioF.Size = new System.Drawing.Size(84, 17);
47 | this.radioF.TabIndex = 58;
48 | this.radioF.Text = "0xFFFFFFFF";
49 | this.radioF.UseVisualStyleBackColor = true;
50 | //
51 | // radioE
52 | //
53 | this.radioE.AutoSize = true;
54 | this.radioE.Location = new System.Drawing.Point(27, 42);
55 | this.radioE.Name = "radioE";
56 | this.radioE.Size = new System.Drawing.Size(85, 17);
57 | this.radioE.TabIndex = 59;
58 | this.radioE.Text = "0xFFFFFFFE";
59 | this.radioE.UseVisualStyleBackColor = true;
60 | //
61 | // radioD
62 | //
63 | this.radioD.AutoSize = true;
64 | this.radioD.Location = new System.Drawing.Point(27, 65);
65 | this.radioD.Name = "radioD";
66 | this.radioD.Size = new System.Drawing.Size(86, 17);
67 | this.radioD.TabIndex = 60;
68 | this.radioD.Text = "0xFFFFFFFD";
69 | this.radioD.UseVisualStyleBackColor = true;
70 | //
71 | // radioC
72 | //
73 | this.radioC.AutoSize = true;
74 | this.radioC.Location = new System.Drawing.Point(27, 88);
75 | this.radioC.Name = "radioC";
76 | this.radioC.Size = new System.Drawing.Size(85, 17);
77 | this.radioC.TabIndex = 61;
78 | this.radioC.Text = "0xFFFFFFFC";
79 | this.radioC.UseVisualStyleBackColor = true;
80 | //
81 | // radio0
82 | //
83 | this.radio0.AutoSize = true;
84 | this.radio0.Checked = true;
85 | this.radio0.Location = new System.Drawing.Point(28, 111);
86 | this.radio0.Name = "radio0";
87 | this.radio0.Size = new System.Drawing.Size(31, 17);
88 | this.radio0.TabIndex = 62;
89 | this.radio0.TabStop = true;
90 | this.radio0.Text = "0";
91 | this.radio0.UseVisualStyleBackColor = true;
92 | //
93 | // groupBox1
94 | //
95 | this.groupBox1.Controls.Add(this.radioF);
96 | this.groupBox1.Controls.Add(this.radio0);
97 | this.groupBox1.Controls.Add(this.radioE);
98 | this.groupBox1.Controls.Add(this.radioC);
99 | this.groupBox1.Controls.Add(this.radioD);
100 | this.groupBox1.Location = new System.Drawing.Point(12, 12);
101 | this.groupBox1.Name = "groupBox1";
102 | this.groupBox1.Size = new System.Drawing.Size(130, 135);
103 | this.groupBox1.TabIndex = 63;
104 | this.groupBox1.TabStop = false;
105 | this.groupBox1.Text = "Serial";
106 | //
107 | // button1
108 | //
109 | this.button1.Cursor = System.Windows.Forms.Cursors.Default;
110 | this.button1.Location = new System.Drawing.Point(39, 153);
111 | this.button1.Name = "button1";
112 | this.button1.Size = new System.Drawing.Size(75, 23);
113 | this.button1.TabIndex = 64;
114 | this.button1.Text = "Ok";
115 | this.button1.UseVisualStyleBackColor = true;
116 | this.button1.Click += new System.EventHandler(this.button1_Click);
117 | //
118 | // Serial
119 | //
120 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
121 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
122 | this.ClientSize = new System.Drawing.Size(159, 180);
123 | this.Controls.Add(this.button1);
124 | this.Controls.Add(this.groupBox1);
125 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
126 | this.Name = "Serial";
127 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
128 | this.Text = "Serial";
129 | this.groupBox1.ResumeLayout(false);
130 | this.groupBox1.PerformLayout();
131 | this.ResumeLayout(false);
132 |
133 | }
134 |
135 | #endregion
136 |
137 | private System.Windows.Forms.RadioButton radioF;
138 | private System.Windows.Forms.RadioButton radioE;
139 | private System.Windows.Forms.RadioButton radioD;
140 | private System.Windows.Forms.RadioButton radioC;
141 | private System.Windows.Forms.RadioButton radio0;
142 | private System.Windows.Forms.GroupBox groupBox1;
143 | private System.Windows.Forms.Button button1;
144 | }
145 | }
--------------------------------------------------------------------------------
/SCFEditor/Items/Serial.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor.Items
10 | {
11 | public partial class Serial : Form
12 | {
13 | public Serial()
14 | {
15 | InitializeComponent();
16 | }
17 |
18 | public Int64 ItemSerial = 0;
19 |
20 | private void button1_Click(object sender, EventArgs e)
21 | {
22 | if (radio0.Checked == true)
23 | ItemSerial = 0;
24 | else
25 | {
26 | ItemSerial = 0xFFFFFFFF;
27 | if (radioE.Checked == true)
28 | ItemSerial = ItemSerial - 1;
29 | else if (radioD.Checked == true)
30 | ItemSerial = ItemSerial - 2;
31 | else if (radioC.Checked == true)
32 | ItemSerial = ItemSerial - 3;
33 | }
34 | this.Close();
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/SCFEditor/Items/Serial.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/Logo Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TitansTech/TitanEditor/2047372b71e3bd38c343f0841797c6683f8d9bb6/SCFEditor/Logo Small.png
--------------------------------------------------------------------------------
/SCFEditor/Megaman.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TitansTech/TitanEditor/2047372b71e3bd38c343f0841797c6683f8d9bb6/SCFEditor/Megaman.ico
--------------------------------------------------------------------------------
/SCFEditor/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Windows.Forms;
4 |
5 | namespace TitanEditor
6 | {
7 | static class Program
8 | {
9 | ///
10 | /// The main entry point for the application.
11 | ///
12 | [STAThread]
13 | static void Main()
14 | {
15 | Application.EnableVisualStyles();
16 | Application.SetCompatibleTextRenderingDefault(false);
17 | Application.Run(new Form1());
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/SCFEditor/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("TitanEditor")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("TitanEditor")]
13 | [assembly: AssemblyCopyright("Copyright © 2010")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("9339aac4-f43a-448e-9e3a-fd6dd342d9fd")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("2.0.0.0")]
36 | [assembly: AssemblyFileVersion("2.0.0.0")]
37 |
--------------------------------------------------------------------------------
/SCFEditor/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // Este código fue generado por una herramienta.
4 | // Versión del motor en tiempo de ejecución:2.0.50727.4927
5 | //
6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
7 | // se vuelve a generar el código.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace TitanEditor.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// Clase de recurso con establecimiento inflexible de tipos, para buscar cadenas traducidas, etc.
17 | ///
18 | // StronglyTypedResourceBuilder generó automáticamente esta clase
19 | // a través de una herramienta como ResGen o Visual Studio.
20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen
21 | // con la opción /str o vuelva a generar su proyecto de VS.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TitanEditor.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las
51 | /// búsquedas de recursos mediante esta clase de recurso con establecimiento inflexible de tipos.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | internal static System.Drawing.Bitmap char_1 {
64 | get {
65 | object obj = ResourceManager.GetObject("char_1", resourceCulture);
66 | return ((System.Drawing.Bitmap)(obj));
67 | }
68 | }
69 |
70 | internal static System.Drawing.Bitmap Logo_Small {
71 | get {
72 | object obj = ResourceManager.GetObject("Logo Small", resourceCulture);
73 | return ((System.Drawing.Bitmap)(obj));
74 | }
75 | }
76 |
77 | internal static System.Drawing.Bitmap package_1 {
78 | get {
79 | object obj = ResourceManager.GetObject("package_1", resourceCulture);
80 | return ((System.Drawing.Bitmap)(obj));
81 | }
82 | }
83 |
84 | internal static System.Drawing.Bitmap unknownItem {
85 | get {
86 | object obj = ResourceManager.GetObject("unknownItem", resourceCulture);
87 | return ((System.Drawing.Bitmap)(obj));
88 | }
89 | }
90 |
91 | internal static System.Drawing.Bitmap warehouse_1 {
92 | get {
93 | object obj = ResourceManager.GetObject("warehouse_1", resourceCulture);
94 | return ((System.Drawing.Bitmap)(obj));
95 | }
96 | }
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/SCFEditor/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\Resources\warehouse-1.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
125 | ..\Resources\package-1.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
126 |
127 |
128 | ..\Resources\unknownItem.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
129 |
130 |
131 | ..\Resources\char-1.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
132 |
133 |
134 | ..\Logo Small.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
135 |
136 |
--------------------------------------------------------------------------------
/SCFEditor/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // Este código fue generado por una herramienta.
4 | // Versión del motor en tiempo de ejecución:2.0.50727.4927
5 | //
6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
7 | // se vuelve a generar el código.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace TitanEditor.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/SCFEditor/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SCFEditor/Resources/char-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TitansTech/TitanEditor/2047372b71e3bd38c343f0841797c6683f8d9bb6/SCFEditor/Resources/char-1.jpg
--------------------------------------------------------------------------------
/SCFEditor/Resources/package-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TitansTech/TitanEditor/2047372b71e3bd38c343f0841797c6683f8d9bb6/SCFEditor/Resources/package-1.jpg
--------------------------------------------------------------------------------
/SCFEditor/Resources/unknownItem.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TitansTech/TitanEditor/2047372b71e3bd38c343f0841797c6683f8d9bb6/SCFEditor/Resources/unknownItem.jpg
--------------------------------------------------------------------------------
/SCFEditor/Resources/warehouse-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TitansTech/TitanEditor/2047372b71e3bd38c343f0841797c6683f8d9bb6/SCFEditor/Resources/warehouse-1.jpg
--------------------------------------------------------------------------------
/SCFEditor/Reward.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Windows.Forms;
8 |
9 | namespace TitanEditor
10 | {
11 | public partial class Reward : Form
12 | {
13 | bool ReloadAccount = false;
14 | public Reward()
15 | {
16 | InitializeComponent();
17 | }
18 |
19 | private void Reward_Load(object sender, EventArgs e)
20 | {
21 | equipEditor1.LoadData();
22 | }
23 |
24 | private void addReward_Click(object sender, EventArgs e)
25 | {
26 | if (comboAccount.Text == "")
27 | {
28 | MessageBox.Show(string.Format("[Error] Write a Account Name First"));
29 | return;
30 | }
31 |
32 | if (comboChar.Text == "")
33 | {
34 | MessageBox.Show(string.Format("[Error] Write a Character Name First"));
35 | return;
36 | }
37 |
38 | if (equipEditor1.EditItem == null && itemcheckBox.Checked == true)
39 | {
40 | MessageBox.Show(string.Format("[Error] Add an Item First"));
41 | return;
42 | }
43 |
44 | int ItemID = -1;
45 | if (equipEditor1.EditItem != null && itemcheckBox.Checked == true)
46 | {
47 | ItemID = (equipEditor1.EditItem.Type * 512 + equipEditor1.EditItem.Code);
48 | equipEditor1.updateData(equipEditor1.EditItem);
49 |
50 | int ExcCnt = 0;
51 | if (equipEditor1.EditItem.ZY1 == true)
52 | ExcCnt += 1;
53 | if (equipEditor1.EditItem.ZY2 == true)
54 | ExcCnt += 0x02;
55 | if (equipEditor1.EditItem.ZY3 == true)
56 | ExcCnt += 0x04;
57 | if (equipEditor1.EditItem.ZY4 == true)
58 | ExcCnt += 0x08;
59 | if (equipEditor1.EditItem.ZY5 == true)
60 | ExcCnt += 0x10;
61 | if (equipEditor1.EditItem.ZY6 == true)
62 | ExcCnt += 0x20;
63 | bool result = DBLite.dbMu.Exec("INSERT INTO Titan_Rewards (AccountID,Name,Zen,VIPMoney,Num,Lvl,Opt,Luck,Skill,Dur,Excellent,Ancient,JOH,Sock1,Sock2,Sock3,Sock4,Sock5,Days) VALUES ('" +
64 | comboAccount.Text +
65 | "', '" + comboChar.Text +
66 | "', " + Zen.Text +
67 | ", " + VIPMoney.Text +
68 | ", " + ItemID +
69 | ", " + equipEditor1.EditItem.Level +
70 | ", " + equipEditor1.EditItem.Ext +
71 | ", " + Convert.ToInt32(equipEditor1.EditItem.XY) +
72 | ", " + Convert.ToInt32(equipEditor1.EditItem.JN) +
73 | ", " + equipEditor1.EditItem.Durability +
74 | ", " + ExcCnt +
75 | ", " + equipEditor1.EditItem.Set +
76 | ", " + equipEditor1.EditItem.Harmony +
77 | ", " + equipEditor1.EditItem.Socket1 +
78 | ", " + equipEditor1.EditItem.Socket2 +
79 | ", " + equipEditor1.EditItem.Socket3 +
80 | ", " + equipEditor1.EditItem.Socket4 +
81 | ", " + equipEditor1.EditItem.Socket5 +
82 | ", " + Days.Text + ")");
83 | DBLite.dbMu.Close();
84 |
85 | if (result == true)
86 | MessageBox.Show(string.Format("[Success] Reward Added"));
87 | else
88 | MessageBox.Show(string.Format("[Error] Cant add reward!!"));
89 | }
90 | else
91 | {
92 | bool result = DBLite.dbMu.Exec("INSERT INTO Titan_Rewards (AccountID,Name,Zen,VIPMoney,Num,Lvl,Opt,Luck,Skill,Dur,Excellent,Ancient,JOH,Sock1,Sock2,Sock3,Sock4,Sock5,Days) VALUES ('" +
93 | comboAccount.Text +
94 | "', '" + comboChar.Text +
95 | "', " + Zen.Text +
96 | ", " + VIPMoney.Text +
97 | ", " + ItemID +
98 | ", " + 0 +
99 | ", " + 0 +
100 | ", " + 0 +
101 | ", " + 0 +
102 | ", " + 0 +
103 | ", " + 0 +
104 | ", " + 0 +
105 | ", " + 0 +
106 | ", " + 0 +
107 | ", " + 0 +
108 | ", " + 0 +
109 | ", " + 0 +
110 | ", " + 0 +
111 | ", " + 0 + ")");
112 | DBLite.dbMu.Close();
113 |
114 | if (result == true)
115 | MessageBox.Show(string.Format("[Success] Reward Added"));
116 | else
117 | MessageBox.Show(string.Format("[Error] Cant add reward!!"));
118 | }
119 |
120 | string eMail = "";
121 |
122 | if (itemcheckBox.Checked == true)
123 | eMail += string.Format(ini.Mail1, equipEditor1.EditItem.Name);
124 |
125 | if(Convert.ToInt32(Zen.Text) > 0)
126 | eMail += string.Format(ini.Mail2, Zen.Text);
127 |
128 | if (Convert.ToInt32(VIPMoney.Text) > 0)
129 | eMail += string.Format(ini.Mail3, VIPMoney.Text);
130 |
131 | eMail += ini.Mail4;
132 |
133 | DBLite.dbMu.Exec("exec TT_WriteMemoMail '" + ini.MailSender + "','" + comboChar.Text + "','" + ini.MailSubject + "',' " + eMail + "',143,27");
134 | DBLite.dbMu.Close();
135 | }
136 |
137 | public void Account_Reload()
138 | {
139 | ReloadAccount = true;
140 | comboChar.Text = "";
141 | comboChar.Items.Clear();
142 | comboAccount.Text = "";
143 | comboAccount.Items.Clear();
144 | DBLite.dbMe.Read("SELECT memb___id FROM MEMB_INFO ORDER BY memb___id");
145 | while (DBLite.dbMe.Fetch())
146 | {
147 | comboAccount.Items.Add(DBLite.dbMe.GetAsString("memb___id"));
148 | }
149 | DBLite.dbMe.Close();
150 | }
151 | public void Character_Reload()
152 | {
153 | comboChar.Text = "";
154 | comboChar.Items.Clear();
155 | if (comboAccount.SelectedItem != null)
156 | {
157 | DBLite.dbMu.Read("SELECT Name FROM Character WHERE AccountID = '" + comboAccount.Text + "' ORDER BY Name");
158 | while (DBLite.dbMu.Fetch())
159 | {
160 | comboChar.Items.Add(DBLite.dbMu.GetAsString("Name"));
161 | }
162 | DBLite.dbMu.Close();
163 | }
164 | }
165 |
166 | private void account_Rld_Click(object sender, EventArgs e)
167 | {
168 | Account_Reload();
169 | }
170 |
171 | private void comboAccount_SelectedIndexChanged(object sender, EventArgs e)
172 | {
173 | Character_Reload();
174 | }
175 |
176 | private void accountFind_Click(object sender, EventArgs e)
177 | {
178 | Find formFind = new Find();
179 | formFind.isAccount = true;
180 | if (formFind.ShowDialog() == DialogResult.OK)
181 | {
182 | comboChar.Text = "";
183 | comboChar.Items.Clear();
184 |
185 | if (ReloadAccount)
186 | comboAccount.Text = Extra.FindResult.AccountID;
187 | else
188 | {
189 | bool found = false;
190 | for (int i = 0; i < comboAccount.Items.Count; i++)
191 | {
192 | if (comboAccount.Items[i].ToString() == Extra.FindResult.AccountID)
193 | {
194 | found = true;
195 | break;
196 | }
197 | }
198 | if (!found)
199 | comboAccount.Items.Add(Extra.FindResult.AccountID);
200 | comboAccount.Text = Extra.FindResult.AccountID;
201 | }
202 | }
203 | }
204 |
205 | private void itemcheckBox_CheckedChanged(object sender, EventArgs e)
206 | {
207 | groupBox1.Enabled = itemcheckBox.Checked;
208 | }
209 |
210 | private void charFind_Click(object sender, EventArgs e)
211 | {
212 | Find formFind = new Find();
213 | formFind.isAccount = false;
214 | if (formFind.ShowDialog() == DialogResult.OK)
215 | {
216 | comboAccount.Text = Extra.FindResult.AccountID;
217 | comboChar.Text = Extra.FindResult.Character;
218 | }
219 | }
220 | }
221 | }
222 |
--------------------------------------------------------------------------------
/SCFEditor/Reward.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/Splash.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TitanEditor
2 | {
3 | partial class Splash
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.pictureBox1 = new System.Windows.Forms.PictureBox();
32 | this.label1 = new System.Windows.Forms.Label();
33 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
34 | this.SuspendLayout();
35 | //
36 | // pictureBox1
37 | //
38 | this.pictureBox1.Image = global::TitanEditor.Properties.Resources.Logo_Small;
39 | this.pictureBox1.Location = new System.Drawing.Point(12, 9);
40 | this.pictureBox1.Name = "pictureBox1";
41 | this.pictureBox1.Size = new System.Drawing.Size(350, 83);
42 | this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
43 | this.pictureBox1.TabIndex = 0;
44 | this.pictureBox1.TabStop = false;
45 | //
46 | // label1
47 | //
48 | this.label1.AutoSize = true;
49 | this.label1.Font = new System.Drawing.Font("Times New Roman", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
50 | this.label1.ForeColor = System.Drawing.Color.SkyBlue;
51 | this.label1.Location = new System.Drawing.Point(164, 9);
52 | this.label1.Name = "label1";
53 | this.label1.Size = new System.Drawing.Size(101, 15);
54 | this.label1.TabIndex = 1;
55 | this.label1.Text = "Mu Online Editor";
56 | //
57 | // Splash
58 | //
59 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
60 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
61 | this.BackColor = System.Drawing.Color.Black;
62 | this.ClientSize = new System.Drawing.Size(277, 104);
63 | this.Controls.Add(this.label1);
64 | this.Controls.Add(this.pictureBox1);
65 | this.Cursor = System.Windows.Forms.Cursors.AppStarting;
66 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
67 | this.MaximizeBox = false;
68 | this.MinimizeBox = false;
69 | this.Name = "Splash";
70 | this.ShowIcon = false;
71 | this.ShowInTaskbar = false;
72 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
73 | this.Text = "Splash";
74 | this.Load += new System.EventHandler(this.Splash_Load);
75 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
76 | this.ResumeLayout(false);
77 | this.PerformLayout();
78 |
79 | }
80 |
81 | #endregion
82 |
83 | private System.Windows.Forms.PictureBox pictureBox1;
84 | private System.Windows.Forms.Label label1;
85 | }
86 | }
--------------------------------------------------------------------------------
/SCFEditor/Splash.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Text;
7 | using System.Threading;
8 | using System.Windows.Forms;
9 |
10 | namespace TitanEditor
11 | {
12 | public partial class Splash : Form
13 | {
14 | public Splash()
15 | {
16 | InitializeComponent();
17 | }
18 |
19 | private void Splash_Load(object sender, EventArgs e)
20 | {
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/SCFEditor/Splash.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/SCFEditor/bin/x86/Release/Config.ini:
--------------------------------------------------------------------------------
1 | [Connection]
2 |
3 | ODBC=MuOnline
4 | ODBC_Me=Me_MuOnline
5 | User=sa
6 | Password=654321
7 |
8 | UseODBC=0
9 | SQLServer=ADMIN-PC\SQLEXPRESS
10 |
11 | [Common]
12 |
13 | UseMD5=1
14 | ResetField=resets
15 | ReloadAccounts=1
16 |
17 | [EditorAdds]
18 |
19 | ItemNewPath=D:\MuServer\Data\Lang\Kor\Item(New).txt
20 |
21 | [MuMail]
22 |
23 | Sender=IcarO
24 | Subject=Regalero
25 | Mail1=Tienes un {0},
26 | Mail2=Zen= {0},
27 | Mail3=VipMoney= {0},
28 | Mail4=de premio para reclamar en el Bot de entregas
--------------------------------------------------------------------------------
/SCFEditor/ini.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 | using System.Runtime.InteropServices;
5 |
6 | namespace TitanEditor
7 | {
8 | class ini
9 | {
10 | [DllImport("kernel32")]
11 | private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
12 | [DllImport("kernel32")]
13 | private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
14 |
15 | public static bool MD5 = true;
16 | public static string ResetField = "resets";
17 | public static string Mail1;
18 | public static string Mail2;
19 | public static string Mail3;
20 | public static string Mail4;
21 | public static string MailSender;
22 | public static string MailSubject;
23 |
24 | public static string ReadString(string Section, string Key, string DefaultValue, string Path)
25 | {
26 | try
27 | {
28 | StringBuilder temp = new StringBuilder(2048);
29 | GetPrivateProfileString(Section, Key, "", temp, 255, Path);
30 | if (temp != null)
31 | return (temp.ToString());
32 | else
33 | return "";
34 | }
35 | catch (Exception)
36 | {
37 | return "";
38 | }
39 | }
40 |
41 | public static int ReadInt(string Section, string Key, string DefaultValue, string Path)
42 | {
43 | try
44 | {
45 | StringBuilder temp = new StringBuilder(2048);
46 | GetPrivateProfileString(Section, Key, DefaultValue, temp, 255, Path);
47 | if (temp.Length == 0)
48 | return 0;
49 | else
50 | return (Convert.ToInt32(temp.ToString()));
51 | }
52 | catch (Exception)
53 | {
54 | return 0;
55 | }
56 | }
57 |
58 | public static void WriteValue(string Section, string Key, object Value, string Path)
59 | {
60 | try
61 | {
62 | WritePrivateProfileString(Section, Key, Value.ToString(), Path);
63 | }
64 | catch (Exception)
65 | {
66 | }
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/TitanEditor.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 10.00
3 | # Visual C# Express 2008
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TitanEditor", "SCFEditor\TitanEditor.csproj", "{91A38A26-5926-49A2-AE54-23CCD4D5CE44}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Any CPU = Debug|Any CPU
9 | Debug|x64 = Debug|x64
10 | Debug|x86 = Debug|x86
11 | Release|Any CPU = Release|Any CPU
12 | Release|x64 = Release|x64
13 | Release|x86 = Release|x86
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
17 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Debug|Any CPU.Build.0 = Debug|Any CPU
18 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Debug|x64.ActiveCfg = Debug|x64
19 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Debug|x64.Build.0 = Debug|x64
20 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Debug|x86.ActiveCfg = Debug|x86
21 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Debug|x86.Build.0 = Debug|x86
22 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Release|Any CPU.ActiveCfg = Release|Any CPU
23 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Release|Any CPU.Build.0 = Release|Any CPU
24 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Release|x64.ActiveCfg = Release|x64
25 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Release|x64.Build.0 = Release|x64
26 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Release|x86.ActiveCfg = Release|x86
27 | {91A38A26-5926-49A2-AE54-23CCD4D5CE44}.Release|x86.Build.0 = Release|x86
28 | EndGlobalSection
29 | GlobalSection(SolutionProperties) = preSolution
30 | HideSolutionNode = FALSE
31 | EndGlobalSection
32 | EndGlobal
33 |
--------------------------------------------------------------------------------
/TitanEditor.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TitansTech/TitanEditor/2047372b71e3bd38c343f0841797c6683f8d9bb6/TitanEditor.suo
--------------------------------------------------------------------------------
/TitanEditorAdds.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TitansTech/TitanEditor/2047372b71e3bd38c343f0841797c6683f8d9bb6/TitanEditorAdds.exe
--------------------------------------------------------------------------------