16-09-2010, 05:39 PM
(Questo messaggio è stato modificato l'ultima volta il: 16-09-2010, 05:41 PM da Jonathan Archer.)
Raga ho incontrato un bel problema quando stavo lavorando insieme a Killerz al famoso "gioco online" che abbiamo in progetto ma accade una cosa stranissima durante i test. Dato la mia inesperienza ho provato a fare un semplice scambio di numeri word per controllare se riuscivo a fare comunicare host e client. Il tutto consiste in un comando DIM Numero(2). Il giocatore in questione aumenta di uno Numero(1) mentre attente il numero inviatogli dall'altro giocatore che sarà memorizzato come Numero(2). Il verdetto? L'Host riesce a mandare e ricevere senza problemi mentre il Client invia senza problemi ma non riceve nulla dall'host. Forse mi sfugge qualcosa, ho controllato e controllato ma non mi spiego xkè condividendo lo stesso codice uno funzioni e l'altro no. Pensavo fosse dovuto che alcuni comando multisync possono essere usati solo dall'host ma non è questo il caso.
Codice:
[SPOILER][/SPOILER]
Screen:
[SPOILER][/SPOILER]
Note: Tutte e due i comandi vengono utilizzati tramite Gosub e Return e vengono utilizzati in ordine: Prima l'invio dei propri dati e poi si controlla i messaggi
Codice:
[SPOILER]
Codice PHP:
REM MANDAMIAPOSIZIONE
MANDAMIAPOSIZIONE:
inc Numero#(1)
NET PUT WORD (Numero#(1))
Net Send
Text 0,10,"Numero Tuo: "+str$(Numero#(1))
Return
REM CONTROLLA SE IL NEMICO TI HA MANDATO LA SUA POSIZIONE
RICEVIPOSIZIONENEMICO:
Risultato = Net Get Message ()
if Risultato=1
Numero#(2) = NET GET WORD ()
Endif
Text 0,20,"Numero Avversario: "+str$(Numero#(2))
Return
Screen:
[SPOILER][/SPOILER]
Note: Tutte e due i comandi vengono utilizzati tramite Gosub e Return e vengono utilizzati in ordine: Prima l'invio dei propri dati e poi si controlla i messaggi