Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
- #AutoIt3Wrapper_Icon=Icone.ico
- #AutoIt3Wrapper_Add_Constants=n
- #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
- #cs ----------------------------------------------------------------------------
- AutoIt Version : 3.3.8.1
- Auteur: Zouzaka
- Fonction du Script :
- Editeur de creation de cartes et decks pour le script "JCC - Cards Game" sur
- Rpg Maker VX.Ace
- Notes:
- =====> $CardsData <=======
- = Row_id = Card_id =
- = Card_max = Row_Max - 1 =
- = Col[0] = Name =
- = Col[1] = Force =
- = Col[2] = Defense =
- = Col[3] = Picture =
- = Col[4] = Type =
- = Col[5] = Cible =
- ==========================
- ====> Cellul of number of cards
- StringRegExp(_Excel_RangeFind($oWorkbook,"NbrCards")[0][2],"\d",1)[0]&"B"
- ====> BDD to Hash
- '{:name => '&'"'&$CardsData[$i][0]&'"'&',:force => '&$CardsData[$i][1]&',:defense => '&$CardsData[$i][2]&',:picture => '&'"'&$CardsData[$i][3]&'"'&',:type => '&'"'&$CardsData[$i][4]&'"'&',:cilbe => '&'"'&$CardsData[$i][5]&'"'&'}'
- #ce ----------------------------------------------------------------------------
- ; Includes
- ;============================================================================================
- #include <String.au3>
- #include <GUIConstantsEx.au3>
- #include <GuiListView.au3>
- #include <File.au3>
- #include <StaticConstants.au3>
- #include <WindowsConstants.au3>
- #include <GDIPlus.au3>
- #include <Array.au3>
- #include <GuiListView.au3>
- #include <Excel.au3>
- ;Variables
- ;============================================================================================
- Opt("MouseCoordMode", 1)
- Global $CardsData[1][6], $Decks[1][2], $LocalArray[6]
- Global $CC_Pic = "Default.png", $Opened = False
- $CardsData[0][0] = 0
- $To_Save = 0
- $oExcel = _Excel_Open(False)
- ;Gui Editeur JCC - Cards Game
- ;============================================================================================
- $Fenetre_save = GUICreate("Editeur JCC - Cards Game", 280, 150)
- $Project_name = GUICtrlCreateInput("Nom du Projet", 5, 5, 260, 20)
- $Save = GUICtrlCreateButton("Sauvgarder", 5, 30, 100)
- $Load = GUICtrlCreateButton("Reprendre", 165, 30, 100)
- $Open = GUICtrlCreateButton("Ouvrir ... ", 110, 30)
- $Open_CE = GUICtrlCreateButton("Cards Editor", 5, 80, 260)
- $Open_DE = GUICtrlCreateButton("Deck Editor", 5, 110, 260)
- $Fenetre_pos = WinGetPos("Editeur JCC - Cards Game")
- ; Gui Cards Editor
- ;============================================================================================
- $Fenetre = GUICreate("Cards Creator", 280, 400, $Fenetre_pos[0] + 320, -1, -1, -1, $Fenetre_save)
- $Card_List = GUICtrlCreateListView("ID|Name|Type", 0, 0, 150, 355)
- ;Inputs et Labels
- GUICtrlCreateLabel("Nom de la carte", 160, 5)
- $Input_name = GUICtrlCreateInput("Nom", 160, 25, 100, 25)
- GUICtrlCreateLabel("Force", 160, 55)
- $Input_force = GUICtrlCreateInput(0, 160, 75, 100, 25)
- GUICtrlCreateLabel("Defense", 160, 105)
- $Input_defense = GUICtrlCreateInput(0, 160, 125, 100, 25)
- ;Combobox et labels
- GUICtrlCreateLabel("Type", 160, 155)
- $Input_type = GUICtrlCreateCombo("Monstre", 160, 175, 100, 25)
- GUICtrlSetData(-1, "Spell")
- GUICtrlCreateLabel("Cible", 160, 205)
- $Input_cible = GUICtrlCreateCombo("Joueur", 160, 225, 100, 25)
- GUICtrlSetData(-1, "Adversaire")
- ;Picture and boutons
- $Image = GUICtrlCreatePic("", 160, 255, 100, 100, $WS_EX_LAYOUTRTL + $SS_NOTIFY)
- $Ajouter = GUICtrlCreateButton("Ajouter", 160, 370)
- $Modifier = GUICtrlCreateButton("Modifier", 215, 370)
- $card_select = GUICtrlCreateButton("Selectioner", 50, 370)
- ; Gui Pictures Selection
- ;============================================================================================
- $Fenetre_img = GUICreate("Cards Picture", 200, 300, -1, $Fenetre_pos[1] + 190, 0, -1, $Fenetre)
- $Pictures_list = GUICtrlCreateListView("Nom", 5, 5, 185, 230)
- ;Inputs et Labels
- $validerpic = GUICtrlCreateButton("Valider", 78, 240)
- ;Gui Deck Editor
- ;============================================================================================
- $Fenetre_DE = GUICreate("Deck Editor", 280, 400, $Fenetre_pos[0] - 320, -1, -1, -1, $Fenetre_save)
- GUICtrlCreateLabel("Creation de deck :", 5, 5)
- $Input_Deck = GUICtrlCreateInput("Nom du Deck", 5, 25, 150)
- $Ajouter_Deck = GUICtrlCreateButton("Ajouter", 170, 25, 100, 20)
- $Deck_List = GUICtrlCreateListView("Nom Du Deck", 0, 50, 280, 100)
- $Select_Deck = GUICtrlCreateButton("Selectionner Deck", 5, 155, 120, 20)
- $Delete_Deck = GUICtrlCreateButton("Supprimer Deck", 155, 155, 120, 20)
- $Deck_Cards = GUICtrlCreateListView("ID|Name|Type", 0, 180, 130, 195)
- $List_Cards = GUICtrlCreateListView("ID|Name|Type", 150, 180, 130, 195)
- $To_List = GUICtrlCreateButton("X", 15, 377, 100, 20)
- $To_Deck = GUICtrlCreateButton("<<", 165, 377, 100, 20)
- ;Set States
- ;============================================================================================
- GUIRegisterMsg($WM_PAINT, "MY_WM_PAINT")
- GUISetState(@SW_SHOW, $Fenetre_save)
- ; Boucle (Deroulement)
- ;============================================================================================
- While 1
- $msg = GUIGetMsg()
- Switch $msg
- Case $GUI_EVENT_CLOSE
- _Excel_Close($oExcel)
- Exit
- Case $Image
- GUISetState(@SW_SHOW, $Fenetre_img)
- Case $Open
- Global $Adresse = "C:\Users\" & @UserName & "\Documents\RPGVXAce\" & GUICtrlRead($Project_name)
- Global $Find_Pictures = _FileListToArray($Adresse & "\Graphics\Cards")
- If FileExists($Adresse) == 0 Then
- MsgBox(0, "Erreur", "Le chemin :" & @LF & $Adresse & @LF & _
- "est introuvable")
- ElseIf FileExists($Adresse & "\Graphics\Cards\Default.png") == 0 Then
- If MsgBox(4, "Erreur", "Le Fichier :" & @LF & "\Graphics\Cards\Default.png" & @LF & "est introuvable" & @LF & @LF & _
- "Voulez vous le créer ?") == 6 Then
- DirCreate($Adresse & "\Graphics\Cards")
- FileCopy("Default.png", $Adresse & "\Graphics\Cards", 0)
- $Opened = True
- MsgBox(0, "Message", "Projet ouvret avec succée")
- Global $Find_Pictures = _FileListToArray($Adresse & "\Graphics\Cards")
- EndIf
- ElseIf @error == 4 Then
- MsgBox(0, "Erreur", "Aucune Image trouvée")
- Else
- $Opened = True
- MsgBox(0, "Message", "Projet ouvret avec succée")
- EndIf
- Case $validerpic
- If Verify_list($Pictures_list) == True Then
- $CC_Pic_Index = _GUICtrlListView_GetSelectedIndices($Pictures_list, True)
- $CC_Pic = _GUICtrlListView_GetItemText($Pictures_list, $CC_Pic_Index[1])
- If $CC_Pic == "" Then
- $CC_Pic = "Default.png"
- EndIf
- CreatImage($Adresse & "\Graphics\Cards\" & $CC_Pic, $Fenetre)
- GUISetState(@SW_HIDE, $Fenetre_img)
- Else
- MsgBox(0, "Erreur", "Veillez choisir une seul image")
- EndIf
- Case $Ajouter
- $LocalArray[0] = GUICtrlRead($Input_name) ;Name
- $LocalArray[1] = Int(GUICtrlRead($Input_force)) ;Force
- $LocalArray[2] = Int(GUICtrlRead($Input_defense)) ;Defense
- $LocalArray[3] = $CC_Pic ;Picture
- $LocalArray[4] = GUICtrlRead($Input_type) ;Type
- $LocalArray[5] = GUICtrlRead($Input_cible) ;Cible
- _ArrayInsert($CardsData,UBound($CardsData)-1,_ArrayToString($LocalArray))
- $CardsData[UBound($CardsData)-1][1] = UBound($CardsData)-1
- $CardsData[UBound($CardsData)-1][0] = "NbrCards"
- _ArrayDisplay($CardsData)
- GUICtrlCreateListViewItem(UBound($CardsData) - 1 & "|" & GUICtrlRead($Input_name) & "|" & GUICtrlRead($Input_type), $Card_List)
- GUICtrlCreateListViewItem(UBound($CardsData) - 1 & "|" & GUICtrlRead($Input_name) & "|" & GUICtrlRead($Input_type), $List_Cards)
- Case $Modifier
- $Card_Index = _GUICtrlListView_GetSelectedIndices($Card_List, True)
- $CardsData[$Card_Index[1]][0] = GUICtrlRead($Input_name) ;Name
- $CardsData[$Card_Index[1]][1] = Int(GUICtrlRead($Input_force)) ;Force
- $CardsData[$Card_Index[1]][2] = Int(GUICtrlRead($Input_defense)) ;Defense
- $CardsData[$Card_Index[1]][3] = $CC_Pic ;Picture
- $CardsData[$Card_Index[1]][4] = GUICtrlRead($Input_type) ;Type
- $CardsData[$Card_Index[1]][5] = GUICtrlRead($Input_cible) ;Cible
- _Update_Card_List()
- Case $card_select
- If Verify_list($Card_List) == True Then
- $Card_Index = _GUICtrlListView_GetSelectedIndices($Card_List, True)
- GUICtrlSetData($Input_name, $CardsData[$Card_Index[1]][0])
- GUICtrlSetData($Input_force, $CardsData[$Card_Index[1]][1])
- GUICtrlSetData($Input_defense, $CardsData[$Card_Index[1]][2])
- GUICtrlSetData($Input_type, $CardsData[$Card_Index[1]][4])
- GUICtrlSetData($Input_cible, $CardsData[$Card_Index[1]][5])
- CreatImage($Adresse & "\Graphics\Cards\" & $CardsData[$Card_Index[1]][3], $Fenetre)
- If $CardsData[$Card_Index[1]][3] == "" Then
- CreatImage($Adresse & "\Graphics\Cards\Default.png", $Fenetre)
- EndIf
- Else
- MsgBox(0, "Erreur", "Veillez choisir une seul carte")
- EndIf
- Case $Load
- If $Opened == True Then
- If FileExists(GUICtrlRead($Project_name)&".xlsx") == 0 Then
- MsgBox(0, "Erreur", "Aucune Sauvgarde trouvée")
- Else
- _GUICtrlListView_DeleteAllItems($Deck_Cards)
- _GUICtrlListView_DeleteAllItems($Deck_List)
- GUICtrlSetData($Card_List, "")
- GUICtrlSetData($List_Cards, "")
- GUICtrlSetData($Deck_Cards, "")
- GUICtrlSetData($Deck_List, "")
- _Load_CardsData()
- _Update_Card_List()
- If FileExists(GUICtrlRead($Project_name)&"_Decks"&".xlsx") = 1 Then
- _Load_Decks()
- _Update_Deck_List()
- EndIf
- MsgBox(0, "Message", "Fichier repris avec succé")
- EndIf
- Else
- MsgBox(0, "Erreur", "Veillez ouvrir un projet")
- EndIf
- Case $Save
- If $Opened == True Then
- If $Adresse And FileExists($Adresse) == 1 Then
- MsgBox(0,"JCC","Sauvgarde en cours ...")
- _Save_CardsData()
- _Rgss_CardsData()
- _Save_Decks()
- _Rgss_Decks()
- MsgBox(0,"JCC","Sauvgarde Terminé ! =D")
- Else
- MsgBox(0, "Erreur", "Veillez ouvrir un projet valide")
- EndIf
- Else
- MsgBox(0, "Erreur", "Veillez ouvrir un projet")
- EndIf
- Case $Open_CE
- If $Opened == True Then
- GUISetState(@SW_SHOW, $Fenetre)
- CreatImage($Adresse & "\Graphics\Cards\Default.png", $Fenetre)
- For $Picture In $Find_Pictures
- GUICtrlCreateListViewItem($Picture, $Pictures_list)
- Next
- _GUICtrlListView_DeleteItem($Pictures_list, 0)
- Else
- MsgBox(0, "Erreur", "Veillez ouvrir un projet")
- EndIf
- Case $Ajouter_Deck
- _ArrayInsert($Decks,UBound($Decks)-1,GUICtrlRead($Input_Deck))
- $Decks[UBound($Decks)-1][1] = UBound($Decks)-1
- $Decks[UBound($Decks)-1][0] = "NbrDecks"
- GUICtrlCreateListViewItem(GUICtrlRead($Input_Deck), $Deck_List)
- Case $Select_Deck
- If Verify_list($Deck_List) == True Then
- _GUICtrlListView_DeleteAllItems($Deck_Cards)
- $Deck_index = _GUICtrlListView_GetSelectedIndices($Deck_List, True)
- Local $LocalDeck = StringSplit($Decks[$Deck_index[1]][1],"|",2)
- For $card = 0 To UBound($LocalDeck) - 1
- If Not $LocalDeck[$card] = "" Then
- GUICtrlCreateListViewItem($LocalDeck[$card]+1 & "|" & $CardsData[$LocalDeck[$card]][0] & "|" & _
- $CardsData[$LocalDeck[$card]][4], $Deck_Cards)
- EndIf
- Next
- Else
- MsgBox(0, "Erreur", "Veillez choisir un seul deck")
- EndIf
- Case $Delete_Deck
- If Verify_list($Deck_List) == True Then
- $Deck_index = _GUICtrlListView_GetSelectedIndices($Deck_List, True)
- _ArrayDelete($Decks, $Deck_index[1] + 1)
- _GUICtrlListView_DeleteItem($Deck_List, $Deck_index[1])
- Else
- MsgBox(0, "Erreur", "Veillez choisir un seul deck")
- EndIf
- Case $Open_DE
- If $Opened == True Then
- GUISetState(@SW_SHOW, $Fenetre_DE)
- Else
- MsgBox(0, "Erreur", "Veillez ouvrir un projet")
- EndIf
- Case $To_Deck
- If Verify_list($Deck_List) == True And IsDeclared("Deck_index") == 1 Then
- If Verify_list($List_Cards) == True Then
- $Card_Index = _GUICtrlListView_GetSelectedIndices($List_Cards, True)
- $Decks[$Deck_index[1]][1] &= $Card_Index[1]&"|"
- GUICtrlCreateListViewItem($Card_Index[1] + 1 & "|" & $CardsData[$Card_Index[1]][0] & "|" & $CardsData[$Card_Index[1]][4], $Deck_Cards)
- Else
- MsgBox(0, "Erreur", "Selectionner une carte")
- EndIf
- Else
- MsgBox(0, "Erreur", "Veillez selectionner un seul deck")
- EndIf
- Case $To_List
- If Verify_list($Deck_Cards) == True Then
- $Card_Index = _GUICtrlListView_GetSelectedIndices($Deck_Cards, True)
- ;~ _GUICtrlListView_GetItemTextArray($Deck_Cards,$Card_Index[1])[1]-1
- Local $LocalDeck = StringSplit($Decks[$Deck_index[1]][1],"|",2)
- _ArrayDisplay($LocalDeck)
- _ArrayDelete($LocalDeck,_ArrayFindAll($LocalDeck,_GUICtrlListView_GetItemTextArray($Deck_Cards,$Card_Index[1])[1]-1)[0])
- $Decks[$Deck_index[1]][1] = _ArrayToString($LocalDeck)
- _GUICtrlListView_DeleteItem($Deck_Cards, $Card_Index[1])
- Else
- MsgBox(0, "Erreur", "Selectionner une carte")
- EndIf
- EndSwitch
- WEnd
- ; Functions
- ;============================================================================================
- Func Verify_list($hWnd)
- Local $Selected_count = _GUICtrlListView_GetSelectedCount($hWnd)
- If $Selected_count == 1 Then
- Return True
- Else
- Return False
- EndIf
- EndFunc ;==>Verify_list
- Func CreatImage($chemin, $hGUI)
- Global $hImage, $hGraphic
- _GDIPlus_Startup()
- $hImage = _GDIPlus_ImageLoadFromFile($chemin)
- $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
- _GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 160, 255)
- EndFunc ;==>CreatImage
- Func MY_WM_PAINT($hWnd, $msg, $wParam, $lParam)
- #forceref $hWnd, $Msg, $wParam, $lParam
- If IsDeclared("Adresse") == 1 Then
- CreatImage($Adresse & "\Graphics\Cards\" & $CC_Pic, $Fenetre)
- EndIf
- Return $GUI_RUNDEFMSG
- EndFunc ;==>MY_WM_PAINT
- Func _Save_CardsData()
- $oCardBook = _Excel_BookNew($oExcel)
- If $CardsData[0][0] == "" Or $CardsData[0][0] == "NbrCards" Then
- FileDelete(@ScriptDir&"\"&GUICtrlRead($Project_name)&".xlsx")
- Else
- _Excel_RangeWrite($oCardBook, $oCardBook.Activesheet, $CardsData, "A1")
- If FileExists(GUICtrlRead($Project_name)&".xlsx") == 1 Then
- FileDelete(GUICtrlRead($Project_name)&".xlsx")
- EndIf
- _Excel_BookSaveAs ($oCardBook,@ScriptDir&"\"&GUICtrlRead($Project_name))
- EndIf
- _Excel_BookClose($oCardBook)
- EndFunc
- Func _Update_Card_List()
- $oCardBook = _Excel_BookOpen($oExcel,@ScriptDir&"\"&GUICtrlRead($Project_name)&".xlsx")
- If @error Then ConsoleWrite(@error &"|||||"&@extended & @CRLF)
- _GUICtrlListView_DeleteAllItems($Card_List)
- _GUICtrlListView_DeleteAllItems($List_Cards)
- _Excel_RangeFind($oCardBook,"NbrCards")
- For $i = 0 To StringRegExp(_Excel_RangeFind($oCardBook,"NbrCards")[0][2],"\d",1)[0] - 2
- GUICtrlCreateListViewItem($i+1 & "|" & $CardsData[$i][0]& "|" & $CardsData[$i][4], $Card_List)
- GUICtrlCreateListViewItem($i+1 & "|" & $CardsData[$i][0]& "|" & $CardsData[$i][4], $List_Cards)
- Next
- _Excel_BookClose($oCardBook)
- EndFunc
- Func _Load_CardsData()
- $oCardBook = _Excel_BookOpen($oExcel,@ScriptDir&"\"&GUICtrlRead($Project_name)&".xlsx")
- $CardsData = _Excel_RangeRead($oCardBook)
- _Excel_BookClose($oCardBook)
- EndFunc
- Func _Rgss_CardsData()
- $oCardBook = _Excel_BookOpen($oExcel,@ScriptDir&"\"&GUICtrlRead($Project_name)&".xlsx")
- If Not @error = 2 Then
- _FileCreate($Adresse & "\Data\Cards.rvdata2")
- For $i = 0 To StringRegExp(_Excel_RangeFind($oCardBook,"NbrCards")[0][2],"\d",1)[0] - 2
- Local $lcard = '{:name => '&'"'&$CardsData[$i][0]&'"'&',:force => '&$CardsData[$i][1]&',:defense => '&$CardsData[$i][2]&',:picture => '&'"'&$CardsData[$i][3]&'"'&',:type => '&'"'&$CardsData[$i][4]&'"'&',:cilbe => '&'"'&$CardsData[$i][5]&'"'&'}'
- FileWriteLine($Adresse & "\Data\Cards.rvdata2",$lcard)
- Next
- EndIf
- _Excel_BookClose($oCardBook)
- EndFunc
- Func _Save_Decks()
- $oDeckBook = _Excel_BookNew($oExcel)
- If $Decks[0][0] == "" Or $Decks[0][0] == "NbrDecks" Then
- FileDelete(@ScriptDir&"\"&GUICtrlRead($Project_name)&"_Decks"&".xlsx")
- Else
- _Excel_RangeWrite($oDeckBook, $oDeckBook.Activesheet, $Decks, "A1")
- _Excel_BookSaveAs ($oDeckBook,@ScriptDir&"\"&GUICtrlRead($Project_name)&"_Decks")
- EndIf
- _Excel_BookClose($oDeckBook)
- EndFunc
- Func _Rgss_Decks()
- $oDeckBook = _Excel_BookOpen($oExcel,@ScriptDir&"\"&GUICtrlRead($Project_name)&"_Decks"&".xlsx")
- If Not @error = 2 Then
- _FileCreate($Adresse & "\Data\Decks.rvdata2")
- For $i = 0 To StringRegExp(_Excel_RangeFind($oDeckBook,"NbrDecks")[0][2],"\d",1)[0] - 2
- FileWriteLine($Adresse & "\Data\Decks.rvdata2",'{:name => '&'"'&$Decks[$i][0]&'"'&',:cards => '&'"'&$Decks[$i][1]&'"'&'}')
- Next
- EndIf
- _Excel_BookClose($oDeckBook)
- EndFunc
- Func _Load_Decks()
- $oDeckBook = _Excel_BookOpen($oExcel,@ScriptDir&"\"&GUICtrlRead($Project_name)&"_Decks"&".xlsx")
- $Decks = _Excel_RangeRead($oDeckBook)
- _Excel_BookClose($oDeckBook)
- EndFunc
- Func _Update_Deck_List()
- $oDeckBook = _Excel_BookOpen($oExcel,@ScriptDir&"\"&GUICtrlRead($Project_name)&"_Decks"&".xlsx")
- If @error Then ConsoleWrite(@error &"|||||"&@extended & @CRLF)
- _GUICtrlListView_DeleteAllItems($Deck_List)
- _Excel_RangeFind($oDeckBook,"NbrDecks")
- For $i = 0 To StringRegExp(_Excel_RangeFind($oDeckBook,"NbrDecks")[0][2],"\d",1)[0] - 2
- GUICtrlCreateListViewItem($Decks[$i][0], $Deck_List)
- Next
- _Excel_BookClose($oDeckBook)
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement