[RISOLTO - GDRCD 5.6.0.5] Chat private ed exp postato il 06/02/2023 15:27:23 nel forum programmazione, gdrcd e open source e modificato da emendil il 03/03/2023 11:42:50
Buongiorno!
Ho un problemino con l'ultima versione di GDRCD....anche impostando l'exp per chat private a OFF da config.php continua a conteggiarla come se risultasse sempre ON, qualcuno ha avuto lo stesso problema? Non ho toccato altro se non impostare il parametro a OFF...
Pagine → 1
08/02/2023 15:04:07
Ciao! 😃
Ho dato una veloce occhiata al file ref_header.inc.php e credo di aver capito come mai comunque assegna gli exp.
if($PARAMETERS['mode']['exp_by_chat'] == 'ON') { /* entro in questo blocco se sono attivi gli exp in chat */
if($PARAMETERS['mode']['exp_in_private'] == 'ON') { /*entro in questo blocco se sono attivi gli exp in private */
if($mappa['privata']==0 && ($m_type == 'A' || $m_type == 'P' || $m_type == 'M')) {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
else { /* entro qui se ho impostato exp_in_private = 'OFF' ma comunque, aggiorna il valore di esperienza qui mi sembra ci sia l'errore*/
if($m_type == 'A' || $m_type == 'P' || $m_type == 'M') {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
}
if($PARAMETERS['mode']['exp_by_chat'] == 'ON') { /* entro in questo blocco se sono attivi gli exp in chat */
if($PARAMETERS['mode']['exp_in_private'] == 'OFF') {
if($mappa['privata']== 0 && ($m_type == 'A' || $m_type == 'P' || $m_type == 'M')) {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
} else { /* entro qui se ho impostato exp_in_private = 'OFF' ma comunque, aggiorna il valore di esperienza */
if($m_type == 'A' || $m_type == 'P' || $m_type == 'M') {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
}
Claudio
14/02/2023 13:49:50 e modificato da emendil il 14/02/2023 15:42:17
Ciao e grazie per la risposta! Faccio un paio di prove e ti dico :3
Edit: niente da fare ç_ç
cbr89 ha scritto: Ciao! 😃
Ho dato una veloce occhiata al file ref_header.inc.php e credo di aver capito come mai comunque assegna gli exp.
if($PARAMETERS['mode']['exp_by_chat'] == 'ON') { /* entro in questo blocco se sono attivi gli exp in chat */
if($PARAMETERS['mode']['exp_in_private'] == 'ON') { /*entro in questo blocco se sono attivi gli exp in private */
if($mappa['privata']==0 && ($m_type == 'A' || $m_type == 'P' || $m_type == 'M')) {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
else { /* entro qui se ho impostato exp_in_private = 'OFF' ma comunque, aggiorna il valore di esperienza qui mi sembra ci sia l'errore*/
if($m_type == 'A' || $m_type == 'P' || $m_type == 'M') {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
}
if($PARAMETERS['mode']['exp_by_chat'] == 'ON') { /* entro in questo blocco se sono attivi gli exp in chat */
if($PARAMETERS['mode']['exp_in_private'] == 'OFF') {
if($mappa['privata']== 0 && ($m_type == 'A' || $m_type == 'P' || $m_type == 'M')) {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
} else { /* entro qui se ho impostato exp_in_private = 'OFF' ma comunque, aggiorna il valore di esperienza */
if($m_type == 'A' || $m_type == 'P' || $m_type == 'M') {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
}
15/02/2023 11:11:24
C'è un errore logico nella versione di GDRCD.
Di fatto, in questo passaggio:
if($PARAMETERS['mode']['exp_in_private'] == 'ON') {
if($mappa['privata']==0 && ($m_type == 'A' || $m_type == 'P' || $m_type == 'M')) {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
if($PARAMETERS['mode']['exp_by_chat'] == 'ON') { /* entro in questo blocco se sono attivi gli exp in chat */
if($PARAMETERS['mode']['exp_in_private'] == 'ON') { /*entro in questo blocco se sono attivi gli exp in private */
if($mappa['privata']==0 && ($m_type == 'A' || $m_type == 'P' || $m_type == 'M')) {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
else { /* entro qui se ho impostato exp_in_private = 'OFF' ma comunque, aggiorna il valore di esperienza qui mi sembra ci sia l'errore*/
if($m_type == 'A' || $m_type == 'P' || $m_type == 'M') {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
}
// Assegnazione esperienza per i messaggi in chat
if($PARAMETERS['mode']['exp_by_chat'] == 'ON') {
// Messaggio in chat pubblica
if($mappa['privata'] == 0 && ($m_type == 'A' || $m_type == 'P' || $m_type == 'M')) {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
// Messaggio in chat privata (solo se impostato in config)
if($mappa['privata'] == 1 && $PARAMETERS['mode']['exp_in_private'] == 'ON' && ($m_type == 'A' || $m_type == 'P' || $m_type == 'M')) {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
GitHub: https://github.com/GDRCD/GDRCD
Discord: https://discord.com/invite/K2eWXpvu4M
GdR-O: https://www.gdr-online.com/readforum.asp?id=250579
15/02/2023 14:01:02
I record con 'mappa.privata' uguale a 0 rappresentano le chat pubbliche.
Claudio
15/02/2023 16:13:53 e modificato da kasa il 15/02/2023 16:21:39
Tra l'altro, mi sono accorto che nella versione 5.6.0.5 di GDRCD nel file config.inc.php il parametro dedicato all'assegnazione dell'esperienza nelle chat private si presenta così:
$PARAMETERS['mode']['exp_in_private'] == 'ON';
$PARAMETERS['mode']['exp_in_private'] = 'ON';
GitHub: https://github.com/GDRCD/GDRCD
Discord: https://discord.com/invite/K2eWXpvu4M
GdR-O: https://www.gdr-online.com/readforum.asp?id=250579
15/02/2023 23:36:28 e modificato da gdr-online.com il 16/02/2023 11:57:34
Ciao! Allora, nella land in rifacimento che sto facendo funziona così:
if($PARAMETERS['mode']['exp_by_chat'] == 'ON')
{
if($PARAMETERS['mode']['exp_in_private'] == 'OFF') {
if($mappa['privata']==0 && ($m_type == 'A' || $m_type == 'P' || $m_type == 'M')){
if($msg_length>=$char_needed) {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
} else {
if($m_type == 'A' || $m_type == 'P' || $m_type == 'M'){
if ($msg_length >= $char_needed) {
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + ".$exp_bonus." WHERE nome = '".$_SESSION['login']."' LIMIT 1");
}
}
}
}
Discussione seguita da
Pagine → 1
Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
haruka ha aperto un annuncio di ricerca: Above Leggendra ricerca Giocatore
✋😟
Abbiamo rilevato che stai usando un software per bloccare la pubblicità!
L'utilizzo di GDR-online.com è gratuito da oltre 18 anni ma è necessario coprire i costi per mantenerlo online... ti chiediamo di aiutarci disabilitando il blocco dei banner pubblicitari.
Togliere il blocco significa fare in modo che GDR-online.com possa continuare a far conoscere piccoli giochi amatoriali gratuitamente e offrire un servizio sempre migliore e adatto alle esigenze dei suoi giocatori!
Se questo avviso continua ad apparire nonostante tu abbia autorizzato il portale:
- Verifica nelle opzioni che venga disattivato AdBlock in tutto il dominio gdr-online.com e non solo in una pagina
- Controlla di non avere fra le estensioni installate altre analoghe ad AdBlock, come AdBlock Plusbr, ublock origin, ecc.
- Probabilmente sul tuo PC è installato un Antivirus che ha anche funzioni di blocco pubblicità
- Se usi Firefox impostare il "Blocco Contenuti" su "Normale" e non su "Restrittivo". Per farlo clicca sull'icona dello scudo vicino all'URL e clicca su "Disattiva Blocco per questo sito"
- Prova a premere CTRL + F5, riloggarti e vedi se il problema persiste