Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Cs Skriptpack by Blacky (https://www.delphipraxis.net/32535-cs-skriptpack-blacky.html)

Blackeagle 24. Okt 2004 22:29


Cs Skriptpack by Blacky
 
Guten Tag alle zusammen,

also um direkt die Frage zu klären ... ich bin der Bruder von Tigerhead.. ;)

Aber jetzt zum eigentlichen Inhalt des Threads.. ich habe mich auch mal dran gemacht und ein "Programm" erstellt (Eagle-Skriptpack)... ich kann nur sagen, dass es für mich eine Menge Arbeit war und auch ziehmlich schwer.. :/

Naja ich weiss zwar nicht, ob ihr damit sehr viel anfangen könnt, doch werde es trotzdem mal veröffentlichen (vielleicht ist ja ein Cs Spieler hier ;)

Gebt mir bitte ein Feedback... Bugs / Verbesserungsvorschläge

Mfg
Blacky


*Update* Neu hochgeladen, aber diesmal gezippt.

Birzenbae 24. Okt 2004 22:32

Re: Cs Skriptpack by Blacky
 
so du willst feedback bitte: nächstes ma zippen please

edit: nicht direkt mit prog selbst sondern mit netsettings cl_updaterate und cl_cmdrate sollten bei blackys settings mindestens auf 20 gestellt sein sonst laggt man wie verrückt, hab ich selbst ma gehabt.
direkt aufs programm bezogen ich würde nicht auf config.cfg zugreifen lassen sondern entweder auf userconfig.cfg oder autoexec.cfg zugreifen bzw. erstellen da sieht man eher was verändert wurde auch die exec cmds in diese configs integrieren.

Blackeagle 24. Okt 2004 22:48

Re: Cs Skriptpack by Blacky
 
Hmm naja ich habe ja gemacht, dass die ganzen "exec ...." einfach in die Config.cfg hinzugefügt werden sollen. Somit werden sie ganz unten angezeigt und es ist relativ übersichtlich :)...

Ausser den Sachen in der Config werden insg. nur 5 neue Texte erstellt.


Commandmenu (Das wirklich sehr umfangreiche Menu zum bearbeiten von Server- und benutzer Einstellungen [im Spiel aufrufbar])

Netsettings (wo meine [womit ICH sehr gut klar komme] oder angegebene [evtl. auch welche nach tipps, die aufrufbar sind] drin stehen.)

Commands & Commands2 (Die Datein, wo die "Persöhnlichen Sachen" die nicht jeder gleich hat.. (Claninfos [hp / Channel] etc...) drin stehen... die dann automatisch mit dem Commandmenu Verknüpft sind... )

Binds (Die sich direkt bei der Installation einstellen / ändern / deaktivieren etc.. lassen.



Aber du hast Recht... da sonst immer nen Fehler kommt (was wir ja vermeiden wollen), wenn keine Config.cfg besteht, werde ich probiere alles auf die Autoexec.cfg über zu schreiben... und das eine erstellt werden soll, falls nicht vorhanden.

Thx 4 Feedback..

Birzenbae 24. Okt 2004 23:01

Re: Cs Skriptpack by Blacky
 
du könntest vll. en menü reinmachen wo man die grafikeinstellungen verbessern bzw. runterstellen kann^^ und vll könnteste das buyscript vom benutzer einstellen lassen z.b könnteste per pulldownmenü auswählen lassen welche waffe dann ob mit team-info oder nich wäre aber mit sehr viel aufwand verbunden oder könntest mehr zur auswahl bieten für sparrunden usw.

Blackeagle 24. Okt 2004 23:12

Re: Cs Skriptpack by Blacky
 
Hmm ne Frage... wie ist denn der Befehl dafür ?
Ich möchte, dass wenn keine autoexec.cfg da ist



Code:
procedure TEagle.Image9Click(Sender: TObject);
begin
 Panel1.Visible := false;
 Panel2.Visible := false;
 Panel3.Visible := false;
 Panel4.Visible := false;
 Panel5.Visible := false;
 Panel6.Visible := false;
 Panel7.Visible := true;
  sl:=TStringList.Create;

  try
    if (Checkbox2.checked = true) then begin
     sl.LoadFromFile(Label16.Caption +'\autoexec.cfg');
     if pos('exec Binds.cfg', sl.Text)=0 then begin
     sl.Add('exec Binds.cfg');
     end;
     end;
     sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
  finally
     sl.free;
  end;

  begin
  sl:=TStringList.Create;
  try
    if (Checkbox2.checked = true) then begin
     if (checkbox4.checked = true) then begin
      sl.Add('bind "'+edit1.text+'" "m4a1; ak47; primammo; defuser; stopsound"');
     end;
     if (checkbox5.checked = true) then begin
      sl.Add('bind "'+edit2.text+'" "deagle; secammo; defuser; stopsound"');
     end;
     if (checkbox6.checked = true) then begin
      sl.Add('bind "'+edit3.text+'" "awp; primammo; defuser; stopsound; say_team - awp -"');
     end;
     if (checkbox7.checked = true) then begin
      sl.Add('bind "'+edit4.text+'" "primammo; stopsound"');
     end;
     if (checkbox8.checked = true) then begin
      sl.Add('bind "'+edit5.text+'" "secammo; stopsound"');
     end;
     if (checkbox9.checked = true) then begin
      sl.Add('bind "'+edit6.text+'" "defuser; hegren; flash; sgren; flash; vesthelm; stopsound"');
     end;
     if (checkbox10.checked = true) then begin
      sl.Add('bind "'+edit7.text+'" "+commandmenu"');
     end;
    end;
     sl.SaveToFile(Label16.Caption + '\Binds.cfg');
  finally
     sl.free;
     end;
end;
end;
procedure TEagle.Button1Click(Sender: TObject);
begin
 Netsettings.Visible := true;
end;

ps: Ich habe absolut keinen Plan wie man richtig "formatiert"... habe es hier probiert nachzustellen, aber scheint nichts geworden zu sein... gibts dafür auch nen Tutorial ?

Blackeagle 24. Okt 2004 23:29

Re: Cs Skriptpack by Blacky
 
Code:
  try
    if (Checkbox2.checked = true) and (Label16.Caption +'\autoexec.cfg')=0 then begin
      sl.LoadFromFile(Label16.Caption +'\autoexec.cfg');
      if pos('exec Binds.cfg', sl.Text)=0 then begin
      sl.Add('exec Binds.cfg');
     end;
    else if (Checkbox2.checked = true) and (Label16.Caption +'\autoexec.cfg')=1 then begin
    sl.Add('exec Binds.cfg');
     end;
    end;
   end;
     sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
  finally
     sl.free;
  end;
So würde ich denken, dass es richtig ist, jedoch nimmt er min. das
Zitat:

(Label16.Caption +'\autoexec.cfg')=0
nicht an. Jemand einen Plan wie es anstatt =0 richtig heisst ?
Wenn es so überhaupt richtig ist.. :(

Luckie 24. Okt 2004 23:32

Re: Cs Skriptpack by Blacky
 
Zitat:

Zitat von Blackeagle
Naja ich weiss zwar nicht, ob ihr damit sehr viel anfangen könnt,

Ich weiß es auch nicht. Wie wäre es mit einer etwas detaillierteren Beschreibung, was dein Programm eigentlich macht und wozu es gut ist? :roll:

jfheins 25. Okt 2004 06:45

Re: Cs Skriptpack by Blacky
 
Statt
Delphi-Quellcode:
(Label16.Caption +'\autoexec.cfg')=0
einfach das:
Delphi-Quellcode:
(Label16.Caption+'\autoexec.cfg' = '0')
NACHDENKEN :roll:

Luckie 25. Okt 2004 07:05

Re: Cs Skriptpack by Blacky
 
Zitat:

Zitat von jfheins
Delphi-Quellcode:
(Label16.Caption+'\autoexec.cfg' = '0')
NACHDENKEN :roll:

Hm. Ja NACHDENKEN wäre wohl nicht schlecht. Aber diese Bedingung wird immer False sein, da ja zumindest immer "\autoexec.cfg" in dem String steht und das wird nie und nimmer "0" werden. :roll:

Blackeagle 25. Okt 2004 07:28

Re: Cs Skriptpack by Blacky
 
Und ich probiere und probiere mit '0' und habe schon wieder alles umgeschrieben und es ging nicht... dann 1 Versuch (als newbie) mit false und es geht .. :)

Danke

ps: ich werde es noch sehr überarbeiten .. ;)

Sanchez 25. Okt 2004 08:00

Re: Cs Skriptpack by Blacky
 
Hi,
Zitat:

Zitat von Blackeagle
Code:
 
    if ... and (Label16.Caption +'\autoexec.cfg')=0 then begin
      ...  
    end else if ... and (Label16.Caption +'\autoexec.cfg')=1 then begin
      ...
    end;

Dieser String kann niemals true, false, 0 oder 1 sein. Was willst du damit überhaupt erreichen?
Der String wird, wie Luckie schon geschrieben hat, zumindest '\autoexec.cfg' beinhalten.
Wenn du wissen willst ob die Datei existiert, solltest du dir mal FileExists ansehen.

grüße, daniel

Blackeagle 25. Okt 2004 13:00

Re: Cs Skriptpack by Blacky
 
Jaja du hast ja Recht ;-)

Ich gebe zu, dass ich ein Newbie in dieser Skriptsprache bin, doch nach ein bissl basteln *bastel bastel* dürfte ich die Lösung jetzt gefunden haben :)

Code:
 sl:=TStringList.Create;

    if (RadioButton2.Checked = true) or (RadioButton3.Checked = true) then begin
     sl.Add('exec Netsettings.cfg');
     sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
    end
    else if (RadioButton2.Checked = true) or (RadioButton3.Checked = true) and (Label16.Caption +'\autoexec.cfg' = 'false') then begin
     sl.LoadFromFile(Label16.Caption +'\autoexec.cfg');
      if pos('exec Netsettings.cfg', sl.Text)=0 then begin
       sl.Add('exec Netsettings.cfg');
       sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
      end;

so da ist mein neuer Code... der funktioniert so und ich kann mich nicht beschwerden jetzt werde ich nur noch andere bugs beheben und das pack verbessern ... ich bedanke mich schonmal für eure Hilfe und hoffe auf weiter Hilfe bei wohl möglichen Fragen :)

Blacky

Nicodius 25. Okt 2004 13:05

Re: Cs Skriptpack by Blacky
 
--> zur codeformatierung

auf luckies seite findest du das ;)

tommie-lie 25. Okt 2004 13:32

Re: Cs Skriptpack by Blacky
 
Zitat:

Zitat von Blackeagle
Ich gebe zu, dass ich ein Newbie in dieser Skriptsprache bin

Skriptsprache? Delphi? :wiejetzt:
Es gibt ja nicht viele Dinge, mit denen man sich bei mir disqualifizieren kann, aber sowas ist nah dran...

Hast du eigentlich die Rechte an den Pfeilbuttons und dem Beenden-Button? Die erinnern schon auf den ersten Blick sehr stark an die WindowsXP-Buttons.

Und Luckies Bitte, zu sagen, was dein Programm überhaupt macht, bist du soweit ich sehe auch noch nicht nachgekommen. Ist Cs CounterStrike (dann ist die übliche Abkürzung CS) oder C# oder Christians Softwareladen?

Sanchez 25. Okt 2004 13:32

Re: Cs Skriptpack by Blacky
 
Ich weiss zwar immer noch nicht was du machen willst, aber ich bin mir sicher, dass es mit deinem Code nicht funktioniert.
Code:
 
sl:=TStringList.Create;

if (RadioButton2.Checked = true) or (RadioButton3.Checked = true) then begin
  sl.Add('exec Netsettings.cfg');
  sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
end else if (RadioButton2.Checked = true) or (RadioButton3.Checked = true) and (Label16.Caption +'\autoexec.cfg' = 'false') then begin
  sl.LoadFromFile(Label16.Caption +'\autoexec.cfg');
 
  if pos('exec Netsettings.cfg', sl.Text)=0 then begin
    sl.Add('exec Netsettings.cfg');
    sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
  end;
1. Es fehlt ein end; am Ende. Vielleicht hast du es ja nur kopieren vergessen.
2. Die Stringliste solltest du am Ende wieder freigeben: s1.Free;
3. Bei der If-Abfrage kannst du niemals ins else kommen, weil die ersten beiden Terme der Else-Bedingung nur wahr sind, wenn das if schon wahr ist. Der letzte Term kann niemals wahr sein.
Wenn in Label16 nichts steht vergleichst du '\autoexec.cfg' mit 'false'. Ich hab keinen Plan wieso, aber es kann nur falsch sein.

Wenn du mir sagst was du machen willst, sag ich dir wie es geht :mrgreen:

grüße, daniel

Blackeagle 25. Okt 2004 17:19

Re: Cs Skriptpack by Blacky
 
K, also als erstes sollte ich andere Buttons nehmen (habe den weiter / zurück von winXp und Abbrechen von Nero .. :/

Und Cs = CounterStrike.. Es ist halt ein Skriptpack mit install-exe... es erstellt, nachdem man im "wizard" etwas eingegeben hat texte, die zum spielen gut sind...



1. Beim Kopieren vergessen

2. Beim Kopieren vergessen

3. Er soll checken ob der Text autoexec.cfg besteht und wenn ja was da rein schreiben und wenn nicht soll er eine erstellen und nichts rein schreiben... doch wenn das kontrollkästchen aus ist, dann soll er KEINE erstellen weder mit noch ohne schrift drin :)

Und so funktioniert es.

Greetz
Blacky

Blackeagle 25. Okt 2004 18:11

Re: Cs Skriptpack by Blacky
 
K leider muss ich zugeben, dass es jetzt auch nicht mehr so ganz will :(

Blackeagle 25. Okt 2004 18:26

Re: Cs Skriptpack by Blacky
 
Das Problem bei dem Code oben ist, dass er dann nicht "exec Binds.cfg" in die autoexec.cfg addet, sondern eine neues autoexec.cfg erstellt und es da drin addet.. aber somit die alte löscht...

Hier nochmal der Code:

Code:
...
 sl:=TStringList.Create;

    if (Checkbox2.checked = true) then begin
     sl.Add('exec Binds.cfg');
     sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
    end
    else if (Checkbox2.checked = true) and (Label16.Caption +'\autoexec.cfg' = 'false') then begin
     sl.LoadFromFile(Label16.Caption +'\autoexec.cfg');
      if pos('exec Binds.cfg', sl.Text)=0 then begin
       sl.Add('exec Binds.cfg');
       sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
      end;
    end;
 end;
...
Bedanke mich schonmal für eure Bemühungen :)

Sanchez 25. Okt 2004 19:03

Re: Cs Skriptpack by Blacky
 
Wenn du etwas einer Datei anhängen willst, dann musst du die Datei vorher schon laden.
Etwa so:
Delphi-Quellcode:
   s1.LoadfromFile(Label16.Caption + '\autoexec.cfg');
grüße, daniel

Blackeagle 25. Okt 2004 19:17

Re: Cs Skriptpack by Blacky
 
Was jeweils zwischen den 5 x * steht (*****), da bin ich mir alles andere als Sicher, oder weiss es nicht.

Code:
     
 if (Checkbox2.checked = true) and (Label16.Caption +'\autoexec.cfg' = 'false') then begin
  sl.LoadFromFile(Label16.Caption +'\autoexec.cfg');
  sl.Add('exec Binds.cfg');
  sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
   *****if pos('exec Binds.cfg', sl.Text)=0 then begin******
   *****Mache nichts, wenn der Eintrag vorhanden ist.....*****
   end;
 end
 else
  sl.Add('exec Commands2.cfg');
  sl.SaveToFile(Label16.Caption + '\autoexec.cfg');
 end;
Nochmal eine Genauere Beschreibung (da ich keine Ahnung habe ob es oben überhaupt richtig ist...)

ALLES (oben) soll nur funktionieren, wenn die Checkbox2 = true ist... (sonst soll er garkeinen Eintrag erstellen [nichtmal eine leere autoexec.cfg erstellen])

- (falls die Datei vorhanden ist) soll er dann "exec Bins.cfg" in der autoexec.cfg HINZUFÜGEN
- (falls die Datei nicht vorhanden ist) soll er sie erstellen mit den Eintrag
- (falls Der eintrag "exec Binds.cfg" schon in der autoexec.cfg existiert soll er nichts machen.


Wäre nett, wenn du (oder jmd anderes) mir den Code hier posten könnte :)

Blackeagle 25. Okt 2004 21:09

Re: Cs Skriptpack by Blacky
 
K danke jemanden, der mir meine Fehler und die Verbesserungen sehr deutlich gemacht hat (es somit auch verbessert hat) ist die Lösung da... also bitte nicht mehr auf die Postings mit meinen "dummen" Fragen vorher antworten, sondern euch mit den folgenden Problemen/Fragen (die kommen werden) widmen ;)

phXql 25. Okt 2004 21:50

Re: Cs Skriptpack by Blacky
 
hier verdreht anscheinend jemand die begriffe scriptsprache und programmiersprache. nur mal so zur info: HL-Script ist eine Scriptsprache (schon der name beinhaltet das), und delphi eine programmiersprache ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz