Ultima modifica da un moderatore:
Yo oggi sono qui per rilasciarvi la mia revisione del ormai notissimo cambia equipaggiamento, introdotto da AeternA (del quale ringrazio lo staff dal cuore perchè mi ha introdotto al mondo del python <3)
Che ha di diverso rispetto a quello originale o da quelli che normalmente girano su inforge? niente di chè alla fine, il funzionamento è lo stesso, però ho aggiunto il tooltip quando si passa sopra gli oggetti, ho fatto in modo che controlli se l'item messo è nel posto giusto (niente più orecchini al posto delle armi), ho fatto in modo che tutti i settaggi di tutti i player che salverete vengano salvati in un solo file e sopratutto quando spostate un oggetto messo nell'equip switcher lo switcher cambierà la posizione di riferimento, tenendolo quindi memorizzato.
Questa volta non vi posto tutti i file, perchè è tardi e perchè la grafica è quella di universal (e non ho voglia di postarla D: )
vi lascio il modulo princiapale e la parte per far "seguire" gli oggetti quando vengono postati. In questo modo potrete cambiare quello che volete e come volete (anche perchè la realizzazione lascia un po a desiderare....)
modulo (nome: uifastequip.py)
QUI
modulo per Python2.2 con cPickle invece che marshal
QUI
grafica (se volete prendere spunto) (nome fastequip.py) (da mettere in locale)
QUI
NB dovete scaricare marshal.pyc per python 2.2 e metterlo in lib se volete far andare, o in alternativa sostituire marshal con cPickle (e cambiare i metodi quelle 2/3 volte che viene utilizzato)
andate in interfacemodule.py, tra le prime righe, tra gli import, mettete
_____________________________________________
in __init__ mettete tra i tanti self.blabka = none
__________________________________________
sempre in intefacedule, tra i vari metodi piazzare
_______________________________
andate in __MakeWindows
e mettete dentro al metodo
______________________________
cercate
e metteteci sotto
################################
spostatevi in game.py
tra i tanti __Press
mettete
_____________________________
cercate onPressKeyDict[app.DIK_M] = lambda : self.interface.PressMKey()
e sotto mettete
#################################
andate in uiinventory.py
in fondo mettete
_____________________
cercate def SelectEmptySlot
e sotto a if player.SLOT_TYPE_INVENTORY == attachedSlotType: mettete
Dopo tutto sto casino avete fatto (ci saranno errori sicuramente, chiedo venia, ma ora di meglio non so fare)
Ringraziementi:
AeternA
Enjoy
Che ha di diverso rispetto a quello originale o da quelli che normalmente girano su inforge? niente di chè alla fine, il funzionamento è lo stesso, però ho aggiunto il tooltip quando si passa sopra gli oggetti, ho fatto in modo che controlli se l'item messo è nel posto giusto (niente più orecchini al posto delle armi), ho fatto in modo che tutti i settaggi di tutti i player che salverete vengano salvati in un solo file e sopratutto quando spostate un oggetto messo nell'equip switcher lo switcher cambierà la posizione di riferimento, tenendolo quindi memorizzato.
Questa volta non vi posto tutti i file, perchè è tardi e perchè la grafica è quella di universal (e non ho voglia di postarla D: )
vi lascio il modulo princiapale e la parte per far "seguire" gli oggetti quando vengono postati. In questo modo potrete cambiare quello che volete e come volete (anche perchè la realizzazione lascia un po a desiderare....)
modulo (nome: uifastequip.py)
QUI
modulo per Python2.2 con cPickle invece che marshal
QUI
grafica (se volete prendere spunto) (nome fastequip.py) (da mettere in locale)
QUI
NB dovete scaricare marshal.pyc per python 2.2 e metterlo in lib se volete far andare, o in alternativa sostituire marshal con cPickle (e cambiare i metodi quelle 2/3 volte che viene utilizzato)
andate in interfacemodule.py, tra le prime righe, tra gli import, mettete
Codice:
import uiFastEquip
_____________________________________________
in __init__ mettete tra i tanti self.blabka = none
Codice:
self.wndFastEquip = None
__________________________________________
sempre in intefacedule, tra i vari metodi piazzare
Codice:
def ToggleFastEquipWindow(self):
if False == player.IsObserverMode():
if False == self.wndFastEquip.IsShow():
self.wndFastEquip.Show()
self.wndFastEquip.SetTop()
andate in __MakeWindows
e mettete dentro al metodo
Codice:
self.wndFastEquip = uiFastEquip.uiFastEquip()
self.wndFastEquip.Hide()
### FastEquip
self.objFastEquipSlots = uiFastEquip.FastEquipSlots()
self.objFastEquipSlots.GenerateSlots()
self.wndInventory.SetFastEquipEvents(self.objFastEquipSlots.GetSlots, self.objFastEquipSlots.SetNSave)
self.wndFastEquip.SetFastEquipEvents(self.objFastEquipSlots.GetSlots, self.objFastEquipSlots.SetSlots, self.objFastEquipSlots.SetNSave, self.objFastEquipSlots.ResetSlots, self.objFastEquipSlots.SaveSots)
#######
______________________________
cercate
Codice:
self.wndInventory.SetItemToolTip(self.tooltipItem)
e metteteci sotto
Codice:
self.wndFastEquip.SetItemToolTip(self.tooltipItem)
################################
spostatevi in game.py
tra i tanti __Press
mettete
Codice:
def __PressXKey(self):
if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
self.interface.ToggleFastEquipWindow()
cercate onPressKeyDict[app.DIK_M] = lambda : self.interface.PressMKey()
e sotto mettete
Codice:
onPressKeyDict[app.DIK_X] = lambda : self.__PressXKey()
#################################
andate in uiinventory.py
in fondo mettete
Codice:
#### FASTEQUIP
def CheckIfFastEquipSlot(self, SlotPos):
slots = self.EventfastEquipManagementGet()
for i in xrange(8):
if slots[i] == SlotPos:
return i
return -1
def SetFastEquipEvents(self, eventGet, eventSave):
self.EventfastEquipManagementGet = eventGet
self.EventfastEquipManagementSet = eventSave
## Slot Event
_____________________
cercate def SelectEmptySlot
e sotto a if player.SLOT_TYPE_INVENTORY == attachedSlotType: mettete
Codice:
#### FASTEQUIP
index = self.CheckIfFastEquipSlot(attachedSlotPos)
if index > -1:
#self.EventfastEquipManagementGet[index] = selectedSlotPos
self.EventfastEquipManagementSet(index, selectedSlotPos)
Dopo tutto sto casino avete fatto (ci saranno errori sicuramente, chiedo venia, ma ora di meglio non so fare)
Ringraziementi:
AeternA
Enjoy

