Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Screen Contest #90

Kamikun






  • Si prega di effettuare il log in prima di rispondere
RpemakerOnline

    pulpin2004
  • Utente occasionale

  • Utenti
  • Rens: 1
  • 0
  • StellettaStelletta
  • 151 messaggi

#1 Inviato 10 August 2009 - 11:13 AM

come ben sapete raga stò sviluppando dewgli script per rendere un progetto di rpgmaker, un mmorp....
in realtà è praticamente concluso da mesi oramai...sistemo ualche piccolo errore quando e se mi capita e cerco di migliorarlo di più...
ha solo un grande difetto per me... i pg non sono animati! e poco importa per il bs (ho delle soluzioni per avere gli altri utenti proprio accanto ai propri pg durante una battle...cioè mandare anche loro in campo a combattere , gestiti sempre dal proprietario dell'account).

vi spiego brevemente, vengono inviati X ed Y (le coordinate su mappa) ogni volta che cambiano, tra le tante cosette diciamo che il movimento tutt'ora lo gestisco con Game Netplayer (modificata rispetto a Game Player).

vi posto anche il codire:

def refresh(data)
return if @netid == $net_id
@oldx = @x
@oldy = @y
eval(data) unless data == nil
@transparent = (not $game_map.map_id == @map_id) rescue @transparent =false
net_move if @oldx != @x or @oldy != @y
@real_x = @x * 256
@real_y = @y * 256
end


cioè in pratica nel refresh quando riceve i dati nuovi, calcola real x e real y che sono le coordinate reali su schermo se no nsbaglio e basta...

guardando in Game_Character ho trovato cose tipo update_move, update_animation (questo tral'altro mi cambia il chara dell'utente animandolo, ma solo se gli impedisco di spostarsi su mappa XD non so spiegarmi lo so)...


comunque so benissimo che ci sono scripter suquesto forum, lo seguo da anni (lo seguivo già da anni al tempo della versione vecchia quando si chiamava rpgshrine o come si scriveva XD) e quindi ho la certezza che ci siano scripter che sappiano come fare o che almeno abbiano un'idea...
scusate se dico tutto questo ma già tempo fa avevo chiesto questo stesso aiuto ma nessuno mi aveva risposto...


chiunque abbia un'idea o persino sa come posso fare ad animare e far camminare fluidamente il pg di un utente avendo X ed Y della destinazione, potrebbe spiegarmelo anche solo qui per post?

non ho richiesto chissàche... ho sfogliato i vari script di rpgmaker e qualcosina ho capito ma veramente poco e in ogni caso da solo senza aiuto credo che non riuscirei ad animarli lostesso....

e poi va anche a vantaggio vostro! chi ha provato la mia demo e ha giocato con altri utenti ha potuto constatare che il progetto va bene, funzionano gli script...la chat, le gilde, le battle eccetera funzionano tutti come dovrebbero...questo sarebbe uno script per un mmorpg italiano.. che rilascerò appena riusrò a eliminare altri eventuali errori e appena avrò reso animati i pg!


please help me! attendo con ansia (XD) le vostre rispostre...sopratutto di chi vorrebbe aiutarmi che almeno abbia una soluzione....


P.S.: quel pezzo di codice volendo modificatelo già se basta qualche modifica piccola....


grazie in anticipo delle vostre risposte sperando di averne questa volta

    pulpin2004
  • Utente occasionale

  • Utenti
  • Rens: 1
  • 0
  • StellettaStelletta
  • 151 messaggi

#2 Inviato 11 August 2009 - 01:45 AM

raga mi stò dannando l'anima... non c'è proprio nessuno che sa come fare? c'è qualche scripter con cui potrei almeno parlare per poter magari "farmi un'idea" su cosa fare per rendere animati gli sprite degli utenti?

    bombolo
  • Utente avanzato

  • Utenti
  • Rens: 85
  • 0
  • StellettaStellettaStelletta
  • 426 messaggi
  • Sesso:Maschio
  • Abilità:Novizio

#3 Inviato 11 August 2009 - 11:48 AM

Ip purtroppo non ti posso aiutare, ma a questo punto forse dovresti mandare un messaggio privato a qualche scripter, per attirare di più l'attenzione... magari non ti aiuterà comunque, ma almeno sei sicuro che leggerà la tua richiesta!
Immagine inserita

Game Contest #3
Immagine inseritaImmagine inseritaImmagine inseritaImmagine inseritaImmagine inseritaImmagine inseritaImmagine inseritaImmagine inserita

    pulpin2004
  • Utente occasionale

  • Utenti
  • Rens: 1
  • 0
  • StellettaStelletta
  • 151 messaggi

#4 Inviato 11 August 2009 - 13:04 PM

giusto! grazie dell'idea ^_^

    Dax
  • C'è più gioia nel dare che nel ricevere

  • Rpg²S Admin
  • Rens: 838
  • 7
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 4554 messaggi
  • Sesso:Maschio
  • Provenienza:Nord Sud Ovest Est
  • Abilità:Maestro


#5 Inviato 11 August 2009 - 14:33 PM

non me ne intendo di rpg2s, ma ogni mmorpg lavora allo stesso modo sul movimento:
hai il punto in cui eri (coordinate precedenti), quello nuovo (coordinate aggiornate), invece di assegnare le nuove coordinate a muzzo devi avviare un evento "sposta personaggio verso coordinate X Y".
Questo ti provoca un leggero lag, ma è normale.. altrimenti come dici te scattano i pg!

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]

SCContest1Oct.gif[icona di un premio]

tgSY1j0.pnggifnatale1.pnggifnatale12.png


    pulpin2004
  • Utente occasionale

  • Utenti
  • Rens: 1
  • 0
  • StellettaStelletta
  • 151 messaggi

#6 Inviato 11 August 2009 - 16:03 PM

se potessi andare ad eventi sarebbe più facile però gli utenti dal gioco non sono considerati eventi XD quindi non ho un qualcosa di automatico per fargli muovere i PG...

mi è venuta un'idea però ho paura che si appesantisce troppo lo scambio di dati tra il server e i client...in pratica invece di inviare solo le coordinate nuove, ogni client invierebbe per ogni passo (formato da 16 frame se non sbaglio) ad esempio 4 coordinate differenti, cioè ogni 4 frame invia le coordinate reali e così via... facendo così ad ogni passo le stringhe inviate passano da 1 a 4 però la camminata risulterebbe più fluida e animata....

questa soluzione per me forse potrebbe funzionare però è troppo drastica... in quando quadruplica le stringhe inviate dei movimenti (che tutt'ora occupano più del 60% delle stringhe inviate in totale!) quindi se riuscirei a trovare una soluzione più "automatica" sarebbe meglio...

comunque Dax in effetti potrei renderli degli eventi gli utenti...anche se si appesantirebbe tutto XD XD XD però in alternativa può essere una soluzione ;)

    Dax
  • C'è più gioia nel dare che nel ricevere

  • Rpg²S Admin
  • Rens: 838
  • 7
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 4554 messaggi
  • Sesso:Maschio
  • Provenienza:Nord Sud Ovest Est
  • Abilità:Maestro


#7 Inviato 11 August 2009 - 20:12 PM

usa una stringa sola no?
avrai delle funzioni per manovrare le stringhe no? explode e simili?

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]

SCContest1Oct.gif[icona di un premio]

tgSY1j0.pnggifnatale1.pnggifnatale12.png


    pulpin2004
  • Utente occasionale

  • Utenti
  • Rens: 1
  • 0
  • StellettaStelletta
  • 151 messaggi

#8 Inviato 12 August 2009 - 01:30 AM

il server e il client si inviano stringhe (molto sempplicemente funziona così... non andiamo nel tecnico XD) però c'è da dire che ogni azione che si vuole inviare in tutta la "rete" del gioco edve essere inviata per l'appunto in una di queste stringhe (spesso però inserisco più azioni in una stessa stringa... per comodità e leggerezza)...
la mia soluzione è troppo drastica in quanto per ogni passo invierebbe un numero di stringhe pari al numero di frame per ogni passo visualizzati su tutti gli altri client (usando anche solo 3 frame, il flusso di stringhe inviate e ricevuto si triplicherebbe, come già detto le azioni dei movimenti occupano più della metà delle stringhe inviate e ricevute tra server e i client...quindi sarebbe troppo drastica).
se automatizzo i passi rendendo ogni utente un evento si appesantirebbe troppo il gioco!
ci sono pro e contro quindi... la soluzione migliore e FATTIBILE sarebbe automatizzare l'animazione e i frame di ogni passo direttamente sul client (sul gioco) attraverso codice senza però rendere ogni utente un evento!

spero di riuscirci... se con gli aiuti sarebbe più veloce...per il momento accantono questo grande e importante aggiornamento (per la seconda volta lo rimando -.- vabbè XD) in attesa di scoprire il meccanismo o in attesa di aiuti....

avanzo con tutto il resto accantonando questo....

in ogni caso rendere le camminate fluide credo che con un numero elevato di utenti in una mappa potrebbe rallentare anche solo un po il gioco...

per ora se consideriamo l'ambito tecnico e funzionale del gioco sarebbe meglio lasciarli a scatti...anche perchè rimane giocabile ugualmente e non da molto fastidio...

c'è da pensare che parliamo di rpgmaker! che di default non considera nemmeno il multiplayer! figuriamoci l'online!!!! XD

    Dax
  • C'è più gioia nel dare che nel ricevere

  • Rpg²S Admin
  • Rens: 838
  • 7
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 4554 messaggi
  • Sesso:Maschio
  • Provenienza:Nord Sud Ovest Est
  • Abilità:Maestro


#9 Inviato 12 August 2009 - 08:59 AM

guarda se tu hai modo di dividere una stringa in base a un certo carattere puoi fare tutto.
ti spiego:
tu invii la seguente stringa a tutti : "p123-x1-y1-x2-y2-x3-y3-x4-y4"
quando la ricevi col client esplodi questa stringa spezzandola per ogni - .
solitamente c'è una funzione di nome explode, ma non sono sicuro non conoscendo rgss.
con explode ottieni un array di valori in cui il primo è l'id del personaggio che si muove e i succesivi dispari le X dei vari passi, i pari sono invece le y.
una sola stringa, tanti passi assieme!

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]

SCContest1Oct.gif[icona di un premio]

tgSY1j0.pnggifnatale1.pnggifnatale12.png


    havana24
  • Die!

  • Utenti Speciali
  • Rens: 34
  • 1
  • StellettaStellettaStellettaStellettaStelletta
  • 1320 messaggi
  • Sesso:Maschio
  • Provenienza:Crema (CR)
  • Abilità:Novizio

#10 Inviato 12 August 2009 - 09:49 AM

Non ho ben capito qual'è il problmea, ma se dovessi io programmare una cosa del genere (a parte che farei come detto da Dax per le stringhe) farei in modo di inviare x e y iniziali + x e y finali dello spostamento, e poi farei fare lato client l'animazione dello stesso.

Del tipo che ogni secondo vengono inviati i dati aggiornati delle posizioni, nel caso lo spostamento riguardi solamente 1 tile non c'è problema di animazione (in quanto la direzione sarebbe solo quella), nel caso di 2 o più tile di movimento (sempre lato client) si calcolerà la strada più breve per arrivarci, facendo partire l'animazione del movimento.

Immagine inserita Immagine inserita

www.havana24.net


Premi vinti
Spoiler

    pulpin2004
  • Utente occasionale

  • Utenti
  • Rens: 1
  • 0
  • StellettaStelletta
  • 151 messaggi

#11 Inviato 12 August 2009 - 11:24 AM

aspe aspe aspe raga... sarò io però mi sembra che non avete capito... io già raggruppo le stringhe XD non sono così stupido XD

in una stringa al 90% dei casi inserisco più dati! compreso per camminare!

quando si cammina non invia solo x e y ma anche altri dati...

il problema non è delle stringhe... avevo detto che aumentavano per il fatto che ogni frame da aggiornare su tutti i client deve essere inviato quando viene visualizzato, cioè se io mando una sola stringa con i tre frame mi rimangon asincroni...

cioè la stringa viene mandata quando cambia frame... non so se riesco a spiegarmi ma non importa perchè questa soluzione la scarto sicuro...


x havana24: io per ora mando già x ed y della destinazione ma non del punto di partenza in quanto se le va a cercare già il client... a dire la verità invia solo x o y che cambia, ad esempio se cammini in alto invierà solo y XD

ma non è questo il problema...


cerco di spiegare bene la situazione:
quando il mio pg (per esempio) lo muovo, vengono inviate trammite stringhe la destinazione di ogni passo.... quindi invio x e y. (ogni passo ha una stringa, non posso raggrupparle insieme! non sarebbe istantaneo l'aggiornamento sugli altri client ).
le stringhe vengono ricevute dal server e inviate a tutti i client.
gli altri client ricevono le stringhe e creano il pg su mappa (se la mappa mia e quella del client ricevente è uguale logico, cioè se siamo sulla stessa mappa).
se il pg era già stato creato allora semplicemente aggiorna le coordinate con quelle ricevute...

il problema è che x e y non essendo quelli reali in pixel ma solo le coordinate del "quadratino della grigli della mappa", quando aggiorna fa lo scatto da un quadratino all'altro...

per renderli animati e con passi di più frame devo per forza aggiornare lo stesso movimento in più frame del gioco, facendolo avanzare di pochi pixel ad ogni frame...

spero che mi sono spiegato meglio...

    havana24
  • Die!

  • Utenti Speciali
  • Rens: 34
  • 1
  • StellettaStellettaStellettaStellettaStelletta
  • 1320 messaggi
  • Sesso:Maschio
  • Provenienza:Crema (CR)
  • Abilità:Novizio

#12 Inviato 12 August 2009 - 12:34 PM

Ma se sai la celletta di destinazione alora perchè non fai muovere i pg lato client?
Se hai la destinazione ti amnca solo di anniamre lo sprite... lo spostamento e l'animazione lo fa il client del giocatore! @@

Immagine inserita Immagine inserita

www.havana24.net


Premi vinti
Spoiler

    Dax
  • C'è più gioia nel dare che nel ricevere

  • Rpg²S Admin
  • Rens: 838
  • 7
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 4554 messaggi
  • Sesso:Maschio
  • Provenienza:Nord Sud Ovest Est
  • Abilità:Maestro


#13 Inviato 12 August 2009 - 12:35 PM

si ma come già detto quando aggiorni la posizioni devi dare l'animazione. è normale ci sia un ritardo, i mmorpg sono fatti così!

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]

SCContest1Oct.gif[icona di un premio]

tgSY1j0.pnggifnatale1.pnggifnatale12.png


    pulpin2004
  • Utente occasionale

  • Utenti
  • Rens: 1
  • 0
  • StellettaStelletta
  • 151 messaggi

#14 Inviato 12 August 2009 - 12:49 PM

mettiamola proprio sul semplice..non animo eccetera tutto dal lato client perchè non so come fare! mi spiego meglio, per animarli bisogna spostare lo sprite di tot pixel ogni tot frame...quindi devo aspettare il frame successivo ogni volta...siccome lo script ad ogni frame cambia i suoi dati (perchè ogni volta che c'è da aggiornare un utente, i dati cambiano con quelli dell'ultimo utente), se devo aspettare anche solo il frame successivo per completare l'animazione, quando sarà l'ora probabilmente non ci saranno più i dati vecchi XD XD XD

potrei fare un ciclo che controlla per ogni utente se l'animazione è conclusa o no però non ho idea se sia una buona soluzione

    Dax
  • C'è più gioia nel dare che nel ricevere

  • Rpg²S Admin
  • Rens: 838
  • 7
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 4554 messaggi
  • Sesso:Maschio
  • Provenienza:Nord Sud Ovest Est
  • Abilità:Maestro


#15 Inviato 12 August 2009 - 13:34 PM

devi salvare i dati vecchi, avviare una funzione che fa l'animazione e che si risolva in automatico.
devi avere praticamente degli eventi contemporanei non puoi fare tutto con una struttura lineare.

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]

SCContest1Oct.gif[icona di un premio]

tgSY1j0.pnggifnatale1.pnggifnatale12.png


    pulpin2004
  • Utente occasionale

  • Utenti
  • Rens: 1
  • 0
  • StellettaStelletta
  • 151 messaggi

#16 Inviato 13 August 2009 - 17:45 PM

i dati vecchi già li salva...una funzione che fa tutto i nautomatico però non esiste XD infatti è questo che ho bisogno! è questp che devo creare XD mi serve aiuto in questo

    Dax
  • C'è più gioia nel dare che nel ricevere

  • Rpg²S Admin
  • Rens: 838
  • 7
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 4554 messaggi
  • Sesso:Maschio
  • Provenienza:Nord Sud Ovest Est
  • Abilità:Maestro


#17 Inviato 13 August 2009 - 19:25 PM

boh non posso aiutarti, non so come funziona il tutto. io avrei fatto un motore in cui ogni pg è un evento e tramite script modifichi poi coordinate e grafica di questo. non avendo assolutamente idea di cosa hai tu, posso solo augurarti buona fortuna xD

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]

SCContest1Oct.gif[icona di un premio]

tgSY1j0.pnggifnatale1.pnggifnatale12.png





  • Feed RSS