Unmantained Guida [PY-CAZZATA] Pulsante per richiamare cavallo in game (no quest)

  • Autore discussione Autore discussione BLD
  • Data d'inizio Data d'inizio
Una guida contrassegnata come Unmantained contiene informazioni su un argomento obsoleto, non più utile o files non aggiornati da parte del creatore.
Stato
Discussione chiusa ad ulteriori risposte.

BLD

Utente Emerald
24 Luglio 2010
1,164
51
386
550
Ultima modifica da un moderatore:
Requisti:
  1. Minima conoscenza di py soprattutto metodi e sapere cos'è l' identazione. :nuu:
2. Client e decriptatore.
3. Cervello funzionante :megaomg:


How To:



  1. Decriptare root.
  2. Cercare il file Interfacemodule.py e aprirlo
  3. Cercare il constinfo.py
  4. Aggiungere constInfo.Horse = 0
  5. Qui dovete "sbrigarvela" voi,aggiungerete un nuovo pulsante tenete conto anche del file taskbar.py in uiscript e uitaskbar.py in root se cercate in rete in lingua inglese troverete una guida non dico altro:blabla:.
  6. Cercare il metodo __MakeTaskBar e aggiungere qualcosa come
    Codice:
             self.wndTaskBar.SetToggleButtonEvent([B]uiTaskBar[/B].[B]TaskBar[/B].BUTTON_HORSE,ui.__mem_func__(self.Horse_Call)

##Abbiamo messo un metodo sull'ipotetico bottone creato nel punto 5
7. Ora aggiungiamo il nostro metodo sotto a ## Show & Hide riga 744
Codice:
    def Horse_Call(self):            
        import net
        import constInfo
        if  constInfo.Horse == FALSE:
            net.SendChatPacket("/horse_unsummon")
             constInfo.Horse = 1    #la potenza di py 2.2
            
        else:
            net.SendChatPacket("/horse_summon")
            constInfo.Horse= FALSE



Ecco fatto ora cliccando sul nostro bottone si evocherà o riclickando manderemo via il cavallo con un minimo di testa si potrebbe fare una cosa simile anche per i pet, ma lascio a voi questo.
P.S se non fosse ovvio bisogna settare il cmd per far andare questi due comandi ai player.
 
la mia domanda è perchè associare un valore boleano e poi associarci un valore int?

Altra cosa ma può essere una dimenticanza mia.. il modulo net non è già presente in quella classe?
 
Per dimostrare la potenza di py 2.2 era ironica la cosa.
Poi il modulo dovrebbe essere importato e non presente comunque io non lo ho se hai fatto modifiche tu è un'altra cosa. :asd:
 
Ultima modifica:
gia esiste la funzione per mandarlo via

def __PressBKey(self):
if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
net.SendChatPacket("/user_horse_back")
else:
state = "EMOTICON"
self.interface.ToggleCharacterWindow(state



e un tasto rapido per chiamarlo mi pare abbastanza inutile inquanto basta mettere il libro in 1 slot rapido (1-4,f1-f4)
 
Ultima modifica:
Codice:
    def Horse_Call(self):            
        import net
        if self.Horse== FALSE:
            net.SendChatPacket("/horse_unsummon")
            self.Horse= 1    #la potenza di py 2.2
            
        else:
            net.SendChatPacket("/horse_summon")
            self.Horse= FALSE

Me ne resi conto parlandone ieri con un amico
"if self.Horse == FALSE:" #schifo
"if not self.Horse:" #giusto

altro errore
NameError: name 'FALSE' is not defined
-->False

self.Horse = 1 --> self.Horse = True


--Update, altro bug molto grave.
Noi posizioniamo la variabile con cui tenere conto del summon/unsummon del cavallo, sull'init dell'interface, giusto?
Già qui non capisco una cosa:
controlli se self.Horse sia falsa (visto che è su None, lo è),
in questo caso mandi via il cavallo e lo imposti come vera.

Altrimenti evochi il cavallo.

Son sicuro diciamo al 100% dovrai fare 2 click per evocare il cavallo.
(Uno per settarlo a vero ed uno per evocarlo)

Mettiamo che fixi questo bug, se ne creerebbe un altro.

il modulo interface viene richiamato interamente ad ogni cambio mappa, quindi init compreso.

Mettiamo che tu abbia la var self.Horse settata differentemente da come è di base.
Cambiando mappa tornerebbe su None, o in qualsiasi modo tu la possa mettere, creando una possibile incoerenza in caso uno abbia già evocato/mandato via il cavallo. (Dipende da come la fixi)
 
Me ne resi conto parlandone ieri con un amico
"if self.Horse == FALSE:" #schifo
"if not self.Horse:" #giusto cambia tantissimo sisi convinto

altro errore
NameError: name 'FALSE' is not defined stacca u porn rain
-->False

self.Horse = 1 --> self.Horse = True


--Update, altro bug molto grave.
Noi posizioniamo la variabile con cui tenere conto del summon/unsummon del cavallo, sull'init dell'interface, giusto?
Già qui non capisco una cosa:
controlli se self.Horse sia falsa (visto che è su None, lo è)no se è false è false, non è none, ho controllato sull' ide 2.2 e non ho voglia di aprire il client
in questo caso mandi via il cavallo e lo imposti come vera.

Altrimenti evochi il cavallo.

Son sicuro diciamo al 100% dovrai fare 2 click per evocare il cavallo.
(Uno per settarlo a vero ed uno per evocarlo)

Mettiamo che fixi questo bug, se ne creerebbe un altro.

il modulo interface viene richiamato interamente ad ogni cambio mappa, quindi init compreso.

Mettiamo che tu abbia la var self.Horse settata differentemente da come è di base.
Cambiando mappa tornerebbe su None, o in qualsiasi modo tu la possa mettere, creando una possibile incoerenza in caso uno abbia già evocato/mandato via il cavallo. (Dipende da come la fixi)
Allora ci ho perso 10 minuti per il codice e altri 10 per aprire il client e testare e riaprirlo mi sa che ne hai persi di piu te comunque se c'è quel bug la soluzione mi pare ovvia.

 
Allora ci ho perso 10 minuti per il codice e altri 10 per aprire il client e testare e riaprirlo mi sa che ne hai persi di piu te comunque se c'è quel bug la soluzione mi pare ovvia.


per quanto riguardo true/false, sulla idle non esiste FALSE ma bensì False.
Sul launcher han messo FALSE / TRUE , poco cambia, dato che continuerò a usare False.
tutto si riporta a quel bug che inverte i ruoli.
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom