gdrcd 5/5.1 Note pad per chat postato il 25/02/2012 02:48:02 nel forum programmazione, gdrcd, open source, hosting e modificato da papy il 22/03/2012 23:54:03
Ragazzi ho visto alcune chat su siti basati su GDR-CD5 , dotate di un pratico blocco note.
Qualcuno sa se esiste un pacchetto aggiuntivo per poter inserire questa utilità a gdrcd5.1 ?
Grazie
Pagine → 1
16/03/2012 17:11:20
mmm.. forse non mi sono spiegato bene, visto che nessuno mi si è filato.
La mia considerazione parte dal fatto che la finestra di input messaggi della chat è piuttosto piccola e non tutti trovano comodo usare word per fare copy & paste.
L'idea è quella di inserire nella chat un pulsante che apra una finestra di pop up che in pratica replichi i comandi della chat, ma con una finestra di input decisamente piu' grande.
Ora, visto che sono un grafico, le mie conoscenze sono limitate a qualche correzione, non certo a creare codice. Ad ogni modo con la testardaggine dell'andare per esclusione, ho creato il pulsante e una paginetta che viene richiamata nella finestra di pop up. Poi ho copiato parte del codice della chat ed aggiungendo il comando
<?php
require '../ref_header.inc.php';
?>
A questo punto sono riuscito a visualizzare i vari comandi.
Solo che ovviamente il tutto non funziona (né mi illudevo di cavarmela così facilmente )
Non è che c'e' qualche anima pia disposta a dare un'occhiata ? La patch potrebbe essere utile a molti ed io ovviamente non esiterei a renderla disponibile.
Allego il pastrocchio che ho fatto e che ho chiamato chat2.php :
<?php
require '../ref_header.inc.php';
?>
<?php /* HELP: Frame della chat */
/* Tipi messaggio: (A azione, P parlato, N PNG, M Master, I Immagine, S sussurro, D dado, C skill check, O uso oggetto) */
/*Seleziono le info sulla chat corrente*/
$info = gdrcd_query("SELECT nome, stanza_apparente, invitati, privata, proprietario, scadenza FROM mappa WHERE id=".$_SESSION['luogo']." LIMIT 1");
?>
<div class="pagina_frame_chat">
<div class="page_body">
<?php
//e' una stanza privata?
if ($info['privata']==1) {
$allowance=FALSE;
if ( (($info['proprietario']==gdrcd_capital_letter($_SESSION['login'])) || (strpos($_SESSION['gilda'], $info['proprietario'])!=FALSE) || (strpos($info['invitati'], gdrcd_capital_letter($_SESSION['login']))!=FALSE) ||
(($PARAMETERS['mode']['spyprivaterooms']=='ON')&&($_SESSION['permessi']>MODERATOR))) && ($info['scadenza']>strftime('%Y-%m-%d %H:%M:%S')) ) {$allowance=TRUE;}
} else {$allowance=TRUE;}
//se e' privata e l'utente non ha titolo di leggerla
if ($allowance === FALSE) {
echo '<div class="warning">'.$MESSAGE['chat']['whisper']['privat'].'</div>';
//echo $info['invitati']; echo gdrcd_capital_letter($_SESSION['login']);
} else {
?>
<?php $_SESSION['last_message']=0; ?>
<div style="height: 1; width: 1;">
<iframe src ="pages/chat.inc.php?ref=30&chat=yes" class="iframe_chat" id="chat_frame" name="chat_frame" frameborder="0" allowtransparency="true">
</iframe>
</div>
<div id='pagina_chat' class="chat_box">
</div>
<div class="panels_box"><div class="form_chat">
<!-- Form messaggi -->
<div class="form_row">
<form action="pages/chat.inc.php?ref=10&chat=yes" method="post" target="chat_frame" id="chat_form_messages">
<div class="casella_chat">
<select name="type" id="type">
<option value="0"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][0]);//parlato ?></option>
<option value="1"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][1]);//azione ?></option>
<option value="4"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][4]);//sussurro ?></option>
<?php if($_SESSION['permessi']>=GAMEMASTER){ ?>
<option value="2"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][2]);//master ?></option>
<option value="3"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][3]);//png ?></option>
<?php } ?>
<?php if(($info['privata']==1)&&(($info['proprietario']==$_SESSION['login'])||((is_numeric($info['proprietario'])===TRUE)&&(strpos($_SESSION['gilda'], ''.$info['proprietario']))))){ ?>
<option value="5"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][5]);//invita ?></option>
<option value="6"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][6]);//caccia ?></option>
<option value="7"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][7]);//elenco ?></option>
<?php }//if ?>
</select>
<br/><span class="casella_info"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type']['info']);?></span>
</div>
<div class="casella_chat">
<input name="tag" id="tag" value="" />
<br/><span class="casella_info">
<?php echo gdrcd_filter('out',$MESSAGE['chat']['tag']['info']['tag'].$MESSAGE['chat']['tag']['info']['dst']);
if($_SESSION['permessi']>=GAMEMASTER){echo gdrcd_filter('out',$MESSAGE['chat']['tag']['info']['png']);} ?>
</span>
</div>
<div class="casella_chat">
<input name="message" id="message" value="" />
<br/><span class="casella_info">
<?php echo gdrcd_filter('out',$MESSAGE['chat']['tag']['info']['msg']); ?>
</span>
</div>
<div class="casella_chat">
<input type="submit" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
<input type="hidden" name="op" value="new_chat_message" />
</div>
</form>
</div>
<!-- Form messaggi -->
<?php if(($PARAMETERS['mode']['skillsystem']=='ON')||($PARAMETERS['mode']['dices']=='ON')){ ?>
<div class="form_row">
<form action="pages/chat.inc.php?ref=30&chat=yes" method="post" target="chat_frame" id="chat_form_actions">
<?php if($PARAMETERS['mode']['skillsystem']=='ON'){ ?>
<div class="casella_chat">
<?php $result = gdrcd_query("SELECT id_abilita, nome FROM abilita WHERE id_razza=-1 OR id_razza IN (SELECT id_razza FROM personaggio WHERE nome = '".$_SESSION['login']."') ORDER BY nome", 'result'); ?>
<select name="id_ab" id="id_ab">
<option value="no_skill"></option>
<?php while($row = gdrcd_query($result, 'fetch'))
{ ?>
<option value="<?php echo $row['id_abilita']; ?>">
<?php echo gdrcd_filter('out',$row['nome']); ?>
</option>
<?php }//while
gdrcd_query($result, 'free');
?>
</select>
<br/><span class="casella_info"><?php echo gdrcd_filter('out',$MESSAGE['chat']['commands']['skills']);?></span>
</div>
<div class="casella_chat">
<select name="id_stats" id="id_stats">
<option value="no_stats"></option>
<?php
/** * Questo modulo aggiunge la possibilità di eseguire prove col dado e caratteristica.
* Pertanto sono qui elencate tutte le caratteristiche del pg.
* @author Blancks
*/
foreach ($PARAMETERS['names']['stats'] as $id_stats => $name_stats)
{
if (is_numeric(substr($id_stats, 3)))
{
?>
<option value="stats_<?php echo substr($id_stats, 3); ?>"><?php echo $name_stats; ?></option>
<?php
}
}
?>
</select>
<br/><span class="casella_info"><?php echo gdrcd_filter('out',$MESSAGE['chat']['commands']['stats']);?></span>
</div>
<?php } else { echo '<input type="hidden" name="id_ab" id="id_ab" value="no_skill">';}?>
<?php if($PARAMETERS['mode']['dices']=='ON'){ ?>
<div class="casella_chat">
<select name="dice" id="dice">
<option value="no_dice"></option>
<?php
/** * Tipi di dado personalizzati da config
* @author Blancks
*/
foreach ($PARAMETERS['settings']['skills_dices'] as $dice_name => $dice_value)
{
?>
<option value="<?php echo $dice_value; ?>"><?php echo $dice_name; ?></option>
<?php
}
?>
</select>
<br/><span class="casella_info"><?php echo gdrcd_filter('out',$MESSAGE['chat']['commands']['dice']);?></span>
</div>
<?php } else { echo '<input type="hidden" name="dice" id="dice" value="no_dice">';}?>
<?php if($PARAMETERS['mode']['skillsystem']=='ON'){ ?>
<div class="casella_chat">
<?php
$result = gdrcd_query("SELECT clgpersonaggiooggetto.id_oggetto, oggetto.nome, clgpersonaggiooggetto.cariche FROM clgpersonaggiooggetto JOIN oggetto ON clgpersonaggiooggetto.id_oggetto = oggetto.id_oggetto WHERE clgpersonaggiooggetto.nome = '".$_SESSION['login']."' AND posizione > 0 ORDER BY oggetto.nome", 'result'); ?>
<select name="id_item" id="id_item">
<option value="no_item"></option>
<?php while($row=gdrcd_query($result, 'fetch')){ ?>
<option value="<?php echo $row['id_oggetto'].'-'.$row['cariche'].'-'.gdrcd_filter('out',$row['nome']); ?>">
<?php echo $row['nome']; ?>
</option>
<?php }//while
gdrcd_query($result, 'free');
?>
</select>
<br/><span class="casella_info"><?php echo gdrcd_filter('out',$MESSAGE['chat']['commands']['item']);?></span>
</div>
<?php } else { echo '<input type="hidden" name="id_item" id="id_item" value="no_item">';} ?>
<div class="casella_chat">
<input type="submit" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
<input type="hidden" name="op" value="take_action">
</div>
</form>
</div>
<?php } ?>
</div></div>
<?php }//else?>
</div><!-- Page-Body -->
</div><!-- Pagina -->
28/03/2012 20:57:45 e modificato da irenes il 28/03/2012 20:58:15
Nota personale: a volte fatico a capire certe "mode" che si diffondono nelle land o nei desideri di chi le ha o vorrebbe averle. Cose come il blocchetto note che si apre a schiacciare un pulsante o altre come il lettore che manda musica random... a cosa serve mettere in land - sbattendoci la testa - cose che uno ha già comodamente nel pc? Un clic e apre il blocco note, un altro e apre il lettore con la canzone che vuole.
Comunque... così su due piedi quello che mi verrebbe da consigliarti è continuare su quello che hai fatto. Devi effettivamente creare un file che replichi le funzioni della chat, in linea di massima. Tieni presente che se lo vuoi a popup, questo blocchetto note, devi definire la funzione JS della pop up nel file che la pop up stessa la genera e il file che vai ad aprire deve avere in sè header e footer.
Mi pare un lavoretto non proprio elementare, ma credo che, sbattendoci un po' il capo, dovrebbe essere abbastanza fattibile (ripeto, io non ci perderei mai la testa per cose così, ma de gustibus.... ;) ).
Nell'attesa, comunque, se quello che ti preme è avere più spazio potrei però consigliarti di adottare una soluzione che ho già visto diverse volte: ovvero "trasformare" la stringa di chat dove si scrive e si invia in una textarea... delle dimensioni che più ti aggradano.
28/03/2012 23:20:14
28/03/2012 23:27:21 e modificato da papy il 28/03/2012 23:28:04
28/03/2012 23:29:12
29/03/2012 13:42:13 e modificato da papy il 29/03/2012 13:45:55
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
baudolino95 ha recensito Black Sails Chronicles
Fairy Tail GDR: 🌞 Nuovi filoni e media negli esiti!
Seconda Era → Vaste terre coperte di ombre e misteri, dove ogni eroe scrive la storia del Mondo di Eidel. Seconda Era, play by chat
Crystal Tokyo: Land ottimizzata per cellulari e tablet
Black Sails Chronicles: OFF - Aggiornamenti di Novembre
War Thunder: Ottieni l'AK-225 nell'evento Sea Defender!
Crossout: Evento "Sentiero del Corvo" è iniziato!
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, inizia l'avventura!
I dati del generatore di rank sono stati aggiornati!
Storie di Agarthi: Esce una nuova Lancetta delle Trame
sheeptamer ha recensito Hikaru No Tohei - Le Luci di Tohei
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
New Orleans: Modifiche in Inventario
Felix Felicis GdR - Harry Potter GdR: Stranger Felix
The Line: Weekly Update n°2 – Scheda del PG
RAID Shadow Legends → Plasma i tuoi eroi fino a farli diventare vere e proprie armi viventi e assembla i più epici gruppi d'assalto mai visti finora!
I Principi Demoni - Intervista al gestore del play by forum fantascientifico I Principi Demoni su ForumFree!
Mago Guerriero - Il Mago-Guerriero: come far male insieme due cose diverse!
Bewitched GDR - Intervista al gestore di Bewitched GDR.. il mondo di Harry Potter su Habbo!
Skype Chiude! - L'Addio a Skype: un'era volge al termine, ma il futuro è in Teams!
War Thunder - Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
Obscura Domini - Intervista allo staff del play by forum potteriano Obscura Domini!
Asce e Mazze - Breve manuale sull'utilizzo di asce e mazze nei giochi di ruolo da leggere se utilizzate queste armi distruttive!
Regno di Alziora - Fantasy Magazine presenta Il gdr fantasy Regno di Alziora ai suoi lettori..
