GDRCD 5.6.0.5 - Gestione Punti Ferita da Chat
Pacchetto: GDRCD 5.6.0.5 - Gestione Punti Ferita da Chat
Descrizione: Il pacchetto è conforme alla struttura della 5.6.0.5 Può essere adattato alle release precedenti, ma non è stato testato.
Con questo pacchetto si aggiunge la possibilità modificare (in positivo o in negativo) i punti vita di un personaggio.
Introduce il comando $ che avrà questa formattazione nel caso di un personaggio specifico (diverso da quello del giocatore): $NOMEPG$PUNTIFERITA
Esempio: $Super$-20
Se invece si vuole modificare i propri PF basterà scrivere: $PUNTIFERITA
Esempio: $-10
E' possibile, infine, specificare il nome del personaggio a cui modificare i punti ferita inserendolo nel Tag e indicare con $PUNTIFERITA nell'azione i punti ferita.
Sono stati inoltre inseriti dei controlli per permettere l'uso della funzionalità esclusivamente da un livello di permessi in su e di abilitare/disabilitare la possibilità di gestire i propri punti ferita (in base quindi a quello che si vuole permettere all'utenza).
La funzionalità è testabile su https://gdrcdanneth.altervista.org/.
Autore: anneth
Data: 09/08/2024
Dimensione: 18,53 Kb
Commenti degli Utenti
18/10/2024 - Ciao a tutti, prima di tutto grazie per il pacchetto è davvero ben fatto ma ho un piccolo problema! Uso il pacchetto gdrcd omonimo a quello segnato, ho controllato diverse volte il codice ed è stato copiato e inserito nei file, nei punti giusti e nei file segnalati! Unica cosa quando provo a sottrarre PF a dei pg, lo fa ma si aggancia anche al mio stesso pg per cui non so se ci sia interferenza ma se tolgo a Pincopallino 5 PF lo fa anche a Superuser da 100 magari arrivo a 95! Mi chiedevo da cosa possa dipendere! Grazie in anticipo anche solo per l'aiuto e l'attenzione!
16/01/2025 - Mi accodo a fever perchè anche io ho provato e, come a lui, da anche a me il "problema" che toglie i PF a TUTTI i presenti in chat (me inclusa se appunto mando il comando) ><
24/01/2025 - Ho sistemato la funzione che va su function.inc.phpC'era obiettivamente qualcosa che non avevo notato. Ho fatto un test sulla mia versione locale e mi sembra funzionare correttamente.Vi invito in ogni caso a segnalare sul forum, o per via privata, o sul gruppo Discord di GDRCD se trovate errori o qualcosa non funziona perchè non abbiamo visibilità dei commenti che vengono fatti in questa sezione e personalmente non monitoro ogni singolo giorno. Quindi eventuali segnalazioni possono sfuggirmi e ritardare nella loro risposta/soluzione.
/** * Funzione che permette di gestire il cambio dei pf da stringa di chat, controllando i permessi del personaggio e della funzionalità */function gdrcd_chat_pf($testo, $tag) { // Determinare il personaggio e i PF if ($tag) { $pg = gdrcd_capital_letter(gdrcd_filter("in", $tag)); // Nome personaggio dal tag $x = explode("$", $testo); $pf = isset($x[1]) ? intval($x[1]) : 0; // Danni/guarigione } else { $x = explode("$", $testo); if (count($x) == 3) { $pg = gdrcd_filter("in", $x[1]); // Nome personaggio dal testo $pf = intval($x[2]); // Danni/guarigione } else { $pg = $_SESSION['login']; // Nome del personaggio attivo $pf = isset($x[1]) ? intval($x[1]) : 0; // Danni/guarigione } } // Preparare il messaggio $messaggio = ($pf >= 0) ? "{$pg} ha recuperato {$pf} PF" : "{$pg} ha perso " . abs($pf) . " PF"; // Verifica permessi if ($_SESSION['permessi'] >= CHAT_PF_PERM) { // Aggiorna i PF con controllo dei limiti $personaggio = gdrcd_query("SELECT salute, salute_max FROM personaggio WHERE nome = '{$pg}'"); if ($personaggio) { $nuova_salute = min($personaggio['salute_max'], max(0, $personaggio['salute'] + $pf)); gdrcd_query("UPDATE personaggio SET salute = {$nuova_salute} WHERE nome = '{$pg}'"); gdrcd_query("INSERT INTO chat (stanza, imgs, mittente, destinatario, ora, tipo, testo) VALUES ('{$_SESSION['luogo']}', '{$_SESSION['sesso']};{$_SESSION['img_razza']}', '{$_SESSION['login']}', '{$pg}', NOW(), 'D', '{$messaggio}')"); } } elseif (CHAT_SELF_PF && $pg == $_SESSION['login']) { // Permesso solo di modificare i propri PF $personaggio = gdrcd_query("SELECT salute, salute_max FROM personaggio WHERE nome = '{$pg}'"); if ($personaggio) { $nuova_salute = min($personaggio['salute_max'], max(0, $personaggio['salute'] + $pf)); gdrcd_query("UPDATE personaggio SET salute = {$nuova_salute} WHERE nome = '{$pg}'"); gdrcd_query("INSERT INTO chat (stanza, imgs, mittente, destinatario, ora, tipo, testo) VALUES ('{$_SESSION['luogo']}', '{$_SESSION['sesso']};{$_SESSION['img_razza']}', '{$_SESSION['login']}', '{$pg}', NOW(), 'D', '{$messaggio}')"); } } else { // Permessi insufficienti gdrcd_query("INSERT INTO chat (stanza, imgs, mittente, destinatario, ora, tipo, testo) VALUES ('{$_SESSION['luogo']}', '{$_SESSION['sesso']};{$_SESSION['img_razza']}', 'Sistema', '{$_SESSION['login']}', NOW(), 'S', 'Non puoi modificare i PF')"); }}
Articoli, Interviste e altre Risorse!