Backup/restore file gta san andreas

« Older   Newer »
  Share  
SuperAntani
CAT_IMG Posted on 10/8/2010, 21:20     +1   -1




Ecco qui, per il momento serve solo a eseguire il backup/restore dei salvataggi e delle mod cleo (a me serve perché ogni tanto alcune le levo).

Ho intenzione di aggiungere:
1. Cambiare la posizione dei salvataggi
2. Inserire alcuni tips
3. Inserire anche una GUI avanzata
4. Fare modifiche di sintassi al codice

Ecco il codice v1.0
v1.5

Come al solito consiglio di scaricare l'allegato perché altrimenti si sballa tutto il codice

SPOILER (click to view)
CODICE
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $dir_gta_sa = GetGTASAPath ()
Global $lst1, $lst2, $lst3, $lst4, $lst_t
Dim $s_g = "C:\Documents and settings\" & @UserName & "\Documenti\GTA San Andreas User Files\"
Dim $b_s = "C:\Documents and settings\" & @UserName & "\Documenti\GTA San Andreas User Files\Backup user file\Salvataggi\"
Dim $c_g = $dir_gta_sa & "\CLEO\"
Dim $b_c = "C:\Documents and settings\" & @UserName & "\Documenti\GTA San Andreas User Files\Backup user file\Mod CLEO\"


#Region ### START Koda GUI section ### Form=c:\documents and settings\giorgio\desktop\gestione gta sa koda.kxf
$parent = GUICreate ("Gestione GTA SA", 452, 717, 315, 124)
$lbl1 = GUICtrlCreateLabel ("Salvataggi in GTA SA", 8, 8, 107, 17)
$lst1 = GUICtrlCreateList ("", 8, 32, 209, 214)
$btn1_1 = GUICtrlCreateButton ("Backup", 27, 256, 65, 20)
$btn1_2 = GUICtrlCreateButton ("Elimina", 133, 256, 65, 20)
$lbl2 = GUICtrlCreateLabel ("Backup salvataggi GTA SA", 232, 8, 134, 17)
$lst2 = GUICtrlCreateList ("", 232, 32, 209, 214)
$btn2_1 = GUICtrlCreateButton ("Ripsristina", 256, 256, 65, 20)
$btn2_2 = GUICtrlCreateButton ("Elimina", 360, 256, 65, 20)
$lbl3 = GUICtrlCreateLabel ("Mod CLEO in GTA SA", 8, 296, 109, 17)
$lst3 = GUICtrlCreateList ("", 8, 320, 209, 214)
$btn3_1 = GUICtrlCreateButton ("Backup", 27, 543, 65, 20)
$btn3_2 = GUICtrlCreateButton ("Elimina", 128, 543, 65, 20)
$lbl4 = GUICtrlCreateLabel ("Backup mod CLEO GTA SA", 232, 296, 137, 17)
$lst4 = GUICtrlCreateList ("", 233, 320, 209, 214)
$btn4_1 = GUICtrlCreateButton ("Ripristina", 256, 543, 65, 20)
$btn4_2 = GUICtrlCreateButton ("Elimina", 359, 543, 65, 20)
$status_b = _GUICtrlStatusBar_Create ($parent)
_GUICtrlStatusBar_SetMinHeight ($status_b, 20)
GUISetState ()
#EndRegion ### END Koda GUI section ###


initialize ()


While 1
       $msg = GUIGetMsg ()
       Select
               Case $msg = $GUI_EVENT_CLOSE
                       Exit
               Case $msg = $btn1_1
                       FileCopy ($s_g & GUICtrlRead ($lst1), $b_s)
                       ReloadFile ()
               Case $msg = $btn1_2
                       If FileExists ($b_s & GUICtrlRead ($lst1)) Then
                               FileDelete ($s_g & GUICtrlRead ($lst1))
                               ReloadFile ()
                       Else
                               MsgBox (0, "Errore", "Deve rimanere almeno una copia del salvataggio")
                       EndIf
               Case $msg = $btn2_1
                       FileCopy ($b_s & GUICtrlRead ($lst2), $s_g)
                       ReloadFile ()
               Case $msg = $btn2_2
                       If FileExists ($s_g & GUICtrlRead ($lst2)) Then
                               FileDelete ($b_s & GUICtrlRead ($lst2))
                               ReloadFile ()
                       Else
                               MsgBox (0, "Errore", "Deve rimanere almeno una copia del salvataggio")
                       EndIf
               Case $msg = $btn3_1
                       FileCopy ($c_g & GUICtrlRead ($lst3), $b_c)
                       ReloadFile ()
               Case $msg = $btn3_2
                       If FileExists ($b_c & GUICtrlRead ($lst3)) Then
                               FileDelete ($c_g & GUICtrlRead ($lst3))
                               ReloadFile ()
                       Else
                               MsgBox (0, "Errore", "Deve rimanere almeno una copia del salvataggio")
                       EndIf
               Case $msg = $btn4_1
                       FileCopy ($b_c & GUICtrlRead ($lst4), $c_g)
                       ReloadFile ()
               Case $msg = $btn4_2
                       If FileExists ($c_g & GUICtrlRead ($lst4)) Then
                               FileDelete ($b_c & GUICtrlRead ($lst4))
                               ReloadFile ()
                       Else
                               MsgBox (0, "Errore", "Deve rimanere almeno una copia del salvataggio")
                       EndIf
               Case GUICtrlRead ($lst1) = "Selezionami per cambiare di posizione"
                       _GUICtrlListBox_SetCurSel ($lst1, 1)
                       ChangeSavPosition ()
                       ReloadFile ()
       EndSelect
WEnd

Func initialize ()
       ReloadInfo ()
       ReloadFile ()
EndFunc

Func ReloadFile ()
       _GUICtrlListBox_ResetContent ($lst1)
       _GUICtrlListBox_ResetContent ($lst2)
       _GUICtrlListBox_ResetContent ($lst3)
       _GUICtrlListBox_ResetContent ($lst4)
       GUICtrlSetData ($lst1, "Selezionami per cambiare di posizione")
       GetFileList ($s_g, "*.b", $lst1)   ;Salvataggi in GTA SA
       GetFileList ($b_s, "*.b", $lst2)   ;Backup salvataggi GTA SA
       GetFileList ($c_g, "*.cs", $lst3)  ;Mod CLEO in GTA SA
       GetFileList ($b_c, "*.cs", $lst4)  ;Backup Mod CLEO GTA SA
EndFunc

Func ReloadInfo ()
       _GUICtrlStatusBar_SetText ($status_b, "La dir di GTA SA è: " & $dir_gta_sa)
EndFunc

Func GetFileList ($dir, $ext, $lst)
       $search = FileFindFirstFile ($dir & $ext)
       If $search <> -1 Then
               While 1
                       $file = FileFindNextFile ($search)
                       If @error Then ExitLoop
                       GUICtrlSetData ($lst, $file)
               WEnd
       EndIf
EndFunc

Func GetGTASAPath ()
       Local $dir
       $r_r = RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Rockstar Games\GTA San Andreas\Installation\", "ExePath")
       $s_s = StringSplit (StringTrimLeft (StringTrimRight ($r_r, 1), 1), "\")
       For $i = 1 To $s_s[0] - 1
               $dir &= $s_s[$i] & "\"
       Next
       Return ($dir)
EndFunc

Func ChangeSavPosition ()
       $child = GUICreate ("Imposta l'ordine dei salvataggi", 250, 170)
       $lst_t = GUICtrlCreateList ("", 2, 2, 246, 120)
       $inp_t = GUICtrlCreateInput ("1", 2, 140, 50, 20)
       $btn_t = GUICtrlCreateButton ("Imposta", 57, 140, 50, 20)
       GetFileListTemp ()
       GUICtrlCreateLabel ("Inserisci la posizione da impostare", 2, 117)
       GUISetState ()
       While 1
               $msg = GUIGetMsg ()
               $read_inp = GUICtrlRead ($inp_t)
               $read_n = GetItemN ()
               Select
                       Case $msg = $GUI_EVENT_CLOSE
                               GUIDelete ($child)
                               ExitLoop
                       Case $msg = $btn_t
                               If Number ($read_inp) = 0 Then
                                       MsgBox (0, "Errore", "Il valore inserito non è numerico")
                                       ContinueLoop
                               ElseIf $read_inp < 1 Or $read_inp > 8 Then
                                       MsgBox (0, "Errore", "Devi inserire un valore numerico fra 1 e 8")
                                       ContinueLoop
                               ElseIf FileExists ($s_g & "GTASAsf" & $read_inp & ".b") Then
                                       MsgBox (0, "Errore", "Non puoi sovrascrivere su un'altro salvataggio")
                                       ContinueLoop
                               EndIf
                               _GUICtrlListBox_ResetContent ($lst_t)
                               FileMove ($s_g & "GTASAsf" & $read_n & ".b", $s_g & "GTASAsf" & $read_inp & ".b")
                               GetFileListTemp ()
               EndSelect
       WEnd
EndFunc

Func GetItemN ()
       Return (StringLeft (_GUICtrlListBox_GetText ($lst_t, _GUICtrlListBox_GetCurSel ($lst_t)), 1))
EndFunc

Func GetFileListTemp ()
       $file = FileFindNextFile (FileFindFirstFile ($s_g & "*.b"))
       $s_s = StringSplit ($file, ".")
       For $i = 1 To 8
               If FileExists ($s_g & "GTASAsf" & $i & ".b") Then
                       GUICtrlSetData ($lst_t, $i & ". GTASAsf" & $i & ".b")
               Else
                       GUICtrlSetData ($lst_t, $i & ". (Spazio vuoto)")
               EndIf
       Next
       _GUICtrlListBox_SetCurSel ($lst_t, 0)
EndFunc


Edited by SuperAntani - 11/8/2010, 10:50

Download attachment
Gestione_GTA_SA.zip ( Number of downloads: 72 )

 
Top
SuperAntani
CAT_IMG Posted on 11/8/2010, 09:50     +1   -1




UP. Postata versione 1.5
 
Top
Grandebestia
CAT_IMG Posted on 11/8/2010, 12:38     +1   -1




Anche io ho ripreso a modificare san andreas, ho fatto anche una cleo mod ed una skin, ed un programma per modificare la velocità ed altro di una macchina!
 
Top
CAT_IMG Posted on 25/8/2010, 11:57     +1   -1

Luigi Verzì - Sviluppatore Web

Group:
Member
Posts:
1,286
Reputazione:
+3
Location:
Catania

Status:


Io un tempo creavo mod per san andreas, anche cleo. Cmq utile. Eccone 3 tanto per farti vedere xD. Scusa per l'ot
SPOILER (click to view)
imageimage
 
Web  Contacts  Top
3 replies since 10/8/2010, 21:20   715 views
  Share