Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Today
  3. Mighty Professional

    XML help

    Sometimes you just need to look at it with fresh eyes. So many problems I struggle with all night then solve it in 5 minutes the next morning.
  4. YoshiGirl

    Development Blog

    Killing Trikos
  5. Apache_

    Dev Blog 5/3/2019 - Combat + Event additions

    Is this something NPCs can use as well? Either way excellent addition.
  6. Yesterday
  7. Kibbelz

    Dev Blog 5/3/2019 - Combat + Event additions

    Today I added a taunt spell to Intersect. Not worthy of making a new dev blog so I'll post it here. How it works vs npcs: Forces the target to be the caster and the npc will chase and attack you only how it works vs players: Forces the players target to be the caster and cannot be changed until the status is removed. The player can move freely though just can only attack the target that taunted them. (Reason for this behaviour is due to the amount of effort it would take to force the player to move that is anti-hackable thus isn't worth the time)
  8. Gwendalin

    XML help

    i tried this, and it was randomly changing the text to green. i would mess with the [4,2] values, and nothing would change so i was getting discouraged. this.dgMissingSystems[4, 2].Style.ForeColor = Color.ForestGreen; so far this worked, and i was able to change cell numbers and it worked. Now to get it to pull the cell numbers dynamically. I think i can get it. i do have to start with 0 to get the first cell. this.dgMissingSystems[1, 1].Style.BackColor = System.Drawing.Color.Red;  Ok... i think i was just getting tunnel vision, and because my forecolor worked once i kind of stopped paying attention during my testing. The reason it wasn't showing was because there was no text to change. oh i also had this... so i was dancing around the answer... this.dgMissingSystems.Rows[dgMissingSystems.Rows.Count].Cells[1].Style.BackColor = Color.Red; Ok i got it semi working now.... Now my problem is it is only keeping one cell highlighted. I know another cell should be red, but only one is. not sure whats going on... the yellow box, and one above it should be red as well. Nevermind... i'm a ditz, and had my numbers backwards! i think its working now! Thanks Marsh!
  9. Mighty Professional

    XML help

    "//this.dgMissingSystems.Rows[dgMissingSystems.Rows.Count].Cells[1].Style.BackColor = Color.Red;" That didnt work? It should have. Though you probably dont want count for the first index. What happens if you just put this.dgMissingSystems.Rows[1].Cells[1].Style.BackColor = Color.Red; Or how about this.dgMissingSystems[1, 1].Style.BackColor = System.Drawing.Color.Red;
  10. Gwendalin

    XML help

    I got farther... but now I'm starting to hit the wall. I got my data displaying from both xml files. If i have data showing in one column but not the other that means it is either missing or named wrong. I want to make it more clear by marking the wrong cell, but i cant figure out how to change a single cell's background. I have tried many different options. Also I'm trying to break up the program into functions, but i have trouble with scope. For instance I got my filter to work. It checks one xml document and gets the genre of the game, and blocks it from populating. I'm trying to make a global xml variable so i only have to load it once, but i can't get it to be read in any other section of the code. i'm going to keep working at it... I'll be more detailed if i need help. Anyways here is what the program looks like so far. Its ugly, but it is mostly working. The Mame columns are reading from my mame.xml, and the LB columns are reading from my lB.xml. if there is a rom in Mame but not in LB it will have a blank field. If the name is different in LB from Mame it will list both roms names, and i will need to update my LB frontend. If there is a field empty in the mame columns that means that it is an old entry and needs to be deleted from the front end. Here is my code so far... its messy i know. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml.Linq; using System.Text.RegularExpressions; namespace Mame_Check { public partial class Form1 : Form { Dictionary<string, Machines> dictMame = new Dictionary<string, Machines>(); Dictionary<string, Machines> dictLB = new Dictionary<string, Machines>(); public Form1() { InitializeComponent(); btnSearch.Enabled = false; //if (btnSearch.Enabled == true) { LoadXml(); } } private void LoadXml() { XElement mameXML = XElement.Load(tbMamexml.Text); XElement launchboxXML = XElement.Load(tbLBXML.Text); IEnumerable<XElement> mame = mameXML.Elements(); IEnumerable<XElement> lb = launchboxXML.Elements(); //Read LaunchBox XML foreach (var lbSystem in lb) { try { Machines machine = new Machines(); machine.Name = lbSystem.Element("Title").Value + " " + lbSystem.Element("Version").Value; machine.Rom = System.IO.Path.GetFileNameWithoutExtension(lbSystem.Element("ApplicationPath").Value); machine.Genre = lbSystem.Element("Genre").Value; var clones = from nm in launchboxXML.Elements("AdditionalApplication") where (string)nm.Element("GameID") == lbSystem.Element("ID").Value select nm; if (machine.CloneOf == null && this.clbFIlter.CheckedItems.Contains(machine.Genre) == false) { dictLB.Add(machine.Rom, machine); } foreach (var clone in clones) { Machines cmachine = new Machines(); cmachine.Name = lbSystem.Element("Title").Value + " " + clone.Element("Name").Value; cmachine.Rom = System.IO.Path.GetFileNameWithoutExtension(clone.Element("ApplicationPath").Value); cmachine.Name = Regex.Replace(cmachine.Name, @"Play ", ""); cmachine.Name = Regex.Replace(cmachine.Name, @" Version...", ""); cmachine.CloneOf = machine.Name; cmachine.Genre = machine.Genre; if (this.clbFIlter.CheckedItems.Contains(cmachine.Genre) == false) { dictLB.Add(cmachine.Rom, cmachine); } } } catch { } } //Read Mame XML foreach (var mSystem in mame) { try { Machines machine = new Machines(); machine.Name = mSystem.Element("description").Value; machine.Rom = mSystem.Attribute("name").Value; //Clones if (null != mSystem.Attribute("cloneof") && this.clbFIlter.CheckedItems.Contains(machine.Genre) == false) { machine.CloneOf = mSystem.Attribute("cloneof").Value; } if (this.clbFIlter.CheckedItems.Contains(machine.Genre) == false) { dictMame.Add(machine.Rom, machine); } } catch { } } } private void LoadListBox() { XElement launchboxXML = XElement.Load(tbLBXML.Text); IEnumerable<XElement> lb = launchboxXML.Elements(); //Load listcheck box foreach (var lbSystem in lb) { try { string genre; genre = lbSystem.Element("Genre").Value; if (this.clbFIlter.Items.Contains(genre) != true) { this.clbFIlter.Items.Add(genre); } } catch { } } } private void BtnSearch_Click(object sender, EventArgs e) { LoadXml(); //Check Mame systems foreach (KeyValuePair<string, Machines> item in dictMame) { string key = item.Key; try { //If system is a parent if (item.Value.CloneOf == null) { //If parent is in Mame, but not in LaunchBox if (dictLB.ContainsKey(key) != true) { //this.dgMissingSystems.Rows[dgMissingSystems.Rows.Count].Cells[1].Style.BackColor = Color.Red; this.dgMissingSystems.Rows.Add(item.Value.Name, item.Value.Rom, "", "", "", "", "", ""); } else { //Parent is Named differently than in LaunchBox if (item.Value.Name != dictLB[key].Name) { this.dgMissingSystems.Rows.Add(item.Value.Name, item.Value.Rom, "", "", dictLB[key].Name, dictLB[key].Rom, "", ""); } } } else //If system is a clone { //If clone is in Mame, but not in LaunchBox if (dictLB.ContainsKey(item.Key) != true) { this.dgMissingSystems.Rows.Add(item.Value.CloneOf, "", item.Value.Name, item.Value.Rom, "", "", "", ""); } else { //If clone is Named differently than in LaunchBox if (item.Value.Name != dictLB[key].Name) { this.dgMissingSystems.Rows.Add(item.Value.CloneOf, "", item.Value.Name, item.Value.Rom, dictLB[key].CloneOf, "", dictLB[key].Name, dictLB[key].Rom); } } //dgMissingSystems[4, 2].Style.ForeColor = Color.ForestGreen; } } catch { } } //check LaunchBox systems foreach (KeyValuePair<string, Machines> item in dictLB) { try { //If system is a parent if (item.Value.CloneOf == null) { //If parent is in LaunchBox, but not Mame if (dictMame.ContainsKey(item.Key) != true) { this.dgMissingSystems.Rows.Add("", "", "", "", item.Value.Name, item.Value.Rom, "", ""); } } else //If system is a clone { //If clone is in LaunchBox, but not in Mame if (dictMame.ContainsKey(item.Key) != true) { this.dgMissingSystems.Rows.Add("", "", "", "", item.Value.CloneOf, "", item.Value.Name, item.Value.Rom); } } } catch { } } } private void BtnMameBrowse_Click(object sender, EventArgs e) { DialogResult result = openFileDialogMame.ShowDialog(); if (result == DialogResult.OK) { tbMamexml.Text = openFileDialogMame.FileName; if (tbMamexml.Text != "" && tbLBXML.Text != "") { btnSearch.Enabled = true; } } } private void BtnLBBrowse_Click(object sender, EventArgs e) { DialogResult result = openFileDialogLB.ShowDialog(); if (result == DialogResult.OK) { tbLBXML.Text = openFileDialogLB.FileName; LoadListBox(); if (tbMamexml.Text != "" && tbLBXML.Text != "") { btnSearch.Enabled = true; } } } } }
  11. frank560

    Tutoriales Basicos Para Intersect!

    21/05/2019 buenas tardes mira tengo una pregunta descargar el programa Intersect Engine lo instale pero para iniciar el servicio, Intersect Client para crear una cuenta no me abre me sale opengl initialization error graphic drivers! por favor me podrias ayudar
  12. Apache_

    thread of nostalgic games [2010 or lower]

    I was a lvl 72 demon hunter specializing in alchemy and blacksmithing.
  13. Gibier

    Drop restrictions & quests

    Please spot the necroposting, the question as been ask a year and a half already.
  14. Lucid Zen

    thread of nostalgic games [2010 or lower]

    Dragon Warrior 1 Super Mario RPG Shining Force Everquest (The first big sandbox mmo, despite what WoW fanboys say) Final Fantasy 9 (Best rpg ever made imo)
  15. Revangale

    [Paid] Revangale's Pixel Shop

    Currently accepting commissions.
  16. Smoot

    Drop restrictions & quests

    Make them non-tradable so players can't give them away, and make them sell for a small amount to a shopkeeper.
  17. Eric Matyas

    Building a Free Library of Images for Everyone

    Hey there, I’ve posted some more wild cartoon-style texture images derived from glass objects: TXR – GLASS – Cartoon https://soundimage.org/txr-glass-cartoon/ As always, please remember that they are meant to be building blocks rather than polished textures, so feel free to edit / alter / mash / etc., as needed. Don’t forget to check out my learning series that teaches environmental responsibility in a fun way through stories and characters. The premise is this: How can we expect children to be the future stewards of the Earth if they don’t feel connected to it?? Please share with family, friends, teachers or anyone who might find it useful. https://soundimage.org/dunes-island/ Have a good week!
  18. Last week
  19. YoshiGirl

    Development Blog

    [Item Megaphone] Use this megaphone to broadcast to the World about an item that you want to sell.
  20. Phenomenal

    thread of nostalgic games [2010 or lower]

    I played it after 2010 but it still counts so Oblivion it is for me. Edit: Also the browser rpg Adventure quest and its mmo sequel Adventure Quest Worlds because I played them when I was between 5 and 12
  21. buu

    thread of nostalgic games [2010 or lower]

    80 cap silkroad online <3
  22. Oddly

    thread of nostalgic games [2010 or lower]

    GunZ the Duel, this game was the shit: >> Also, scamming noobs for armor on '07scape
  23. Kibbelz

    thread of nostalgic games [2010 or lower]

    Neverwinter Nights - This was my childhood:
  24. igorlipe93

    thread of nostalgic games [2010 or lower]

    Diablo 2 I played a lot in dial-up around 2008/2009 server arena brazil
  1. Load more activity
×