Soundtrack per le giocate
Soundtrack per le giocate postato il 29/01/2015 15:36:42 nel forum programmazione, open source e hosting e modificato da mr_jakhal il 29/01/2015 15:37:31
Salve a tutti,
come da titolo, sto cercando di dare la possibilità ai Master di inserire una colonna sonora nelle giocate (su GDRCD 5.2).
Per farlo sono andato a modificare, oltre che frame_chat.inc.php per l'input, il file ref_header.inc.php con l'aggiunzione del seguente codice:
riga 210 (circa)
elseif ((($type=="8")||($first_char=="_"))&&($_SESSION['permessi']>=GAMEMASTER))
{ /*Audio*/
$m_type='U';
if($first_char=="_")
{
$chat_message=substr($chat_message, 1);
}
}
riga 500 (circa)
case 'U':
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$add_chat.= 'Audio di ambiente: <audio controls="controls"><source type="audio/ogg" src="'.gdrcd_filter('fullurl',$row['testo']).'" />Audio non supportato!</audio>';
Il problema è che non mi invia il messaggio al database, perchè se lo inserisco da lì, tutto fila liscio.
Forse il case 'U' è già usato? (non riesco a trovarlo, se lo fosse)
Grazie in anticipo della disponibilità! :)
Pagine → 1
29/01/2015 15:54:23 e modificato da valiant staff il 29/01/2015 16:02:13
uhm allora, primo consiglio che ti do è di non stampare l'audio direttamente nella chat: avendo un refresh di chat, la canzone si rimetterebbe da capo ogni volta che usi il refresh. Io infatti per inserire gli audio e i video ho messo un comando a posta che fa apparire in chat un link, aprendolo si apre un pop up con il file multimediale.
Lasciando stare questo, prima della prima stringa a 210 circa hai impostato $m_type='U'; e sotto l'if?
Oppure prova in questo modo:
a riga 215 (circa) c'è questo
elseif ((($type=="2")||($first_char=="§")||($first_char=="-")||($first_char=="*"))&&($_SESSION['permessi']>=GAMEMASTER))
Modificalo in questo modo:
elseif ((($type=="2")||($first_char=="§")||($first_char=="-")||($first_char=="*")||($first_char=="^")||($first_char=="_"))&&($_SESSION['permessi']>=GAMEMASTER))
Poco dopo, sotto a $m_type="M" aggiungi:
if($first_char=="^")
{
$chat_message=substr($chat_message, 1);
$m_type='U';
}
Lasciando poi la parte alle righe 510 (circa) uguale. Vedi se in questo modo va, ora dovrei un attimo rivedere il codice per bene e ripercorrere un attimo come ho fatto io (parlando di qualche mese fa devo spenderci qualche secondo per ritrovare tutte le cose che ho aggiunto per questo tipo di messaggio >.<)
29/01/2015 19:33:19 e modificato da mr_jakhal il 29/01/2015 19:39:49
Grazie per i consigli c:
Ho inserito quel che mi hai dato, e funziona. Rendendomi conto del gap dell'aggiornamento continuo della chat, ho creato un campo nella tabella 'mappa' con il nome 'audio' così che esso si aggiorni ogni qualvolta che il master inserisce il messaggio '^URLAUDIO'. Per farlo, ho aggiunto:
riga 263 (circa)
gdrcd_query("UPDATE mappa SET audio = ".$chat_message." ) WHERE id = '".$_SESSION['luogo']."'");
Il codice non funziona, ma non riesco a trovare il problema :S
29/01/2015 19:49:57
Di nulla :-)
Io avevo inserito proprio nell'$add_chat tutto un codice in java per aprire un pop-up, ma anche in quel modo penso vada bene.
29/01/2015 19:50:39
non c'è una parentesi chiusa di troppo prima della clausula WHERE?
29/01/2015 20:23:28
Sì, scusate la parentesi, l'ho trascritta per sbaglio durante la scrittura del post. In qualsiasi caso, anche senza parentesi, sembra non funzionare. Ipotesi?
29/01/2015 20:31:16
uhm... io ti posso dire come ho aggirato tutto il problema io nella seconda parte (quella dell'$add_chat).
Se mi puoi fare una striscia con il codice interessato possiamo vedere insieme, ma non ti assicuro nulla, in quanto ... c'è anche il rischio che io non ci capisca nulla xDD
30/01/2015 09:53:02
Ecco il case'u'
case 'U':
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$add_chat.= 'Audio di ambiente: <audio controls="controls"><source type="audio/ogg" src="'.gdrcd_filter('fullurl',$row['testo']).'" />Audio non supportato!</audio>';
$add_chat.= '</div>';
break;
Se ho ben capito, da quì tu crei un link che porta ad un popup con la soundtrack. Anche questa soluzione non mi spiace c:
30/01/2015 13:14:21
allora nel link di apertura del file multimediale, metti il target della parte della land dove si deve aprire diverso dalla chat. Un po' come le frame che gli dai un nome. Comunque, hai aggiunto anche l'ultima parte sotto di questa? Cioè la chiusura del div? per intenderci:
$add_chat.= '</div>';
break;
Riguardo il popup, per ora ci accontentiamo di una soluzione popup snella e classica: chi vuole aprire la apre, chi non vuole, non la apre.
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$add_chat.= '<script type="text/javascript">
<!--
var stile = "top=10, left=10, width=100, height=50, status=no, menubar=no, toolbar=no scrollbars=no";
function Popup(apri)
{
window.open(apri, "", stile);
}
//-->
</script>
<center><a href="javascript:Popup(''.gdrcd_filter('out',$row['testo']).'')">Clicca qui per il contenuto</a></center>
';
$add_chat.= '</div>';
break;
30/01/2015 18:11:48
Risolto, ho utilizzato jquery per una dialog spostabile a piacere a lato della pagina che riproduce la musica scelta.
Grazie dell'aiuto c;
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!
AlterEgo ↗
Raja Dunia ↗
CRSED: F.O.A.D. ↗
Storie di Agarthi ↗
World of the Sea Battle ↗
Foundation Galactic Frontier ↗
Enlisted ↗
Crossout ↗