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 + Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
frost ha risposto alla discussione: Gioco investigativo e politico
I dati del generatore di rank sono stati aggiornati!
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
Le Cronache di Raja Dunia: Aggiornamento Informazioni Personaggio
Winged Keys Rpg: Gioco Chiuso!
Hikaru No Tohei - Le Luci di Tohei: Butanews! - È finito lo "Slash 'em All Twice"! 🔪❌
AlterEgo → Scopri AlterEgo GdR: un incredibile universo narrativo in stile medievale fantasy che cresce, muta e vive giorno dopo giorno grazie ai suoi giocatori!
Enlisted: Aggiornamento 0.7.0.82
Il gestore di Black Sails Chronicles ha risposto alla recensione di titti
RAID Shadow Legends: Mazzo del Destino Testa Calda
Star Trek Horizon: Elenco PG: una funzione a lungo attesa!
The Coven → Negli scorci di luce delle paludi della Louisiana fioriscono nuove ombre. Estend e la Congrega ti aspettano per vivere emozionanti avventure!
zarina si è accreditato come gestore di In the Shadows: NY
Hogwarts Express - Harry Potter GDR Forum: 🗞️Nuovo numero de "L'Espresso Sonorum"🗞️
Black Sails Chronicles: ON - Comizio Pubblico
The Coven: 🎃 Halloween Month - The Coven 🎃
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
A corto di idee? - A corto di idee per le tue avventure? Prova prima questi consigli!
Due Città - Intervista al nuovo gestore di Due Città, uno dei primi Play by Chat italiani!
Romance GDR - Come gestire incontri romantici nei giochi di ruolo?
I 7 Peccati - I 7 peccati capitali nei Giochi di Ruolo! Scopriamoli!
Armi ed Armature - Interessante tesi su armi e armature nella poesia militare anglosassone
Epic Quests - Epic quests: la popolarità dei temi fantasy nei giochi online
Giochi di Calcio - Riuscirai a raggiungere la vetta delle classifiche?