+ Antworten
Ergebnis 1 bis 7 von 7

Mein Tool =)

Eine Diskussion über Mein Tool =) im Forum StarCraft 2. Teil des Strategie-Bereichs; Mir war eben langweilig und da hab ich nen kleines Tool programmiert, was euch die Replays so abspeichert, dass ihr ...

  1. #1
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13

    Mein Tool =)

    Mir war eben langweilig und da hab ich nen kleines Tool programmiert, was euch die Replays so abspeichert, dass ihr wisst, wann das war (auch wenn das schon bei Windoof einstellbar ist!)

    Ist leider in C# geschrieben also nur auf Windoof verfügbar und man braucht das Netframework 4.0


    Feedback immer her!!

    Klick mich hart!
    Geändert von zokker13 (13.10.2010 um 19:42 Uhr)

  2. #2
    StyleLiga 1 Style
    Avatar von StyleLiga
    Registriert seit
    21.02.2003
    Ort
    Hildesheim
    Alter
    29
    Beiträge
    3.103
    Nick
    -
    Clans
    OKTRON
    du bist der geilste
    Sonette find ich sowas von beschissen,hat heute noch son'n dumpfen Scheiß zu bauen;Darüber, dass so'n abgefuckter KackerIch tick nicht, was das Arschloch motiviert.
    so eng, rigide, irgendwie nicht gut;allein der Fakt, dass so ein Typ das tut,Mich mittels seiner Wichserein blockiert,Ich tick es nicht. Und will's echt nicht wissen:
    es macht mich ehrlich krank zu wissen,kann mir echt den ganzen Tag versauen.schafft in mir Agressionen auf den Macker.Ich find Sonette unheimlich beschissen.
    dass wer Sonette schreibt. Dass wer den MutIch hab da eine Sperre. Und die Wut 
    Robert Gernhardt

  3. #3
    Brigadegeneral
    Avatar von Lunak
    Registriert seit
    22.10.2008
    Ort
    Bavaria
    Alter
    27
    Beiträge
    23.611
    Name
    Flo
    Nick
    Lunak
    Clans
    MSF
    Du weißt das man das auch nur als exe rausjagen kann ohne den ganzen Ordner mitzunehmen oder?^^

  4. #4
    du hast mich auf ne gute Idee gebracht
    mal sehen vielleicht werde ich sowas mal umsetzen

  5. #5
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13
    Ja klar, aber open source, Lunak! x3

  6. #6
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13
    Habs mal grafisch überarbeitet! =D

  7. #7
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13
    Ich werd hier raus mal eine Art Blog machen.

    Hab heute einen Meilenstein erreicht, ich war in der Lage, den Spieler und die Race zu isolieren!
    Ihr könnt eich ja den Sourcecode angucken!

    Werde mi9ch jetzt an die Farbe machen!

    Update, Spieler 2 is nun auch feddisch
    Habs jetzt ins Replaytool integriert, ihr solltet aber nicht gegen den selben Typie 2x spielen, hab noch nicht die uhrzeit gefiltert.

    Spoiler:

    1.  
    2. using System;
    3. using System.Collections.Generic;
    4. using System.ComponentModel;
    5. using System.Data;
    6. using System.Drawing;
    7. using System.Linq;
    8. using System.Text;
    9. using System.Windows.Forms;
    10. using System.IO;
    11. using System.Text.RegularExpressions;
    12.  
    13. //Tool by zokker13
    14. //Thx to Liontiger
    15. namespace Autoreplay
    16. {
    17. public partial class Form1 : Form
    18. {
    19. public Form1()
    20. {
    21. InitializeComponent();
    22. }
    23. //Variablen und Ordnerdurchsuchung wird deklariert
    24. string sOn = "Autoreplay = ON!";
    25. string sOff = "Autoreplay = OFF!";
    26. string sEndung;
    27. string strFile;
    28. Regex alphabet = new Regex("[a-zA-Z]");
    29. string sSP1 ;
    30. string sSP2 ;
    31. string strRaceSP1;
    32. string strRaceSP2;
    33. string strkurzSP1;
    34. string strkurzSP2;
    35. int i;
    36. int iyea, imon, iday, istd, imin, isec, imil;
    37. System.Windows.Forms.FolderBrowserDialog objDialog = new FolderBrowserDialog();
    38. System.Windows.Forms.FolderBrowserDialog objDialog2 = new FolderBrowserDialog();
    39. private void cmdStart_Click(object sender, EventArgs e)
    40. {
    41. //Dieser Part macht den Timer an/aus.
    42. if (tmrTimer.Enabled == false)
    43. {
    44. tmrTimer.Enabled = true;
    45. }
    46.  
    47. else if (tmrTimer.Enabled == true)
    48. {
    49. tmrTimer.Enabled = false;
    50. cmdStart.Text = sOff;
    51. }
    52. }
    53.  
    54. private void Form1_Load(object sender, EventArgs e)
    55. {
    56. //Wenn die Form 'hochfährt', wird eine Textdatei gelesen
    57. if (File.Exists(@"C:\Autoreplaytoolfile.txt"))
    58. {
    59. string[] sfile = File.ReadAllLines(@"C:\Autoreplaytoolfile.txt");
    60. for (int i = 0; i < sfile.Length; i++)
    61. {
    62. objDialog2.SelectedPath = sfile[0];
    63. objDialog.SelectedPath = sfile[1];
    64. }
    65. }
    66. else
    67. {
    68. //Quellordner
    69. objDialog.Description = "Search for your Unsaved Replay folder!";
    70. objDialog.SelectedPath = @"C:\";
    71. DialogResult objResult = objDialog.ShowDialog(this);
    72.  
    73. //Zielordner
    74. objDialog2.Description = "Create your Replayfolder";
    75. objDialog2.SelectedPath = @"C:\";
    76. DialogResult objResult2 = objDialog2.ShowDialog(this);
    77. }
    78. }
    79.  
    80.  
    81.  
    82. public void tmrTimer_Tick(object sender, EventArgs e)
    83. {
    84. //Uhrzeitdeklaration
    85. DateTime dtUhr = DateTime.Now;
    86. //Variablen für die jeweilige Zeit
    87. iyea = dtUhr.Year;
    88. imon = dtUhr.Month;
    89. iday = dtUhr.Day;
    90. istd = dtUhr.Hour;
    91. imin = dtUhr.Minute;
    92. isec = dtUhr.Second;
    93. imil = dtUhr.Millisecond;
    94.  
    95.  
    96. //Es wird geprüft, ob es bereits einen Pfad gibt oder nicht
    97. if (objDialog.SelectedPath != "" && objDialog.SelectedPath != @"C:\" && objDialog2.SelectedPath != "" && objDialog2.SelectedPath != @"C:\")
    98. {
    99. //Wenn es einen Pfad gibt, wird eine Textdatei
    100. //erstellt, die die Pfadinformation beinhaltet
    101. StreamWriter sw = File.CreateText(@"C:\Autoreplaytoolfile.txt");
    102. sw.WriteLine(objDialog2.SelectedPath.ToString());
    103. sw.WriteLine(objDialog.SelectedPath.ToString());
    104. sw.Close();
    105.  
    106.  
    107. cmdStart.Text = sOn; //<=Der Buttontext
    108.  
    109. //Hier werden die Replays an sich (.SC2Replay) gesammelt und bekommen
    110. //Ihren eigenen Array
    111. string[] sReps = Directory.GetFiles(objDialog.SelectedPath);
    112. for (i = 0; i < sReps.Length; i++)
    113. {
    114. sEndung = Path.GetExtension(sReps[i]);
    115. strFile = Path.GetFileNameWithoutExtension(sReps[i]);
    116.  
    117. string[] sfile = File.ReadAllLines(sReps[i]);
    118. for (int i0 = 0; i0 < sfile.Length; i0++)
    119. {
    120.  
    121. //Die 2 steht für die Zeile zwei, in der
    122. //Zeile 2 steht der Accountname des
    123. //Spieler_1
    124. if (i0 == 2)
    125. {
    126. string szwiSP1 = sfile[2];
    127. //27: Erster Buchstabe des Spieler_1 Accountname
    128. //39: Max. letzter Buchstabe des Spieler_1 Accountname
    129. for (int i2 = 27; i2 <= 39; i2++)
    130. {
    131. //Spieler_1 Accountname
    132. if (alphabet.IsMatch(szwiSP1[i2].ToString()))
    133. {
    134. //Schreibt die werte in ein Label bzw. eine string rein.
    135. sSP1 = sSP1 + szwiSP1[i2].ToString();
    136. }
    137.  
    138.  
    139. // MessageBox.Show(i2.ToString() + ": " + szwi[i2].ToString());
    140.  
    141. }
    142. //56: Erster Buchstabe der Race
    143. //62: Max. letzter Buchstabe der Race.
    144. for (int i3 = 56; i3 <= 63; i3++)
    145. {
    146. strkurzSP1 = szwiSP1[57].ToString();
    147. //Spieler_1 Race
    148. if (alphabet.IsMatch(szwiSP1[i3].ToString()))
    149. {
    150. //Schreibt die werte in ein Label bzw. eine string rein.
    151. strRaceSP1 = strRaceSP1 + szwiSP1[i3].ToString();
    152. }
    153. }
    154. }
    155.  
    156.  
    157. if (i0 == 3)
    158. {
    159. string szwiSP2 = sfile[3];
    160. //27: Erster Buchstabe des Spieler_2 Accountname
    161. //39: Max. letzter Buchstabe des Spieler_2 Accountname
    162. for (int i2 = 17; i2 <= 29; i2++)
    163. {
    164. //Spieler_1 Accountname
    165. if (alphabet.IsMatch(szwiSP2[i2].ToString()))
    166. {
    167. //Schreibt die werte in ein Label bzw. eine string rein.
    168. sSP2 = sSP2 + szwiSP2[i2].ToString();
    169. }
    170.  
    171.  
    172. // MessageBox.Show(i2.ToString() + ": " + szwi[i2].ToString());
    173.  
    174. }
    175. //56: Erster Buchstabe der Race
    176. //62: Max. letzter Buchstabe der Race.
    177. for (int i3 = 46; i3 <= 53; i3++)
    178. {
    179. strkurzSP2 = szwiSP2[47].ToString();
    180. //Spieler_1 Race
    181. if (alphabet.IsMatch(szwiSP2[i3].ToString()))
    182. {
    183. //Schreibt die werte in ein Label bzw. eine string rein.
    184. strRaceSP2 = strRaceSP2 + szwiSP2[i3].ToString();
    185. }
    186. }
    187. }
    188. }
    189. if (sEndung == ".SC2Replay" || sEndung == ".sc2replay")
    190. {
    191. File.Move(sReps[i], objDialog2.SelectedPath + "\\" + sSP1 + "(" + strkurzSP1 + ")" + " vs " + sSP2 + "(" + strkurzSP2 + ")" + sEndung);
    192. }
    193. }
    194. }
    195.  
    196. //Wenn es keine Pfadinformation gibt, wird der User gedrängt,
    197. //einen Pfand auszuwählen, der Knopftext wird defeiert und
    198. //der Timer ausgestellt sowie eine Messagebox angezeigt
    199. else
    200. {
    201. tmrTimer.Enabled = false;
    202. cmdStart.Text = sOff;
    203. MessageBox.Show("Wähle dein Ziel- und Quell-ordner aus!");
    204. }
    205. }
    206.  
    207.  
    208. private void txtPath_TextChanged(object sender, EventArgs e)
    209. {
    210.  
    211. }
    212. //Menüauswahl - Hier werden die Sachen im oberen menü ausgeführt
    213. private void exitToolStripMenuItem1_Click(object sender, EventArgs e)
    214. {
    215. this.Close();
    216. }
    217.  
    218. private void creditsToolStripMenuItem1_Click(object sender, EventArgs e)
    219. {
    220. MessageBox.Show("All credits belong to zokker13",
    221. "It's one of his first Projects!");
    222. }
    223.  
    224. private void quellordnerToolStripMenuItem_Click(object sender, EventArgs e)
    225. {
    226. objDialog.Description = "Search for your Unsaved Replay folder!";
    227. objDialog.SelectedPath = @"C:\";
    228. DialogResult objResult = objDialog.ShowDialog(this);
    229. }
    230.  
    231. private void zielordnerToolStripMenuItem_Click(object sender, EventArgs e)
    232. {
    233. objDialog2.Description = "Create your Autoreplayfolder";
    234. objDialog2.SelectedPath = @"C:\";
    235. DialogResult objResult2 = objDialog2.ShowDialog(this);
    236. }
    237.  
    238. private void comingToolStripMenuItem_Click(object sender, EventArgs e)
    239. {
    240. MessageBox.Show("Ich plane noch die Replays \n" +
    241. "so zu parsen, dass ich \n" +
    242. "die Namen, Rasse und Farben \n" +
    243. "auslesen kann!!", "Das kommt noch!");
    244. }
    245.  
    246. private void startSCIIToolStripMenuItem_Click(object sender, EventArgs e)
    247. {
    248. System.Diagnostics.Process.Start(@"C:\Program Files (x86)\StarCraft II\StarCraft II.exe");
    249. }
    250.  
    251. private void lstBox_SelectedIndexChanged(object sender, EventArgs e)
    252. {
    253.  
    254. }
    255. }
    256. }
    257.  
    258.  
    Geändert von zokker13 (16.10.2010 um 19:10 Uhr)

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •