gdrcd una scritta per tutte le chat
gdrcd una scritta per tutte le chat postato il 02/04/2010 18:23:19 nel forum programmazione, open source e hosting
qualcuno sa indicarmi come si puo creare la funzione( radio , interfono , comunicatore) in pratica da menu attivo mi apre una finestra inserisco il testo e si vede in tutte le chat
se mi sapete dire come devo farlo che passaggi devo fae come si fa perche non ho idea di dove iniziare si deve scrivere il database una nuova voce oppure basta un semplice php?
Pagine → 1
02/04/2010 18:55:03
Con qualche indicazione sul sistema che usi sarebbe più facile aiutarti.
In ogni caso dalle realtà che conosco normalmente i testi delle chat vengono presi in base alla stanza in cui si trova il personaggio quindi con un
WHERE Stanza = "lastanzaincuisiamo"
ed hanno un'indicazione sul tipo di frase che ci troviamo davanti (quindi azione, parlato, acquisto, narrazione, etc. )
In sostanza puoi creare una tipologia diversa di frase (prendi come esempio quelle di narrazione) e modificare la query che prende le frasi con un
WHERE Stanza = 'lastanzaincuisiamo' OR Tipo = 'nuovotipodifrase'
02/04/2010 19:15:14 e modificato da delta il 02/04/2010 19:37:55
uso gdrcd , in pratica il soggetto clicca sul tasto comunicazioni inserisce il testo premi invio e zac il messaggio compare in tutte le chat del gdr
un semplice testo no immagini no cose strane nulla di fantascientico
esempio
uso il database di gdrcd tabella mappa
collego al data base ecc ecc .......
$query = "SELECT id, nome FROM mappe WHERE ?";
$result = mysql_query($query);
?>
<select name="chat">
<option value="CHE CI METTO?"> stanza pippo</option>
</select>:
<form method="post" action="/main.php?dir=">
<input type="text" size="12" maxlength="12" name=""><br />
03/04/2010 10:58:36
rosanera ha scritto: @ will: non funziona cosi' :-)[quote]WHERE Stanza = 'lastanzaincuisiamo' OR Tipo = 'nuovotipodifrase'
In cui siamo chi?
"lastanzaincuisiamo" o e' quella del pg che sta in gioco ( rispetto al proprio browser, < quindi non quella del master che lancia la frase, se lui la vuole in TUTTE le stanze> ,
o quella del master stessa , e quindi non quella del pg in gioco o delle altre stanze, [/quote]
etc.
Ci riprovo, magari si capisce meglio.
Per l'inserimento della frase che deve comparire in tutte le chat sistemi semplicemente il modulo in modo che inserisca la frase nel database con un TIPO speciale (se non sbaglio gdrcd usa le lettere per distinguere le azioni dal parlato etc. non uso gdrcd da cinque anni quindi non lo so se è ancora così).
Quindi se la frase normale del giocatore è segnata nella tabella chat come "A" il parlato come "P" il sussurro come "S" facciamo semplicemente in modo che quando viene inserita la frase che deve comparire in tutte le chat abbia come tipo "T" (lettera a caso, non so se è già usata da altre tipologie di frasi!).
A questo punto abbiamo la frase nel database ma verrebbe mostrata (senza formattazioni) soltanto nella chat da cui è stata inviata.
Fin qui ci siamo?
Normalmente per visualizzare le frasi nelle chat la pagina di refresh va a controllare tutte le frasi inviate in una determinata stanza e basta.
Ovviamente quindi quando dico
WHERE Stanza = 'stanzaincuisiamo'
quel 'stanzaincuisiamo' si riferisce alla chat in cui si trova il personaggio che deve visualizzare le frasi di quella stanza.
Esempio pratico:
Pippo (normale giocatore) è nella stanza 'cucina'
Paperino (narratore) è nella stanza 'giardino'
Paperino vuole inviare una frase che possano leggere tutti, quindi invia (o attraverso un box apposito o con un codice nello stile dei narratori - che su gdrcd è § ? boh, non mi ricordo - ipotizziamo che venga modificato il codice di invio con il simbolo ^ ) la frase nella stanza 'giardino':
^ frase che devono leggere tutti.
Nel momento in cui fa invio il sistema appena trova il simbolo ^ deve verificare che Paperino abbia i permessi di inviare una frase che si legga dappertutto (stesso controllo dei narratori nell'esempio sopra) e poi inserire la frase nel database infilandolo nella stanza 'giardino' con tipologia 'T'
lui che già si trova in 'giardino' la vedrà senza problemi perchè nell'estrazione delle frasi da visualizzare ci sarà già
WHERE Stanza = 'giardino'
per fare in modo però che anche Pippo la veda dobbiamo modificare la query dicendogli di prendere oltre alle frasi che sono in 'cucina' anche tutte le frasi che hanno tipologia 'T'
e da qui la query
WHERE (Stanza = 'cucina' OR Tipo = 'T')
adesso Paperino in giardino vedrà la frase che ha inviato e Pippo un cucina pure.
06/04/2010 02:42:27
Non ricordo a memoria il codice di gdr-cd comunque, concettualmente:
1) SELECT sulla tabella delle locazioni per estrarre gli ID delle locazioni a cui é associata una chat pubblica giocabile
2) SOLITO CICLO WHILE sui record che estrai. Per ogni locazione fai una INSERT sulla tabella delle chat, ID per ID... inserendo il messaggio da far apparire.
Naturalmente l'ideale é che tu definisca un "tipo" di messaggio associato all'invio del testo crosschat, diverso dal solito parlato/azione standard e che associ uno stile CSS a quel tipo di invio, come se fosse una stringa dei game master o della moderazione.. insomma rendila visibile con uno stile grafico diverso :)
06/04/2010 16:53:44
ce un problema nella querry in effetti
$query="SELECT id, mittente, destinatario, tipo, ora, testo FROM chat WHERE id > ".$last_message." AND (stanza = ".$_SESSION['luogo']." OR tipo = 'K')AND DATE_SUB(NOW(), INTERVAL 30 MINUTE) < ora ORDER BY id";
inserisce un rigo vuoto e fa sparire tutte le scritte dalla chat se richiamiil log driesci a vedere il rigo vuoto( non inserisce il testo)
18/05/2010 10:41:12 e modificato da sac-staff il 18/05/2010 10:46:32
Per GDRCD EXTREME.
Se volessi creare una sorta di comunicatore tale che Tizio in chat A invii un messaggio a Caio in chat B e che il messaggio compaia solo ed esclusivamente nelle due chat in cui Tizio e Caio sono presenti?
Molto teoricamente dovrei creare un "comunicatore.php" dove selezionare il destinatario e scrivere il messaggio, poi andare su refresh.php, inserire il tipo di messaggio nello switch e far si che il messaggio estratto dalla tabella compaia anche nella stanza in cui è presente il destinatario (agire sulla select già presente o creare una quesry a parte?).
Qualche indicazione su come fare o quali cose da modificare? (non chiedo il codice bello è pronto, voglio imparare :-D) Grazie!
18/05/2010 11:51:15 e modificato da sac-staff il 18/05/2010 11:52:27
Se ho capito bene nelle risposte precedenti si parla di come far si che un messaggio compaia indistintamente in tutte le chat 😶.
Invece io devo far si che il messaggio compaia solo in due chat, quella del mittente e quella destinatario.
Ho notato che refresh.php del vecchio GDRCD EXTREME è una marasma, ma ormai non posso passare a GDRCD5, per questo sono qui :-D .
Speravo che magari chi ha già affrontato la questione potesse indicarmi la retta via
18/05/2010 12:45:25 e modificato da la kaiah il 18/05/2010 14:53:04
sac-staff ha scritto: Se ho capito bene nelle risposte precedenti si parla di come far si che un messaggio compaia indistintamente in tutte le chat 😶.
Invece io devo far si che il messaggio compaia solo in due chat, quella del mittente e quella destinatario.
Ho notato che refresh.php del vecchio GDRCD EXTREME è una marasma, ma ormai non posso passare a GDRCD5, per questo sono qui :-D .
Speravo che magari chi ha già affrontato la questione potesse indicarmi la retta via
non ho mai avuto la necessità di affrontare la questione che ti interessa ma spero di poterti dare una mano per la retta via...
per prima cosa ti servono gli id delle stanze dove si trovano i due pg. l'id della chat in cui sta scrivendo il messaggio da sussurrare (gestiscilo come un sussurro o vedilo come una cosa simile a un sussurro e quindi gestito come un sussurro) ce l'hai già, e lì farai comparire un sussurro per chi ha scritto il msg.
l'id della chat del destinatario lo puoi recuperare dalla tabella Presenti (dovrebbe chiamarsi così per l'extreme) e lì farai comparire il sussurro per chi riceve.
il "far comparire" equivale a due insert nella tabella chat, una per il mittente (con l'id della chat del mittente) e una per il destinatario (con l'id della chat del destinatario)
come già suggerito ti consiglio di dare un'occhiata a come vengono gestiti i sussurri e simulare il meccanismo facendo attenzione a ritoccare con gli id giusti le query di insert dei due msg.
buon lavoro!
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Foundation Galactic Frontier ↗
Project Entropy ↗
Cafuné ↗
The Coven ↗
Sea of Conquest ↗
Tiles Survive ↗
New Orleans ↗