Unmantained Guida [Release Epicixima!1!1!]Rain System. Facciamo piovere un po' in Metin

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.
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 - - -

  1. Viene callato __init__ in questa circostanza:
    Codice:
    #interfacemodule.py
        def __MakeRain(self):
            wndRain = uiRainSystem.uiRainSystem()#istanza di classe, __init__ callato!
  2. 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'}
  3. 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
  4. 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)
  5. Son cose che in python non si dovrebbero fare a prescindere (tipo callare __init__ in quel modo ed includere moduli non usati)
  6. 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...
 
Ultima modifica:
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...
Ti spiego meglio il problema con un esempio che ho creato al volo:
Codice:
# classglob.py
SOMETHING=0
class SOMECLASS:
	def __init__(self): #avevo intenzione di fargli fare qualcosa ma, per ora, la lascio vuota
		pass
	def EditMe(self):
		SOMETHING=1 #modifica (ovvero crea) una variabile locale nota solo dentro questo def
		#la variabile locale SOMETHING qua è unused
	def EditMeG(self):
		global SOMETHING
		SOMETHING=2 #modifica la variabile globale dichiarata fuori dalla classe
	def ShowMe(self):
		print SOMETHING #printa la variabile globale dichiarata fuori dalla classe

print SOMETHING #printa SOMETHING (globale)
sc=SOMECLASS() #istanza la classe
sc.ShowMe() #printa SOMETHING (globale)

sc.EditMe() #edita SOMETHING (ma purtroppo è una variabile locale con lo stesso nome della globale)
sc.ShowMe() #printa SOMETHING (sempre quello globale!)

sc.EditMeG() #edita SOMETHING (usando global ora edita quella globale!)
sc.ShowMe() #printa SOMETHING globale (ora risulta cambiata!)



############
## OUTPUT ##
############
0
0
0
2
 
Ultima modifica:
Ho letto metà post di Ricky, poi mi sono scocciato.
Perdonatami. Apprezzo tutto..
Non parlo da effecter, perchè probabilmente non lo sono, ma parlo da uno scarso conoscitore di effetti, e no, non sono sarcastico.
Abbiamo tirato in mezzo coob e xander dicendo che entrambi hanno imparato da autodidatti.

Sinceramente non so se xander abbia mai ricevuto aiuti da Coob... O viceversa.
Ma non credo sia importante, quindi andando al dunque.

Coob ha definito xander una unghia della sua mano e voi di tutta risposta avete pubblicato quello che ha fatto lui, d'accordo.
Ma sviluppato totalmente in altro modo.
Odio fare polemica, ma da persona COMPLETAMENTE estranea ai fatti..
Mi sento di poter dire che l'effecter è xander, e pur non essendo una relaese targata UE la risposta a coob doveva darla lui, non luscha.

In parole spicciole, senza troppi preamboli.
Era molto più sensata una relaese da parte di xander, con la pioggia ovviamente a modi di effect.

Per carità..
Probabilmente è il codice in python più utile che abbia trovato su inforge.. Vista la personalizzazione e le infinite funzionalità che può avere al di fuori della pioggia.

Ma se c'era da svalutare il lavoro di coob credo avreste fatto la cosa giusta a far parlare xander, con i fatti.
E non lo dico perchè penso che non ne sia capace, anzi sono consapevole delle sue enormi capacità.

Vi saluto, sottolineando che non è mia intenzione RIaccendere dibattiti e dispute.
 
Si bhe, la release non è nata per mettere a confronto Xander e Coob, far scegliere al pubblico chi fosse il migliore e screditare il lavoro di Coob.
La release l'ho decisa e sviluppata in solitaria al solo scopo di zittire coob, che al tempo non faceva altro che parlare di questa fantomatica pioggia (tra un insulto e l'altro (se hai letto metà del post di ricky avrai capito che è più che altro una vendetta personale più che una gara)) e non conoscendo io gli effetti, ma solo il python, questo è il risultato... Meno bello? Forse. Stupido? Forse. Inappropriato? Forse, però io i miei sassolini me li sono tolti dalle scarpe e sinceramente sono molto felice del risultato.

Passiamo al "Targato UE", come già detto è una cosa che ho fatto e deciso da solo, (tranne il video (rimosso)) il nome "UniversalElements ce l'ho messo infantilmente e stupidamente perchè erano altri tempi, tempi dove si provava a fare più Hype possibile e onestamente me ne sono anche pentito.

Sarebbe stato giusto che fosse stato xander a "leechare" e releasare se fosse stat una discordia tra coob e lui, o tra coob e l'intero staff di ue, ma era un bisticcio tra me e lui, quindi ho agito con i mezzi che avevo, tutto qui.
 
Ultima modifica:
Si bhe, la release non è nata per mettere a confronto Xander e Coob, far scegliere al pubblico chi fosse il migliore e screditare il lavoro di Coob.
La release l'ho decisa e sviluppata in solitaria al solo scopo di zittire coob, che al tempo non faceva altro che parlare di questa fantomatica pioggia (tra un insulto e l'altro (se hai letto metà del post di ricky avrai capito che è più che altro una vendetta personale più che una gara)) e non conoscendo io gli effetti, ma solo il python, questo è il risultato... Meno bello? Forse. Stupido? Forse. Inappropriato? Forse, però io i miei sassolini me li sono tolti dalle scarpe e sinceramente sono molto felice del risultato.

Passiamo al "Targato UE", come già detto è una cosa che ho fatto e deciso da solo, (tranne il video (rimosso)) il nome "UniversalElements ce l'ho messo infantilmente e stupidamente perchè erano altri tempi, tempi dove si provava a fare più Hype possibile e onestamente me ne sono anche pentito.

Sarebbe stato giusto che fosse stato xander a "leechare" e releasare se fosse stat una discordia tra coob e lui, o tra coob e l'intero staff di ue, ma era un bisticcio tra me e lui, quindi ho agito con i mezzi che avevo, tutto qui.
Ma infatti te lo ripeto..
Come penso tu abbia già capito. Per certi aspetti preferisco la versatilità e la comodità dello script piuttosto che l'effect.
Mettiamola su questo piano, non è una critica a te ovviamente, come a nessuno del vostro team.

Se sta sera STESSA coob mi chiamasse dicendomi sei un pelo del mio pazzo nell'effecting, IO domani mattina posterei l'effect della pioggia. (ovviamente è un esempio)
Cioè ragazzi la vedo così. E' un mio parere niente di più. Io avrei reagito in altro modo fossi stato in xander.
RIpeto la tua reazione è più che giusta, non sai come funzionano gli effetti anche se, conoscendoti, sicuramente ci avrai smanettato almeno una volta. Non comprendo la (NON)reazione di xander, ma ne ho parlottato in chat.
Non c'entra niente la pubblicità a UE, voglio dire alla fine è una relaese seria, che però come ti dissi mesi e mesi fa.. Hai reso un pò più banale con certi atteggiamenti. Ma l'hai detto tu. Altri tempi.

In bocca a lupo a te e a tutti, lo sai! :)
 
Ah parli della mancata reazione di xander? Per quello c'è una spiegazione molto semplice, ovvero che Xander, forse più maturo, forse più preoccupato per certe ritorsioni che si sarebbero potute ripercuotere su Universal (cosa che purtroppo ci furono, ed è uno dei motivi per il quale mi sono pentito di averlo tirato in mezzo), ha deciso di non dare credito alle parole di Coob, anche perchè aveva altro da fare per Universal stesso (mentre io ero in stallo, in attesa di altri lavori).

Che poi sia in grado di fare questa pioggia, questo non lo so e non lo assicuro, certo è che non ci ha nemmeno mai provato, un po per i motivi sopracitati, un po perchè la pioggia a noi non serviva (e xander fa praticamente solo cose utili al server), un po perchè poco dopo la baraonda creata dalla breve ricomparsa di Coob nel mondo di metin2 il discorso si e fortunatamente lasciato perdere e si è dimenticato.

Sul fatto deigli atteggiamenti che hanno sminuito la release, nulla da dire, è un dato di fatto e me ne vergogno anche un po' asd, anche perchè si è sprecata quest release, che sarebbe potuta essere estremamente utile e potente, però come detto, altri tempi, altre situazioni e sopratutto l'impeto della rabbia <,<
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom