Пример #1
0
        private void btnExport_Click(object sender, EventArgs e)
        {
            if (Program.form.legitVersion())
            {
                return;
            }
            pspo2seForm.itemDb_ItemClass itemDbItemClass = this.dbLink[int.Parse(this.txtSelectedWeapon.Text)];
            if (MessageBox.Show("Some items may have additional features which may not be included on the weapon created. This generally gets fixed when you save in game.\n\nAre you sure you want to continue?", "Modified Weapon Alert", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
            {
                return;
            }
            string path        = "";
            string ext_options = this.parent.mainSettings.saveStructureIndex.item_file_name + " (*" + this.parent.mainSettings.saveStructureIndex.item_file_ext + ")|*" + this.parent.mainSettings.saveStructureIndex.item_file_ext;

            if (this.parent.mainSettings.saveStructureIndex.item_file_ext == "")
            {
                ext_options = "PSPo2/i Item File (*.pspo2item)|*.pspo2item";
            }
            if (path == "")
            {
                path = this.parent.openSaveDialogue(ext_options, this.txtInventoryName.Text);
            }
            if (path == null)
            {
                return;
            }
            try
            {
                using (FileStream fileStream = new FileStream(path, FileMode.Create))
                {
                    using (BinaryWriter binaryWriter = new BinaryWriter((Stream)fileStream))
                    {
                        for (int index = 0; index < 20; ++index)
                        {
                            if (index == 15)
                            {
                                binaryWriter.Write(byte.Parse("FF", NumberStyles.HexNumber));
                            }
                            else
                            {
                                binaryWriter.Write(byte.Parse(this.hex.Substring(index * 2, 2), NumberStyles.HexNumber));
                            }
                        }
                        binaryWriter.Close();
                    }
                    fileStream.Close();
                }
            }
            catch
            {
                int num = (int)MessageBox.Show("The file failed to save. Check it is not read only", "File stream error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                return;
            }
            int num1 = (int)MessageBox.Show("The item was created successfully.\n\nPlease remember that you should not used modified items online as you may get banned.", "Item created successfully", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
Пример #2
0
        private void showSelectedWeapon()
        {
            pspo2seForm.pageFields itemDetailsFields = this.getItemDetailsFields();
            itemDetailsFields.grp_details = (GroupBox)null;
            itemDetailsFields.pnl_details = this.pnlItemDetails;
            itemDetailsFields.txt_hex     = this.txtSelectedHex;
            if (!(this.txtSelectedWeapon.Text != ""))
            {
                return;
            }
            int index = int.Parse(this.txtSelectedWeapon.Text);

            if (index != -1)
            {
                pspo2seForm.itemDb_ItemClass   itemDbItemClass    = this.dbLink[index];
                pspo2seForm.inventoryItemClass inventoryItemClass = new pspo2seForm.inventoryItemClass();
                inventoryItemClass.hex   = this.parent.run.hexAndMathFunction.reversehex(itemDbItemClass.hex, 8);
                inventoryItemClass.style = pspo2seForm.weaponStyleType.Melee;
                switch ((pspo2seForm.weaponType) int.Parse(this.txtSelectedWeaponType.Text, NumberStyles.HexNumber))
                {
                case pspo2seForm.weaponType.longbow:
                    inventoryItemClass.style = pspo2seForm.weaponStyleType.Tech;
                    break;

                case pspo2seForm.weaponType.card:
                    inventoryItemClass.style = pspo2seForm.weaponStyleType.Tech;
                    break;

                case pspo2seForm.weaponType.rod:
                    inventoryItemClass.style = pspo2seForm.weaponStyleType.Tech;
                    break;

                case pspo2seForm.weaponType.wand:
                    inventoryItemClass.style = pspo2seForm.weaponStyleType.Tech;
                    break;

                case pspo2seForm.weaponType.tmag:
                    inventoryItemClass.style = pspo2seForm.weaponStyleType.Tech;
                    break;
                }
                inventoryItemClass.hex_reversed  = itemDbItemClass.hex;
                inventoryItemClass.type          = this.parent.getItemTypeFromHex(inventoryItemClass.hex);
                inventoryItemClass.power         = itemDbItemClass.power;
                inventoryItemClass.acc           = itemDbItemClass.acc;
                inventoryItemClass.name          = itemDbItemClass.name;
                inventoryItemClass.name_jp       = itemDbItemClass.name_jp;
                inventoryItemClass.desc          = itemDbItemClass.desc;
                inventoryItemClass.desc_jp       = itemDbItemClass.desc_jp;
                inventoryItemClass.infinity_item = itemDbItemClass.infinity_item;
                inventoryItemClass.level         = itemDbItemClass.level;
                inventoryItemClass.ext_power     = itemDbItemClass.ext_power;
                inventoryItemClass.ext_acc       = itemDbItemClass.ext_acc;
                inventoryItemClass.ext_level     = itemDbItemClass.ext_level;
                inventoryItemClass.special       = itemDbItemClass.special;
                if (itemDbItemClass.special == "")
                {
                    inventoryItemClass.special = "DB_Error";
                }
                inventoryItemClass.special_level     = itemDbItemClass.special_level;
                inventoryItemClass.ext_special_level = itemDbItemClass.ext_special_level;
                inventoryItemClass.rarity            = itemDbItemClass.rarity;
                this.parent.displayItemInfo(itemDetailsFields, inventoryItemClass);
                itemDetailsFields.txt_hex.Text     = "0x" + inventoryItemClass.hex_reversed;
                itemDetailsFields.txt_name.Text    = inventoryItemClass.name;
                itemDetailsFields.txt_name_jp.Text = inventoryItemClass.name_jp;
                this.parent.displayItemImage(itemDetailsFields, inventoryItemClass);
                this.parent.displayItemStars(itemDetailsFields, inventoryItemClass.rarity);
                this.parent.displayItemInfo(itemDetailsFields, inventoryItemClass);
                this.txtSelectedWeaponType.Text    = ((int)this.parent.getWeaponTypeFromHex(inventoryItemClass.hex_reversed)).ToString("X2");
                this.txtWeaponType.Text            = this.parent.weaponEnumToName(this.parent.getWeaponTypeFromHex(inventoryItemClass.hex_reversed));
                this.imgDropListWeaponType.Image   = this.parent.getWeaponImageFromType(this.parent.getWeaponTypeFromHex(inventoryItemClass.hex_reversed));
                this.imgDropListWeaponType.Visible = true;
                string imageFloatInList = this.parent.findImageFloatInList(inventoryItemClass.hex_reversed);
                this.picWeapon.Image = !(imageFloatInList != "") ? (Image)null : (Image) new Bitmap(imageFloatInList);
                this.updateHex(0, inventoryItemClass.hex);
                string str = inventoryItemClass.rarity.ToString("X1");
                if (str.Length < 2)
                {
                    str = "0" + str;
                }
                this.updateHex(31, inventoryItemClass.rarity >= 0 ? str.Substring(1, 1) : "0");
            }
            else
            {
                itemDetailsFields.pnl_details.Visible = false;
            }
        }