Programm beendet, Prozess aber noch aktiv ?!

Anfängerfragen zum Programmieren mit PureBasic.
icecrusher
Beiträge: 62
Registriert: 01.03.2008 05:43
Wohnort: Hamm
Kontaktdaten:

Beitrag von icecrusher »

Hmm,

Nur erklärst du mr auch was genau ich da jetzt machen soll?
Schreib ja "leider" nicht umsonst ins Anfänger board hehe.. *grübel*

wie gesagt bei mir funzt eigentlich alles, außer das der Prozess noch vorhanden ist wenn ich aufs close klicke grrr
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Code: Alles auswählen

  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      Select EventGadget
        Case #Button_2
          make_config()
        Case #Button_about_close
          CloseWindow(#Window_about)
        Case #HyperLink_amok
          RunProgram("http://amokcrew.am.ohost.de")
        Case #Image_6
;...
        Case #Button_34
          OpenWindow_Window_about() 
hier mal nen abschnitt, wie du auf cases umstellst.

und dein OpenWindow_Window_about() ist ja schon ne Procedure,
machst du halt auch aus deinem make_config()

und aus meinem vorherigen Beispiel,
EXIT ist eine Varable die du selbständig setzt bei einem deiner beiden Close-Buttons.
die Hauptschleife verläßt du dann als reaktion auf ein aktiviertes EXIT.


> wie gesagt bei mir funzt eigentlich alles, außer das der Prozess noch vorhanden ist wenn ich aufs close klicke grrr

was wie gesagt daran liegt, dass du wild herumgotost....
wie du das direkt ändern kannst, hat die edel ja geschildert.
wenn dir das genügt kannst dus auch so lassen, und beim nächsten proggi gleich mit ner besseren gliederung loslegen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
icecrusher
Beiträge: 62
Registriert: 01.03.2008 05:43
Wohnort: Hamm
Kontaktdaten:

Beitrag von icecrusher »

Quasi immer

Code: Alles auswählen

Case #enum
    commandline
usw....
??

Und wie muss ichs bei make_config machen?

aus make_config: make_config() machen?!

z.B.

Code: Alles auswählen

Procedure make_config() ;Make Config Procedure
StandardFile$ = "autoexec.cfg"
  
  Pattern$ = "Config (*.cfg)|*.cfg"
  Pattern = 0
  File$ = SaveFileRequester("Bitte Pfad zu Steam\SteamApps\DEIN_ACCOUNTNAME\Counter-Strike Source\cstrike\cfg angeben!!", StandardFile$, Pattern$, Pattern)
  
  
  If File$
   CreateFile(0,File$)
    WriteStringN(0, "//Autoexec.cfg generated with icecrushers Counter-Strike Source Configurator")
    WriteStringN(0, "//All Rights Reserved 2008 Copyright by icecrusher")
    WriteStringN(0, "")
    WriteStringN(0, "")
    WriteStringN(0, "//Net Settings//")
    WriteStringN(0,"cl_updaterate "+Chr(34)+StringField(GetGadgetText( #String_24) +Chr(34), k, ""))
    WriteStringN(0,"cl_cmdrate "+Chr(34)+StringField(GetGadgetText( #String_26) +Chr(34), k, ""))
    WriteStringN(0,"rate "+Chr(34)+StringField(GetGadgetText( #String_30) +Chr(34), k, ""))
    WriteStringN(0,"")
    WriteStringN(0,"//Allgemeine Settings//")
If GetGadgetState(#CheckBox_10)
   WriteStringN(0,"cl_righthand 0")
   Else
   WriteStringN(0,"cl_righthand 1")
EndIf
  
If GetGadgetState(#Checkbox_11)
    WriteStringN(0, "net_graph 3")
    WriteStringN(0, "net_graphpos 2")
    Else
    WriteStringN(0, "net_graph 0")
EndIf

If GetGadgetState(#Checkbox_12)
    WriteStringN(0, "hud_fastswitch 1")
    Else
    WriteStringN(0, "hud_fastswitch 0")
EndIf

If GetGadgetState(#Checkbox_13)
    WriteStringN(0, "m_filter 1")
    Else
    WriteStringN(0, "m_filter 0")
EndIf

If GetGadgetState(#Checkbox_14)
    WriteStringN(0, "cl_dynamiccrosshair 0")
    Else
    WriteStringN(0, "cl_dynamiccrosshair 1")
EndIf

If GetGadgetState(#Checkbox_16)
    WriteStringN(0, "bind \ toggleconsole")
    WriteStringN(0, "con_enable 1")
    Else
    WriteStringN(0, "con_enable 0")
EndIf
WriteStringN(0, "")
WriteStringN(0,"//FPS Settings//")

If GetGadgetState(#Checkbox_18)
    WriteStringN(0, "fps_max 101")
    Else
    WriteStringN(0, "fps_max 60")
EndIf
WriteStringN(0, "")
WriteStringN(0, "//Blutpatch//")
If GetGadgetState(#Checkbox_20)
    WriteStringN(0, "violence_hgibs 1")
    WriteStringN(0, "violence_agibs 1")
    WriteStringN(0, "violence_hblood 1")
    WriteStringN(0, "violence_ablood 1")
    Else
    WriteStringN(0, "violence_hgibs 0")
    WriteStringN(0, "violence_agibs 0")
    WriteStringN(0, "violence_hblood 0")
    WriteStringN(0, "violence_ablood 0")
EndIf
WriteStringN(0, "")
WriteStringN(0, "//Download Settings//")
If GetGadgetState(#Checkbox_28)
    WriteStringN(0, "cl_allowdownload 1")
    Else
    WriteStringN(0, "cl_allowdownload 0")
EndIf
WriteStringN(0, "")
WriteStringN(0, "//Render Settings//")
If GetGadgetState(#Checkbox_36)
    WriteStringN(0, "r_3dsky 0")
    Else
    WriteStringN(0, "r_3dsky 1")
EndIf

If GetGadgetState(#Checkbox_37)
    WriteStringN(0, "r_renderoverlayfragment 0")
    Else
    WriteStringN(0, "r_renderoverlayfragment 1")
EndIf

If GetGadgetState(#Checkbox_38)
    WriteStringN(0, "r_dynamic 0")
    Else
    WriteStringN(0, "r_dynamic 1")
EndIf

If GetGadgetState(#Checkbox_39)
    WriteStringN(0, "r_shadows 0")
    Else
    WriteStringN(0, "r_shadows 1")
EndIf

If GetGadgetState(#Checkbox_40)
    WriteStringN(0, "r_worldlights 0.9")
    Else
    WriteStringN(0, "r_worldlights 1")
EndIf

If GetGadgetState(#Checkbox_41)
    WriteStringN(0, "r_cheapwaterend 1")
    WriteStringN(0, "r_cheatwaterstart 1")
    Else
    WriteStringN(0, "r_cheapwaterend 0")
    WriteStringN(0, "r_cheapwaterstart 0")
EndIf

If GetGadgetState(#Checkbox_42)
    WriteStringN(0, "r_mmx 1")
    WriteStringN(0, "r_sse 1")
    WriteStringN(0, "r_sse2 1")
    WriteStringN(0, "r_3dnow 1")
    Else
    WriteStringN(0, "r_mmx 0")
    WriteStringN(0, "r_sse 0")
    WriteStringN(0, "r_sse2 0")
    WriteStringN(0, "r_3dnow 0")
EndIf
WriteStringN(0, "")
WriteStringN(0, "//Material Settings//")
If GetGadgetState(#Checkbox_43)
    WriteStringN(0, "mat_forcehardwaresync 0")
    Else
    WriteStringN(0, "mat_forcehardwaresync 1")
EndIf

If GetGadgetState(#Checkbox_44)
    WriteStringN(0, "mat_bumpmap 0")
    Else
    WriteStringN(0, "mat_bumpmap 1")
EndIf

If GetGadgetState(#Checkbox_45)
    WriteStringN(0, "mat_specular 0")
    Else
    WriteStringN(0, "mat_specular 1")
EndIf

If GetGadgetState(#Checkbox_46)
    WriteStringN(0, "mat_antialias 0")
    Else
    WriteStringN(0, "mat_antialias 1")
EndIf

If GetGadgetState(#Checkbox_47)
    WriteStringN(0, "mat_filterlightmaps 0")
    Else
    WriteStringN(0, "mat_filterlightmaps 1")
EndIf

If GetGadgetState(#Checkbox_48)
    WriteStringN(0, "mat_clipz 1")
    Else
    WriteStringN(0, "mat_clipz 0")
EndIf

If GetGadgetState(#Checkbox_49)
    WriteStringN(0, "mat_reducefillrate 1")
    Else
    WriteStringN(0, "mat_reducefillrate 0")
EndIf

If GetGadgetState(#Checkbox_50)
    WriteStringN(0, "mat_forceaniso 0")
    Else
    WriteStringN(0, "mat_forceaniso 1")
EndIf

If GetGadgetState(#Checkbox_51)
    WriteStringN(0, "mat_vsync 0")
    Else
    WriteStringN(0, "mat_vsync 1")
EndIf

If GetGadgetState(#Checkbox_52)
    WriteStringN(0, "mat_trilinear 1")
    Else
    WriteStringN(0, "mat_trilinear 0")
EndIf

WriteStringN(0, "")
WriteStringN(0, "//Sonstige Settings//")
If GetGadgetState(#Checkbox_53)
    WriteStringN(0, "cl_smooth 1")
    Else
    WriteStringN(0, "cl_smooth 0")
EndIf

If GetGadgetState(#Checkbox_54)
    WriteStringN(0, "cl_forcepreload 1")
    WriteStringN(0, "sv_forcepreload 1")
    Else
    WriteStringN(0, "cl_forcepreload 0")
    WriteStringN(0, "sv_forcepreload 0")
EndIf

If GetGadgetState(#Checkbox_55)
    WriteStringN(0, "cl_ejectbrass 0")
    Else
    WriteStringN(0, "cl_ejectbrass 1")
EndIf
If GetGadgetState(#Checkbox_55)
    WriteStringN(0, "rope_wind_dist 0")
    WriteStringN(0, "rope_smooth 0")
    WriteStringN(0, "rope_subdiv 0")
    Else
    WriteStringN(0, "rope_wind_dist 1")
    WriteStringN(0, "rope_smooth 1")
    WriteStringN(0, "rope_subdiv 1")
EndIf
WriteStringN(0, "")
WriteStringN(0, "")
WriteStringN(0, "//End of Config file")
CloseFile(0)
MessageRequester("Config erfolgreich gespeichert!", "Ihre config wurde im folgendem Verzeichniss gespeichert:"+Chr(10)+File$, 0)
 Return
Else
  Return
EndIf 
EndProcedure
Bin wieder etwas weiter gekommen doch diesmal meldet er beim Speichern der Config

Illegal Instruction. Executing Binary Data?
Zuletzt geändert von icecrusher am 18.03.2008 13:51, insgesamt 2-mal geändert.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Quasi immer

ähm.. du meinst wohl das richtige...
Case #Konstante halt.

mit Select EventGadget prüfst du den Wert deiner Variable EventGadget,
der du das ergebnis der abfrage EventGadget() zugewiesen hast,
also die nummer des Gadgets das ein Event empfangen hat.
(wenn die Variable so heißt wie ne funktion kann das schon ein bissel verwirren, du könntest sie auch EvGt nennen oder Hugo)

mit Case prüfst du dann die Fälle, welche Gadgets betroffen sind und reagierst dementsprechend.

> Und wie muss ichs bei make_config machen?

wie bei OpenWindow_Window_about(), mit Procedure/EndProcedure.
allerdings werden dann die Variablen gekapselt,
wenn du also werte innerhalb deiner subroutine brauchst,
musst du die auch irgendwie übergeben/beschaffen.
auf den ersten blick sieht es aber so aus, als ob du alles direkt aus den gadgets holst,
könnte also einfach so funktionieren.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
icecrusher
Beiträge: 62
Registriert: 01.03.2008 05:43
Wohnort: Hamm
Kontaktdaten:

Beitrag von icecrusher »

Ok :-)

ja er soll ja die werte und angaben nicht zwischenspeichern, sondern erst bei erstellen der Config, also durch das Event des Buttons..

Mal schauen ob ich das so hinbekomme ;)

Also das mit case ist ja cool ^^ kaum platzverschwendung :)

So schauts zzt. mit den Events aus:

Code: Alles auswählen

;{ EVENT SECTION/EVENT LOOP
Repeat
  Event = WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      Select EventGadget
        
        Case #Button_2                                                 ;CONFIG WIRD ERSTELLT
         make_config()
         
        Case #Button_about_close                                       ;ABOUT FENSTER CLOSEN
         CloseWindow(#Window_about)
         
        Case #HyperLink_amok                                           ;ABOUT HYPERLINK
         RunProgram("http://amokcrew.am.ohost.de")
         
        Case #Button_8                                                 ;CONFIGURATOR FENSTER CLOSE
         EXIT = 1
         ;CloseWindow(#Window_0) 
         
        Case #Button_34                                                ;ABOUT FENSTER ÖFFNEN
         OpenWindow_Window_about()
         
        Case #Button_help_close                                        ;HELP FENSTER CLOSE
         CloseWindow(#Window_help)
         
        Case #Button_70                                                ;HELP FENSTER ÖFFNEN
         OpenWindow_Window_help()
         
        Case #Image_Image_68                                           ;CSDE BANNER + HYPERLINK EVENT
         RunProgram("http://www.4players.de/cs.php/index/-/index.html")
         
        Case #Button_65                                                ;DX80 BUTTON
         dx80()
         
        Case #Button_66                                                ;DX81 BUTTON
         dx81()
         
        Case #Button_67                                                ;DX90 BUTTON
         dx90()
    ; ////////////////////////
        Case #PB_Event_CloseWindow
         EventWindow = EventWindow()
          If EventWindow = #Window_0
            EXIT = 1
          EndIf
       EndSelect
     Until EXIT
   CloseWindow(#Window_0)
End

;} EVENT SECTION END
**EDIT**
hmm er sagt mir das make_config() Keine Funktion oder Array seih :/

*EDIT²*

Fehler behoben, habe die Loop als erstes reingeschrieben aber die procedures müssen ja vorhher angesprochen werden oO

" Until EXIT " >> Fehlermeldung: Another End Condition Operand is expected here

Diesmal gehts :-)

Nur ich bekomme einen fehler bei der Prozedur make_config()

Er meldet:
Illegal Instruction. Executing Binary Data?

*edit ^^*

Liegt scheinbar an den Returns oder? bekomme den fehler nicht nur bei make_config -.-

Soweit funktioniert alles ;) außer das Klicken aus kreuz^^

Naja egal, hab die SystemMenu entfernt ;) Close reicht.
icecrusher
Beiträge: 62
Registriert: 01.03.2008 05:43
Wohnort: Hamm
Kontaktdaten:

Beitrag von icecrusher »

Danke für die Hilfe :-)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

icecrusher hat geschrieben:Soweit funktioniert alles ;) außer das Klicken aus kreuz^^
dann poste bitte nochmal Deinen aktuellen Code. Wäre doch gelacht, wenn
das nicht zu lösen wäre. :-)

Grüße ... Kiffi
a²+b²=mc²
icecrusher
Beiträge: 62
Registriert: 01.03.2008 05:43
Wohnort: Hamm
Kontaktdaten:

Beitrag von icecrusher »

Kiffi hat geschrieben:
icecrusher hat geschrieben:Soweit funktioniert alles ;) außer das Klicken aus kreuz^^
dann poste bitte nochmal Deinen aktuellen Code. Wäre doch gelacht, wenn
das nicht zu lösen wäre. :-)

Grüße ... Kiffi

Code: Alles auswählen

;{ WINDOWS
Enumeration
  #Window_0
  #Window_about
  #Window_help
EndEnumeration
;}
;{ FILE INCLUDES
IncludeFile "F:\registry.pbi"
;} END OF FILE INCLUDES
;{ GADGETS
Enumeration
  #Button_about_close
  #Image_about
  #Text_license_about
  #Text_arrr
  #Frame3D_about
  #Image_68
  #mail1
  #mail2
  #icq1
  #icq2
  #HyperLink_amok
  #Frame3D_greetz
  #Text_bueno
  #Text_eagle
  #Text_shark
  #Text_amok
  #Text_about_you
  #Button_2
  #Image_6
  #Button_8
  #Frame3D_9
  #CheckBox_10
  #CheckBox_11
  #CheckBox_12
  #CheckBox_13
  #CheckBox_14
  #Frame3D_15
  #CheckBox_16
  #Frame3D_17
  #CheckBox_18
  #Frame3D_19
  #CheckBox_20
  #Frame3D_21
  #Frame3D_22
  #Text_23
  #String_24
  #Text_25
  #String_26
  #CheckBox_28
  #Text_29
  #String_30
  #Text_31
  #Text_32
  #Button_34
  #Panel_35
  #CheckBox_36
  #CheckBox_37
  #CheckBox_38
  #CheckBox_39
  #CheckBox_40
  #CheckBox_41
  #CheckBox_42
  #CheckBox_43
  #CheckBox_44
  #CheckBox_45
  #CheckBox_46
  #CheckBox_47
  #CheckBox_48
  #CheckBox_49
  #CheckBox_50
  #CheckBox_51
  #CheckBox_52
  #CheckBox_53
  #CheckBox_54
  #CheckBox_55
  #CheckBox_56
  #Frame3D_63
  #Button_65
  #Button_66
  #Button_67
  #Text_69
  #Button_70
  #Button_help_close
  #help_web
EndEnumeration
;}
;{ FONTS
Enumeration
  #Font_Text_69
EndEnumeration
;}
;{ IMAGES
Enumeration
  #Image_Image_6
  #Image_Image_0
  #Image_Image_68
EndEnumeration
;}
;{ INCLUDED IMAGES
DataSection
  Image_Image_0:
  IncludeBinary "F:\CSS Configurator\data\gfx\about.jpg"
  
  Image_Image_6:
  IncludeBinary "F:\CSS Configurator\data\gfx\cfg.jpg"
  
  Image_Image_68:
  IncludeBinary "C:\Dokumente und Einstellungen\Administrator\Desktop\csde.jpg"
EndDataSection
;}
;{ IMAGE PLUGINS
UseJPEGImageDecoder()
;}
;{ DEFINITIONS
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;} END OF DEFINITIONS

Procedure OpenWindow_Window_about()      ;ABOUT FENSTER
  If OpenWindow(#Window_about, 518, 587, 536, 242, "About", #PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#Window_about))
      ImageGadget(#Image_about, -5, -5, 546, 94, CatchImage(#Image_Image_0, ?Image_Image_0), #PB_Image_Border)
      TextGadget(#Text_license_about, 240, 90, 290, 70, "Diese Software wurde von Icecrusher geschrieben, der Code darf nicht für Kommerzielle geschäfte genutzt werden! Icecrusher haftet genausowenig für schaden, als das er diese Software Verkauft. Dies bedeutet, diese Software wird nicht Verkauft, und ist Kostenlos (Freeware).", #PB_Text_Center)
      TextGadget(#Text_arrr, 240, 225, 245, 20, "Copyright by Icecrusher (2008) All Rights Reserved.")
      Frame3DGadget(#Frame3D_about, 5, 90, 230, 145, "Kontaktinformationen")
      TextGadget(#mail1, 10, 110, 35, 15, "eMail:")
      TextGadget(#mail2, 70, 110, 155, 15, "bulletproof.ati@t-online.de")
      TextGadget(#icq1, 10, 130, 40, 14, "ICQ:")
      TextGadget(#icq2, 70, 130, 60, 15, "291085772")
      HyperLinkGadget(#HyperLink_amok, 10, 215, 215, 15, "http://amokcrew.am.ohost.de (Clanpage)", #Blue)
      Frame3DGadget(#Frame3D_greetz, 240, 160, 285, 60, "Greetz")
      TextGadget(#Text_bueno, 245, 175, 40, 15, "bU3No")
      TextGadget(#Text_eagle, 300, 175, 30, 15, "Eagle")
      TextGadget(#Text_shark, 345, 175, 35, 15, "sharK")
      TextGadget(#Text_amok, 390, 175, 120, 15, "All Amok-Crew Members")
      TextGadget(#Text_about_you, 245, 195, 265, 15, "And of course YOU!! :-) Have fun with my Tool")
      ButtonGadget(#Button_about_close, 485, 220, 50, 20, "Close")
    EndIf
  EndIf
EndProcedure
Procedure OpenWindow_Window_0()          ;CONFIGURATOR FENSTER
If OpenWindow(#Window_0, 15, 248, 875, 567, "Counter-Strike: Source Configurator | Version 1.21 | Coded for CounterStrike.de", #PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#Window_0))
            ButtonGadget(#Button_2, 505, 535, 130, 30, "Erstelle Config")
      ImageGadget(#Image_6, -5, -5, 884, 94, CatchImage(#Image_Image_6, ?Image_Image_6), #PB_Image_Border)
      ButtonGadget(#Button_8, 810, 535, 65, 30, "&Close", #PB_Button_Default)
      Frame3DGadget(#Frame3D_9, 5, 95, 245, 130, "Allgemeine Einstellungen")
      CheckBoxGadget(#CheckBox_10, 15, 120, 185, 15, "Waffe in linker Hand tragen")
      GadgetToolTip(#CheckBox_10, "Bei aktivieren dieser Funktion, trägst du die Waffe in der linken Hand anstatt in der rechten! [cl_righthand <wert>]")
      CheckBoxGadget(#CheckBox_11, 15, 140, 170, 15, "Netgraph aktivieren")
      GadgetToolTip(#CheckBox_11, "Diese Option, aktiviert den Netgraph, dieser beinhaltet informationen über deine FPS und deinen Ping, sowie auch diverse Verbindungsinfos! [net_graph <wert> | net_graphpos <wert>]")
      CheckBoxGadget(#CheckBox_12, 15, 160, 200, 15, "Schnellen Waffenwechsel aktivieren")
      GadgetToolTip(#CheckBox_12, "Diese Option, führt bei aktivierung dazu, dass Du bei drücken der für die Waffe bestimmten Taste, die waffe sofort in der Hand hältst, ohne vorher durch klick diese auswahl anzunehmen! [hud_fastswitch <wert>]")
      CheckBoxGadget(#CheckBox_13, 15, 180, 195, 15, "Mausfilter aktivieren")
      GadgetToolTip(#CheckBox_13, "Hierdurch werden die Bewegungen mit der Maus, flüssiger und weicher! [m_filter <wert>]")
      CheckBoxGadget(#CheckBox_14, 15, 200, 210, 15, "Dynamisches Fadenkreuz deaktivieren")
      GadgetToolTip(#CheckBox_14, "Diese Option, sofern ausgewählt, deaktivier das auseinandergehen des Fadenkreuzes während einer Bewegung! [cl_dynamiccrosshair <wert>]")
      Frame3DGadget(#Frame3D_15, 5, 235, 245, 45, "Konsolen Fix")
      CheckBoxGadget(#CheckBox_16, 15, 255, 225, 15, "Konsole aktivieren")
      GadgetToolTip(#CheckBox_16, "Diese Option, aktiviert die Konsole, diese kannst du dann über die taste ^ aufrufen, während du spielst! [con_enable <wert>]")
      Frame3DGadget(#Frame3D_17, 5, 290, 245, 45, "FPS erhöhen")
      CheckBoxGadget(#CheckBox_18, 15, 310, 215, 15, "Maximale FPS auf 101 Setzen")
      GadgetToolTip(#CheckBox_18, "diese Option, erhöht die Maximale anzeige der Bilder in einer Sekunde auf 101, das Menschliche Auge, kann nur bis zu 100 Bilder pro Sekunde wahrnehmen, deswegen sind höhere Werte unnütz! [fps_max <wert>]")
      Frame3DGadget(#Frame3D_19, 5, 345, 245, 45, "Blutpatch")
      CheckBoxGadget(#CheckBox_20, 15, 365, 210, 15, "Blutpatch benutzen")
      GadgetToolTip(#CheckBox_20, "Dies Option, Aktiviert den Blutpatch (Nur nötig, wenn Counter-Strike und Steam auf Deutsch eingestellt sind)")
      Frame3DGadget(#Frame3D_21, -5, 525, 900, 80, "")
      Frame3DGadget(#Frame3D_22, 5, 405, 245, 115, "Netzwerk Einstellungen")
      TextGadget(#Text_23, 15, 425, 100, 15, "Updaterate:")
      StringGadget(#String_24, 120, 420, 120, 20, "101")
      GadgetToolTip(#String_24, "Diese Option, bestimmt die Aktualisierungsrate, die beim spielen benutzt wird [cl_updaterate <wert>]")
      TextGadget(#Text_25, 15, 450, 100, 15, "Befehlsrate:")
      StringGadget(#String_26, 120, 445, 120, 20, "101")
      GadgetToolTip(#String_26, "Laut informationen zufolge, soll diese Option dafür sorgen, dass Schüsse Besser ankommen [cl_cmdrate <wert>]")
      CheckBoxGadget(#CheckBox_28, 15, 495, 230, 15, "Download von (Maps, Sounds etc.) Erlauben")
      GadgetToolTip(#CheckBox_28, "Diese Option, wenn aktiviert, erlaubt dem Spiel, fehlende Dateien wie Maps, Sounds oder ähnliches herunterzuladen! [cl_allowdownload <wert>]")
      TextGadget(#Text_29, 15, 475, 100, 15, "Rate:")
      StringGadget(#String_30, 120, 470, 120, 20, "30000")
      GadgetToolTip(#String_30, "Gibt die maximale Anzahl Daten in Byte an, die an den Server gesendet und die selber empfangen werden können! [rate <wert>]")
      TextGadget(#Text_31, 0, 550, 500, 15, "This Program is coded and Copyrighted by icecrusher!", #PB_Text_Center)
      TextGadget(#Text_32, 5, 535, 495, 15, "Informationen zu den Befehlen, findest du indem du mit der Maus darüber fährst!", #PB_Text_Center)
      ButtonGadget(#Button_34, 745, 535, 60, 30, "About")
      Frame3DGadget(#Frame3D_63, 255, 95, 615, 225, "High-FPS Einstellungen, diese einstellungen verändern die Grafik des Spiels um dadurch mehr Performance zu bekommen")
      ButtonGadget(#Button_65, 255, 325, 615, 25, "Ich möchte DirectX 8.0 Benutzen (Verbessert enorm die Performance) *")
      ButtonGadget(#Button_66, 255, 350, 615, 25, "Ich möchte DirectX 8.1 Benutzen (Verbessert bei manchen Systemen die Performance) *")
      ButtonGadget(#Button_67, 255, 375, 615, 25, "Ich möchte DirectX 9.0 Benutzen (Verbessert die Performance NICHT!) *")
      ImageGadget(#Image_Image_68, 325, 445, 472, 64, CatchImage(#Image_Image_68, ?Image_Image_68), #PB_Image_Border)
      GadgetToolTip(#Image_Image_68, "CounterStrike.de besuchen!")
      TextGadget(#Text_69, 355, 400, 415, 40, "* WARNUNG!! Änderungen in der Registry könnten ihr System schädigen. Das ändern des DirectX Levels, geschieht auf eigene Gefahr!", #PB_Text_Center)
      ButtonGadget(#Button_70, 635, 535, 25, 30, "?")
      GadgetToolTip(#Button_70, "Was macht Erstelle Config, und wie muss ich damit umgehen? Was bedeuten die ganzen Befehle hinter den Info Tooltips?")
      PanelGadget(#Panel_35, 260, 125, 605, 185)
        ; Render Einstellungen
        AddGadgetItem(#Panel_35, -1, "Render Einstellungen")
        CheckBoxGadget(#CheckBox_36, 5, 5, 590, 15, "3D Rendern des Himmels abschalten (empfohlen)")
        GadgetToolTip(#CheckBox_36, "[r_3dsky <wert>]")
        CheckBoxGadget(#CheckBox_37, 5, 20, 570, 15, "Überlagernde Texturen entfernen (empfohlen)")
        GadgetToolTip(#CheckBox_37, "[r_renderoverlayfragment <wert>]")
        CheckBoxGadget(#CheckBox_38, 5, 35, 400, 15, "Dynamische Lichteffekte deaktivieren (empfohlen)")
        GadgetToolTip(#CheckBox_38, "[r_dynamic <wert>]")
        CheckBoxGadget(#CheckBox_39, 5, 50, 475, 15, "Schattierungen deaktivieren (empfohlen)")
        GadgetToolTip(#CheckBox_39, "[r_shadows <wert>]")
        CheckBoxGadget(#CheckBox_40, 5, 65, 510, 15, "Weniger Lichter dem Vertexshader zum berechnen geben (empfohlen)")
        GadgetToolTip(#CheckBox_40, "[r_worldlights <wert>]")
        CheckBoxGadget(#CheckBox_41, 5, 80, 570, 15, "Darstellung des Wassers verschlechtern (empfohlen)")
        GadgetToolTip(#CheckBox_41, "[r_cheapwaterend <wert> | r_cheapwaterstart <wert>]")
        CheckBoxGadget(#CheckBox_42, 5, 95, 590, 15, "SSE, SSE2, MMX und 3DNow! Einschalten (Wenn eure CPU das unterstützt, werden diese Einstellungen benutzt)")
        GadgetToolTip(#CheckBox_42, "[r_mmx <wert> | r_sse <wert> | r_sse2 <wert> | r_3dnow <wert>]")
        ; Materials Einstellungen
        AddGadgetItem(#Panel_35, -1, "Materials Einstellungen")
        CheckBoxGadget(#CheckBox_43, 5, 5, 555, 15, "Das erzwingen der Hardwaresynchronisation deaktivieren (empfohlen)")
        GadgetToolTip(#CheckBox_43, "[mat_forcehardwaresync <wert>]")
        CheckBoxGadget(#CheckBox_44, 5, 20, 555, 15, "Emulation von Tiefeneffekten deaktivieren (z.B. Risse, Fugen oder ähnliches in Wänden etc.) (empfohlen)")
        GadgetToolTip(#CheckBox_44, "[mat_bumpmap <wert>]")
        CheckBoxGadget(#CheckBox_45, 5, 35, 555, 15, "Spekulare beleuchtung deaktivieren (empfohlen)")
        GadgetToolTip(#CheckBox_45, "[mat_specular <wert>]")
        CheckBoxGadget(#CheckBox_46, 5, 50, 550, 15, "Kantenglättung (Anti Aliasing) deaktivieren (empfohlen)")
        GadgetToolTip(#CheckBox_46, "[mat_antialias <wert>]")
        CheckBoxGadget(#CheckBox_47, 5, 65, 580, 15, "Lichtfilter deaktivieren (empfohlen)")
        GadgetToolTip(#CheckBox_47, "[mat_filterlightmaps <wert>]")
        CheckBoxGadget(#CheckBox_48, 5, 80, 585, 15, "Andere Shading Technik zum erhöhen der Performance benutzen (empfohlen)")
        GadgetToolTip(#CheckBox_48, "[mat_clipz <wert>]")
        CheckBoxGadget(#CheckBox_49, 5, 95, 560, 15, "Texturen und Shader Füllrate reduzieren (empfohlen)")
        GadgetToolTip(#CheckBox_49, "[mat_reducefillrate <wert>]")
        CheckBoxGadget(#CheckBox_50, 5, 110, 560, 15, "Das erzwingen der Anisotropischen Filterung deaktivieren (empfohlen)")
        GadgetToolTip(#CheckBox_50, "[mat_forceaniso <wert>]")
        CheckBoxGadget(#CheckBox_51, 5, 125, 560, 15, "Vertikale Synchronisation (VSync) abschalten (empfohlen)")
        GadgetToolTip(#CheckBox_51, "[mat_vsync <wert>]")
        CheckBoxGadget(#CheckBox_52, 5, 140, 560, 15, "Trilineare Filterung benutzen (empfohlen)")
        GadgetToolTip(#CheckBox_52, "[mat_trilinear <wert>]")
        ; Sonstige Einstellungen
        AddGadgetItem(#Panel_35, -1, "Sonstige Einstellungen")
        CheckBoxGadget(#CheckBox_53, 5, 5, 545, 15, "Grafikqualität etwas weicher machen (empfohlen)")
        GadgetToolTip(#CheckBox_53, "[cl_smooth <wert>]")
        CheckBoxGadget(#CheckBox_54, 5, 20, 495, 15, "Erzwingen des vorrausladens einiger dateien beim Verbinden auf einen Server (empfohlen)")
        GadgetToolTip(#CheckBox_54, "[cl_forcepreload <wert>]")
        CheckBoxGadget(#CheckBox_55, 5, 35, 490, 15, "Patronenhülsen deaktivieren")
        GadgetToolTip(#CheckBox_55, "[cl_ejectbrass <wert>]")
        CheckBoxGadget(#CheckBox_56, 5, 50, 485, 15, "Deaktivieren von effekten an Seilen wie sie z.B. bei Dust zu sehen sind (empfohlen)")
        GadgetToolTip(#CheckBox_56, "[rope_wind_dist <wert> | rope_smooth <wert> | rope_subdiv <wert>]")
      CloseGadgetList()
      ; Gadget Fonts
      SetGadgetFont(#Text_69, LoadFont(#Font_Text_69, "Microsoft Sans Serif", 8, 272))
    EndIf
  EndIf
EndProcedure
OpenWindow_Window_0()
Procedure OpenWindow_Window_help()       ;HELP WINDOW
  If OpenWindow(#Window_help, 356, 59, 872, 714, "Counter-Strike: Source Configurator Help", #PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#Window_help))
      ButtonGadget(#Button_help_close, 785, 685, 85, 25, "Close", #PB_Button_Default)
      WebGadget(#help_web, 0, 0, 872, 682, "http://amokcrew.am.ohost.de/cfg/help.html")
    EndIf
  EndIf
EndProcedure
Procedure make_config()                  ;MAKE_CONFIG
StandardFile$ = "autoexec.cfg"
  
  Pattern$ = "Config (*.cfg)|*.cfg"
  Pattern = 0
  File$ = SaveFileRequester("Bitte Pfad zu Steam\SteamApps\DEIN_ACCOUNTNAME\Counter-Strike Source\cstrike\cfg angeben!!", StandardFile$, Pattern$, Pattern)
  
  
  If File$
   CreateFile(0,File$)
    WriteStringN(0, "//Autoexec.cfg generated with icecrushers Counter-Strike Source Configurator")
    WriteStringN(0, "//All Rights Reserved 2008 Copyright by icecrusher")
    WriteStringN(0, "")
    WriteStringN(0, "")
    WriteStringN(0, "//Net Settings//")
    WriteStringN(0,"cl_updaterate "+Chr(34)+StringField(GetGadgetText( #String_24) +Chr(34), k, ""))
    WriteStringN(0,"cl_cmdrate "+Chr(34)+StringField(GetGadgetText( #String_26) +Chr(34), k, ""))
    WriteStringN(0,"rate "+Chr(34)+StringField(GetGadgetText( #String_30) +Chr(34), k, ""))
    WriteStringN(0,"")
    WriteStringN(0,"//Allgemeine Settings//")
If GetGadgetState(#CheckBox_10)
   WriteStringN(0,"cl_righthand 0")
   Else
   WriteStringN(0,"cl_righthand 1")
EndIf
  
If GetGadgetState(#Checkbox_11)
    WriteStringN(0, "net_graph 3")
    WriteStringN(0, "net_graphpos 2")
    Else
    WriteStringN(0, "net_graph 0")
EndIf

If GetGadgetState(#Checkbox_12)
    WriteStringN(0, "hud_fastswitch 1")
    Else
    WriteStringN(0, "hud_fastswitch 0")
EndIf

If GetGadgetState(#Checkbox_13)
    WriteStringN(0, "m_filter 1")
    Else
    WriteStringN(0, "m_filter 0")
EndIf

If GetGadgetState(#Checkbox_14)
    WriteStringN(0, "cl_dynamiccrosshair 0")
    Else
    WriteStringN(0, "cl_dynamiccrosshair 1")
EndIf

If GetGadgetState(#Checkbox_16)
    WriteStringN(0, "bind \ toggleconsole")
    WriteStringN(0, "con_enable 1")
    Else
    WriteStringN(0, "con_enable 0")
EndIf
WriteStringN(0, "")
WriteStringN(0,"//FPS Settings//")

If GetGadgetState(#Checkbox_18)
    WriteStringN(0, "fps_max 101")
    Else
    WriteStringN(0, "fps_max 60")
EndIf
WriteStringN(0, "")
WriteStringN(0, "//Blutpatch//")
If GetGadgetState(#Checkbox_20)
    WriteStringN(0, "violence_hgibs 1")
    WriteStringN(0, "violence_agibs 1")
    WriteStringN(0, "violence_hblood 1")
    WriteStringN(0, "violence_ablood 1")
    Else
    WriteStringN(0, "violence_hgibs 0")
    WriteStringN(0, "violence_agibs 0")
    WriteStringN(0, "violence_hblood 0")
    WriteStringN(0, "violence_ablood 0")
EndIf
WriteStringN(0, "")
WriteStringN(0, "//Download Settings//")
If GetGadgetState(#Checkbox_28)
    WriteStringN(0, "cl_allowdownload 1")
    Else
    WriteStringN(0, "cl_allowdownload 0")
EndIf
WriteStringN(0, "")
WriteStringN(0, "//Render Settings//")
If GetGadgetState(#Checkbox_36)
    WriteStringN(0, "r_3dsky 0")
    Else
    WriteStringN(0, "r_3dsky 1")
EndIf

If GetGadgetState(#Checkbox_37)
    WriteStringN(0, "r_renderoverlayfragment 0")
    Else
    WriteStringN(0, "r_renderoverlayfragment 1")
EndIf

If GetGadgetState(#Checkbox_38)
    WriteStringN(0, "r_dynamic 0")
    Else
    WriteStringN(0, "r_dynamic 1")
EndIf

If GetGadgetState(#Checkbox_39)
    WriteStringN(0, "r_shadows 0")
    Else
    WriteStringN(0, "r_shadows 1")
EndIf

If GetGadgetState(#Checkbox_40)
    WriteStringN(0, "r_worldlights 0.9")
    Else
    WriteStringN(0, "r_worldlights 1")
EndIf

If GetGadgetState(#Checkbox_41)
    WriteStringN(0, "r_cheapwaterend 1")
    WriteStringN(0, "r_cheatwaterstart 1")
    Else
    WriteStringN(0, "r_cheapwaterend 0")
    WriteStringN(0, "r_cheapwaterstart 0")
EndIf

If GetGadgetState(#Checkbox_42)
    WriteStringN(0, "r_mmx 1")
    WriteStringN(0, "r_sse 1")
    WriteStringN(0, "r_sse2 1")
    WriteStringN(0, "r_3dnow 1")
    Else
    WriteStringN(0, "r_mmx 0")
    WriteStringN(0, "r_sse 0")
    WriteStringN(0, "r_sse2 0")
    WriteStringN(0, "r_3dnow 0")
EndIf
WriteStringN(0, "")
WriteStringN(0, "//Material Settings//")
If GetGadgetState(#Checkbox_43)
    WriteStringN(0, "mat_forcehardwaresync 0")
    Else
    WriteStringN(0, "mat_forcehardwaresync 1")
EndIf

If GetGadgetState(#Checkbox_44)
    WriteStringN(0, "mat_bumpmap 0")
    Else
    WriteStringN(0, "mat_bumpmap 1")
EndIf

If GetGadgetState(#Checkbox_45)
    WriteStringN(0, "mat_specular 0")
    Else
    WriteStringN(0, "mat_specular 1")
EndIf

If GetGadgetState(#Checkbox_46)
    WriteStringN(0, "mat_antialias 0")
    Else
    WriteStringN(0, "mat_antialias 1")
EndIf

If GetGadgetState(#Checkbox_47)
    WriteStringN(0, "mat_filterlightmaps 0")
    Else
    WriteStringN(0, "mat_filterlightmaps 1")
EndIf

If GetGadgetState(#Checkbox_48)
    WriteStringN(0, "mat_clipz 1")
    Else
    WriteStringN(0, "mat_clipz 0")
EndIf

If GetGadgetState(#Checkbox_49)
    WriteStringN(0, "mat_reducefillrate 1")
    Else
    WriteStringN(0, "mat_reducefillrate 0")
EndIf

If GetGadgetState(#Checkbox_50)
    WriteStringN(0, "mat_forceaniso 0")
    Else
    WriteStringN(0, "mat_forceaniso 1")
EndIf

If GetGadgetState(#Checkbox_51)
    WriteStringN(0, "mat_vsync 0")
    Else
    WriteStringN(0, "mat_vsync 1")
EndIf

If GetGadgetState(#Checkbox_52)
    WriteStringN(0, "mat_trilinear 1")
    Else
    WriteStringN(0, "mat_trilinear 0")
EndIf

WriteStringN(0, "")
WriteStringN(0, "//Sonstige Settings//")
If GetGadgetState(#Checkbox_53)
    WriteStringN(0, "cl_smooth 1")
    Else
    WriteStringN(0, "cl_smooth 0")
EndIf

If GetGadgetState(#Checkbox_54)
    WriteStringN(0, "cl_forcepreload 1")
    WriteStringN(0, "sv_forcepreload 1")
    Else
    WriteStringN(0, "cl_forcepreload 0")
    WriteStringN(0, "sv_forcepreload 0")
EndIf

If GetGadgetState(#Checkbox_55)
    WriteStringN(0, "cl_ejectbrass 0")
    Else
    WriteStringN(0, "cl_ejectbrass 1")
EndIf
If GetGadgetState(#Checkbox_55)
    WriteStringN(0, "rope_wind_dist 0")
    WriteStringN(0, "rope_smooth 0")
    WriteStringN(0, "rope_subdiv 0")
    Else
    WriteStringN(0, "rope_wind_dist 1")
    WriteStringN(0, "rope_smooth 1")
    WriteStringN(0, "rope_subdiv 1")
EndIf
WriteStringN(0, "")
WriteStringN(0, "")
WriteStringN(0, "//End of Config file")
CloseFile(0)
MessageRequester("Config erfolgreich gespeichert!", "Ihre config wurde im folgendem Verzeichniss gespeichert:"+Chr(10)+File$, 0)

Else
 EndIf
EndProcedure
Procedure dx80()                         ;DIRECTX 8.0 WIRD VERWENDET (REGISTRY WERT GEÄNDERT)
Result = MessageRequester("Warnung!", "Durch das ändern der Registry, kann ihr System beschädigt werde. öchten sie trotzdem fortfahren?", #PB_MessageRequester_YesNo)

dxmsg$ = "Änderung wurde "
;MessageRequester("Warnung!","Durch das ändern der Registry, kann ihr System beschädigt werden. Möchten sie mit der änderung fortfahren?",#PB_MessageRequester_YesNo)
If Result = #PB_MessageRequester_Yes
Reg_SetValue(#HKEY_CURRENT_USER, "Software\Valve\Source\cstrike\Settings", "DXLevel_v1", Str(00000080), #REG_DWORD)
dxmsg$ + "durchgeführt!"
Else
dxmsg$ + "abgebrochen!"
EndIf
MessageRequester("Information!", dxmsg$, #PB_MessageRequester_Ok)

EndProcedure
Procedure dx81()                         ;DIRECTX 8.1 WIRD VERWENDET (REGISTRY WERT GEÄNDERT)
Result = MessageRequester("Warnung!", "Durch das ändern der Registry, kann ihr System beschädigt werde. öchten sie trotzdem fortfahren?", #PB_MessageRequester_YesNo)

dxmsg$ = "Änderung wurde "
;MessageRequester("Warnung!","Durch das ändern der Registry, kann ihr System beschädigt werden. Möchten sie mit der änderung fortfahren?",#PB_MessageRequester_YesNo)
If Result = #PB_MessageRequester_Yes
Reg_SetValue(#HKEY_CURRENT_USER, "Software\Valve\Source\cstrike\Settings", "DXLevel_v1", Str(00000081), #REG_DWORD)
dxmsg$ + "durchgeführt!"
Else
dxmsg$ + "abgebrochen!"
EndIf
MessageRequester("Information!", dxmsg$, #PB_MessageRequester_Ok)

EndProcedure
Procedure dx90()                         ;DIRECTX 9.0 WIRD VERWENDET (REGISTRY WERT GEÄNDERT)
Result = MessageRequester("Warnung!", "Durch das ändern der Registry, kann ihr System beschädigt werde. öchten sie trotzdem fortfahren?", #PB_MessageRequester_YesNo)

dxmsg$ = "Änderung wurde "
;MessageRequester("Warnung!","Durch das ändern der Registry, kann ihr System beschädigt werden. Möchten sie mit der änderung fortfahren?",#PB_MessageRequester_YesNo)
If Result = #PB_MessageRequester_Yes
Reg_SetValue(#HKEY_CURRENT_USER, "Software\Valve\Source\cstrike\Settings", "DXLevel_v1", Str(00000090), #REG_DWORD)
dxmsg$ + "durchgeführt!"
Else
dxmsg$ + "abgebrochen!"
EndIf
MessageRequester("Information!", dxmsg$, #PB_MessageRequester_Ok)

EndProcedure
Procedure check_for_update()             ;UPDATECHECK
;Kommt Noch!!
EndProcedure
;{ EVENT SECTION/EVENT LOOP
Repeat
  Event = WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      Select EventGadget
        
        Case #Button_2                                                 ;CONFIG WIRD ERSTELLT
         make_config()
         
        Case #Button_about_close                                       ;ABOUT FENSTER CLOSEN
         CloseWindow(#Window_about)
         
        Case #HyperLink_amok                                           ;ABOUT HYPERLINK
         RunProgram("http://amokcrew.am.ohost.de")
         
        Case #Button_8                                                 ;CONFIGURATOR FENSTER CLOSE
         EXIT = 1
         ;CloseWindow(#Window_0) 
         
        Case #Button_34                                                ;ABOUT FENSTER ÖFFNEN
         OpenWindow_Window_about()
         
        Case #Button_help_close                                        ;HELP FENSTER CLOSE
         CloseWindow(#Window_help)
         
        Case #Button_70                                                ;HELP FENSTER ÖFFNEN
         OpenWindow_Window_help()
         
        Case #Image_Image_68                                           ;CSDE BANNER + HYPERLINK EVENT
         RunProgram("http://www.4players.de/cs.php/index/-/index.html")
         
        Case #Button_65                                                ;DX80 BUTTON
         dx80()
         
        Case #Button_66                                                ;DX81 BUTTON
         dx81()
         
        Case #Button_67                                                ;DX90 BUTTON
         dx90()
    ; ////////////////////////
        Case #PB_Event_CloseWindow
         EventWindow = EventWindow()
          If EventWindow = #Window_0
            EXIT = 1
          EndIf
        EndSelect
       EndSelect
     Until EXIT
   CloseWindow(#Window_0)
  End
;} EVENT SECTION ENDE
:)

Jetzt will ich nurnoch schauen ob ich einen updater fürs tool basteln kann :/

Da fällt mir grad ein, am ende der Event Loop musste 2x EndSelect hin, mir wurde aber der Code nur mit einem gegeben.. komisch^^
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Da fällt mir grad ein, am ende der Event Loop musste 2x EndSelect hin,
> mir wurde aber der Code nur mit einem gegeben.. komisch^^

ja, das hab ich zum selberdenken gelassen.... ;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
icecrusher
Beiträge: 62
Registriert: 01.03.2008 05:43
Wohnort: Hamm
Kontaktdaten:

Beitrag von icecrusher »

Kaeru Gaman hat geschrieben:> Da fällt mir grad ein, am ende der Event Loop musste 2x EndSelect hin,
> mir wurde aber der Code nur mit einem gegeben.. komisch^^

ja, das hab ich zum selberdenken gelassen.... ;)
Dan bin ich ja garnichtmal so dumm wie ich dachte :roll: :roll:
Antworten