Bhe sul fatto che è una cosa arrangiata, non ho mai voluto creare o non ho mai pensato di aver creato una cosa professionale e perfetta, anche perchè come qualcuno mi ha detto "non sono queste release rosik le cose a cui dovrei pensare" e infatti mi sono dilettato a farlo a tempo perso perchè il python e il client modding mi affascinano molto...
(ne è testimone il fatto che ho lasciato importati i moduli per la gestione del suono)
- - - Updated - - -
Perchè editare quando puoi fare una seconda risposta (penso che il tuo post sia quello meno spam scritto in questo thread)? D:
Quando ho detto che avevo dei rimasugli del lua, intendevo per il fatto che ho assegnato a RAIN_ON 1 e poi ho fatto il controllo if RAIN_ON == 1: quando mi hai detto che bastava fare il controllo if RAIN_ON:
Non che ho confuso 0 e 1 con True e False
Per il dizionario si, una tupla sarebbe stata la scelta più performante, ma come ho detto non ci ho passato troppo troppo tempo, e non mi è neanche venuto in mente di usare una tupla... in più avevo già in mente di predisporre il tutto in modo che potesse supportare più environment da usare in diverse mappe e occasioni... tutto qui.
Moduli importati ma non usati, molti sono frutto dei tentativi di mettere la musica di sottofondo, altri me li sono proprio dimenticati <.<
Sicuramente è un metodo improprio chiamare gif le ani_image di metin, d'altro canto se dicevo che erano delle ani_image, o meglio un AniImageBox, penso che molti meno avrebbero capito cosa ho fatto.
Sulle variabili globali ci troveremo sempre in disaccordo... hai detto che a lungo andare si creano conflitti, bhe se qualcuno usa il mio script così com'è, dubito sia in grado di moddare il client a piacimento e quindi è improbabile che ci sia un altro RAIN_ON e RAIN_ENVIRONMENT, e al contrario se qualcuno sa mettere mano al client, starà attento a non fare variabili globali o locali omonime, e sinceramente trovo che RAIN_ON sia molto più leggibile di self.RainOn, poi boh, il mio stile di programmazione è a livelli pietosi per ora... magari progredendo alla fine arriverò a pensare che il self. è molto meglio da tutti i punti di vista...
(ne è testimone il fatto che ho lasciato importati i moduli per la gestione del suono)
- - - Updated - - -
- Viene callato __init__ in questa circostanza:
Codice:#interfacemodule.py def __MakeRain(self): wndRain = uiRainSystem.uiRainSystem()#istanza di classe, __init__ callato!- Nel codice viene trattato solo key (di key:value) e value risulta una stringa vuota (quindi meglio usare tupla fin prova contraria)
In caso value contenesse la path dell'env da caricare in base alla mappa allora si potrebbe usare una dict
PS. Ricordo che gli elementi delle dict vengono allocati in memoria in modo disordinato
Codice:>>> miadict={"coso":"blallo", "cosa":"glosso", "blablabla":"billiballo"} >>> print miadict {'coso': 'blallo', 'blablabla': 'billiballo', 'cosa': 'glosso'}- Per quanto riguarda il lua: Un numero è un numero, un boolean è un boolean
Il fatto che la ymir faccia var==1 è perché returna un numero e non un boolean
In lua non c'è tale concezione: (quindi number ~= boolean)
Codice:var=true if(var==1)then end -- errato, non si può print(tonumber(var)) -- altro problema, non si può (almeno in clua) if(var)then end -- valido --esempio con le func di metin: (horse.is_dead pusha un boolean) if horse.is_dead() then end -- valido if not horse.is_dead() then end -- valido if horse.is_dead()==1 then end -- non valido if horse.is_dead()==0 then end -- non valido- Il fatto è che le .gif sono dei formati ben definiti sul web, chiamare qualsiasi altra cosa come tale crea confusione per chi legge il topic (già la gente capisce cazzi per mazzi su qualcosa scritta correttamente, se si usassero termini alquanto confusionali sarebbe ancora peggio)
- Son cose che in python non si dovrebbero fare a prescindere (tipo callare __init__ in quel modo ed includere moduli non usati)
- In base al tipo di implementazione, col tuo metodo bisogna utilizzare la keyword global per richiamare tali variabili dichiarate fuori dalla classe (soprattutto se viene usata su altri moduli, ci potrebbero esser dei chiari conflitti di variabili globali/locali, a lungo andare, se non la si mettesse) quindi: Se non c'è motivo di farlo, meglio evitare e ricorrere al self (ricordo che tale nome si potrebbe anche rinominare anche in solf o in blabla, è però di consuetudine chiamarlo self)
Perchè editare quando puoi fare una seconda risposta (penso che il tuo post sia quello meno spam scritto in questo thread)? D:
Quando ho detto che avevo dei rimasugli del lua, intendevo per il fatto che ho assegnato a RAIN_ON 1 e poi ho fatto il controllo if RAIN_ON == 1: quando mi hai detto che bastava fare il controllo if RAIN_ON:
Non che ho confuso 0 e 1 con True e False
Per il dizionario si, una tupla sarebbe stata la scelta più performante, ma come ho detto non ci ho passato troppo troppo tempo, e non mi è neanche venuto in mente di usare una tupla... in più avevo già in mente di predisporre il tutto in modo che potesse supportare più environment da usare in diverse mappe e occasioni... tutto qui.
Moduli importati ma non usati, molti sono frutto dei tentativi di mettere la musica di sottofondo, altri me li sono proprio dimenticati <.<
Sicuramente è un metodo improprio chiamare gif le ani_image di metin, d'altro canto se dicevo che erano delle ani_image, o meglio un AniImageBox, penso che molti meno avrebbero capito cosa ho fatto.
Sulle variabili globali ci troveremo sempre in disaccordo... hai detto che a lungo andare si creano conflitti, bhe se qualcuno usa il mio script così com'è, dubito sia in grado di moddare il client a piacimento e quindi è improbabile che ci sia un altro RAIN_ON e RAIN_ENVIRONMENT, e al contrario se qualcuno sa mettere mano al client, starà attento a non fare variabili globali o locali omonime, e sinceramente trovo che RAIN_ON sia molto più leggibile di self.RainOn, poi boh, il mio stile di programmazione è a livelli pietosi per ora... magari progredendo alla fine arriverò a pensare che il self. è molto meglio da tutti i punti di vista...
