private void cmdLocate_Click(System.Object eventSender, System.EventArgs eventArgs) { CommonDialog1Open.FileName = ""; CommonDialog1Open.ShowDialog(); if (!string.IsNullOrEmpty(CommonDialog1Open.FileName)) { //If AddDSN("4POS", "4POS data", CommonDialog1.FileName, True) Then if (modRecordSet.openSComp(ref CommonDialog1Open.FileName) == null) { Interaction.MsgBox("Waitron Database is not valid, Chooose correct database.", MsgBoxStyle.ApplicationModal + MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _4PosBackOffice.NET.My.MyProject.Application.Info.Title); } else { _txtInteger_1.Text = Strings.Split(Strings.LCase(CommonDialog1Open.FileName), "waitron.mdb")[0]; } //End If } }
private void cmdSelect_Click(Object eventSender, EventArgs eventArgs) { string Filename = ""; CommonDialog1Open.Title = "Select .rsf file"; CommonDialog1Open.Filter = "Script Files (*.rsf)|*.rsf"; CommonDialog1Open.InitialDirectory = Path.GetDirectoryName(Application.ExecutablePath); CommonDialog1Open.ShowDialog(); if (Strings.Len(CommonDialog1Open.FileName) == 0) { return; } Filename = CommonDialog1Open.FileName; string data = ""; modRpgwoMapFormat.mNumberOfItems = 1; modRpgwoMapFormat.mNumberOfMonsters = 1; modRpgwoMapFormat.mv2NumberOfItems = 1; modRpgwoMapFormat.mv2NumberOfMonsters = 1; if (cboVersion.Text == "V1") { modRpgwoMapFormat.v2Map = false; modRpgwoMapFormat.mMapVersion = StringsHelper.GetFixedLengthString("1.0 RPGWO Edit", 30); } else { modRpgwoMapFormat.v2Map = true; modRpgwoMapFormat.mMapVersion = StringsHelper.GetFixedLengthString("2.0 RPGWO Edit", 30); } FileSystem.FileOpen(1, Filename, OpenMode.Input, OpenAccess.Default, OpenShare.Default, -1); string[] DataArray = null; short Xpos = 0; short Ypos = 0; short ImageNumber = 0; int SpawnSeconds = 0; while (!FileSystem.EOF(1)) { data = FileSystem.LineInput(1); if (data.StartsWith("/MAPITEMCLEAR ")) { data = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 14), 0)); DataArray = (string[])modGlobals.Tokenize(ref data); modRpgwoMapFormat.mMapHeight = Convert.ToInt16(Double.Parse(DataArray[0])); modRpgwoMapFormat.mMapWidth = Convert.ToInt16(Double.Parse(DataArray[0])); modRpgwoMapFormat.mMap = new short[Convert.ToInt16(Double.Parse(DataArray[0])), Convert.ToInt16(Double.Parse(DataArray[0]))]; // ReDim Map(Right(Data, Len(Data) - 14) + 5, Right(Data, Len(Data) - 14) + 5) // ReDim ItemMap(Right(Data, Len(Data) - 14) + 5, Right(Data, Len(Data) - 14) + 5) // ReDim MonsterMap(Right(Data, Len(Data) - 14) + 5, Right(Data, Len(Data) - 14) + 5) } //Load Items if (data.StartsWith("/ITEMIXY ")) { //Now tokenize the remaining data and break into the parts of image# and x and y position data = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 9), 0)); DataArray = (string[])modGlobals.Tokenize(ref data); ImageNumber = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[0]))); Xpos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[1]))); Ypos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[2]))); modRpgwoMapFormat.mItems = ArraysHelper.RedimPreserve(modRpgwoMapFormat.mItems, new int[] { modRpgwoMapFormat.mNumberOfItems + 1 }); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].ItemID = (short)ImageNumber; modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Xpos = (short)Xpos; modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Ypos = (short)Ypos; modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].a = true; modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].SpawnTimeout = (float)Math.Floor(Double.Parse(DataArray[3])); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data1 = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[4]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data2 = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[5]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data3 = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[6]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data4 = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[7]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data5 = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[8]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Reset = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[9]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Writing = StringsHelper.GetFixedLengthString(new String(' ', 200), 200); // mItems(mNumberOfItems).Trigger = Int(DataArray(10)) modRpgwoMapFormat.mNumberOfItems++; modRpgwoMapFormat.mv2NumberOfItems++; } //Spawn items if (data.StartsWith("/ITEMSPAWNIXY ")) { data = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 14), 0)); DataArray = (string[])modGlobals.Tokenize(ref data); ImageNumber = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[0]))); Xpos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[1]))); Ypos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[2]))); modRpgwoMapFormat.mItems = ArraysHelper.RedimPreserve(modRpgwoMapFormat.mItems, new int[] { modRpgwoMapFormat.mNumberOfItems + 1 }); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].ItemID = (short)ImageNumber; modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Xpos = (short)Xpos; modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Ypos = (short)Ypos; modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].a = true; modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].SpawnTimeout = (float)Math.Floor(Double.Parse(DataArray[3])); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data1 = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[4]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data2 = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[5]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data3 = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[6]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data4 = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[7]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Data5 = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[8]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Trigger = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[8]))); modRpgwoMapFormat.mItems[modRpgwoMapFormat.mNumberOfItems - 1].Uses = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[9]))); modRpgwoMapFormat.mNumberOfItems++; modRpgwoMapFormat.mv2NumberOfItems++; } //Text on item if (data.StartsWith("/ITEMTEXTIXY ")) { data = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 13), 0)); DataArray = (string[])modGlobals.Tokenize(ref data); Xpos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[0]))); Ypos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[1]))); //'ItemMap(Xpos, Ypos).ItemText = DataArray(2) } //Surface the ground if (data.StartsWith("/SURFACEIXY ")) { //Now tokenize the remaining data and break into the parts of image# and x and y position data = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 12), 0)); DataArray = (string[])modGlobals.Tokenize(ref data); ImageNumber = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[0]))); Xpos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[1]))); Ypos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[2]))); modRpgwoMapFormat.mMap[Xpos - 1, Ypos - 1] = ImageNumber; } //Load Monsters if (data.StartsWith("/MONSTERSPAWNADDXY ")) { data = data.Substring(Math.Max(data.Length - (Strings.Len(data) - 19), 0)); DataArray = (string[])modGlobals.Tokenize(ref data); ImageNumber = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[2]))); Xpos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[0]))); Ypos = Convert.ToInt16(Math.Floor(Double.Parse(DataArray[1]))); SpawnSeconds = Convert.ToInt32(Math.Floor(Double.Parse(DataArray[3]))); modRpgwoMapFormat.mMonsters = ArraysHelper.RedimPreserve(modRpgwoMapFormat.mMonsters, new int[] { modRpgwoMapFormat.mNumberOfMonsters + 1 }); modRpgwoMapFormat.mMonsters[modRpgwoMapFormat.mNumberOfMonsters - 1].Xpos = (short)Xpos; modRpgwoMapFormat.mMonsters[modRpgwoMapFormat.mNumberOfMonsters - 1].Ypos = (short)Ypos; modRpgwoMapFormat.mMonsters[modRpgwoMapFormat.mNumberOfMonsters - 1].MonsterId = (short)ImageNumber; modRpgwoMapFormat.mMonsters[modRpgwoMapFormat.mNumberOfMonsters - 1].Timeout = (short)SpawnSeconds; modRpgwoMapFormat.mMonsters[modRpgwoMapFormat.mNumberOfMonsters - 1].a = true; modRpgwoMapFormat.mNumberOfMonsters++; modRpgwoMapFormat.mv2NumberOfMonsters++; //MonsterMap(Xpos, Ypos).ImageNumber = ImageNumber //MonsterMap(Xpos, Ypos).MonsterArrayID = GetMonsterArrayId(ImageNumber) //MonsterMap(Xpos, Ypos).MonsterId = Monsters(MonsterMap(Xpos, Ypos).MonsterArrayID).MonsterId 'ImageNumber //MonsterMap(Xpos, Ypos).Life = Monsters(MonsterMap(Xpos, Ypos).MonsterArrayID).Life //MonsterMap(Xpos, Ypos).Stamina = Monsters(MonsterMap(Xpos, Ypos).MonsterArrayID).Stamina //MonsterMap(Xpos, Ypos).Mana = Monsters(MonsterMap(Xpos, Ypos).MonsterArrayID).Mana //MonsterMap(Xpos, Ypos).SpawnSeconds = SpawnSeconds //MonsterMap(Xpos, Ypos).OldX = Xpos //MonsterMap(Xpos, Ypos).OldY = Ypos //MonsterMap(Xpos, Ypos).OldMonsterArrayID = MonsterMap(Xpos, Ypos).MonsterArrayID //MonsterMap(Xpos, Ypos).ImageType = Monsters(MonsterMap(Xpos, Ypos).MonsterArrayID).ImageType } } ; FileSystem.FileClose(1); //save the file if (modRpgwoMapFormat.v2Map) { modRpgwoMapFormat.SaveRpgwoMap(Filename + "v2-3.map"); } else { modRpgwoMapFormat.SaveRpgwoMap(Filename + "v1.map"); } //End of rsf file MessageBox.Show("Done!", AssemblyHelper.GetTitle(System.Reflection.Assembly.GetExecutingAssembly())); }