Seite 2 von 2

Verfasst: 12.03.2008 13:29
von edel
hardfalcon hat geschrieben:Schau dir mal die letzten Zeilen deines geposteten Codeschnipsels an. Da wird einfach in ne Datei reingeschrieben, die gar nicht geöffnet/erstellt ist, wenn beim SaveFileRequester vom Benutzer abgebrochen wurde.

Kein Wunder dass dein Programm dann abstürzt, das hättest du auch selber rausfinden können, wenn du es mal aus der IDE raus mit dem Debugger gestartest hättest (einfach Code in der IDE laden, nachschaun, ob der Debugger aktiviert ist, und F5 drücken).
Probier das doch mal aus. Da schmiert ueberhaupt nichts ab.

@icecrusher
HeX0R hat sicherlich recht, also ersetz doch mal das letzte endif mit

Code: Alles auswählen

else
  return
endif
Setzt aber vorraus das die Subroutine mit Gosub angesprungen wurde.

Verfasst: 12.03.2008 20:02
von icecrusher
hmm dann bekomme ich folgende fehlermeldung im debugger:

Invalid memory Access

*edit* es funktioniert, einzige problem, es beendet sich immernoch wenn ich die datei gespeichert habe

Verfasst: 12.03.2008 20:13
von Kaeru Gaman
wenn du mal den kompletten code postest, kann man dir evtl auch deinen logigfehler aufzeigen....

Verfasst: 12.03.2008 20:18
von icecrusher
Ok :)

Code: Alles auswählen

;{- Enumerations / DataSections
;{ Windows
Enumeration
  #Window_0
  #Window_about
EndEnumeration
;}
IncludeFile "F:\registry.pbi"
;{ 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
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()
;}
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;}

Procedure OpenWindow_Window_about()
  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()
  If OpenWindow(#Window_0, 15, 248, 875, 567, "Counter-Strike: Source Configurator | Version 1.21 | Coded for CounterStrike.de", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget)
    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, 755, 535, 115, 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!")
      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!")
      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!")
      CheckBoxGadget(#CheckBox_13, 15, 180, 195, 15, "Mausfilter aktivieren")
      GadgetToolTip(#CheckBox_13, "Hierdurch werden die Bewegungen mit der Maus, flüssiger und weicher!")
      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!")
      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!")
      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!")
      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 (Empfohlen: 101)")
      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, dabei wird der Wert 101 Empfohlen!")
      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!")
      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!")
      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, 695, 535, 60, 30, "About")
      Frame3DGadget(#Frame3D_63, 255, 95, 615, 245, "High-FPS Einstellungen, diese einstellungen verändern die Grafik des Spiels um dadurch mehr Performance zu bekommen")
      ButtonGadget(#Button_65, 255, 345, 615, 25, "Ich möchte DirectX 8.0 Benutzen (Verbessert enorm die Performance)")
      ButtonGadget(#Button_66, 255, 380, 615, 25, "Ich möchte DirectX 8.1 Benutzen (Verbessert bei manchen Systemen die Performance)")
      ButtonGadget(#Button_67, 255, 415, 615, 25, "Ich möchte DirectX 9.0 Benutzen (Verbessert die Performance NICHT!)")
      ImageGadget(#Image_68, 325, 450, 472, 64, CatchImage(#Image_Image_68, ?Image_Image_68), #PB_Image_Border)
      GadgetToolTip(#Image_68, "CounterStrike.de Besuchen!")
      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)")
        CheckBoxGadget(#CheckBox_37, 5, 20, 570, 15, "Überlagernde Texturen entfernen (empfohlen)")
        CheckBoxGadget(#CheckBox_38, 5, 35, 400, 15, "Dynamische Lichteffekte deaktivieren (empfohlen)")
        CheckBoxGadget(#CheckBox_39, 5, 50, 475, 15, "Schattierungen deaktivieren (empfohlen)")
        CheckBoxGadget(#CheckBox_40, 5, 65, 510, 15, "Weniger Lichter dem Vertexshader zum berechnen geben (empfohlen)")
        CheckBoxGadget(#CheckBox_41, 5, 80, 570, 15, "Darstellung des Wassers verschlechtern (empfohlen)")
        CheckBoxGadget(#CheckBox_42, 5, 95, 590, 15, "SSE, SSE2, MMX und 3DNow! Einschalten (Wenn eure CPU das unterstützt, werden diese Einstellungen benutzt)")
        ; Materials Einstellungen
        AddGadgetItem(#Panel_35, -1, "Materials Einstellungen")
        CheckBoxGadget(#CheckBox_43, 5, 5, 555, 15, "Das erzwingen der Hardwaresynchronisation deaktivieren (empfohlen)")
        CheckBoxGadget(#CheckBox_44, 5, 20, 555, 15, "Emulation von Tiefeneffekten deaktivieren (z.B. Risse, Fugen oder ähnliches in Wänden etc.) (empfohlen)")
        CheckBoxGadget(#CheckBox_45, 5, 35, 555, 15, "Spekulare beleuchtung deaktivieren (empfohlen)")
        CheckBoxGadget(#CheckBox_46, 5, 50, 550, 15, "Kantenglättung (Anti Aliasing) deaktivieren (empfohlen)")
        CheckBoxGadget(#CheckBox_47, 5, 65, 580, 15, "Lichtfilter deaktivieren (empfohlen)")
        CheckBoxGadget(#CheckBox_48, 5, 80, 585, 15, "Andere Shading Technik zum erhöhen der Performance benutzen (empfohlen)")
        CheckBoxGadget(#CheckBox_49, 5, 95, 560, 15, "Texturen und Shader Füllrate erhöhen (empfohlen)")
        CheckBoxGadget(#CheckBox_50, 5, 110, 560, 15, "Das erzwingen der Anisotropischen Filterung deaktivieren (empfohlen)")
        CheckBoxGadget(#CheckBox_51, 5, 125, 560, 15, "Vertikale Synchronisation (VSync) abschalten (empfohlen)")
        CheckBoxGadget(#CheckBox_52, 5, 140, 560, 15, "Trilineare Filterung benutzen (empfohlen)")
        ; Sonstige Einstellungen
        AddGadgetItem(#Panel_35, -1, "Sonstige Einstellungen")
        CheckBoxGadget(#CheckBox_53, 5, 5, 545, 15, "Grafikqualität etwas weicher machen (empfohlen)")
        CheckBoxGadget(#CheckBox_54, 5, 20, 495, 15, "Erzwingen des vorrausladens einiger dateien beim Verbinden auf einen Server (empfohlen)")
        CheckBoxGadget(#CheckBox_55, 5, 35, 490, 15, "Patronenhülsen deaktivieren")
        CheckBoxGadget(#CheckBox_56, 5, 50, 485, 15, "Deaktivieren von effekten an Seilen wie sie z.B. bei Dust zu sehen sind (empfohlen)")
      CloseGadgetList()
    EndIf
  EndIf
EndProcedure

OpenWindow_Window_0()

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget = #Button_2
      :Gosub make_config
      ElseIf EventGadget = #Button_about_close
      CloseWindow(#Window_about)
      ElseIf EventGadget = #HyperLink_amok
      RunProgram("http://amokcrew.am.ohost.de")
      ElseIf EventGadget = #Image_6
      ElseIf EventGadget = #Button_8
      :Goto close
      close:
      CloseWindow(#Window_0)
      ElseIf EventGadget = #Frame3D_9
      ElseIf EventGadget = #CheckBox_10
      ElseIf EventGadget = #CheckBox_11
      ElseIf EventGadget = #CheckBox_12
      ElseIf EventGadget = #CheckBox_13
      ElseIf EventGadget = #CheckBox_14
      ElseIf EventGadget = #Frame3D_15
      ElseIf EventGadget = #CheckBox_16
      ElseIf EventGadget = #Frame3D_17
      ElseIf EventGadget = #CheckBox_18
      ElseIf EventGadget = #Frame3D_19
      ElseIf EventGadget = #CheckBox_20
      ElseIf EventGadget = #Frame3D_21
      ElseIf EventGadget = #Frame3D_22
      ElseIf EventGadget = #Text_23
      ElseIf EventGadget = #String_24
      ElseIf EventGadget = #Text_25
      ElseIf EventGadget = #String_26
      ElseIf EventGadget = #CheckBox_28
      ElseIf EventGadget = #Text_29
      ElseIf EventGadget = #String_30
      ElseIf EventGadget = #Text_31
      ElseIf EventGadget = #Text_32
      ElseIf EventGadget = #Button_34
      OpenWindow_Window_about()
      ElseIf EventGadget = #Panel_35
      ElseIf EventGadget = #CheckBox_36
      ElseIf EventGadget = #CheckBox_37
      ElseIf EventGadget = #CheckBox_38
      ElseIf EventGadget = #CheckBox_39
      ElseIf EventGadget = #CheckBox_40
      ElseIf EventGadget = #CheckBox_41
      ElseIf EventGadget = #CheckBox_42
      ElseIf EventGadget = #CheckBox_43
      ElseIf EventGadget = #CheckBox_44
      ElseIf EventGadget = #CheckBox_45
      ElseIf EventGadget = #CheckBox_46
      ElseIf EventGadget = #CheckBox_47
      ElseIf EventGadget = #CheckBox_48
      ElseIf EventGadget = #CheckBox_49
      ElseIf EventGadget = #CheckBox_50
      ElseIf EventGadget = #CheckBox_51
      ElseIf EventGadget = #CheckBox_52
      ElseIf EventGadget = #CheckBox_53
      ElseIf EventGadget = #CheckBox_54
      ElseIf EventGadget = #CheckBox_55
      ElseIf EventGadget = #CheckBox_56
      ElseIf EventGadget = #Frame3D_63
      ElseIf EventGadget = #Image_68
      RunProgram("http://www.4players.de/cs.php/index/-/index.html")
      ElseIf EventGadget = #Button_65
      ;DirectX 8.0
      Reg_DeleteValue(#HKEY_CURRENT_USER, "Software\Valve\Source\cstrike\Settings", "DXLevel_v1") 
      Reg_SetValue(#HKEY_CURRENT_USER, "Software\Valve\Source\cstrike\Settings", "DXLevel_v1", Str(00000080), #REG_DWORD)
      MessageRequester("Änderung Erfolgreich!","Sie haben Counter-Strike: Source erfolgreich auf DirectX 8.0 umgestellt",#PB_MessageRequester_Ok)
      ElseIf EventGadget = #Button_66
      ;DirectX 8.1
      Reg_DeleteValue(#HKEY_CURRENT_USER, "Software\Valve\Source\cstrike\Settings", "DXLevel_v1") 
      Reg_SetValue(#HKEY_CURRENT_USER, "Software\Valve\Source\cstrike\Settings", "DXLevel_v1", Str(00000081), #REG_DWORD)
      MessageRequester("Änderung Erfolgreich!","Sie haben Counter-Strike: Source erfolgreich auf DirectX 8.1 umgestellt",#PB_MessageRequester_Ok)
      ElseIf EventGadget = #Button_67
      ;DirectX 9.0
      Reg_DeleteValue(#HKEY_CURRENT_USER, "Software\Valve\Source\cstrike\Settings", "DXLevel_v1") 
      Reg_SetValue(#HKEY_CURRENT_USER, "Software\Valve\Source\cstrike\Settings", "DXLevel_v1", Str(00000090), #REG_DWORD)
      MessageRequester("Änderung Erfolgreich!","Sie haben Counter-Strike: Source erfolgreich auf DirectX 9.0 umgestellt",#PB_MessageRequester_Ok)
      EndIf
    ; ////////////////////////
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        :Goto close
        CloseWindow(#Window_0)
        Break
      EndIf
  EndSelect
ForEver
;

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, "//------------------------------------------------------------------------------------------------------------")
    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, "")
    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, ""))

If GetGadgetState(#CheckBox_10)
   WriteStringN(0,Chr(13)+Chr(10)+ "cl_righthand 0")
   Else
   WriteStringN(0,Chr(13)+Chr(10)+ "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

If GetGadgetState(#Checkbox_18)
    WriteStringN(0, "fps_max 101")
    Else
    WriteStringN(0, "fps_max 60")
EndIf

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

If GetGadgetState(#Checkbox_28)
    WriteStringN(0, "cl_allowdownload 1")
    Else
    WriteStringN(0, "cl_allowdownload 0")
EndIf

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

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

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, "//------------------------------------------------------------------------------------------------------------")
WriteStringN(0, "//End of Config file")
WriteStringN(0, "//------------------------------------------------------------------------------------------------------------")

MessageRequester("Config erfolgreich gespeichert!", "Ihre config wurde im folgendem Verzeichniss gespeichert:"+Chr(10)+File$, 0)
 Return
Else
  Return
EndIf 
;}
End

Verfasst: 12.03.2008 20:36
von STARGÅTE
da fällt mir auf das du die Erstellte Datei garnicht mehr schließt

Code: Alles auswählen

WriteStringN(0, "") 
WriteStringN(0, "") 
WriteStringN(0, "//------------------------------------------------------------------------------------------------------------") 
WriteStringN(0, "//End of Config file") 
WriteStringN(0, "//------------------------------------------------------------------------------------------------------------") 
CloseFile(0) ;<---  Das bitte einbauen !
MessageRequester("Config erfolgreich gespeichert!", "Ihre config wurde im folgendem Verzeichniss gespeichert:"+Chr(10)+File$, 0) 

Verfasst: 12.03.2008 20:54
von HeX0R
Den Logikfehler hatte ich vorhin schon gesehen.
Edel hat sich von der irren Einrückung verwirren lassen, ich dachte aber dass derjenige, der so wahnsinnig einrückt schon weiss, was er da tut und den Fehler daher bestimmt selbst findet.

Scheint aber nicht der Fall zu sein.

[Hint-Edit]
Preisfrage:

Wo endet die If-Anweisung

Code: Alles auswählen

If File$

Verfasst: 12.03.2008 21:00
von STARGÅTE
na hier:

Code: Alles auswählen

 Return 
Else 
  Return 
EndIf 
vondaher sollte er nie das untere END erreichen.

EDIT:
Er sollte noch ein END nach dem ForEver setzten, denn wenn er Break aufruft, geht das Programm ja aus der Schleife raus, macht dann aber trotzdem noch mal den unteren config-Teil, und kommt dann an ein Return, ohne von einem Gosub dort hingeschickt zu worden war.

Verfasst: 12.03.2008 21:03
von HeX0R
Oh Ah ... ich dachte er hat Edels Vorschlag 1:1 übernommen.
Also hat er doch noch nen 2. Return eingesetzt.

Asche auf mein Haupt.

Ich glaube ich bin so langsam xaby-geschädigt und kann keine Beiträge mehr zuende lesen...

Verfasst: 12.03.2008 21:28
von Kaeru Gaman
HeX0R hat geschrieben:Ich glaube ich bin so langsam xaby-geschädigt und kann keine Beiträge mehr zuende lesen...
den nehm ich! :mrgreen:

Verfasst: 12.03.2008 21:47
von icecrusher
Danke für eure hilfe*schwitz* :) es funktioniert alles :D