home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / CODE_UPLOAD89628142000.psc / frmMain.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  2000-08-14  |  50.4 KB  |  1,842 lines

  1. VERSION 5.00
  2. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
  3. Begin VB.Form frmMain 
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "Diablo II Enabler By Pause Break - [ No File Opened ]"
  6.    ClientHeight    =   5025
  7.    ClientLeft      =   2355
  8.    ClientTop       =   2265
  9.    ClientWidth     =   7605
  10.    ForeColor       =   &H80000004&
  11.    Icon            =   "frmMain.frx":0000
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   5025
  16.    ScaleWidth      =   7605
  17.    StartUpPosition =   2  'CenterScreen
  18.    Begin VB.CommandButton cmdEnableMovies 
  19.       Caption         =   "Enable &Cinematics"
  20.       Height          =   495
  21.       Left            =   5640
  22.       TabIndex        =   30
  23.       Top             =   1320
  24.       Width           =   1815
  25.    End
  26.    Begin VB.Frame Frame1 
  27.       Caption         =   "Play Level"
  28.       Height          =   615
  29.       Left            =   120
  30.       TabIndex        =   26
  31.       Top             =   120
  32.       Width           =   5355
  33.       Begin VB.CheckBox chkNormal 
  34.          Caption         =   "Normal"
  35.          Enabled         =   0   'False
  36.          Height          =   200
  37.          Left            =   240
  38.          TabIndex        =   29
  39.          Top             =   240
  40.          Value           =   1  'Checked
  41.          Width           =   1485
  42.       End
  43.       Begin VB.CheckBox chkHell 
  44.          Caption         =   "Hell"
  45.          Height          =   200
  46.          Left            =   3720
  47.          TabIndex        =   28
  48.          Top             =   240
  49.          Width           =   1485
  50.       End
  51.       Begin VB.CheckBox chkNightmare 
  52.          Caption         =   "Nightmare"
  53.          Height          =   200
  54.          Left            =   1920
  55.          TabIndex        =   27
  56.          Top             =   240
  57.          Width           =   1485
  58.       End
  59.    End
  60.    Begin VB.CommandButton cmdClose 
  61.       Caption         =   "&Close File"
  62.       Height          =   495
  63.       Left            =   5640
  64.       TabIndex        =   25
  65.       Top             =   3120
  66.       Width           =   1815
  67.    End
  68.    Begin VB.CheckBox chkEnableActI 
  69.       Caption         =   "Enable Act I"
  70.       Enabled         =   0   'False
  71.       Height          =   255
  72.       Left            =   240
  73.       TabIndex        =   22
  74.       Top             =   1080
  75.       Value           =   1  'Checked
  76.       Width           =   2000
  77.    End
  78.    Begin VB.CheckBox chkEnableActIII 
  79.       Caption         =   "Enable Act III"
  80.       Height          =   255
  81.       Left            =   240
  82.       TabIndex        =   20
  83.       Top             =   3120
  84.       Width           =   2000
  85.    End
  86.    Begin VB.CommandButton cmdExit 
  87.       Caption         =   "E&xit"
  88.       Height          =   495
  89.       Left            =   5640
  90.       TabIndex        =   18
  91.       Top             =   4320
  92.       Width           =   1815
  93.    End
  94.    Begin VB.CommandButton cmdAbout 
  95.       Caption         =   "&About"
  96.       Height          =   495
  97.       Left            =   5640
  98.       TabIndex        =   17
  99.       Top             =   3720
  100.       Width           =   1815
  101.    End
  102.    Begin VB.CommandButton cmdSave 
  103.       Caption         =   "S&ave File"
  104.       Height          =   495
  105.       Left            =   5640
  106.       TabIndex        =   16
  107.       Top             =   2520
  108.       Width           =   1815
  109.    End
  110.    Begin VB.CommandButton cmdOpen 
  111.       Caption         =   "&Open File"
  112.       Height          =   495
  113.       Left            =   5640
  114.       TabIndex        =   15
  115.       Top             =   1920
  116.       Width           =   1815
  117.    End
  118.    Begin VB.Frame fraActIV 
  119.       Caption         =   "Act IV"
  120.       Height          =   1695
  121.       Left            =   2880
  122.       TabIndex        =   11
  123.       Top             =   2880
  124.       Width           =   2600
  125.       Begin VB.CheckBox chkEnableAll 
  126.          Caption         =   "Enable All Acts"
  127.          Height          =   255
  128.          Left            =   120
  129.          TabIndex        =   19
  130.          Top             =   240
  131.          Width           =   2000
  132.       End
  133.       Begin VB.CheckBox chkActIVWaypoints 
  134.          Caption         =   "Enable Waypoints"
  135.          Height          =   255
  136.          Left            =   120
  137.          TabIndex        =   14
  138.          Top             =   600
  139.          Width           =   2000
  140.       End
  141.       Begin VB.CheckBox chkActIVEnableQuests 
  142.          Caption         =   "Enable Quests"
  143.          Height          =   255
  144.          Left            =   120
  145.          TabIndex        =   13
  146.          Top             =   960
  147.          Width           =   2000
  148.       End
  149.       Begin VB.CheckBox chkActIVCompleteQuests 
  150.          Caption         =   "Complete Quests"
  151.          Height          =   255
  152.          Left            =   120
  153.          TabIndex        =   12
  154.          Top             =   1320
  155.          Width           =   2000
  156.       End
  157.    End
  158.    Begin VB.Frame fraActII 
  159.       Caption         =   "Act II"
  160.       Height          =   1695
  161.       Left            =   2880
  162.       TabIndex        =   8
  163.       Top             =   960
  164.       Width           =   2600
  165.       Begin VB.CheckBox chkActIIWaypoints 
  166.          Caption         =   "Enable Waypoints"
  167.          Height          =   255
  168.          Left            =   120
  169.          TabIndex        =   24
  170.          Top             =   600
  171.          Width           =   2000
  172.       End
  173.       Begin VB.CheckBox chkEnableActII 
  174.          Caption         =   "Enable Act II"
  175.          Height          =   255
  176.          Left            =   120
  177.          TabIndex        =   21
  178.          Top             =   240
  179.          Width           =   2000
  180.       End
  181.       Begin VB.CheckBox chkActIIEnableQuests 
  182.          Caption         =   "Enable Quests"
  183.          Height          =   255
  184.          Left            =   120
  185.          TabIndex        =   10
  186.          Top             =   960
  187.          Width           =   2000
  188.       End
  189.       Begin VB.CheckBox chkActIICompleteQuests 
  190.          Caption         =   "Complete Quests"
  191.          Height          =   255
  192.          Left            =   120
  193.          TabIndex        =   9
  194.          Top             =   1320
  195.          Width           =   2000
  196.       End
  197.    End
  198.    Begin VB.Frame fraActIII 
  199.       Caption         =   "Act III"
  200.       Height          =   1695
  201.       Left            =   120
  202.       TabIndex        =   4
  203.       Top             =   2880
  204.       Width           =   2600
  205.       Begin VB.CheckBox chkActIIICompleteQuests 
  206.          Caption         =   "Complete Quests"
  207.          Height          =   255
  208.          Left            =   120
  209.          TabIndex        =   7
  210.          Top             =   1320
  211.          Width           =   2000
  212.       End
  213.       Begin VB.CheckBox chkActIIIEnableQuests 
  214.          Caption         =   "Enable Quests"
  215.          Height          =   255
  216.          Left            =   120
  217.          TabIndex        =   6
  218.          Top             =   960
  219.          Width           =   2000
  220.       End
  221.       Begin VB.CheckBox chkActIIIWaypoints 
  222.          Caption         =   "Enable Waypoints"
  223.          Height          =   255
  224.          Left            =   120
  225.          TabIndex        =   5
  226.          Top             =   600
  227.          Width           =   2000
  228.       End
  229.    End
  230.    Begin VB.Frame fraActI 
  231.       Caption         =   "Act I"
  232.       Height          =   1695
  233.       Left            =   120
  234.       TabIndex        =   0
  235.       Top             =   960
  236.       Width           =   2600
  237.       Begin VB.CheckBox chkActIWaypoints 
  238.          Caption         =   "Enable Waypoints"
  239.          Height          =   255
  240.          Left            =   120
  241.          TabIndex        =   3
  242.          Top             =   600
  243.          Width           =   2000
  244.       End
  245.       Begin VB.CheckBox chkActIEnableQuests 
  246.          Caption         =   "Enable Quests"
  247.          Height          =   255
  248.          Left            =   120
  249.          TabIndex        =   2
  250.          Top             =   960
  251.          Width           =   2000
  252.       End
  253.       Begin VB.CheckBox chkActICompleteQuests 
  254.          Caption         =   "Complete Quests"
  255.          Height          =   255
  256.          Left            =   120
  257.          TabIndex        =   1
  258.          Top             =   1320
  259.          Width           =   2000
  260.       End
  261.    End
  262.    Begin MSComDlg.CommonDialog dlgMain 
  263.       Left            =   2520
  264.       Top             =   2160
  265.       _ExtentX        =   847
  266.       _ExtentY        =   847
  267.       _Version        =   393216
  268.    End
  269.    Begin VB.Label lblName 
  270.       Alignment       =   2  'Center
  271.       Caption         =   "Back-Up Save Game Directory Before Using"
  272.       BeginProperty Font 
  273.          Name            =   "Verdana"
  274.          Size            =   12
  275.          Charset         =   0
  276.          Weight          =   700
  277.          Underline       =   0   'False
  278.          Italic          =   0   'False
  279.          Strikethrough   =   0   'False
  280.       EndProperty
  281.       Height          =   1095
  282.       Left            =   5640
  283.       TabIndex        =   23
  284.       Top             =   120
  285.       Width           =   1815
  286.       WordWrap        =   -1  'True
  287.    End
  288. Attribute VB_Name = "frmMain"
  289. Attribute VB_GlobalNameSpace = False
  290. Attribute VB_Creatable = False
  291. Attribute VB_PredeclaredId = True
  292. Attribute VB_Exposed = False
  293. ' ****************************************************************************************'
  294. ' Diablo II Enabler Source By. Pause Break [mofd4u@yahoo.com]
  295. ' Program History
  296. ' 7-30-2000 - PB - 1.00 - Original Release
  297. ' 8-04-2000 - PB - 1.01 - Bug Fixes, Added Cinematic Enabling
  298. ' Description
  299. ' Enables various options and settings in Diablo II by modify the registry
  300. ' or editing saved game files. [.D2S]
  301. ' Warning
  302. ' This code gets the job done but is done somewhat sloppy.  This is the first time
  303. ' I've released source so commentary hasn't been done great either.
  304. ' Save Game File Format
  305. ' Included in this programs zip file is a copy of the D2 Hex Editing Tutoroil
  306. ' by B5. This provides all sorts of locations for changing the SG file thru Hex.
  307. ' By providing you with the source code I will show you how to use Visual Basic 6
  308. ' to modify these locations.  It is very possible to port this program for use with
  309. ' other games.  Once you gain knowledge of the locations to edit it will be easy to
  310. ' do.
  311. ' How to do this Hex Stuff with VB6
  312. ' I took these easy route and converted to Hex locations to decimal.
  313. '   For Example (Using B5's Hex guide):
  314. '               At Address 0x00000019 Edit to 04 to Enable Nightmare mode
  315. '               Once I convert the address &H19 to decimal I get '25'. However,
  316. '               since Visual Basic does math funny you need to add 1 to that total.
  317. '               So, you'll need to open the SG file in binary then seek for 26.
  318. '               Now for some real code to break down.
  319. '                   Open "file" For Binary As #1 (Open SG File for Binary)
  320. '                   Number = &H4  ' (We want to replace with Hex 04 remeber)
  321. '                   Position = 26 ' (Decmial position {Convert Hex Location for this}
  322. '                   Seek #1, Position ' (Finding the Position in the Binary file)
  323. '                   Put #1, Position, Number ' (Writing Number at the position)
  324. '                   Close #1 ' (Now Close the file. Simple eh)
  325. ' I hope I made the process clear.  Remeber once you can convert a Hex location to
  326. ' decimal you'll need to then add 1 to that figure.  Stupid Visual Basic. =)
  327. ' The rest of this code is lightly commented. Be aware.
  328. ' Begin Real Code!
  329. ' ****************************************************************************************'
  330. ' Declare strFileName
  331. Dim strFileName As String
  332. ' The next few functions are for the interface.  If a Complete Quest is selected
  333. ' then Enable shouldn't and vice versa.
  334. Private Sub chkActICompleteQuests_Click()
  335. If chkActICompleteQuests.Value = 1 Then
  336. chkActIEnableQuests.Enabled = False
  337. chkActIEnableQuests.Enabled = True
  338. End If
  339. End Sub
  340. Private Sub chkActIICompleteQuests_Click()
  341. If chkActIICompleteQuests.Value = 1 Then
  342. chkActIIEnableQuests.Enabled = False
  343. chkActIIEnableQuests.Enabled = True
  344. End If
  345. End Sub
  346. Private Sub chkActIIICompleteQuests_Click()
  347. If chkActIIICompleteQuests.Value = 1 Then
  348. chkActIIIEnableQuests.Enabled = False
  349. chkActIIIEnableQuests.Enabled = True
  350. End If
  351. End Sub
  352. Private Sub chkActIVCompleteQuests_Click()
  353. If chkActIVCompleteQuests.Value = 1 Then
  354. chkActIVEnableQuests.Enabled = False
  355. chkActIVEnableQuests.Enabled = True
  356. End If
  357. End Sub
  358. Private Sub chkActIEnableQuests_Click()
  359. If chkActIEnableQuests.Value = 1 Then
  360. chkActICompleteQuests.Enabled = False
  361. chkActICompleteQuests.Enabled = True
  362. End If
  363. End Sub
  364. Private Sub chkActIIEnableQuests_Click()
  365. If chkActIIEnableQuests.Value = 1 Then
  366. chkActIICompleteQuests.Enabled = False
  367. chkActIICompleteQuests.Enabled = True
  368. End If
  369. End Sub
  370. Private Sub chkActIIIEnableQuests_Click()
  371. If chkActIIIEnableQuests.Value = 1 Then
  372. chkActIIICompleteQuests.Enabled = False
  373. chkActIIICompleteQuests.Enabled = True
  374. End If
  375. End Sub
  376. Private Sub chkActIVEnableQuests_Click()
  377. If chkActIVEnableQuests.Value = 1 Then
  378. chkActIVCompleteQuests.Enabled = False
  379. chkActIVCompleteQuests.Enabled = True
  380. chkActIEnableQuests.Enabled = True
  381. chkActICompleteQuests.Enabled = True
  382. chkActIWaypoints.Enabled = True
  383. End If
  384. End Sub
  385. ' Enable Acts.  When an Act is selected it will display the sub-options.
  386. ' Act I isn't listed as its already enabled by default in Diablo II.  So
  387. ' the program will display the options when a file is open.  For all other acts,
  388. ' a file needs to be opened and has to be checked inorder to get the sub-options.
  389. Private Sub chkEnableActII_Click()
  390. If chkEnableActII.Value = 0 Then
  391. chkEnableActIII.Enabled = True
  392. chkEnableAll.Enabled = True
  393. chkActIIEnableQuests.Enabled = False
  394. chkActIICompleteQuests.Enabled = False
  395. chkActIIWaypoints.Enabled = False
  396. chkActIIEnableQuests.Enabled = True
  397. chkActIICompleteQuests.Enabled = True
  398. chkActIIWaypoints.Enabled = True
  399. End If
  400. End Sub
  401. Private Sub chkEnableActIII_Click()
  402. If chkEnableActIII.Value = 1 Then
  403. chkEnableActII.Value = 1
  404. chkEnableActII.Enabled = False
  405. chkActIIIEnableQuests.Enabled = True
  406. chkActIIICompleteQuests.Enabled = True
  407. chkActIIIWaypoints.Enabled = True
  408. chkActIIIEnableQuests.Enabled = False
  409. chkActIIICompleteQuests.Enabled = False
  410. chkActIIIWaypoints.Enabled = False
  411. chkEnableActII.Value = 0
  412. chkEnableActII.Enabled = True
  413. chkEnableAll.Enabled = True
  414. End If
  415. End Sub
  416. Private Sub chkEnableAll_Click()
  417. If chkEnableAll.Value = 1 Then
  418. chkEnableActII.Value = 1
  419. chkEnableActIII.Value = 1
  420. chkEnableActII.Enabled = False
  421. chkEnableActIII.Enabled = False
  422. chkActIVEnableQuests.Enabled = True
  423. chkActIVCompleteQuests.Enabled = True
  424. chkActIVWaypoints.Enabled = True
  425. chkEnableActII.Value = 0
  426. chkEnableActIII.Value = 0
  427. chkEnableActII.Enabled = True
  428. chkEnableActIII.Enabled = True
  429. chkActIVEnableQuests.Enabled = False
  430. chkActIVCompleteQuests.Enabled = False
  431. chkActIVWaypoints.Enabled = False
  432. End If
  433. End Sub
  434. ' Again.  Interface.  If its checked don't show enable Hell
  435. Private Sub chkNightmare_Click()
  436. If chkNightmare.Value = 1 Then
  437. chkHell.Enabled = False
  438. chkHell.Enabled = True
  439. End If
  440. End Sub
  441. ' If Hell's checked then disable Nightmare
  442. Private Sub chkHell_Click()
  443. If chkHell.Value = 1 Then
  444. chkNightmare.Enabled = False
  445. chkNightmare.Enabled = True
  446. End If
  447. End Sub
  448. ' About function.  After viewing Disk2's "Socketer" source I found this simple way
  449. ' to put together an About box without needing another form.
  450. Private Sub cmdAbout_Click()
  451. MsgBox "Diablo II Enabler" & vbCrLf & vbCrLf & "Scripted By Pause Break (mofd4u@yahoo.com)" & vbCrLf & vbCrLf & "Thanks to Disk2 for releasing the source to Socketer. Thanks to B5 for Hex Locations.  And the many others who helped me." & vbCrLf & vbCrLf & "This Visual Basic Diablo II editing program allows characters to advance Acts, enable Waypoints, and Enable or Complete Quests with the click of a button.", vbOKOnly + vbInformation, "About Diablo II Portal"
  452. End Sub
  453. ' Close Function
  454. Private Sub cmdClose_Click()
  455. strFileName = "" ' Empty out the variable
  456. lblName.FontSize = 12
  457. lblName.Caption = "Back-up Save Game Directory Before Using" ' Reset Caption
  458. frmMain.Caption = "Diablo II Portal by Pause Break - [ No File Opened ]" ' Reset forms caption
  459. cmdOpen.Enabled = True ' Enable Open button
  460. cmdClose.Enabled = False ' Disable this close button
  461. cmdSave.Enabled = False ' Disable the save button
  462. ' Disable a bunch of other crap as well
  463. chkActIEnableQuests.Enabled = False
  464. chkActICompleteQuests.Enabled = False
  465. chkActIWaypoints.Enabled = False
  466. chkActIIEnableQuests.Enabled = False
  467. chkActIICompleteQuests.Enabled = False
  468. chkActIIWaypoints.Enabled = False
  469. chkActIIIEnableQuests.Enabled = False
  470. chkActIIICompleteQuests.Enabled = False
  471. chkActIIIWaypoints.Enabled = False
  472. chkHell.Enabled = False
  473. chkNightmare.Enabled = False
  474. chkEnableActII.Enabled = False
  475. chkEnableActIII.Enabled = False
  476. chkEnableAll.Enabled = False
  477. End Sub
  478. ' Simply Updates a Registry Key
  479. Private Sub cmdEnableMovies_Click()
  480. frmCinematic.Show
  481. End Sub
  482. ' Ends the program
  483. Private Sub cmdExit_Click()
  484. End Sub
  485. ' Open crap
  486. Private Sub cmdOpen_Click()
  487.     ' Using Common Dialog Control to display an open dialog easily
  488.     dlgMain.DialogTitle = "Open Character" ' sets the Title
  489.     dlgMain.Filter = "Diablo 2 Saved Games (*.d2s)|*.d2s|" ' Only .d2s files
  490.     dlgMain.InitDir = GetKeyValue(HKEY_LOCAL_MACHINE, "SOFTWARE\Blizzard Entertainment\Diablo II\", "Save Path") ' Grabs Diablo II Save Path from Registry using modReg.bas
  491.     dlgMain.Flags = &H1000
  492.     dlgMain.CancelError = False
  493.     dlgMain.ShowOpen ' Opens the dialog for viewing
  494.     If Len(dlgMain.FileName) > 0 Then
  495.         strFileName = dlgMain.FileName
  496.         
  497.         ' Set the caption for the Form
  498.         frmMain.Caption = "Diablo II Enabler by Pause Break - [" & dlgMain.FileTitle & "]"
  499.         
  500.         ' Enables losta shit
  501.         cmdSave.Enabled = True
  502.         chkHell.Enabled = True
  503.         chkNightmare.Enabled = True
  504.         chkEnableActII.Enabled = True
  505.         chkEnableActIII.Enabled = True
  506.         chkEnableAll.Enabled = True
  507.         chkActIEnableQuests.Enabled = True
  508.         chkActICompleteQuests.Enabled = True
  509.         chkActIWaypoints.Enabled = True
  510.         
  511.         cmdOpen.Enabled = False
  512.         cmdClose.Enabled = True
  513.         
  514. ' Grabing stuff from Binary files...In this case characters name.
  515. ' You can find the characters name at Hex Location (0x08) convert to decimal
  516. ' and you get 8 then add 1 to end up with 9
  517. Dim Name As String
  518. Open strFileName For Binary As #1
  519. Get #1, 9, Name ' At Decimal Location 9 save data as varible Name
  520. Name = Input(10, 1) ' Get up to 10 characters.  The one represents the file number (1)
  521. lblName.FontSize = 16 ' Bump up the font size
  522. lblName.Caption = Name ' Set the Label to what we get from this mess
  523. Close #1
  524.     End If
  525. End Sub
  526. ' Below is the large and messy set of Save code.  When the save button is pressed
  527. ' the program does all the modifcations.  Find almost all you need at top.
  528. ' But explore if you want! =)
  529. Private Sub cmdSave_Click()
  530. Dim Position, Number As Long
  531. Dim Difficulty As Integer
  532. Open strFileName For Binary As #1
  533.   If chkNightmare.Value = 1 Then
  534.     Number = &H4
  535.     Position = 26
  536.     Difficulty = 2
  537.     Seek #1, Position
  538.     Put #1, Position, Number
  539.  ElseIf chkHell.Value = 1 Then
  540.     Number = &H14
  541.     Position = 26
  542.     Difficulty = 3
  543.     Seek #1, Position
  544.     Put #1, Position, Number
  545.  Else
  546.     Difficulty = 1
  547.  End If
  548.  ' Normal
  549.  If Difficulty = 1 Then
  550.     If chkEnableAll.Value = 1 Then
  551.         ' Act II
  552.         Number = &H1
  553.         Position = 171
  554.         Seek #1, Position
  555.         Put #1, Position, Number
  556.         
  557.         ' Act III
  558.         Number = &H1
  559.         Position = 155
  560.         Seek #1, Position
  561.         Put #1, Position, Number
  562.         
  563.         ' Act IV
  564.         Number = &H1
  565.         Position = 187
  566.         Seek #1, Position
  567.         Put #1, Position, Number
  568.         
  569.     End If
  570.     If chkActIVWaypoints.Value = 1 Then
  571.         Number = &H3F
  572.         Position = 442
  573.         Seek #1, Position
  574.         Put #1, Position, Number
  575.     End If
  576.     If chkActIIIWaypoints.Value = 1 Then
  577.         Number = &HFF
  578.         Position = 441
  579.         Seek #1, Position
  580.         Put #1, Position, Number
  581.     End If
  582.     If chkActIIWaypoints.Value = 1 Then
  583.         Number = &HFF
  584.         Position = 440
  585.         Seek #1, Position
  586.         Put #1, Position, Number
  587.     End If
  588.     If chkActIWaypoints.Value = 1 Then
  589.         Number = &HFF
  590.         Position = 439
  591.         Seek #1, Position
  592.         Put #1, Position, Number
  593.     End If
  594.     If chkActIVEnableQuests.Value = 1 Then
  595.         
  596.         ' Fallen Angel
  597.         Number = &H4
  598.         Position = 191
  599.         Seek #1, Position
  600.         Put #1, Position, Number
  601.         
  602.         ' Hells Forge
  603.         Number = &H4
  604.         Position = 195
  605.         Seek #1, Position
  606.         Put #1, Position, Number
  607.         
  608.         ' Terrors End
  609.         Number = &H4
  610.         Position = 193
  611.         Seek #1, Position
  612.         Put #1, Position, Number
  613.     End If
  614.     If chkActIVCompleteQuests.Value = 1 Then
  615.         
  616.         ' Fallen Angel
  617.         Number = &H7
  618.         Position = 191
  619.         Seek #1, Position
  620.         Put #1, Position, Number
  621.         
  622.         Number = &H10
  623.         Position = 192
  624.         Seek #1, Position
  625.         Put #1, Position, Number
  626.         
  627.         ' Hells Forge
  628.         Number = &H7
  629.         Position = 195
  630.         Seek #1, Position
  631.         Put #1, Position, Number
  632.         
  633.         Number = &H10
  634.         Position = 196
  635.         Seek #1, Position
  636.         Put #1, Position, Number
  637.         
  638.         ' Terrors End
  639.         Number = &H7
  640.         Position = 193
  641.         Seek #1, Position
  642.         Put #1, Position, Number
  643.         
  644.         Number = &H10
  645.         Position = 194
  646.         Seek #1, Position
  647.         Put #1, Position, Number
  648.     End If
  649.     If chkActIIIEnableQuests.Value = 1 Then
  650.         
  651.         ' Lam Esens Tomb
  652.         Number = &H4
  653.         Position = 175
  654.         Seek #1, Position
  655.         Put #1, Position, Number
  656.         
  657.         ' Blade of Old Religion
  658.         Number = &H4
  659.         Position = 177
  660.         Seek #1, Position
  661.         Put #1, Position, Number
  662.         
  663.         ' Khalims Will
  664.         Number = &H4
  665.         Position = 179
  666.         Seek #1, Position
  667.         Put #1, Position, Number
  668.         
  669.         ' Golden Bird
  670.         Number = &H4
  671.         Position = 181
  672.         Seek #1, Position
  673.         Put #1, Position, Number
  674.         
  675.         ' Blackend Temple
  676.         Number = &H4
  677.         Position = 183
  678.         Seek #1, Position
  679.         Put #1, Position, Number
  680.         
  681.         ' The Guardian
  682.         Number = &H4
  683.         Position = 185
  684.         Seek #1, Position
  685.         Put #1, Position, Number
  686.     End If
  687.     If chkActIIICompleteQuests.Value = 1 Then
  688.         
  689.         ' Lam Esens Tomb
  690.         Number = &H7
  691.         Position = 175
  692.         Seek #1, Position
  693.         Put #1, Position, Number
  694.         
  695.         Number = &H10
  696.         Position = 176
  697.         Seek #1, Position
  698.         Put #1, Position, Number
  699.         
  700.         ' Blade of Old Religion
  701.         Number = &H7
  702.         Position = 177
  703.         Seek #1, Position
  704.         Put #1, Position, Number
  705.         
  706.         Number = &H10
  707.         Position = 178
  708.         Seek #1, Position
  709.         Put #1, Position, Number
  710.         
  711.         ' Khalims Will
  712.         Number = &H7
  713.         Position = 179
  714.         Seek #1, Position
  715.         Put #1, Position, Number
  716.         
  717.         Number = &H10
  718.         Position = 180
  719.         Seek #1, Position
  720.         Put #1, Position, Number
  721.         
  722.         ' Golden Bird
  723.         Number = &H7
  724.         Position = 181
  725.         Seek #1, Position
  726.         Put #1, Position, Number
  727.         
  728.         Number = &H10
  729.         Position = 182
  730.         Seek #1, Position
  731.         Put #1, Position, Number
  732.         
  733.         ' Blackend Temple
  734.         Number = &H7
  735.         Position = 183
  736.         Seek #1, Position
  737.         Put #1, Position, Number
  738.         
  739.         Number = &H10
  740.         Position = 184
  741.         Seek #1, Position
  742.         Put #1, Position, Number
  743.         
  744.         ' The Guardian
  745.         Number = &H7
  746.         Position = 185
  747.         Seek #1, Position
  748.         Put #1, Position, Number
  749.         
  750.         Number = &H10
  751.         Position = 186
  752.         Seek #1, Position
  753.         Put #1, Position, Number
  754.     End If
  755.     If chkActIIEnableQuests.Value = 1 Then
  756.         
  757.         ' Radaments Lair
  758.         Number = &H4
  759.         Position = 159
  760.         Seek #1, Position
  761.         Put #1, Position, Number
  762.         
  763.         ' Horadric Staff
  764.         Number = &H4
  765.         Position = 161
  766.         Seek #1, Position
  767.         Put #1, Position, Number
  768.         
  769.         ' Tainted Sun
  770.         Number = &H4
  771.         Position = 163
  772.         Seek #1, Position
  773.         Put #1, Position, Number
  774.         
  775.         ' Arcane Sanctuary
  776.         Number = &H4
  777.         Position = 165
  778.         Seek #1, Position
  779.         Put #1, Position, Number
  780.         
  781.         ' The Summoner
  782.         Number = &H4
  783.         Position = 167
  784.         Seek #1, Position
  785.         Put #1, Position, Number
  786.         
  787.         ' Seven Tombs
  788.         Number = &H4
  789.         Position = 169
  790.         Seek #1, Position
  791.         Put #1, Position, Number
  792.     End If
  793.  If chkActIICompleteQuests.Value = 1 Then
  794.         
  795.         ' Radaments Lair
  796.         Number = &H7
  797.         Position = 159
  798.         Seek #1, Position
  799.         Put #1, Position, Number
  800.         
  801.         Number = &H10
  802.         Position = 160
  803.         Seek #1, Position
  804.         Put #1, Position, Number
  805.         
  806.         ' Horadric Staff
  807.         Number = &H7
  808.         Position = 161
  809.         Seek #1, Position
  810.         Put #1, Position, Number
  811.         
  812.         Number = &H10
  813.         Position = 162
  814.         Seek #1, Position
  815.         Put #1, Position, Number
  816.         
  817.         ' Tainted Sun
  818.         Number = &H7
  819.         Position = 163
  820.         Seek #1, Position
  821.         Put #1, Position, Number
  822.         
  823.         Number = &H10
  824.         Position = 164
  825.         Seek #1, Position
  826.         Put #1, Position, Number
  827.         
  828.         ' Arcane Sanctuary
  829.         Number = &H7
  830.         Position = 165
  831.         Seek #1, Position
  832.         Put #1, Position, Number
  833.         
  834.         Number = &H10
  835.         Position = 166
  836.         Seek #1, Position
  837.         Put #1, Position, Number
  838.         
  839.         ' The Summoner
  840.         Number = &H7
  841.         Position = 167
  842.         Seek #1, Position
  843.         Put #1, Position, Number
  844.         
  845.         Number = &H10
  846.         Position = 168
  847.         Seek #1, Position
  848.         Put #1, Position, Number
  849.         
  850.         ' Seven Tombs
  851.         Number = &H7
  852.         Position = 169
  853.         Seek #1, Position
  854.         Put #1, Position, Number
  855.         
  856.         Number = &H10
  857.         Position = 170
  858.         Seek #1, Position
  859.         Put #1, Position, Number
  860.     End If
  861.     If chkActIEnableQuests.Value = 1 Then
  862.         
  863.         ' Den of Evil
  864.         Number = &H4
  865.         Position = 143
  866.         Seek #1, Position
  867.         Put #1, Position, Number
  868.         
  869.         ' Burial Grounds
  870.         Number = &H4
  871.         Position = 145
  872.         Seek #1, Position
  873.         Put #1, Position, Number
  874.         
  875.         ' Search for Cain
  876.         Number = &H4
  877.         Position = 149
  878.         Seek #1, Position
  879.         Put #1, Position, Number
  880.         
  881.         ' Forgotten Tower
  882.         Number = &H4
  883.         Position = 151
  884.         Seek #1, Position
  885.         Put #1, Position, Number
  886.         
  887.         ' Tools of Trade
  888.         Number = &H4
  889.         Position = 147
  890.         Seek #1, Position
  891.         Put #1, Position, Number
  892.         
  893.         ' Andariel
  894.         Number = &H4
  895.         Position = 153
  896.         Seek #1, Position
  897.         Put #1, Position, Number
  898.     End If
  899.     If chkActICompleteQuests.Value = 1 Then
  900.         
  901.         ' Den of Evil
  902.         Number = &H7
  903.         Position = 143
  904.         Seek #1, Position
  905.         Put #1, Position, Number
  906.         
  907.         Number = &H10
  908.         Position = 144
  909.         Seek #1, Position
  910.         Put #1, Position, Number
  911.         
  912.         ' Burial Grounds
  913.         Number = &H7
  914.         Position = 145
  915.         Seek #1, Position
  916.         Put #1, Position, Number
  917.         
  918.         Number = &H10
  919.         Position = 146
  920.         Seek #1, Position
  921.         Put #1, Position, Number
  922.         
  923.         ' Search for Cain
  924.         Number = &H7
  925.         Position = 149
  926.         Seek #1, Position
  927.         Put #1, Position, Number
  928.         
  929.         Number = &H10
  930.         Position = 150
  931.         Seek #1, Position
  932.         Put #1, Position, Number
  933.         
  934.         ' Forgotten Tower
  935.         Number = &H7
  936.         Position = 151
  937.         Seek #1, Position
  938.         Put #1, Position, Number
  939.         
  940.         Number = &H10
  941.         Position = 152
  942.         Seek #1, Position
  943.         Put #1, Position, Number
  944.         
  945.         ' Tools of Trade
  946.         Number = &H7
  947.         Position = 147
  948.         Seek #1, Position
  949.         Put #1, Position, Number
  950.         
  951.         Number = &H10
  952.         Position = 148
  953.         Seek #1, Position
  954.         Put #1, Position, Number
  955.         
  956.         ' Andariel
  957.         Number = &H7
  958.         Position = 153
  959.         Seek #1, Position
  960.         Put #1, Position, Number
  961.         
  962.         Number = &H10
  963.         Position = 154
  964.         Seek #1, Position
  965.         Put #1, Position, Number
  966.         
  967.     End If
  968.  End If
  969. 'Nightmare
  970. If Difficulty = 2 Then
  971.     If chkEnableAll.Value = 1 Then
  972.         ' Act II
  973.         Number = &H1
  974.         Position = 251
  975.         Seek #1, Position
  976.         Put #1, Position, Number
  977.         
  978.         ' Act III
  979.         Number = &H1
  980.         Position = 267
  981.         Seek #1, Position
  982.         Put #1, Position, Number
  983.         
  984.         ' Act IV
  985.         Number = &H1
  986.         Position = 283
  987.         Seek #1, Position
  988.         Put #1, Position, Number
  989.         
  990.     End If
  991.     If chkActIVWaypoints.Value = 1 Then
  992.         
  993.         Number = &HF3
  994.         Position = 466
  995.         Seek #1, Position
  996.         Put #1, Position, Number
  997.     End If
  998.     If chkActIIIWaypoints.Value = 1 Then
  999.         
  1000.         Number = &HFF
  1001.         Position = 465
  1002.         Seek #1, Position
  1003.         Put #1, Position, Number
  1004.     End If
  1005.     If chkActIIWaypoints.Value = 1 Then
  1006.         
  1007.         Number = &HFF
  1008.         Position = 464
  1009.         Seek #1, Position
  1010.         Put #1, Position, Number
  1011.     End If
  1012.     If chkActIWaypoints.Value = 1 Then
  1013.         Number = &HFF
  1014.         Position = 463
  1015.         Seek #1, Position
  1016.         Put #1, Position, Number
  1017.         
  1018.     End If
  1019.     If chkActIVEnableQuests.Value = 1 Then
  1020.         
  1021.         ' Fallen Angel
  1022.         Number = &H4
  1023.         Position = 287
  1024.         Seek #1, Position
  1025.         Put #1, Position, Number
  1026.         
  1027.         ' Hells Forge
  1028.         Number = &H4
  1029.         Position = 291
  1030.         Seek #1, Position
  1031.         Put #1, Position, Number
  1032.         
  1033.         ' Terrors End
  1034.         Number = &H4
  1035.         Position = 289
  1036.         Seek #1, Position
  1037.         Put #1, Position, Number
  1038.     End If
  1039.     If chkActIVCompleteQuests.Value = 1 Then
  1040.         
  1041.         ' Fallen Angel
  1042.         Number = &H7
  1043.         Position = 287
  1044.         Seek #1, Position
  1045.         Put #1, Position, Number
  1046.         
  1047.         Number = &H10
  1048.         Position = 288
  1049.         Seek #1, Position
  1050.         Put #1, Position, Number
  1051.         
  1052.         ' Hells Forge
  1053.         Number = &H7
  1054.         Position = 291
  1055.         Seek #1, Position
  1056.         Put #1, Position, Number
  1057.         
  1058.         Number = &H10
  1059.         Position = 292
  1060.         Seek #1, Position
  1061.         Put #1, Position, Number
  1062.         
  1063.         ' Terrors End
  1064.         Number = &H7
  1065.         Position = 289
  1066.         Seek #1, Position
  1067.         Put #1, Position, Number
  1068.         
  1069.         Number = &H10
  1070.         Position = 290
  1071.         Seek #1, Position
  1072.         Put #1, Position, Number
  1073.     End If
  1074.     If chkActIIIEnableQuests.Value = 1 Then
  1075.         
  1076.         ' Lam Esens Tomb
  1077.         Number = &H4
  1078.         Position = 271
  1079.         Seek #1, Position
  1080.         Put #1, Position, Number
  1081.         
  1082.         ' Blade of Old Religion
  1083.         Number = &H4
  1084.         Position = 273
  1085.         Seek #1, Position
  1086.         Put #1, Position, Number
  1087.         
  1088.         ' Khalims Will
  1089.         Number = &H4
  1090.         Position = 275
  1091.         Seek #1, Position
  1092.         Put #1, Position, Number
  1093.         
  1094.         ' Golden Bird
  1095.         Number = &H4
  1096.         Position = 277
  1097.         Seek #1, Position
  1098.         Put #1, Position, Number
  1099.         
  1100.         ' Blackend Temple
  1101.         Number = &H4
  1102.         Position = 279
  1103.         Seek #1, Position
  1104.         Put #1, Position, Number
  1105.         
  1106.         ' The Guardian
  1107.         Number = &H4
  1108.         Position = 281
  1109.         Seek #1, Position
  1110.         Put #1, Position, Number
  1111.     End If
  1112.     If chkActIIICompleteQuests.Value = 1 Then
  1113.         
  1114.         ' Lam Esens Tomb
  1115.         Number = &H7
  1116.         Position = 271
  1117.         Seek #1, Position
  1118.         Put #1, Position, Number
  1119.         
  1120.         Number = &H10
  1121.         Position = 272
  1122.         Seek #1, Position
  1123.         Put #1, Position, Number
  1124.         
  1125.         ' Blade of Old Religion
  1126.         Number = &H7
  1127.         Position = 273
  1128.         Seek #1, Position
  1129.         Put #1, Position, Number
  1130.         
  1131.         Number = &H10
  1132.         Position = 274
  1133.         Seek #1, Position
  1134.         Put #1, Position, Number
  1135.         
  1136.         ' Khalims Will
  1137.         Number = &H7
  1138.         Position = 275
  1139.         Seek #1, Position
  1140.         Put #1, Position, Number
  1141.         
  1142.         Number = &H10
  1143.         Position = 276
  1144.         Seek #1, Position
  1145.         Put #1, Position, Number
  1146.         
  1147.         ' Golden Bird
  1148.         Number = &H7
  1149.         Position = 277
  1150.         Seek #1, Position
  1151.         Put #1, Position, Number
  1152.         
  1153.         Number = &H10
  1154.         Position = 278
  1155.         Seek #1, Position
  1156.         Put #1, Position, Number
  1157.         
  1158.         ' Blackend Temple
  1159.         Number = &H7
  1160.         Position = 279
  1161.         Seek #1, Position
  1162.         Put #1, Position, Number
  1163.         
  1164.         Number = &H10
  1165.         Position = 280
  1166.         Seek #1, Position
  1167.         Put #1, Position, Number
  1168.         
  1169.         ' The Guardian
  1170.         Number = &H7
  1171.         Position = 281
  1172.         Seek #1, Position
  1173.         Put #1, Position, Number
  1174.         
  1175.         Number = &H10
  1176.         Position = 282
  1177.         Seek #1, Position
  1178.         Put #1, Position, Number
  1179.     End If
  1180.     If chkActIIEnableQuests.Value = 1 Then
  1181.         
  1182.         ' Radaments Lair
  1183.         Number = &H4
  1184.         Position = 255
  1185.         Seek #1, Position
  1186.         Put #1, Position, Number
  1187.         
  1188.         ' Horadric Staff
  1189.         Number = &H4
  1190.         Position = 257
  1191.         Seek #1, Position
  1192.         Put #1, Position, Number
  1193.         
  1194.         ' Tainted Sun
  1195.         Number = &H4
  1196.         Position = 259
  1197.         Seek #1, Position
  1198.         Put #1, Position, Number
  1199.         
  1200.         ' Arcane Sanctuary
  1201.         Number = &H4
  1202.         Position = 261
  1203.         Seek #1, Position
  1204.         Put #1, Position, Number
  1205.         
  1206.         ' The Summoner
  1207.         Number = &H4
  1208.         Position = 263
  1209.         Seek #1, Position
  1210.         Put #1, Position, Number
  1211.         
  1212.         ' Seven Tombs
  1213.         Number = &H4
  1214.         Position = 265
  1215.         Seek #1, Position
  1216.         Put #1, Position, Number
  1217.     End If
  1218.  If chkActIICompleteQuests.Value = 1 Then
  1219.         
  1220.         ' Radaments Lair
  1221.         Number = &H7
  1222.         Position = 255
  1223.         Seek #1, Position
  1224.         Put #1, Position, Number
  1225.         
  1226.         Number = &H10
  1227.         Position = 256
  1228.         Seek #1, Position
  1229.         Put #1, Position, Number
  1230.         
  1231.         ' Horadric Staff
  1232.         Number = &H7
  1233.         Position = 257
  1234.         Seek #1, Position
  1235.         Put #1, Position, Number
  1236.         
  1237.         Number = &H10
  1238.         Position = 258
  1239.         Seek #1, Position
  1240.         Put #1, Position, Number
  1241.         
  1242.         ' Tainted Sun
  1243.         Number = &H7
  1244.         Position = 259
  1245.         Seek #1, Position
  1246.         Put #1, Position, Number
  1247.         
  1248.         Number = &H10
  1249.         Position = 260
  1250.         Seek #1, Position
  1251.         Put #1, Position, Number
  1252.         
  1253.         ' Arcane Sanctuary
  1254.         Number = &H7
  1255.         Position = 261
  1256.         Seek #1, Position
  1257.         Put #1, Position, Number
  1258.         
  1259.         Number = &H10
  1260.         Position = 262
  1261.         Seek #1, Position
  1262.         Put #1, Position, Number
  1263.         
  1264.         ' The Summoner
  1265.         Number = &H7
  1266.         Position = 263
  1267.         Seek #1, Position
  1268.         Put #1, Position, Number
  1269.         
  1270.         Number = &H10
  1271.         Position = 264
  1272.         Seek #1, Position
  1273.         Put #1, Position, Number
  1274.         
  1275.         ' Seven Tombs
  1276.         Number = &H7
  1277.         Position = 265
  1278.         Seek #1, Position
  1279.         Put #1, Position, Number
  1280.         
  1281.         Number = &H10
  1282.         Position = 266
  1283.         Seek #1, Position
  1284.         Put #1, Position, Number
  1285.     End If
  1286.     If chkActIEnableQuests.Value = 1 Then
  1287.         
  1288.         ' Den of Evil
  1289.         Number = &H4
  1290.         Position = 239
  1291.         Seek #1, Position
  1292.         Put #1, Position, Number
  1293.         
  1294.         ' Burial Grounds
  1295.         Number = &H4
  1296.         Position = 241
  1297.         Seek #1, Position
  1298.         Put #1, Position, Number
  1299.         
  1300.         ' Search for Cain
  1301.         Number = &H4
  1302.         Position = 245
  1303.         Seek #1, Position
  1304.         Put #1, Position, Number
  1305.         
  1306.         ' Forgotten Tower
  1307.         Number = &H4
  1308.         Position = 247
  1309.         Seek #1, Position
  1310.         Put #1, Position, Number
  1311.         
  1312.         ' Tools of Trade
  1313.         Number = &H4
  1314.         Position = 243
  1315.         Seek #1, Position
  1316.         Put #1, Position, Number
  1317.         
  1318.         ' Andariel
  1319.         Number = &H4
  1320.         Position = 249
  1321.         Seek #1, Position
  1322.         Put #1, Position, Number
  1323.     End If
  1324.     If chkActICompleteQuests.Value = 1 Then
  1325.         
  1326.         ' Den of Evil
  1327.         Number = &H7
  1328.         Position = 239
  1329.         Seek #1, Position
  1330.         Put #1, Position, Number
  1331.         
  1332.         Number = &H10
  1333.         Position = 240
  1334.         Seek #1, Position
  1335.         Put #1, Position, Number
  1336.         
  1337.         ' Burial Grounds
  1338.         Number = &H7
  1339.         Position = 241
  1340.         Seek #1, Position
  1341.         Put #1, Position, Number
  1342.         
  1343.         Number = &H10
  1344.         Position = 242
  1345.         Seek #1, Position
  1346.         Put #1, Position, Number
  1347.         
  1348.         ' Search for Cain
  1349.         Number = &H7
  1350.         Position = 245
  1351.         Seek #1, Position
  1352.         Put #1, Position, Number
  1353.         
  1354.         Number = &H10
  1355.         Position = 246
  1356.         Seek #1, Position
  1357.         Put #1, Position, Number
  1358.         
  1359.         ' Forgotten Tower
  1360.         Number = &H7
  1361.         Position = 247
  1362.         Seek #1, Position
  1363.         Put #1, Position, Number
  1364.         
  1365.         Number = &H10
  1366.         Position = 248
  1367.         Seek #1, Position
  1368.         Put #1, Position, Number
  1369.         
  1370.         ' Tools of Trade
  1371.         Number = &H7
  1372.         Position = 243
  1373.         Seek #1, Position
  1374.         Put #1, Position, Number
  1375.         
  1376.         Number = &H10
  1377.         Position = 244
  1378.         Seek #1, Position
  1379.         Put #1, Position, Number
  1380.         
  1381.         ' Andariel
  1382.         Number = &H7
  1383.         Position = 249
  1384.         Seek #1, Position
  1385.         Put #1, Position, Number
  1386.         
  1387.         Number = &H10
  1388.         Position = 250
  1389.         Seek #1, Position
  1390.         Put #1, Position, Number
  1391.         
  1392.     End If
  1393.  End If
  1394.  ' Hell
  1395.  If Difficulty = 3 Then
  1396.     If chkEnableAll.Value = 1 Then
  1397.         ' Act II
  1398.         Number = &H1
  1399.         Position = 347
  1400.         Seek #1, Position
  1401.         Put #1, Position, Number
  1402.         
  1403.         ' Act III
  1404.         Number = &H1
  1405.         Position = 363
  1406.         Seek #1, Position
  1407.         Put #1, Position, Number
  1408.         
  1409.         ' Act IV
  1410.         Number = &H1
  1411.         Position = 379
  1412.         Seek #1, Position
  1413.         Put #1, Position, Number
  1414.         
  1415.     End If
  1416.     If chkActIVWaypoints.Value = 1 Then
  1417.       
  1418.         Number = &HF3
  1419.         Position = 490
  1420.         Seek #1, Position
  1421.         Put #1, Position, Number
  1422.     End If
  1423.     If chkActIIIWaypoints.Value = 1 Then
  1424.         Number = &HFF
  1425.         Position = 489
  1426.         Seek #1, Position
  1427.         Put #1, Position, Number
  1428.     End If
  1429.     If chkActIIWaypoints.Value = 1 Then
  1430.         Number = &HFF
  1431.         Position = 488
  1432.         Seek #1, Position
  1433.         Put #1, Position, Number
  1434.     End If
  1435.     If chkActIWaypoints.Value = 1 Then
  1436.         Number = &HFF
  1437.         Position = 487
  1438.         Seek #1, Position
  1439.         Put #1, Position, Number
  1440.     End If
  1441.     If chkActIVEnableQuests.Value = 1 Then
  1442.         
  1443.         ' Fallen Angel
  1444.         Number = &H4
  1445.         Position = 383
  1446.         Seek #1, Position
  1447.         Put #1, Position, Number
  1448.         
  1449.         ' Hells Forge
  1450.         Number = &H4
  1451.         Position = 387
  1452.         Seek #1, Position
  1453.         Put #1, Position, Number
  1454.         
  1455.         ' Terrors End
  1456.         Number = &H4
  1457.         Position = 385
  1458.         Seek #1, Position
  1459.         Put #1, Position, Number
  1460.     End If
  1461.     If chkActIVCompleteQuests.Value = 1 Then
  1462.         
  1463.         ' Fallen Angel
  1464.         Number = &H7
  1465.         Position = 383
  1466.         Seek #1, Position
  1467.         Put #1, Position, Number
  1468.         
  1469.         Number = &H10
  1470.         Position = 384
  1471.         Seek #1, Position
  1472.         Put #1, Position, Number
  1473.         
  1474.         ' Hells Forge
  1475.         Number = &H7
  1476.         Position = 387
  1477.         Seek #1, Position
  1478.         Put #1, Position, Number
  1479.         
  1480.         Number = &H10
  1481.         Position = 388
  1482.         Seek #1, Position
  1483.         Put #1, Position, Number
  1484.         
  1485.         ' Terrors End
  1486.         Number = &H7
  1487.         Position = 385
  1488.         Seek #1, Position
  1489.         Put #1, Position, Number
  1490.         
  1491.         Number = &H10
  1492.         Position = 386
  1493.         Seek #1, Position
  1494.         Put #1, Position, Number
  1495.     End If
  1496.     If chkActIIIEnableQuests.Value = 1 Then
  1497.         
  1498.         ' Lam Esens Tomb
  1499.         Number = &H4
  1500.         Position = 367
  1501.         Seek #1, Position
  1502.         Put #1, Position, Number
  1503.         
  1504.         ' Blade of Old Religion
  1505.         Number = &H4
  1506.         Position = 369
  1507.         Seek #1, Position
  1508.         Put #1, Position, Number
  1509.         
  1510.         ' Khalims Will
  1511.         Number = &H4
  1512.         Position = 371
  1513.         Seek #1, Position
  1514.         Put #1, Position, Number
  1515.         
  1516.         ' Golden Bird
  1517.         Number = &H4
  1518.         Position = 373
  1519.         Seek #1, Position
  1520.         Put #1, Position, Number
  1521.         
  1522.         ' Blackend Temple
  1523.         Number = &H4
  1524.         Position = 375
  1525.         Seek #1, Position
  1526.         Put #1, Position, Number
  1527.         
  1528.         ' The Guardian
  1529.         Number = &H4
  1530.         Position = 377
  1531.         Seek #1, Position
  1532.         Put #1, Position, Number
  1533.     End If
  1534.     If chkActIIICompleteQuests.Value = 1 Then
  1535.         
  1536.         ' Lam Esens Tomb
  1537.         Number = &H7
  1538.         Position = 367
  1539.         Seek #1, Position
  1540.         Put #1, Position, Number
  1541.         
  1542.         Number = &H10
  1543.         Position = 368
  1544.         Seek #1, Position
  1545.         Put #1, Position, Number
  1546.         
  1547.         ' Blade of Old Religion
  1548.         Number = &H7
  1549.         Position = 369
  1550.         Seek #1, Position
  1551.         Put #1, Position, Number
  1552.         
  1553.         Number = &H10
  1554.         Position = 370
  1555.         Seek #1, Position
  1556.         Put #1, Position, Number
  1557.         
  1558.         ' Khalims Will
  1559.         Number = &H7
  1560.         Position = 371
  1561.         Seek #1, Position
  1562.         Put #1, Position, Number
  1563.         
  1564.         Number = &H10
  1565.         Position = 372
  1566.         Seek #1, Position
  1567.         Put #1, Position, Number
  1568.         
  1569.         ' Golden Bird
  1570.         Number = &H7
  1571.         Position = 373
  1572.         Seek #1, Position
  1573.         Put #1, Position, Number
  1574.         
  1575.         Number = &H10
  1576.         Position = 374
  1577.         Seek #1, Position
  1578.         Put #1, Position, Number
  1579.         
  1580.         ' Blackend Temple
  1581.         Number = &H7
  1582.         Position = 375
  1583.         Seek #1, Position
  1584.         Put #1, Position, Number
  1585.         
  1586.         Number = &H10
  1587.         Position = 376
  1588.         Seek #1, Position
  1589.         Put #1, Position, Number
  1590.         
  1591.         ' The Guardian
  1592.         Number = &H7
  1593.         Position = 377
  1594.         Seek #1, Position
  1595.         Put #1, Position, Number
  1596.         
  1597.         Number = &H10
  1598.         Position = 378
  1599.         Seek #1, Position
  1600.         Put #1, Position, Number
  1601.     End If
  1602.     If chkActIIEnableQuests.Value = 1 Then
  1603.         
  1604.         ' Radaments Lair
  1605.         Number = &H4
  1606.         Position = 351
  1607.         Seek #1, Position
  1608.         Put #1, Position, Number
  1609.         
  1610.         ' Horadric Staff
  1611.         Number = &H4
  1612.         Position = 353
  1613.         Seek #1, Position
  1614.         Put #1, Position, Number
  1615.         
  1616.         ' Tainted Sun
  1617.         Number = &H4
  1618.         Position = 355
  1619.         Seek #1, Position
  1620.         Put #1, Position, Number
  1621.         
  1622.         ' Arcane Sanctuary
  1623.         Number = &H4
  1624.         Position = 357
  1625.         Seek #1, Position
  1626.         Put #1, Position, Number
  1627.         
  1628.         ' The Summoner
  1629.         Number = &H4
  1630.         Position = 359
  1631.         Seek #1, Position
  1632.         Put #1, Position, Number
  1633.         
  1634.         ' Seven Tombs
  1635.         Number = &H4
  1636.         Position = 361
  1637.         Seek #1, Position
  1638.         Put #1, Position, Number
  1639.     End If
  1640.  If chkActIICompleteQuests.Value = 1 Then
  1641.         
  1642.         ' Radaments Lair
  1643.         Number = &H7
  1644.         Position = 351
  1645.         Seek #1, Position
  1646.         Put #1, Position, Number
  1647.         
  1648.         Number = &H10
  1649.         Position = 352
  1650.         Seek #1, Position
  1651.         Put #1, Position, Number
  1652.         
  1653.         ' Horadric Staff
  1654.         Number = &H7
  1655.         Position = 353
  1656.         Seek #1, Position
  1657.         Put #1, Position, Number
  1658.         
  1659.         Number = &H10
  1660.         Position = 354
  1661.         Seek #1, Position
  1662.         Put #1, Position, Number
  1663.         
  1664.         ' Tainted Sun
  1665.         Number = &H7
  1666.         Position = 355
  1667.         Seek #1, Position
  1668.         Put #1, Position, Number
  1669.         
  1670.         Number = &H10
  1671.         Position = 356
  1672.         Seek #1, Position
  1673.         Put #1, Position, Number
  1674.         
  1675.         ' Arcane Sanctuary
  1676.         Number = &H7
  1677.         Position = 357
  1678.         Seek #1, Position
  1679.         Put #1, Position, Number
  1680.         
  1681.         Number = &H10
  1682.         Position = 358
  1683.         Seek #1, Position
  1684.         Put #1, Position, Number
  1685.         
  1686.         ' The Summoner
  1687.         Number = &H7
  1688.         Position = 359
  1689.         Seek #1, Position
  1690.         Put #1, Position, Number
  1691.         
  1692.         Number = &H10
  1693.         Position = 360
  1694.         Seek #1, Position
  1695.         Put #1, Position, Number
  1696.         
  1697.         ' Seven Tombs
  1698.         Number = &H7
  1699.         Position = 361
  1700.         Seek #1, Position
  1701.         Put #1, Position, Number
  1702.         
  1703.         Number = &H10
  1704.         Position = 362
  1705.         Seek #1, Position
  1706.         Put #1, Position, Number
  1707.     End If
  1708.     If chkActIEnableQuests.Value = 1 Then
  1709.         
  1710.         ' Den of Evil
  1711.         Number = &H4
  1712.         Position = 335
  1713.         Seek #1, Position
  1714.         Put #1, Position, Number
  1715.         
  1716.         ' Burial Grounds
  1717.         Number = &H4
  1718.         Position = 337
  1719.         Seek #1, Position
  1720.         Put #1, Position, Number
  1721.         
  1722.         ' Search for Cain
  1723.         Number = &H4
  1724.         Position = 341
  1725.         Seek #1, Position
  1726.         Put #1, Position, Number
  1727.         
  1728.         ' Forgotten Tower
  1729.         Number = &H4
  1730.         Position = 343
  1731.         Seek #1, Position
  1732.         Put #1, Position, Number
  1733.         
  1734.         ' Tools of Trade
  1735.         Number = &H4
  1736.         Position = 339
  1737.         Seek #1, Position
  1738.         Put #1, Position, Number
  1739.         
  1740.         ' Andariel
  1741.         Number = &H4
  1742.         Position = 345
  1743.         Seek #1, Position
  1744.         Put #1, Position, Number
  1745.     End If
  1746.     If chkActICompleteQuests.Value = 1 Then
  1747.         
  1748.         ' Den of Evil
  1749.         Number = &H7
  1750.         Position = 335
  1751.         Seek #1, Position
  1752.         Put #1, Position, Number
  1753.         
  1754.         Number = &H10
  1755.         Position = 336
  1756.         Seek #1, Position
  1757.         Put #1, Position, Number
  1758.         
  1759.         ' Burial Grounds
  1760.         Number = &H7
  1761.         Position = 337
  1762.         Seek #1, Position
  1763.         Put #1, Position, Number
  1764.         
  1765.         Number = &H10
  1766.         Position = 338
  1767.         Seek #1, Position
  1768.         Put #1, Position, Number
  1769.         
  1770.         ' Search for Cain
  1771.         Number = &H7
  1772.         Position = 341
  1773.         Seek #1, Position
  1774.         Put #1, Position, Number
  1775.         
  1776.         Number = &H10
  1777.         Position = 342
  1778.         Seek #1, Position
  1779.         Put #1, Position, Number
  1780.         
  1781.         ' Forgotten Tower
  1782.         Number = &H7
  1783.         Position = 343
  1784.         Seek #1, Position
  1785.         Put #1, Position, Number
  1786.         
  1787.         Number = &H10
  1788.         Position = 344
  1789.         Seek #1, Position
  1790.         Put #1, Position, Number
  1791.         
  1792.         ' Tools of Trade
  1793.         Number = &H7
  1794.         Position = 339
  1795.         Seek #1, Position
  1796.         Put #1, Position, Number
  1797.         
  1798.         Number = &H10
  1799.         Position = 340
  1800.         Seek #1, Position
  1801.         Put #1, Position, Number
  1802.         
  1803.         ' Andariel
  1804.         Number = &H7
  1805.         Position = 345
  1806.         Seek #1, Position
  1807.         Put #1, Position, Number
  1808.         
  1809.         Number = &H10
  1810.         Position = 346
  1811.         Seek #1, Position
  1812.         Put #1, Position, Number
  1813.         
  1814.     End If
  1815.  End If
  1816. MsgBox ("Save Game File has been edited and saved.")
  1817. Close #1
  1818. End Sub
  1819. ' Form Load - When Form is loaded Enable/Disable all this junk
  1820. Private Sub Form_Load()
  1821. cmdSave.Enabled = False
  1822. cmdClose.Enabled = False
  1823. chkActIEnableQuests.Enabled = False
  1824. chkActICompleteQuests.Enabled = False
  1825. chkActIWaypoints.Enabled = False
  1826. chkActIIEnableQuests.Enabled = False
  1827. chkActIICompleteQuests.Enabled = False
  1828. chkActIIWaypoints.Enabled = False
  1829. chkActIIIEnableQuests.Enabled = False
  1830. chkActIIICompleteQuests.Enabled = False
  1831. chkActIIIWaypoints.Enabled = False
  1832. chkActIVEnableQuests.Enabled = False
  1833. chkActIVCompleteQuests.Enabled = False
  1834. chkActIVWaypoints.Enabled = False
  1835. chkHell.Enabled = False
  1836. chkNightmare.Enabled = False
  1837. chkEnableActII.Enabled = False
  1838. chkEnableActIII.Enabled = False
  1839. chkEnableAll.Enabled = False
  1840.         
  1841. End Sub
  1842.