[RISOLTO]Dividere il frame presenti dal collegamento a presenti estesi
[RISOLTO]Dividere il frame presenti dal collegamento a presenti estesi postato il 05/04/2023 21:42:45 nel forum programmazione, open source e hosting e modificato da ayumu97 il 15/04/2023 20:34:45
Non so come spiegare e dire che non ho idea di dove mettere le mani è dire poco.
La mia idea è quella di tenere una finestra sulla sinistra con tutti gli utenti online (togliendo i pezzi che dicono sono entrati/usciti/ecc <- non ho idea di come toglierli) e fare nel frame top un pulsante che riporti nel main al presenti estesi
Spero di aver spiegato bene, aiutatemi perfavore ç_ç
Pagine → 1
05/04/2023 22:55:09
Buonasera.
Manca il codice/pacchetto che usi.
Più informazioni dai e più si riesce ad aiutarti
07/04/2023 16:49:46
deirdrejohnson ha scritto: [quote]ayumu97 ha scritto: Non so come spiegare e dire che non ho idea di dove mettere le mani è dire poco.
La mia idea è quella di tenere una finestra sulla sinistra con tutti gli utenti online (togliendo i pezzi che dicono sono entrati/usciti/ecc <- non ho idea di come toglierli) e fare nel frame top un pulsante che riporti nel main al presenti estesi
Spero di aver spiegato bene, aiutatemi perfavore ç_ç
Ciao! Cercherò di aiutarti a capire meglio la tua idea.
Quindi, l'idea è di avere una finestra sulla sinistra che mostri tutti gli utenti online e di rimuovere le parti che indicano l'entrata/uscita degli utenti. È giusto?
Inoltre, vuoi aggiungere un pulsante nel frame superiore per tornare alla schermata principale?
Se è così, potresti provare a seguire questi passaggi:
Crea una finestra sulla sinistra della schermata principale che mostri tutti gli utenti online. Se ci sono parti che vuoi rimuovere, puoi provare ad utilizzare un codice HTML/CSS per nasconderle o modificarle.
Aggiungi un pulsante nel frame superiore per tornare alla schermata principale. Questo pulsante può essere un'icona o un testo, a tua scelta.
Quando l'utente preme il pulsante, la pagina dovrebbe tornare alla schermata principale con tutti gli utenti online mostrati nella finestra a sinistra.
[/quote]
No, il pulsante sopra dovrebbe essere il collegamento al presenti estesi che si apre nel main
07/04/2023 18:02:49
playergdr ha scritto: Buonasera.
Manca il codice/pacchetto che usi.
Più informazioni dai e più si riesce ad aiutarti
Uso gdrcd 5.6.0.5
Questo è il codice di presenti.inc.php
<?php include('../ref_header.inc.php'); /*Header comune*/ ?>
<!-- Box presenti-->
<div class="pagina_presenti">
<div class="page_title">
<h2><?php echo gdrcd_filter('out', $MESSAGE['interface']['logged_users']['plur']); ?></h2>
</div>
<?php
//Refresh presenza.
if(isset($_REQUEST['disponibile']) === true) {
$query = "UPDATE personaggio SET ultimo_refresh = NOW(), disponibile=".gdrcd_filter('num', $_REQUEST['disponibile'])." WHERE nome = '".gdrcd_filter('in', $_SESSION['login'])."'";
} elseif(isset($_REQUEST['invisibile']) && ($_SESSION['permessi'] >= GAMEMASTER)) {
$query = "UPDATE personaggio SET ultimo_refresh = NOW(), is_invisible=".gdrcd_filter('num', $_REQUEST['invisibile'])." WHERE nome = '".gdrcd_filter('in', $_SESSION['login'])."'";
} else {
$query = "UPDATE personaggio SET ultimo_refresh = NOW() WHERE nome = '".gdrcd_filter('in', $_SESSION['login'])."'";
}
gdrcd_query($query);
echo '<div class="elenco_presenti">';
//Carico la lista presenti (Entrati).
$query = "SELECT personaggio.nome, personaggio.cognome, personaggio.permessi, personaggio.sesso, personaggio.id_razza, razza.sing_m, razza.sing_f, razza.icon, personaggio.disponibile, personaggio.is_invisible FROM personaggio LEFT JOIN razza ON personaggio.id_razza = razza.id_razza WHERE DATE_ADD(personaggio.ora_entrata, INTERVAL 2 MINUTE) > NOW() ORDER BY personaggio.ora_entrata, personaggio.nome";
$result = gdrcd_query($query, 'result');
echo '<div class="luogo">'.$MESSAGE['interface']['logged_users']['logged_in'].'</li>';
while($record = gdrcd_query($result, 'fetch')) {
//Stampo il PG
echo '<div class="presente">';
switch($record['permessi']) {
case USER:
$alt_permessi = '';
break;
case GUILDMODERATOR:
$alt_permessi = $PARAMETERS['names']['guild_name']['lead'];
break;
case GAMEMASTER:
$alt_permessi = $PARAMETERS['names']['master']['sing'];
break;
case MODERATOR:
$alt_permessi = $PARAMETERS['names']['moderators']['sing'];
break;
case SUPERUSER:
$alt_permessi = $PARAMETERS['names']['administrator']['sing'];
break;
}
//Livello di accesso del PG (utente, master, admin, superuser)
echo '<img class="presenti_ico" src="../imgs/icons/permessi'.$record['permessi'].'.gif" alt="'.gdrcd_filter('out', $alt_permessi).'" title="'.gdrcd_filter('out', $alt_permessi).'" />';
//Icona stato di disponibilità. E' sensibile se la riga che sto stampando corrisponde all'utente loggato.
$change_disp = ($record['disponibile'] + 1) % 3;
if($record['nome'] == $_SESSION['login']) {
//se c'e' stato un cambio di permessi aggiorno
if($record['permessi'] != $_SESSION['permessi']) {
$_SESSION['permessi'] = $record['permessi'];
}
echo '<a href="presenti.inc.php?disponibile='.$change_disp.'" class="link_sheet">';
}
echo '<img class="presenti_ico" src="../imgs/icons/disponibile'.$record['disponibile'].'.png" alt="'.gdrcd_filter('out', $MESSAGE['status_pg']['availability'][$record['disponibile']]).'" title="'.gdrcd_filter('out', $MESSAGE['status_pg']['availability'][$record['disponibile']]).'" />';
if($record['nome'] == $_SESSION['login']) {
echo '</a>';
}
//Icona della razza pg
if($record['icon'] == '') {
$record['icon'] = 'standard_razza.png';
}
echo '<img class="presenti_ico" src="../themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/races/'.$record['icon'].'" alt="'.gdrcd_filter('out', $record['sing_'.$record['sesso']]).'" title="'.gdrcd_filter('out', $record['sing_'.$record['sesso']]).'" />';
//Icona del genere del pg
echo '<img class="presenti_ico" src="../imgs/icons/testamini'.$record['sesso'].'.png" alt="'.gdrcd_filter('out', $MESSAGE['status_pg']['gender'][$record['sesso']]).'" title="'.gdrcd_filter('out', $MESSAGE['status_pg']['gender'][$record['sesso']]).'" />';
//Nome pg e link alla sua scheda
echo ' <a href="../main.php?page=scheda&pg='.gdrcd_filter('url', $record['nome']).'" class="link_sheet" target="_top">'.gdrcd_filter('out', $record['nome']);
if(empty($record['cognome']) === false and 0) {
echo ' '.gdrcd_filter('out', $record['cognome']);
}
echo '</a> ';
//Comando visibile/invisibile
if(($_SESSION['permessi'] >= GAMEMASTER) && ($record['nome'] == $_SESSION['login'])) {
$next = ($record['is_invisible'] == 1) ? 0 : 1;
echo '<a href="presenti.inc.php?invisibile='.$next.'"><img class="presenti_ico" src="../imgs/icons/vis'.$record['is_invisible'].'.png" alt="'.gdrcd_filter('out', $MESSAGE['status_pg']['invisible'][$record['is_invisible']]).'" title="'.gdrcd_filter('out', $MESSAGE['status_pg']['invisible'][$record['is_invisible']]).'" /></a>';
}
echo '</div>';
}//while
gdrcd_query($result, 'free');
//Carico la lista presenti (Usciti).
/** * Fix della query per includere l'uso dell'orario di uscita per capire istantaneamente quando un pg fa logout
* @author Blancks
*/
$query = "SELECT personaggio.nome, personaggio.cognome, personaggio.permessi, personaggio.sesso, personaggio.id_razza, razza.sing_m, razza.sing_f, razza.icon, personaggio.disponibile, personaggio.is_invisible FROM personaggio LEFT JOIN razza ON personaggio.id_razza = razza.id_razza WHERE (personaggio.ora_uscita > personaggio.ora_entrata AND DATE_ADD(personaggio.ora_uscita, INTERVAL 1 MINUTE) > NOW()) OR (personaggio.ora_uscita < personaggio.ora_entrata AND DATE_ADD(personaggio.ultimo_refresh, INTERVAL 4 MINUTE) > NOW() AND DATE_ADD(personaggio.ultimo_refresh, INTERVAL 3 MINUTE) < NOW()) ORDER BY personaggio.ultimo_refresh, personaggio.nome";
$result = gdrcd_query($query, 'result');
echo '<div class="luogo">'.$MESSAGE['interface']['logged_users']['logged_out'].'</div>';
while($record = gdrcd_query($result, 'fetch')) {
//Stampo il PG
echo '<div class="presente">';
switch($record['permessi']) {
case USER:
$alt_permessi = '';
break;
case GUILDMODERATOR:
$alt_permessi = $PARAMETERS['names']['guild_name']['lead'];
break;
case GAMEMASTER:
$alt_permessi = $PARAMETERS['names']['master']['sing'];
break;
case MODERATOR:
$alt_permessi = $PARAMETERS['names']['moderators']['sing'];
break;
case SUPERUSER:
$alt_permessi = $PARAMETERS['names']['administrator']['sing'];
break;
}
//Livello di accesso del PG (utente, master, admin, superuser)
echo '<img class="presenti_ico" src="../imgs/icons/permessi'.$record['permessi'].'.gif" alt="'.gdrcd_filter('out', $alt_permessi).'" title="'.gdrcd_filter('out', $alt_permessi).'" />';
//Icona stato di disponibilità. E' sensibile se la riga che sto stampando corrisponde all'utente loggato.
$change_disp = ($record['disponibile'] + 1) % 3;
if($record['nome'] == $_SESSION['login']) {
//se c'e' stato un cambio di permessi aggiorno
if($record['permessi'] != $_SESSION['permessi']) {
$_SESSION['permessi'] = $record['permessi'];
}
echo '<a href="presenti.inc.php?disponibile='.$change_disp.'" class="link_sheet">';
}
echo '<img class="presenti_ico" src="../imgs/icons/disponibile'.$record['disponibile'].'.png" alt="'.gdrcd_filter('out', $MESSAGE['status_pg']['availability'][$record['disponibile']]).'" title="'.gdrcd_filter('out', $MESSAGE['status_pg']['availability'][$record['disponibile']]).'" />';
if($record['nome'] == $_SESSION['login']) {
echo '</a>';
}
//Icona della razza pg
if($record['icon'] == '') {
$record['icon'] = 'standard_razza.png';
}
echo '<img class="presenti_ico" src="../themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/races/'.$record['icon'].'" alt="'.gdrcd_filter('out', $record['sing_'.$record['sesso']]).'" title="'.gdrcd_filter('out', $record['sing_'.$record['sesso']]).'" />';
//Icona del genere del pg
echo '<img class="presenti_ico" src="../imgs/icons/testamini'.$record['sesso'].'.png" alt="'.gdrcd_filter('out', $MESSAGE['status_pg']['gender'][$record['sesso']]).'" title="'.gdrcd_filter('out', $MESSAGE['status_pg']['gender'][$record['sesso']]).'" />';
//Nome pg e link alla sua scheda
echo ' <a href="../main.php?page=scheda&pg='.gdrcd_filter('in', $record['nome']).'" class="link_sheet" target="_top">'.gdrcd_filter('out', $record['nome']);
if(empty($record['cognome']) === false and 0) {
echo ' '.gdrcd_filter('out', $record['cognome']);
}
echo '</a> ';
//Comando visibile/invisibile
if(($_SESSION['permessi'] >= GAMEMASTER) && ($record['nome'] == $_SESSION['login'])) {
$next = ($record['is_invisible'] == 1) ? 0 : 1;
echo '<a href="presenti.inc.php?invisibile='.$next.'"><img class="presenti_ico" src="../imgs/icons/vis'.$record['is_invisible'].'.png" alt="'.gdrcd_filter('out', $MESSAGE['status_pg']['invisible'][$record['is_invisible']]).'" title="'.gdrcd_filter('out', $MESSAGE['status_pg']['invisible'][$record['is_invisible']]).'" /></a>';
}
echo '</div>';
}//while
gdrcd_query($result, 'free');
//Carico la lista presenti (In luogo).
/** * Fix della query per includere l'uso dell'orario di uscita per capire istantaneamente quando il pg non è più connesso
* @author Blancks
*/
$query = "SELECT personaggio.nome, personaggio.cognome, personaggio.permessi, personaggio.sesso, personaggio.id_razza, razza.sing_m, razza.sing_f, razza.icon, personaggio.disponibile, personaggio.is_invisible, mappa.stanza_apparente, mappa.nome as luogo FROM personaggio LEFT JOIN mappa ON personaggio.ultimo_luogo = mappa.id LEFT JOIN razza ON personaggio.id_razza = razza.id_razza WHERE (personaggio.ora_entrata > personaggio.ora_uscita AND DATE_ADD(personaggio.ultimo_refresh, INTERVAL 4 MINUTE) > NOW()) AND personaggio.ultimo_luogo = ".$_SESSION['luogo']." AND personaggio.ultima_mappa= ".$_SESSION['mappa']." ORDER BY personaggio.is_invisible, personaggio.ultimo_luogo, personaggio.nome";
$result = gdrcd_query($query, 'result');
$ultimo_luogo_corrente = '';
while($record = gdrcd_query($result, 'fetch')) {
$luogo_corrente = (empty ($record['stanza_apparente']) === true) ? $record['luogo'] : $record['stanza_apparente'];
if(empty($luogo_corrente) === true) {
$luogo_corrente = ($record['mappa'] >= 0) ? $PARAMETERS['names']['maps_location'] : $PARAMETERS['names']['base_location'];
}
if($ultimo_luogo_corrente != $luogo_corrente) {
$ultimo_luogo_corrente = $luogo_corrente;
echo '<div class="luogo">'.gdrcd_filter('out', $luogo_corrente).'</li>';
} //if
//Stampo il PG
if(($record['is_invisible'] == 0) || ($record['nome'] == $_SESSION['login'])) {
echo '<div class="presente">';
switch($record['permessi']) {
case USER:
$alt_permessi = '';
break;
case GUILDMODERATOR:
$alt_permessi = $PARAMETERS['names']['guild_name']['lead'];
break;
case GAMEMASTER:
$alt_permessi = $PARAMETERS['names']['master']['sing'];
break;
case MODERATOR:
$alt_permessi = $PARAMETERS['names']['moderators']['sing'];
break;
case SUPERUSER:
$alt_permessi = $PARAMETERS['names']['administrator']['sing'];
break;
}
//Livello di accesso del PG (utente, master, admin, superuser)
echo '<img class="presenti_ico" src="../imgs/icons/permessi'.$record['permessi'].'.gif" alt="'.gdrcd_filter('out', $alt_permessi).'" title="'.gdrcd_filter('out', $alt_permessi).'" />';
//Icona stato di disponibilità. E' sensibile se la riga che sto stampando corrisponde all'utente loggato.
$change_disp = ($record['disponibile'] + 1) % 3;
if($record['nome'] == $_SESSION['login']) {
//se c'e' stato un cambio di permessi aggiorno
if($record['permessi'] != $_SESSION['permessi']) {
$_SESSION['permessi'] = $record['permessi'];
}
echo '<a href="presenti.inc.php?disponibile='.$change_disp.'" class="link_sheet">';
}
echo '<img class="presenti_ico" src="../imgs/icons/disponibile'.$record['disponibile'].'.png" alt="'.gdrcd_filter('out', $MESSAGE['status_pg']['availability'][$record['disponibile']]).'" title="'.gdrcd_filter('out', $MESSAGE['status_pg']['availability'][$record['disponibile']]).'" />';
if($record['nome'] == $_SESSION['login']) {
echo '</a>';
}
//Icona della razza pg
if($record['icon'] == '') {
$record['icon'] = 'standard_razza.png';
}
echo '<img class="presenti_ico" src="../themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/races/'.$record['icon'].'" alt="'.gdrcd_filter('out', $record['sing_'.$record['sesso']]).'" title="'.gdrcd_filter('out', $record['sing_'.$record['sesso']]).'" />';
//Icona del genere del pg
echo '<img class="presenti_ico" src="../imgs/icons/testamini'.$record['sesso'].'.png" alt="'.gdrcd_filter('out', $MESSAGE['status_pg']['gender'][$record['sesso']]).'" title="'.gdrcd_filter('out', $MESSAGE['status_pg']['gender'][$record['sesso']]).'" />';
//Nome pg e link alla sua scheda
echo ' <a href="../main.php?page=scheda&pg='.$record['nome'].'" class="link_sheet" target="_top">'.gdrcd_filter('out', $record['nome']);
if(empty($record['cognome']) === false and 0) {
echo ' '.gdrcd_filter('out', $record['cognome']);
}
echo '</a> ';
//Comando visibile/invisibile
if(($_SESSION['permessi'] >= GAMEMASTER) && ($record['nome'] == $_SESSION['login'])) {
$next = ($record['is_invisible'] == 1) ? 0 : 1;
echo '<a href="presenti.inc.php?invisibile='.$next.'"><img class="presenti_ico" src="../imgs/icons/vis'.$record['is_invisible'].'.png" alt="'.gdrcd_filter('out', $MESSAGE['status_pg']['invisible'][$record['is_invisible']]).'" title="'.gdrcd_filter('out', $MESSAGE['status_pg']['invisible'][$record['is_invisible']]).'" /></a>';
}
echo '</div>';
}
}//while
gdrcd_query($result, 'free');
echo '</div>';
// Conteggio i presenti.
$record = gdrcd_query("SELECT COUNT(*) AS numero FROM personaggio WHERE personaggio.ora_entrata > personaggio.ora_uscita AND DATE_ADD(personaggio.ultimo_refresh, INTERVAL 4 MINUTE) > NOW() AND personaggio.is_invisible = 0");
//numero utenti presenti.
echo '<div class="link_presenti"><a href="../main.php?page=presenti_estesi" target="_top">';
if($record['numero'] == 1) {
echo '<div class="page_title"><h2>'.$record['numero'].' '.gdrcd_filter('out', $PARAMETERS['names']['users_name']['sing']).' '.gdrcd_filter('out', $MESSAGE['interface']['logged_users']['sing']).'</h2></div>';
} else {
echo '<div class="page_title"><h2 class="presenti_title">'.$record['numero'].' '.gdrcd_filter('out', $PARAMETERS['names']['users_name']['plur']).' '.gdrcd_filter('out', $MESSAGE['interface']['logged_users']['plur']).'</h2></div>';
}
echo '</a></div>';
?>
</div>
<!-- Chiudura finestra del gioco -->
<?php include('../footer.inc.php'); /*Footer comune*/ ?>
08/04/2023 12:06:30
sallys ha scritto: Il codice dei presenti estesi non serve.
Devi lavorare tra il config ed il file presenti.inc.php
Diciamo che funziona un pò come il "doppio menu" di cui c'è la guida dentro il config...circa.
Dovresti creare un file php che contenga solo il link che rimanda ai presenti estesi e richiamarlo nel config impostandolo sulla barra in alto.
Se ho un attimo per respirare nei prossimi giorni provo a vedere se riesco a scriverti qui i passaggi.
Riguardo a nascondere ciò che non vuoi vedere nei presenti.inc.php all'interno di quel codice troverai questi commenti:
//Carico la lista presenti (Entrati).
//Carico la lista presenti (Usciti).
//Carico la lista presenti (In luogo).
A te interessa solo l'ultima parte, quindi o commenti tutto il codice a partire da //Carico la lista presenti (Entrati). e finendo prima di //Carico la lista presenti (In luogo).
O lo cancelli (io di solito evito di cancellare per evitare macelli) o aggiungi un parametro alle classi, da richiamare nel css per nascondere quei pezzi.
Ora non ricordo bene se <div class="luogo"> racchiuda le varie sezioni, ma se così fosse potresti mettere per esempio: <div class="luogo hide">
e poi in presenti.css scrivere:
div.hide {
display:none;
}
Attenta a farlo però solo per quei due pezzi sopracitati.
Più tardi provo e ti faccio sapere, grazie nel frattempo 🥺🥺💜
08/04/2023 17:41:52
Ho fatto così:
ho creato un file chiamato online.inc.php, con questo codice:
//numero utenti presenti.
echo '<div class="link_presenti"><a href="../main.php?page=presenti_estesi" target="_top">';
if($record['numero'] == 1) {
echo '<div class="page_title"><h2>'.$record['numero'].' '.gdrcd_filter('out', $PARAMETERS['names']['users_name']['sing']).' '.gdrcd_filter('out', $MESSAGE['interface']['logged_users']['sing']).'</h2></div>';
} else {
echo '<div class="page_title"><h2 class="presenti_title">'.$record['numero'].' '.gdrcd_filter('out', $PARAMETERS['names']['users_name']['plur']).' '.gdrcd_filter('out', $MESSAGE['interface']['logged_users']['plur']).'</h2></div>';
}
echo '</a></div>';
?>
poi aggiunto questo nel config nella parte della colonna top:
$PARAMETERS['secondo_menu']['presenti']['text'] = 'Online';
$PARAMETERS['secondo_menu']['presenti']['url'] = 'main.php?page=presenti_estesi';
$PARAMETERS['secondo_menu']['presenti']['image_file'] = '';
$PARAMETERS['secondo_menu']['presenti']['image_file_onclick'] = '';
e niente non si vede
15/04/2023 20:32:28
sallys ha scritto: Perchè in sostanza tu hai creato il file online.inc.php e lo hai lasciato lì senza farci nulla, dato che in config richiami la pagina presenti_estesi invece che l'online che hai creato.
Dovresti scrivere:
$PARAMETERS['secondo_menu']['presenti']['text'] = 'Online';
$PARAMETERS['secondo_menu']['presenti']['url'] = 'main.php?page=online';
$PARAMETERS['secondo_menu']['presenti']['image_file'] = '';
$PARAMETERS['secondo_menu']['presenti']['image_file_onclick'] = '';
(Ti avviso che non ho ancora guardato il resto del codice se è corretto)
Anzi, modifico il post perchè ho letto un pò meglio cosa hai scritto e hai detto di aver messo QUESTO codice qui nella colonna Top...è ovvio che non funziona.
Se vedi tutti gli altri parametri delle colonne, sono diversi.
Scusa la rispostina rapida, ma sti giorni ho un pò di fatica a mettermici.
$PARAMETERS['top_column']['box']['online']['class'] = 'tasto_online';
$PARAMETERS['top_column']['box']['online']['page'] = 'online'; //Menu' del gioco.
$PARAMETERS['top_column']['box']['online']['menu_key'] = 'tasto_online';
E se vuoi metterci un'immagine la metti direttamente dentro il link della paginetta online che hai creato. Altrimenti lasci così e se quel codice che hai messo è giusto, ti verrà fuori semplicemente scritto quanti utenti presenti ci sono, come testo da cliccare (com'è ora in sostanza).
Altrimenti poi vediamo di sistemare, appena ho un attimo di più tempo 😉
Ho seguito questo e mi appare il pulsante sopra nel top, ma se ci clicco mi esce prima questa schermata cliccabile:
// Conteggio i presenti. $record = gdrcd_query("SELECT COUNT(*) AS numero FROM personaggio WHERE personaggio.ora_entrata > personaggio.ora_uscita AND DATE_ADD(personaggio.ultimo_refresh, INTERVAL 4 MINUTE) > NOW() AND personaggio.is_invisible = 0"); //numero utenti presenti. echo '
'; if($record['numero'] == 1) { echo '
'.$record['numero'].' '.gdrcd_filter('out', $PARAMETERS['names']['users_name']['sing']).' '.gdrcd_filter('out', $MESSAGE['interface']['logged_users']['sing']).'
'; } else { echo '
'.$record['numero'].' '.gdrcd_filter('out', $PARAMETERS['names']['users_name']['plur']).' '.gdrcd_filter('out', $MESSAGE['interface']['logged_users']['plur']).'
'; } echo '
'; ?>
e poi la vera e propria pagina presenti_estesi
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!
CRSED: F.O.A.D. ↗
The Coven ↗
AlterEgo ↗
Foundation Galactic Frontier ↗
RAID Shadow Legends ↗
Wuthering Waves ↗
World of Tanks ↗