Messaggi su stanze da x a y postato il 12/10/2006 23:25:10 nel forum programmazione, gdrcd, open source, hosting
Ciao gente, sono alle prese con un nuovo add-on ma non riesco a farlo funzionare....
o meglio.....devo riuscire a mandare mediante l`uso di un carattere speciale su GDR-CD esempio § anzichè una masterata limitata alla stanza, deve essere estesa a determinate stanze da x a y.
Allora, questa condizione è facilmente adoperabile, il problema è che non so che codice scrivere ne tantomeno dove metterlo
Pagine → 1
13/10/2006 10:17:52
umh....ho notato che non è per nulla facile....ma gdrcd non ha dei messaggi di sistema che manda su tutte le stanze? eppure l`identificativo esiste.
per fare quello che mi hai detto in pratica creo una nuova funzione su input.php del tipo dei sussurri...
if ((substr($Msg, 0, 1) == "@") && ($Tipo == "")) {
$Pos = strpos(substr($Msg, 1), "@");
if (($Pos === false) :: ($Pos > 20)) {
$Msg = htmlspecialchars($Msg);
$Tipo = "P";
} else {
$MsgTemp = substr($Msg, $Pos+2);
$Dest = substr($Msg, 1, $Pos);
$MySql = "SELECT * FROM Presenti WHERE Nome = `".addslashes($Dest)."`";
$Result = mysql_query($MySql);
if ($rs = mysql_fetch_array($Result)) {
$Msg = $MsgTemp;
$Msg = htmlspecialchars($Msg);
$Dest = trim($rs["Nome"]);
$Tipo = "S";
} else {
$Tipo = "S";
$Msg = $Dest." non è presente";
$Msg = htmlspecialchars($Msg);
$Dest = $Login;
}
mysql_free_result($Result);
}
}
se io modificassi quei campi evienziati in modo che la query invece di selezionarmi il presente mi pesca il range delle stanze su cui sbattere il messaggio?
13/10/2006 11:33:44
grazie faber come al solito sei molto esauriente e gentile, se non ci fossi te....
ora però ti stresso con un altro problema......chè in teoria dovrebbe essere l`ultimo....
dopo avere risolto la pecca sopra, ho pensato di creare una funzione parallela a quella dei sussurri, ma che apparissero con una formattazione diversa e pubblici a tutta la chat, un po come un admin che vede i sussurri di tutti gli utenti.....allora ho fatto così..
su input ho ripreso le stringhe della funzione sussurri e le ho modificate:
per prima cosa ho tolto questo:
if ((substr($Msg, 0, 1) == "@") && ($Tipo == "")) {
$Pos = strpos(substr($Msg, 1), "@");
if (($Pos === false) :: ($Pos > 20)) {
$Msg = htmlspecialchars($Msg);
$Tipo = "P";
} else {
poi nel rimanente al posto dei normali valori dei sussurri ho scritto:
if ((substr($Msg, 0, 1) == "%") && ($Tipo == "K")) {
$MsgTemp = substr($Msg, $Pos+2);
$Dest = substr($Msg, 1, $Pos);
$MySql = "SELECT * FROM Presenti WHERE Nome = `".addslashes($Dest)."`";
$Result = mysql_query($MySql);
if ($rs = mysql_fetch_array($Result)) {
$Msg = $MsgTemp;
$Msg = htmlspecialchars($Msg);
$Dest = trim($rs["Nome"]);
$Tipo = "K";
} else {
$Tipo = "K";
$Msg = $Dest." non è presente";
$Msg = htmlspecialchars($Msg);
$Dest = $Login;
}
mysql_free_result($Result);
}
}
poi su refresh:
case `K`: #Comunicazioni
If (strtoupper($Login) == strtoupper($rs[`Destinatario`])) {
$n = "<TABLE WIDTH=`100%`><TR CLASS=CommDest><TD align=left><b>".$rs[`Mittente`].` ti comunica: </b><i>`.$rs[`Testo`].`</i></TD></TR></TABLE>`;
};
If (strtoupper($Login) == strtoupper($rs[`Mittente`])) {
$n = "<TABLE WIDTH=`100%`><TR CLASS=CommMitt><TD align=left><b>comunichi a ".$rs[`Destinatario`].": </b><i>".$rs[`Testo`]."</i></TD></TR></TABLE>";
};
$n = "<TABLE WIDTH=`100%`><TR CLASS=CommDest><TD align=left><b>".$rs[`Mittente`].` ha comunicato a `.$rs[`Destinatario`].`: </b><i>`.$rs[`Testo`].`</i></TD></TR></TABLE>`;
};
break;
ovviamente ho creato una nuova riga di stile su mainchat.css....
morale: la chat pubblica è ok, idem i sussurri, ma quando scrivo %Ciccio% invece di apparire la scritta simil-sussurro appare un messaggio pubblico con sintassi inclusa....
sono 3 ore che ci sbatto il capo.....mi aiuti gentilmente? magari via MSN o come ti è + comodo?
18/01/2008 15:11:46
Chiedo scusa se riesumo questo vecchio thread, ma avrei bisogno di un aiuto passo passo (si sono un niubbo in programmazione) per effettuare questa modifica che non mi è chiara:
18/01/2008 22:24:57
dunque.. io ho creato una nuova parte in input.php sotto alla parte che riguarda i sussurri:
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
I dati del generatore di rank sono stati aggiornati!
Storie di Agarthi: Ricorda, è il nome a scegliere il personaggio...
Football Team Soccer → Diventa una stella del calcio! Crea, allena ed equipaggia il tuo giocatore. Unisciti a un club e vinci in Football Team Game!
shirayuki ha recensito Age of Crystals
Il gestore di Storie di Agarthi ha risposto alla recensione di paoltab
World of Warship: Battaglie Asimmetriche nel 14.5
nereya ha aperto una nuova discussione: Nuova Frontiera
Lineage II → Entra in uno sconfinato mondo fantasy dominato da razze in contrasto tra loro. Scatena i tuoi poteri in uno dei Mmo più famosi al mondo!
New Wizarding World: Un nuovo Medimago
Sea of Conquest: Incontra Demona Rood! 🔥
anacronista ha recensito Storie di Agarthi
Football Team Soccer → Diventa una stella del calcio! Crea, allena ed equipaggia il tuo giocatore. Unisciti a un club e vinci in Football Team Game!
Nyx Insight - Project S.E.T.: Setting Refresh Time ✨
mhorras1988 ha recensito Fengard
prosperus ha recensito Exclusive Villa GdR
visanders ha aperto una nuova discussione: Aiuto ricerca Gioco
Lineage II → Entra in uno sconfinato mondo fantasy dominato da razze in contrasto tra loro. Scatena i tuoi poteri in uno dei Mmo più famosi al mondo!
Lumen et Umbra - Lumen et Umbra: Il primo Mud italiano! Scopriamolo assieme!
Giochi Guerre Mondiali - Lista completa dei giochi di ruolo online ambientati durante le guerre mondiali
I Tre Soli - Intervista ai gestori del GdR fantasy I Tre Soli
Lista MMO - Lista degli MMO presenti sul portale
Identità molteplice - Interessante tesi di laurea dal titolo Internet e l'identità molteplice
Tipi di Gdr - Quante tipologie di giochi di ruolo esistono? Scopriamolo assieme!
Tesi sui GrV - I giochi di ruolo dal vivo: una analisi empirica. Tesi di Davide Pavan sui GrV
Colpi di Spada - I principali colpi in un combattimento con armi da taglio